{"version":3,"file":"dx.custom.js","mappings":"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,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,QAAS,SACT,QAAS,SACT6zlB,GAAI,KACJM,GAAI,KACJ,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,UAAW,MACX,UAAW,MACX,WAAY,MACZ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cACLC,IAAK,cACLC,GAAI,aACJC,IAAK,cACLC,IAAK,cACLC,IAAK,cACLC,IAAK,cACLC,IAAK,cACLC,GAAI,aACJC,IAAK,cACLzunB,GAAI,aACJ0unB,IAAK,cACLC,IAAK,cACLC,IAAK,cACLC,IAAK,cACLC,IAAK,cACLC,IAAK,cACLC,IAAK,cACL36M,GAAI,aACJ46M,IAAK,cACLC,IAAK,cACLC,IAAK,cACLC,GAAI,aACJC,IAAK,cACLC,IAAK,cACLC,IAAK,cACLC,IAAK,cACLC,IAAK,cACLp1jB,GAAI,aACJq1jB,IAAK,cACLC,IAAK,cACLC,IAAK,cACLC,IAAK,cACLC,IAAK,cACLC,IAAK,cACLC,IAAK,cACLC,IAAK,cACLC,IAAK,cACLC,IAAK,cACLC,IAAK,cACLC,IAAK,cACLC,IAAK,cACLC,IAAK,cACLz3C,IAAK,cACL03C,IAAK,cACLC,GAAI,aACJC,IAAK,cACLC,IAAK,cACL53C,IAAK,cACL63C,IAAK,cACLC,IAAK,cACL73C,GAAI,aACJ,UAAW,aACX,QAAS,aACT,QAAS,aACT83C,IAAK,cACL73C,GAAI,aACJ83C,IAAK,cACLC,IAAK,cACL93C,IAAK,aACL,UAAW,aACX,UAAW,aACX,UAAW,aACX,UAAW,aACX,UAAW,aACX,UAAW,aACX,UAAW,aACX,UAAW,aACX,UAAW,aACX,UAAW,aACX,UAAW,aACX,UAAW,aACX,UAAW,aACX,UAAW,aACX,UAAW,aACX,UAAW,aACX,UAAW,aACX,UAAW,aACX,UAAW,aACX,UAAW,aACX,UAAW,aACX,UAAW,aACX,UAAW,aACX,UAAW,aACX,UAAW,aACX,UAAW,aACX,UAAW,aACX,UAAW,aACX,UAAW,aACX,UAAW,cACX,SAAU,aACV,WAAY,aACZ,SAAU,aACV,SAAU,aACV,WAAY,cACZ,WAAY,cACZ,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,cACV,SAAU,aACV,WAAY,aACZ,cAAe,aACf,cAAe,aACf,cAAe,aACf,cAAe,aACf,cAAe,aACf,cAAe,cACf,cAAe,cACf,cAAe,aACf,cAAe,aACf,cAAe,aACf,cAAe,aACf,cAAe,cACf,cAAe,cACf,cAAe,aACf,cAAe,aACf,cAAe,cACf,WAAY,cACZ,WAAY,aACZ,SAAU,aACV,SAAU,aACV,WAAY,aACZ,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,WAAY,cACZ,WAAY,cACZ,WAAY,cACZ,WAAY,cACZ,SAAU,aACV,SAAU,aACV,WAAY,aACZ,SAAU,aACV,SAAU,aACV,SAAU,aACV,WAAY,aACZ,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,WAAY,aACZ,SAAU,cACV,SAAU,aACV,WAAY,cACZ,WAAY,aACZ,SAAU,aACV,WAAY,cACZ,WAAY,cACZ,SAAU,cACV,SAAU,aACV,WAAY,cACZ,WAAY,aACZ,WAAY,cACZ,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,WAAY,cACZ,WAAY,cACZ,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,WAAY,cACZ,SAAU,cACV,WAAY,cACZ,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,cACV,SAAU,aACV,WAAY,aACZ,cAAe,aACf,cAAe,aACf,cAAe,aACf,cAAe,aACf,cAAe,aACf,cAAe,aACf,cAAe,aACf,cAAe,cACf,cAAe,aACf,SAAU,aACV,SAAU,aACV,WAAY,aACZ,cAAe,aACf,cAAe,cACf,cAAe,cACf,cAAe,cACf,SAAU,aACV,SAAU,aACV,SAAU,aACV,WAAY,cACZ,WAAY,aACZ,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,WAAY,cACZ,SAAU,aACV,WAAY,aACZ,WAAY,cACZ,SAAU,aACV,SAAU,aACV,SAAU,aACV,WAAY,aACZ,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,WAAY,aACZ,SAAU,aACV,SAAU,aACV,SAAU,aACV,WAAY,aACZ,SAAU,aACV,WAAY,cACZ,WAAY,cACZ,WAAY,cACZ,SAAU,aACV,SAAU,aACV,SAAU,aACV,WAAY,aACZ,WAAY,aACZ,cAAe,cACf,SAAU,cACV,SAAU,aACV,WAAY,aACZ,WAAY,aACZ,SAAU,aACV,WAAY,aACZ,WAAY,aACZ,WAAY,aACZ,WAAY,cACZ,WAAY,aACZ,WAAY,aACZ,WAAY,cACZ,WAAY,aACZ,cAAe,aACf,cAAe,aACf,cAAe,aACf,cAAe,aACf,cAAe,aACf,WAAY,aACZ,SAAU,aACV,WAAY,cACZ,SAAU,cACV,WAAY,cACZ,WAAY,cACZ,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,WAAY,aACZ,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,WAAY,cACZ,WAAY,aACZ,WAAY,aACZ,SAAU,aACV,SAAU,aACV,WAAY,aACZ,WAAY,cACZ,WAAY,aACZ,SAAU,aACV,SAAU,aACV,SAAU,aACV,WAAY,cACZ,WAAY,aACZ,WAAY,aACZ,SAAU,aACV,WAAY,aACZ,WAAY,aACZ,SAAU,aACV,SAAU,aACV,WAAY,cACZ,SAAU,aACV,SAAU,aACV,SAAU,aACV,WAAY,cACZ,WAAY,aACZ,cAAe,aACf,cAAe,aACf,cAAe,aACf,cAAe,aACf,cAAe,aACf,cAAe,aACf,cAAe,aACf,cAAe,aACf,cAAe,aACf,cAAe,aACf,cAAe,aACf,cAAe,cACf,cAAe,aACf,cAAe,aACf,cAAe,cACf,cAAe,aACf,cAAe,aACf,cAAe,cACf,cAAe,aACf,SAAU,aACV,WAAY,cACZ,SAAU,aACV,WAAY,cACZ,WAAY,cACZ,WAAY,cACZ,WAAY,cACZ,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,WAAY,cACZ,WAAY,cACZ,SAAU,aACV,WAAY,aACZ,WAAY,cACZ,WAAY,cACZ,WAAY,cACZ,WAAY,aACZ,SAAU,aACV,SAAU,aACV,SAAU,aACV,WAAY,cACZ,WAAY,cACZ,WAAY,cACZ,WAAY,cACZ,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,WAAY,aACZ,SAAU,aACV,SAAU,aACV,SAAU,aACV,WAAY,aACZ,WAAY,aACZ,SAAU,aACV,SAAU,aACV,WAAY,cACZ,SAAU,aACV,WAAY,cACZ,SAAU,cACV,WAAY,cACZ,SAAU,aACV,SAAU,aACV,SAAU,aACV,WAAY,aACZ,cAAe,cACf,cAAe,cACf,SAAU,aACV,SAAU,aACV,WAAY,aACZ,WAAY,cACZ,WAAY,cACZ,SAAU,aACV,SAAU,aACV,WAAY,cACZ,SAAU,aACV,WAAY,cACZ,SAAU,aACV,SAAU,aACV,SAAU,aACV,WAAY,cACZ,WAAY,cACZ,WAAY,cACZ,SAAU,aACV,WAAY,cACZ,WAAY,aACZ,WAAY,cACZ,WAAY,aACZ,SAAU,aACV,WAAY,cACZ,WAAY,cACZ,SAAU,aACV,WAAY,aACZ,SAAU,aACV,SAAU,cACV,SAAU,cACV,WAAY,cACZ,WAAY,cACZ,WAAY,cACZ,WAAY,cACZ,SAAU,aACV,SAAU,aACV,WAAY,cACZ,SAAU,aACV,SAAU,aACV,WAAY,cACZ,SAAU,aACV,SAAU,aACV,SAAU,cACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,WAAY,cACZ,SAAU,aACV,WAAY,cACZ,SAAU,aACV,SAAU,aACV,WAAY,cACZ,SAAU,aACV,SAAU,aACV,WAAY,cACZ,WAAY,cACZ,WAAY,cACZ,SAAU,aACV,SAAU,aACV,SAAU,aACV,WAAY,cACZ,WAAY,aACZ,WAAY,aACZ,SAAU,aACV,WAAY,aACZ,WAAY,aACZ,WAAY,aACZ,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,WAAY,cACZ,WAAY,cACZ,WAAY,cACZ,WAAY,cACZ,SAAU,aACV,SAAU,aACV,WAAY,aACZ,SAAU,aACV,SAAU,aACV,WAAY,cACZ,WAAY,cACZ,WAAY,cACZ,WAAY,cACZ,WAAY,cACZ,WAAY,cACZ,WAAY,aACZ,WAAY,cACZ,WAAY,cACZ,SAAU,aACV,WAAY,aACZ,SAAU,aACV,WAAY,cACZ,SAAU,aACV,WAAY,cACZ,SAAU,aACV,WAAY,aACZ,WAAY,aACZ,cAAe,cACf,cAAe,cACf,cAAe,cACf,WAAY,aACZ,WAAY,cACZ,SAAU,aACV,SAAU,cACV,SAAU,aACV,SAAU,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CT,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,QAAS,KACT,SAAU,KACV,QAAS,KACT,aAAc,KACd,SAAU,KACV,QAAS,MACT,QAAS,MACT,QAAS,MACT,aAAc,MACd,QAAS,MACT,QAAS,MACT,QAAS,MACT,aAAc,MACd,QAAS,MACT,QAAS,MA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Aa4+iB,EAAajz1B,SAAS/E,OAC9BoE,EAAI,EAAGA,EAAIg1S,EAAYh1S,IAE5ByO,GADYml1B,EAAajz1B,SAASX,GAClBmkD,YAEpB,OAAO11C,CACX,CApEAvT,EAAQm31B,4BAA8BA,8BCvBtCn31B,EAAQ44Y,aAAe54Y,EAAQ241B,2BAA6B341B,EAAQ441B,iBAAmB541B,EAAQ641B,uBAAyB741B,EAAQ841B,0BAA4B941B,EAAQ+41B,sBAAwB/41B,EAAQg51B,qBAAuBh51B,EAAQi51B,wBAA0Bj51B,EAAQk51B,sBAAwBl51B,EAAQm51B,0BAA4Bn51B,EAAQo51B,8BAAgCp51B,EAAQq51B,yBAA2Br51B,EAAQs51B,iBAAmBt51B,EAAQu51B,yBAA2Bv51B,EAAQw51B,0BAA4Bx51B,EAAQy51B,WAAaz51B,EAAQ051B,qBAAuB151B,EAAQ231B,+BAAiC331B,EAAQy31B,uBAAyBz31B,EAAQ251B,kCAAoC351B,EAAQ451B,mCAAqC551B,EAAQ011B,yBAA2B111B,EAAQ651B,sBAAmB,EAEnwB751B,EAAQ44Y,aADW,YAGnB54Y,EAAQy51B,WADS,UAGjBz51B,EAAQs51B,iBADe,gBAGvBt51B,EAAQu51B,yBADuB,wBAG/Bv51B,EAAQw51B,0BADwB,UAGhCx51B,EAAQ651B,iBADe,gBAGvB751B,EAAQ841B,0BADwB,4BAGhC941B,EAAQ231B,+BAD6B,8BAGrC331B,EAAQm51B,0BADwB,oBAGhCn51B,EAAQy31B,uBADqB,sBAG7Bz31B,EAAQ011B,yBADuB,wBAG/B111B,EAAQ241B,2BADyB,gCAGjC341B,EAAQ641B,uBADqB,sBAG7B741B,EAAQq51B,yBADuB,wBAG/Br51B,EAAQ451B,mCADiC,0BAGzC551B,EAAQ251B,kCADgC,yBAGxC351B,EAAQo51B,8BAD4B,6BAGpCp51B,EAAQ051B,qBADmB,oBAG3B151B,EAAQ+41B,sBADoB,qBAG5B/41B,EAAQg51B,qBADmB,kBAG3Bh51B,EAAQi51B,wBADsB,6BAG9Bj51B,EAAQk51B,sBADoB,kCAG5Bl51B,E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AAQlt6B,EAAKtD,QACtEw2S,EAAIjsS,QAAQksD,IAAI,QAASk6B,GACzBn7B,EAAQ,CACJp3D,SAAUypC,GAEjB,KACDA,EAAU4o4B,qBACd,EAAE5s6B,KAAKzP,MACX,EAAEyP,KAAKzP,MACX,EACAs86B,cAAe,SAASC,GACpBA,EAAYvy6B,SAASnG,SACzB,EACA246B,WAAY,WAER,GADAx86B,KAAKy86B,gBACDz86B,KAAK086B,SAAW186B,KAAKojtB,QAAQ,cAAe,CAC5C,IAAIu5N,EAAoB386B,KAAKm91B,KAAKzxuB,UAClC1rH,KAAK+46B,yBAA0B,EAC/B,IAAItosB,EAASzwO,KAAK086B,QAAQ9l6B,QAC1B65N,EAAOpzN,OAAS,IAAMozN,EAAOpzN,OAC7BozN,EAAOrzN,MAAQ,IAAMqzN,EAAOrzN,MAC5Bpd,KAAKm91B,KAAKk8E,QAAQ,CACdl9kB,SAAS,EACT1rH,OAAQA,EACRw8U,KAAM0vX,IAEV,IAAIC,EAAmB586B,KAAKm91B,KAAKzxuB,UAC7BixzB,EAAoBC,EACpB586B,KAAKm91B,KAAKk8E,QAAQ,CACdl9kB,SAAS,EACT8wN,KAAM0vX,IAGV386B,KAAKojtB,QAAQ,OAAQw5N,UAElB586B,KAAK+46B,uBAChB,CACA,OAAOp42B,QAAQS,SACnB,EACAy72B,cAAe,SAAS1ooB,GAChBn0S,KAAK086B,QACL186B,KAAK086B,QAAU,IAAIhH,UAAUC,KAAK6D,aAAaC,cAAcz56B,KAAK086B,QAAQ3E,eAAgB/36B,KAAK086B,QAAQzE,eAAgB9joB,GAEvHn0S,KAAK086B,QAAU,IAAIhH,UAAUC,KAAK6D,aAAarloB,EArW5B,YAuW3B,EACAhhO,MAAO,WAQH,OAPInzE,KAAKm91B,OACLu4E,UAAUC,KAAK3nqB,OAAOyhK,cAAczva,KAAK046B,4BACzChD,UAAUC,KAAK3nqB,OAAOyhK,cAAczva,KAAK446B,uBACzC546B,KAAK886B,gBACL986B,KAAK+86B,eACL/86B,KAAKm91B,KAAKt51B,WAEP88D,QAAQS,SACnB,IAGJtgE,EAAA,QAAkBwqT,E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EAAa5v7B,KAAK207B,eACtB307B,KAAKk17B,aAAel17B,KAAK617B,UAAUjG,EAAY5v7B,KAAKwvvB,SACxD,EACAwlM,mBAAoB,WAChB,GAAKh17B,KAAK8tvB,mBAAV,CAGA,IACIl6Z,EADc5zV,KAAKm37B,aAAan37B,KAAK207B,gBACT307B,KAAK8w7B,cAAgB,MAChD,EAAIjopB,EAAM17R,WAAWymV,GAI1B5zV,KAAKk17B,cAAe,EAAIx9a,EAAMqN,cAAcnxL,EAAa5zV,KAAKgxL,OAAO,OAAQhxL,KAAKgxL,OAAO,QAHrFhxL,KAAKk17B,aAAethmB,CAJxB,CAQJ,EACAquX,yBAA0B,SAASr+sB,GAC/B,IAAK5D,KAAK8tvB,mBACN,OAAO9tvB,KAAKszS,SAAS1vS,GAEzB,IAAI2rvB,EAAQvvvB,KAAKwvvB,SACjBxvvB,KAAKshtB,sBAAsB19sB,GAC3B5D,KAAKw17B,SAAW,KAChBx17B,KAAKy17B,aAAe,KACpBz17B,KAAK+07B,qBACL/07B,KAAKg17B,qBACLh17B,KAAKgxL,OAAO,QAAShxL,KAAKk17B,cACtB3lM,GACAvvvB,KAAKwvvB,OAAOD,EAEpB,EACA5/b,eAAgB,SAASzgT,GACrB,OAAQA,EAAKZ,MACT,IAAK,SACL,IAAK,kBACDtO,KAAK647B,mBACL747B,KAAK+27B,gBACL/27B,KAAKo57B,mBACLp57B,KAAK+otB,eACL/otB,KAAK8qyB,2BACL9qyB,KAAK+qyB,iBACL,MACJ,IAAK,MACL,IAAK,MACD/qyB,KAAKg17B,qBACLh17B,KAAKszS,SAASpkS,GACd,MACJ,QACIlP,KAAKszS,SAASpkS,GAE1B,EACAokhB,YAAa,kBACFtzhB,KAAK447B,uBACL547B,KAAKw17B,gBACLx17B,KAAKy17B,oBACLz17B,KAAKk17B,oBACLl17B,KAAK607B,gBACZj90B,aAAa53G,KAAK007B,sBACX107B,KAAK007B,aAChB,EACAhloB,OAAQ,WACJ1vT,KAAKszhB,cACLtzhB,KAAKszS,UACT,IAGJxyS,EAAA,QAAkBwqT,EAClBz1S,EAAO/U,QAAU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AAe,MAChB,CACCr//B,GAAI,cACJo//B,OAAQ,mBACRrjlB,QAAS,YACTsjlB,cAAe,MAChB,CACCr//B,GAAI,gBACJo//B,OAAQ,mBACRrjlB,QAAS,YACTsjlB,cAAe,MAChB,CACCr//B,GAAI,oBACJo//B,OAAQ,mBACRrjlB,QAAS,iBACTsjlB,cAAe,MAChB,CACCr//B,GAAI,gBACJo//B,OAAQ,mBACRrjlB,QAAS,iBACTsjlB,cAAe,MAChB,CACCr//B,GAAI,gBACJo//B,OAAQ,mBACRrjlB,QAAS,YACTsjlB,cAAe,MAChB,CACCr//B,GAAI,gBACJo//B,OAAQ,mBACRrjlB,QAAS,iBACTsjlB,cAAe,MAChB,CACCr//B,GAAI,gBACJo//B,OAAQ,4CACRrjlB,QAAS,gBACTsjlB,cAAe,UAChB,CACCr//B,GAAI,iBACJo//B,OAAQ,4CACRrjlB,QAAS,gBACTsjlB,cAAe,UAChB,CACCr//B,GAAI,mBACJo//B,OAAQ,uCACRrjlB,QAAS,2BACTsjlB,cAAe,SAChB,CACCr//B,GAAI,kBACJo//B,OAAQ,0BACRrjlB,QAAS,iBACTsjlB,cAAe,OAChB,CACCr//B,GAAI,iBACJo//B,OAAQ,uCACRrjlB,QAAS,2BACTsjlB,cAAe,SAChB,CACCr//B,GAAI,kBACJo//B,OAAQ,gCACRrjlB,QAAS,iBACTsjlB,cAAe,QAChB,CACCr//B,GAAI,gBACJo//B,OAAQ,mBACRrjlB,QAAS,YACTsjlB,cAAe,MAChB,CACCr//B,GAAI,oBACJo//B,OAAQ,mBACRrjlB,QAAS,YACTsjlB,cAAe,MAChB,CACCr//B,GAAI,qBACJo//B,OAAQ,mBACRrjlB,QAAS,YACTsjlB,cAAe,MAChB,CACCr//B,GAAI,oBACJo//B,OAAQ,mBACRrjlB,QAAS,YACTsjlB,cAAe,MAChB,CACCr//B,GAAI,kBACJo//B,OAAQ,iCACRrjlB,QAAS,cACTsjlB,cAAe,QAChB,CACCr//B,GAAI,kBACJo//B,OAAQ,mBACRrjlB,QAAS,YACTsjlB,cAAe,MAChB,CACCr//B,GAAI,iBACJo//B,OAAQ,kNACRrjlB,QAAS,oBACTsjlB,cAAe,qCAChB,CACCr//B,GAAI,eACJo//B,OAAQ,qNACRrjlB,QAAS,iBACTsjlB,cAAe,sCAChB,CACCr//B,GAAI,kBACJo//B,OAAQ,wUACRrjlB,QAAS,oBACTsjlB,cAAe,yDAChB,CACCr//B,GAAI,eACJo//B,OAAQ,02BACRrjlB,QAAS,cACTsjlB,cAAe,oJAChB,CACCr//B,GAAI,oBACJo//B,OAAQ,02BACRrjlB,QAAS,cACTsjlB,cAAe,oJAChB,CACCr//B,GAAI,mBACJo//B,OAAQ,mBACRrjlB,QAAS,eACTsjlB,cAAe,MAChB,CACCr//B,GAAI,kBACJo//B,OAAQ,mBACRrjlB,QAAS,eACTsjlB,cAAe,MAChB,CACCr//B,GAAI,oBACJo//B,OAAQ,qUACRrjlB,QAAS,gBACTsjlB,cAAe,wDAChB,CACCr//B,GAAI,iCACJo//B,OAAQ,+WACRrjlB,QAAS,oBACTsjlB,cAAe,+DAChB,CACCr//B,GAAI,8BACJo//B,OAAQ,+WACRrjlB,QAAS,oBACTsjlB,cAAe,+DAChB,CACCr//B,GAAI,mCACJo//B,OAAQ,+WACRrjlB,QAAS,oBACTsjlB,cAAe,+DAChB,CACCr//B,GAAI,4BACJo//B,OAAQ,+WACRrjlB,QAAS,oBACTsjlB,cAAe,+DAChB,CACCr//B,GAAI,0BACJo//B,OAAQ,mWACRrjlB,QAAS,oBACTsjlB,cAAe,6DAChB,CACCr//B,GAAI,6BACJo//B,OAAQ,qXACRrjlB,QAAS,oBACTsjlB,cAAe,gEAChB,CACCr//B,GAAI,4BACJo//B,OAAQ,gXACRrjlB,QAAS,oBACTsjlB,cAAe,+DAChB,CACCr//B,GAAI,iCACJo//B,OAAQ,+WACRrjlB,QAAS,oBACTsjlB,cAAe,+DAChB,CACCr//B,GAAI,0BACJo//B,OAAQ,mWACRrjlB,QAAS,oBACTsjlB,cAAe,6DAChB,CACCr//B,GAAI,6BACJo//B,OAAQ,sXACRrjlB,QAAS,oBACTsjlB,cAAe,gEAChB,CACCr//B,GAAI,6BACJo//B,OAAQ,sXACRrjlB,QAAS,oBACTsjlB,cAAe,gEAChB,CACCr//B,GAAI,4BACJo//B,OAAQ,2XACRrjlB,QAAS,oBACTsjlB,cAAe,iEAChB,CACCr//B,GAAI,4BACJo//B,OAAQ,gXACRrjlB,QAAS,oBACTsjlB,cAAe,+DAChB,CACCr//B,GAAI,gBACJo//B,OAAQ,0BACRrjlB,QAAS,mBACTsjlB,cAAe,OAChB,CACCr//B,GAAI,mBACJo//B,OAAQ,8wBACRrjlB,QAAS,mBACTsjlB,cAAe,qIAChB,CACCr//B,GAAI,mBACJo//B,OAAQ,mDACRrjlB,QAAS,UACTsjlB,cAAe,WAChB,CACCr//B,GAAI,eACJo//B,OAAQ,02BACRrjlB,QAAS,cACTsjlB,cAAe,oJAChB,CACCr//B,GAAI,yBACJo//B,OAAQ,ikBACRrjlB,QAAS,sBACTsjlB,cAAe,kGAChB,CACCr//B,GAAI,gBACJo//B,OAAQ,gYACRrjlB,QAAS,mBACTsjlB,cAAe,kEAChB,CACCr//B,GAAI,mBACJo//B,OAAQ,2EACRrjlB,QAAS,mBACTsjlB,cAAe,eAChB,CACCr//B,GAAI,gBACJo//B,OAAQ,+LACRrjlB,QAAS,mBACTsjlB,cAAe,kCAChB,CACCr//B,GAAI,iBACJo//B,OAAQ,0VACRrjlB,QAAS,oBACTsjlB,cAAe,4DAChB,CACCr//B,GAAI,uBACJo//B,OAAQ,6CACRrjlB,QAAS,UACTsjlB,cAAe,UAChB,CACCr//B,GAAI,oBACJo//B,OAAQ,uNACRrjlB,QAAS,mBACTsjlB,cAAe,sCAChB,CACCr//B,GAAI,iBACJo//B,OAAQ,iCACRrjlB,QAAS,mBACTsjlB,cAAe,QAChB,CACCr//B,GAAI,gBACJo//B,OAAQ,q5BACRrjlB,QAAS,cACTsjlB,cAAe,2JAChB,CACCr//B,GAAI,uBACJo//B,OAAQ,+WACRrjlB,QAAS,oBACTsjlB,cAAe,+DAChB,CACCr//B,GAAI,wBACJo//B,OAAQ,kvBACRrjlB,QAAS,gBACTsjlB,cAAe,gIAChB,CACCr//B,GAAI,uBACJo//B,OAAQ,mjBACRrjlB,QAAS,mBACTsjlB,cAAe,gGAChB,CACCr//B,GAAI,iBACJo//B,OAAQ,2QACRrjlB,QAAS,uBACTsjlB,cAAe,+CAChB,CACCr//B,GAAI,kBACJo//B,OAAQ,wCACRrjlB,QAAS,mBACTsjlB,cAAe,SAChB,CACCr//B,GAAI,oBACJo//B,OAAQ,+WACRrjlB,QAAS,oBACTsjlB,cAAe,+DAChB,CACCr//B,GAAI,kBACJo//B,OAAQ,0BACRrjlB,QAAS,mBACTsjlB,cAAe,OAChB,CACCr//B,GAAI,iBACJo//B,OAAQ,mBACRrjlB,QAAS,YACTsjlB,cAAe,MAChB,CACCr//B,GAAI,kBACJo//B,OAAQ,g5CACRrjlB,QAAS,UACTsjlB,cAAe,gPAChB,CACCr//B,GAAI,oBACJo//B,OAAQ,4iBACRrjlB,QAAS,uBACTsjlB,cAAe,+FAChB,CACCr//B,GAAI,wBACJo//B,OAAQ,mDACRrjlB,QAAS,UACTsjlB,cAAe,WAChB,CACCr//B,GAAI,kBACJo//B,OAAQ,+WACRrjlB,QAAS,oBACTsjlB,cAAe,+DAChB,CACCr//B,GAAI,qBACJo//B,OAAQ,qEACRrjlB,QAAS,mBACTsjlB,cAAe,cAChB,CACCr//B,GAAI,kBACJo//B,OAAQ,yBACRrjlB,QAAS,UACTsjlB,cAAe,OAChB,CACCr//B,GAAI,iBACJo//B,OAAQ,uiBACRrjlB,QAAS,mBACTsjlB,cAAe,8FAChB,CACCr//B,GAAI,kBACJo//B,OAAQ,0BACRrjlB,QAAS,mBACTsjlB,cAAe,OAChB,CACCr//B,GAAI,uBACJo//B,OAAQ,0NACRrjlB,QAAS,oBACTsjlB,cAAe,uCAChB,CACCr//B,GAAI,uBACJo//B,OAAQ,qWACRrjlB,QAAS,UACTsjlB,cAAe,8DAChB,CACCr//B,GAAI,iBACJo//B,OAAQ,ojBACRrjlB,QAAS,cACTsjlB,cAAe,gGAChB,CACCr//B,GAAI,iBACJo//B,OAAQ,87BACRrjlB,QAAS,UACTsjlB,cAAe,kKAChB,CACCr//B,GAAI,kBACJo//B,OAAQ,i2BACRrjlB,QAAS,uBACTsjlB,cAAe,kJAChB,CACCr//B,GAAI,mBACJo//B,OAAQ,mBACRrjlB,QAAS,eACTsjlB,cAAe,MAChB,CACCr//B,GAAI,mBACJo//B,OAAQ,q5BACRrjlB,QAAS,mBACTsjlB,cAAe,2JAChB,CACCr//B,GAAI,mBACJo//B,OAAQ,0NACRrjlB,QAAS,mBACTsjlB,cAAe,sCAChB,CACCr//B,GAAI,sBACJo//B,OAAQ,4CACRrjlB,QAAS,gBACTsjlB,cAAe,UAChB,CACCr//B,GAAI,mBACJo//B,OAAQ,m5BACRrjlB,QAAS,mBACTsjlB,cAAe,0JAChB,CACCr//B,GAAI,sBACJo//B,OAAQ,m2BACRrjlB,QAAS,UACTsjlB,cAAe,mJAChB,CACCr//B,GAAI,qBACJo//B,OAAQ,8lBACRrjlB,QAAS,cACTsjlB,cAAe,uGAChB,CACCr//B,GAAI,oBACJo//B,OAAQ,2PACRrjlB,QAAS,cACTsjlB,cAAe,4CAChB,CACCr//B,GAAI,oBACJo//B,OAAQ,01BACRrjlB,QAAS,gBACTsjlB,cAAe,iJAChB,CACCr//B,GAAI,kBACJo//B,OAAQ,4sBACRrjlB,QAAS,mBACTsjlB,cAAe,0HAChB,CACCr//B,GAAI,oBACJo//B,OAAQ,itCACRrjlB,QAAS,wCACTsjlB,cAAe,gNAChB,CACCr//B,GAAI,qBACJo//B,OAAQ,isBACRrjlB,QAAS,mBACTsjlB,cAAe,wHAChB,CACCr//B,GAAI,kBACJo//B,OAAQ,mBACRrjlB,QAAS,eACTsjlB,cAAe,MAChB,CACCr//B,GAAI,qBACJo//B,OAAQ,mBACRrjlB,QAAS,eACTsjlB,cAAe,MAChB,CACCr//B,GAAI,oBACJo//B,OAAQ,uEACRrjlB,QAAS,mBACTsjlB,cAAe,cAChB,CACCr//B,GAAI,oBACJo//B,OAAQ,gCACRrjlB,QAAS,cACTsjlB,cAAe,QAChB,CACCr//B,GAAI,iBACJo//B,OAAQ,iCACRrjlB,QAAS,uBACTsjlB,cAAe,QAChB,CACCr//B,GAAI,kBACJo//B,OAAQ,w2CACRrjlB,QAAS,gBACTsjlB,cAAe,yOAChB,CACCr//B,GAAI,iBACJo//B,OAAQ,o7BACRrjlB,QAAS,gBACTsjlB,cAAe,gKAChB,CACCr//B,GAAI,qBACJo//B,OAAQ,6GACRrjlB,QAAS,uBACTsjlB,cAAe,oBAChB,CACCr//B,GAAI,+BACJo//B,OAAQ,8lBACRrjlB,QAAS,cACTsjlB,cAAe,uGAChB,CACCr//B,GAAI,uBACJo//B,OAAQ,u6BACRrjlB,QAAS,UACTsjlB,cAAe,8JAChB,CACCr//B,GAAI,0BACJo//B,OAAQ,unBACRrjlB,QAAS,cACTsjlB,cAAe,2GAChB,CACCr//B,GAAI,6BACJo//B,OAAQ,msBACRrjlB,QAAS,cACTsjlB,cAAe,wHAChB,CACCr//B,GAAI,4BACJo//B,OAAQ,wlBACRrjlB,QAAS,cACTsjlB,cAAe,sGAChB,CACCr//B,GAAI,wBACJo//B,OAAQ,kfACRrjlB,QAAS,cACTsjlB,cAAe,qFAChB,CACCr//B,GAAI,4BACJo//B,OAAQ,0mBACRrjlB,QAAS,cACTsjlB,cAAe,yGAChB,CACCr//B,GAAI,0BACJo//B,OAAQ,6oBACRrjlB,QAAS,cACTsjlB,cAAe,+GAChB,CACCr//B,GAAI,uBACJo//B,OAAQ,8lBACRrjlB,QAAS,cACTsjlB,cAAe,uGAChB,CACCr//B,GAAI,iBACJo//B,OAAQ,+tBACRrjlB,QAAS,gBACTsjlB,cAAe,6HAChB,CACCr//B,GAAI,kBACJo//B,OAAQ,suBACRrjlB,QAAS,oBACTsjlB,cAAe,8HAChB,CACCr//B,GAAI,kBACJo//B,OAAQ,4IACRrjlB,QAAS,mBACTsjlB,cAAe,0BAChB,CACCr//B,GAAI,gBACJo//B,OAAQ,mWACRrjlB,QAAS,oBACTsjlB,cAAe,6DAChB,CACCr//B,GAAI,iBACJo//B,OAAQ,m2BACRrjlB,QAAS,cACTsjlB,cAAe,mJAChB,CACCr//B,GAAI,8BACJo//B,OAAQ,ujCACRrjlB,QAAS,cACTsjlB,cAAe,sLAChB,CACCr//B,GAAI,8BACJo//B,OAAQ,k4BACRrjlB,QAAS,cACTsjlB,cAAe,wJAChB,CACCr//B,GAAI,kBACJo//B,OAAQ,u6BACRrjlB,QAAS,UACTsjlB,cAAe,8JAChB,CACCr//B,GAAI,qBACJo//B,OAAQ,0BACRrjlB,QAAS,mBACTsjlB,cAAe,OAChB,CACCr//B,GAAI,iBACJo//B,OAAQ,yBACRrjlB,QAAS,kBACTsjlB,cAAe,OAChB,CACCr//B,GAAI,eACJo//B,OAAQ,2GACRrjlB,QAAS,gBACTsjlB,cAAe,oBAChB,CACCr//B,GAAI,sBACJo//B,OAAQ,smCACRrjlB,QAAS,UACTsjlB,cAAe,8LAChB,CACCr//B,GAAI,qBACJo//B,OAAQ,ujCACRrjlB,QAAS,cACTsjlB,cAAe,sLAChB,CACCr//B,GAAI,wBACJo//B,OAAQ,0BACRrjlB,QAAS,mBACTsjlB,cAAe,OAChB,CACCr//B,GAAI,iBACJo//B,OAAQ,wQACRrjlB,QAAS,mBACTsjlB,cAAe,8CAChB,CACCr//B,GAAI,kBACJo//B,OAAQ,4GACRrjlB,QAAS,gBACTsjlB,cAAe,oBAChB,CACCr//B,GAAI,iBACJo//B,OAAQ,4MACRrjlB,QAAS,mBACTsjlB,cAAe,oCAChB,CACCr//B,GAAI,kBACJo//B,OAAQ,mBACRrjlB,QAAS,eACTsjlB,cAAe,MAChB,CACCr//B,GAAI,qBACJo//B,OAAQ,gCACRrjlB,QAAS,mBACTsjlB,cAAe,QAChB,CACCr//B,GAAI,oBACJo//B,OAAQ,yhBACRrjlB,QAAS,cACTsjlB,cAAe,4FAChB,CACCr//B,GAAI,mBACJo//B,OAAQ,ikBACRrjlB,QAAS,uBACTsjlB,cAAe,kGAChB,CACCr//B,GAAI,kBACJo//B,OAAQ,gXACRrjlB,QAAS,oBACTsjlB,cAAe,+DAChB,CACCr//B,GAAI,oBACJo//B,OAAQ,s2BACRrjlB,QAAS,UACTsjlB,cAAe,mJAChB,CACCr//B,GAAI,iBACJo//B,OAAQ,yhBACRrjlB,QAAS,mBACTsjlB,cAAe,4FAChB,CACCr//B,GAAI,qBACJo//B,OAAQ,0eACRrjlB,QAAS,cACTsjlB,cAAe,oFAChB,CACCr//B,GAAI,sBACJo//B,OAAQ,+lBACRrjlB,QAAS,oBACTsjlB,cAAe,uGAChB,CACCr//B,GAAI,mBACJo//B,OAAQ,+nBACRrjlB,QAAS,uBACTsjlB,cAAe,6GAChB,CACCr//B,GAAI,kBACJo//B,OAAQ,ouCACRrjlB,QAAS,cACTsjlB,cAAe,mNAChB,CACCr//B,GAAI,oBACJo//B,OAAQ,yhBACRrjlB,QAAS,mBACTsjlB,cAAe,4FAChB,CACCr//B,GAAI,qBACJo//B,OAAQ,yhBACRrjlB,QAAS,gCACTsjlB,cAAe,2FAChB,CACCr//B,GAAI,mBACJo//B,OAAQ,83CACRrjlB,QAAS,UACTsjlB,cAAe,6OAChB,CACCr//B,GAAI,qBACJo//B,OAAQ,mBACRrjlB,QAAS,eACTsjlB,cAAe,MAChB,CACCr//B,GAAI,iBACJo//B,OAAQ,44BACRrjlB,QAAS,gBACTsjlB,cAAe,0JAChB,CACCr//B,GAAI,mBACJo//B,OAAQ,g5CACRrjlB,QAAS,UACTsjlB,cAAe,gPAChB,CACCr//B,GAAI,kBACJo//B,OAAQ,ozBACRrjlB,QAAS,UACTsjlB,cAAe,2IAChB,CACCr//B,GAAI,eACJo//B,OAAQ,02BACRrjlB,QAAS,kBACTsjlB,cAAe,oJAChB,CACCr//B,GAAI,kBACJo//B,OAAQ,2PACRrjlB,QAAS,kBACTsjlB,cAAe,4CAChB,CACCr//B,GAAI,8BACJo//B,OAAQ,84BACRrjlB,QAAS,cACTsjlB,cAAe,0JAChB,CACCr//B,GAAI,8BACJo//B,OAAQ,84BACRrjlB,QAAS,cACTsjlB,cAAe,0JAChB,CACCr//B,GAAI,iCACJo//B,OAAQ,84BACRrjlB,QAAS,cACTsjlB,cAAe,0JAChB,CACCr//B,GAAI,eACJo//B,OAAQ,4sBACRrjlB,QAAS,mBACTsjlB,cAAe,0HAChB,CACCr//B,GAAI,kBACJo//B,OAAQ,4iBACRrjlB,QAAS,uBACTsjlB,cAAe,+FAChB,CACCr//B,GAAI,iBACJo//B,OAAQ,mBACRrjlB,QAAS,YACTsjlB,cAAe,MAChB,CACCr//B,GAAI,sBACJo//B,OAAQ,6uBACRrjlB,QAAS,wBACTsjlB,cAAe,+HAChB,CACCr//B,GAAI,qBACJo//B,OAAQ,wCACRrjlB,QAAS,kCACTsjlB,cAAe,SAChB,CACCr//B,GAAI,kBACJo//B,OAAQ,2EACRrjlB,QAAS,UACTsjlB,cAAe,eAChB,CACCr//B,GAAI,wBACJo//B,OAAQ,mBACRrjlB,QAAS,eACTsjlB,cAAe,MAChB,CACCr//B,GAAI,yBACJo//B,OAAQ,8gBACRrjlB,QAAS,cACTsjlB,cAAe,0FAChB,CACCr//B,GAAI,qBACJo//B,OAAQ,6MACRrjlB,QAAS,gBACTsjlB,cAAe,oCAChB,CACCr//B,GAAI,sBACJo//B,OAAQ,+LACRrjlB,QAAS,gBACTsjlB,cAAe,kCAChB,CACCr//B,GAAI,sBACJo//B,OAAQ,gCACRrjlB,QAAS,UACTsjlB,cAAe,QAChB,CACCr//B,GAAI,uBACJo//B,OAAQ,+rBACRrjlB,QAAS,uBACTsjlB,cAAe,uHAChB,CACCr//B,GAAI,sBACJo//B,OAAQ,ozBACRrjlB,QAAS,UACTsjlB,cAAe,2IAChB,CACCr//B,GAAI,uBACJo//B,OAAQ,ytBACRrjlB,QAAS,gBACTsjlB,cAAe,4HAChB,CACCr//B,GAAI,iBACJo//B,OAAQ,2PACRrjlB,QAAS,gBACTsjlB,cAAe,4CAChB,CACCr//B,GAAI,iBACJo//B,OAAQ,+UACRrjlB,QAAS,gBACTsjlB,cAAe,0DAChB,CACCr//B,GAAI,mBACJo//B,OAAQ,ytBACRrjlB,QAAS,gBACTsjlB,cAAe,4HAChB,CACCr//B,GAAI,qBACJo//B,OAAQ,6MACRrjlB,QAAS,gBACTsjlB,cAAe,oCAChB,CACCr//B,GAAI,kBACJo//B,OAAQ,+WACRrjlB,QAAS,oBACTsjlB,cAAe,+DAChB,CACCr//B,GAAI,uBACJo//B,OAAQ,m5BACRrjlB,QAAS,mBACTsjlB,cAAe,0JAChB,CACCr//B,GAAI,mBACJo//B,OAAQ,sMACRrjlB,QAAS,gBACTsjlB,cAAe,mCAChB,CACCr//B,GAAI,mBACJo//B,OAAQ,u8BACRrjlB,QAAS,uBACTsjlB,cAAe,mKAChB,CACCr//B,GAAI,wBACJo//B,OAAQ,gHACRrjlB,QAAS,kBACTsjlB,cAAe,qBAChB,CACCr//B,GAAI,oBACJo//B,OAAQ,mjBACRrjlB,QAAS,mBACTsjlB,cAAe,gGAChB,CACCr//B,GAAI,uBACJo//B,OAAQ,4sBACRrjlB,QAAS,mBACTsjlB,cAAe,0HAChB,CACCr//B,GAAI,mBACJo//B,OAAQ,87BACRrjlB,QAAS,UACTsjlB,cAAe,kKAChB,CACCr//B,GAAI,gBACJo//B,OAAQ,m2BACRrjlB,QAAS,cACTsjlB,cAAe,mJAChB,CACCr//B,GAAI,wBACJo//B,OAAQ,mBACRrjlB,QAAS,eACTsjlB,cAAe,MAChB,CACCr//B,GAAI,mBACJo//B,OAAQ,k6CACRrjlB,QAAS,+BACTsjlB,cAAe,mPAChB,CACCr//B,GAAI,mBACJo//B,OAAQ,mBACRrjlB,QAAS,eACTsjlB,cAAe,MAChB,CACCr//B,GAAI,mBACJo//B,OAAQ,mBACRrjlB,QAAS,eACTsjlB,cAAe,MAChB,CACCr//B,GAAI,oBACJo//B,OAAQ,mBACRrjlB,QAAS,eACTsjlB,cAAe,MAChB,CACCr//B,GAAI,qBACJo//B,OAAQ,mBACRrjlB,QAAS,eACTsjlB,cAAe,MAChB,CACCr//B,GAAI,wBACJo//B,OAAQ,4JACRrjlB,QAAS,mBACTsjlB,cAAe,4BAChB,CACCr//B,GAAI,sBACJo//B,OAAQ,yDACRrjlB,QAAS,mBACTsjlB,cAAe,YAChB,CACCr//B,GAAI,gBACJo//B,OAAQ,ykBACRrjlB,QAAS,mBACTsjlB,cAAe,oGAChB,CACCr//B,GAAI,sBACJo//B,OAAQ,40BACRrjlB,QAAS,cACTsjlB,cAAe,+IAChB,CACCr//B,GAAI,kBACJo//B,OAAQ,m5BACRrjlB,QAAS,mBACTsjlB,cAAe,0JAChB,CACCr//B,GAAI,kBACJo//B,OAAQ,83CACRrjlB,QAAS,UACTsjlB,cAAe,6OAChB,CACCr//B,GAAI,kBACJo//B,OAAQ,mBACRrjlB,QAAS,eACTsjlB,cAAe,MAChB,CACCr//B,GAAI,oBACJo//B,OAAQ,6nCACRrjlB,QAAS,UACTsjlB,cAAe,kMAChB,CACCr//B,GAAI,iBACJo//B,OAAQ,mBACRrjlB,QAAS,eACTsjlB,cAAe,MAChB,CACCr//B,GAAI,qBACJo//B,OAAQ,mjBACRrjlB,QAAS,cACTsjlB,cAAe,gGAChB,CACCr//B,GAAI,mBACJo//B,OAAQ,wmCACRrjlB,QAAS,UACTsjlB,cAAe,8LAChB,CACCr//B,GAAI,kBACJo//B,OAAQ,m2BACRrjlB,QAAS,UACTsjlB,cAAe,mJAChB,CACCr//B,GAAI,sBACJo//B,OAAQ,6uBACRrjlB,QAAS,gBACTsjlB,cAAe,+HAChB,CACCr//B,GAAI,mBACJo//B,OAAQ,wDACRrjlB,QAAS,cACTsjlB,cAAe,YAChB,CACCr//B,GAAI,mBACJo//B,OAAQ,0DACRrjlB,QAAS,cACTsjlB,cAAe,YAChB,CACCr//B,GAAI,4BACJo//B,OAAQ,iCACRrjlB,QAAS,SACTsjlB,cAAe,QAChB,CACCr//B,GAAI,uBACJo//B,OAAQ,4iBACRrjlB,QAAS,cACTsjlB,cAAe,+FAChB,CACCr//B,GAAI,oBACJo//B,OAAQ,0BACRrjlB,QAAS,cACTsjlB,cAAe,OAChB,CACCr//B,GAAI,qBACJo//B,OAAQ,06BACRrjlB,QAAS,sBACTsjlB,cAAe,+JAChB,CACCr//B,GAAI,oBACJo//B,OAAQ,qfACRrjlB,QAAS,gBACTsjlB,cAAe,sFAChB,CACCr//B,GAAI,qBACJo//B,OAAQ,kBACRrjlB,QAAS,QACTsjlB,cAAe,MAChB,CACCr//B,GAAI,wBACJo//B,OAAQ,06BACRrjlB,QAAS,sBACTsjlB,cAAe,+JAChB,CACCr//B,GAAI,mBACJo//B,OAAQ,mBACRrjlB,QAAS,SACTsjlB,cAAe,MAChB,CACCr//B,GAAI,mBACJo//B,OAAQ,8ZACRrjlB,QAAS,SACTsjlB,cAAe,wEAChB,CACCr//B,GAAI,oBACJo//B,OAAQ,mBACRrjlB,QAAS,SACTsjlB,cAAe,MAChB,CACCr//B,GAAI,sBACJo//B,OAAQ,y1BACRrjlB,QAAS,WACTsjlB,cAAe,iJAChB,CACCr//B,GAAI,YACJo//B,OAAQ,mBACRrjlB,QAAS,iBACTsjlB,cAAe,MAChB,CACCr//B,GAAI,cACJo//B,OAAQ,2TACRrjlB,QAAS,wBACTsjlB,cAAe,uDAChB,CACCr//B,GAAI,aACJo//B,OAAQ,6sBACRrjlB,QAAS,sBACTsjlB,cAAe,0HAChB,CACCr//B,GAAI,cACJo//B,OAAQ,6XACRrjlB,QAAS,gCACTsjlB,cAAe,kEAChB,CACCr//B,GAAI,aACJo//B,OAAQ,ySACRrjlB,QAAS,2BACTsjlB,cAAe,oDAChB,CACCr//B,GAAI,cACJo//B,OAAQ,+SACRrjlB,QAAS,2BACTsjlB,cAAe,qDAChB,CACCr//B,GAAI,gBACJo//B,OAAQ,+JACRrjlB,QAAS,2BACTsjlB,cAAe,6BAChB,CACCr//B,GAAI,iBACJo//B,OAAQ,+JACRrjlB,QAAS,2BACTsjlB,cAAe,6BAChB,CACCr//B,GAAI,cACJo//B,OAAQ,mSACRrjlB,QAAS,gCACTsjlB,cAAe,mDAChB,CACCr//B,GAAI,eACJo//B,OAAQ,4UACRrjlB,QAAS,mBACTsjlB,cAAe,0DAChB,CACCr//B,GAAI,eACJo//B,OAAQ,0BACRrjlB,QAAS,sBACTsjlB,cAAe,OAChB,CACCr//B,GAAI,YACJo//B,OAAQ,gZACRrjlB,QAAS,wBACTsjlB,cAAe,qEAChB,CACCr//B,GAAI,eACJo//B,OAAQ,mBACRrjlB,QAAS,iBACTsjlB,cAAe,MAChB,CACCr//B,GAAI,eACJo//B,OAAQ,4ZACRrjlB,QAAS,sBACTsjlB,cAAe,uEAChB,CACCr//B,GAAI,cACJo//B,OAAQ,w1BACRrjlB,QAAS,YACTsjlB,cAAe,iJAChB,CACCr//B,GAAI,eACJo//B,OAAQ,2TACRrjlB,QAAS,wBACTsjlB,cAAe,uDAChB,CACCr//B,GAAI,cACJo//B,OAAQ,0BACRrjlB,QAAS,sBACTsjlB,cAAe,OAChB,CACCr//B,GAAI,gBACJo//B,OAAQ,6CACRrjlB,QAAS,sBACTsjlB,cAAe,UAChB,CACCr//B,GAAI,aACJo//B,OAAQ,sZACRrjlB,QAAS,2BACTsjlB,cAAe,sEAChB,CACCr//B,GAAI,kBACJo//B,OAAQ,oUACRrjlB,QAAS,2BACTsjlB,cAAe,wDAChB,CACCr//B,GAAI,iBACJo//B,OAAQ,wLACRrjlB,QAAS,YACTsjlB,cAAe,iCAChB,CACCr//B,GAAI,iBACJo//B,OAAQ,wLACRrjlB,QAAS,YACTsjlB,cAAe,iCAChB,CACCr//B,GAAI,eACJo//B,OAAQ,2DACRrjlB,QAAS,2BACTsjlB,cAAe,YAChB,CACCr//B,GAAI,aACJo//B,OAAQ,mDACRrjlB,QAAS,gCACTsjlB,cAAe,WAChB,CACCr//B,GAAI,gBACJo//B,OAAQ,y5BACRrjlB,QAAS,mBACTsjlB,cAAe,4JAChB,CACCr//B,GAAI,aACJo//B,OAAQ,mDACRrjlB,QAAS,gCACTsjlB,cAAe,WAChB,CACCr//B,GAAI,YACJo//B,OAAQ,wCACRrjlB,QAAS,sBACTsjlB,cAAe,SAChB,CACCr//B,GAAI,aACJo//B,OAAQ,mBACRrjlB,QAAS,cACTsjlB,cAAe,MAChB,CACCr//B,GAAI,gBACJo//B,OAAQ,yJACRrjlB,QAAS,wBACTsjlB,cAAe,4BAChB,CACCr//B,GAAI,iBACJo//B,OAAQ,kwBACRrjlB,QAAS,mBACTsjlB,cAAe,mIAChB,CACCr//B,GAAI,YACJo//B,OAAQ,o4BACRrjlB,QAAS,YACTsjlB,cAAe,wJAChB,CACCr//B,GAAI,cACJo//B,OAAQ,wLACRrjlB,QAAS,YACTsjlB,cAAe,iCAChB,CACCr//B,GAAI,cACJo//B,OAAQ,g5BACRrjlB,QAAS,YACTsjlB,cAAe,0JAChB,CACCr//B,GAAI,mBACJo//B,OAAQ,yEACRrjlB,QAAS,kCACTsjlB,cAAe,cAChB,CACCr//B,GAAI,iBACJo//B,OAAQ,8aACRrjlB,QAAS,wBACTsjlB,cAAe,0EAChB,CACCr//B,GAAI,YACJo//B,OAAQ,8TACRrjlB,QAAS,wBACTsjlB,cAAe,uDAChB,CACCr//B,GAAI,eACJo//B,OAAQ,gZACRrjlB,QAAS,2BACTsjlB,cAAe,qEAChB,CACCr//B,GAAI,gBACJo//B,OAAQ,gsBACRrjlB,QAAS,2BACTsjlB,cAAe,uHAChB,CACCr//B,GAAI,eACJo//B,OAAQ,6DACRrjlB,QAAS,kCACTsjlB,cAAe,YAChB,CACCr//B,GAAI,gBACJo//B,OAAQ,iCACRrjlB,QAAS,mBACTsjlB,cAAe,QAChB,CACCr//B,GAAI,iBACJo//B,OAAQ,83BACRrjlB,QAAS,2BACTsjlB,cAAe,uJAChB,CACCr//B,GAAI,aACJo//B,OAAQ,mBACRrjlB,QAAS,YACTsjlB,cAAe,MAChB,CACCr//B,GAAI,iBACJo//B,OAAQ,mYACRrjlB,QAAS,wBACTsjlB,cAAe,mEAChB,CACCr//B,GAAI,eACJo//B,OAAQ,qFACRrjlB,QAAS,6BACTsjlB,cAAe,gBAChB,CACCr//B,GAAI,eACJo//B,OAAQ,mBACRrjlB,QAAS,iBACTsjlB,cAAe,MAChB,CACCr//B,GAAI,iBACJo//B,OAAQ,0BACRrjlB,QAAS,sBACTsjlB,cAAe,OAChB,CACCr//B,GAAI,gBACJo//B,OAAQ,0BACRrjlB,QAAS,sBACTsjlB,cAAe,OAChB,CACCr//B,GAAI,gBACJo//B,OAAQ,4ZACRrjlB,QAAS,gCACTsjlB,cAAe,uEAChB,CACCr//B,GAAI,eACJo//B,OAAQ,6CACRrjlB,QAAS,sBACTsjlB,cAAe,UAChB,CACCr//B,GAAI,mBACJo//B,OAAQ,gZACRrjlB,QAAS,2BACTsjlB,cAAe,qEAChB,CACCr//B,GAAI,oBACJo//B,OAAQ,qDACRrjlB,QAAS,qCACTsjlB,cAAe,WAChB,CACCr//B,GAAI,eACJo//B,OAAQ,4HACRrjlB,QAAS,gCACTsjlB,cAAe,uBAChB,CACCr//B,GAAI,cACJo//B,OAAQ,mBACRrjlB,QAAS,iBACTsjlB,cAAe,MAChB,CACCr//B,GAAI,aACJo//B,OAAQ,0bACRrjlB,QAAS,2BACTsjlB,cAAe,4EAChB,CACCr//B,GAAI,aACJo//B,OAAQ,0bACRrjlB,QAAS,2BACTsjlB,cAAe,4EAChB,CACCr//B,GAAI,eACJo//B,OAAQ,sZACRrjlB,QAAS,wBACTsjlB,cAAe,sEAChB,CACCr//B,GAAI,gBACJo//B,OAAQ,wCACRrjlB,QAAS,mBACTsjlB,cAAe,SAChB,CACCr//B,GAAI,cACJo//B,OAAQ,iEACRrjlB,QAAS,YACTsjlB,cAAe,aAChB,CACCr//B,GAAI,cACJo//B,OAAQ,mBACRrjlB,QAAS,cACTsjlB,cAAe,MAChB,CACCr//B,GAAI,eACJo//B,OAAQ,wwBACRrjlB,QAAS,sBACTsjlB,cAAe,oIAChB,CACCr//B,GAAI,oBACJo//B,OAAQ,mYACRrjlB,QAAS,wBACTsjlB,cAAe,mEAChB,CACCr//B,GAAI,mBACJo//B,OAAQ,4ZACRrjlB,QAAS,2BACTsjlB,cAAe,uEAChB,CACCr//B,GAAI,YACJo//B,OAAQ,gZACRrjlB,QAAS,wBACTsjlB,cAAe,qEAChB,CACCr//B,GAAI,YACJo//B,OAAQ,mSACRrjlB,QAAS,6BACTsjlB,cAAe,mDAChB,CACCr//B,GAAI,kBACJo//B,OAAQ,mBACRrjlB,QAAS,iBACTsjlB,cAAe,MAChB,CACCr//B,GAAI,iBACJo//B,OAAQ,oEACRrjlB,QAAS,gCACTsjlB,cAAe,aAChB,CACCr//B,GAAI,iBACJo//B,OAAQ,gDACRrjlB,QAAS,iBACTsjlB,cAAe,UAChB,CACCr//B,GAAI,aACJo//B,OAAQ,0BACRrjlB,QAAS,sBACTsjlB,cAAe,OAChB,CACCr//B,GAAI,gBACJo//B,OAAQ,ySACRrjlB,QAAS,2BACTsjlB,cAAe,oDAChB,CACCr//B,GAAI,iBACJo//B,OAAQ,oSACRrjlB,QAAS,2BACTsjlB,cAAe,mDAChB,CACCr//B,GAAI,eACJo//B,OAAQ,iCACRrjlB,QAAS,sBACTsjlB,cAAe,QAChB,CACCr//B,GAAI,cACJo//B,OAAQ,mBACRrjlB,QAAS,iBACTsjlB,cAAe,MAChB,CACCr//B,GAAI,cACJo//B,OAAQ,yEACRrjlB,QAAS,kCACTsjlB,cAAe,cAChB,CACCr//B,GAAI,gBACJo//B,OAAQ,gZACRrjlB,QAAS,6BACTsjlB,cAAe,qEAChB,CACCr//B,GAAI,iBACJo//B,OAAQ,mJACRrjlB,QAAS,2BACTsjlB,cAAe,2BAChB,CACCr//B,GAAI,aACJo//B,OAAQ,gMACRrjlB,QAAS,gCACTsjlB,cAAe,kCAChB,CACCr//B,GAAI,gBACJo//B,OAAQ,wLACRrjlB,QAAS,YACTsjlB,cAAe,iCAChB,CACCr//B,GAAI,iBACJo//B,OAAQ,qDACRrjlB,QAAS,qCACTsjlB,cAAe,WAChB,CACCr//B,GAAI,qBACJo//B,OAAQ,gZACRrjlB,QAAS,2BACTsjlB,cAAe,qEAChB,CACCr//B,GAAI,cACJo//B,OAAQ,gQACRrjlB,QAAS,YACTsjlB,cAAe,6CAChB,CACCr//B,GAAI,gBACJo//B,OAAQ,yJACRrjlB,QAAS,2BACTsjlB,cAAe,4BAChB,CACCr//B,GAAI,eACJo//B,OAAQ,+SACRrjlB,QAAS,2BACTsjlB,cAAe,qDAChB,CACCr//B,GAAI,cACJo//B,OAAQ,ymBACRrjlB,QAAS,gCACTsjlB,cAAe,yGAChB,CACCr//B,GAAI,gBACJo//B,OAAQ,83BACRrjlB,QAAS,2BACTsjlB,cAAe,uJAChB,CACCr//B,GAAI,cACJo//B,OAAQ,0BACRrjlB,QAAS,mBACTsjlB,cAAe,OAChB,CACCr//B,GAAI,eACJo//B,OAAQ,0BACRrjlB,QAAS,mBACTsjlB,cAAe,OAChB,CACCr//B,GAAI,aACJo//B,OAAQ,6DACRrjlB,QAAS,YACTsjlB,cAAe,aAChB,CACCr//B,GAAI,aACJo//B,OAAQ,4ZACRrjlB,QAAS,yBACTsjlB,cAAe,uEAChB,CACCr//B,GAAI,qBACJo//B,OAAQ,wCACRrjlB,QAAS,mBACTsjlB,cAAe,SAChB,CACCr//B,GAAI,mBACJo//B,OAAQ,8TACRrjlB,QAAS,2BACTsjlB,cAAe,uDAChB,CACCr//B,GAAI,kBACJo//B,OAAQ,8TACRrjlB,QAAS,2BACTsjlB,cAAe,uDAChB,CACCr//B,GAAI,cACJo//B,OAAQ,mBACRrjlB,QAAS,iBACTsjlB,cAAe,MAChB,CACCr//B,GAAI,gBACJo//B,OAAQ,sZACRrjlB,QAAS,kCACTsjlB,cAAe,sEAChB,CACCr//B,GAAI,iBACJo//B,OAAQ,mBACRrjlB,QAAS,iBACTsjlB,cAAe,MAChB,CACCr//B,GAAI,mBACJo//B,OAAQ,gZACRrjlB,QAAS,2BACTsjlB,cAAe,qEAChB,CACCr//B,GAAI,eACJo//B,OAAQ,gZACRrjlB,QAAS,2BACTsjlB,cAAe,qEAChB,CACCr//B,GAAI,cACJo//B,OAAQ,iCACRrjlB,QAAS,sBACTsjlB,cAAe,QAChB,CACCr//B,GAAI,qBACJo//B,OAAQ,uZACRrjlB,QAAS,mCACTsjlB,cAAe,sEAChB,CACCr//B,GAAI,eACJo//B,OAAQ,wXACRrjlB,QAAS,sBACTsjlB,cAAe,iEAChB,CACCr//B,GAAI,kBACJo//B,OAAQ,wzCACRrjlB,QAAS,oBACTsjlB,cAAe,iOAChB,CACCr//B,GAAI,mBACJo//B,OAAQ,oxBACRrjlB,QAAS,gBACTsjlB,cAAe,sIAChB,CACCr//B,GAAI,kBACJo//B,OAAQ,mtBACRrjlB,QAAS,gBACTsjlB,cAAe,2HAChB,CACCr//B,GAAI,sBACJo//B,OAAQ,wCACRrjlB,QAAS,iBACTsjlB,cAAe,SAChB,CACCr//B,GAAI,kBACJo//B,OAAQ,isBACRrjlB,QAAS,gBACTsjlB,cAAe,wHAChB,CACCr//B,GAAI,iBACJo//B,OAAQ,isBACRrjlB,QAAS,gBACTsjlB,cAAe,wHAChB,CACCr//B,GAAI,qBACJo//B,OAAQ,y1BACRrjlB,QAAS,WACTsjlB,cAAe,iJAChB,CACCr//B,GAAI,mBACJo//B,OAAQ,wzCACRrjlB,QAAS,gBACTsjlB,cAAe,iOAChB,CACCr//B,GAAI,qBACJo//B,OAAQ,uaACRrjlB,QAAS,UACTsjlB,cAAe,yEAChB,CACCr//B,GAAI,yBACJo//B,OAAQ,WACRrjlB,QAAS,MACTsjlB,cAAe,KAChB,CACCr//B,GAAI,qBACJo//B,OAAQ,mBACRrjlB,QAAS,YACTsjlB,cAAe,MAChB,CACCr//B,GAAI,mBACJo//B,OAAQ,uaACRrjlB,QAAS,oBACTsjlB,cAAe,yEAChB,CACCr//B,GAAI,gBACJo//B,OAAQ,61BACRrjlB,QAAS,YACTsjlB,cAAe,kJAChB,CACCr//B,GAAI,qBACJo//B,OAAQ,61BACRrjlB,QAAS,YACTsjlB,cAAe,kJAChB,CACCr//B,GAAI,qBACJo//B,OAAQ,gHACRrjlB,QAAS,YACTsjlB,cAAe,qBAChB,CACCr//B,GAAI,wBACJo//B,OAAQ,61BACRrjlB,QAAS,YACTsjlB,cAAe,kJAChB,CACCr//B,GAAI,qBACJo//B,OAAQ,61BACRrjlB,QAAS,YACTsjlB,cAAe,kJAChB,CACCr//B,GAAI,mBACJo//B,OAAQ,61BACRrjlB,QAAS,YACTsjlB,cAAe,kJAChB,CACCr//B,GAAI,mBACJo//B,OAAQ,8DACRrjlB,QAAS,YACTsjlB,cAAe,aAChB,CACCr//B,GAAI,kBACJo//B,OAAQ,8HACRrjlB,QAAS,YACTsjlB,cAAe,uBAChB,CACCr//B,GAAI,mBACJo//B,OAAQ,64BACRrjlB,QAAS,YACTsjlB,cAAe,0JAChB,CACCr//B,GAAI,gBACJo//B,OAAQ,wrBACRrjlB,QAAS,sBACTsjlB,cAAe,uHAChB,CACCr//B,GAAI,qBACJo//B,OAAQ,wIACRrjlB,QAAS,YACTsjlB,cAAe,yBAChB,CACCr//B,GAAI,sBACJo//B,OAAQ,wrBACRrjlB,QAAS,sBACTsjlB,cAAe,uHAChB,CACCr//B,GAAI,sBACJo//B,OAAQ,61BACRrjlB,QAAS,YACTsjlB,cAAe,kJAChB,CACCr//B,GAAI,kBACJo//B,OAAQ,8DACRrjlB,QAAS,YACTsjlB,cAAe,aAChB,CACCr//B,GAAI,gBACJo//B,OAAQ,61BACRrjlB,QAAS,YACTsjlB,cAAe,kJAChB,CACCr//B,GAAI,kBACJo//B,OAAQ,8HACRrjlB,QAAS,YACTsjlB,cAAe,uBAChB,CACCr//B,GAAI,uBACJo//B,OAAQ,gHACRrjlB,QAAS,YACTsjlB,cAAe,qBAChB,CACCr//B,GAAI,kBACJo//B,OAAQ,61BACRrjlB,QAAS,YACTsjlB,cAAe,kJAChB,CACCr//B,GAAI,mBACJo//B,OAAQ,61BACRrjlB,QAAS,YACTsjlB,cAAe,kJAChB,CACCr//B,GAAI,qBACJo//B,OAAQ,64BACRrjlB,QAAS,YACTsjlB,cAAe,0JAChB,CACCr//B,GAAI,qBACJo//B,OAAQ,61BACRrjlB,QAAS,YACTsjlB,cAAe,kJAChB,CACCr//B,GAAI,iBACJo//B,OAAQ,8HACRrjlB,QAAS,YACTsjlB,cAAe,uBAChB,CACCr//B,GAAI,uBACJo//B,OAAQ,61BACRrjlB,QAAS,YACTsjlB,cAAe,kJAChB,CACCr//B,GAAI,cACJo//B,OAAQ,6MACRrjlB,QAAS,gBACTsjlB,cAAe,oCAChB,CACCr//B,GAAI,mBACJo//B,OAAQ,2PACRrjlB,QAAS,kBACTsjlB,cAAe,4CAChB,CACCr//B,GAAI,cACJo//B,OAAQ,mjBACRrjlB,QAAS,mBACTsjlB,cAAe,gGAChB,CACCr//B,GAAI,cACJo//B,OAAQ,4MACRrjlB,QAAS,mBACTsjlB,cAAe,oCAChB,CACCr//B,GAAI,kBACJo//B,OAAQ,w2CACRrjlB,QAAS,gBACTsjlB,cAAe,yOAChB,CACCr//B,GAAI,iBACJo//B,OAAQ,wmCACRrjlB,QAAS,UACTsjlB,cAAe,8LAChB,CACCr//B,GAAI,iBACJo//B,OAAQ,83CACRrjlB,QAAS,UACTsjlB,cAAe,6OAChB,CACCr//B,GAAI,kBACJo//B,OAAQ,q5BACRrjlB,QAAS,mBACTsjlB,cAAe,2JAChB,CACCr//B,GAAI,sBACJo//B,OAAQ,k6CACRrjlB,QAAS,+BACTsjlB,cAAe,mPAChB,CACCr//B,GAAI,iBACJo//B,OAAQ,6nCACRrjlB,QAAS,UACTsjlB,cAAe,kMAChB,CACCr//B,GAAI,sBACJo//B,OAAQ,+UACRrjlB,QAAS,gBACTsjlB,cAAe,0DAChB,CACCr//B,GAAI,eACJo//B,OAAQ,mjBACRrjlB,QAAS,cACTsjlB,cAAe,gGAChB,CACCr//B,GAAI,MACJo//B,OAAQ,g0BACRrjlB,QAAS,WACTsjlB,cAAe,6IAChB,CACCr//B,GAAI,oBACJo//B,OAAQ,u8BACRrjlB,QAAS,uBACTsjlB,cAAe,mKAChB,CACCr//B,GAAI,qBACJo//B,OAAQ,o0BACRrjlB,QAAS,uBACTsjlB,cAAe,8IAChB,CACCr//B,GAAI,UACJo//B,OAAQ,84BACRrjlB,QAAS,UACTsjlB,cAAe,0JAChB,CACCr//B,GAAI,OACJo//B,OAAQ,o7BACRrjlB,QAAS,gBACTsjlB,cAAe,gKAChB,CACCr//B,GAAI,MACJo//B,OAAQ,wuBACRrjlB,QAAS,YACTsjlB,cAAe,+HAChB,CACCr//B,GAAI,QACJo//B,OAAQ,mwBACRrjlB,QAAS,YACTsjlB,cAAe,mIAChB,CACCr//B,GAAI,OACJo//B,OAAQ,21CACRrjlB,QAAS,qBACTsjlB,cAAe,uOAChB,CACCr//B,GAAI,MACJo//B,OAAQ,WACRrjlB,QAAS,MACTsjlB,cAAe,KAChB,CACCr//B,GAAI,UACJo//B,OAAQ,84BACRrjlB,QAAS,UACTsjlB,cAAe,0JAChB,CACCr//B,GAAI,YACJo//B,OAAQ,WACRrjlB,QAAS,IACTsjlB,cAAe,KAChB,CACCr//B,GAAI,YACJo//B,OAAQ,WACRrjlB,QAAS,MACTsjlB,cAAe,KAChB,CACCr//B,GAAI,aACJo//B,OAAQ,WACRrjlB,QAAS,OACTsjlB,cAAe,KAChB,CACCr//B,GAAI,aACJo//B,OAAQ,WACRrjlB,QAAS,OACTsjlB,cAAe,KAChB,CACCr//B,GAAI,aACJo//B,OAAQ,WACRrjlB,QAAS,OACTsjlB,cAAe,KAChB,CACCr//B,GAAI,aACJo//B,OAAQ,WACRrjlB,QAAS,OACTsjlB,cAAe,KAChB,CACCr//B,GAAI,aACJo//B,OAAQ,WACRrjlB,QAAS,OACTsjlB,cAAe,KAChB,CACCr//B,GAAI,YACJo//B,OAAQ,WACRrjlB,QAAS,OACTsjlB,cAAe,KAChB,CACCr//B,GAAI,YACJo//B,OAAQ,WACRrjlB,QAAS,OACTsjlB,cAAe,KAChB,CACCr//B,GAAI,YACJo//B,OAAQ,WACRrjlB,QAAS,OACTsjlB,cAAe,KAChB,CACCr//B,GAAI,YACJo//B,OAAQ,WACRrjlB,QAAS,OACTsjlB,cAAe,KAChB,CACCr//B,GAAI,YACJo//B,OAAQ,WACRrjlB,QAAS,OACTsjlB,cAAe,KAChB,CACCr//B,GAAI,YACJo//B,OAAQ,WACRrjlB,QAAS,OACTsjlB,cAAe,KAChB,CACCr//B,GAAI,YACJo//B,OAAQ,WACRrjlB,QAAS,OACTsjlB,cAAe,KAChB,CACCr//B,GAAI,YACJo//B,OAAQ,WACRrjlB,QAAS,OACTsjlB,cAAe,KAChB,CACCr//B,GAAI,UACJo//B,OAAQ,WACRrjlB,QAAS,IACTsjlB,cAAe,KAChB,CACCr//B,GAAI,YACJo//B,OAAQ,WACRrjlB,QAAS,IACTsjlB,cAAe,KAChB,CACCr//B,GAAI,YACJo//B,OAAQ,WACRrjlB,QAAS,KACTsjlB,cAAe,KAChB,CACCr//B,GAAI,aACJo//B,OAAQ,WACRrjlB,QAAS,MACTsjlB,cAAe,KAChB,CACCr//B,GAAI,aACJo//B,OAAQ,WACRrjlB,QAAS,MACTsjlB,cAAe,KAChB,CACCr//B,GAAI,aACJo//B,OAAQ,WACRrjlB,QAAS,MACTsjlB,cAAe,KAChB,CACCr//B,GAAI,YACJo//B,OAAQ,WACRrjlB,QAAS,MACTsjlB,cAAe,KAChB,CACCr//B,GAAI,YACJo//B,OAAQ,WACRrjlB,QAAS,MACTsjlB,cAAe,KAChB,CACCr//B,GAAI,YACJo//B,OAAQ,WACRrjlB,QAAS,MACTsjlB,cAAe,KAChB,CACCr//B,GAAI,YACJo//B,OAAQ,WACRrjlB,QAAS,MACTsjlB,cAAe,KAChB,CACCr//B,GAAI,YACJo//B,OAAQ,WACRrjlB,QAAS,MACTsjlB,cAAe,KAChB,CACCr//B,GAAI,YACJo//B,OAAQ,WACRrjlB,QAAS,MACTsjlB,cAAe,KAChB,CACCr//B,GAAI,YACJo//B,OAAQ,WACRrjlB,QAAS,MACTsjlB,cAAe,KAChB,CACCr//B,GAAI,YACJo//B,OAAQ,WACRrjlB,QAAS,MACTsjlB,cAAe,KAChB,CACCr//B,GAAI,WACJo//B,OAAQ,WACRrjlB,QAAS,IACTsjlB,cAAe,KAChB,CACCr//B,GAAI,gBACJo//B,OAAQ,WACRrjlB,QAAS,IACTsjlB,cAAe,KAChB,CACCr//B,GAAI,UACJo//B,OAAQ,WACRrjlB,QAAS,IACTsjlB,cAAe,KAChB,CACCr//B,GAAI,gBACJo//B,OAAQ,WACRrjlB,QAAS,IACTsjlB,cAAe,KAChB,CACCr//B,GAAI,UACJo//B,OAAQ,WACRrjlB,QAAS,IACTsjlB,cAAe,KAChB,CACCr//B,GAAI,WACJo//B,OAAQ,WACRrjlB,QAAS,IACTsjlB,cAAe,KAChB,CACCr//B,GAAI,mBACJo//B,OAAQ,ikCACRrjlB,QAAS,qCACTsjlB,cAAe,wLAChB,CACCr//B,GAAI,iBACJo//B,OAAQ,gpBACRrjlB,QAAS,aACTsjlB,cAAe,gHAChB,CACCr//B,GAAI,mBACJo//B,OAAQ,oYACRrjlB,QAAS,wBACTsjlB,cAAe,mEAChB,CACCr//B,GAAI,gBACJo//B,OAAQ,u0BACRrjlB,QAAS,yBACTsjlB,cAAe,8IAChB,CACCr//B,GAAI,iBACJo//B,OAAQ,86CACRrjlB,QAAS,aACTsjlB,cAAe,qPAChB,CACCr//B,GAAI,kBACJo//B,OAAQ,ktBACRrjlB,QAAS,WACTsjlB,cAAe,2HAChB,CACCr//B,GAAI,gBACJo//B,OAAQ,o2BACRrjlB,QAAS,gBACTsjlB,cAAe,mJAChB,CACCr//B,GAAI,oBACJo//B,OAAQ,o2BACRrjlB,QAAS,aACTsjlB,cAAe,mJAChB,CACCr//B,GAAI,kBACJo//B,OAAQ,ylCACRrjlB,QAAS,aACTsjlB,cAAe,4LAChB,CACCr//B,GAAI,mBACJo//B,OAAQ,wzBACRrjlB,QAAS,mBACTsjlB,cAAe,4IAChB,CACCr//B,GAAI,kBACJo//B,OAAQ,o5BACRrjlB,QAAS,WACTsjlB,cAAe,2JAChB,CACCr//B,GAAI,kBACJo//B,OAAQ,ktBACRrjlB,QAAS,WACTsjlB,cAAe,2HAChB,CACCr//B,GAAI,kBACJo//B,OAAQ,u1BACRrjlB,QAAS,iCACTsjlB,cAAe,iJAChB,CACCr//B,GAAI,oBACJo//B,OAAQ,wyBACRrjlB,QAAS,WACTsjlB,cAAe,yIAChB,CACCr//B,GAAI,gBACJo//B,OAAQ,21CACRrjlB,QAAS,qBACTsjlB,cAAe,uOAChB,CACCr//B,GAAI,mBACJo//B,OAAQ,4qCACRrjlB,QAAS,aACTsjlB,cAAe,0MAChB,CACCr//B,GAAI,kBACJo//B,OAAQ,86CACRrjlB,QAAS,aACTsjlB,cAAe,qPAChB,CACCr//B,GAAI,kBACJo//B,OAAQ,6sBACRrjlB,QAAS,qBACTsjlB,cAAe,0HAChB,CACCr//B,GAAI,qBACJo//B,OAAQ,86CACRrjlB,QAAS,aACTsjlB,cAAe,qPAChB,CACCr//B,GAAI,kBACJo//B,OAAQ,gsBACRrjlB,QAAS,2BACTsjlB,cAAe,uHAChB,CACCr//B,GAAI,gBACJo//B,OAAQ,86CACRrjlB,QAAS,aACTsjlB,cAAe,qPAChB,CACCr//B,GAAI,qBACJo//B,OAAQ,yeACRrjlB,QAAS,qBACTsjlB,cAAe,oFAChB,CACCr//B,GAAI,cACJo//B,OAAQ,guBACRrjlB,QAAS,+BACTsjlB,cAAe,6HAChB,CACCr//B,GAAI,eACJo//B,OAAQ,8XACRrjlB,QAAS,wBACTsjlB,cAAe,kEAChB,CACCr//B,GAAI,gBACJo//B,OAAQ,8zCACRrjlB,QAAS,mBACTsjlB,cAAe,kOAChB,CACCr//B,GAAI,mBACJo//B,OAAQ,ktBACRrjlB,QAAS,WACTsjlB,cAAe,2HAChB,CACCr//B,GAAI,gBACJo//B,OAAQ,86CACRrjlB,QAAS,aACTsjlB,cAAe,qPAChB,CACCr//B,GAAI,oBACJo//B,OAAQ,0lCACRrjlB,QAAS,mBACTsjlB,cAAe,4LAChB,CACCr//B,GAAI,gBACJo//B,OAAQ,w9BACRrjlB,QAAS,aACTsjlB,cAAe,sKAChB,CACCr//B,GAAI,eACJo//B,OAAQ,ggCACRrjlB,QAAS,WACTsjlB,cAAe,6KAChB,CACCr//B,GAAI,mBACJo//B,OAAQ,6sBACRrjlB,QAAS,qBACTsjlB,cAAe,0HAChB,CACCr//B,GAAI,eACJo//B,OAAQ,kaACRrjlB,QAAS,0BACTsjlB,cAAe,wEAChB,CACCr//B,GAAI,gBACJo//B,OAAQ,+lCACRrjlB,QAAS,mBACTsjlB,cAAe,6LAChB,CACCr//B,GAAI,gBACJo//B,OAAQ,8dACRrjlB,QAAS,8DACTsjlB,cAAe,kFAChB,CACCr//B,GAAI,iBACJo//B,OAAQ,wwBACRrjlB,QAAS,sBACTsjlB,cAAe,oIAChB,CACCr//B,GAAI,cACJo//B,OAAQ,y1BACRrjlB,QAAS,WACTsjlB,cAAe,iJAChB,CACCr//B,GAAI,eACJo//B,OAAQ,0lCACRrjlB,QAAS,mBACTsjlB,cAAe,4LAChB,CACCr//B,GAAI,mBACJo//B,OAAQ,ktBACRrjlB,QAAS,WACTsjlB,cAAe,2HAChB,CACCr//B,GAAI,gBACJo//B,OAAQ,o2BACRrjlB,QAAS,aACTsjlB,cAAe,mJAChB,CACCr//B,GAAI,cACJo//B,OAAQ,6vBACRrjlB,QAAS,wCACTsjlB,cAAe,kIAChB,CACCr//B,GAAI,cACJo//B,OAAQ,ggCACRrjlB,QAAS,WACTsjlB,cAAe,6KAChB,CACCr//B,GAAI,gBACJo//B,OAAQ,uXACRrjlB,QAAS,2BACTsjlB,cAAe,iEAChB,CACCr//B,GAAI,oBACJo//B,OAAQ,ggCACRrjlB,QAAS,WACTsjlB,cAAe,6KAChB,CACCr//B,GAAI,kBACJo//B,OAAQ,ktBACRrjlB,QAAS,WACTsjlB,cAAe,2HAChB,CACCr//B,GAAI,iBACJo//B,OAAQ,qYACRrjlB,QAAS,wBACTsjlB,cAAe,mEAChB,CACCr//B,GAAI,oBACJo//B,OAAQ,2cACRrjlB,QAAS,0BACTsjlB,cAAe,+EAChB,CACCr//B,GAAI,gBACJo//B,OAAQ,ktBACRrjlB,QAAS,WACTsjlB,cAAe,2HAChB,CACCr//B,GAAI,eACJo//B,OAAQ,svBACRrjlB,QAAS,gBACTsjlB,cAAe,iIAChB,CACCr//B,GAAI,mBACJo//B,OAAQ,ktBACRrjlB,QAAS,WACTsjlB,cAAe,2HAChB,CACCr//B,GAAI,iBACJo//B,OAAQ,4uBACRrjlB,QAAS,yBACTsjlB,cAAe,+HAChB,CACCr//B,GAAI,gBACJo//B,OAAQ,6yBACRrjlB,QAAS,oBACTsjlB,cAAe,0IAChB,CACCr//B,GAAI,kBACJo//B,OAAQ,u1BACRrjlB,QAAS,iCACTsjlB,cAAe,iJAChB,CACCr//B,GAAI,mBACJo//B,OAAQ,gZACRrjlB,QAAS,6BACTsjlB,cAAe,qEAChB,CACCr//B,GAAI,kBACJo//B,OAAQ,ytBACRrjlB,QAAS,qBACTsjlB,cAAe,4HAChB,CACCr//B,GAAI,eACJo//B,OAAQ,ktBACRrjlB,QAAS,WACTsjlB,cAAe,2HAChB,CACCr//B,GAAI,iBACJo//B,OAAQ,ggCACRrjlB,QAAS,WACTsjlB,cAAe,6KAChB,CACCr//B,GAAI,gBACJo//B,OAAQ,20BACRrjlB,QAAS,WACTsjlB,cAAe,+IAChB,CACCr//B,GAAI,iBACJo//B,OAAQ,2tBACRrjlB,QAAS,+BACTsjlB,cAAe,4HAChB,CACCr//B,GAAI,mBACJo//B,OAAQ,qYACRrjlB,QAAS,2BACTsjlB,cAAe,mEAChB,CACCr//B,GAAI,gBACJo//B,OAAQ,0+BACRrjlB,QAAS,oBACTsjlB,cAAe,yKAChB,CACCr//B,GAAI,gBACJo//B,OAAQ,ktBACRrjlB,QAAS,WACTsjlB,cAAe,2HAChB,CACCr//B,GAAI,oBACJo//B,OAAQ,suBACRrjlB,QAAS,0BACTsjlB,cAAe,8HAChB,CACCr//B,GAAI,gBACJo//B,OAAQ,ktBACRrjlB,QAAS,WACTsjlB,cAAe,2HAChB,CACCr//B,GAAI,UACJo//B,OAAQ,86CACRrjlB,QAAS,aACTsjlB,cAAe,qPAChB,CACCr//B,GAAI,KACJo//B,OAAQ,86CACRrjlB,QAAS,aACTsjlB,cAAe,qPAChB,CACCr//B,GAAI,QACJo//B,OAAQ,WACRrjlB,QAAS,IACTsjlB,cAAe,KAChB,CACCr//B,GAAI,MACJo//B,OAAQ,WACRrjlB,QAAS,IACTsjlB,cAAe,KAChB,CACCr//B,GAAI,QACJo//B,OAAQ,WACRrjlB,QAAS,IACTsjlB,cAAe,KAChB,CACCr//B,GAAI,OACJo//B,OAAQ,WACRrjlB,QAAS,IACTsjlB,cAAe,KAChB,CACCr//B,GAAI,YACJo//B,OAAQ,WACRrjlB,QAAS,IACTsjlB,cAAe,KAChB,CACCr//B,GAAI,WACJo//B,OAAQ,8aACRrjlB,QAAS,wBACTsjlB,cAAe,0EAChB,CACCr//B,GAAI,MACJo//B,OAAQ,WACRrjlB,QAAS,MACTsjlB,cAAe,KAChB,CACCr//B,GAAI,UACJo//B,OAAQ,uaACRrjlB,QAAS,UACTsjlB,cAAe,yEAChB,CACCr//B,GAAI,sBACJo//B,OAAQ,uCACRrjlB,QAAS,2BACTsjlB,cAAe,SAChB,CACCr//B,GAAI,gBACJo//B,OAAQ,2BACRrjlB,QAAS,sBACTsjlB,cAAe,OAChB,CACCr//B,GAAI,mBACJo//B,OAAQ,WACRrjlB,QAAS,OACTsjlB,cAAe,KAChB,CACCr//B,GAAI,eACJo//B,OAAQ,WACRrjlB,QAAS,OACTsjlB,cAAe,KAChB,CACCr//B,GAAI,gBACJo//B,OAAQ,uCACRrjlB,QAAS,2BACTsjlB,cAAe,SAChB,CACCr//B,GAAI,mBACJo//B,OAAQ,mBACRrjlB,QAAS,SACTsjlB,cAAe,MAChB,CACCr//B,GAAI,cACJo//B,OAAQ,mBACRrjlB,QAAS,cACTsjlB,cAAe,MAChB,CACCr//B,GAAI,kBACJo//B,OAAQ,mBACRrjlB,QAAS,YACTsjlB,cAAe,MAChB,CACCr//B,GAAI,mBACJo//B,OAAQ,8CACRrjlB,QAAS,iBACTsjlB,cAAe,UAChB,CACCr//B,GAAI,iBACJo//B,OAAQ,uCACRrjlB,QAAS,2BACTsjlB,cAAe,SAChB,CACCr//B,GAAI,iBACJo//B,OAAQ,mBACRrjlB,QAAS,iBACTsjlB,cAAe,MAChB,CACCr//B,GAAI,OACJo//B,OAAQ,ymBACRrjlB,QAAS,gCACTsjlB,cAAe,yGAChB,CACCr//B,GAAI,SACJo//B,OAAQ,83BACRrjlB,QAAS,2BACTsjlB,cAAe,uJAChB,CACCr//B,GAAI,UACJo//B,OAAQ,4IACRrjlB,QAAS,mBACTsjlB,cAAe,0BAChB,CACCr//B,GAAI,QACJo//B,OAAQ,6DACRrjlB,QAAS,YACTsjlB,cAAe,aAChB,CACCr//B,GAAI,YACJo//B,OAAQ,+CACRrjlB,QAAS,0BACTsjlB,cAAe,UAChB,CACCr//B,GAAI,QACJo//B,OAAQ,kNACRrjlB,QAAS,oBACTsjlB,cAAe,qCAChB,CACCr//B,GAAI,MACJo//B,OAAQ,g0BACRrjlB,QAAS,WACTsjlB,cAAe,6IAChB,CACCr//B,GAAI,mBACJo//B,OAAQ,m5BACRrjlB,QAAS,mBACTsjlB,cAAe,0JAChB,CACCr//B,GAAI,iBACJo//B,OAAQ,ikBACRrjlB,QAAS,uBACTsjlB,cAAe,kGAChB,CACCr//B,GAAI,iBACJo//B,OAAQ,+lBACRrjlB,QAAS,oBACTsjlB,cAAe,uGAChB,CACCr//B,GAAI,MACJo//B,OAAQ,WACRrjlB,QAAS,MACTsjlB,cAAe,KAChB,CACCr//B,GAAI,UACJo//B,OAAQ,84BACRrjlB,QAAS,UACTsjlB,cAAe,0JAChB,CACCr//B,GAAI,SACJo//B,OAAQ,87BACRrjlB,QAAS,UACTsjlB,cAAe,kKAChB,CACCr//B,GAAI,UACJo//B,OAAQ,8wBACRrjlB,QAAS,iBACTsjlB,cAAe,qIAChB,CACCr//B,GAAI,KACJo//B,OAAQ,06BACRrjlB,QAAS,sBACTsjlB,cAAe,+JAChB,CACCr//B,GAAI,eACJo//B,OAAQ,2WACRrjlB,QAAS,iCACTsjlB,cAAe,+DAChB,CACCr//B,GAAI,mBACJo//B,OAAQ,06BACRrjlB,QAAS,sBACTsjlB,cAAe,+JAChB,CACCr//B,GAAI,uBACJo//B,OAAQ,kCACRrjlB,QAAS,iBACTsjlB,cAAe,QAChB,CACCr//B,GAAI,kBACJo//B,OAAQ,8wBACRrjlB,QAAS,iBACTsjlB,cAAe,qIAChB,CACCr//B,GAAI,gBACJo//B,OAAQ,wCACRrjlB,QAAS,YACTsjlB,cAAe,SAChB,CACCr//B,GAAI,iBACJo//B,OAAQ,o0BACRrjlB,QAAS,uBACTsjlB,cAAe,8IAChB,CACCr//B,GAAI,gBACJo//B,OAAQ,6IACRrjlB,QAAS,sBACTsjlB,cAAe,0BAChB,CACCr//B,GAAI,oBACJo//B,OAAQ,yBACRrjlB,QAAS,eACTsjlB,cAAe,OAChB,CACCr//B,GAAI,kBACJo//B,OAAQ,kBACRrjlB,QAAS,WACTsjlB,cAAe,MAChB,CACCr//B,GAAI,eACJo//B,OAAQ,0YACRrjlB,QAAS,sBACTsjlB,cAAe,oEAChB,CACCr//B,GAAI,mBACJo//B,OAAQ,WACRrjlB,QAAS,OACTsjlB,cAAe,KAChB,CACCr//B,GAAI,oBACJo//B,OAAQ,uCACRrjlB,QAAS,gBACTsjlB,cAAe,SAChB,CACCr//B,GAAI,kBACJo//B,OAAQ,mBACRrjlB,QAAS,YACTsjlB,cAAe,MAChB,CACCr//B,GAAI,sBACJo//B,OAAQ,mBACRrjlB,QAAS,cACTsjlB,cAAe,MAChB,CACCr//B,GAAI,eACJo//B,OAAQ,qIACRrjlB,QAAS,iBACTsjlB,cAAe,wBAChB,CACCr//B,GAAI,mBACJo//B,OAAQ,mDACRrjlB,QAAS,cACTsjlB,cAAe,WAChB,CACCr//B,GAAI,mBACJo//B,OAAQ,mDACRrjlB,QAAS,cACTsjlB,cAAe,WAChB,CACCr//B,GAAI,qBACJo//B,OAAQ,yBACRrjlB,QAAS,eACTsjlB,cAAe,OAChB,CACCr//B,GAAI,iBACJo//B,OAAQ,6DACRrjlB,QAAS,sBACTsjlB,cAAe,YAChB,CACCr//B,GAAI,oBACJo//B,OAAQ,+CACRrjlB,QAAS,0BACTsjlB,cAAe,UAChB,CACCr//B,GAAI,iBACJo//B,OAAQ,sDACRrjlB,QAAS,sBACTsjlB,cAAe,WAChB,CACCr//B,GAAI,oBACJo//B,OAAQ,mBACRrjlB,QAAS,UACTsjlB,cAAe,MAChB,CACCr//B,GAAI,iBACJo//B,OAAQ,mBACRrjlB,QAAS,YACTsjlB,cAAe,MAChB,CACCr//B,GAAI,gBACJo//B,OAAQ,wCACRrjlB,QAAS,2BACTsjlB,cAAe,SAChB,CACCr//B,GAAI,eACJo//B,OAAQ,0BACRrjlB,QAAS,cACTsjlB,cAAe,OAChB,CACCr//B,GAAI,kBACJo//B,OAAQ,sQACRrjlB,QAAS,2BACTsjlB,cAAe,8CAChB,CACCr//B,GAAI,iBACJo//B,OAAQ,yDACRrjlB,QAAS,mBACTsjlB,cAAe,YAChB,CACCr//B,GAAI,oBACJo//B,OAAQ,mBACRrjlB,QAAS,YACTsjlB,cAAe,MAChB,CACCr//B,GAAI,gBACJo//B,OAAQ,WACRrjlB,QAAS,OACTsjlB,cAAe,KAChB,CACCr//B,GAAI,mBACJo//B,OAAQ,kBACRrjlB,QAAS,UACTsjlB,cAAe,MAChB,CACCr//B,GAAI,kBACJo//B,OAAQ,+CACRrjlB,QAAS,iBACTsjlB,cAAe,UAChB,CACCr//B,GAAI,iBACJo//B,OAAQ,+CACRrjlB,QAAS,iBACTsjlB,cAAe,UAChB,CACCr//B,GAAI,uBACJo//B,OAAQ,WACRrjlB,QAAS,OACTsjlB,cAAe,KAChB,CACCr//B,GAAI,oBACJo//B,OAAQ,wKACRrjlB,QAAS,cACTsjlB,cAAe,+BAChB,CACCr//B,GAAI,iBACJo//B,OAAQ,qIACRrjlB,QAAS,iBACTsjlB,cAAe,wBAChB,CACCr//B,GAAI,gBACJo//B,OAAQ,mBACRrjlB,QAAS,YACTsjlB,cAAe,MAChB,CACCr//B,GAAI,iBACJo//B,OAAQ,mBACRrjlB,QAAS,eACTsjlB,cAAe,MAChB,CACCr//B,GAAI,iBACJo//B,OAAQ,WACRrjlB,QAAS,OACTsjlB,cAAe,KAChB,CACCr//B,GAAI,oBACJo//B,OAAQ,qEACRrjlB,QAAS,iBACTsjlB,cAAe,cAChB,CACCr//B,GAAI,eACJo//B,OAAQ,wCACRrjlB,QAAS,YACTsjlB,cAAe,SAChB,CACCr//B,GAAI,eACJo//B,OAAQ,WACRrjlB,QAAS,OACTsjlB,cAAe,KAChB,CACCr//B,GAAI,iBACJo//B,OAAQ,WACRrjlB,QAAS,OACTsjlB,cAAe,KAChB,CACCr//B,GAAI,cACJo//B,OAAQ,wCACRrjlB,QAAS,YACTsjlB,cAAe,SAChB,CACCr//B,GAAI,SACJo//B,OAAQ,0+BACRrjlB,QAAS,oBACTsjlB,cAAe,yKAChB,CACCr//B,GAAI,WACJo//B,OAAQ,8zCACRrjlB,QAAS,mBACTsjlB,cAAe,kOAChB,CACCr//B,GAAI,MACJo//B,OAAQ,wLACRrjlB,QAAS,YACTsjlB,cAAe,iCAChB,CACCr//B,GAAI,UACJo//B,OAAQ,84BACRrjlB,QAAS,UACTsjlB,cAAe,0JAChB,CACCr//B,GAAI,MACJo//B,OAAQ,gQACRrjlB,QAAS,YACTsjlB,cAAe,6CAChB,CACCr//B,GAAI,MACJo//B,OAAQ,gMACRrjlB,QAAS,gCACTsjlB,cAAe,kCAChB,CACCr//B,GAAI,YACJo//B,OAAQ,qDACRrjlB,QAAS,qCACTsjlB,cAAe,WAChB,CACCr//B,GAAI,SACJo//B,OAAQ,gsBACRrjlB,QAAS,2BACTsjlB,cAAe,uHAChB,CACCr//B,GAAI,MACJo//B,OAAQ,WACRrjlB,QAAS,IACTsjlB,cAAe,KAChB,CACCr//B,GAAI,YACJo//B,OAAQ,WACRrjlB,QAAS,IACTsjlB,cAAe,KAChB,CACCr//B,GAAI,YACJo//B,OAAQ,02BACRrjlB,QAAS,cACTsjlB,cAAe,oJAChB,CACCr//B,GAAI,cACJo//B,OAAQ,02BACRrjlB,QAAS,cACTsjlB,cAAe,oJAChB,CACCr//B,GAAI,aACJo//B,OAAQ,2EACRrjlB,QAAS,UACTsjlB,cAAe,eAChB,CACCr//B,GAAI,aACJo//B,OAAQ,g5CACRrjlB,QAAS,UACTsjlB,cAAe,gPAChB,CACCr//B,GAAI,kBACJo//B,OAAQ,8lBACRrjlB,QAAS,cACTsjlB,cAAe,uGAChB,CACCr//B,GAAI,aACJo//B,OAAQ,g5CACRrjlB,QAAS,UACTsjlB,cAAe,gPAChB,CACCr//B,GAAI,YACJo//B,OAAQ,mDACRrjlB,QAAS,cACTsjlB,cAAe,WAChB,CACCr//B,GAAI,oBACJo//B,OAAQ,u6BACRrjlB,QAAS,UACTsjlB,cAAe,8JAChB,CACCr//B,GAAI,cACJo//B,O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","sources":["webpack://PillarJS/./node_modules/@devextreme/runtime/cjs/inferno/base_component.js","webpack://PillarJS/./node_modules/@devextreme/runtime/cjs/inferno/create_context.js","webpack://PillarJS/./node_modules/@devextreme/runtime/cjs/inferno/effect.js","webpack://PillarJS/./node_modules/@devextreme/runtime/cjs/inferno/effect_host.js","webpack://PillarJS/./node_modules/@devextreme/runtime/cjs/inferno/index.js","webpack://PillarJS/./node_modules/@devextreme/runtime/cjs/inferno/mocked/hydrate.js","webpack://PillarJS/./node_modules/@devextreme/runtime/cjs/inferno/mocked/shared.js","webpack://PillarJS/./node_modules/@devextreme/runtime/cjs/inferno/normalize_styles.js","webpack://PillarJS/./node_modules/@devextreme/runtime/cjs/inferno/portal.js","webpack://PillarJS/./node_modules/@devextreme/runtime/cjs/inferno/re_render_effect.js","webpack://PillarJS/./node_modules/@devextreme/runtime/cjs/inferno/render_template.js","webpack://PillarJS/./dx/src/pillar-integration.js","webpack://PillarJS/./node_modules/uuid/dist/esm-browser/rng.js","webpack://PillarJS/./node_modules/uuid/dist/esm-browser/regex.js","webpack://PillarJS/./node_modules/uuid/dist/esm-browser/stringify.js","webpack://PillarJS/./node_modules/uuid/dist/esm-browser/validate.js","webpack://PillarJS/./node_modules/uuid/dist/esm-browser/v4.js","webpack://PillarJS/./dx/src/xTemplate.js","webpack://PillarJS/./dx/src/xTemplateCustomRenderer.js","webpack://PillarJS/./node_modules/devexpress-diagram/dist/dx-diagram.min.js","webpack://PillarJS/./node_modules/devexpress-gantt/dist/dx-gantt.min.js","webpack://PillarJS/./node_modules/devextreme-aspnet-data/js/dx.aspnet.data.js","webpack://PillarJS/./node_modules/devextreme-quill/dist/dx-quill.js","webpack://PillarJS/./node_modules/devextreme-showdown/dist/showdown.js","webpack://PillarJS/./node_modules/devextreme/bundles/modules/core.js","webpack://PillarJS/./node_modules/devextreme/bundles/modules/data.js","webpack://PillarJS/./node_modules/devextreme/bundles/modules/data.odata.js","webpack://PillarJS/./node_modules/devextreme/bundles/modules/file_management.js","webpack://PillarJS/./node_modules/devextreme/bundles/modules/ui.js","webpack://PillarJS/./node_modules/devextreme/bundles/modules/viz.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/data_grid/export/m_export.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/data_grid/focus/m_focus.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/data_grid/grouping/m_grouping.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/data_grid/grouping/m_grouping_collapsed.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/data_grid/grouping/m_grouping_core.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/data_grid/grouping/m_grouping_expanded.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/data_grid/m_aggregate_calculator.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/data_grid/m_columns_controller.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/data_grid/m_core.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/data_grid/m_data_controller.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/data_grid/m_data_source_adapter.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/data_grid/m_editing.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/data_grid/m_utils.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/data_grid/m_widget.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/data_grid/m_widget_base.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/data_grid/module_not_extended/adaptivity.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/data_grid/module_not_extended/column_chooser.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/data_grid/module_not_extended/column_fixing.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/data_grid/module_not_extended/column_headers.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/data_grid/module_not_extended/columns_resizing_reordering.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/data_grid/module_not_extended/context_menu.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/data_grid/module_not_extended/editing_cell_based.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/data_grid/module_not_extended/editing_form_based.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/data_grid/module_not_extended/editing_row_based.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/data_grid/module_not_extended/editor_factory.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/data_grid/module_not_extended/error_handling.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/data_grid/module_not_extended/filter_builder.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/data_grid/module_not_extended/filter_panel.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/data_grid/module_not_extended/filter_row.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/data_grid/module_not_extended/filter_sync.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/data_grid/module_not_extended/grid_view.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/data_grid/module_not_extended/header_filter.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/data_grid/module_not_extended/header_panel.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/data_grid/module_not_extended/keyboard_navigation.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/data_grid/module_not_extended/master_detail.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/data_grid/module_not_extended/pager.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/data_grid/module_not_extended/row_dragging.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/data_grid/module_not_extended/rows.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/data_grid/module_not_extended/search.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/data_grid/module_not_extended/selection.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/data_grid/module_not_extended/sorting.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/data_grid/module_not_extended/state_storing.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/data_grid/module_not_extended/validating.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/data_grid/module_not_extended/virtual_columns.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/data_grid/module_not_extended/virtual_scrolling.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/data_grid/summary/m_summary.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/grid_core/adaptivity/m_adaptivity.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/grid_core/column_chooser/m_column_chooser.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/grid_core/column_fixing/m_column_fixing.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/grid_core/column_headers/m_column_headers.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/grid_core/column_state_mixin/m_column_state_mixin.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/grid_core/columns_controller/const.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/grid_core/columns_controller/m_columns_controller.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/grid_core/columns_controller/m_columns_controller_utils.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/grid_core/columns_resizing_reordering/m_columns_resizing_reordering.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/grid_core/context_menu/m_context_menu.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/grid_core/data_controller/m_data_controller.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/grid_core/data_source_adapter/m_data_source_adapter.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/grid_core/editing/const.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/grid_core/editing/m_editing.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/grid_core/editing/m_editing_cell_based.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/grid_core/editing/m_editing_form_based.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/grid_core/editing/m_editing_row_based.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/grid_core/editing/m_editing_utils.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/grid_core/editor_factory/m_editor_factory.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/grid_core/error_handling/m_error_handling.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/grid_core/filter/m_filter_builder.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/grid_core/filter/m_filter_custom_operations.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/grid_core/filter/m_filter_panel.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/grid_core/filter/m_filter_row.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/grid_core/filter/m_filter_sync.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/grid_core/focus/m_focus.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/grid_core/focus/m_focus_utils.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/grid_core/header_filter/m_header_filter.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/grid_core/header_filter/m_header_filter_core.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/grid_core/header_panel/m_header_panel.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/grid_core/keyboard_navigation/const.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/grid_core/keyboard_navigation/dom.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/grid_core/keyboard_navigation/m_keyboard_navigation.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/grid_core/keyboard_navigation/m_keyboard_navigation_utils.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/grid_core/m_accessibility.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/grid_core/m_export.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/grid_core/m_modules.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/grid_core/m_utils.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/grid_core/master_detail/m_master_detail.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/grid_core/pager/m_pager.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/grid_core/row_dragging/const.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/grid_core/row_dragging/dom.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/grid_core/row_dragging/m_row_dragging.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/grid_core/search/m_search.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/grid_core/selection/m_selection.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/grid_core/sorting/m_sorting.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/grid_core/sorting/m_sorting_mixin.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/grid_core/state_storing/m_state_storing.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/grid_core/state_storing/m_state_storing_core.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/grid_core/validating/m_validating.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/grid_core/views/m_columns_view.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/grid_core/views/m_grid_view.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/grid_core/views/m_rows_view.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/grid_core/virtual_columns/m_virtual_columns.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/grid_core/virtual_columns/m_virtual_columns_core.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/grid_core/virtual_data_loader/m_virtual_data_loader.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/grid_core/virtual_scrolling/m_virtual_scrolling.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/grid_core/virtual_scrolling/m_virtual_scrolling_core.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/pivot_grid/area_item/m_area_item.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/pivot_grid/chart_integration/m_chart_integration.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/pivot_grid/const.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/pivot_grid/data_area/m_data_area.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/pivot_grid/data_controller/m_data_controller.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/pivot_grid/data_source/m_data_source.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/pivot_grid/data_source/m_data_source_utils.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/pivot_grid/export/m_export.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/pivot_grid/field_chooser/const.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/pivot_grid/field_chooser/dom.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/pivot_grid/field_chooser/m_field_chooser.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/pivot_grid/field_chooser/m_field_chooser_base.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/pivot_grid/field_chooser/utils.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/pivot_grid/fields_area/m_fields_area.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/pivot_grid/headers_area/m_headers_area.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/pivot_grid/local_store/m_local_store.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/pivot_grid/m_widget.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/pivot_grid/m_widget_utils.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/pivot_grid/remote_store/m_remote_store.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/pivot_grid/remote_store/m_remote_store_utils.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/pivot_grid/sortable/m_sortable.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/pivot_grid/summary_display_modes/m_summary_display_modes.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/pivot_grid/xmla_store/m_xmla_store.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/tree_list/data_controller/m_data_controller.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/tree_list/data_source_adapter/m_data_source_adapter.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/tree_list/editing/m_editing.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/tree_list/m_columns_controller.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/tree_list/m_core.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/tree_list/m_focus.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/tree_list/m_grid_view.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/tree_list/m_keyboard_navigation.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/tree_list/m_master_detail.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/tree_list/m_state_storing.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/tree_list/m_validating.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/tree_list/m_virtual_scrolling.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/tree_list/m_widget.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/tree_list/m_widget_base.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/tree_list/module_not_extended/adaptivity.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/tree_list/module_not_extended/column_chooser.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/tree_list/module_not_extended/column_fixing.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/tree_list/module_not_extended/column_headers.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/tree_list/module_not_extended/columns_resizing_reordering.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/tree_list/module_not_extended/context_menu.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/tree_list/module_not_extended/editing_cell_based.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/tree_list/module_not_extended/editing_form_based.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/tree_list/module_not_extended/editing_row_based.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/tree_list/module_not_extended/editor_factory.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/tree_list/module_not_extended/error_handling.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/tree_list/module_not_extended/filter_builder.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/tree_list/module_not_extended/filter_panel.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/tree_list/module_not_extended/filter_row.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/tree_list/module_not_extended/filter_sync.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/tree_list/module_not_extended/header_filter.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/tree_list/module_not_extended/header_panel.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/tree_list/module_not_extended/pager.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/tree_list/module_not_extended/row_dragging.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/tree_list/module_not_extended/search.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/tree_list/module_not_extended/sorting.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/tree_list/module_not_extended/virtual_columns.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/tree_list/rows/m_rows.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/grids/tree_list/selection/m_selection.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/m_draggable.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/m_sortable.js","webpack://PillarJS/./node_modules/devextreme/cjs/__internal/utils/memoize.js","webpack://PillarJS/./node_modules/devextreme/cjs/animation/easing.js","webpack://PillarJS/./node_modules/devextreme/cjs/animation/frame.js","webpack://PillarJS/./node_modules/devextreme/cjs/animation/fx.js","webpack://PillarJS/./node_modules/devextreme/cjs/animation/position.js","webpack://PillarJS/./node_modules/devextreme/cjs/animation/presets/presets.js","webpack://PillarJS/./node_modules/devextreme/cjs/animation/transition_executor/transition_executor.js","webpack://PillarJS/./node_modules/devextreme/cjs/animation/translator.js","webpack://PillarJS/./node_modules/devextreme/cjs/aspnet.js","webpack://PillarJS/./node_modules/devextreme/cjs/color.js","webpack://PillarJS/./node_modules/devextreme/cjs/common/charts.js","webpack://PillarJS/./node_modules/devextreme/cjs/core/action.js","webpack://PillarJS/./node_modules/devextreme/cjs/core/class.js","webpack://PillarJS/./node_modules/devextreme/cjs/core/component.js","webpack://PillarJS/./node_modules/devextreme/cjs/core/component_registrator.js","webpack://PillarJS/./node_modules/devextreme/cjs/core/component_registrator_callbacks.js","webpack://PillarJS/./node_modules/devextreme/cjs/core/config.js","webpack://PillarJS/./node_modules/devextreme/cjs/core/devices.js","webpack://PillarJS/./node_modules/devextreme/cjs/core/dom_adapter.js","webpack://PillarJS/./node_modules/devextreme/cjs/core/dom_component.js","webpack://PillarJS/./node_modules/devextreme/cjs/core/element.js","webpack://PillarJS/./node_modules/devextreme/cjs/core/element_data.js","webpack://PillarJS/./node_modules/devextreme/cjs/core/errors.js","webpack://PillarJS/./node_modules/devextreme/cjs/core/events_strategy.js","webpack://PillarJS/./node_modules/devextreme/cjs/core/guid.js","webpack://PillarJS/./node_modules/devextreme/cjs/core/http_request.js","webpack://PillarJS/./node_modules/devextreme/cjs/core/inferno_renderer.js","webpack://PillarJS/./node_modules/devextreme/cjs/core/memorized_callbacks.js","webpack://PillarJS/./node_modules/devextreme/cjs/core/options/index.js","webpack://PillarJS/./node_modules/devextreme/cjs/core/options/option_manager.js","webpack://PillarJS/./node_modules/devextreme/cjs/core/options/utils.js","webpack://PillarJS/./node_modules/devextreme/cjs/core/postponed_operations.js","webpack://PillarJS/./node_modules/devextreme/cjs/core/renderer.js","webpack://PillarJS/./node_modules/devextreme/cjs/core/renderer_base.js","webpack://PillarJS/./node_modules/devextreme/cjs/core/resize_observer.js","webpack://PillarJS/./node_modules/devextreme/cjs/core/template_manager.js","webpack://PillarJS/./node_modules/devextreme/cjs/core/templates/bindable_template.js","webpack://PillarJS/./node_modules/devextreme/cjs/core/templates/child_default_template.js","webpack://PillarJS/./node_modules/devextreme/cjs/core/templates/empty_template.js","webpack://PillarJS/./node_modules/devextreme/cjs/core/templates/function_template.js","webpack://PillarJS/./node_modules/devextreme/cjs/core/templates/template.js","webpack://PillarJS/./node_modules/devextreme/cjs/core/templates/template_base.js","webpack://PillarJS/./node_modules/devextreme/cjs/core/templates/template_engine_registry.js","webpack://PillarJS/./node_modules/devextreme/cjs/core/utils/ajax.js","webpack://PillarJS/./node_modules/devextreme/cjs/core/utils/array.js","webpack://PillarJS/./node_modules/devextreme/cjs/core/utils/array_compare.js","webpack://PillarJS/./node_modules/devextreme/cjs/core/utils/browser.js","webpack://PillarJS/./node_modules/devextreme/cjs/core/utils/call_once.js","webpack://PillarJS/./node_modules/devextreme/cjs/core/utils/callbacks.js","webpack://PillarJS/./node_modules/devextreme/cjs/core/utils/common.js","webpack://PillarJS/./node_modules/devextreme/cjs/core/utils/comparator.js","webpack://PillarJS/./node_modules/devextreme/cjs/core/utils/console.js","webpack://PillarJS/./node_modules/devextreme/cjs/core/utils/data.js","webpack://PillarJS/./node_modules/devextreme/cjs/core/utils/date.js","webpack://PillarJS/./node_modules/devextreme/cjs/core/utils/date_serialization.js","webpack://PillarJS/./node_modules/devextreme/cjs/core/utils/deferred.js","webpack://PillarJS/./node_modules/devextreme/cjs/core/utils/dependency_injector.js","webpack://PillarJS/./node_modules/devextreme/cjs/core/utils/dom.js","webpack://PillarJS/./node_modules/devextreme/cjs/core/utils/error.js","webpack://PillarJS/./node_modules/devextreme/cjs/core/utils/extend.js","webpack://PillarJS/./node_modules/devextreme/cjs/core/utils/html_parser.js","webpack://PillarJS/./node_modules/devextreme/cjs/core/utils/icon.js","webpack://PillarJS/./node_modules/devextreme/cjs/core/utils/inflector.js","webpack://PillarJS/./node_modules/devextreme/cjs/core/utils/iterator.js","webpack://PillarJS/./node_modules/devextreme/cjs/core/utils/math.js","webpack://PillarJS/./node_modules/devextreme/cjs/core/utils/object.js","webpack://PillarJS/./node_modules/devextreme/cjs/core/utils/position.js","webpack://PillarJS/./node_modules/devextreme/cjs/core/utils/public_component.js","webpack://PillarJS/./node_modules/devextreme/cjs/core/utils/queue.js","webpack://PillarJS/./node_modules/devextreme/cjs/core/utils/ready_callbacks.js","webpack://PillarJS/./node_modules/devextreme/cjs/core/utils/resize_callbacks.js","webpack://PillarJS/./node_modules/devextreme/cjs/core/utils/selection_filter.js","webpack://PillarJS/./node_modules/devextreme/cjs/core/utils/shadow_dom.js","webpack://PillarJS/./node_modules/devextreme/cjs/core/utils/size.js","webpack://PillarJS/./node_modules/devextreme/cjs/core/utils/storage.js","webpack://PillarJS/./node_modules/devextreme/cjs/core/utils/string.js","webpack://PillarJS/./node_modules/devextreme/cjs/core/utils/stubs.js","webpack://PillarJS/./node_modules/devextreme/cjs/core/utils/style.js","webpack://PillarJS/./node_modules/devextreme/cjs/core/utils/support.js","webpack://PillarJS/./node_modules/devextreme/cjs/core/utils/svg.js","webpack://PillarJS/./node_modules/devextreme/cjs/core/utils/template_manager.js","webpack://PillarJS/./node_modules/devextreme/cjs/core/utils/type.js","webpack://PillarJS/./node_modules/devextreme/cjs/core/utils/variable_wrapper.js","webpack://PillarJS/./node_modules/devextreme/cjs/core/utils/version.js","webpack://PillarJS/./node_modules/devextreme/cjs/core/utils/view_port.js","webpack://PillarJS/./node_modules/devextreme/cjs/core/utils/window.js","webpack://PillarJS/./node_modules/devextreme/cjs/core/version.js","webpack://PillarJS/./node_modules/devextreme/cjs/data/abstract_store.js","webpack://PillarJS/./node_modules/devextreme/cjs/data/apply_changes.js","webpack://PillarJS/./node_modules/devextreme/cjs/data/array_query.js","webpack://PillarJS/./node_modules/devextreme/cjs/data/array_store.js","webpack://PillarJS/./node_modules/devextreme/cjs/data/array_utils.js","webpack://PillarJS/./node_modules/devextreme/cjs/data/custom_store.js","webpack://PillarJS/./node_modules/devextreme/cjs/data/data_source.js","webpack://PillarJS/./node_modules/devextreme/cjs/data/data_source/data_source.js","webpack://PillarJS/./node_modules/devextreme/cjs/data/data_source/operation_manager.js","webpack://PillarJS/./node_modules/devextreme/cjs/data/data_source/utils.js","webpack://PillarJS/./node_modules/devextreme/cjs/data/endpoint_selector.js","webpack://PillarJS/./node_modules/devextreme/cjs/data/errors.js","webpack://PillarJS/./node_modules/devextreme/cjs/data/local_store.js","webpack://PillarJS/./node_modules/devextreme/cjs/data/odata/context.js","webpack://PillarJS/./node_modules/devextreme/cjs/data/odata/query_adapter.js","webpack://PillarJS/./node_modules/devextreme/cjs/data/odata/request_dispatcher.js","webpack://PillarJS/./node_modules/devextreme/cjs/data/odata/store.js","webpack://PillarJS/./node_modules/devextreme/cjs/data/odata/utils.js","webpack://PillarJS/./node_modules/devextreme/cjs/data/query.js","webpack://PillarJS/./node_modules/devextreme/cjs/data/query_adapters.js","webpack://PillarJS/./node_modules/devextreme/cjs/data/query_implementation.js","webpack://PillarJS/./node_modules/devextreme/cjs/data/remote_query.js","webpack://PillarJS/./node_modules/devextreme/cjs/data/store_helper.js","webpack://PillarJS/./node_modules/devextreme/cjs/data/utils.js","webpack://PillarJS/./node_modules/devextreme/cjs/data_helper.js","webpack://PillarJS/./node_modules/devextreme/cjs/events/click.js","webpack://PillarJS/./node_modules/devextreme/cjs/events/contextmenu.js","webpack://PillarJS/./node_modules/devextreme/cjs/events/core/emitter.feedback.js","webpack://PillarJS/./node_modules/devextreme/cjs/events/core/emitter.js","webpack://PillarJS/./node_modules/devextreme/cjs/events/core/emitter_registrator.js","webpack://PillarJS/./node_modules/devextreme/cjs/events/core/event_registrator.js","webpack://PillarJS/./node_modules/devextreme/cjs/events/core/event_registrator_callbacks.js","webpack://PillarJS/./node_modules/devextreme/cjs/events/core/events_engine.js","webpack://PillarJS/./node_modules/devextreme/cjs/events/core/hook_touch_props.js","webpack://PillarJS/./node_modules/devextreme/cjs/events/core/keyboard_processor.js","webpack://PillarJS/./node_modules/devextreme/cjs/events/core/wheel.js","webpack://PillarJS/./node_modules/devextreme/cjs/events/double_click.js","webpack://PillarJS/./node_modules/devextreme/cjs/events/drag.js","webpack://PillarJS/./node_modules/devextreme/cjs/events/gesture/emitter.gesture.js","webpack://PillarJS/./node_modules/devextreme/cjs/events/gesture/emitter.gesture.scroll.js","webpack://PillarJS/./node_modules/devextreme/cjs/events/gesture/swipeable.js","webpack://PillarJS/./node_modules/devextreme/cjs/events/hold.js","webpack://PillarJS/./node_modules/devextreme/cjs/events/hover.js","webpack://PillarJS/./node_modules/devextreme/cjs/events/index.js","webpack://PillarJS/./node_modules/devextreme/cjs/events/pointer.js","webpack://PillarJS/./node_modules/devextreme/cjs/events/pointer/base.js","webpack://PillarJS/./node_modules/devextreme/cjs/events/pointer/mouse.js","webpack://PillarJS/./node_modules/devextreme/cjs/events/pointer/mouse_and_touch.js","webpack://PillarJS/./node_modules/devextreme/cjs/events/pointer/observer.js","webpack://PillarJS/./node_modules/devextreme/cjs/events/pointer/touch.js","webpack://PillarJS/./node_modules/devextreme/cjs/events/remove.js","webpack://PillarJS/./node_modules/devextreme/cjs/events/short.js","webpack://PillarJS/./node_modules/devextreme/cjs/events/swipe.js","webpack://PillarJS/./node_modules/devextreme/cjs/events/transform.js","webpack://PillarJS/./node_modules/devextreme/cjs/events/utils/add_namespace.js","webpack://PillarJS/./node_modules/devextreme/cjs/events/utils/event_nodes_disposing.js","webpack://PillarJS/./node_modules/devextreme/cjs/events/utils/index.js","webpack://PillarJS/./node_modules/devextreme/cjs/events/visibility_change.js","webpack://PillarJS/./node_modules/devextreme/cjs/excel_exporter.js","webpack://PillarJS/./node_modules/devextreme/cjs/exporter.js","webpack://PillarJS/./node_modules/devextreme/cjs/exporter/common/export_load_panel.js","webpack://PillarJS/./node_modules/devextreme/cjs/exporter/exceljs/export.js","webpack://PillarJS/./node_modules/devextreme/cjs/exporter/exceljs/export_data_grid.js","webpack://PillarJS/./node_modules/devextreme/cjs/exporter/exceljs/export_format.js","webpack://PillarJS/./node_modules/devextreme/cjs/exporter/exceljs/export_merged_ranges_manager.js","webpack://PillarJS/./node_modules/devextreme/cjs/exporter/exceljs/export_pivot_grid.js","webpack://PillarJS/./node_modules/devextreme/cjs/exporter/file_saver.js","webpack://PillarJS/./node_modules/devextreme/cjs/exporter/image_creator.js","webpack://PillarJS/./node_modules/devextreme/cjs/exporter/jspdf/autotable/export.js","webpack://PillarJS/./node_modules/devextreme/cjs/exporter/jspdf/autotable/export_data_grid.js","webpack://PillarJS/./node_modules/devextreme/cjs/exporter/jspdf/common/draw_utils.js","webpack://PillarJS/./node_modules/devextreme/cjs/exporter/jspdf/common/export.js","webpack://PillarJS/./node_modules/devextreme/cjs/exporter/jspdf/common/height_updater.js","webpack://PillarJS/./node_modules/devextreme/cjs/exporter/jspdf/common/normalizeOptions.js","webpack://PillarJS/./node_modules/devextreme/cjs/exporter/jspdf/common/pdf_utils.js","webpack://PillarJS/./node_modules/devextreme/cjs/exporter/jspdf/common/row_utils.js","webpack://PillarJS/./node_modules/devextreme/cjs/exporter/jspdf/common/rows_generator.js","webpack://PillarJS/./node_modules/devextreme/cjs/exporter/jspdf/common/rows_spliting_utils/create_on_split_multipage_row.js","webpack://PillarJS/./node_modules/devextreme/cjs/exporter/jspdf/common/rows_spliting_utils/get_multipage_row_pages.js","webpack://PillarJS/./node_modules/devextreme/cjs/exporter/jspdf/common/rows_splitting.js","webpack://PillarJS/./node_modules/devextreme/cjs/exporter/jspdf/export_data_grid.js","webpack://PillarJS/./node_modules/devextreme/cjs/exporter/jspdf/export_gantt.js","webpack://PillarJS/./node_modules/devextreme/cjs/exporter/pdf_creator.js","webpack://PillarJS/./node_modules/devextreme/cjs/exporter/svg_creator.js","webpack://PillarJS/./node_modules/devextreme/cjs/file_management/custom_provider.js","webpack://PillarJS/./node_modules/devextreme/cjs/file_management/error.js","webpack://PillarJS/./node_modules/devextreme/cjs/file_management/error_codes.js","webpack://PillarJS/./node_modules/devextreme/cjs/file_management/file_system_item.js","webpack://PillarJS/./node_modules/devextreme/cjs/file_management/object_provider.js","webpack://PillarJS/./node_modules/devextreme/cjs/file_management/provider_base.js","webpack://PillarJS/./node_modules/devextreme/cjs/file_management/remote_provider.js","webpack://PillarJS/./node_modules/devextreme/cjs/file_management/utils.js","webpack://PillarJS/./node_modules/devextreme/cjs/format_helper.js","webpack://PillarJS/./node_modules/devextreme/cjs/integration/jquery.js","webpack://PillarJS/./node_modules/devextreme/cjs/integration/jquery/ajax.js","webpack://PillarJS/./node_modules/devextreme/cjs/integration/jquery/component_registrator.js","webpack://PillarJS/./node_modules/devextreme/cjs/integration/jquery/deferred.js","webpack://PillarJS/./node_modules/devextreme/cjs/integration/jquery/easing.js","webpack://PillarJS/./node_modules/devextreme/cjs/integration/jquery/element.js","webpack://PillarJS/./node_modules/devextreme/cjs/integration/jquery/element_data.js","webpack://PillarJS/./node_modules/devextreme/cjs/integration/jquery/events.js","webpack://PillarJS/./node_modules/devextreme/cjs/integration/jquery/hold_ready.js","webpack://PillarJS/./node_modules/devextreme/cjs/integration/jquery/hooks.js","webpack://PillarJS/./node_modules/devextreme/cjs/integration/jquery/renderer.js","webpack://PillarJS/./node_modules/devextreme/cjs/integration/jquery/use_jquery.js","webpack://PillarJS/./node_modules/devextreme/cjs/localization.js","webpack://PillarJS/./node_modules/devextreme/cjs/localization/cldr-data/accounting_formats.js","webpack://PillarJS/./node_modules/devextreme/cjs/localization/cldr-data/en.js","webpack://PillarJS/./node_modules/devextreme/cjs/localization/cldr-data/first_day_of_week_data.js","webpack://PillarJS/./node_modules/devextreme/cjs/localization/cldr-data/parent_locales.js","webpack://PillarJS/./node_modules/devextreme/cjs/localization/cldr-data/supplemental.js","webpack://PillarJS/./node_modules/devextreme/cjs/localization/core.js","webpack://PillarJS/./node_modules/devextreme/cjs/localization/currency.js","webpack://PillarJS/./node_modules/devextreme/cjs/localization/date.js","webpack://PillarJS/./node_modules/devextreme/cjs/localization/default_date_names.js","webpack://PillarJS/./node_modules/devextreme/cjs/localization/default_messages.js","webpack://PillarJS/./node_modules/devextreme/cjs/localization/globalize/core.js","webpack://PillarJS/./node_modules/devextreme/cjs/localization/globalize/currency.js","webpack://PillarJS/./node_modules/devextreme/cjs/localization/globalize/date.js","webpack://PillarJS/./node_modules/devextreme/cjs/localization/globalize/message.js","webpack://PillarJS/./node_modules/devextreme/cjs/localization/globalize/number.js","webpack://PillarJS/./node_modules/devextreme/cjs/localization/intl/date.js","webpack://PillarJS/./node_modules/devextreme/cjs/localization/intl/number.js","webpack://PillarJS/./node_modules/devextreme/cjs/localization/language_codes.js","webpack://PillarJS/./node_modules/devextreme/cjs/localization/ldml/date.format.js","webpack://PillarJS/./node_modules/devextreme/cjs/localization/ldml/date.formatter.js","webpack://PillarJS/./node_modules/devextreme/cjs/localization/ldml/date.parser.js","webpack://PillarJS/./node_modules/devextreme/cjs/localization/ldml/number.js","webpack://PillarJS/./node_modules/devextreme/cjs/localization/message.js","webpack://PillarJS/./node_modules/devextreme/cjs/localization/number.js","webpack://PillarJS/./node_modules/devextreme/cjs/localization/open_xml_currency_format.js","webpack://PillarJS/./node_modules/devextreme/cjs/localization/parentLocale.js","webpack://PillarJS/./node_modules/devextreme/cjs/localization/utils.js","webpack://PillarJS/./node_modules/devextreme/cjs/mobile/hide_callback.js","webpack://PillarJS/./node_modules/devextreme/cjs/mobile/hide_top_overlay.js","webpack://PillarJS/./node_modules/devextreme/cjs/mobile/init_mobile_viewport/init_mobile_viewport.js","webpack://PillarJS/./node_modules/devextreme/cjs/pdf_exporter.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/common/config_context.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/common/config_provider.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/component_wrapper/button.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/component_wrapper/common/component.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/component_wrapper/common/mutations_recording.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/component_wrapper/common/template_wrapper.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/component_wrapper/editors/check_box.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/component_wrapper/editors/editor.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/component_wrapper/grid_pager.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/component_wrapper/scheduler/date_table.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/component_wrapper/scheduler/group_panel.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/component_wrapper/scheduler/header_panel.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/component_wrapper/scheduler/time_panel.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/component_wrapper/utils/update_props_immutable.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/button.j.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/button.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/common/base_props.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/common/dom_component_wrapper.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/common/icon.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/common/ink_ripple.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/common/utils/date/index.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/common/utils/date/toMilliseconds.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/common/utils/get_updated_options.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/common/utils/scroll/getMemoizeScrollTo.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/common/widget.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/editors/check_box/check_box.j.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/editors/check_box/check_box.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/editors/check_box/check_box_icon.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/editors/check_box/utils.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/editors/common/editor.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/editors/common/editor_label_props.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/editors/common/editor_state_props.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/editors/drop_down_editors/select_box.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/editors/number_box.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/overlays/validation_message.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/pager/common/base_pager_props.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/pager/common/consts.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/pager/common/keyboard_action_context.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/pager/common/light_button.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/pager/common/pager_props.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/pager/content.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/pager/info.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/pager/page_size/large.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/pager/page_size/selector.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/pager/page_size/small.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/pager/pager.j.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/pager/pager.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/pager/pages/large.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/pager/pages/page.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/pager/pages/page_index_selector.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/pager/pages/small.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/pager/resizable_container.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/pager/utils/calculate_values_fitted_width.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/pager/utils/get_element_width.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/resizable/utils.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/scheduler/appointment/appointment.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/scheduler/appointment/content/details/layout.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/scheduler/appointment/content/layout.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/scheduler/appointment/content/title/layout.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/scheduler/appointment/layout.j.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/scheduler/appointment/layout.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/scheduler/appointment/overflow_indicator/layout.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/scheduler/appointment/overflow_indicator/utils.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/scheduler/appointment/utils.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/scheduler/appointment/utils/getAppointmentTakesAllDay.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/scheduler/appointment_edit_form/popup_config.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/scheduler/appointments_context.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/scheduler/consts.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/scheduler/model/appointments.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/scheduler/model/views.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/scheduler/resources/hasResourceValue.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/scheduler/resources/utils.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/scheduler/timeZoneCalculator/createTimeZoneCalculator.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/scheduler/timeZoneCalculator/types.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/scheduler/timeZoneCalculator/utils.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/scheduler/utils/data.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/scheduler/utils/filtering/getDatesWithoutTime.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/scheduler/utils/filtering/remote.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/scheduler/utils/recurrence/excludeFromRecurrence.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/scheduler/utils/semaphore/semaphore.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/scheduler/view_model/appointments/utils/getSkippedHoursInRange.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/scheduler/view_model/group_panel/utils.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/scheduler/view_model/to_test/views/utils/agenda.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/scheduler/view_model/to_test/views/utils/base.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/scheduler/view_model/to_test/views/utils/const.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/scheduler/view_model/to_test/views/utils/day.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/scheduler/view_model/to_test/views/utils/month.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/scheduler/view_model/to_test/views/utils/timeline_month.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/scheduler/view_model/to_test/views/utils/timeline_week.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/scheduler/view_model/to_test/views/utils/week.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/scheduler/view_model/to_test/views/utils/work_week.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/scheduler/workspaces/base/cell.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/scheduler/workspaces/base/date_table/all_day_panel/cell.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/scheduler/workspaces/base/date_table/all_day_panel/table.j.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/scheduler/workspaces/base/date_table/all_day_panel/table.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/scheduler/workspaces/base/date_table/all_day_panel/table_body.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/scheduler/workspaces/base/date_table/all_day_panel/title.j.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/scheduler/workspaces/base/date_table/all_day_panel/title.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/scheduler/workspaces/base/date_table/cell.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/scheduler/workspaces/base/date_table/layout.j.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/scheduler/workspaces/base/date_table/layout.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/scheduler/workspaces/base/date_table/table_body.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/scheduler/workspaces/base/group_panel/cell_props.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/scheduler/workspaces/base/group_panel/group_panel.j.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/scheduler/workspaces/base/group_panel/group_panel.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/scheduler/workspaces/base/group_panel/group_panel_layout_props.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/scheduler/workspaces/base/group_panel/group_panel_props.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/scheduler/workspaces/base/group_panel/horizontal/cell.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/scheduler/workspaces/base/group_panel/horizontal/layout.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/scheduler/workspaces/base/group_panel/horizontal/row.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/scheduler/workspaces/base/group_panel/row_props.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/scheduler/workspaces/base/group_panel/vertical/cell.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/scheduler/workspaces/base/group_panel/vertical/layout.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/scheduler/workspaces/base/group_panel/vertical/row.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/scheduler/workspaces/base/header_cell.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/scheduler/workspaces/base/header_panel/date_header/cell.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/scheduler/workspaces/base/header_panel/date_header/dateHeaderText.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/scheduler/workspaces/base/header_panel/date_header/layout.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/scheduler/workspaces/base/header_panel/layout.j.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/scheduler/workspaces/base/header_panel/layout.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/scheduler/workspaces/base/layout_props.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/scheduler/workspaces/base/ordinary_cell.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/scheduler/workspaces/base/row.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/scheduler/workspaces/base/table.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/scheduler/workspaces/base/time_panel/cell.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/scheduler/workspaces/base/time_panel/layout.j.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/scheduler/workspaces/base/time_panel/layout.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/scheduler/workspaces/base/utils.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/scheduler/workspaces/base/virtual_cell.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/scheduler/workspaces/base/virtual_row.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/scheduler/workspaces/const.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/scheduler/workspaces/month/date_table/cell.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/scheduler/workspaces/month/date_table/layout.j.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/scheduler/workspaces/month/date_table/layout.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/scheduler/workspaces/timeline/header_panel/date_header/layout.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/scheduler/workspaces/timeline/header_panel/layout.j.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/scheduler/workspaces/timeline/header_panel/layout.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/scheduler/workspaces/utils.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/scroll_view/common/consts.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/scroll_view/utils/convert_location.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/scroll_view/utils/get_boundary_props.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/scroll_view/utils/get_element_location_internal.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/scroll_view/utils/get_element_style.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/scroll_view/utils/get_relative_offset.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/scroll_view/utils/get_scroll_left_max.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/scroll_view/utils/get_scroll_top_max.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/ui/scroll_view/utils/scroll_direction.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/utils/combine_classes.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/utils/dom.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/utils/getThemeType.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/utils/get_computed_style.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/utils/resolve_rtl.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/utils/shallow_equals.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/utils/subscribe_to_event.js","webpack://PillarJS/./node_modules/devextreme/cjs/renovation/utils/type_conversion.js","webpack://PillarJS/./node_modules/devextreme/cjs/time_zone_utils.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/accordion.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/action_sheet.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/autocomplete.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/box.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/button.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/button_group.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/calendar.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/calendar/ui.calendar.base_view.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/calendar/ui.calendar.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/calendar/ui.calendar.multi.selection.strategy.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/calendar/ui.calendar.navigator.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/calendar/ui.calendar.range.selection.strategy.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/calendar/ui.calendar.selection.strategy.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/calendar/ui.calendar.single.selection.strategy.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/calendar/ui.calendar.views.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/check_box.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/collection/data_controller.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/collection/item.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/collection/ui.collection_widget.async.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/collection/ui.collection_widget.base.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/collection/ui.collection_widget.edit.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/collection/ui.collection_widget.edit.strategy.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/collection/ui.collection_widget.edit.strategy.plain.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/collection/ui.collection_widget.live_update.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/color_box.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/color_box/color_box.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/color_box/color_view.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/context_menu.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/context_menu/ui.context_menu.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/context_menu/ui.menu_base.edit.strategy.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/context_menu/ui.menu_base.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/data_grid.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/data_grid/ui.data_grid.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/date_box.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/date_box/ui.date_box.base.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/date_box/ui.date_box.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/date_box/ui.date_box.mask.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/date_box/ui.date_box.mask.parts.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/date_box/ui.date_box.strategy.calendar.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/date_box/ui.date_box.strategy.calendar_with_time.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/date_box/ui.date_box.strategy.date_view.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/date_box/ui.date_box.strategy.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/date_box/ui.date_box.strategy.list.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/date_box/ui.date_box.strategy.native.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/date_box/ui.date_utils.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/date_box/ui.date_view.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/date_box/ui.date_view_roller.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/date_box/ui.time_view.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/date_range_box.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/date_range_box/strategy/rangeCalendar.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/date_range_box/ui.date_range.utils.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/date_range_box/ui.date_range_box.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/date_range_box/ui.multiselect_date_box.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/defer_rendering.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/diagram.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/diagram/diagram.bar.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/diagram/diagram.commands_manager.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/diagram/diagram.edges_option.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/diagram/diagram.importer.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/diagram/diagram.items_option.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/diagram/diagram.nodes_option.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/diagram/diagram.options_update.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/diagram/diagram.toolbox_manager.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/diagram/ui.diagram.context_menu.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/diagram/ui.diagram.context_toolbox.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/diagram/ui.diagram.dialog_manager.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/diagram/ui.diagram.dialogs.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/diagram/ui.diagram.floating_panel.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/diagram/ui.diagram.history_toolbar.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/diagram/ui.diagram.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/diagram/ui.diagram.main_toolbar.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/diagram/ui.diagram.menu_helper.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/diagram/ui.diagram.panel.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/diagram/ui.diagram.properties_panel.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/diagram/ui.diagram.properties_toolbar.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/diagram/ui.diagram.scroll_view.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/diagram/ui.diagram.toolbar.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/diagram/ui.diagram.toolbox.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/diagram/ui.diagram.view_toolbar.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/dialog.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/draggable.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/drawer.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/drawer/ui.drawer.animation.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/drawer/ui.drawer.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/drawer/ui.drawer.rendering.strategy.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/drawer/ui.drawer.rendering.strategy.overlap.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/drawer/ui.drawer.rendering.strategy.push.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/drawer/ui.drawer.rendering.strategy.shrink.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/drop_down_box.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/drop_down_button.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/drop_down_editor/ui.drop_down_button.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/drop_down_editor/ui.drop_down_editor.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/drop_down_editor/ui.drop_down_list.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/drop_down_editor/utils.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/editor/editor.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/editor/ui.data_expression.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/file_manager.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/file_manager/file_items_controller.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/file_manager/ui.file_manager.adaptivity.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/file_manager/ui.file_manager.breadcrumbs.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/file_manager/ui.file_manager.command_manager.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/file_manager/ui.file_manager.common.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/file_manager/ui.file_manager.context_menu.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/file_manager/ui.file_manager.dialog.delete_item.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/file_manager/ui.file_manager.dialog.folder_chooser.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/file_manager/ui.file_manager.dialog.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/file_manager/ui.file_manager.dialog.name_editor.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/file_manager/ui.file_manager.dialog_manager.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/file_manager/ui.file_manager.editing.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/file_manager/ui.file_manager.file_actions_button.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/file_manager/ui.file_manager.file_uploader.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/file_manager/ui.file_manager.files_tree_view.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/file_manager/ui.file_manager.item_list.details.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/file_manager/ui.file_manager.item_list.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/file_manager/ui.file_manager.item_list.thumbnails.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/file_manager/ui.file_manager.items_list.thumbnails.list_box.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/file_manager/ui.file_manager.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/file_manager/ui.file_manager.messages.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/file_manager/ui.file_manager.notification.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/file_manager/ui.file_manager.notification.progress_panel.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/file_manager/ui.file_manager.notification_manager.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/file_manager/ui.file_manager.toolbar.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/file_uploader.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/filter_builder.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/filter_builder/between.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/filter_builder/filter_builder.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/filter_builder/ui.filter_operations_dictionary.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/filter_builder/utils.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/form.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/form/components/button_item.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/form/components/empty_item.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/form/components/field_item.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/form/components/label.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/form/constants.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/form/ui.form.item_option_action.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/form/ui.form.item_options_actions.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/form/ui.form.items_runtime_info.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/form/ui.form.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/form/ui.form.layout_manager.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/form/ui.form.layout_manager.utils.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/form/ui.form.utils.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/gallery.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/gantt.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/gantt/gantt_importer.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/gantt/ui.gantt.actions.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/gantt/ui.gantt.bars.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/gantt/ui.gantt.cache.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/gantt/ui.gantt.custom_fields.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/gantt/ui.gantt.data.option.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/gantt/ui.gantt.data_changes_processing_helper.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/gantt/ui.gantt.dialogs.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/gantt/ui.gantt.export_helper.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/gantt/ui.gantt.helper.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/gantt/ui.gantt.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/gantt/ui.gantt.mapping_helper.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/gantt/ui.gantt.model_changes_listener.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/gantt/ui.gantt.size_helper.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/gantt/ui.gantt.task.area.container.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/gantt/ui.gantt.templates.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/gantt/ui.gantt.treelist.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/gantt/ui.gantt.treelist.nodes_state.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/gantt/ui.gantt.view.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/grid_core/ui.grid_core.utils.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/hierarchical_collection/ui.data_adapter.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/hierarchical_collection/ui.data_converter.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/hierarchical_collection/ui.hierarchical_collection_widget.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/html_editor.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/html_editor/converterController.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/html_editor/converters/delta.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/html_editor/converters/markdown.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/html_editor/formats/align.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/html_editor/formats/font.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/html_editor/formats/image.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/html_editor/formats/link.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/html_editor/formats/mention.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/html_editor/formats/size.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/html_editor/formats/variable.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/html_editor/matchers/wordLists.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/html_editor/modules/base.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/html_editor/modules/dropImage.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/html_editor/modules/empty.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/html_editor/modules/imageCursor.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/html_editor/modules/imageUpload.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/html_editor/modules/mentions.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/html_editor/modules/popup.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/html_editor/modules/resizing.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/html_editor/modules/tableContextMenu.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/html_editor/modules/tableResizing.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/html_editor/modules/toolbar.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/html_editor/modules/variables.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/html_editor/modules/widget_collector.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/html_editor/quill_importer.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/html_editor/quill_registrator.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/html_editor/themes/base.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/html_editor/ui.html_editor.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/html_editor/ui/formDialog.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/html_editor/utils/image_uploader_helper.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/html_editor/utils/table_helper.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/html_editor/utils/templates_storage.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/html_editor/utils/toolbar_helper.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/list.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/list/item.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/list/modules/context.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/list/modules/deleting.context.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/list/modules/deleting.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/list/modules/deleting.slideButton.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/list/modules/deleting.slideItem.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/list/modules/deleting.static.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/list/modules/deleting.swipe.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/list/modules/deleting.toggle.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/list/modules/dragging.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/list/modules/search.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/list/modules/selection.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/list/ui.list.base.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/list/ui.list.edit.decorator.context.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/list/ui.list.edit.decorator.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/list/ui.list.edit.decorator.reorder.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/list/ui.list.edit.decorator.selection.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/list/ui.list.edit.decorator.static.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/list/ui.list.edit.decorator.swipe.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/list/ui.list.edit.decorator.switchable.button.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/list/ui.list.edit.decorator.switchable.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/list/ui.list.edit.decorator.switchable.slide.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/list/ui.list.edit.decorator_menu_helper.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/list/ui.list.edit.decorator_registry.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/list/ui.list.edit.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/list/ui.list.edit.provider.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/list/ui.list.edit.search.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/list/ui.list.edit.strategy.grouped.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/list_light.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/load_indicator.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/load_panel.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/lookup.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/map.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/map/provider.dynamic.bing.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/map/provider.dynamic.google.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/map/provider.dynamic.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/map/provider.google_static.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/map/provider.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/menu.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/menu/ui.menu.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/menu/ui.submenu.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/multi_view.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/multi_view/ui.multi_view.animation.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/notify.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/number_box.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/number_box/number_box.base.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/number_box/number_box.caret.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/number_box/number_box.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/number_box/number_box.mask.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/number_box/number_box.spin.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/number_box/number_box.spins.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/number_box/utils.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/overlay/overlay_position_controller.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/overlay/ui.overlay.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/overlay/utils.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/overlay/z_index.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/pager.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/pivot_grid.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/pivot_grid/data_source.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/pivot_grid/ui.pivot_grid.field_chooser.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/pivot_grid/ui.pivot_grid.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/pivot_grid/xmla_store.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/pivot_grid_field_chooser.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/popover.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/popover/popover_position_controller.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/popover/ui.popover.full.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/popover/ui.popover.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/popup.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/popup/popup_drag.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/popup/popup_overflow_manager.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/popup/popup_position_controller.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/popup/ui.popup.full.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/popup/ui.popup.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/progress_bar.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/radio_group.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/radio_group/radio_button.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/radio_group/radio_group.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/range_slider.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/resizable.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/responsive_box.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scheduler.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scheduler/appointmentAdapter.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scheduler/appointmentDragBehavior.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scheduler/appointmentPopup/form.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scheduler/appointmentPopup/popup.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scheduler/appointments.layout_manager.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scheduler/appointments/appointment.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scheduler/appointments/appointmentCollection.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scheduler/appointments/appointmentLayout.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scheduler/appointments/cellPositionCalculator.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scheduler/appointments/dataProvider/appointmentDataProvider.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scheduler/appointments/dataProvider/appointmentDataSource.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scheduler/appointments/dataProvider/appointmentFilter.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scheduler/appointments/dataProvider/utils.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scheduler/appointments/render.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scheduler/appointments/rendering_strategies/appointmentsPositioning_strategy_adaptive.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scheduler/appointments/rendering_strategies/appointmentsPositioning_strategy_base.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scheduler/appointments/rendering_strategies/strategy.base.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scheduler/appointments/rendering_strategies/strategy_agenda.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scheduler/appointments/rendering_strategies/strategy_horizontal.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scheduler/appointments/rendering_strategies/strategy_horizontal_month.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scheduler/appointments/rendering_strategies/strategy_horizontal_month_line.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scheduler/appointments/rendering_strategies/strategy_vertical.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scheduler/appointments/rendering_strategies/strategy_week.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scheduler/appointments/resizing/core.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scheduler/appointments/resizing/utils.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scheduler/appointments/settingsGenerator.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scheduler/appointments/textUtils.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scheduler/appointments/viewModelGenerator.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scheduler/base/widgetObserver.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scheduler/classes.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scheduler/compactAppointmentsHelper.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scheduler/constants.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scheduler/dataStructures.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scheduler/dateAdapter.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scheduler/expressionUtils.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scheduler/header/calendar.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scheduler/header/dateNavigator.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scheduler/header/header.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scheduler/header/utils.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scheduler/header/viewSwitcher.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scheduler/loading.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scheduler/recurrence.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scheduler/recurrence_editor.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scheduler/resources/agendaResourceProcessor.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scheduler/resources/utils.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scheduler/shaders/ui.scheduler.current_time_shader.horizontal.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scheduler/shaders/ui.scheduler.current_time_shader.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scheduler/shaders/ui.scheduler.current_time_shader.vertical.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scheduler/subscribes.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scheduler/table_creator.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scheduler/timezones/timezones_data.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scheduler/timezones/utils.timezones_data.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scheduler/tooltip_strategies/desktopTooltipStrategy.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scheduler/tooltip_strategies/mobileTooltipStrategy.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scheduler/tooltip_strategies/tooltipStrategyBase.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scheduler/ui.scheduler.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scheduler/utils.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scheduler/utils.timeZone.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scheduler/utils/isSchedulerComponent.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scheduler/workspaces/cache.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scheduler/workspaces/cells_selection_controller.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scheduler/workspaces/cells_selection_state.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scheduler/workspaces/helpers/positionHelper.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scheduler/workspaces/ui.scheduler.agenda.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scheduler/workspaces/ui.scheduler.timeline.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scheduler/workspaces/ui.scheduler.timeline_day.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scheduler/workspaces/ui.scheduler.timeline_month.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scheduler/workspaces/ui.scheduler.timeline_week.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scheduler/workspaces/ui.scheduler.timeline_work_week.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scheduler/workspaces/ui.scheduler.virtual_scrolling.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scheduler/workspaces/ui.scheduler.work_space.grouped.strategy.horizontal.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scheduler/workspaces/ui.scheduler.work_space.grouped.strategy.vertical.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scheduler/workspaces/ui.scheduler.work_space.indicator.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scheduler/workspaces/ui.scheduler.work_space.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scheduler/workspaces/ui.scheduler.work_space_day.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scheduler/workspaces/ui.scheduler.work_space_month.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scheduler/workspaces/ui.scheduler.work_space_vertical.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scheduler/workspaces/ui.scheduler.work_space_week.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scheduler/workspaces/ui.scheduler.work_space_work_week.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scheduler/workspaces/view_model/date_header_data_generator.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scheduler/workspaces/view_model/grouped_data_map_provider.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scheduler/workspaces/view_model/time_panel_data_generator.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scheduler/workspaces/view_model/utils.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scheduler/workspaces/view_model/view_data_generator.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scheduler/workspaces/view_model/view_data_generator_day.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scheduler/workspaces/view_model/view_data_generator_month.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scheduler/workspaces/view_model/view_data_generator_timeline_month.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scheduler/workspaces/view_model/view_data_generator_week.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scheduler/workspaces/view_model/view_data_generator_work_week.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scheduler/workspaces/view_model/view_data_provider.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scroll_view.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scroll_view/animator.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scroll_view/ui.scroll_view.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scroll_view/ui.scroll_view.native.pull_down.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scroll_view/ui.scroll_view.native.swipe_down.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scroll_view/ui.scroll_view.simulated.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scroll_view/ui.scrollable.device.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scroll_view/ui.scrollable.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scroll_view/ui.scrollable.native.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scroll_view/ui.scrollable.old.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scroll_view/ui.scrollable.simulated.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/scroll_view/ui.scrollbar.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/select_box.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/selection/selection.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/selection/selection.strategy.deferred.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/selection/selection.strategy.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/selection/selection.strategy.standard.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/shared/accessibility.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/shared/filtering.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/shared/grouped_data_converter_mixin.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/shared/ui.editor_factory_mixin.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/slider.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/slider/slider_tooltip_position_controller.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/slider/ui.slider.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/slider/ui.slider_handle.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/slider/ui.slider_tooltip.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/sortable.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/speed_dial_action.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/speed_dial_action/repaint_floating_action_button.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/speed_dial_action/speed_dial_action.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/speed_dial_action/speed_dial_item.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/speed_dial_action/speed_dial_main_item.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/splitter.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/switch.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/tab_panel.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/tab_panel/item.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/tabs.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/tabs/constants.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/tabs/item.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/tag_box.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/text_area.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/text_box.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/text_box/text_box.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/text_box/texteditor_button_collection/button.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/text_box/texteditor_button_collection/custom.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/text_box/texteditor_button_collection/index.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/text_box/ui.text_editor.base.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/text_box/ui.text_editor.clear.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/text_box/ui.text_editor.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/text_box/ui.text_editor.label.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/text_box/ui.text_editor.mask.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/text_box/ui.text_editor.mask.rule.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/text_box/ui.text_editor.mask.strategy.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/text_box/utils.caret.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/text_box/utils.scroll.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/themes.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/themes_callback.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/tile_view.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/toast.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/toast/hide_toasts.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/toast/ui.toast.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/toolbar.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/toolbar/constants.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/toolbar/internal/ui.toolbar.menu.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/toolbar/internal/ui.toolbar.menu.list.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/toolbar/strategy/toolbar.multiline.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/toolbar/strategy/toolbar.singleline.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/toolbar/ui.toolbar.base.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/toolbar/ui.toolbar.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/toolbar/ui.toolbar.utils.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/tooltip.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/tooltip/tooltip.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/tooltip/ui.tooltip.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/track_bar.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/tree_list.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/tree_list/ui.tree_list.base.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/tree_view.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/tree_view/ui.tree_view.base.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/tree_view/ui.tree_view.search.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/validation/default_adapter.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/validation_engine.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/validation_group.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/validation_message.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/validation_summary.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/validator.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/widget/selectors.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/widget/swatch_container.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/widget/ui.errors.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/widget/ui.search_box_mixin.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/widget/ui.widget.js","webpack://PillarJS/./node_modules/devextreme/cjs/ui/widget/utils.ink_ripple.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/axes/axes_constants.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/axes/axes_utils.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/axes/base_axis.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/axes/constant_line.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/axes/datetime_breaks.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/axes/polar_axes.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/axes/smart_formatter.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/axes/strip.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/axes/tick.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/axes/tick_generator.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/axes/xy_axes.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/bar_gauge.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/bullet.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/chart.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/chart_components/advanced_chart.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/chart_components/base_chart.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/chart_components/crosshair.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/chart_components/layout_manager.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/chart_components/multi_axes_synchronizer.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/chart_components/scroll_bar.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/chart_components/shutter_zoom.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/chart_components/tracker.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/chart_components/zoom_and_pan.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/circular_gauge.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/components/chart_theme_manager.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/components/consts.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/components/data_validator.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/components/legend.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/components/parse_utils.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/components/tracker.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/core/annotations.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/core/base_theme_manager.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/core/base_widget.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/core/base_widget.utils.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/core/center_template.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/core/data_source.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/core/errors_warnings.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/core/export.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/core/helpers.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/core/layout.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/core/layout_element.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/core/loading_indicator.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/core/plaque.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/core/renderers/animation.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/core/renderers/renderer.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/core/series_family.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/core/themes/generic.carmine.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/core/themes/generic.contrast.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/core/themes/generic.dark.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/core/themes/generic.darkmoon.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/core/themes/generic.darkviolet.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/core/themes/generic.greenmist.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/core/themes/generic.light.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/core/themes/generic.softblue.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/core/themes/material.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/core/title.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/core/tooltip.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/core/utils.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/export.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/funnel.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/funnel/funnel.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/funnel/item.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/funnel/label.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/funnel/tiling.funnel.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/funnel/tiling.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/funnel/tiling.pyramid.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/funnel/tooltip.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/funnel/tracker.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/gauges/bar_gauge.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/gauges/base_gauge.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/gauges/base_indicators.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/gauges/base_range_container.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/gauges/circular_gauge.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/gauges/circular_indicators.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/gauges/circular_range_container.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/gauges/common.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/gauges/linear_gauge.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/gauges/linear_indicators.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/gauges/linear_range_container.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/gauges/theme_manager.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/gauges/tracker.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/linear_gauge.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/palette.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/pie_chart.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/polar_chart.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/range_selector.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/range_selector/common.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/range_selector/range_selector.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/range_selector/range_view.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/range_selector/series_data_source.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/range_selector/slider.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/range_selector/slider_marker.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/range_selector/sliders_controller.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/range_selector/tracker.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/sankey.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/sankey/constants.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/sankey/data_validator.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/sankey/graph.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/sankey/layout.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/sankey/link_item.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/sankey/node_item.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/sankey/sankey.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/sankey/tooltip.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/sankey/tracker.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/series/area_series.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/series/bar_series.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/series/base_series.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/series/bubble_series.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/series/financial_series.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/series/helpers/display_format_parser.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/series/helpers/range_data_calculator.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/series/line_series.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/series/pie_series.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/series/points/bar_point.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/series/points/base_point.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/series/points/bubble_point.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/series/points/candlestick_point.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/series/points/label.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/series/points/pie_point.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/series/points/polar_point.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/series/points/range_bar_point.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/series/points/range_symbol_point.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/series/points/stock_point.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/series/points/symbol_point.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/series/range_series.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/series/scatter_series.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/series/stacked_series.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/sparkline.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/sparklines/base_sparkline.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/sparklines/bullet.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/sparklines/sparkline.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/themes.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/translators/category_translator.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/translators/datetime_translator.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/translators/interval_translator.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/translators/logarithmic_translator.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/translators/range.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/translators/translator1d.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/translators/translator2d.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/tree_map.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/tree_map/api.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/tree_map/colorizing.discrete.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/tree_map/colorizing.gradient.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/tree_map/colorizing.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/tree_map/colorizing.range.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/tree_map/common.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/tree_map/drilldown.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/tree_map/hover.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/tree_map/node.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/tree_map/plain_data_source.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/tree_map/selection.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/tree_map/states.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/tree_map/tiling.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/tree_map/tiling.rotated_slice_and_dice.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/tree_map/tiling.slice_and_dice.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/tree_map/tiling.squarified.base.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/tree_map/tiling.squarified.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/tree_map/tiling.strip.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/tree_map/tooltip.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/tree_map/tracker.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/tree_map/tree_map.base.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/tree_map/tree_map.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/utils.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/vector_map.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/vector_map/control_bar/control_bar.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/vector_map/control_bar/utils.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/vector_map/data_exchanger.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/vector_map/event_emitter.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/vector_map/gesture_handler.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/vector_map/layout.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/vector_map/legend.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/vector_map/map_layer.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/vector_map/projection.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/vector_map/projection.main.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/vector_map/tooltip_viewer.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/vector_map/tracker.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/vector_map/vector_map.js","webpack://PillarJS/./node_modules/devextreme/cjs/viz/vector_map/vector_map.utils.js","webpack://PillarJS/./node_modules/inferno-create-element/dist/index.cjs.min.js","webpack://PillarJS/./node_modules/inferno-create-element/index.js","webpack://PillarJS/./node_modules/inferno/dist/index.cjs.min.js","webpack://PillarJS/./node_modules/inferno/index.js","webpack://PillarJS/./node_modules/rrule/dist/es5/rrule.js","webpack://PillarJS/external var \"window.Globalize\"","webpack://PillarJS/external var \"window.JSZip\"","webpack://PillarJS/external var \"window.TurndownService\"","webpack://PillarJS/external var \"window.jQuery\"","webpack://PillarJS/webpack/bootstrap","webpack://PillarJS/webpack/runtime/define property getters","webpack://PillarJS/webpack/runtime/hasOwnProperty shorthand","webpack://PillarJS/webpack/runtime/make namespace object","webpack://PillarJS/./dx/build.js"],"sourcesContent":["\"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 (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\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 inferno_1 = require(\"inferno\");\nvar effect_host_1 = require(\"./effect_host\");\nvar areObjectsEqual = function (firstObject, secondObject) {\n var bothAreObjects = firstObject instanceof Object && secondObject instanceof Object;\n if (!bothAreObjects) {\n return firstObject === secondObject;\n }\n var firstObjectKeys = Object.keys(firstObject);\n var secondObjectKeys = Object.keys(secondObject);\n if (firstObjectKeys.length !== secondObjectKeys.length) {\n return false;\n }\n var hasDifferentElement = firstObjectKeys.some(function (key) { return firstObject[key] !== secondObject[key]; });\n return !hasDifferentElement;\n};\nvar BaseInfernoComponent = /** @class */ (function (_super) {\n __extends(BaseInfernoComponent, _super);\n function BaseInfernoComponent() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._pendingContext = _this.context;\n return _this;\n }\n BaseInfernoComponent.prototype.componentWillReceiveProps = function (_, context) {\n this._pendingContext = context !== null && context !== void 0 ? context : {};\n };\n BaseInfernoComponent.prototype.shouldComponentUpdate = function (nextProps, nextState) {\n return (!areObjectsEqual(this.props, nextProps)\n || !areObjectsEqual(this.state, nextState)\n || !areObjectsEqual(this.context, this._pendingContext));\n };\n return BaseInfernoComponent;\n}(inferno_1.Component));\nexports.BaseInfernoComponent = BaseInfernoComponent;\nvar InfernoComponent = /** @class */ (function (_super) {\n __extends(InfernoComponent, _super);\n function InfernoComponent() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._effects = [];\n return _this;\n }\n InfernoComponent.prototype.createEffects = function () {\n return [];\n };\n InfernoComponent.prototype.updateEffects = function () { };\n InfernoComponent.prototype.componentWillMount = function () {\n effect_host_1.InfernoEffectHost.lock();\n };\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n InfernoComponent.prototype.componentWillUpdate = function (_nextProps, _nextState, _context) {\n effect_host_1.InfernoEffectHost.lock();\n };\n InfernoComponent.prototype.componentDidMount = function () {\n var _this = this;\n effect_host_1.InfernoEffectHost.callbacks.push(function () { _this._effects = _this.createEffects(); });\n effect_host_1.InfernoEffectHost.callEffects();\n };\n InfernoComponent.prototype.componentDidUpdate = function () {\n var _this = this;\n effect_host_1.InfernoEffectHost.callbacks.push(function () { return _this.updateEffects(); });\n effect_host_1.InfernoEffectHost.callEffects();\n };\n InfernoComponent.prototype.destroyEffects = function () {\n this._effects.forEach(function (e) { return e.dispose(); });\n };\n InfernoComponent.prototype.componentWillUnmount = function () {\n this.destroyEffects();\n };\n return InfernoComponent;\n}(BaseInfernoComponent));\nexports.InfernoComponent = InfernoComponent;\nvar InfernoWrapperComponent = /** @class */ (function (_super) {\n __extends(InfernoWrapperComponent, _super);\n function InfernoWrapperComponent() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.vDomElement = null;\n return _this;\n }\n InfernoWrapperComponent.prototype.vDomUpdateClasses = function () {\n var el = this.vDomElement;\n var currentClasses = el.className.length\n ? el.className.split(' ')\n : [];\n var addedClasses = currentClasses.filter(function (className) { return el.dxClasses.previous.indexOf(className) < 0; });\n var removedClasses = el.dxClasses.previous.filter(function (className) { return currentClasses.indexOf(className) < 0; });\n addedClasses.forEach(function (value) {\n var 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(function (value) {\n var 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 InfernoWrapperComponent.prototype.componentDidMount = function () {\n var el = inferno_1.findDOMfromVNode(this.$LI, true);\n this.vDomElement = el;\n _super.prototype.componentDidMount.call(this);\n el.dxClasses = el.dxClasses || {\n removed: [], added: [], previous: [],\n };\n el.dxClasses.previous = (el === null || el === void 0 ? void 0 : el.className.length) ? el.className.split(' ')\n : [];\n };\n InfernoWrapperComponent.prototype.componentDidUpdate = function () {\n _super.prototype.componentDidUpdate.call(this);\n var el = this.vDomElement;\n if (el !== null) {\n el.dxClasses.added.forEach(function (className) { return el.classList.add(className); });\n el.dxClasses.removed.forEach(function (className) { return el.classList.remove(className); });\n el.dxClasses.previous = el.className.length\n ? el.className.split(' ')\n : [];\n }\n };\n InfernoWrapperComponent.prototype.shouldComponentUpdate = function (nextProps, nextState) {\n var shouldUpdate = _super.prototype.shouldComponentUpdate.call(this, nextProps, nextState);\n if (shouldUpdate) {\n this.vDomUpdateClasses();\n }\n return shouldUpdate;\n };\n return InfernoWrapperComponent;\n}(InfernoComponent));\nexports.InfernoWrapperComponent = InfernoWrapperComponent;\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 (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\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 });\nvar inferno_1 = require(\"inferno\");\nvar contextId = 0;\nexports.createContext = function (defaultValue) {\n var id = contextId++;\n return {\n id: id,\n defaultValue: defaultValue,\n Provider: /** @class */ (function (_super) {\n __extends(class_1, _super);\n function class_1() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n class_1.prototype.getChildContext = function () {\n var _a;\n return __assign(__assign({}, this.context), (_a = {}, _a[id] = this.props.value || defaultValue, _a));\n };\n class_1.prototype.render = function () {\n return this.props.children;\n };\n return class_1;\n }(inferno_1.Component)),\n };\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar InfernoEffect = /** @class */ (function () {\n function InfernoEffect(effect, dependency) {\n this.dependency = dependency;\n this.effect = effect;\n this.destroy = effect();\n }\n InfernoEffect.prototype.update = function (dependency) {\n var currentDependency = this.dependency;\n if (dependency) {\n this.dependency = dependency;\n }\n if (!dependency || dependency.some(function (d, i) { return currentDependency[i] !== d; })) {\n this.dispose();\n this.destroy = this.effect();\n }\n };\n InfernoEffect.prototype.dispose = function () {\n if (this.destroy) {\n this.destroy();\n }\n };\n return InfernoEffect;\n}());\nexports.InfernoEffect = InfernoEffect;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.InfernoEffectHost = {\n lockCount: 0,\n lock: function () {\n this.lockCount++;\n },\n callbacks: [],\n callEffects: function () {\n this.lockCount--;\n if (this.lockCount < 0) {\n throw new Error('Unexpected Effect Call');\n }\n if (this.lockCount === 0) {\n var effects = this.callbacks;\n this.callbacks = [];\n effects.forEach(function (callback) { return callback(); });\n }\n },\n};\n","\"use strict\";\nfunction __export(m) {\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\n}\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__export(require(\"./base_component\"));\n__export(require(\"./create_context\"));\n__export(require(\"./effect\"));\n__export(require(\"./effect_host\"));\n__export(require(\"./portal\"));\n__export(require(\"./re_render_effect\"));\n__export(require(\"./mocked/hydrate\"));\n__export(require(\"./render_template\"));\n__export(require(\"./normalize_styles\"));\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar inferno_1 = require(\"inferno\");\nvar shared_1 = require(\"./shared\");\nfunction isSameInnerHTML(dom, innerHTML) {\n var tempdom = document.createElement('i');\n tempdom.innerHTML = innerHTML;\n return tempdom.innerHTML === dom.innerHTML;\n}\nfunction findLastDOMFromVNode(vNode) {\n var flags;\n var 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 var type = vNode.type;\n var ref = vNode.ref;\n var props = vNode.props || inferno_1.EMPTY_OBJ;\n var currentNode;\n if (isClass) {\n var instance = inferno_1._CI(vNode, type, props, context, isSVG, lifecycle);\n var input = instance.$LI;\n currentNode = hydrateVNode(input, parentDOM, dom, instance.$CX, isSVG, lifecycle);\n inferno_1._MCCC(ref, instance, lifecycle);\n }\n else {\n var input = inferno_1._HI(inferno_1._RFC(vNode, context));\n currentNode = hydrateVNode(input, parentDOM, dom, context, isSVG, lifecycle);\n vNode.children = input;\n inferno_1._MFCC(vNode, lifecycle);\n }\n return currentNode;\n}\nfunction hydrateChildren(parentVNode, parentNode, currentNode, context, isSVG, lifecycle) {\n var childFlags = parentVNode.childFlags;\n var children = parentVNode.children;\n var props = parentVNode.props;\n var flags = parentVNode.flags;\n if (childFlags !== 1 /* HasInvalidChildren */) {\n if (childFlags === 2 /* HasVNodeChildren */) {\n if (shared_1.isNull(currentNode)) {\n inferno_1._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 (shared_1.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 var prevVNodeIsTextNode = false;\n for (var i = 0, len = children.length; i < len; ++i) {\n var child = children[i];\n if (shared_1.isNull(currentNode) || (prevVNodeIsTextNode && (child.flags & 16 /* Text */) > 0)) {\n inferno_1._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 var nextSibling = null;\n while (currentNode) {\n nextSibling = currentNode.nextSibling;\n parentNode.removeChild(currentNode);\n currentNode = nextSibling;\n }\n }\n }\n else if (!shared_1.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 var props = vNode.props;\n var className = vNode.className;\n var flags = vNode.flags;\n var ref = vNode.ref;\n isSVG = isSVG || (flags & 32 /* SvgElement */) > 0;\n if (dom.nodeType !== 1) {\n inferno_1._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 (!shared_1.isNull(props)) {\n inferno_1._MP(vNode, flags, props, dom, isSVG);\n }\n if (shared_1.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 inferno_1._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 var 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 var 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 var 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 shared_1.throwError();\n return null;\n}\nfunction hydrate(input, parentDOM, callback) {\n var dom = parentDOM.firstChild;\n if (shared_1.isNull(dom)) {\n inferno_1.render(input, parentDOM, callback);\n }\n else {\n var lifecycle = [];\n if (!shared_1.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 var listener = void 0;\n while ((listener = lifecycle.shift()) !== undefined) {\n listener();\n }\n }\n }\n parentDOM.$V = input;\n if (shared_1.isFunction(callback)) {\n callback();\n }\n}\nexports.hydrate = hydrate;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ERROR_MSG = 'a runtime error occured! Use Inferno in development environment to find the error.';\nfunction isNullOrUndef(o) {\n return o === void 0 || o === null;\n}\nexports.isNullOrUndef = isNullOrUndef;\nfunction isInvalid(o) {\n return o === null || o === false || o === true || o === void 0;\n}\nexports.isInvalid = isInvalid;\nfunction isFunction(o) {\n return typeof o === 'function';\n}\nexports.isFunction = isFunction;\nfunction isNull(o) {\n return o === null;\n}\nexports.isNull = isNull;\nfunction throwError(message) {\n if (!message) {\n message = exports.ERROR_MSG;\n }\n throw new Error(\"Inferno Error: \" + message);\n}\nexports.throwError = throwError;\n","\"use strict\";\nvar __read = (this && this.__read) || function (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};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar 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]);\nvar isNumeric = function (value) {\n if (typeof value === 'number')\n return true;\n return !Number.isNaN(Number(value));\n};\nvar getNumberStyleValue = function (style, value) { return (NUMBER_STYLES.has(style) ? value : value + \"px\"); };\nvar uppercasePattern = /[A-Z]/g;\nvar kebabCase = function (str) { return str.replace(uppercasePattern, '-$&').toLowerCase(); };\nfunction normalizeStyles(styles) {\n if (!(styles instanceof Object)) {\n return undefined;\n }\n return Object\n .entries(styles)\n .reduce(function (acc, _a) {\n var _b = __read(_a, 2), key = _b[0], value = _b[1];\n acc[kebabCase(key)] = isNumeric(value)\n ? getNumberStyleValue(key, value)\n : value;\n return acc;\n }, {});\n}\nexports.normalizeStyles = normalizeStyles;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar inferno_1 = require(\"inferno\");\nexports.Portal = function (_a) {\n var container = _a.container, children = _a.children;\n if (container) {\n return inferno_1.createPortal(children, container);\n }\n return null;\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar inferno_1 = require(\"inferno\");\nvar effect_1 = require(\"./effect\");\nexports.createReRenderEffect = function () { return new effect_1.InfernoEffect(function () {\n inferno_1.rerender();\n}, []); };\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar inferno_1 = require(\"inferno\");\nvar inferno_create_element_1 = require(\"inferno-create-element\");\nvar getContainer = function (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)); };\nfunction renderTemplate(template, props, _component) {\n setTimeout(function () {\n inferno_1.render(inferno_create_element_1.createElement(template, props), getContainer(props));\n }, 0);\n}\nexports.renderTemplate = renderTemplate;\nexports.hasTemplate = function (name, properties, _component) {\n var value = properties[name];\n return !!value && typeof value !== 'string';\n};\n","import { getCurrentTemplateEngine } from 'devextreme/core/templates/template_engine_registry';\r\nimport { Template } from 'devextreme/core/templates/template';\r\n\r\nwindow.Pillardx = {};\r\n\r\nwindow.Pillardx.getCurrentTemplateEngine = getCurrentTemplateEngine;\r\nwindow.Pillardx.createTemplate = function (element) {\r\n return new Template(element);\r\n}\r\n\r\n\r\nlet currentMsgPtr = window.DevExpress.localization.formatMessage;\r\n\r\nwindow.DevExpress.localization.formatMessage = (...args) => {\r\n let res = currentMsgPtr(args);\r\n if (res == ''&&args.length > 0) {\r\n return args[0];\r\n }\r\n return res;\r\n};\r\n\r\n//We are going to use this standard for translations as I like it\r\n//https://developer.wordpress.org/reference/functions/__/\r\nwindow.__ = window.DevExpress.localization.formatMessage;","// 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()).\nvar getRandomValues;\nvar rnds8 = new Uint8Array(16);\nexport default function 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}","export 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;","import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nvar byteToHex = [];\n\nfor (var i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).substr(1));\n}\n\nfunction stringify(arr) {\n var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 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 var 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 (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;","import REGEX from './regex.js';\n\nfunction validate(uuid) {\n return typeof uuid === 'string' && REGEX.test(uuid);\n}\n\nexport default validate;","import rng from './rng.js';\nimport stringify from './stringify.js';\n\nfunction v4(options, buf, offset) {\n options = options || {};\n var rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\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 (var i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return stringify(rnds);\n}\n\nexport default v4;","import { getCurrentTemplateEngine } from 'devextreme/core/templates/template_engine_registry';\r\nimport {v4 as newGuid} from 'uuid'\r\n\r\nconst MATCH_COMPONENT = /(?!<%)DevExpress.aspnet.createComponent.+?%>([^%%]*)(?=%>)/gs;\r\nconst MATCH_DEV_EX_CONTENT = /<%!function\\(\\){%>.*?(\\)%><%})\\(.*?(\\)%>)/gs//this will get each instance of a devex block\r\nconst DEV_EX_STRIP_ARGS = /(?<=<%!function\\(\\){%>).*},arguments\\[.+\\].*\\)%>.*(?=<%})/gs//this will get the content of each devex block\r\nconst DEV_EX_ARGS_ID = /(?<=<%!function\\(\\){%>.*},arguments\\[.+\\].*\\)%>.*<%}\\().*?(?=\\)%>)/gs;\r\nconst DEV_EX_ARGS_ERP_REPLACE_ID = /(?<=<%=arguments\\[)0(?=\\]%>)/gs;\r\nconst DEV_EX_ARGS_REPLACE_ID = /(?<=arguments\\[)0(?=\\]\\)%>)/;\r\n\r\nexport default class XTemplate {\r\n constructor(dxContainer ,itemData, itemIndex, itemElement, control) {\r\n this._dxContainer = dxContainer;\r\n this._itemData = itemData;\r\n this._itemIndex = itemIndex;\r\n this._itemElement = itemElement;\r\n this._control = control;\r\n this._provideDxCustomTemplate = false;\r\n }\r\n\r\n _normalizeData(data){\r\n\r\n Object.keys(data).forEach(key => {\r\n data[key] = this._normalize(data[key]);\r\n });\r\n }\r\n\r\n _normalize(data) {\r\n //since the placeholder fills in just content some data types need to be wrapped\r\n //IDK if there is a better way of handling this but it's kinda nightmarish\r\n switch (typeof data) {\r\n case \"boolean\":\r\n return data;\r\n case \"number\":\r\n return data;\r\n case \"bigint\":\r\n return data;\r\n case \"symbol\":\r\n break;\r\n case \"string\":\r\n return `\"${data}\"`;\r\n case \"function\":\r\n return data;\r\n case \"object\":\r\n if (Array.isArray(data)) {\r\n let newData = []\r\n data.forEach(d => newData.push(this._normalize(d)));\r\n return newData;\r\n }\r\n return \"null\";\r\n default:\r\n case \"undefined\":\r\n return \"null\";\r\n }\r\n }\r\n\r\n _renderCustomTemplateAsString(templateString) {\r\n let template_engine = getCurrentTemplateEngine();\r\n this._normalizeData(this._currentContextTemplateData);\r\n\r\n let template = template_engine.compile(templateString);\r\n let result = template_engine.render(template,this._currentContextTemplateData);\r\n return result;\r\n }\r\n\r\n _combineItemDataAndCurrentTemplateData(){\r\n return {...this._itemData, ...this._currentContextTemplateData}\r\n }\r\n\r\n _provideCustomTemplate() {\r\n if(this._provideDxCustomTemplate) {\r\n let uid = this._itemIndex;\r\n if(uid == null)\r\n {\r\n uid = newGuid();\r\n }\r\n\r\n return $(``);//actually it looks like the id property maybe not be set correctly\r\n }\r\n\r\n return this._htmlXTemplate;\r\n };\r\n\r\n _reformatTemplate(thresholdElements = 1) {\r\n let devExContent = this._htmlXTemplateContent.match(MATCH_DEV_EX_CONTENT);\r\n if(devExContent != null &&devExContent.length >= thresholdElements)\r\n {\r\n this._formatDevExContent = new Array(devExContent.length);\r\n let content = this._formatWithPlaceHolders(devExContent);\r\n this._reformatDevExContent();\r\n content = this._addFunctionBlock(content);\r\n content = this._fillPlaceHolders(content);\r\n //this I can add that fill code here\r\n this._htmlXTemplateContent = content;\r\n this._provideDxCustomTemplate = true;\r\n }\r\n }\r\n\r\n _addFunctionBlock(content) {\r\n let sb = [];\r\n sb.push(\"<%!function(){%>\");\r\n sb.push(content);\r\n sb.push(\"<%}\");\r\n sb.push(\"(\");\r\n for(let i = 0;i < this._formatDevExContent.length;i++)\r\n {\r\n sb.push(this._formatDevExContent[i].devexID);\r\n if(i < this._formatDevExContent.length - 1)\r\n {\r\n sb.push(',');\r\n }\r\n } \r\n sb.push(\")%>\");\r\n return sb.join(\"\");\r\n }\r\n\r\n _fillPlaceHolders(content){\r\n for(let i = 0;i < this._formatDevExContent.length;i++)\r\n {\r\n content = content.replace(this._formatDevExContent[i].placeholder,this._formatDevExContent[i].devExContent);\r\n }\r\n return content;\r\n }\r\n\r\n _formatWithPlaceHolders(devExContent){\r\n let nonDevExContent = this._htmlXTemplateContent;\r\n for(let i = 0;i < devExContent.length;i++)\r\n {\r\n let placeholder = `
`;\r\n this._formatDevExContent[i] = {placeholder: placeholder, devExContent: devExContent[i]};\r\n nonDevExContent = nonDevExContent.replace(devExContent[i],placeholder);\r\n }\r\n return nonDevExContent;\r\n }\r\n\r\n _reformatDevExContent() {\r\n for(let i = 0;i < this._formatDevExContent.length;i++)\r\n {\r\n let str = this._formatDevExContent[i].devExContent;\r\n this._formatDevExContent[i].devexID = str.match(DEV_EX_ARGS_ID)[0];\r\n str = str.match(DEV_EX_STRIP_ARGS)[0];\r\n if(i > 0)\r\n {\r\n str = str.replace(DEV_EX_ARGS_ERP_REPLACE_ID, i);\r\n str = str.replace(DEV_EX_ARGS_REPLACE_ID, i);\r\n } \r\n this._formatDevExContent[i].devExContent = str;\r\n }\r\n }\r\n\r\n _FireClientSideEvent() {\r\n if (this._control.SetTemplateEventFunc !== null || this._control.SetTemplateEventFunc !== \"\") {\r\n this._mainElement = this._dxContainer._$element;\r\n\r\n if(typeof this._control.SetTemplateEventFunc === \"function\") {\r\n this._currentContextTemplateData = this._control.SetTemplateEventFunc(this._itemData, this._itemIndex, this._itemElement, this._mainElement);\r\n }\r\n }\r\n\r\n if (this._currentContextTemplateData == null)\r\n this._currentContextTemplateData = this._itemData;\r\n\r\n if (this._currentContextTemplateData === this._itemData) {\r\n this._currentContextTemplateData = { ...this._currentContextTemplateData };//these 2 can't be the same reference\r\n }\r\n\r\n\r\n };\r\n\r\n _setXTemplateData() {\r\n this._htmlXTemplate = $('#' + this._control.TemplateIdentifier);\r\n if(this._htmlXTemplate.length > 0)\r\n {\r\n this._htmlXTemplateContent = this._htmlXTemplate.eq(0).html();\r\n }\r\n else{\r\n throw \"Template not Found Error\";\r\n }\r\n }\r\n\r\n _fillDXComponentPlaceHolders(){\r\n //DevExtreme has limitations in place with it's template code the Contents in the createComponent break the template code so we need to replace it before devextreme has a look at it\r\n //We need to provide a copy of the template because that's what devextreme is expecting. devextreme will copy the template via a Jquery text / html template to create the element\r\n let match = this._htmlXTemplateContent.match(MATCH_COMPONENT);//this will get the DevExpress.aspnet.createComponent method inside the template using regex\r\n if (match != null) {\r\n if (match.length != 1) {\r\n console.warn(\"Issue Constructing XTemplate\");\r\n }\r\n let matchdata = match[0];\r\n if (matchdata != null) {\r\n let templateString = '<%!function(){%>' + matchdata + '<%}()%>';\r\n let result = this._renderCustomTemplateAsString(templateString);\r\n this._htmlXTemplateContent = this._htmlXTemplateContent.replace(MATCH_COMPONENT,result);\r\n this._provideDxCustomTemplate = true;\r\n }\r\n }\r\n }\r\n static CreateXTemplate(that,args) {\r\n let itemData = null;\r\n let itemIndex = null;\r\n let itemElement = null;\r\n let control = null;\r\n if(args.length == 2)//If just the element and control are passed in\r\n {\r\n itemElement = args[0];\r\n control = args[1];\r\n }\r\n else if(args.length == 3)//if the itemdata,itemelement,control are passed in\r\n {\r\n itemData = args[0];\r\n itemElement = args[1];\r\n control = args[2];\r\n }\r\n else if (args.length == 4)//instance specific itemData, itemIndex, element, control variable are passed in\r\n {\r\n itemData = args[0];\r\n itemIndex = args[1];\r\n itemElement = args[2];\r\n control = args[3];\r\n }\r\n else{\r\n throw \"Invalid Arguments\";\r\n }\r\n var t = new XTemplate(that,itemData, itemIndex, itemElement, control);//These parameters are wrong for that one template\r\n return t;\r\n }\r\n\r\n static NestedTemplates(itemdata,itemIndex,itemElement,mainElement,control)\r\n {\r\n for(let i = 0;i < control.Templates.length;i++)\r\n {\r\n let childTemplate = new XTemplate(this,{},null,itemElement,control.Templates[i]);\r\n childTemplate._setXTemplateData();\r\n childTemplate._reformatTemplate(0);\r\n childTemplate._FireClientSideEvent();\r\n childTemplate._fillDXComponentPlaceHolders();\r\n childTemplate._currentContextTemplateData = childTemplate._combineItemDataAndCurrentTemplateData();\r\n let result = childTemplate._renderCustomTemplateAsString(childTemplate._htmlXTemplateContent); \r\n itemdata[control.Templates[i].TemplateIdentifier] = result;\r\n }\r\n\r\n // let t = XTemplate.CreateXTemplate(this,args);\r\n // t._setXTemplateData();\r\n // t._reformatTemplate();\r\n // t._FireClientSideEvent();\r\n\r\n }\r\n\r\n static JsFuncTemplateHandler(...args){\r\n let t = XTemplate.CreateXTemplate(this,args);\r\n t._setXTemplateData();\r\n t._reformatTemplate();\r\n t._FireClientSideEvent();\r\n t._fillDXComponentPlaceHolders();\r\n return t._provideCustomTemplate();\r\n }\r\n}\r\nwindow.xTemplate = {};\r\nwindow.xTemplate.NestedTemplates = XTemplate.NestedTemplates;\r\nwindow.xTemplate.JsFuncTemplateHandler = XTemplate.JsFuncTemplateHandler;","import XTemplate from \"./xTemplate\";\r\n\r\nexport default class xTemplateCustomRenderer {\r\n constructor(control){\r\n this._control = control;\r\n this.allowRenderToDetachedContainer = false;\r\n this.skipTemplates = false;\r\n this.isAsyncTemplate = false;\r\n this._templateElement = $('#' + this._control.TemplateIdentifier);\r\n }\r\n\r\n _jsFuncTemplateHandler(){\r\n let that = this;\r\n return function(...args) {\r\n args.push(that._control)\r\n return XTemplate.JsFuncTemplateHandler.apply(this,args);\r\n }\r\n }\r\n\r\n render(container, model, change) {\r\n let dxParentComponent = model.component;\r\n let templateManager = dxParentComponent._templateManager;\r\n\r\n let options = {\r\n container: container,\r\n model: model,\r\n change: change,\r\n //index: \r\n };\r\n \r\n\r\n let functionTemplate = templateManager.getTemplate(this._jsFuncTemplateHandler(),{},this,dxParentComponent);\r\n let renderResult = functionTemplate.render(options);\r\n\r\n }\r\n\r\n static CreateHandler(control){\r\n return new xTemplateCustomRenderer(control)\r\n }\r\n\r\n}\r\n//window.xTemplate should be already populated\r\nwindow.xTemplate.CreateCustomRenderer = xTemplateCustomRenderer.CreateHandler;","/*!\n * DevExpress Diagram (dx-diagram.min)\n * Version: 2.1.75\n * Build date: Tue May 02 2023\n * \n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\n * Read about DevExpress licensing here: https://www.devexpress.com/Support/EULAs\n */\n!function(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define([],e):\"object\"==typeof exports?exports.diagram=e():(t.DevExpress=t.DevExpress||{},t.DevExpress.diagram=e())}(this,function(){return function(t){var e={};function n(o){if(e[o])return e[o].exports;var i=e[o]={i:o,l:!1,exports:{}};return t[o].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.d=function(t,e,o){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:o})},n.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&\"object\"==typeof t&&t&&t.__esModule)return t;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,\"default\",{enumerable:!0,value:t}),2&e&&\"string\"!=typeof t)for(var i in t)n.d(o,i,function(e){return t[e]}.bind(null,i));return o},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,\"a\",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p=\"\",n(n.s=58)}([function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var o=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=o},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ShapeType=e.ShapeTypes=e.ShapeCategories=void 0;var o=function(){function t(){}return t.General=\"general\",t.Flowchart=\"flowchart\",t.OrgChart=\"orgChart\",t.Containers=\"containers\",t.Custom=\"custom\",t}();e.ShapeCategories=o;var i=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=i,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={}))},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var o=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=o},function(t,e,n){\"use strict\";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(174);var o=n(2),i=n(0),r=n(13),s=n(41),a=n(35),c=n(24),u=n(60),h=n(33),p=n(27),l=n(18),d=n(65),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},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ModelUtils=void 0;var o=n(12),i=n(35),r=n(0),s=n(13),a=n(2),c=n(60),u=n(24),h=n(47),p=n(48),l=n(66),d=n(188),f=n(53),y=n(86),g=n(112),m=n(67),v=n(113),P=n(114),C=n(189),S=n(190),x=n(191),b=n(192),I=n(115),w=n(68),_=n(193),O=n(194),T=n(88),M=n(69),E=n(116),D=n(117),A=n(89),R=n(70),L=n(54),N=n(195),z=n(38),j=n(3),U=n(6),k=n(32),B=n(30),H=n(85),K=n(14),V=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){var n=e.map(function(t){return t.clone()});t.removeUnnecessaryRenderPoints(n),e.forEach(function(t){return t.skipped=n.some(function(e){return e.skipped&&e.equals(t)})}),e[0].skipped=!1,e[e.length-1].skipped=!1},t.skipUnnecessaryRightAngleRenderPoints=function(e){var n=e.map(function(t){return t.clone()});t.removeUnnecessaryRightAngleRenderPoints(n),e.forEach(function(t){return t.skipped=n.some(function(e){return e.skipped&&e.equals(t)})}),e[0].skipped=!1,e[e.length-1].skipped=!1},t.removeUnnecessaryRenderPoints=function(e){j.GeometryUtils.removeUnnecessaryPoints(e,function(n,o){return t.removeUnnecessaryPoint(e,n,o)},function(t){return void 0!==t&&!t.skipped}),e[0].skipped=!1,e[e.length-1].skipped=!1},t.removeUnnecessaryRightAngleRenderPoints=function(e){j.GeometryUtils.removeUnnecessaryRightAnglePoints(e,function(n,o){return t.removeUnnecessaryPoint(e,n,o)},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){return-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 T.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 T.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?h=!0:u.nodes.length&&(o?h=!0: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.connectionPointActionSize=o.UnitConverter.pixelsToTwips(8),t}();e.ModelUtils=V},function(t,e,n){\"use strict\";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])})(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.PathPrimitiveClosePathCommand=e.PathPrimitiveArcToCommand=e.PathPrimitiveQuadraticCurveToCommand=e.PathPrimitiveCubicCurveToCommand=e.PathPrimitiveLineToCommand=e.PathPrimitiveMoveToCommand=e.PathPrimitiveCommand=e.PathPrimitive=void 0;var r=n(15),s=n(25),a=n(109),c=function(t){function e(e,n,o,i,r){var s=t.call(this,n,o,i,r)||this;return s.commands=e.map(function(t){return t.style=n,t}),s}return i(e,t),e.prototype.createMainElement=function(){return document.createElementNS(r.svgNS,\"path\")},e.prototype.applyElementProperties=function(e,n){e.setAttribute(\"d\",this.commands.map(function(t){return t.toString()}).join(\" \")),this.setPositionCorrectionAttribute(e),t.prototype.applyElementProperties.call(this,e,n)},e}(s.SvgPrimitive);e.PathPrimitive=c;var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e}(a.PrimitiveObject);e.PathPrimitiveCommand=u;var h=function(t){function e(e,n){var o=t.call(this)||this;return o.x=e,o.y=n,o}return i(e,t),e.prototype.toString=function(){return\"M \"+this.getUnitVaue(this.x)+\" \"+this.getUnitVaue(this.y)},e.fromPoint=function(t){return new e(t.x,t.y)},e}(u);e.PathPrimitiveMoveToCommand=h;var p=function(t){function e(e,n){var o=t.call(this)||this;return o.x=e,o.y=n,o}return i(e,t),e.prototype.toString=function(){return\"L \"+this.getUnitVaue(this.x)+\" \"+this.getUnitVaue(this.y)},e.fromPoint=function(t){return new e(t.x,t.y)},e}(u);e.PathPrimitiveLineToCommand=p;var l=function(t){function e(e,n,o,i,r,s){var a=t.call(this)||this;return a.x1=e,a.y1=n,a.x2=o,a.y2=i,a.x3=r,a.y3=s,a}return i(e,t),e.prototype.toString=function(){return\"C \"+this.getUnitVaue(this.x1)+\" \"+this.getUnitVaue(this.y1)+\",\"+this.getUnitVaue(this.x2)+\" \"+this.getUnitVaue(this.y2)+\",\"+this.getUnitVaue(this.x3)+\" \"+this.getUnitVaue(this.y3)},e}(u);e.PathPrimitiveCubicCurveToCommand=l;var d=function(t){function e(e,n,o,i){var r=t.call(this)||this;return r.x1=e,r.y1=n,r.x2=o,r.y2=i,r}return i(e,t),e.prototype.toString=function(){return\"Q \"+this.getUnitVaue(this.x1)+\" \"+this.getUnitVaue(this.y1)+\",\"+this.getUnitVaue(this.x2)+\" \"+this.getUnitVaue(this.y2)},e}(u);e.PathPrimitiveQuadraticCurveToCommand=d;var f=function(t){function e(e,n,o,i,r,s,a){var c=t.call(this)||this;return c.rx=e,c.ry=n,c.xAxisRotation=o,c.largeArcFlag=i,c.sweepFag=r,c.x=s,c.y=a,c}return i(e,t),e.prototype.toString=function(){return\"A \"+this.getUnitVaue(this.rx)+\" \"+this.getUnitVaue(this.ry)+\" \"+this.getUnitVaue(this.xAxisRotation)+\" \"+(this.largeArcFlag?\"1\":\"0\")+\" \"+(this.sweepFag?\"1\":\"0\")+this.getUnitVaue(this.x)+\",\"+this.getUnitVaue(this.y)},e}(u);e.PathPrimitiveArcToCommand=f;var y=function(t){function e(){return t.call(this)||this}return i(e,t),e.prototype.toString=function(){return\"z\"},e}(u);e.PathPrimitiveClosePathCommand=y},function(t,e,n){\"use strict\";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])})(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.Connector=e.CONNECTOR_DEFAULT_TEXT_POSITION=e.ConnectorPosition=void 0;var r,s=n(12),a=n(13),c=n(33),u=n(2),h=n(42),p=n(84),l=n(11),d=n(43),f=n(5),y=n(63),g=n(17),m=n(29),v=n(3),P=n(9),C=n(4),S=n(179),x=n(180),b=n(186),I=n(32),w=n(187),_=n(85);!function(t){t[t.Begin=0]=\"Begin\",t[t.End=1]=\"End\"}(r=e.ConnectorPosition||(e.ConnectorPosition={})),e.CONNECTOR_DEFAULT_TEXT_POSITION=.5;var O=function(t){function n(e){var n=t.call(this)||this;if(n.beginConnectionPointIndex=-1,n.endConnectionPointIndex=-1,n.properties=new I.ConnectorProperties,n.points=e.map(function(t){return t.clone()}),e.length<2)throw Error(\"Points count should be greater than 1\");return n.texts=new w.ConnectorTexts,n}return i(n,t),Object.defineProperty(n.prototype,\"rectangle\",{get:function(){return v.GeometryUtils.createRectagle(this.getRenderPoints(!0))},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,\"skippedRenderPoints\",{get:function(){return this.renderPoints?this.renderPoints.filter(function(t){return t.skipped}):void 0},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,\"shouldChangeRenderPoints\",{get:function(){return void 0!==this.renderPoints&&void 0!==this.routingStrategy},enumerable:!1,configurable:!0}),n.prototype.assign=function(e){t.prototype.assign.call(this,e),e.beginItem=this.beginItem,e.beginConnectionPointIndex=this.beginConnectionPointIndex,e.endItem=this.endItem,e.endConnectionPointIndex=this.endConnectionPointIndex,e.properties=this.properties.clone(),e.texts=this.texts.clone(),void 0!==this.routingStrategy&&(e.routingStrategy=this.routingStrategy.clone()),void 0!==this.renderPoints&&(e.renderPoints=this.renderPoints.map(function(t){return t.clone()})),void 0!==this.renderPointsWithoutSkipped&&(e.renderPointsWithoutSkipped=this.renderPointsWithoutSkipped.map(function(t){return t.clone()})),void 0!==this.actualRoutingMode&&(e.actualRoutingMode=this.actualRoutingMode),void 0!==this.lockCreateRenderPoints&&(e.lockCreateRenderPoints=this.lockCreateRenderPoints),void 0!==this.shouldInvalidateRenderPoints&&(e.shouldInvalidateRenderPoints=this.shouldInvalidateRenderPoints)},n.prototype.clone=function(){var t=new n(this.points);return this.assign(t),t},n.prototype.getTextCount=function(){return this.texts.count()},n.prototype.getText=function(t){void 0===t&&(t=e.CONNECTOR_DEFAULT_TEXT_POSITION);var n=this.texts.get(t);return n?n.value:\"\"},n.prototype.setText=function(t,n){void 0===n&&(n=e.CONNECTOR_DEFAULT_TEXT_POSITION),t&&\"\"!==t?this.texts.set(n,new w.ConnectorText(n,t)):this.texts.remove(n)},n.prototype.getTextPoint=function(t){var e=this.getRenderPoints();return v.GeometryUtils.getPathPointByPosition(e,t)[0]},n.prototype.getTextPositionByPoint=function(t){var e=this.getRenderPoints(),n=v.GeometryUtils.getPathLength(e),o=v.GeometryUtils.getPathPositionByPoint(e,t),i=s.UnitConverter.pointsToTwips(parseInt(this.styleText[\"font-size\"]));return i>o*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,o){this.shouldChangeRenderPoints?(0!==t&&n!==this.points.length-1||(this.lockCreateRenderPoints=!1),this.replaceRenderPointsCore(this.routingStrategy.onMovePoints(this.points,t,e,n,o,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=O},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ShapeDescription=e.ShapeTextPadding=e.ShapeDefaultSize=e.ShapeMinDimension=e.ShapeDefaultDimension=void 0;var o=n(12),i=n(2),r=n(36),s=n(43),a=n(21),c=n(63),u=n(3),h=n(45),p=n(9);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},function(t,e,n){\"use strict\";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])})(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.CompositionHistoryItem=e.HistoryItem=void 0;var r=function(){function t(){this.uniqueId=-1}return t.prototype.changeModified=function(){return!0},t.prototype.getName=function(){return this.constructor.name},t}();e.HistoryItem=r;var s=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.historyItems=[],e.dataSyncItems=[],e}return i(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}(r);e.CompositionHistoryItem=s},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.DiagramItem=e.DEFAULT_ZINDEX=e.ConnectionPointSide=void 0;var o,i=n(13),r=n(35),s=n(3),a=n(27);!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?r: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},function(t,e,n){\"use strict\";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])})(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.SimpleCommandBase=void 0;var r=n(197),s=n(198),a=n(4),c=n(36),u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.getState=function(){return new s.SimpleCommandState(this.isEnabled(),this.getValue(),this.getDefaultValue(),this.getItems(),this.isVisible())},e.prototype.isVisible=function(){return!0},e.prototype.isEnabled=function(){return!this.control.settings.readOnly||this.isEnabledInReadOnlyMode()},e.prototype.isEnabledInReadOnlyMode=function(){return!1},e.prototype.getValue=function(){},e.prototype.getDefaultValue=function(){},e.prototype.getItems=function(){},e.prototype.getModelUnit=function(t){return a.ModelUtils.getlUnitValue(this.control.model.units,t)},e.prototype.getModelUnitText=function(t){return a.ModelUtils.getUnitText(this.control.model.units,c.DiagramLocalizationService.unitItems,c.DiagramLocalizationService.formatUnit,t)},e.prototype.getModelUnitTwipsValue=function(t){return a.ModelUtils.getTwipsValue(this.control.model.units,t)},e.prototype.getViewUnit=function(t){return a.ModelUtils.getlUnitValue(this.control.settings.viewUnits,t)},e.prototype.getViewUnitText=function(t){return a.ModelUtils.getUnitText(this.control.settings.viewUnits,c.DiagramLocalizationService.unitItems,c.DiagramLocalizationService.formatUnit,t)},e.prototype.getViewUnitTwipsValue=function(t){return a.ModelUtils.getTwipsValue(this.control.settings.viewUnits,t)},e}(r.CommandBase);e.SimpleCommandBase=u},function(t,e,n){\"use strict\";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])})(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(26);!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(){return 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(){return 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(){return 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},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var o=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=o},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var o,i=n(163),r=n(164),s=n(106),a=n(0),c=n(2),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},function(t,e,n){\"use strict\";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])})(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.Shape=void 0;var r=n(13),s=n(7),a=n(37),c=n(9),u=n(45),h=n(51),p=n(84),l=function(t){function e(e,n,o){var i=t.call(this)||this;if(i.description=e,i.children=[],i.expanded=!0,i.expandedSize=void 0,!e)throw Error(\"Shape type is incorrect\");i.position=n.clone();var r=o?e.toolboxSize:e.defaultSize;return i.size=r.clone(),i.text=e.getDefaultText(),i.image=new h.ImageInfo(e.getDefaultImageUrl()),i.parameters=new a.ShapeParameters,e.createParameters(i.parameters),i}return i(e,t),e.prototype.assign=function(e){t.prototype.assign.call(this,e),e.size=this.size.clone(),e.text=this.text,e.image=this.image.clone(),e.parameters=this.parameters.clone(),e.children=this.children.slice(),e.expanded=this.expanded,this.expandedSize&&(e.expandedSize=this.expandedSize.clone())},e.prototype.clone=function(){var t=new e(this.description,this.position.clone());return this.assign(t),t},Object.defineProperty(e.prototype,\"enableText\",{get:function(){return this.description.enableText},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"allowEditText\",{get:function(){return this.description.allowEditText},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"hasTemplate\",{get:function(){return this.description.hasTemplate},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"enableChildren\",{get:function(){return this.description.enableChildren},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"enableImage\",{get:function(){return this.description.enableImage},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"allowEditImage\",{get:function(){return this.description.allowEditImage},enumerable:!1,configurable:!0}),e.prototype.getMinWidth=function(t){return\"number\"==typeof this.description.minWidth?this.description.minWidth:\"number\"==typeof t?t:s.ShapeMinDimension},e.prototype.getMinHeight=function(t){return\"number\"==typeof this.description.minHeight?this.description.minHeight:\"number\"==typeof t?t:s.ShapeMinDimension},e.prototype.getMaxWidth=function(t){return\"number\"==typeof this.description.maxWidth?this.description.maxWidth:\"number\"==typeof t?t:void 0},e.prototype.getMaxHeight=function(t){return\"number\"==typeof this.description.maxHeight?this.description.maxHeight:\"number\"==typeof t?t:void 0},e.prototype.createPrimitives=function(t){return this.description.createPrimitives(this,t)},e.prototype.createSelectorPrimitives=function(){return this.description.createSelectorPrimitives(this)},e.prototype.normalizeX=function(t){return Math.max(this.position.x,Math.min(t,this.position.x+this.size.width))},e.prototype.normalizeY=function(t){return Math.max(this.position.y,Math.min(t,this.position.y+this.size.height))},e.prototype.getConnectionPoints=function(){var t=this;return this.description.getConnectionPoints().map(function(e){var n=new u.ConnectionPoint(t.position.x+e.x*t.size.width,t.position.y+e.y*t.size.height,e.side);return t.description.processConnectionPoint(t,n),n})},e.prototype.getConnectionPointSide=function(t,e){return t.side!==c.ConnectionPointSide.Undefined?t.side:this.getConnectionPointSideByGeometry(t)},e.prototype.getConnectionPointSideByGeometry=function(t){var e=t.clone().offset(-this.position.x,-this.position.y).multiply(1/this.size.width,1/this.size.height);return s.ShapeDescription.getConnectionPointSideByGeometry(e)},e.prototype.getConnectionPointIndexForItem=function(t,e){return this.description.getConnectionPointIndexForItem(t,e)},e.prototype.getConnectionPointIndexForSide=function(t){return this.description.getConnectionPointIndexForSide(t)},e.prototype.toggleExpandedSize=function(){this.expanded?(this.size=this.getExpandedSize(),this.expandedSize=void 0):(this.expandedSize=this.size.clone(),this.size=this.getCollapsedSize())},e.prototype.getExpandedSize=function(){return this.description.getExpandedSize(this)},e.prototype.getCollapsedSize=function(){return this.description.getCollapsedSize(this)},e.prototype.getToolboxHeightToWidthRatio=function(){return this.description.getToolboxHeightToWidthRatio(this.size.width,this.size.height)},Object.defineProperty(e.prototype,\"allowResizeHorizontally\",{get:function(){return this.description.allowResizeHorizontally(this)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"allowResizeVertically\",{get:function(){return this.description.allowResizeVertically(this)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"rectangle\",{get:function(){return r.Rectangle.fromGeometry(this.position,this.size)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"clientRectangle\",{get:function(){return this.description.getClientRectangle(this)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"textRectangle\",{get:function(){return this.description.getTextRectangle(this)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"textEditRectangle\",{get:function(){return this.description.getTextEditRectangle(this)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"textAngle\",{get:function(){return this.description.getTextAngle()},enumerable:!1,configurable:!0}),e.prototype.toNative=function(t){var e=new p.NativeShape(this.key,this.dataKey);return e.type=this.description.key,e.text=this.text,e.position=this.position.clone(),e.size=this.size.clone(),e.attachedConnectorIds=this.attachedConnectors.map(function(t){return t.key}),e.applyUnits(t),e.containerId=this.container?this.container.key:null,e.containerChildItemIds=this.children.map(function(t){return t.key}),e.containerExpanded=this.expanded,e},e}(c.DiagramItem);e.Shape=l},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.RenderHelper=e.svgNS=void 0;var o=n(61);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},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.DiagramModelOperation=e.ModelOperationSettings=void 0;var o=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=o,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={}))},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.raiseEvent=e.RenderUtils=void 0;var o=n(11),i=n(24),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()}},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var o=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={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 r={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\"},s=\"(?:(\\\\d+)(?:\\\\.((?:\\\\d+?[1-9])|\\\\d)0*?)?)?\",a={Safari:\"applewebkit(?:.*?(?:version/(\\\\d+)(?:\\\\.((?:\\\\d+?[1-9])|\\\\d)0*?)?[\\\\.\\\\w\\\\d]*?(?:\\\\s+mobile/\\\\S*)?\\\\s+safari))?\",Chrome:\"(?:chrome|crios)(?!frame)(?:/|\\\\s*)?\"+s,Mozilla:\"mozilla(?:.*rv:\"+s+\".*Gecko)?\",Netscape:\"(?:netscape|navigator)\\\\d*/?\\\\s*\"+s,Firefox:\"firefox(?:/|\\\\s*)?\"+s,Opera:\"(?:opera|\\\\sopr)(?:/|\\\\s*)?\"+s,Opera10:\"opera.*\\\\s*version(?:/|\\\\s*)?\"+s,IE:\"msie\\\\s*\"+s,Edge:\"edge(?:/|\\\\s*)?\"+s},c=null,u=-1,h=0;h=0){if(\"IE\"===c&&u>=11&&\"Safari\"===p)continue;\"Opera10\"===(c=p)&&(c=\"Opera\");u=t.GetBrowserVersion(e,l,\"trident(?:/|\\\\s*)?(?:(\\\\d+)(?:\\\\.((?:\\\\d+?[1-9])|\\\\d)0*?)?)?\",t.getIECompatibleVersionString()),\"Mozilla\"===c&&u>=11&&(c=\"IE\")}}c||(c=\"IE\");var d=-1!==u;d||(u=i[c]);var f=null,y=Number.MAX_VALUE;for(var g in r)if(Object.prototype.hasOwnProperty.call(r,g)){var m=\"!\"===g.substr(0,1),v=e.indexOf((m?g.substr(1):g).toLowerCase());v>=0&&(v0;\"WinPhone\"===f&&u<9&&(u=Math.floor(t.getVersionFromTrident(e,\"trident(?:/|\\\\s*)?\"+s))),!n&&\"IE\"===c&&u>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;ir.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={}))},function(t,e,n){\"use strict\";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])})(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(15),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(25).SvgPrimitive);e.RectanglePrimitive=s},function(t,e,n){\"use strict\";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},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.PermissionRequestEventArgs=e.RequestedEntity=void 0;var o=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=o;var i=function(){return function(){this.allowed=!0,this.updateUI=!1}}();e.PermissionRequestEventArgs=i},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var o=n(105),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:t0)for(var p=0;p0;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},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ConnectorRoutingMode=e.AutoZoomMode=e.DiagramSettings=void 0;var o,i,r=n(3),s=n(2),a=n(47),c=n(4),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={}))},function(t,e,n){\"use strict\";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])})(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(0).Point);e.ConnectorRenderPoint=r},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ShapeParameterPoint=void 0;var o=function(){return function(t,e){this.key=t,this.point=e}}();e.ShapeParameterPoint=o},function(t,e,n){\"use strict\";var o,i;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\"}(o=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\"}(i=e.ConnectorLineEnding||(e.ConnectorLineEnding={})),e.DEFAULT_CONNECTOR_LINEOPTION=o.Orthogonal,e.DEFAULT_CONNECTOR_STARTLINEENDING=i.None,e.DEFAULT_CONNECTOR_ENDLINEENDING=i.Arrow;var r=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=r},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var o=n(24),i=n(35),r=n(0),s=n(13),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},function(t,e,n){\"use strict\";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])})(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.MouseHandlerDraggingState=void 0;var r=n(40),s=n(11),a=n(12),c=function(t){function e(e,n){var o=t.call(this,e)||this;return o.history=n,o}return i(e,t),e.prototype.canApplyChangesOnMouseMove=function(t,n){return!t||!n||Math.abs(t.x-n.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},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var o=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=o},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.DiagramLocalizationService=void 0;var o=n(1),i=n(47),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\"},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ShapeParameters=e.ShapeParameter=void 0;var o=function(){return function(t,e){this.key=t,this.value=e}}();e.ShapeParameter=o;var i=function(){function t(){this.items={}}return t.prototype.add=function(t){this.items[t.key]=t},t.prototype.addRange=function(t){for(var e=0;e>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(!(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=\"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(;rMath.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},function(t,e,n){\"use strict\";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])})(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(8),s=n(14),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},function(t,e,n){\"use strict\";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])})(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(38),s=n(14),a=n(41),c=n(90),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=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=(i=s.trys).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 O(t,e,n){if(!e.has(t))throw new TypeError(\"attempted to set private field on non-instance\");return e.set(t,n),n}},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var o=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=o},function(t,e,n){\"use strict\";var o;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\"}(o||(o={}));var i=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 o.Console:console.log(e);break;case o.Document:var n=this.getElement().value;if(this.lastMessage===e){var i=n.indexOf(\"\\r\\n\");i<0&&(i=n.indexOf(\"\\n\"));var r=n.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+n.substr(i)}else this.getElement().value=e+\"\\r\\n\"+n,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=o.Document,t.optimizeUsingRAF=!0,t.optimizeLayers=!0,t.timers={},t.enableLogsAndTimers=!1,t}();e.Diagnostics=i},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.DiagramModel=void 0;var o=n(14),i=n(6),r=n(3),s=n(13),a=n(2),c=n(0),u=n(46),h=n(22),p=n(47),l=n(4),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;e1)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;et?(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&&(m=v.clone(),C=m.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}return c&&(m.height=r.Data.byRange(m.width/o,m.height,a.to)),m}(x,S,_,I,w,g)},e.getTextLineSize=f,e.getTextHeight=y,e.getLineHeight=g},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var o=n(18),i=n(50),r=n(28),s=n(176),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},function(t,e,n){\"use strict\";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])})(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(8),s=n(6),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},function(t,e,n){\"use strict\";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])})(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(8),s=n(6),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},function(t,e,n){\"use strict\";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])})(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(8).HistoryItem);e.SetSelectionHistoryItem=r},function(t,e,n){\"use strict\";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])})(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(8).HistoryItem);e.ChangeConnectorTextHistoryItem=r},function(t,e,n){\"use strict\";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])})(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(118).ChangeStyleHistoryItemBase);e.ChangeStyleTextHistoryItem=r},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.Margin=e.EdgeLayout=e.NodeLayout=e.NodeInfo=void 0;var o=n(13),i=function(){return 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(){return 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},function(t,e,n){\"use strict\";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])})(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.EllipseShapeDescription=void 0;var r=n(7),s=n(2),a=n(55),c=n(1),u=n(3),h=n(13),p=function(t){function e(e){return t.call(this,new s.Size(r.ShapeDefaultDimension,.75*r.ShapeDefaultDimension),e)||this}return i(e,t),Object.defineProperty(e.prototype,\"key\",{get:function(){return c.ShapeTypes.Ellipse},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"keepRatioOnAutoSize\",{get:function(){return!1},enumerable:!1,configurable:!0}),e.prototype.getTextRectangle=function(t){var e=u.GeometryUtils.getMaxRectangleEnscribedInEllipse(t.size);return h.Rectangle.fromGeometry(t.position.clone().offset((t.size.width-e.width)/2,(t.size.height-e.height)/2),e)},e.prototype.getSizeByText=function(t,e){return u.GeometryUtils.getEllipseByEnscribedRectangle(t)},e.prototype.createShapePrimitives=function(t){var e=t.rectangle,n=e.width,o=e.height,i=e.center,r=i.x,s=i.y;return[new a.EllipsePrimitive(r,s,n/2,o/2,t.style)]},e}(r.ShapeDescription);e.EllipseShapeDescription=p},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.Exporter=void 0;var o=n(14),i=n(6),r=n(3),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},function(t,e,n){\"use strict\";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])})(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.ToggleStyleTextPropertyCommand=void 0;var r=n(134),s=n(70),a=n(27),c=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.getValue=function(){return this.control.selection.inputPosition.getCurrentTextStylePropertyValue(this.getStyleProperty())===this.getStylePropertyValue()},e.prototype.executeCore=function(t){var e=this;this.control.history.beginTransaction();var n=this.getStyleProperty(),o=t.value?a.TextStyle.defaultInstance[n]:this.getStylePropertyValue();return this.control.selection.getSelectedItems().forEach(function(t){e.control.history.addAndRedo(new s.ChangeStyleTextHistoryItem(t.key,n,o))}),this.control.selection.inputPosition.setTextStylePropertyValue(this.getStyleProperty(),o),this.control.history.endTransaction(),!0},e.prototype.getStyleObj=function(t){return t.styleText},e.prototype.getDefaultStyleObj=function(){return new a.TextStyle},e}(r.StylePropertyCommandBase);e.ToggleStyleTextPropertyCommand=c},function(t,e,n){\"use strict\";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])})(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.ChangeStylePropertyCommand=void 0;var r=n(135),s=n(89),a=n(27),c=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.getValue=function(){return this.control.selection.inputPosition.getCurrentStylePropertyValue(this.getStyleProperty())},e.prototype.getStyleObj=function(t){return t.style},e.prototype.getDefaultStyleObj=function(){return new a.Style},e.prototype.createHistoryItem=function(t,e,n){return new s.ChangeStyleHistoryItem(t.key,e,n)},e.prototype.updateInputPosition=function(t){this.control.selection.inputPosition.setStylePropertyValue(this.getStyleProperty(),t)},e}(r.ChangeStylePropertyCommandBase);e.ChangeStylePropertyCommand=c},function(t,e,n){\"use strict\";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])})(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(4),s=n(10),a=n(14),c=n(6),u=n(3),h=n(13),p=n(251),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},function(t,e,n){\"use strict\";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])})(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(4),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(10).SimpleCommandBase);e.ChangePagePropertyCommand=s},function(t,e,n){\"use strict\";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])})(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.CanvasItemsManager=e.CONNECTOR_CAN_MOVE=e.NOT_VALID_CSSCLASS=void 0;var r=n(99),s=n(11),a=n(39),c=n(17),u=n(14),h=n(6),p=n(28),l=n(140),d=n(4);e.NOT_VALID_CSSCLASS=\"not-valid\",e.CONNECTOR_CAN_MOVE=\"can-move\";var f=function(t){function n(e,n,o,i){var r=t.call(this,n,o,i)||this;return r.itemSelectorGroupContainers={},r.itemSelectorElements={},r.itemGroupContainers={},r.itemElements={},r.itemChildElements={},r.primitives={},r.selectorPrimitives={},r.selectedItems={},r.initializeContainerElements(e),r}return i(n,t),n.prototype.initializeContainerElements=function(t){this.itemSelectorsContainer=this.createAndChangePrimitiveElement(new a.GroupPrimitive([],null),t),this.itemsContainer=this.createAndChangePrimitiveElement(new a.GroupPrimitive([],null),t)},n.prototype.clear=function(){this.primitives={},this.selectorPrimitives={},c.RenderUtils.removeContent(this.itemSelectorsContainer),c.RenderUtils.removeContent(this.itemsContainer),this.itemSelectorGroupContainers={},this.itemSelectorElements={},this.itemGroupContainers={},this.itemElements={},this.itemChildElements={},this.selectedItems={}},n.prototype.applyChange=function(t){var e=t.item;return!!this.getItemParent(e.zIndex,e.container&&e.container.key)&&(e instanceof u.Shape?this.applyShapeChange(e,t.type,t.isValid):e instanceof h.Connector&&this.applyConnectorChange(e,t.type,t.isValid),!0)},n.prototype.setPointerEventsNone=function(t,e){var n=t.style;void 0!==n&&void 0!==n.pointerEvents&&(n.pointerEvents=e?\"none\":\"\");for(var o=t.childNodes,i=0;it})[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},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.TextMeasurer=void 0;var o=n(2),i=n(17),r=n(14),s=n(6),a=n(43),c=n(15),u=n(64),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=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={}))},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var o=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=o;var i=function(){function t(){}return t.prototype.beginUpdate=function(){},t.prototype.endUpdate=function(){},t}();e.EmptyBatchUpdatableObject=i},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.CommandManager=e.DiagramCommand=void 0;var o,i=n(162),r=n(199),s=n(200),a=n(201),c=n(238),u=n(239),h=n(240),p=n(241),l=n(242),d=n(243),f=n(244),y=n(245),g=n(246),m=n(247),v=n(248),P=n(249),C=n(250),S=n(26),x=n(137),b=n(253),I=n(254),w=n(255),_=n(257),O=n(259),T=n(261),M=n(262),E=n(263),D=n(264),A=n(265),R=n(268),L=n(271),N=n(272),z=n(142),j=n(273),U=n(274),k=n(275),B=n(276),H=n(143),K=n(144),V=n(277),F=n(278),W=n(279),G=n(280),Z=n(282),q=n(284),X=n(285),Y=n(286),J=n(287),Q=n(288),$=n(289),tt=n(290),et=n(292),nt=n(293),ot=n(294),it=n(295),rt=n(296),st=n(297),at=n(298),ct=n(299),ut=n(300);!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,T.ExportSvgCommand),this.createCommand(t,o.ExportPng,O.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;it.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},function(t,e,n){\"use strict\";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])})(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.ArrowVerticalShapeDescription=e.ArrowVerticalLineWidthParameterName=e.ArrowVerticalTriangleHeightParameterName=void 0;var r=n(7),s=n(2),a=n(37),c=n(9);e.ArrowVerticalTriangleHeightParameterName=\"th\",e.ArrowVerticalLineWidthParameterName=\"lw\";var u=function(t){function n(){return t.call(this,new s.Size(.375*r.ShapeDefaultDimension,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.addRange([new a.ShapeParameter(e.ArrowVerticalTriangleHeightParameterName,Math.sqrt(Math.pow(this.defaultSize.width,2)-Math.pow(this.defaultSize.width/2,2))),new a.ShapeParameter(e.ArrowVerticalLineWidthParameterName,this.defaultSize.width/3)])},n.prototype.normalizeParameters=function(t,n){this.changeParameterValue(n,e.ArrowVerticalTriangleHeightParameterName,function(e){return Math.max(0,Math.min(t.size.height,e.value))}),this.changeParameterValue(n,e.ArrowVerticalLineWidthParameterName,function(e){return Math.max(0,Math.min(t.size.width,e.value))})},n.prototype.processConnectionPoint=function(t,n){var o=(t.size.width-t.parameters.get(e.ArrowVerticalLineWidthParameterName).value)/2,i=t.getConnectionPointSide(n);i===c.ConnectionPointSide.East?n.x-=o:i===c.ConnectionPointSide.West&&(n.x+=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.ArrowVerticalShapeDescription=u},function(t,e,n){\"use strict\";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])})(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(7),s=n(2),a=n(37),c=n(9);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.addRange([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},function(t,e,n){\"use strict\";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])})(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.PolygonShapeDescription=void 0;var r=n(7),s=function(t){function e(e){var n=t.call(this,void 0,e)||this;return n.defaultSize.height=n.calculateHeight(r.ShapeDefaultDimension),n}return i(e,t),Object.defineProperty(e.prototype,\"keepRatioOnAutoSize\",{get:function(){return!0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"angle\",{get:function(){return Math.PI*(this.angleCount-2)/this.angleCount},enumerable:!1,configurable:!0}),e}(r.ShapeDescription);e.PolygonShapeDescription=s},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ImportUtils=void 0;var o=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=o},function(t,e,n){\"use strict\";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])})(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.ChangeStyleTextPropertyCommand=void 0;var r=n(135),s=n(70),a=n(27),c=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.getValue=function(){return this.control.selection.inputPosition.getCurrentTextStylePropertyValue(this.getStyleProperty())},e.prototype.getStyleObj=function(t){return t.styleText},e.prototype.getDefaultStyleObj=function(){return new a.TextStyle},e.prototype.createHistoryItem=function(t,e,n){return new s.ChangeStyleTextHistoryItem(t.key,e,n)},e.prototype.updateInputPosition=function(t){this.control.selection.inputPosition.setTextStylePropertyValue(this.getStyleProperty(),t)},e}(r.ChangeStylePropertyCommandBase);e.ChangeStyleTextPropertyCommand=c},function(t,e,n){\"use strict\";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])})(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(138),s=n(252),a=n(71),c=n(3),u=n(0),h=n(139),p=n(38),l=n(9),d=n(20),f=n(54),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},function(t,e,n){\"use strict\";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])})(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(78),s=n(260),a=n(57),c=n(73),u=n(15),h=n(79),p=n(100),l=n(46),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},function(t,e,n){\"use strict\";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 o=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=o},function(t,e,n){\"use strict\";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])})(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(61),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},function(t,e,n){\"use strict\";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])})(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(10).SimpleCommandBase);e.ClipboardCommand=r},function(t,e,n){\"use strict\";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])})(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(8).HistoryItem);e.ChangeZindexHistoryItem=r},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.DataLayoutParameters=e.DataLayoutType=void 0;var o,i=n(20),r=n(97),s=n(80);!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},function(t,e,n){\"use strict\";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])})(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.EditShapeImageCommandBase=void 0;var r=n(146),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.isEnabled=function(){var e=this.getSelectedShape();return t.prototype.isEnabled.call(this)&&!!e&&!e.locked&&e.enableImage&&e.allowEditImage},e.prototype.getValue=function(){var t=this.getSelectedShape();return t?t.image.exportUrl:void 0},e.prototype.getSelectedShape=function(){var t=this.control.selection.getSelectedShapes(!0);return 1===t.length?t[0]:void 0},e.prototype.executeCore=function(t,e){this.control.history.beginTransaction();var n=this.control.selection.getSelectedShapes(!1);return this.control.history.addAndRedo(new r.ChangeShapeImageHistoryItem(n[0],e)),this.control.history.endTransaction(),!0},e}(n(10).SimpleCommandBase);e.EditShapeImageCommandBase=s},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var o=n(165),i=n(166),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},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var o=n(59),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(167).MutableInterval);e.FixedInterval=i},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var o=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=o},function(t,e,n){\"use strict\";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])})(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.FilterPrimitive=void 0;var r=n(15),s=function(t){function e(e,n,o,i,r){var s=t.call(this)||this;return s.id=e,s.x=n,s.y=o,s.width=i,s.height=r,s}return i(e,t),e.prototype.createMainElement=function(){var t=document.createElementNS(r.svgNS,\"filter\");return t.setAttribute(\"id\",this.id),t},e.prototype.applyElementProperties=function(e,n){this.id&&e.setAttribute(\"id\",this.id),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(25).SvgPrimitive);e.FilterPrimitive=s},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.PrimitiveObject=void 0;var o=n(12),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},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.isColorProperty=void 0;var o={stroke:!0,fill:!0};e.isColorProperty=function(t){return o[t]}},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ConnectorPointsCalculatorBase=void 0;var o=function(){return function(t){this.connector=t}}();e.ConnectorPointsCalculatorBase=o},function(t,e,n){\"use strict\";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])})(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(8).HistoryItem);e.ChangeShapeParametersHistoryItem=r},function(t,e,n){\"use strict\";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])})(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(8).HistoryItem);e.DeleteConnectorHistoryItem=r},function(t,e,n){\"use strict\";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])})(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(8).HistoryItem);e.DeleteShapeHistoryItem=r},function(t,e,n){\"use strict\";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])})(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(8).HistoryItem);e.ResizeShapeHistoryItem=r},function(t,e,n){\"use strict\";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])})(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(8),s=n(3),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},function(t,e,n){\"use strict\";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])})(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(8).HistoryItem);e.ChangeLockedHistoryItem=r},function(t,e,n){\"use strict\";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])})(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(8).HistoryItem);e.ChangeStyleHistoryItemBase=r},function(t,e,n){\"use strict\";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])})(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(14),s=n(3),a=n(2),c=n(0),u=n(91),h=n(6),p=n(51),l=n(133),d=n(95),f=n(22),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},function(t,e,n){\"use strict\";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])})(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.DiamondShapeDescription=void 0;var r=n(7),s=n(5),a=n(1),c=function(t){function e(e,n){return void 0===e&&(e=r.ShapeDefaultSize.clone()),t.call(this,e,n)||this}return i(e,t),Object.defineProperty(e.prototype,\"key\",{get:function(){return a.ShapeTypes.Diamond},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"keepRatioOnAutoSize\",{get:function(){return!1},enumerable:!1,configurable:!0}),e.prototype.createShapePrimitives=function(t){var e=t.rectangle,n=e.x,o=e.y,i=e.right,r=e.bottom,a=e.center,c=a.x,u=a.y;return[new s.PathPrimitive([new s.PathPrimitiveMoveToCommand(c,o),new s.PathPrimitiveLineToCommand(i,u),new s.PathPrimitiveLineToCommand(c,r),new s.PathPrimitiveLineToCommand(n,u),new s.PathPrimitiveClosePathCommand],t.style)]},e.prototype.getTextRectangle=function(t){return t.rectangle.clone().inflate(-t.size.width/4,-t.size.height/4)},e.prototype.getSizeByText=function(t,e){return t.clone().multiply(2,2)},e}(r.ShapeDescription);e.DiamondShapeDescription=c},function(t,e,n){\"use strict\";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])})(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.TextShapeDescription=void 0;var r=n(7),s=n(2),a=n(1),c=n(56),u=n(21),h=n(17),p=function(t){function e(){var e=t.call(this,new s.Size(r.ShapeDefaultDimension,.5*r.ShapeDefaultDimension),!0)||this;return e.textClipPathId=h.RenderUtils.generateSvgElementId(\"clipRect\"),e}return i(e,t),Object.defineProperty(e.prototype,\"key\",{get:function(){return a.ShapeTypes.Text},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"keepRatioOnAutoSize\",{get:function(){return!1},enumerable:!1,configurable:!0}),e.prototype.createShapePrimitives=function(t,e){if(e){var n=t.rectangle,o=n.x,i=n.y,r=n.width,s=n.height;return[new c.ClipPathPrimitive(this.getTextClipPathId(e),[new u.RectanglePrimitive(o,i,r,s)])]}return[]},e.prototype.getTextClipPathId=function(t){return t?this.textClipPathId:void 0},e.prototype.getSizeByTextRectangle=function(t){return t},e.prototype.getSizeByText=function(t,e){return t.clone()},e.prototype.getTextRectangle=function(t){return t.rectangle},e}(r.ShapeDescription);e.TextShapeDescription=p},function(t,e,n){\"use strict\";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])})(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.PentagonShapeDescription=void 0;var r=n(5),s=n(1),a=n(94),c=n(9),u=n(3),h=n(13),p=function(t){function e(e){var n=t.call(this,e)||this;return n.defaultRatio=n.defaultSize.height/n.defaultSize.width,n}return i(e,t),Object.defineProperty(e.prototype,\"key\",{get:function(){return s.ShapeTypes.Pentagon},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"angleCount\",{get:function(){return 5},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,c=e.height,u=e.center.x,h=c/a/this.defaultRatio,p=Math.PI-this.angle,l=a/2*Math.tan(p/2)*h,d=o+l,f=(c-l)/Math.tan(p)/h,y=n+f,g=i-f;return[new r.PathPrimitive([new r.PathPrimitiveMoveToCommand(u,o),new r.PathPrimitiveLineToCommand(i,d),new r.PathPrimitiveLineToCommand(g,s),new r.PathPrimitiveLineToCommand(y,s),new r.PathPrimitiveLineToCommand(n,d),new r.PathPrimitiveClosePathCommand],t.style)]},e.prototype.processConnectionPoint=function(t,e){var n=t.getConnectionPointSide(e);if(n===c.ConnectionPointSide.East||n===c.ConnectionPointSide.West){var o=t.rectangle,i=o.y,r=o.width,s=o.height/r/this.defaultRatio,a=Math.PI-this.angle,u=i+r/2*Math.tan(a/2)*s;n===c.ConnectionPointSide.East?e.y=u:n===c.ConnectionPointSide.West&&(e.y=u)}},e.prototype.calculateHeight=function(t){var e=Math.PI-this.angle;return t/2*Math.tan(e/2)+t/2/Math.cos(e/2)*Math.sin(e)},e.prototype.getTextRectangle=function(t){var e=u.GeometryUtils.getMaxRectangleEnscribedInEllipse(t.size);return h.Rectangle.fromGeometry(t.position.clone().offset((t.size.width-e.width)/2,(t.size.height-e.height)/2),e)},e.prototype.getSizeByText=function(t,e){return u.GeometryUtils.getEllipseByEnscribedRectangle(t)},e}(a.PolygonShapeDescription);e.PentagonShapeDescription=p},function(t,e,n){\"use strict\";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])})(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.HexagonShapeDescription=void 0;var r=n(5),s=n(1),a=n(94),c=n(3),u=n(13),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 s.ShapeTypes.Hexagon},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"angleCount\",{get:function(){return 6},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,c=e.center.y,u=Math.PI-this.angle,h=a/(1+2*Math.cos(u)),p=n+(a-h)/2,l=p+h;return[new r.PathPrimitive([new r.PathPrimitiveMoveToCommand(p,o),new r.PathPrimitiveLineToCommand(l,o),new r.PathPrimitiveLineToCommand(i,c),new r.PathPrimitiveLineToCommand(l,s),new r.PathPrimitiveLineToCommand(p,s),new r.PathPrimitiveLineToCommand(n,c),new r.PathPrimitiveClosePathCommand],t.style)]},e.prototype.calculateHeight=function(t){var e=Math.PI-this.angle;return 2*(t/(1+2*Math.cos(e)))*Math.sin(e)},e.prototype.getTextRectangle=function(t){var e=c.GeometryUtils.getMaxRectangleEnscribedInEllipse(t.size);return u.Rectangle.fromGeometry(t.position.clone().offset((t.size.width-e.width)/2,(t.size.height-e.height)/2),e)},e.prototype.getSizeByText=function(t,e){return c.GeometryUtils.getEllipseByEnscribedRectangle(t)},e}(a.PolygonShapeDescription);e.HexagonShapeDescription=h},function(t,e,n){\"use strict\";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])})(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.TriangleShapeDescription=void 0;var r=n(7),s=n(5),a=n(1),c=n(45),u=n(9),h=n(13),p=n(2),l=function(t){function e(e){var n=t.call(this,void 0,e)||this;return n.defaultSize.height=n.calculateHeight(r.ShapeDefaultDimension),n}return i(e,t),Object.defineProperty(e.prototype,\"key\",{get:function(){return a.ShapeTypes.Triangle},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"keepRatioOnAutoSize\",{get:function(){return!1},enumerable:!1,configurable:!0}),e.prototype.createConnectionPoints=function(){return[new c.ConnectionPoint(.5,0,u.ConnectionPointSide.North),new c.ConnectionPoint(.75,.5,u.ConnectionPointSide.East),new c.ConnectionPoint(.5,1,u.ConnectionPointSide.South),new c.ConnectionPoint(.25,.5,u.ConnectionPointSide.West)]},e.prototype.createShapePrimitives=function(t){var e=t.rectangle,n=e.x,o=e.y,i=e.right,r=e.bottom;return[new s.PathPrimitive([new s.PathPrimitiveMoveToCommand(e.center.x,o),new s.PathPrimitiveLineToCommand(i,r),new s.PathPrimitiveLineToCommand(n,r),new s.PathPrimitiveClosePathCommand],t.style)]},e.prototype.calculateHeight=function(t){return Math.sqrt(Math.pow(t,2)-Math.pow(t/2,2))},e.prototype.getTextRectangle=function(t){return new h.Rectangle(t.position.x+t.size.width/4,t.position.y+t.size.height/2,t.size.width/2,t.size.height/2-r.ShapeTextPadding).nonNegativeSize()},e.prototype.getSizeByText=function(t,e){return new p.Size(2*t.width,2*t.height+r.ShapeTextPadding)},e}(r.ShapeDescription);e.TriangleShapeDescription=l},function(t,e,n){\"use strict\";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])})(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.DocumentShapeDescription=void 0;var r=n(19),s=n(1),a=n(5),c=n(9),u=function(t){function e(){return t.call(this,void 0,!0)||this}return i(e,t),Object.defineProperty(e.prototype,\"key\",{get:function(){return s.ShapeTypes.Document},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"keepRatioOnAutoSize\",{get:function(){return!1},enumerable:!1,configurable:!0}),e.prototype.createShapePrimitives=function(t){return this.createDocumentPrimitives(t.rectangle,t.style)},e.prototype.createDocumentPrimitives=function(t,n){var o=t.x,i=t.y,r=t.right,s=t.bottom,c=t.width,u=t.height,h=t.center.x,p=u*e.curveOffsetRatio;return[].concat([new a.PathPrimitive([new a.PathPrimitiveMoveToCommand(o,i),new a.PathPrimitiveLineToCommand(r,i),new a.PathPrimitiveLineToCommand(r,s),new a.PathPrimitiveQuadraticCurveToCommand(r-.25*c,s-2*p,h,s-p),new a.PathPrimitiveQuadraticCurveToCommand(o+.25*c,s+p,o,s-p),new a.PathPrimitiveClosePathCommand],n)])},e.prototype.processConnectionPoint=function(t,n){t.getConnectionPointSide(n)===c.ConnectionPointSide.South&&(n.y-=t.size.height*e.curveOffsetRatio)},e.prototype.getTextRectangle=function(t){var n=t.rectangle;return n.clone().resize(0,-n.height*e.curveOffsetRatio)},e.curveOffsetRatio=.1,e}(r.RectangleShapeDescription);e.DocumentShapeDescription=u},function(t,e,n){\"use strict\";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])})(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.CustomShapeDescription=void 0;var r=n(127),s=n(13),a=n(2),c=n(0),u=n(45),h=n(9),p=n(128),l=n(7),d=n(51),f=n(46),y=n(130),g=n(231),m=function(t){function e(e,n){var o=t.call(this,new a.Size(e.defaultWidth||n&&n.defaultSize.width||l.ShapeDefaultDimension,e.defaultHeight||n&&n.defaultSize.height||l.ShapeDefaultDimension))||this;if(o.properties=e,o.baseDescription=n,o.imageLoader=new y.ImageLoader(o.updateSvgImage.bind(o)),o.defaultText=void 0!==e.defaultText?e.defaultText:n&&n.getDefaultText(),o.defaultImageUrl=e.defaultImageUrl||n&&n.getDefaultImageUrl(),o.title=e.title||n&&n.getTitle()||o.defaultText||\"\",o.connectionPoints=o.createConnectionPoints(),e.svgUrl){o.svgImage=new d.ImageInfo(e.svgUrl);var i=f.ImageCache.instance.createUnloadedInfoByShapeImageInfo(o.svgImage);o.imageLoader.load(i)}if(e.svgToolboxUrl){o.svgToolboxImage=new d.ImageInfo(e.svgToolboxUrl);i=f.ImageCache.instance.createUnloadedInfoByShapeImageInfo(o.svgToolboxImage);o.imageLoader.load(i)}return o}return i(e,t),Object.defineProperty(e.prototype,\"key\",{get:function(){return this.properties.type},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"allowEditText\",{get:function(){return!1!==this.properties.allowEditText},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"allowEditImage\",{get:function(){return this.baseDescription?this.baseDescription.allowEditImage:!0===this.properties.allowEditImage},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"enableChildren\",{get:function(){return this.baseDescription&&this.baseDescription.enableChildren},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"hasTemplate\",{get:function(){return!!this.properties.createTemplate},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"minWidth\",{get:function(){return this.properties.minWidth||this.baseDescription&&this.baseDescription.minWidth},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"minHeight\",{get:function(){return this.properties.minHeight||this.baseDescription&&this.baseDescription.minHeight},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"maxWidth\",{get:function(){return this.properties.maxWidth||this.baseDescription&&this.baseDescription.maxWidth},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"maxHeight\",{get:function(){return this.properties.maxHeight||this.baseDescription&&this.baseDescription.maxHeight},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"keepRatioOnAutoSize\",{get:function(){return this.properties.keepRatioOnAutoSize},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"toolboxSize\",{get:function(){return this.properties.toolboxWidthToHeightRatio?new a.Size(this.defaultSize.width,this.defaultSize.width/this.properties.toolboxWidthToHeightRatio):this.defaultSize},enumerable:!1,configurable:!0}),e.prototype.getTextAngle=function(){return this.baseDescription&&this.baseDescription.getTextAngle()||t.prototype.getTextAngle.call(this)},e.prototype.getTitle=function(){return void 0!==this.title?this.title:t.prototype.getTitle.call(this)},e.prototype.getDefaultText=function(){return void 0!==this.defaultText?this.defaultText:t.prototype.getDefaultText.call(this)},e.prototype.getDefaultImageUrl=function(){return void 0!==this.defaultImageUrl?this.defaultImageUrl:t.prototype.getDefaultImageUrl.call(this)},e.prototype.allowResizeHorizontally=function(e){return!1!==this.properties.allowResize&&(this.baseDescription?this.baseDescription.allowResizeHorizontally(e):t.prototype.allowResizeHorizontally.call(this,e))},e.prototype.allowResizeVertically=function(e){return!1!==this.properties.allowResize&&(this.baseDescription?this.baseDescription.allowResizeVertically(e):t.prototype.allowResizeVertically.call(this,e))},e.prototype.createConnectionPoints=function(){return this.properties&&this.properties.connectionPoints&&this.properties.connectionPoints.length?this.properties.connectionPoints.map(function(t){if(t&&\"number\"==typeof t.x&&\"number\"==typeof t.y){var e=\"number\"==typeof t.side?t.side:h.ConnectionPointSide.Undefined;return new u.ConnectionPoint(t.x,t.y,e)}}).filter(function(t){return t}):t.prototype.createConnectionPoints.call(this)},e.prototype.getConnectionPointSides=function(){for(var t={},e=0;e0},e}(n(10).SimpleCommandBase);e.ChangeConnectorPropertyCommand=s},function(t,e,n){\"use strict\";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])})(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(76),s=n(97),a=n(20),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},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.GraphLayout=void 0;var o=n(3),i=n(71),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},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.LayoutBuilder=void 0;var o=n(20),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},function(t,e,n){\"use strict\";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])})(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(99),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(42).CanvasManagerBase);e.CanvasManager=s},function(t,e,n){\"use strict\";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])})(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(101),s=n(119),a=n(14),c=n(266),u=n(6),h=n(267),p=n(4),l=n(68),d=n(0),f=n(12),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;oe.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)?this.replaceSelection(t):t.source.type===s.MouseEventElementType.Connector&&this.canSelectOnMouseUp(t.source.key)?this.replaceSelection(t):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},function(t,e,n){\"use strict\";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])})(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(40),s=n(11),a=n(0),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},function(t,e,n){\"use strict\";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])})(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(60),s=n(86),a=n(30),c=n(85),u=n(4),h=n(16),p=n(11),l=n(34),d=function(){return 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(){return 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)-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},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.TargetVisualizerBase=void 0;var o=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=o},function(t,e,n){\"use strict\";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 o=function(){return function(t,e,n){this.type=t,this.segment=e,this.text=n}}();e.ExtensionLine=o;var i=function(){function t(t){this.dispatcher=t,this.lines=[],this.lineIndexByType={}}return t.prototype.addSegment=function(t,e,n){var i=this.lineIndexByType[t];if(void 0===i){var r=new o(t,e,n),s=this.lines.push(r);this.lineIndexByType[r.type]=s-1,this.raiseShow()}else if(e.length1,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=E;var D=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*E.selectionMarkSize,r=o&&t.width>3*E.selectionMarkSize,s=n||o;s&&this.drawSelectionMark(0,new p.Point(t.x,t.y),E.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),E.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),E.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),E.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),E.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),E.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),E.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),E.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}(),A=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}(D),R=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=E.correctSelectionRect(o,this.strokeWidth,E.selectionRectLineWidth,this.zoomLevel);this.drawSelectionRect(i,c.MouseEventElementType.SelectionRect,e.SELECTION_ELEMENT_CLASSNAMES.ITEMS_SELECTION_RECT),this.needDrawSelectionMarks&&this.drawSelectionMarks(o,!0,!0)}},n}(D),L=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),E.lockedSelectionMarkSize,e.SELECTION_ELEMENT_CLASSNAMES.LOCKED_SELECTION_MARK),this.drawLockedSelectionMark(1,new p.Point(t.right,t.y),E.lockedSelectionMarkSize,e.SELECTION_ELEMENT_CLASSNAMES.LOCKED_SELECTION_MARK),this.drawLockedSelectionMark(2,new p.Point(t.right,t.bottom),E.lockedSelectionMarkSize,e.SELECTION_ELEMENT_CLASSNAMES.LOCKED_SELECTION_MARK),this.drawLockedSelectionMark(3,new p.Point(t.x,t.bottom),E.lockedSelectionMarkSize,e.SELECTION_ELEMENT_CLASSNAMES.LOCKED_SELECTION_MARK)},n.prototype.drawUnlockedSelection=function(t){var n=E.correctSelectionRect(t,this.style.strokeWidth,E.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=E.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}(A),N=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,E.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=O.Metrics.euclideanDistance(f,v),T.MathUtils.numberCloseTo(o,0))continue;n=h.GeometryUtils.getSelectionOffsetPoint(f,v,o).multiply(l,l)}if(P){if(r=O.Metrics.euclideanDistance(v,P),T.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-=E.evenOddSelectionCorrection:C>0&&(C-=E.evenOddSelectionCorrection),b>0?b-=E.evenOddSelectionCorrection:S>0&&(S-=E.evenOddSelectionCorrection),_>0?_-=E.evenOddSelectionCorrection:I>0&&(I-=E.evenOddSelectionCorrection),M>0?M-=E.evenOddSelectionCorrection:w>0&&(w-=E.evenOddSelectionCorrection));s[y]&&s[y].pointIndex<=g;){var D=s[y],A=this.getConnectorSelectionTextSize(D.text,l),R=h.GeometryUtils.getSelectionTextStartEndPoints(f,v,o,D.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 O.Metrics.euclideanDistance(t,e)>2*f.Connector.minOffset;if(!o&&i||o&&!i)return O.Metrics.euclideanDistance(t,e)>f.Connector.minOffset;n=E.selectionMarkSize+E.connectorSideMarkSize;return O.Metrics.euclideanDistance(t,e)>n}return!1},n}(A)},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.DiagramDraggingEvent=e.ToolboxDraggingObject=e.Toolbox=void 0;var o,i=n(3),r=n(0),s=n(65),a=n(44),c=n(28),u=n(18),h=n(15),p=n(78),l=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\",\"dxdi-toolbox\"),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 f;return e.data=t,e.onFinishDragging=this.resetDragState.bind(this),e.onCaptured=this.capture.bind(this),new d(e)},t.prototype.getDragShapeType=function(t){for(;t&&!c.DomUtils.hasClassName(t,\"dxdi-toolbox\");){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&&t0?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.y1||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(10).SimpleCommandBase);e.DeleteCommand=s},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var o=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;ei?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},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var o=n(59),i=function(){return 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(){return function(t,e){this.minElement=t,this.minValue=e}}();e.ExtendedMin=s;var a=function(){return 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},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var o=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=o;var i=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=i},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var o=n(59),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(168).ConstInterval);e.MutableInterval=i},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var o=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/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=o},function(t,e,n){\"use strict\";n(175).polyfill()},function(t,e,n){\"use strict\";function o(t,e){if(null==t)throw new TypeError(\"Cannot convert first argument to object\");for(var n=Object(t),o=1;o-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},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var o=n(18),i=n(83),r=n(50),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},function(t,e,n){\"use strict\";var o,i,r,s;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\"}(s=e.DxMimeType||(e.DxMimeType={}));var a=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:s.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?s.Unknown:n},t.stringTypeToTypeMap=((o={})[e.OpenXmlMimeType]=s.OpenXml,o[e.RtfMimeType]=s.Rtf,o[e.PlainTextMimeType]=s.PlainText,o[e.DocmMimeType]=s.Docm,o[e.ImagePngMimeType]=s.Png,o[e.ImageGifMimeType]=s.Gif,o[e.ImageJpegMimeType]=s.Jpeg,o[e.ImagePjpegMimeType]=s.Pjpeg,o[e.ImageSvgMimeType]=s.Svg,o[e.ImageTiffMimeType]=s.Tiff,o[e.ImageIcoMimeType]=s.Ico,o[e.ImageWbmpMimeType]=s.Wbmp,o[e.ImageWebpMimeType]=s.Webp,o),t.typeToStringTypeMap=((i={})[s.Unknown]=void 0,i[s.OpenXml]=e.OpenXmlMimeType,i[s.Rtf]=e.RtfMimeType,i[s.PlainText]=e.PlainTextMimeType,i[s.Docm]=e.DocmMimeType,i[s.Png]=e.ImagePngMimeType,i[s.Gif]=e.ImageGifMimeType,i[s.Jpeg]=e.ImageJpegMimeType,i[s.Pjpeg]=e.ImagePjpegMimeType,i[s.Svg]=e.ImageSvgMimeType,i[s.Tiff]=e.ImageTiffMimeType,i[s.Ico]=e.ImageIcoMimeType,i[s.Wbmp]=e.ImageWbmpMimeType,i[s.Webp]=e.ImageWebpMimeType,i),t.typeToExtensionMap=((r={})[s.Unknown]=void 0,r[s.OpenXml]=\".docx\",r[s.Rtf]=\".rtf\",r[s.PlainText]=\".txt\",r[s.Docm]=\".docm\",r[s.Png]=\".png\",r[s.Gif]=\".gif\",r[s.Jpeg]=\".jpeg\",r[s.Pjpeg]=\".pjpeg\",r[s.Svg]=\".svg\",r[s.Tiff]=\".tiff\",r[s.Ico]=\".ico\",r[s.Wbmp]=\".wbmp\",r[s.Webp]=\".webp\",r),t.extensionToTypeMap={\".docx\":s.OpenXml,\".rtf\":s.Rtf,\".txt\":s.PlainText,\".docm\":s.Docm,\".png\":s.Png,\".gif\":s.Gif,\".jpeg\":s.Jpeg,\".pjpeg\":s.Pjpeg,\".svg\":s.Svg,\".tiff\":s.Tiff,\".ico\":s.Ico,\".wbmp\":s.Wbmp,\".webp\":s.Webp},t}();e.MimeTypeUtils=a},function(t,e,n){\"use strict\";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])})(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(111),s=n(30),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},function(t,e,n){\"use strict\";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])})(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(13),s=n(9),a=n(111),c=n(181),u=n(182),h=n(183),p=n(184),l=n(185),d=n(30),f=n(4),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.removeUnnecessaryRenderPoints(t);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.removeUnnecessaryRenderPoints(t),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 0o){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},function(t,e,n){\"use strict\";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])})(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(9),s=n(52),a=n(30),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},function(t,e,n){\"use strict\";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])})(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(9),s=n(52),a=n(30),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.ythis.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},function(t,e,n){\"use strict\";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])})(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(9),s=n(52),a=n(30),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.ye.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},function(t,e,n){\"use strict\";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])})(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(5),s=n(31),a=n(0),c=n(92),u=n(1),h=n(9),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 re.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},function(t,e,n){\"use strict\";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])})(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(5),s=n(93),a=n(31),c=n(0),u=n(1),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},function(t,e,n){\"use strict\";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])})(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(5),s=n(93),a=n(31),c=n(0),u=n(1),h=n(9),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.x0},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.inc0&&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;n1||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(101).ClipboardCommand);e.CutSelectionCommand=a},function(t,e,n){\"use strict\";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])})(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(0),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(141).PasteSelectionCommandBase);e.PasteSelectionCommand=s},function(t,e,n){\"use strict\";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])})(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(8).HistoryItem);e.ImportShapeHistoryItem=r},function(t,e,n){\"use strict\";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])})(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(8).HistoryItem);e.ImportConnectorHistoryItem=r},function(t,e,n){\"use strict\";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])})(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(269),s=n(4),a=n(53),c=n(0),u=n(6),h=n(66),p=n(48),l=n(80),d=n(20),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(57).ExportImportCommandBase);e.ImportBPMNCommand=f},function(t,e,n){\"use strict\";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])})(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(54),s=n(1),a=n(38),c=n(95),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(){return 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)},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.CycleRemover=void 0;var o=n(54),i=n(38),r=n(90),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;h0&&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(i0&&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&&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(10).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},function(t,e,n){\"use strict\";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])})(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(77),s=n(281),a=n(10),c=n(36),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},function(t,e,n){\"use strict\";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])})(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(8).HistoryItem);e.ChangeUnitsHistoryItem=r},function(t,e,n){\"use strict\";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])})(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(77),s=n(283),a=n(62),c=n(22),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},function(t,e,n){\"use strict\";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])})(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(8).HistoryItem);e.ChangePageColorHistoryItem=r},function(t,e,n){\"use strict\";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])})(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(10).SimpleCommandBase);e.ChangeShowGridCommand=r},function(t,e,n){\"use strict\";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])})(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(10).SimpleCommandBase);e.ToggleFullscreenCommand=r},function(t,e,n){\"use strict\";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])})(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(10).SimpleCommandBase);e.ToggleSimpleViewCommand=r},function(t,e,n){\"use strict\";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])})(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(10).SimpleCommandBase);e.ToggleReadOnlyCommand=r},function(t,e,n){\"use strict\";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])})(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.EditShapeImageCommand=void 0;var r=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.isEnabled=function(){var e=this.getSelectedShape();return t.prototype.isEnabled.call(this)&&!e.image.isEmpty},e}(n(104).EditShapeImageCommandBase);e.EditShapeImageCommand=r},function(t,e,n){\"use strict\";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])})(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.PasteSelectionInPositionCommand=void 0;var r=n(141),s=n(14),a=n(6),c=n(0),u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.getEventPositionOffset=function(t,e){if(!e)return c.Point.zero();var n=t.reduce(function(t,e){return{x:Math.min(t.x,e instanceof s.Shape?e.position.x:e instanceof a.Connector?e.getMinX():Number.MAX_VALUE),y:Math.min(t.y,e instanceof s.Shape?e.position.y:e instanceof a.Connector?e.getMinY():Number.MAX_VALUE)}},{x:Number.MAX_VALUE,y:Number.MAX_VALUE}),o=this.control.render.getModelPointByEventPoint(e.x,e.y);return new c.Point(o.x-n.x,o.y-n.y)},e}(r.PasteSelectionCommandBase);e.PasteSelectionInPositionCommand=u},function(t,e,n){\"use strict\";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])})(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(291),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(57).ExportImportCommandBase);e.ImportXMLCommand=s},function(t,e,n){\"use strict\";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])})(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.XmlImporter=void 0;var r=n(6),s=n(14),a=n(133),c=n(1),u=n(91),h=n(2),p=n(0),l=n(95),d=n(22),f=n(12),y=function(t){function e(e,n){var o=t.call(this,e)||this;return o.doc=l.ImportUtils.createDocument(n),o}return i(e,t),e.prototype.getObject=function(){return this.doc},e.prototype.getPageObject=function(t){var e=this.doc.querySelectorAll(\"[ItemKind='DiagramRoot']\");return e&&e[0]},e.prototype.getShapeObjects=function(t){var e=[];return this.doc.querySelectorAll(\"[ItemKind='DiagramRoot'] > 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},function(t,e,n){\"use strict\";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])})(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.InsertShapeImageCommand=void 0;var r=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.isEnabled=function(){var e=this.getSelectedShape();return t.prototype.isEnabled.call(this)&&e.image.isEmpty},e}(n(104).EditShapeImageCommandBase);e.InsertShapeImageCommand=r},function(t,e,n){\"use strict\";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])})(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.DeleteShapeImageCommand=void 0;var r=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.isEnabled=function(){var e=this.getSelectedShape();return t.prototype.isEnabled.call(this)&&!e.image.isEmpty},e.prototype.executeCore=function(e,n){return t.prototype.executeCore.call(this,e,void 0)},e}(n(104).EditShapeImageCommandBase);e.DeleteShapeImageCommand=r},function(t,e,n){\"use strict\";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])})(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.ChangeStrokeStyleCommand=void 0;var r=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.getStyleProperty=function(){return\"stroke-dasharray\"},e}(n(75).ChangeStylePropertyCommand);e.ChangeStrokeStyleCommand=r},function(t,e,n){\"use strict\";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])})(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.ChangeStrokeWidthCommand=void 0;var r=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.getStyleProperty=function(){return\"stroke-width\"},e}(n(75).ChangeStylePropertyCommand);e.ChangeStrokeWidthCommand=r},function(t,e,n){\"use strict\";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])})(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(20),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(137).AutoLayoutTreeVerticalCommand);e.AutoLayoutTreeVerticalBottomToTopCommand=s},function(t,e,n){\"use strict\";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])})(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(20),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(143).AutoLayoutTreeHorizontalCommand);e.AutoLayoutTreeHorizontalRightToLeftCommand=s},function(t,e,n){\"use strict\";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])})(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(20),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(144).AutoLayoutLayeredVerticalCommand);e.AutoLayoutLayeredVerticalBottomToTopCommand=s},function(t,e,n){\"use strict\";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])})(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(20),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(142).AutoLayoutLayeredHorizontalCommand);e.AutoLayoutLayeredHorizontalRightToLeftCommand=s},function(t,e,n){\"use strict\";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])})(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(10),s=n(29),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},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.DiagramControl=void 0;var o=n(0),i=n(302),r=n(82),s=n(303),a=n(62),c=n(332),u=n(335),h=n(336),p=n(337),l=n(91),d=n(345),f=n(29),y=n(16),g=n(349),m=n(4),v=n(350),P=n(3),C=n(353),S=n(46),x=n(354),b=n(368),I=n(79),w=n(6),_=n(103),O=n(379),T=n(17),M=n(58),E=n(24),D=function(){function t(){this.updateLockCount=0,this.shouldUpdateItemsByModel=!1,this.reloadContentNeeded=!1,this.reloadContentParameters=new O.ReloadContentParameters,this.reloadContentByExternalChangesParameters=new O.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.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){T.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},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ModelManipulator=void 0;var o=n(87),i=n(2),r=n(61),s=n(46),a=n(130),c=n(16),u=n(3),h=n(6),p=n(99),l=n(4),d=function(){function t(t,e,n){this.onModelChanged=new u.EventDispatcher,this.onModelSizeChanged=new u.EventDispatcher,this.initializeCore(t,e),this.permissionsProvider=n,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.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=01)){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?new r.Point(i,s):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},function(t,e,n){\"use strict\";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])})(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(0),s=n(148),a=n(6),c=n(4),u=n(32),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?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},function(t,e,n){\"use strict\";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])})(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.MouseHandlerMoveConnectorSideState=void 0;var r=n(34),s=n(4),a=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.startPoint=e.modelPoint,this.connectorKey=e.source.key,this.pointIndex=parseInt(e.source.value)+1,t.prototype.onMouseDown.call(this,e)},e.prototype.onApplyChanges=function(t){var e=this.getSnappedPoint(t,t.modelPoint),n=this.model.findConnector(this.connectorKey);this.pointCreated?s.ModelUtils.moveConnectorPoint(this.history,n,this.pointIndex,e):(this.handler.addInteractingItem(n),s.ModelUtils.addConnectorPoint(this.history,this.connectorKey,this.pointIndex,e.clone()),this.pointCreated=!0),this.handler.tryUpdateModelSize()},e.prototype.onFinishWithChanges=function(){var t=this.model.findConnector(this.connectorKey);s.ModelUtils.deleteConnectorUnnecessaryPoints(this.history,t),s.ModelUtils.fixConnectorBeginEndConnectionIndex(this.history,t),this.handler.tryUpdateModelSize()},e.prototype.getDraggingElementKeys=function(){return[this.connectorKey]},e}(r.MouseHandlerDraggingState);e.MouseHandlerMoveConnectorSideState=a},function(t,e,n){\"use strict\";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])})(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.MouseHandlerDragParameterPointState=void 0;var r=n(34),s=n(112),a=function(t){function e(e,n,o){var i=t.call(this,e,n)||this;return i.model=o,i.startScrollLeft=0,i.startScrollTop=0,i}return i(e,t),e.prototype.onMouseDown=function(e){this.startPoint=e.modelPoint,this.shape=this.model.findShape(e.source.key),this.parameterPointKey=e.source.value,this.startParameters=this.shape.parameters.clone(),t.prototype.onMouseDown.call(this,e)},e.prototype.onApplyChanges=function(t){var e=this.handler.getSnappedOffsetOnDragPoint(t,this.startPoint),n=this.startParameters.clone();this.shape.description.modifyParameters(this.shape,n,e.x,e.y),this.history.addAndRedo(new s.ChangeShapeParametersHistoryItem(this.shape.key,n))},e.prototype.getDraggingElementKeys=function(){return[this.shape.key]},e}(r.MouseHandlerDraggingState);e.MouseHandlerDragParameterPointState=a},function(t,e,n){\"use strict\";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])})(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(6),s=n(48),a=n(66),c=n(9),u=n(148),h=n(68),p=n(53),l=n(4),d=n(67),f=n(113),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},function(t,e,n){\"use strict\";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])})(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(0),s=n(6),a=n(9),c=n(4),u=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.startPoint=e.modelPoint,this.connector=this.model.findConnector(e.source.key),this.handler.addInteractingItem(this.connector);var n=e.source.value.split(\"_\"),o=parseInt(n[0]),i=parseInt(n[1]),r=this.connector.getRenderPoints(!0);this.renderPoint1=r[o].clone(),this.renderPoint2=r[i].clone(),this.isVerticalOrientation=this.renderPoint1.x===this.renderPoint2.x,-1!==this.renderPoint1.pointIndex?(this.pointIndex1=this.renderPoint1.pointIndex,0===this.pointIndex1?(this.pointIndex1++,this.correctEdgePoint(this.renderPoint1,this.renderPoint2,this.connector.beginItem,this.connector.beginConnectionPointIndex)):this.point1=this.connector.points[this.pointIndex1].clone()):this.pointIndex1=this.findPointIndex(r,o,!1)+1,-1!==this.renderPoint2.pointIndex?(this.pointIndex2=this.renderPoint2.pointIndex,this.pointIndex2===this.connector.points.length-1?this.correctEdgePoint(this.renderPoint2,this.renderPoint1,this.connector.endItem,this.connector.endConnectionPointIndex):this.point2=this.connector.points[this.pointIndex2].clone()):this.pointIndex2=this.findPointIndex(r,i,!0),t.prototype.onMouseDown.call(this,e)},e.prototype.onApplyChanges=function(t){var e=this;if(!this.pointCreated){var n=void 0,o=void 0;void 0===this.point1&&(this.point1=new r.Point(this.renderPoint1.x,this.renderPoint1.y),c.ModelUtils.addConnectorPoint(this.history,this.connector.key,this.pointIndex1,this.point1.clone()),n=this.point1.clone(),this.pointIndex2++),void 0===this.point2&&(this.point2=new r.Point(this.renderPoint2.x,this.renderPoint2.y),c.ModelUtils.addConnectorPoint(this.history,this.connector.key,this.pointIndex2,this.point2.clone()),o=this.point2.clone());var i=[];n&&i.push(n),o&&i.push(o);var s=this.createUnnecessaryPoints(this.connector,i);Object.keys(s).forEach(function(t){var n=parseInt(t);ne.y?t.y-=Math.min(i,t.y-e.y):t.y+=Math.min(i,e.y-t.y):t.x>e.x?t.x-=Math.min(i,t.x-e.x):t.x+=Math.min(i,e.x-t.x)},e.prototype.getDraggingElementKeys=function(){return[this.connector.key]},e}(n(34).MouseHandlerDraggingState);e.MouseHandlerMoveConnectorOrthogonalSideState=u},function(t,e,n){\"use strict\";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])})(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(11),s=n(0),a=n(53),c=n(68),u=n(34),h=n(114),p=n(4),l=n(40),d=n(16),f=300,y=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 g(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=y;var g=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()},f)),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=g},function(t,e,n){\"use strict\";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])})(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(34),s=n(313),a=n(69),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},function(t,e,n){\"use strict\";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])})(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(8).HistoryItem);e.ChangeConnectorTextPositionHistoryItem=r},function(t,e,n){\"use strict\";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])})(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(40),s=n(315),a=n(4),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},function(t,e,n){\"use strict\";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])})(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(8).HistoryItem);e.ToggleShapeExpandedHistoryItem=r},function(t,e,n){\"use strict\";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])})(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(11),s=n(13),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(40).MouseHandlerCancellableState);e.MouseHandlerSelectionState=a},function(t,e,n){\"use strict\";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])})(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(40),s=n(11),a=n(29),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},function(t,e,n){\"use strict\";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])})(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(29),s=n(0),a=n(150),c=n(35),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},function(t,e,n){\"use strict\";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])})(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(151).MouseHandlerDragDiagramItemStateBase);e.MouseHandlerMoveShapeState=r},function(t,e,n){\"use strict\";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])})(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.MouseHandlerMoveConnectorState=void 0;var r=n(4),s=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!0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"areValidDraggingConnectors\",{get:function(){var t=this;return this.shouldClone?this.draggingShapes.length>0||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(151).MouseHandlerDragDiagramItemStateBase);e.MouseHandlerMoveConnectorState=s},function(t,e,n){\"use strict\";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])})(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(152).MouseHandlerDefaultReadOnlyState);e.MouseHandlerDefaultReadOnlyTouchState=r},function(t,e,n){\"use strict\";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])})(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(147).MouseHandlerDefaultState);e.MouseHandlerDefaultTouchState=r},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.TextInputHandler=void 0;var o=n(153),i=n(11),r=n(26),s=n(14),a=n(6),c=n(69),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},function(t,e,n){\"use strict\";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])})(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(11),s=n(154),a=n(4),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},function(t,e,n){\"use strict\";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])})(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.ConnectionTargetVisualizer=e.ConnectionTargetInfo=void 0;var r=n(156),s=function(){return function(t,e){this.rect=t,this.strokeWidth=e,this.allowed=!0}}();e.ConnectionTargetInfo=s;var a=function(t){function e(e){return t.call(this,e)||this}return i(e,t),e.prototype.raiseShow=function(){var t=this,e=new s(this.targetRect,this.targetStrokeWidth);this.dispatcher.raise1(function(n){return n.notifyConnectionTargetShow(t.key,e)})},e.prototype.raiseHide=function(){this.dispatcher.raise1(function(t){return t.notifyConnectionTargetHide()})},e}(r.TargetVisualizerBase);e.ConnectionTargetVisualizer=a},function(t,e,n){\"use strict\";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])})(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.ContainerTargetVisualizer=e.ContainerTargetInfo=void 0;var r=n(156),s=function(){return function(t,e){this.rect=t,this.strokeWidth=e}}();e.ContainerTargetInfo=s;var a=function(t){function e(e){return t.call(this,e)||this}return i(e,t),e.prototype.raiseShow=function(){var t=this,e=new s(this.targetRect,this.targetStrokeWidth);this.dispatcher.raise1(function(n){return n.notifyContainerTargetShow(t.key,e)})},e.prototype.raiseHide=function(){this.dispatcher.raise1(function(t){return t.notifyContainerTargetHide()})},e}(r.TargetVisualizerBase);e.ContainerTargetVisualizer=a},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ConnectionPointsVisualizer=e.ConnectionPointInfo=void 0;var o=function(){return function(t,e){this.point=t,this.side=e,this.allowed=!0}}();e.ConnectionPointInfo=o;var i=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=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},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.InputPosition=void 0;var o=n(334),i=n(44),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},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.InputPositionProperties=void 0;var o=n(32),i=n(27),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},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.History=void 0;var o=n(8),i=n(3),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},function(t,e,n){\"use strict\";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])})(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;r2&&(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-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=g},function(t,e,n){\"use strict\";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])})(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(27),s=n(21),a=n(5),c=n(341),u=n(56),h=n(42),p=n(2),l=n(0),d=n(17),f=n(22),y=n(12),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},function(t,e,n){\"use strict\";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])})(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.PatternPrimitive=void 0;var r=n(15),s=function(t){function e(e,n,o,i,r,s,a){var c=t.call(this,a)||this;return c.id=e,c.x=o,c.y=i,c.width=r,c.height=s,c.children=n,c}return i(e,t),e.prototype.createMainElement=function(){var t=document.createElementNS(r.svgNS,\"pattern\");return t.setAttribute(\"patternUnits\",\"userSpaceOnUse\"),t.setAttribute(\"id\",this.id),t},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(25).SvgPrimitive);e.PatternPrimitive=s},function(t,e,n){\"use strict\";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])})(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(42),s=n(29),a=n(3),c=n(87),u=n(2),h=n(0),p=n(39),l=n(56),d=n(21),f=n(17),y=n(343),g=n(27),m=n(28),v=n(12);e.CANVAS_MIN_PADDING=8,e.CANVAS_SCROLL_PADDING=18,e.CROP_OFFSET=40;var P=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,\"dxdi-drag-item\")},n.prototype.notifyDragEnd=function(t){this.lockAutoZoom=!1,m.DomUtils.removeClassName(this.svgElement,\"dxdi-drag-item\"),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,\"dxdi-drag-scroll\")},n.prototype.notifyDragScrollEnd=function(){m.DomUtils.removeClassName(this.svgElement,\"dxdi-drag-scroll\")},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=P},function(t,e,n){\"use strict\";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])})(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(108),s=n(15),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},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.AutoScrollController=void 0;var o=n(15),i=n(28),r=n(2),s=n(3),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},function(t,e,n){\"use strict\";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])})(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(1),s=n(14),a=n(6),c=n(346),u=n(4),h=n(44),p=n(3),l=n(49),d=n(24),f=function(){return function(t,e){this.shape=t,this.nodeObj=e}}();e.UpdateNodeKeyRelatedObjectsStackItem=f;var y=function(){return 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},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.DataSource=void 0;var o=n(12),i=n(0),r=n(2),s=n(48),a=n(66),c=n(53),u=n(67),h=n(115),p=n(88),l=n(69),d=n(116),f=n(117),y=n(146),g=n(153),m=n(102),v=n(89),P=n(70),C=n(6),S=n(4),x=n(1),b=n(43),I=n(3),w=n(22),_=n(44),O=n(110),T=n(64),M=n(347),E=n(348),D=n(86),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=0,p=0,l={},d=[],f=[];this.nodes.forEach(function(f){var y=new i.Point(2e3*p++,2e3*h),g=u.createShapeByNode(t,e,o,n,f,y,r,s,a,c);void 0!==f.key&&(l[f.key]=g.key),p>4&&(p=0,h++),d.push(g)}),this.nodes.forEach(function(n){if(void 0!==n.containerKey&&null!==n.containerKey){var o=l[n.key],i=e.findShape(o),r=l[n.containerKey],s=e.findShape(r);s&&S.ModelUtils.insertToContainer(t,e,i,s)}}),this.edges.forEach(function(n){var i=e.findShape(l[n.to]),r=e.findShape(l[n.from]),s=u.createConnectorByEdge(t,e,o,n,r,i);s&&(f.push(s),S.ModelUtils.updateConnectorContainer(t,e,s))}),r.needAutoLayout&&this.applyLayout(t,e,d,f,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=T.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],O.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],O.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);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},function(t,e,n){\"use strict\";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])})(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.DataSourceEdgeDataImporter=e.DataSourceNodeDataImporter=e.DataSourceItemDataImporter=void 0;var r=function(){return function(){this.getKey=function(t){return t.id},this.setKey=function(t,e){t.id=e},this.getCustomData=void 0,this.setCustomData=void 0,this.getLocked=void 0,this.setLocked=void 0,this.getStyle=void 0,this.setStyle=void 0,this.getStyleText=void 0,this.setStyleText=void 0,this.getZIndex=void 0,this.setZIndex=void 0}}();e.DataSourceItemDataImporter=r;var s=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.getType=void 0,e.setType=void 0,e.getText=void 0,e.setText=void 0,e.getImage=void 0,e.setImage=void 0,e.getLeft=void 0,e.setLeft=void 0,e.getTop=void 0,e.setTop=void 0,e.getWidth=void 0,e.setWidth=void 0,e.getHeight=void 0,e.setHeight=void 0,e.getChildren=void 0,e.setChildren=void 0,e.getParentKey=void 0,e.setParentKey=void 0,e.getItems=void 0,e.setItems=void 0,e.getContainerKey=void 0,e.setContainerKey=void 0,e}return i(e,t),e}(r);e.DataSourceNodeDataImporter=s;var a=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.getFrom=function(t){return t.from},e.setFrom=function(t,e){t.from=e},e.getFromPointIndex=void 0,e.setFromPointIndex=void 0,e.getTo=function(t){return t.to},e.setTo=function(t,e){t.to=e},e.getToPointIndex=void 0,e.setToPointIndex=void 0,e.getPoints=void 0,e.setPoints=void 0,e.getText=void 0,e.setText=void 0,e.getLineOption=void 0,e.setLineOption=void 0,e.getStartLineEnding=void 0,e.setStartLineEnding=void 0,e.getEndLineEnding=void 0,e.setEndLineEnding=void 0,e}return i(e,t),e}(r);e.DataSourceEdgeDataImporter=a},function(t,e,n){\"use strict\";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])})(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(6),s=function(){return 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},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ViewController=void 0;var o=n(82),i=Math.log(.05),r=Math.log(3),s=40,a=p(1),c=[o.DiagramCommand.ZoomLevel,o.DiagramCommand.ZoomLevelInPercentage,o.DiagramCommand.Zoom100,o.DiagramCommand.Zoom125,o.DiagramCommand.Zoom200,o.DiagramCommand.Zoom25,o.DiagramCommand.Zoom50,o.DiagramCommand.Zoom75],u=[o.DiagramCommand.SwitchAutoZoom,o.DiagramCommand.ToggleAutoZoom,o.DiagramCommand.AutoZoomToContent,o.DiagramCommand.AutoZoomToWidth],h=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(s-1,Math.max(0,e+n));if(o!==a){var c=i+(r-i)*o/(s-1);return Math.exp(c)}return 1},t.prototype.getNearestCurrentZoomStep=function(){return p(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(c)},t.prototype.notifyZoomChanged=function(t,e){this.autoZoom!==e&&(this.autoZoom=e,this.bars.updateItemsState(u))},t}();function p(t){var e=Math.log(t);return Math.round((e-i)*(s-1)/(r-i))}e.ViewController=h},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ToolboxManager=void 0;var o=n(351),i=n(352),r=n(79),s=n(24),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},function(t,e,n){\"use strict\";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])})(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.TextToolbox=void 0;var r=function(t){function e(e,n,o,i,r,s){return t.call(this,e,n,o,i,r,s)||this}return i(e,t),e.prototype.createElements=function(t,e){var n=this;e.forEach(function(e){var o=n.shapeDescriptionManager.get(e),i=document.createElement(\"div\");i.setAttribute(\"class\",\"toolbox-text-item\"),i.setAttribute(\"data-tb-type\",e),i.textContent=o.getDefaultText()||o.getTitle(),t.appendChild(i)})},e.prototype.createDraggingElement=function(t){var e=document.createElement(\"DIV\");e.setAttribute(\"class\",\"dxdi-toolbox-drag-text-item\");var n=this.shapeDescriptionManager.get(t.evt.data);return e.textContent=n.getDefaultText()||n.getTitle(),document.body.appendChild(e),e},e}(n(159).Toolbox);e.TextToolbox=r},function(t,e,n){\"use strict\";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])})(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(159),s=n(15),a=n(14),c=n(12),u=n(0),h=n(121),p=n(27),l=n(126),d=n(21),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.width0&&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},function(t,e,n){\"use strict\";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])})(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(16),s=n(23),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},function(t,e,n){\"use strict\";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])})(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(16),s=n(23),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},function(t,e,n){\"use strict\";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])})(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(16),s=n(23),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},function(t,e,n){\"use strict\";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])})(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(16),s=n(23),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},function(t,e,n){\"use strict\";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])})(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(16),s=n(23),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},function(t,e,n){\"use strict\";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])})(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(16),s=n(23),a=n(3),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},function(t,e,n){\"use strict\";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])})(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(16),s=n(23),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},function(t,e,n){\"use strict\";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])})(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(16),s=n(23),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},function(t,e,n){\"use strict\";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])})(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(16),s=n(23),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},function(t,e,n){\"use strict\";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])})(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(16),s=n(23),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},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.PermissionsProviderStorage=void 0;var o=n(14),i=n(6),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;n1){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,a){if(0===e||o===t.length-1)return a;var c=a.map(function(t){return new i.ConnectorRenderPoint(t.x,t.y,t.pointIndex)});return this.onMovePointCore(c,e,n),this.onMovePointCore(c,o,r),s.ModelUtils.skipUnnecessaryRightAngleRenderPoints(c),c},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},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.RightAngleConnectorRoutingContext=e.IntersectingItemsByPointsContext=e.CuttingItemsContext=void 0;var o=n(0),i=n(33),r=n(60),s=n(9),a=n(160),c=n(371),u=n(373),h=n(4),p=n(161),l=n(374),d=n(378),f=n(3),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},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ConnectorRenderSegment=void 0;var o=n(33),i=n(372),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},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ConnectorProhibitedSegments=void 0;var o=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=0&&e0&&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},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.SortedQueues=void 0;var o=n(41),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},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.UniqueAStarNodePositions=void 0;var o=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=o},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.AStarNode=void 0;var o=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=o},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.AStarCalculator=void 0;var o=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=o},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ReloadContentParameters=void 0;var o=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=o},function(t,e,n){}])});","/*!\n * DevExpress Gantt (dx-gantt.min)\n * Version: 4.1.47\n * Build date: Thu Jun 15 2023\n * \n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\n * Read about DevExpress licensing here: https://www.devexpress.com/Support/EULAs\n */\n!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof exports?exports.Gantt=t():(e.DevExpress=e.DevExpress||{},e.DevExpress.Gantt=t())}(this,(function(){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,\"a\",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p=\"\",n(n.s=73)}([function(e,t,n){\"use strict\";n.r(t),n.d(t,\"__extends\",(function(){return i})),n.d(t,\"__assign\",(function(){return o})),n.d(t,\"__rest\",(function(){return s})),n.d(t,\"__decorate\",(function(){return a})),n.d(t,\"__param\",(function(){return l})),n.d(t,\"__metadata\",(function(){return c})),n.d(t,\"__awaiter\",(function(){return u})),n.d(t,\"__generator\",(function(){return d})),n.d(t,\"__createBinding\",(function(){return p})),n.d(t,\"__exportStar\",(function(){return h})),n.d(t,\"__values\",(function(){return f})),n.d(t,\"__read\",(function(){return g})),n.d(t,\"__spread\",(function(){return y})),n.d(t,\"__spreadArrays\",(function(){return m})),n.d(t,\"__spreadArray\",(function(){return v})),n.d(t,\"__await\",(function(){return T})),n.d(t,\"__asyncGenerator\",(function(){return b})),n.d(t,\"__asyncDelegator\",(function(){return k})),n.d(t,\"__asyncValues\",(function(){return _})),n.d(t,\"__makeTemplateObject\",(function(){return S})),n.d(t,\"__importStar\",(function(){return E})),n.d(t,\"__importDefault\",(function(){return D})),n.d(t,\"__classPrivateFieldGet\",(function(){return I})),n.d(t,\"__classPrivateFieldSet\",(function(){return C}));\n/*! *****************************************************************************\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***************************************************************************** */\nvar 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])})(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 _(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 S(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}},function(e,t,n){\"use strict\";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(39);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\")}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.GanttDataObjectNames=t.DataObject=void 0;var r=n(1),i=n(18),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\"}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.DomUtils=void 0;var r=n(10),i=n(1),o=n(18),s=n(39),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},function(e,t,n){\"use strict\";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={}))},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.Point=void 0;var r=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=r},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.CommandBase=void 0;var r=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;t0?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},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.EvtUtils=void 0;var r=n(10),i=n(1),o=n(3),s=n(167),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},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.Browser=void 0;var r=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={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 o={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\"},s=\"(?:(\\\\d+)(?:\\\\.((?:\\\\d+?[1-9])|\\\\d)0*?)?)?\",a={Safari:\"applewebkit(?:.*?(?:version/(\\\\d+)(?:\\\\.((?:\\\\d+?[1-9])|\\\\d)0*?)?[\\\\.\\\\w\\\\d]*?(?:\\\\s+mobile/\\\\S*)?\\\\s+safari))?\",Chrome:\"(?:chrome|crios)(?!frame)(?:/|\\\\s*)?\"+s,Mozilla:\"mozilla(?:.*rv:\"+s+\".*Gecko)?\",Netscape:\"(?:netscape|navigator)\\\\d*/?\\\\s*\"+s,Firefox:\"firefox(?:/|\\\\s*)?\"+s,Opera:\"(?:opera|\\\\sopr)(?:/|\\\\s*)?\"+s,Opera10:\"opera.*\\\\s*version(?:/|\\\\s*)?\"+s,IE:\"msie\\\\s*\"+s,Edge:\"edge(?:/|\\\\s*)?\"+s},l=null,c=-1,u=0;u=0){if(\"IE\"===l&&c>=11&&\"Safari\"===d)continue;\"Opera10\"===(l=d)&&(l=\"Opera\");c=e.GetBrowserVersion(t,p,\"trident(?:/|\\\\s*)?(?:(\\\\d+)(?:\\\\.((?:\\\\d+?[1-9])|\\\\d)0*?)?)?\",e.getIECompatibleVersionString()),\"Mozilla\"===l&&c>=11&&(l=\"IE\")}}l||(l=\"IE\");var h=-1!==c;h||(c=i[l]);var f=null,g=Number.MAX_VALUE;for(var y in o)if(Object.prototype.hasOwnProperty.call(o,y)){var m=\"!\"===y.substr(0,1),v=t.indexOf((m?y.substr(1):y).toLowerCase());v>=0&&(v0;\"WinPhone\"===f&&c<9&&(c=Math.floor(e.getVersionFromTrident(t,\"trident(?:/|\\\\s*)?\"+s))),!n&&\"IE\"===l&&c>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;is)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.getDSTDelta(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.getDSTCorrectedTaskEnd=function(t,n){var r=t.getTime()+n,i=e.getDSTDelta(t,new Date(r));return new Date(r+i)},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},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.RenderElementUtils=void 0;var r=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=r},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.Color=void 0;var r=n(1),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},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.MathUtils=void 0;var r=n(82),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-1&&t-1&&e0){var t=this.createItem();t.assignFromObject(e),this.add(t)}},e.prototype.importFromArray=function(e){for(var t=0;t0&&this.control.validationController.updateParentsIfRequired(e.children[0].task.internalId)},t}(i.CommandBase);t.TaskCommandBase=s},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.GridLayoutCalculator=void 0;var r=n(12),i=n(19),o=n(4),s=n(58),a=n(5),l=n(15),c=n(59),u=n(23),d=n(129),p=n(1),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},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.StyleDef=void 0;var r=n(1),i=n(3),o=n(17),s=n(35),a=n(36),l=n(62),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},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.PdfPageTableNames=void 0;var r=function(){function e(){}return e.treeListHeader=\"treeListHeader\",e.treeListMain=\"treeListMain\",e.chartMain=\"chartMain\",e.chartScaleTop=\"chartScaleTop\",e.chartScaleBottom=\"chartScaleBottom\",e}();t.PdfPageTableNames=r},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.BaseManipulator=void 0;var r=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=r},function(e,t,n){\"use strict\";var r;Object.defineProperty(t,\"__esModule\",{value:!0}),t.TaskAreaDomHelper=void 0;var i=n(3),o=n(9),s=n(46),a=n(4),l=n(25),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},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.TaskAreaStateBase=void 0;var r=n(10),i=n(5),o=n(3),s=n(9),a=n(66),l=n(172),c=n(29),u=n(13),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},function(e,t,n){\"use strict\";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={}))},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.DialogParametersBase=void 0;var r=function(){};t.DialogParametersBase=r},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.DeassignResourceHistoryItem=void 0;var r=n(0),i=n(14),o=n(2),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},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.ResourceCommandBase=void 0;var r=n(0),i=n(6),o=n(7),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},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.PredefinedStyles=void 0;var r=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=r},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.Margin=void 0;var r=n(1),i=n(3),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},function(e,t,n){\"use strict\";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={}))},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.RecurrenceBase=void 0;var r=n(0),i=n(203),o=n(57),s=n(204),a=n(1),l=n(8),c=n(71),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(2).DataObject);t.RecurrenceBase=u},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.StringUtils=void 0;var r=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(;o3?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},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.CellDef=void 0;var r=n(1),i=n(26),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},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.TaskEditController=void 0;var r=n(4),i=n(19),o=n(3),s=n(10),a=n(169),l=n(65),c=n(15),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},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.GanttView=void 0;var r=n(75),i=n(10),o=n(76),s=n(43),a=n(19),l=n(8),c=n(15),u=n(123),d=n(124),p=n(126),h=n(137),f=n(1),g=n(139),y=n(145),m=n(152),v=n(157),T=n(185),b=n(12),k=n(68),_=n(46),S=n(189),w=n(190),E=n(192),D=n(4),I=n(193),C=n(210),P=n(9),M=n(3),A=n(5),O=n(211),x=n(20),R=n(2),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=S.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 _.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},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.Resource=void 0;var r=n(0),i=n(1),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(2).DataObject);t.Resource=o},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.ResourceAssigningArguments=void 0;var r=n(0),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(11).BaseArguments);t.ResourceAssigningArguments=i},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.AssignResourceHistoryItem=void 0;var r=n(0),i=n(14),o=n(2),s=n(18),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},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.DependencyCommandBase=void 0;var r=n(0),i=n(6),o=n(7),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},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.TaskInsertingArguments=void 0;var r=n(0),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(11).BaseArguments);t.TaskInsertingArguments=i},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.UpdateTaskHistoryItem=void 0;var r=n(0),i=n(2),o=n(14),s=n(54),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},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.HistoryItemState=void 0;var r=function(e,t){this.id=e,this.value=t};t.HistoryItemState=r},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.Time=void 0;var r=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=r},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.TimeRange=void 0;var r=n(8),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},function(e,t,n){\"use strict\";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={}))},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.GridElementInfo=void 0;var r=n(5),i=n(12),o=n(127),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},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.StripLine=void 0;var r=n(1),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},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.PdfDependencyLineInfo=void 0;var r=n(5),i=n(17),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},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.PdfTaskResourcesInfo=void 0;var r=n(1),i=n(26),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},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.Width=void 0;var r=n(35),i=n(3),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},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.PdfTimeMarkerInfo=void 0;var r=n(5),i=n(12),o=n(1),s=n(17),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},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.EllipsisHelper=void 0;var r=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=r},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.TooltipSettings=void 0;var r=n(1),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},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.KeyCode=t.ModifierKey=t.KeyUtils=void 0;var r,i,o=n(10),s=n(171),a=n(39),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=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},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.ExtendedMinMax=t.ExtendedMax=t.ExtendedMin=t.MinMaxNumber=t.MinMax=void 0;var r=n(0),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},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.Equals=t.Comparers=void 0;var r=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=r;var i=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=i},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.ResourcesDialogParameters=void 0;var r=n(0),i=n(21),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(32).DialogParametersBase);t.ResourcesDialogParameters=o},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.TaskEditDialogCommand=void 0;var r=n(0),i=n(21),o=n(49),s=n(50),a=n(33),l=n(20),c=n(87),u=n(1),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;i0?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(24).TaskCommandBase);t.UpdateTaskCommand=u},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.ConstraintViolationDialogParameters=void 0;var r=n(0),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(32).DialogParametersBase);t.ConstraintViolationDialogParameters=i},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.RemoveTaskCommand=void 0;var r=n(0),i=n(31),o=n(40),s=n(118),a=n(41),l=n(33),c=n(119),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(24).TaskCommandBase);t.RemoveTaskCommand=u},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.TaskRemovingArguments=void 0;var r=n(0),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(11).BaseArguments);t.TaskRemovingArguments=i},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.RemoveTaskHistoryItem=void 0;var r=n(0),i=n(2),o=n(42),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},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.TaskAddContextItemCommand=void 0;var r=n(0),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(24).TaskCommandBase);t.TaskAddContextItemCommand=i},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.ZoomInCommand=void 0;var r=n(0),i=n(6),o=n(7),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},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.ZoomOutCommand=void 0;var r=n(0),i=n(6),o=n(7),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},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.FullScreenHelperSettings=void 0;var r=n(1),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},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.FullScreenModeHelper=void 0;var r=n(10),i=n(125),o=n(3),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},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.AttrUtils=void 0;var r=n(10),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},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.GanttExportCalculator=void 0;var r=n(5),i=n(3),o=n(4),s=n(25),a=n(60),l=n(61),c=n(44),u=n(17),d=n(26),p=n(36),h=n(45),f=n(130),g=n(131),y=n(27),m=n(12),v=n(134),T=n(136),b=n(63),k=n(37),_=n(35),S=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=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,o=this.range.start,s=0;o.getTime()=this.range.end.getTime(),d=c||u?this.getRangeTickCount(o,l)*n:n;t.push(new a(o,l,new r.Point(s,void 0),new i.Size(d,0))),o=l,s+=d}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},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.TaskAreaExportHelper=void 0;var r=n(3),i=n(19),o=n(25),s=n(15),a=n(17),l=n(37),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},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.GanttPdfExportProps=void 0;var r=n(12),i=n(1),o=n(36),s=n(132),a=n(133),l=n(37),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},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.PdfDataRange=void 0;var r=n(1),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},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.PdfCustomFontSettings=void 0;var r=n(1),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},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.PdfGanttPaginator=void 0;var r=n(5),i=n(12),o=n(60),s=n(44),a=n(61),l=n(63),c=n(27),u=n(45),d=n(135),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;sNumber.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=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;o0&&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},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.PdfGanttPageDrawer=void 0;var r=n(5),i=n(154),o=n(27),s=n(37),a=n(155),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},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.PdfObjectDrawer=void 0;var r=n(4),i=n(64),o=n(44),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},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.PdfGanttTableDrawer=void 0;var r=n(1),i=n(27),o=n(64),s=n(156),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-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},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.EtalonsHelper=void 0;var r=n(3),i=n(4),o=n(58),s=n(16),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;l5*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)-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},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.TaskAreaStateController=void 0;var r=n(5),i=n(3),o=n(9),s=n(46),a=n(4),l=n(170),c=n(173),u=n(29),d=n(174),p=n(13),h=n(175),f=n(177),g=n(178),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},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.TaskEditTooltip=void 0;var r=n(3),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},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.TaskAreaDefaultState=void 0;var r=n(0),i=n(9),o=n(29),s=n(30),a=n(13),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()/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=r},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.TaskAreaEventArgs=void 0;var r=n(1),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},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.TaskAreaDependencyState=t.dependencyMap=void 0;var r=n(0),i=n(5),o=n(3),s=n(9),a=n(23),l=n(4),c=n(29),u=n(30),d=n(13);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},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.TaskAreaScrollState=void 0;var r=n(0),i=n(30),o=n(13),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},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.TaskAreaZoomState=void 0;var r=n(0),i=n(5),o=n(9),s=n(176),a=n(30),l=n(13),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},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.Metrics=void 0;var r=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=r},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.TaskEditState=void 0;var r=n(0),i=n(9),o=n(4),s=n(29),a=n(13),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(67).TaskDragBaseState);t.TaskEditState=l},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.TaskMoveState=void 0;var r=n(0),i=n(13),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(67).TaskDragBaseState);t.TaskMoveState=o},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.TaskAreaRender=void 0;var r=n(3),i=n(16),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=this.getTaskAreaContainerElement();this.areHorizontalBordersEnabled?r.DomUtils.addClassName(e,\"dx-gantt-tac-hb\"):r.DomUtils.removeClassName(e,\"dx-gantt-tac-hb\");var t=parseInt(getComputedStyle(e).getPropertyValue(\"margin-top\"))||0,n=\"calc(100% - \".concat(this.etalonSizeValues.scaleItemHeight*this.scaleCount+t,\"px)\");this._isExternalTaskAreaContainer?this.prepareExternalTaskAreaContainer(e,{height:n}):e.style.height=n},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},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.TaskRender=void 0;var r=n(3),i=n(4),o=n(181),s=n(16),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)n.isCustom||this.createDefaultTaskElement(e);else{var r=this.getTaskDependencies(n.task.internalId);this.addInvalidTaskDependencies(r)}},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},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.CustomTaskRender=void 0;var r=n(4),i=n(16),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},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.MainElementsRender=void 0;var r=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=r},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.TaskAreaContainer=void 0;var r=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=r},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.ElementTextHelper=void 0;var r=n(3),i=n(4),o=n(15),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},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.Settings=void 0;var r=n(1),i=n(8),o=n(4),s=n(186),a=n(68),l=n(187),c=n(188),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},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.EditingSettings=void 0;var r=n(1),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},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.ValidationSettings=void 0;var r=n(1),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},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.ViewTypeRangeSettings=void 0;var r=n(1),i=n(4),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},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.TaskEditSettings=void 0;var r=n(0),i=n(1),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(65).TooltipSettings);t.TaskEditSettings=o},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.ValidationController=void 0;var r=n(0),i=n(1),o=n(15),s=n(23),a=n(53),l=n(19),c=n(8),u=n(191),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-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},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.TaskCollection=void 0;var r=n(0),i=n(195),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(22).CollectionBase);t.TaskCollection=o},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.Task=void 0;var r=n(0),i=n(1),o=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||new Date(0),this.end=\"string\"==typeof t.end?new Date(t.end):t.end||new Date(0),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.isValid=function(){return!!this.start.getTime()&&!!this.end.getTime()},t}(n(2).DataObject);t.Task=o},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.DependencyCollection=void 0;var r=n(0),i=n(22),o=n(69),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},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.ResourceAssignmentCollection=void 0;var r=n(0),i=n(22),o=n(70),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},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.ViewVisualModelItem=void 0;var r=n(1),i=n(12),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},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.ViewVisualModelDependencyInfo=void 0;var r=function(e,t,n){this.id=e,this.predecessor=t,this.type=n};t.ViewVisualModelDependencyInfo=r},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.WorkingTimeCalculator=void 0;var r=n(201),i=n(209),o=n(8),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},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.WorkingDayRuleCollection=void 0;var r=n(0),i=n(22),o=n(202),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},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.WorkingTimeRule=void 0;var r=n(0),i=n(2),o=n(1),s=n(8),a=n(71),l=n(72),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},function(e,t,n){\"use strict\";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={}))},function(e,t,n){\"use strict\";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={}))},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.Weekly=void 0;var r=n(0),i=n(38),o=n(8),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},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.Monthly=void 0;var r=n(0),i=n(38),o=n(8),s=n(207),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},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.MonthInfo=void 0;var r=n(8),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=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},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.DayWorkingTimeInfo=void 0;var r=n(56),i=n(8),o=n(55),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&&tn&&(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):rl&&(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}])}));","// Version: 2.9.3\r\n// https://github.com/DevExpress/DevExtreme.AspNet.Data\n// Copyright (c) Developer Express Inc.\n\n/* global DevExpress:false, jQuery:false */\n\n(function(factory) {\n \"use strict\";\n\n function unwrapESModule(module) {\n return module && module.__esModule && module.default ? module.default : module;\n }\n\n if(typeof define === \"function\" && define.amd) {\n define(function(require, exports, module) {\n module.exports = factory(\n unwrapESModule(require(\"devextreme/core/utils/ajax\")),\n require(\"jquery\").Deferred,\n require(\"jquery\").extend,\n unwrapESModule(require(\"devextreme/data/custom_store\")),\n unwrapESModule(require(\"devextreme/data/utils\"))\n );\n });\n } else if (typeof module === \"object\" && module.exports) {\n module.exports = factory(\n unwrapESModule(require(\"devextreme/core/utils/ajax\")),\n require(\"jquery\").Deferred,\n require(\"jquery\").extend,\n unwrapESModule(require(\"devextreme/data/custom_store\")),\n unwrapESModule(require(\"devextreme/data/utils\"))\n );\n } else {\n DevExpress.data.AspNet = factory(\n DevExpress.utils.ajax || { sendRequest: jQuery.ajax },\n jQuery.Deferred,\n jQuery.extend,\n DevExpress.data.CustomStore,\n DevExpress.data.utils\n );\n }\n\n})(function(ajaxUtility, Deferred, extend, CustomStore, dataUtils) {\n \"use strict\";\n\n var CUSTOM_STORE_OPTIONS = [\n \"onLoading\", \"onLoaded\",\n \"onInserting\", \"onInserted\",\n \"onUpdating\", \"onUpdated\",\n \"onRemoving\", \"onRemoved\",\n \"onModifying\", \"onModified\",\n \"onPush\",\n \"loadMode\", \"cacheRawData\",\n \"errorHandler\"\n ];\n\n function createStoreConfig(options) {\n var keyExpr = options.key,\n loadUrl = options.loadUrl,\n loadMethod = options.loadMethod || \"GET\",\n loadParams = options.loadParams,\n isRawLoadMode = options.loadMode === \"raw\",\n updateUrl = options.updateUrl,\n insertUrl = options.insertUrl,\n deleteUrl = options.deleteUrl,\n onBeforeSend = options.onBeforeSend,\n onAjaxError = options.onAjaxError;\n\n function send(operation, requiresKey, ajaxSettings, customSuccessHandler) {\n var d = Deferred(),\n thenable,\n beforeSendResult;\n\n function sendCore() {\n ajaxUtility.sendRequest(ajaxSettings).then(\n function(res, textStatus, xhr) {\n if(customSuccessHandler)\n customSuccessHandler(d, res, xhr);\n else\n d.resolve();\n },\n function(xhr, textStatus) {\n var error = getErrorMessageFromXhr(xhr);\n\n if(onAjaxError) {\n var e = { xhr: xhr, error: error };\n onAjaxError(e);\n error = e.error;\n }\n\n if(error)\n d.reject(error);\n else\n d.reject(xhr, textStatus);\n }\n );\n }\n\n if(requiresKey && !keyExpr) {\n d.reject(new Error(\"Primary key is not specified (operation: '\" + operation + \"', url: '\" + ajaxSettings.url + \"')\"));\n } else {\n if(operation === \"load\") {\n ajaxSettings.cache = false;\n ajaxSettings.dataType = \"json\";\n } else {\n ajaxSettings.dataType = \"text\";\n }\n\n if(onBeforeSend) {\n beforeSendResult = onBeforeSend(operation, ajaxSettings);\n if(beforeSendResult && typeof beforeSendResult.then === \"function\")\n thenable = beforeSendResult;\n }\n\n if(thenable)\n thenable.then(sendCore, function(error) { d.reject(error); });\n else\n sendCore();\n }\n\n return d.promise();\n }\n\n function filterByKey(keyValue) {\n if(!Array.isArray(keyExpr))\n return [keyExpr, keyValue];\n\n return keyExpr.map(function(i) {\n return [i, keyValue[i]];\n });\n }\n\n function loadOptionsToActionParams(options, isCountQuery) {\n var result = {};\n\n if(isCountQuery)\n result.isCountQuery = isCountQuery;\n\n if(options) {\n\n [\"skip\", \"take\", \"requireTotalCount\", \"requireGroupCount\"].forEach(function(i) {\n if(options[i] !== undefined)\n result[i] = options[i];\n });\n\n var normalizeSorting = dataUtils.normalizeSortingInfo,\n group = options.group,\n filter = options.filter,\n select = options.select;\n\n if(options.sort)\n result.sort = JSON.stringify(normalizeSorting(options.sort));\n\n if(group) {\n if(!isAdvancedGrouping(group))\n group = normalizeSorting(group);\n result.group = JSON.stringify(group);\n }\n\n if(Array.isArray(filter)) {\n filter = extend(true, [], filter);\n stringifyDatesInFilter(filter);\n result.filter = JSON.stringify(filter);\n }\n\n if(options.totalSummary)\n result.totalSummary = JSON.stringify(options.totalSummary);\n\n if(options.groupSummary)\n result.groupSummary = JSON.stringify(options.groupSummary);\n\n if(select) {\n if(!Array.isArray(select))\n select = [ select ];\n result.select = JSON.stringify(select);\n }\n }\n\n extend(result, loadParams);\n\n return result;\n }\n\n function handleInsertUpdateSuccess(d, res, xhr) {\n var mime = xhr.getResponseHeader(\"Content-Type\"),\n isJSON = mime && mime.indexOf(\"application/json\") > -1;\n d.resolve(isJSON ? JSON.parse(res) : res);\n }\n\n var result = {\n key: keyExpr,\n useDefaultSearch: true,\n\n load: function(loadOptions) {\n return send(\n \"load\",\n false,\n {\n url: loadUrl,\n method: loadMethod,\n data: loadOptionsToActionParams(loadOptions)\n },\n function(d, res) {\n processLoadResponse(d, res, function(res) {\n return [ res.data, createLoadExtra(res) ];\n });\n }\n );\n },\n\n totalCount: !isRawLoadMode && function(loadOptions) {\n return send(\n \"load\",\n false,\n {\n url: loadUrl,\n method: loadMethod,\n data: loadOptionsToActionParams(loadOptions, true)\n },\n function(d, res) {\n processLoadResponse(d, res, function(res) {\n return [ res.totalCount ];\n });\n }\n );\n },\n\n byKey: !isRawLoadMode && function(key) {\n return send(\n \"load\",\n true,\n {\n url: loadUrl,\n method: loadMethod,\n data: loadOptionsToActionParams({ filter: filterByKey(key) })\n },\n function(d, res) {\n processLoadResponse(d, res, function(res) {\n return [ res.data[0] ];\n });\n }\n );\n },\n\n update: updateUrl && function(key, values) {\n return send(\n \"update\",\n true,\n {\n url: updateUrl,\n method: options.updateMethod || \"PUT\",\n data: {\n key: serializeKey(key),\n values: JSON.stringify(values)\n }\n },\n handleInsertUpdateSuccess\n );\n },\n\n insert: insertUrl && function(values) {\n return send(\n \"insert\",\n true,\n {\n url: insertUrl,\n method: options.insertMethod || \"POST\",\n data: { values: JSON.stringify(values) }\n },\n handleInsertUpdateSuccess\n );\n },\n\n remove: deleteUrl && function(key) {\n return send(\"delete\", true, {\n url: deleteUrl,\n method: options.deleteMethod || \"DELETE\",\n data: { key: serializeKey(key) }\n });\n }\n\n };\n\n CUSTOM_STORE_OPTIONS.forEach(function(name) {\n var value = options[name];\n if(value !== undefined)\n result[name] = value;\n });\n\n return result;\n }\n\n function processLoadResponse(d, res, getResolveArgs) {\n res = expandLoadResponse(res);\n\n if(!res || typeof res !== \"object\")\n d.reject(new Error(\"Unexpected response received\"));\n else\n d.resolve.apply(d, getResolveArgs(res));\n }\n\n function expandLoadResponse(value) {\n if(Array.isArray(value))\n return { data: value };\n\n if(typeof value === \"number\")\n return { totalCount: value };\n\n return value;\n }\n\n function createLoadExtra(res) {\n return {\n totalCount: \"totalCount\" in res ? res.totalCount : -1,\n groupCount: \"groupCount\" in res ? res.groupCount : -1,\n summary: res.summary || null\n };\n }\n\n function serializeKey(key) {\n if(typeof key === \"object\")\n return JSON.stringify(key);\n\n return key;\n }\n\n function serializeDate(date) {\n\n function zpad(text, len) {\n text = String(text);\n while(text.length < len)\n text = \"0\" + text;\n return text;\n }\n\n var builder = [1 + date.getMonth(), \"/\", date.getDate(), \"/\", date.getFullYear()],\n h = date.getHours(),\n m = date.getMinutes(),\n s = date.getSeconds(),\n f = date.getMilliseconds();\n\n if(h + m + s + f > 0)\n builder.push(\" \", zpad(h, 2), \":\", zpad(m, 2), \":\", zpad(s, 2), \".\", zpad(f, 3));\n\n return builder.join(\"\");\n }\n\n function stringifyDatesInFilter(crit) {\n crit.forEach(function(v, k) {\n if(Array.isArray(v)) {\n stringifyDatesInFilter(v);\n } else if(Object.prototype.toString.call(v) === \"[object Date]\") {\n crit[k] = serializeDate(v);\n }\n });\n }\n\n function isAdvancedGrouping(expr) {\n if(!Array.isArray(expr))\n return false;\n\n for(var i = 0; i < expr.length; i++) {\n if(\"groupInterval\" in expr[i] || \"isExpanded\" in expr[i])\n return true;\n }\n\n return false;\n }\n\n function getErrorMessageFromXhr(xhr) {\n var mime = xhr.getResponseHeader(\"Content-Type\"),\n responseText = xhr.responseText,\n candidate;\n\n if(!mime)\n return null;\n\n if(mime.indexOf(\"text/plain\") === 0)\n return responseText;\n\n if(mime.indexOf(\"application/json\") === 0) {\n var jsonObj = safeParseJSON(responseText);\n\n if(typeof jsonObj === \"string\")\n return jsonObj;\n\n if(typeof jsonObj === \"object\") {\n for(var key in jsonObj) {\n if(typeof jsonObj[key] === \"string\")\n return jsonObj[key];\n }\n }\n\n return responseText;\n }\n\n if(mime.indexOf(\"application/problem+json\") === 0) {\n var jsonObj = safeParseJSON(responseText);\n\n var candidate;\n if(typeof jsonObj === \"object\") {\n candidate = jsonObj.title;\n if(isNonEmptyString(candidate))\n return candidate;\n\n candidate = jsonObj.detail;\n if(isNonEmptyString(candidate))\n return candidate;\n }\n\n return responseText;\n }\n\n return null;\n }\n\n function safeParseJSON(json) {\n try {\n return JSON.parse(json);\n } catch(x) {\n return null;\n }\n }\n\n function isNonEmptyString(value) {\n return typeof value === \"string\" && value.length > 0;\n }\n\n return {\n createStore: function(options) {\n return new CustomStore(createStoreConfig(options));\n }\n };\n});\n","/*!\n * DevExtreme-Quill Editor v.1.6.2\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(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(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, 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 _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(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(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, 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 _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 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) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\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__(6192);\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(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\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) { 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, 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 _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/***/ 6192:\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(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(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, 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 _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(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\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, 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 _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(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(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, 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 _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(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(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, 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 _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__(6192);\n/* harmony import */ var _text__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8222);\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(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, 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 _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__(6192);\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(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(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(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\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, 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 _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(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\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, 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 _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__(6192);\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__(2215);\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__(2539);\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__(6192);\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(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) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(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(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\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, 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; }\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(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(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, 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 _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 _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, 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 _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__(2539);\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(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction _defineProperty(obj, key, value) { 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(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\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, 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; }\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.2\";\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/***/ 2539:\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 _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(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\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, 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 _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 _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, 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; }\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(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(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, 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 _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__(6192);\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(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(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, 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 _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(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(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, 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 _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(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(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, 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 _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(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(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, 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 _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(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\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__(6192);\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(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(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 _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\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, 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 _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 ? void 0 : _this$cell.format(name, value);\n }\n if (_attributors_table__WEBPACK_IMPORTED_MODULE_4__/* .TABLE_FORMATS */ .li[name]) {\n var _this$cell2, _this$cell2$table;\n (_this$cell2 = this.cell()) === null || _this$cell2 === void 0 ? void 0 : (_this$cell2$table = _this$cell2.table()) === null || _this$cell2$table === void 0 ? void 0 : _this$cell2$table.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 ? 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 ? 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 domNode = this.children.head.children.head.children.head.domNode;\n var formats = {};\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 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.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 ? 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(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 _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction _defineProperty(obj, key, value) { 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(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\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, 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 _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/***/ 2215:\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(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(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, 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 _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(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(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(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\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) { 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, 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 _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, context) {\n if (context.format.table) 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 _ref4;\n var where = key === 'leftArrow' ? 'prefix' : 'suffix';\n return _ref4 = {\n key: key,\n shiftKey: shiftKey,\n altKey: null\n }, _defineProperty(_ref4, where, /^$/), _defineProperty(_ref4, \"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 }), _ref4;\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(_ref5) {\n var quill = _ref5.quill,\n range = _ref5.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__(6192);\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(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction _defineProperty(obj, key, value) { 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(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\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, 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 _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_10__ = __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);\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction _defineProperty(obj, key, value) { 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(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\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, 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 _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\nvar EMPTY_RESULT = [null, null, null, -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_10__/* [\"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_10__/* [\"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_10__/* [\"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_10__/* [\"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_10__/* [\"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_10__/* [\"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_10__/* [\"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_10__/* [\"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_10__/* [\"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 cell enter': {\n key: 'enter',\n shiftKey: null,\n format: ['tableCellLine', 'tableHeaderCellLine'],\n handler: function handler(range, context) {\n var _this$quill$selection,\n _this5 = this;\n if ((_this$quill$selection = this.quill.selection) !== null && _this$quill$selection !== void 0 && _this$quill$selection.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/***/ 7215:\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(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(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 _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\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, 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 _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, _this$row$table;\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 ? void 0 : (_this$row$table = _this$row.table()) === null || _this$row$table === void 0 ? void 0 : _this$row$table.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 ? 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;// CONCATENATED MODULE: ./modules/table/utils/insert_pr_above.js\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 (Delta_default())().retain(insertIndex).insert('\\n');\n quill.updateContents(delta, core_quill/* default.sources.USER */.ZP.sources.USER);\n quill.setSelection(insertIndex, core_quill/* default.sources.USER */.ZP.sources.USER);\n}\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(obj) { \"@babel/helpers - typeof\"; return lite_typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, lite_typeof(obj); }\nfunction _defineProperty(obj, key, value) { 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(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\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, 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_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 insertParagraphBelow({\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 insertParagraphBelow({\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/***/ 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 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) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\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(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction _defineProperty(obj, key, value) { 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, 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 _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) {\n if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];\n }\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) {\n if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];\n }\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) {\n if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];\n }\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) {\n if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];\n }\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) {\n if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];\n }\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) {\n if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];\n }\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) {\n if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];\n }\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) {\n if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];\n }\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) {\n if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];\n }\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) {\n if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];\n }\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) {\n if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];\n }\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/***/ 1122:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nvar parent = __webpack_require__(293);\n\nmodule.exports = parent;\n\n\n/***/ }),\n\n/***/ 6562:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nvar parent = __webpack_require__(4165);\n\nmodule.exports = parent;\n\n\n/***/ }),\n\n/***/ 8128:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nvar parent = __webpack_require__(4648);\n\nmodule.exports = parent;\n\n\n/***/ }),\n\n/***/ 5875:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nvar parent = __webpack_require__(4968);\n\nmodule.exports = parent;\n\n\n/***/ }),\n\n/***/ 9684:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n__webpack_require__(3382);\nvar entryUnbind = __webpack_require__(3145);\n\nmodule.exports = entryUnbind('Array', 'fill');\n\n\n/***/ }),\n\n/***/ 7331:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n__webpack_require__(5007);\n__webpack_require__(4845);\nvar path = __webpack_require__(7290);\n\nmodule.exports = path.Array.from;\n\n\n/***/ }),\n\n/***/ 7367:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n__webpack_require__(9457);\nvar path = __webpack_require__(7290);\n\nmodule.exports = path.Object.values;\n\n\n/***/ }),\n\n/***/ 5199:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n__webpack_require__(4797);\nvar entryUnbind = __webpack_require__(3145);\n\nmodule.exports = entryUnbind('String', 'endsWith');\n\n\n/***/ }),\n\n/***/ 1667:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n/* unused reexport */ __webpack_require__(6717);\n\n\n/***/ }),\n\n/***/ 8483:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n/* unused reexport */ __webpack_require__(8941);\n\n\n/***/ }),\n\n/***/ 6143:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n/* unused reexport */ __webpack_require__(8675);\n\n\n/***/ }),\n\n/***/ 9013:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n/* unused reexport */ __webpack_require__(6198);\n\n\n/***/ }),\n\n/***/ 6717:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nvar parent = __webpack_require__(1122);\n\nmodule.exports = parent;\n\n\n/***/ }),\n\n/***/ 8941:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nvar parent = __webpack_require__(6562);\n\nmodule.exports = parent;\n\n\n/***/ }),\n\n/***/ 8675:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nvar parent = __webpack_require__(8128);\n\nmodule.exports = parent;\n\n\n/***/ }),\n\n/***/ 6198:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nvar parent = __webpack_require__(5875);\n\nmodule.exports = parent;\n\n\n/***/ }),\n\n/***/ 7676:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nvar isCallable = __webpack_require__(5277);\nvar tryToString = __webpack_require__(8768);\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw $TypeError(tryToString(argument) + ' is not a function');\n};\n\n\n/***/ }),\n\n/***/ 5017:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nvar isCallable = __webpack_require__(5277);\n\nvar $String = String;\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument) {\n if (typeof argument == 'object' || isCallable(argument)) return argument;\n throw $TypeError(\"Can't set \" + $String(argument) + ' as a prototype');\n};\n\n\n/***/ }),\n\n/***/ 6677:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nvar wellKnownSymbol = __webpack_require__(2280);\nvar create = __webpack_require__(1569);\nvar defineProperty = (__webpack_require__(6385).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/***/ 3875:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nvar isObject = __webpack_require__(2786);\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 $TypeError($String(argument) + ' is not an object');\n};\n\n\n/***/ }),\n\n/***/ 5522:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar toObject = __webpack_require__(744);\nvar toAbsoluteIndex = __webpack_require__(2565);\nvar lengthOfArrayLike = __webpack_require__(7046);\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/***/ 4899:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar bind = __webpack_require__(8166);\nvar call = __webpack_require__(9611);\nvar toObject = __webpack_require__(744);\nvar callWithSafeIterationClosing = __webpack_require__(9637);\nvar isArrayIteratorMethod = __webpack_require__(8089);\nvar isConstructor = __webpack_require__(1536);\nvar lengthOfArrayLike = __webpack_require__(7046);\nvar createProperty = __webpack_require__(5039);\nvar getIterator = __webpack_require__(1805);\nvar getIteratorMethod = __webpack_require__(7193);\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/***/ 7190:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nvar toIndexedObject = __webpack_require__(9580);\nvar toAbsoluteIndex = __webpack_require__(2565);\nvar lengthOfArrayLike = __webpack_require__(7046);\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/***/ 9637:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nvar anObject = __webpack_require__(3875);\nvar iteratorClose = __webpack_require__(8744);\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/***/ 8662:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nvar wellKnownSymbol = __webpack_require__(2280);\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 if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\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/***/ 9159:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nvar uncurryThisRaw = __webpack_require__(1896);\n\nvar toString = uncurryThisRaw({}.toString);\nvar stringSlice = uncurryThisRaw(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n\n\n/***/ }),\n\n/***/ 6994:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nvar TO_STRING_TAG_SUPPORT = __webpack_require__(7301);\nvar isCallable = __webpack_require__(5277);\nvar classofRaw = __webpack_require__(9159);\nvar wellKnownSymbol = __webpack_require__(2280);\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/***/ 3870:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nvar hasOwn = __webpack_require__(4792);\nvar ownKeys = __webpack_require__(1561);\nvar getOwnPropertyDescriptorModule = __webpack_require__(6012);\nvar definePropertyModule = __webpack_require__(6385);\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/***/ 5454:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nvar wellKnownSymbol = __webpack_require__(2280);\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/***/ 5115:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nvar fails = __webpack_require__(9044);\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/***/ 6145:\n/***/ ((module) => {\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/***/ 5899:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nvar DESCRIPTORS = __webpack_require__(7493);\nvar definePropertyModule = __webpack_require__(6385);\nvar createPropertyDescriptor = __webpack_require__(9199);\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/***/ 9199:\n/***/ ((module) => {\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/***/ 5039:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar toPropertyKey = __webpack_require__(383);\nvar definePropertyModule = __webpack_require__(6385);\nvar createPropertyDescriptor = __webpack_require__(9199);\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/***/ 403:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nvar isCallable = __webpack_require__(5277);\nvar definePropertyModule = __webpack_require__(6385);\nvar makeBuiltIn = __webpack_require__(833);\nvar defineGlobalProperty = __webpack_require__(2359);\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/***/ 2359:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nvar global = __webpack_require__(8363);\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/***/ 7493:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nvar fails = __webpack_require__(9044);\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/***/ 3966:\n/***/ ((module) => {\n\nvar documentAll = typeof document == 'object' && document.all;\n\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\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/***/ 2750:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nvar global = __webpack_require__(8363);\nvar isObject = __webpack_require__(2786);\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/***/ 2647:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nvar getBuiltIn = __webpack_require__(2773);\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n\n\n/***/ }),\n\n/***/ 1197:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nvar global = __webpack_require__(8363);\nvar userAgent = __webpack_require__(2647);\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/***/ 3145:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nvar global = __webpack_require__(8363);\nvar uncurryThis = __webpack_require__(8697);\n\nmodule.exports = function (CONSTRUCTOR, METHOD) {\n return uncurryThis(global[CONSTRUCTOR].prototype[METHOD]);\n};\n\n\n/***/ }),\n\n/***/ 8869:\n/***/ ((module) => {\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/***/ 9882:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nvar global = __webpack_require__(8363);\nvar getOwnPropertyDescriptor = (__webpack_require__(6012).f);\nvar createNonEnumerableProperty = __webpack_require__(5899);\nvar defineBuiltIn = __webpack_require__(403);\nvar defineGlobalProperty = __webpack_require__(2359);\nvar copyConstructorProperties = __webpack_require__(3870);\nvar isForced = __webpack_require__(6291);\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/***/ 9044:\n/***/ ((module) => {\n\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n\n\n/***/ }),\n\n/***/ 8166:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nvar uncurryThis = __webpack_require__(8697);\nvar aCallable = __webpack_require__(7676);\nvar NATIVE_BIND = __webpack_require__(3996);\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/***/ 3996:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nvar fails = __webpack_require__(9044);\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/***/ 9611:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nvar NATIVE_BIND = __webpack_require__(3996);\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/***/ 5316:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nvar DESCRIPTORS = __webpack_require__(7493);\nvar hasOwn = __webpack_require__(4792);\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/***/ 1896:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nvar NATIVE_BIND = __webpack_require__(3996);\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/***/ 8697:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nvar classofRaw = __webpack_require__(9159);\nvar uncurryThisRaw = __webpack_require__(1896);\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 uncurryThisRaw(fn);\n};\n\n\n/***/ }),\n\n/***/ 2773:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nvar global = __webpack_require__(8363);\nvar isCallable = __webpack_require__(5277);\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/***/ 7193:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nvar classof = __webpack_require__(6994);\nvar getMethod = __webpack_require__(7219);\nvar isNullOrUndefined = __webpack_require__(9903);\nvar Iterators = __webpack_require__(4818);\nvar wellKnownSymbol = __webpack_require__(2280);\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/***/ 1805:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nvar call = __webpack_require__(9611);\nvar aCallable = __webpack_require__(7676);\nvar anObject = __webpack_require__(3875);\nvar tryToString = __webpack_require__(8768);\nvar getIteratorMethod = __webpack_require__(7193);\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 $TypeError(tryToString(argument) + ' is not iterable');\n};\n\n\n/***/ }),\n\n/***/ 7219:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nvar aCallable = __webpack_require__(7676);\nvar isNullOrUndefined = __webpack_require__(9903);\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/***/ 8363:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\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 // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n\n\n/***/ }),\n\n/***/ 4792:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nvar uncurryThis = __webpack_require__(8697);\nvar toObject = __webpack_require__(744);\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/***/ 7505:\n/***/ ((module) => {\n\nmodule.exports = {};\n\n\n/***/ }),\n\n/***/ 7055:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nvar getBuiltIn = __webpack_require__(2773);\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n\n\n/***/ }),\n\n/***/ 7548:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nvar DESCRIPTORS = __webpack_require__(7493);\nvar fails = __webpack_require__(9044);\nvar createElement = __webpack_require__(2750);\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/***/ 8609:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nvar uncurryThis = __webpack_require__(8697);\nvar fails = __webpack_require__(9044);\nvar classof = __webpack_require__(9159);\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/***/ 6429:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nvar uncurryThis = __webpack_require__(8697);\nvar isCallable = __webpack_require__(5277);\nvar store = __webpack_require__(9415);\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/***/ 821:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nvar NATIVE_WEAK_MAP = __webpack_require__(2512);\nvar global = __webpack_require__(8363);\nvar isObject = __webpack_require__(2786);\nvar createNonEnumerableProperty = __webpack_require__(5899);\nvar hasOwn = __webpack_require__(4792);\nvar shared = __webpack_require__(9415);\nvar sharedKey = __webpack_require__(466);\nvar hiddenKeys = __webpack_require__(7505);\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 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 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 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/***/ 8089:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nvar wellKnownSymbol = __webpack_require__(2280);\nvar Iterators = __webpack_require__(4818);\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/***/ 5277:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nvar $documentAll = __webpack_require__(3966);\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/***/ 1536:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nvar uncurryThis = __webpack_require__(8697);\nvar fails = __webpack_require__(9044);\nvar isCallable = __webpack_require__(5277);\nvar classof = __webpack_require__(6994);\nvar getBuiltIn = __webpack_require__(2773);\nvar inspectSource = __webpack_require__(6429);\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.exec(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/***/ 6291:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nvar fails = __webpack_require__(9044);\nvar isCallable = __webpack_require__(5277);\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/***/ 9903:\n/***/ ((module) => {\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/***/ 2786:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nvar isCallable = __webpack_require__(5277);\nvar $documentAll = __webpack_require__(3966);\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/***/ 1178:\n/***/ ((module) => {\n\nmodule.exports = false;\n\n\n/***/ }),\n\n/***/ 2622:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nvar isObject = __webpack_require__(2786);\nvar classof = __webpack_require__(9159);\nvar wellKnownSymbol = __webpack_require__(2280);\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/***/ 6681:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nvar getBuiltIn = __webpack_require__(2773);\nvar isCallable = __webpack_require__(5277);\nvar isPrototypeOf = __webpack_require__(2010);\nvar USE_SYMBOL_AS_UID = __webpack_require__(189);\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/***/ 8744:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nvar call = __webpack_require__(9611);\nvar anObject = __webpack_require__(3875);\nvar getMethod = __webpack_require__(7219);\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/***/ 9952:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar IteratorPrototype = (__webpack_require__(7022).IteratorPrototype);\nvar create = __webpack_require__(1569);\nvar createPropertyDescriptor = __webpack_require__(9199);\nvar setToStringTag = __webpack_require__(878);\nvar Iterators = __webpack_require__(4818);\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/***/ 8150:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar $ = __webpack_require__(9882);\nvar call = __webpack_require__(9611);\nvar IS_PURE = __webpack_require__(1178);\nvar FunctionName = __webpack_require__(5316);\nvar isCallable = __webpack_require__(5277);\nvar createIteratorConstructor = __webpack_require__(9952);\nvar getPrototypeOf = __webpack_require__(2654);\nvar setPrototypeOf = __webpack_require__(2412);\nvar setToStringTag = __webpack_require__(878);\nvar createNonEnumerableProperty = __webpack_require__(5899);\nvar defineBuiltIn = __webpack_require__(403);\nvar wellKnownSymbol = __webpack_require__(2280);\nvar Iterators = __webpack_require__(4818);\nvar IteratorsCore = __webpack_require__(7022);\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 in IterablePrototype) return IterablePrototype[KIND];\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 } 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/***/ 7022:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar fails = __webpack_require__(9044);\nvar isCallable = __webpack_require__(5277);\nvar isObject = __webpack_require__(2786);\nvar create = __webpack_require__(1569);\nvar getPrototypeOf = __webpack_require__(2654);\nvar defineBuiltIn = __webpack_require__(403);\nvar wellKnownSymbol = __webpack_require__(2280);\nvar IS_PURE = __webpack_require__(1178);\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/***/ 4818:\n/***/ ((module) => {\n\nmodule.exports = {};\n\n\n/***/ }),\n\n/***/ 7046:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nvar toLength = __webpack_require__(5108);\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/***/ 833:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nvar fails = __webpack_require__(9044);\nvar isCallable = __webpack_require__(5277);\nvar hasOwn = __webpack_require__(4792);\nvar DESCRIPTORS = __webpack_require__(7493);\nvar CONFIGURABLE_FUNCTION_NAME = (__webpack_require__(5316).CONFIGURABLE);\nvar inspectSource = __webpack_require__(6429);\nvar InternalStateModule = __webpack_require__(821);\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\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 (String(name).slice(0, 7) === 'Symbol(') {\n name = '[' + String(name).replace(/^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 = TEMPLATE.join(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/***/ 8300:\n/***/ ((module) => {\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/***/ 1049:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nvar isRegExp = __webpack_require__(2622);\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (it) {\n if (isRegExp(it)) {\n throw $TypeError(\"The method doesn't accept regular expressions\");\n } return it;\n};\n\n\n/***/ }),\n\n/***/ 1569:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n/* global ActiveXObject -- old IE, WSH */\nvar anObject = __webpack_require__(3875);\nvar definePropertiesModule = __webpack_require__(7840);\nvar enumBugKeys = __webpack_require__(8869);\nvar hiddenKeys = __webpack_require__(7505);\nvar html = __webpack_require__(7055);\nvar documentCreateElement = __webpack_require__(2750);\nvar sharedKey = __webpack_require__(466);\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/***/ 7840:\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\nvar DESCRIPTORS = __webpack_require__(7493);\nvar V8_PROTOTYPE_DEFINE_BUG = __webpack_require__(1010);\nvar definePropertyModule = __webpack_require__(6385);\nvar anObject = __webpack_require__(3875);\nvar toIndexedObject = __webpack_require__(9580);\nvar objectKeys = __webpack_require__(667);\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/***/ 6385:\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\nvar DESCRIPTORS = __webpack_require__(7493);\nvar IE8_DOM_DEFINE = __webpack_require__(7548);\nvar V8_PROTOTYPE_DEFINE_BUG = __webpack_require__(1010);\nvar anObject = __webpack_require__(3875);\nvar toPropertyKey = __webpack_require__(383);\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 $TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n\n\n/***/ }),\n\n/***/ 6012:\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\nvar DESCRIPTORS = __webpack_require__(7493);\nvar call = __webpack_require__(9611);\nvar propertyIsEnumerableModule = __webpack_require__(1513);\nvar createPropertyDescriptor = __webpack_require__(9199);\nvar toIndexedObject = __webpack_require__(9580);\nvar toPropertyKey = __webpack_require__(383);\nvar hasOwn = __webpack_require__(4792);\nvar IE8_DOM_DEFINE = __webpack_require__(7548);\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/***/ 7994:\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\nvar internalObjectKeys = __webpack_require__(8794);\nvar enumBugKeys = __webpack_require__(8869);\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/***/ 9612:\n/***/ ((__unused_webpack_module, exports) => {\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n\n\n/***/ }),\n\n/***/ 2654:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nvar hasOwn = __webpack_require__(4792);\nvar isCallable = __webpack_require__(5277);\nvar toObject = __webpack_require__(744);\nvar sharedKey = __webpack_require__(466);\nvar CORRECT_PROTOTYPE_GETTER = __webpack_require__(5115);\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/***/ 2010:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nvar uncurryThis = __webpack_require__(8697);\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n\n\n/***/ }),\n\n/***/ 8794:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nvar uncurryThis = __webpack_require__(8697);\nvar hasOwn = __webpack_require__(4792);\nvar toIndexedObject = __webpack_require__(9580);\nvar indexOf = (__webpack_require__(7190).indexOf);\nvar hiddenKeys = __webpack_require__(7505);\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/***/ 667:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nvar internalObjectKeys = __webpack_require__(8794);\nvar enumBugKeys = __webpack_require__(8869);\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/***/ 1513:\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/***/ 2412:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n/* eslint-disable no-proto -- safe */\nvar uncurryThis = __webpack_require__(8697);\nvar anObject = __webpack_require__(3875);\nvar aPossiblePrototype = __webpack_require__(5017);\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 // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n setter = uncurryThis(Object.getOwnPropertyDescriptor(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/***/ 8765:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nvar DESCRIPTORS = __webpack_require__(7493);\nvar uncurryThis = __webpack_require__(8697);\nvar objectKeys = __webpack_require__(667);\nvar toIndexedObject = __webpack_require__(9580);\nvar $propertyIsEnumerable = (__webpack_require__(1513).f);\n\nvar propertyIsEnumerable = uncurryThis($propertyIsEnumerable);\nvar push = uncurryThis([].push);\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 length = keys.length;\n var i = 0;\n var result = [];\n var key;\n while (length > i) {\n key = keys[i++];\n if (!DESCRIPTORS || 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/***/ 7141:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nvar call = __webpack_require__(9611);\nvar isCallable = __webpack_require__(5277);\nvar isObject = __webpack_require__(2786);\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 $TypeError(\"Can't convert object to primitive value\");\n};\n\n\n/***/ }),\n\n/***/ 1561:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nvar getBuiltIn = __webpack_require__(2773);\nvar uncurryThis = __webpack_require__(8697);\nvar getOwnPropertyNamesModule = __webpack_require__(7994);\nvar getOwnPropertySymbolsModule = __webpack_require__(9612);\nvar anObject = __webpack_require__(3875);\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/***/ 7290:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nvar global = __webpack_require__(8363);\n\nmodule.exports = global;\n\n\n/***/ }),\n\n/***/ 6411:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nvar isNullOrUndefined = __webpack_require__(9903);\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 $TypeError(\"Can't call method on \" + it);\n return it;\n};\n\n\n/***/ }),\n\n/***/ 878:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nvar defineProperty = (__webpack_require__(6385).f);\nvar hasOwn = __webpack_require__(4792);\nvar wellKnownSymbol = __webpack_require__(2280);\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/***/ 466:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nvar shared = __webpack_require__(3580);\nvar uid = __webpack_require__(4524);\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n\n\n/***/ }),\n\n/***/ 9415:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nvar global = __webpack_require__(8363);\nvar defineGlobalProperty = __webpack_require__(2359);\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || defineGlobalProperty(SHARED, {});\n\nmodule.exports = store;\n\n\n/***/ }),\n\n/***/ 3580:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nvar IS_PURE = __webpack_require__(1178);\nvar store = __webpack_require__(9415);\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.26.0',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2022 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.26.0/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n\n\n/***/ }),\n\n/***/ 1140:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nvar uncurryThis = __webpack_require__(8697);\nvar toIntegerOrInfinity = __webpack_require__(4229);\nvar toString = __webpack_require__(8967);\nvar requireObjectCoercible = __webpack_require__(6411);\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/***/ 746:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = __webpack_require__(1197);\nvar fails = __webpack_require__(9044);\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol();\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\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/***/ 2565:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nvar toIntegerOrInfinity = __webpack_require__(4229);\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/***/ 9580:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = __webpack_require__(8609);\nvar requireObjectCoercible = __webpack_require__(6411);\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n\n\n/***/ }),\n\n/***/ 4229:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nvar trunc = __webpack_require__(8300);\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/***/ 5108:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nvar toIntegerOrInfinity = __webpack_require__(4229);\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/***/ 744:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nvar requireObjectCoercible = __webpack_require__(6411);\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/***/ 1893:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nvar call = __webpack_require__(9611);\nvar isObject = __webpack_require__(2786);\nvar isSymbol = __webpack_require__(6681);\nvar getMethod = __webpack_require__(7219);\nvar ordinaryToPrimitive = __webpack_require__(7141);\nvar wellKnownSymbol = __webpack_require__(2280);\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 $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/***/ 383:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nvar toPrimitive = __webpack_require__(1893);\nvar isSymbol = __webpack_require__(6681);\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/***/ 7301:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nvar wellKnownSymbol = __webpack_require__(2280);\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/***/ 8967:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nvar classof = __webpack_require__(6994);\n\nvar $String = String;\n\nmodule.exports = function (argument) {\n if (classof(argument) === 'Symbol') throw TypeError('Cannot convert a Symbol value to a string');\n return $String(argument);\n};\n\n\n/***/ }),\n\n/***/ 8768:\n/***/ ((module) => {\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/***/ 4524:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nvar uncurryThis = __webpack_require__(8697);\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/***/ 189:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = __webpack_require__(746);\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n\n\n/***/ }),\n\n/***/ 1010:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nvar DESCRIPTORS = __webpack_require__(7493);\nvar fails = __webpack_require__(9044);\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/***/ 2512:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nvar global = __webpack_require__(8363);\nvar isCallable = __webpack_require__(5277);\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));\n\n\n/***/ }),\n\n/***/ 2280:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nvar global = __webpack_require__(8363);\nvar shared = __webpack_require__(3580);\nvar hasOwn = __webpack_require__(4792);\nvar uid = __webpack_require__(4524);\nvar NATIVE_SYMBOL = __webpack_require__(746);\nvar USE_SYMBOL_AS_UID = __webpack_require__(189);\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar symbolFor = Symbol && Symbol['for'];\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {\n var description = 'Symbol.' + name;\n if (NATIVE_SYMBOL && hasOwn(Symbol, name)) {\n WellKnownSymbolsStore[name] = Symbol[name];\n } else if (USE_SYMBOL_AS_UID && symbolFor) {\n WellKnownSymbolsStore[name] = symbolFor(description);\n } else {\n WellKnownSymbolsStore[name] = createWellKnownSymbol(description);\n }\n } return WellKnownSymbolsStore[name];\n};\n\n\n/***/ }),\n\n/***/ 3382:\n/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {\n\nvar $ = __webpack_require__(9882);\nvar fill = __webpack_require__(5522);\nvar addToUnscopables = __webpack_require__(6677);\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/***/ 4845:\n/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {\n\nvar $ = __webpack_require__(9882);\nvar from = __webpack_require__(4899);\nvar checkCorrectnessOfIteration = __webpack_require__(8662);\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/***/ 9457:\n/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {\n\nvar $ = __webpack_require__(9882);\nvar $values = (__webpack_require__(8765).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/***/ 4797:\n/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar $ = __webpack_require__(9882);\nvar uncurryThis = __webpack_require__(8697);\nvar getOwnPropertyDescriptor = (__webpack_require__(6012).f);\nvar toLength = __webpack_require__(5108);\nvar toString = __webpack_require__(8967);\nvar notARegExp = __webpack_require__(1049);\nvar requireObjectCoercible = __webpack_require__(6411);\nvar correctIsRegExpLogic = __webpack_require__(5454);\nvar IS_PURE = __webpack_require__(1178);\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/***/ 5007:\n/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\nvar charAt = (__webpack_require__(1140).charAt);\nvar toString = __webpack_require__(8967);\nvar InternalStateModule = __webpack_require__(821);\nvar defineIterator = __webpack_require__(8150);\nvar createIterResultObject = __webpack_require__(6145);\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/***/ 293:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nvar parent = __webpack_require__(9684);\n\nmodule.exports = parent;\n\n\n/***/ }),\n\n/***/ 4165:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nvar parent = __webpack_require__(7331);\n\nmodule.exports = parent;\n\n\n/***/ }),\n\n/***/ 4648:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nvar parent = __webpack_require__(7367);\n\nmodule.exports = parent;\n\n\n/***/ }),\n\n/***/ 4968:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\nvar parent = __webpack_require__(5199);\n\nmodule.exports = parent;\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/******/ \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__(8483);\n// EXTERNAL MODULE: ./node_modules/core-js/features/array/fill.js\nvar fill = __webpack_require__(1667);\n// EXTERNAL MODULE: ./node_modules/core-js/features/object/values.js\nvar values = __webpack_require__(6143);\n// EXTERNAL MODULE: ./node_modules/core-js/features/string/ends-with.js\nvar ends_with = __webpack_require__(9013);\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(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(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, 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 _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(obj) { \"@babel/helpers - typeof\"; return blockquote_typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, blockquote_typeof(obj); }\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, 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_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(obj) { \"@babel/helpers - typeof\"; return header_typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, header_typeof(obj); }\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, 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_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(obj) { \"@babel/helpers - typeof\"; return list_typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, list_typeof(obj); }\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, 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_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(obj) { \"@babel/helpers - typeof\"; return italic_typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, italic_typeof(obj); }\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, 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_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(obj) { \"@babel/helpers - typeof\"; return script_typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, script_typeof(obj); }\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, 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_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(obj) { \"@babel/helpers - typeof\"; return strike_typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, strike_typeof(obj); }\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, 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_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(obj) { \"@babel/helpers - typeof\"; return underline_typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, underline_typeof(obj); }\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, 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_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(obj) { \"@babel/helpers - typeof\"; return formula_typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, formula_typeof(obj); }\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, 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_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(obj) { \"@babel/helpers - typeof\"; return image_typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, image_typeof(obj); }\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, 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_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(obj) { \"@babel/helpers - typeof\"; return video_typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, video_typeof(obj); }\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, 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_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(obj) { \"@babel/helpers - typeof\"; return multiline_break_typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, multiline_break_typeof(obj); }\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, 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_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(obj) { \"@babel/helpers - typeof\"; return multiline_typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, multiline_typeof(obj); }\nfunction _defineProperty(obj, key, value) { 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, 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_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 + 4 modules\nvar lite = __webpack_require__(7215);\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 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) { quill_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 quill_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\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});",";/*! devextreme-showdown v 1.0.1 - 09-11-2021 */\r\n(function(){\r\n/**\n * Created by Tivie on 13-07-2015.\n */\n\nfunction getDefaultOpts (simple) {\n 'use strict';\n\n var defaultOptions = {\n omitExtraWLInCodeBlocks: {\n defaultValue: false,\n describe: 'Omit the default extra whiteline added to code blocks',\n type: 'boolean'\n },\n noHeaderId: {\n defaultValue: false,\n describe: 'Turn on/off generated header id',\n type: 'boolean'\n },\n prefixHeaderId: {\n defaultValue: false,\n describe: 'Add a prefix to the generated header ids. Passing a string will prefix that string to the header id. Setting to true will add a generic \\'section-\\' prefix',\n type: 'string'\n },\n rawPrefixHeaderId: {\n defaultValue: false,\n describe: 'Setting this option to true will prevent showdown from modifying the prefix. This might result in malformed IDs (if, for instance, the \" char is used in the prefix)',\n type: 'boolean'\n },\n ghCompatibleHeaderId: {\n defaultValue: false,\n describe: 'Generate header ids compatible with github style (spaces are replaced with dashes, a bunch of non alphanumeric chars are removed)',\n type: 'boolean'\n },\n rawHeaderId: {\n defaultValue: false,\n describe: 'Remove only spaces, \\' and \" from generated header ids (including prefixes), replacing them with dashes (-). WARNING: This might result in malformed ids',\n type: 'boolean'\n },\n headerLevelStart: {\n defaultValue: false,\n describe: 'The header blocks level start',\n type: 'integer'\n },\n parseImgDimensions: {\n defaultValue: false,\n describe: 'Turn on/off image dimension parsing',\n type: 'boolean'\n },\n simplifiedAutoLink: {\n defaultValue: false,\n describe: 'Turn on/off GFM autolink style',\n type: 'boolean'\n },\n excludeTrailingPunctuationFromURLs: {\n defaultValue: false,\n describe: 'Excludes trailing punctuation from links generated with autoLinking',\n type: 'boolean'\n },\n literalMidWordUnderscores: {\n defaultValue: false,\n describe: 'Parse midword underscores as literal underscores',\n type: 'boolean'\n },\n literalMidWordAsterisks: {\n defaultValue: false,\n describe: 'Parse midword asterisks as literal asterisks',\n type: 'boolean'\n },\n strikethrough: {\n defaultValue: false,\n describe: 'Turn on/off strikethrough support',\n type: 'boolean'\n },\n tables: {\n defaultValue: false,\n describe: 'Turn on/off tables support',\n type: 'boolean'\n },\n tablesHeaderId: {\n defaultValue: false,\n describe: 'Add an id to table headers',\n type: 'boolean'\n },\n ghCodeBlocks: {\n defaultValue: true,\n describe: 'Turn on/off GFM fenced code blocks support',\n type: 'boolean'\n },\n tasklists: {\n defaultValue: false,\n describe: 'Turn on/off GFM tasklist support',\n type: 'boolean'\n },\n smoothLivePreview: {\n defaultValue: false,\n describe: 'Prevents weird effects in live previews due to incomplete input',\n type: 'boolean'\n },\n smartIndentationFix: {\n defaultValue: false,\n description: 'Tries to smartly fix indentation in es6 strings',\n type: 'boolean'\n },\n disableForced4SpacesIndentedSublists: {\n defaultValue: false,\n description: 'Disables the requirement of indenting nested sublists by 4 spaces',\n type: 'boolean'\n },\n simpleLineBreaks: {\n defaultValue: false,\n description: 'Parses simple line breaks as
    (GFM Style)',\n type: 'boolean'\n },\n requireSpaceBeforeHeadingText: {\n defaultValue: false,\n description: 'Makes adding a space between `#` and the header text mandatory (GFM Style)',\n type: 'boolean'\n },\n ghMentions: {\n defaultValue: false,\n description: 'Enables github @mentions',\n type: 'boolean'\n },\n ghMentionsLink: {\n defaultValue: 'https://github.com/{u}',\n description: 'Changes the link generated by @mentions. Only applies if ghMentions option is enabled.',\n type: 'string'\n },\n encodeEmails: {\n defaultValue: true,\n description: 'Encode e-mail addresses through the use of Character Entities, transforming ASCII e-mail addresses into its equivalent decimal entities',\n type: 'boolean'\n },\n openLinksInNewWindow: {\n defaultValue: false,\n description: 'Open all links in new windows',\n type: 'boolean'\n },\n backslashEscapesHTMLTags: {\n defaultValue: false,\n description: 'Support for HTML Tag escaping. ex: \\
    foo\\
    ',\n type: 'boolean'\n },\n emoji: {\n defaultValue: false,\n description: 'Enable emoji support. Ex: `this is a :smile: emoji`',\n type: 'boolean'\n },\n underline: {\n defaultValue: false,\n description: 'Enable support for underline. Syntax is double or triple underscores: `__underline word__`. With this option enabled, underscores no longer parses into `` and ``',\n type: 'boolean'\n },\n completeHTMLDocument: {\n defaultValue: false,\n description: 'Outputs a complete html document, including ``, `` and `` tags',\n type: 'boolean'\n },\n metadata: {\n defaultValue: false,\n description: 'Enable support for document metadata (defined at the top of the document between `«««` and `»»»` or between `---` and `---`).',\n type: 'boolean'\n },\n splitAdjacentBlockquotes: {\n defaultValue: false,\n description: 'Split adjacent blockquote blocks',\n type: 'boolean'\n }\n };\n if (simple === false) {\n return JSON.parse(JSON.stringify(defaultOptions));\n }\n var ret = {};\n for (var opt in defaultOptions) {\n if (defaultOptions.hasOwnProperty(opt)) {\n ret[opt] = defaultOptions[opt].defaultValue;\n }\n }\n return ret;\n}\n\nfunction allOptionsOn () {\n 'use strict';\n var options = getDefaultOpts(true),\n ret = {};\n for (var opt in options) {\n if (options.hasOwnProperty(opt)) {\n ret[opt] = true;\n }\n }\n return ret;\n}\n\r\n/**\n * Created by Tivie on 06-01-2015.\n */\n\n// Private properties\nvar showdown = {},\n parsers = {},\n extensions = {},\n globalOptions = getDefaultOpts(true),\n setFlavor = 'vanilla',\n flavor = {\n github: {\n omitExtraWLInCodeBlocks: true,\n simplifiedAutoLink: true,\n excludeTrailingPunctuationFromURLs: true,\n literalMidWordUnderscores: true,\n strikethrough: true,\n tables: true,\n tablesHeaderId: true,\n ghCodeBlocks: true,\n tasklists: true,\n disableForced4SpacesIndentedSublists: true,\n simpleLineBreaks: true,\n requireSpaceBeforeHeadingText: true,\n ghCompatibleHeaderId: true,\n ghMentions: true,\n backslashEscapesHTMLTags: true,\n emoji: true,\n splitAdjacentBlockquotes: true\n },\n original: {\n noHeaderId: true,\n ghCodeBlocks: false\n },\n ghost: {\n omitExtraWLInCodeBlocks: true,\n parseImgDimensions: true,\n simplifiedAutoLink: true,\n excludeTrailingPunctuationFromURLs: true,\n literalMidWordUnderscores: true,\n strikethrough: true,\n tables: true,\n tablesHeaderId: true,\n ghCodeBlocks: true,\n tasklists: true,\n smoothLivePreview: true,\n simpleLineBreaks: true,\n requireSpaceBeforeHeadingText: true,\n ghMentions: false,\n encodeEmails: true\n },\n vanilla: getDefaultOpts(true),\n allOn: allOptionsOn()\n };\n\n/**\n * helper namespace\n * @type {{}}\n */\nshowdown.helper = {};\n\n/**\n * TODO LEGACY SUPPORT CODE\n * @type {{}}\n */\nshowdown.extensions = {};\n\n/**\n * Set a global option\n * @static\n * @param {string} key\n * @param {*} value\n * @returns {showdown}\n */\nshowdown.setOption = function (key, value) {\n 'use strict';\n globalOptions[key] = value;\n return this;\n};\n\n/**\n * Get a global option\n * @static\n * @param {string} key\n * @returns {*}\n */\nshowdown.getOption = function (key) {\n 'use strict';\n return globalOptions[key];\n};\n\n/**\n * Get the global options\n * @static\n * @returns {{}}\n */\nshowdown.getOptions = function () {\n 'use strict';\n return globalOptions;\n};\n\n/**\n * Reset global options to the default values\n * @static\n */\nshowdown.resetOptions = function () {\n 'use strict';\n globalOptions = getDefaultOpts(true);\n};\n\n/**\n * Set the flavor showdown should use as default\n * @param {string} name\n */\nshowdown.setFlavor = function (name) {\n 'use strict';\n if (!flavor.hasOwnProperty(name)) {\n throw Error(name + ' flavor was not found');\n }\n showdown.resetOptions();\n var preset = flavor[name];\n setFlavor = name;\n for (var option in preset) {\n if (preset.hasOwnProperty(option)) {\n globalOptions[option] = preset[option];\n }\n }\n};\n\n/**\n * Get the currently set flavor\n * @returns {string}\n */\nshowdown.getFlavor = function () {\n 'use strict';\n return setFlavor;\n};\n\n/**\n * Get the options of a specified flavor. Returns undefined if the flavor was not found\n * @param {string} name Name of the flavor\n * @returns {{}|undefined}\n */\nshowdown.getFlavorOptions = function (name) {\n 'use strict';\n if (flavor.hasOwnProperty(name)) {\n return flavor[name];\n }\n};\n\n/**\n * Get the default options\n * @static\n * @param {boolean} [simple=true]\n * @returns {{}}\n */\nshowdown.getDefaultOptions = function (simple) {\n 'use strict';\n return getDefaultOpts(simple);\n};\n\n/**\n * Get or set a subParser\n *\n * subParser(name) - Get a registered subParser\n * subParser(name, func) - Register a subParser\n * @static\n * @param {string} name\n * @param {function} [func]\n * @returns {*}\n */\nshowdown.subParser = function (name, func) {\n 'use strict';\n if (showdown.helper.isString(name)) {\n if (typeof func !== 'undefined') {\n parsers[name] = func;\n } else {\n if (parsers.hasOwnProperty(name)) {\n return parsers[name];\n } else {\n throw Error('SubParser named ' + name + ' not registered!');\n }\n }\n }\n};\n\n/**\n * Gets or registers an extension\n * @static\n * @param {string} name\n * @param {object|function=} ext\n * @returns {*}\n */\nshowdown.extension = function (name, ext) {\n 'use strict';\n\n if (!showdown.helper.isString(name)) {\n throw Error('Extension \\'name\\' must be a string');\n }\n\n name = showdown.helper.stdExtName(name);\n\n // Getter\n if (showdown.helper.isUndefined(ext)) {\n if (!extensions.hasOwnProperty(name)) {\n throw Error('Extension named ' + name + ' is not registered!');\n }\n return extensions[name];\n\n // Setter\n } else {\n // Expand extension if it's wrapped in a function\n if (typeof ext === 'function') {\n ext = ext();\n }\n\n // Ensure extension is an array\n if (!showdown.helper.isArray(ext)) {\n ext = [ext];\n }\n\n var validExtension = validate(ext, name);\n\n if (validExtension.valid) {\n extensions[name] = ext;\n } else {\n throw Error(validExtension.error);\n }\n }\n};\n\n/**\n * Gets all extensions registered\n * @returns {{}}\n */\nshowdown.getAllExtensions = function () {\n 'use strict';\n return extensions;\n};\n\n/**\n * Remove an extension\n * @param {string} name\n */\nshowdown.removeExtension = function (name) {\n 'use strict';\n delete extensions[name];\n};\n\n/**\n * Removes all extensions\n */\nshowdown.resetExtensions = function () {\n 'use strict';\n extensions = {};\n};\n\n/**\n * Validate extension\n * @param {array} extension\n * @param {string} name\n * @returns {{valid: boolean, error: string}}\n */\nfunction validate (extension, name) {\n 'use strict';\n\n var errMsg = (name) ? 'Error in ' + name + ' extension->' : 'Error in unnamed extension',\n ret = {\n valid: true,\n error: ''\n };\n\n if (!showdown.helper.isArray(extension)) {\n extension = [extension];\n }\n\n for (var i = 0; i < extension.length; ++i) {\n var baseMsg = errMsg + ' sub-extension ' + i + ': ',\n ext = extension[i];\n if (typeof ext !== 'object') {\n ret.valid = false;\n ret.error = baseMsg + 'must be an object, but ' + typeof ext + ' given';\n return ret;\n }\n\n if (!showdown.helper.isString(ext.type)) {\n ret.valid = false;\n ret.error = baseMsg + 'property \"type\" must be a string, but ' + typeof ext.type + ' given';\n return ret;\n }\n\n var type = ext.type = ext.type.toLowerCase();\n\n // normalize extension type\n if (type === 'language') {\n type = ext.type = 'lang';\n }\n\n if (type === 'html') {\n type = ext.type = 'output';\n }\n\n if (type !== 'lang' && type !== 'output' && type !== 'listener') {\n ret.valid = false;\n ret.error = baseMsg + 'type ' + type + ' is not recognized. Valid values: \"lang/language\", \"output/html\" or \"listener\"';\n return ret;\n }\n\n if (type === 'listener') {\n if (showdown.helper.isUndefined(ext.listeners)) {\n ret.valid = false;\n ret.error = baseMsg + '. Extensions of type \"listener\" must have a property called \"listeners\"';\n return ret;\n }\n } else {\n if (showdown.helper.isUndefined(ext.filter) && showdown.helper.isUndefined(ext.regex)) {\n ret.valid = false;\n ret.error = baseMsg + type + ' extensions must define either a \"regex\" property or a \"filter\" method';\n return ret;\n }\n }\n\n if (ext.listeners) {\n if (typeof ext.listeners !== 'object') {\n ret.valid = false;\n ret.error = baseMsg + '\"listeners\" property must be an object but ' + typeof ext.listeners + ' given';\n return ret;\n }\n for (var ln in ext.listeners) {\n if (ext.listeners.hasOwnProperty(ln)) {\n if (typeof ext.listeners[ln] !== 'function') {\n ret.valid = false;\n ret.error = baseMsg + '\"listeners\" property must be an hash of [event name]: [callback]. listeners.' + ln +\n ' must be a function but ' + typeof ext.listeners[ln] + ' given';\n return ret;\n }\n }\n }\n }\n\n if (ext.filter) {\n if (typeof ext.filter !== 'function') {\n ret.valid = false;\n ret.error = baseMsg + '\"filter\" must be a function, but ' + typeof ext.filter + ' given';\n return ret;\n }\n } else if (ext.regex) {\n if (showdown.helper.isString(ext.regex)) {\n ext.regex = new RegExp(ext.regex, 'g');\n }\n if (!(ext.regex instanceof RegExp)) {\n ret.valid = false;\n ret.error = baseMsg + '\"regex\" property must either be a string or a RegExp object, but ' + typeof ext.regex + ' given';\n return ret;\n }\n if (showdown.helper.isUndefined(ext.replace)) {\n ret.valid = false;\n ret.error = baseMsg + '\"regex\" extensions must implement a replace string or function';\n return ret;\n }\n }\n }\n return ret;\n}\n\n/**\n * Validate extension\n * @param {object} ext\n * @returns {boolean}\n */\nshowdown.validateExtension = function (ext) {\n 'use strict';\n\n var validateExtension = validate(ext, null);\n if (!validateExtension.valid) {\n console.warn(validateExtension.error);\n return false;\n }\n return true;\n};\n\r\n/**\n * showdownjs helper functions\n */\n\nif (!showdown.hasOwnProperty('helper')) {\n showdown.helper = {};\n}\n\n/**\n * Check if var is string\n * @static\n * @param {string} a\n * @returns {boolean}\n */\nshowdown.helper.isString = function (a) {\n 'use strict';\n return (typeof a === 'string' || a instanceof String);\n};\n\n/**\n * Check if var is a function\n * @static\n * @param {*} a\n * @returns {boolean}\n */\nshowdown.helper.isFunction = function (a) {\n 'use strict';\n var getType = {};\n return a && getType.toString.call(a) === '[object Function]';\n};\n\n/**\n * isArray helper function\n * @static\n * @param {*} a\n * @returns {boolean}\n */\nshowdown.helper.isArray = function (a) {\n 'use strict';\n return Array.isArray(a);\n};\n\n/**\n * Check if value is undefined\n * @static\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `undefined`, else `false`.\n */\nshowdown.helper.isUndefined = function (value) {\n 'use strict';\n return typeof value === 'undefined';\n};\n\n/**\n * ForEach helper function\n * Iterates over Arrays and Objects (own properties only)\n * @static\n * @param {*} obj\n * @param {function} callback Accepts 3 params: 1. value, 2. key, 3. the original array/object\n */\nshowdown.helper.forEach = function (obj, callback) {\n 'use strict';\n // check if obj is defined\n if (showdown.helper.isUndefined(obj)) {\n throw new Error('obj param is required');\n }\n\n if (showdown.helper.isUndefined(callback)) {\n throw new Error('callback param is required');\n }\n\n if (!showdown.helper.isFunction(callback)) {\n throw new Error('callback param must be a function/closure');\n }\n\n if (typeof obj.forEach === 'function') {\n obj.forEach(callback);\n } else if (showdown.helper.isArray(obj)) {\n for (var i = 0; i < obj.length; i++) {\n callback(obj[i], i, obj);\n }\n } else if (typeof (obj) === 'object') {\n for (var prop in obj) {\n if (obj.hasOwnProperty(prop)) {\n callback(obj[prop], prop, obj);\n }\n }\n } else {\n throw new Error('obj does not seem to be an array or an iterable object');\n }\n};\n\n/**\n * Standardidize extension name\n * @static\n * @param {string} s extension name\n * @returns {string}\n */\nshowdown.helper.stdExtName = function (s) {\n 'use strict';\n return s.replace(/[_?*+\\/\\\\.^-]/g, '').replace(/\\s/g, '').toLowerCase();\n};\n\nfunction escapeCharactersCallback (wholeMatch, m1) {\n 'use strict';\n var charCodeToEscape = m1.charCodeAt(0);\n return '¨E' + charCodeToEscape + 'E';\n}\n\n/**\n * Callback used to escape characters when passing through String.replace\n * @static\n * @param {string} wholeMatch\n * @param {string} m1\n * @returns {string}\n */\nshowdown.helper.escapeCharactersCallback = escapeCharactersCallback;\n\n/**\n * Escape characters in a string\n * @static\n * @param {string} text\n * @param {string} charsToEscape\n * @param {boolean} afterBackslash\n * @returns {XML|string|void|*}\n */\nshowdown.helper.escapeCharacters = function (text, charsToEscape, afterBackslash) {\n 'use strict';\n // First we have to escape the escape characters so that\n // we can build a character class out of them\n var regexString = '([' + charsToEscape.replace(/([\\[\\]\\\\])/g, '\\\\$1') + '])';\n\n if (afterBackslash) {\n regexString = '\\\\\\\\' + regexString;\n }\n\n var regex = new RegExp(regexString, 'g');\n text = text.replace(regex, escapeCharactersCallback);\n\n return text;\n};\n\n/**\n * Unescape HTML entities\n * @param txt\n * @returns {string}\n */\nshowdown.helper.unescapeHTMLEntities = function (txt) {\n 'use strict';\n\n return txt\n .replace(/"/g, '\"')\n .replace(/</g, '<')\n .replace(/>/g, '>')\n .replace(/&/g, '&');\n};\n\nvar rgxFindMatchPos = function (str, left, right, flags) {\n 'use strict';\n var f = flags || '',\n g = f.indexOf('g') > -1,\n x = new RegExp(left + '|' + right, 'g' + f.replace(/g/g, '')),\n l = new RegExp(left, f.replace(/g/g, '')),\n pos = [],\n t, s, m, start, end;\n\n do {\n t = 0;\n while ((m = x.exec(str))) {\n if (l.test(m[0])) {\n if (!(t++)) {\n s = x.lastIndex;\n start = s - m[0].length;\n }\n } else if (t) {\n if (!--t) {\n end = m.index + m[0].length;\n var obj = {\n left: {start: start, end: s},\n match: {start: s, end: m.index},\n right: {start: m.index, end: end},\n wholeMatch: {start: start, end: end}\n };\n pos.push(obj);\n if (!g) {\n return pos;\n }\n }\n }\n }\n } while (t && (x.lastIndex = s));\n\n return pos;\n};\n\n/**\n * matchRecursiveRegExp\n *\n * (c) 2007 Steven Levithan \n * MIT License\n *\n * Accepts a string to search, a left and right format delimiter\n * as regex patterns, and optional regex flags. Returns an array\n * of matches, allowing nested instances of left/right delimiters.\n * Use the \"g\" flag to return all matches, otherwise only the\n * first is returned. Be careful to ensure that the left and\n * right format delimiters produce mutually exclusive matches.\n * Backreferences are not supported within the right delimiter\n * due to how it is internally combined with the left delimiter.\n * When matching strings whose format delimiters are unbalanced\n * to the left or right, the output is intentionally as a\n * conventional regex library with recursion support would\n * produce, e.g. \"<\" and \">\" both produce [\"x\"] when using\n * \"<\" and \">\" as the delimiters (both strings contain a single,\n * balanced instance of \"\").\n *\n * examples:\n * matchRecursiveRegExp(\"test\", \"\\\\(\", \"\\\\)\")\n * returns: []\n * matchRecursiveRegExp(\">>t<>\", \"<\", \">\", \"g\")\n * returns: [\"t<>\", \"\"]\n * matchRecursiveRegExp(\"
    test
    \", \"]*>\", \"
    \", \"gi\")\n * returns: [\"test\"]\n */\nshowdown.helper.matchRecursiveRegExp = function (str, left, right, flags) {\n 'use strict';\n\n var matchPos = rgxFindMatchPos (str, left, right, flags),\n results = [];\n\n for (var i = 0; i < matchPos.length; ++i) {\n results.push([\n str.slice(matchPos[i].wholeMatch.start, matchPos[i].wholeMatch.end),\n str.slice(matchPos[i].match.start, matchPos[i].match.end),\n str.slice(matchPos[i].left.start, matchPos[i].left.end),\n str.slice(matchPos[i].right.start, matchPos[i].right.end)\n ]);\n }\n return results;\n};\n\n/**\n *\n * @param {string} str\n * @param {string|function} replacement\n * @param {string} left\n * @param {string} right\n * @param {string} flags\n * @returns {string}\n */\nshowdown.helper.replaceRecursiveRegExp = function (str, replacement, left, right, flags) {\n 'use strict';\n\n if (!showdown.helper.isFunction(replacement)) {\n var repStr = replacement;\n replacement = function () {\n return repStr;\n };\n }\n\n var matchPos = rgxFindMatchPos(str, left, right, flags),\n finalStr = str,\n lng = matchPos.length;\n\n if (lng > 0) {\n var bits = [];\n if (matchPos[0].wholeMatch.start !== 0) {\n bits.push(str.slice(0, matchPos[0].wholeMatch.start));\n }\n for (var i = 0; i < lng; ++i) {\n bits.push(\n replacement(\n str.slice(matchPos[i].wholeMatch.start, matchPos[i].wholeMatch.end),\n str.slice(matchPos[i].match.start, matchPos[i].match.end),\n str.slice(matchPos[i].left.start, matchPos[i].left.end),\n str.slice(matchPos[i].right.start, matchPos[i].right.end)\n )\n );\n if (i < lng - 1) {\n bits.push(str.slice(matchPos[i].wholeMatch.end, matchPos[i + 1].wholeMatch.start));\n }\n }\n if (matchPos[lng - 1].wholeMatch.end < str.length) {\n bits.push(str.slice(matchPos[lng - 1].wholeMatch.end));\n }\n finalStr = bits.join('');\n }\n return finalStr;\n};\n\n/**\n * Returns the index within the passed String object of the first occurrence of the specified regex,\n * starting the search at fromIndex. Returns -1 if the value is not found.\n *\n * @param {string} str string to search\n * @param {RegExp} regex Regular expression to search\n * @param {int} [fromIndex = 0] Index to start the search\n * @returns {Number}\n * @throws InvalidArgumentError\n */\nshowdown.helper.regexIndexOf = function (str, regex, fromIndex) {\n 'use strict';\n if (!showdown.helper.isString(str)) {\n throw 'InvalidArgumentError: first parameter of showdown.helper.regexIndexOf function must be a string';\n }\n if (regex instanceof RegExp === false) {\n throw 'InvalidArgumentError: second parameter of showdown.helper.regexIndexOf function must be an instance of RegExp';\n }\n var indexOf = str.substring(fromIndex || 0).search(regex);\n return (indexOf >= 0) ? (indexOf + (fromIndex || 0)) : indexOf;\n};\n\n/**\n * Splits the passed string object at the defined index, and returns an array composed of the two substrings\n * @param {string} str string to split\n * @param {int} index index to split string at\n * @returns {[string,string]}\n * @throws InvalidArgumentError\n */\nshowdown.helper.splitAtIndex = function (str, index) {\n 'use strict';\n if (!showdown.helper.isString(str)) {\n throw 'InvalidArgumentError: first parameter of showdown.helper.regexIndexOf function must be a string';\n }\n return [str.substring(0, index), str.substring(index)];\n};\n\n/**\n * Obfuscate an e-mail address through the use of Character Entities,\n * transforming ASCII characters into their equivalent decimal or hex entities.\n *\n * Since it has a random component, subsequent calls to this function produce different results\n *\n * @param {string} mail\n * @returns {string}\n */\nshowdown.helper.encodeEmailAddress = function (mail) {\n 'use strict';\n var encode = [\n function (ch) {\n return '&#' + ch.charCodeAt(0) + ';';\n },\n function (ch) {\n return '&#x' + ch.charCodeAt(0).toString(16) + ';';\n },\n function (ch) {\n return ch;\n }\n ];\n\n mail = mail.replace(/./g, function (ch) {\n if (ch === '@') {\n // this *must* be encoded. I insist.\n ch = encode[Math.floor(Math.random() * 2)](ch);\n } else {\n var r = Math.random();\n // roughly 10% raw, 45% hex, 45% dec\n ch = (\n r > 0.9 ? encode[2](ch) : r > 0.45 ? encode[1](ch) : encode[0](ch)\n );\n }\n return ch;\n });\n\n return mail;\n};\n\n/**\n *\n * @param str\n * @param targetLength\n * @param padString\n * @returns {string}\n */\nshowdown.helper.padEnd = function padEnd (str, targetLength, padString) {\n 'use strict';\n /*jshint bitwise: false*/\n // eslint-disable-next-line space-infix-ops\n targetLength = targetLength>>0; //floor if number or convert non-number to 0;\n /*jshint bitwise: true*/\n padString = String(padString || ' ');\n if (str.length > targetLength) {\n return String(str);\n } else {\n targetLength = targetLength - str.length;\n if (targetLength > padString.length) {\n padString += padString.repeat(targetLength / padString.length); //append to original to ensure we are longer than needed\n }\n return String(str) + padString.slice(0,targetLength);\n }\n};\n\n/**\n * POLYFILLS\n */\n// use this instead of builtin is undefined for IE8 compatibility\nif (typeof console === 'undefined') {\n console = {\n warn: function (msg) {\n 'use strict';\n alert(msg);\n },\n log: function (msg) {\n 'use strict';\n alert(msg);\n },\n error: function (msg) {\n 'use strict';\n throw msg;\n }\n };\n}\n\n/**\n * Common regexes.\n * We declare some common regexes to improve performance\n */\nshowdown.helper.regexes = {\n asteriskDashAndColon: /([*_:~])/g\n};\n\n/**\n * EMOJIS LIST\n */\nshowdown.helper.emojis = {\n '+1':'\\ud83d\\udc4d',\n '-1':'\\ud83d\\udc4e',\n '100':'\\ud83d\\udcaf',\n '1234':'\\ud83d\\udd22',\n '1st_place_medal':'\\ud83e\\udd47',\n '2nd_place_medal':'\\ud83e\\udd48',\n '3rd_place_medal':'\\ud83e\\udd49',\n '8ball':'\\ud83c\\udfb1',\n 'a':'\\ud83c\\udd70\\ufe0f',\n 'ab':'\\ud83c\\udd8e',\n 'abc':'\\ud83d\\udd24',\n 'abcd':'\\ud83d\\udd21',\n 'accept':'\\ud83c\\ude51',\n 'aerial_tramway':'\\ud83d\\udea1',\n 'airplane':'\\u2708\\ufe0f',\n 'alarm_clock':'\\u23f0',\n 'alembic':'\\u2697\\ufe0f',\n 'alien':'\\ud83d\\udc7d',\n 'ambulance':'\\ud83d\\ude91',\n 'amphora':'\\ud83c\\udffa',\n 'anchor':'\\u2693\\ufe0f',\n 'angel':'\\ud83d\\udc7c',\n 'anger':'\\ud83d\\udca2',\n 'angry':'\\ud83d\\ude20',\n 'anguished':'\\ud83d\\ude27',\n 'ant':'\\ud83d\\udc1c',\n 'apple':'\\ud83c\\udf4e',\n 'aquarius':'\\u2652\\ufe0f',\n 'aries':'\\u2648\\ufe0f',\n 'arrow_backward':'\\u25c0\\ufe0f',\n 'arrow_double_down':'\\u23ec',\n 'arrow_double_up':'\\u23eb',\n 'arrow_down':'\\u2b07\\ufe0f',\n 'arrow_down_small':'\\ud83d\\udd3d',\n 'arrow_forward':'\\u25b6\\ufe0f',\n 'arrow_heading_down':'\\u2935\\ufe0f',\n 'arrow_heading_up':'\\u2934\\ufe0f',\n 'arrow_left':'\\u2b05\\ufe0f',\n 'arrow_lower_left':'\\u2199\\ufe0f',\n 'arrow_lower_right':'\\u2198\\ufe0f',\n 'arrow_right':'\\u27a1\\ufe0f',\n 'arrow_right_hook':'\\u21aa\\ufe0f',\n 'arrow_up':'\\u2b06\\ufe0f',\n 'arrow_up_down':'\\u2195\\ufe0f',\n 'arrow_up_small':'\\ud83d\\udd3c',\n 'arrow_upper_left':'\\u2196\\ufe0f',\n 'arrow_upper_right':'\\u2197\\ufe0f',\n 'arrows_clockwise':'\\ud83d\\udd03',\n 'arrows_counterclockwise':'\\ud83d\\udd04',\n 'art':'\\ud83c\\udfa8',\n 'articulated_lorry':'\\ud83d\\ude9b',\n 'artificial_satellite':'\\ud83d\\udef0',\n 'astonished':'\\ud83d\\ude32',\n 'athletic_shoe':'\\ud83d\\udc5f',\n 'atm':'\\ud83c\\udfe7',\n 'atom_symbol':'\\u269b\\ufe0f',\n 'avocado':'\\ud83e\\udd51',\n 'b':'\\ud83c\\udd71\\ufe0f',\n 'baby':'\\ud83d\\udc76',\n 'baby_bottle':'\\ud83c\\udf7c',\n 'baby_chick':'\\ud83d\\udc24',\n 'baby_symbol':'\\ud83d\\udebc',\n 'back':'\\ud83d\\udd19',\n 'bacon':'\\ud83e\\udd53',\n 'badminton':'\\ud83c\\udff8',\n 'baggage_claim':'\\ud83d\\udec4',\n 'baguette_bread':'\\ud83e\\udd56',\n 'balance_scale':'\\u2696\\ufe0f',\n 'balloon':'\\ud83c\\udf88',\n 'ballot_box':'\\ud83d\\uddf3',\n 'ballot_box_with_check':'\\u2611\\ufe0f',\n 'bamboo':'\\ud83c\\udf8d',\n 'banana':'\\ud83c\\udf4c',\n 'bangbang':'\\u203c\\ufe0f',\n 'bank':'\\ud83c\\udfe6',\n 'bar_chart':'\\ud83d\\udcca',\n 'barber':'\\ud83d\\udc88',\n 'baseball':'\\u26be\\ufe0f',\n 'basketball':'\\ud83c\\udfc0',\n 'basketball_man':'\\u26f9\\ufe0f',\n 'basketball_woman':'\\u26f9\\ufe0f‍\\u2640\\ufe0f',\n 'bat':'\\ud83e\\udd87',\n 'bath':'\\ud83d\\udec0',\n 'bathtub':'\\ud83d\\udec1',\n 'battery':'\\ud83d\\udd0b',\n 'beach_umbrella':'\\ud83c\\udfd6',\n 'bear':'\\ud83d\\udc3b',\n 'bed':'\\ud83d\\udecf',\n 'bee':'\\ud83d\\udc1d',\n 'beer':'\\ud83c\\udf7a',\n 'beers':'\\ud83c\\udf7b',\n 'beetle':'\\ud83d\\udc1e',\n 'beginner':'\\ud83d\\udd30',\n 'bell':'\\ud83d\\udd14',\n 'bellhop_bell':'\\ud83d\\udece',\n 'bento':'\\ud83c\\udf71',\n 'biking_man':'\\ud83d\\udeb4',\n 'bike':'\\ud83d\\udeb2',\n 'biking_woman':'\\ud83d\\udeb4‍\\u2640\\ufe0f',\n 'bikini':'\\ud83d\\udc59',\n 'biohazard':'\\u2623\\ufe0f',\n 'bird':'\\ud83d\\udc26',\n 'birthday':'\\ud83c\\udf82',\n 'black_circle':'\\u26ab\\ufe0f',\n 'black_flag':'\\ud83c\\udff4',\n 'black_heart':'\\ud83d\\udda4',\n 'black_joker':'\\ud83c\\udccf',\n 'black_large_square':'\\u2b1b\\ufe0f',\n 'black_medium_small_square':'\\u25fe\\ufe0f',\n 'black_medium_square':'\\u25fc\\ufe0f',\n 'black_nib':'\\u2712\\ufe0f',\n 'black_small_square':'\\u25aa\\ufe0f',\n 'black_square_button':'\\ud83d\\udd32',\n 'blonde_man':'\\ud83d\\udc71',\n 'blonde_woman':'\\ud83d\\udc71‍\\u2640\\ufe0f',\n 'blossom':'\\ud83c\\udf3c',\n 'blowfish':'\\ud83d\\udc21',\n 'blue_book':'\\ud83d\\udcd8',\n 'blue_car':'\\ud83d\\ude99',\n 'blue_heart':'\\ud83d\\udc99',\n 'blush':'\\ud83d\\ude0a',\n 'boar':'\\ud83d\\udc17',\n 'boat':'\\u26f5\\ufe0f',\n 'bomb':'\\ud83d\\udca3',\n 'book':'\\ud83d\\udcd6',\n 'bookmark':'\\ud83d\\udd16',\n 'bookmark_tabs':'\\ud83d\\udcd1',\n 'books':'\\ud83d\\udcda',\n 'boom':'\\ud83d\\udca5',\n 'boot':'\\ud83d\\udc62',\n 'bouquet':'\\ud83d\\udc90',\n 'bowing_man':'\\ud83d\\ude47',\n 'bow_and_arrow':'\\ud83c\\udff9',\n 'bowing_woman':'\\ud83d\\ude47‍\\u2640\\ufe0f',\n 'bowling':'\\ud83c\\udfb3',\n 'boxing_glove':'\\ud83e\\udd4a',\n 'boy':'\\ud83d\\udc66',\n 'bread':'\\ud83c\\udf5e',\n 'bride_with_veil':'\\ud83d\\udc70',\n 'bridge_at_night':'\\ud83c\\udf09',\n 'briefcase':'\\ud83d\\udcbc',\n 'broken_heart':'\\ud83d\\udc94',\n 'bug':'\\ud83d\\udc1b',\n 'building_construction':'\\ud83c\\udfd7',\n 'bulb':'\\ud83d\\udca1',\n 'bullettrain_front':'\\ud83d\\ude85',\n 'bullettrain_side':'\\ud83d\\ude84',\n 'burrito':'\\ud83c\\udf2f',\n 'bus':'\\ud83d\\ude8c',\n 'business_suit_levitating':'\\ud83d\\udd74',\n 'busstop':'\\ud83d\\ude8f',\n 'bust_in_silhouette':'\\ud83d\\udc64',\n 'busts_in_silhouette':'\\ud83d\\udc65',\n 'butterfly':'\\ud83e\\udd8b',\n 'cactus':'\\ud83c\\udf35',\n 'cake':'\\ud83c\\udf70',\n 'calendar':'\\ud83d\\udcc6',\n 'call_me_hand':'\\ud83e\\udd19',\n 'calling':'\\ud83d\\udcf2',\n 'camel':'\\ud83d\\udc2b',\n 'camera':'\\ud83d\\udcf7',\n 'camera_flash':'\\ud83d\\udcf8',\n 'camping':'\\ud83c\\udfd5',\n 'cancer':'\\u264b\\ufe0f',\n 'candle':'\\ud83d\\udd6f',\n 'candy':'\\ud83c\\udf6c',\n 'canoe':'\\ud83d\\udef6',\n 'capital_abcd':'\\ud83d\\udd20',\n 'capricorn':'\\u2651\\ufe0f',\n 'car':'\\ud83d\\ude97',\n 'card_file_box':'\\ud83d\\uddc3',\n 'card_index':'\\ud83d\\udcc7',\n 'card_index_dividers':'\\ud83d\\uddc2',\n 'carousel_horse':'\\ud83c\\udfa0',\n 'carrot':'\\ud83e\\udd55',\n 'cat':'\\ud83d\\udc31',\n 'cat2':'\\ud83d\\udc08',\n 'cd':'\\ud83d\\udcbf',\n 'chains':'\\u26d3',\n 'champagne':'\\ud83c\\udf7e',\n 'chart':'\\ud83d\\udcb9',\n 'chart_with_downwards_trend':'\\ud83d\\udcc9',\n 'chart_with_upwards_trend':'\\ud83d\\udcc8',\n 'checkered_flag':'\\ud83c\\udfc1',\n 'cheese':'\\ud83e\\uddc0',\n 'cherries':'\\ud83c\\udf52',\n 'cherry_blossom':'\\ud83c\\udf38',\n 'chestnut':'\\ud83c\\udf30',\n 'chicken':'\\ud83d\\udc14',\n 'children_crossing':'\\ud83d\\udeb8',\n 'chipmunk':'\\ud83d\\udc3f',\n 'chocolate_bar':'\\ud83c\\udf6b',\n 'christmas_tree':'\\ud83c\\udf84',\n 'church':'\\u26ea\\ufe0f',\n 'cinema':'\\ud83c\\udfa6',\n 'circus_tent':'\\ud83c\\udfaa',\n 'city_sunrise':'\\ud83c\\udf07',\n 'city_sunset':'\\ud83c\\udf06',\n 'cityscape':'\\ud83c\\udfd9',\n 'cl':'\\ud83c\\udd91',\n 'clamp':'\\ud83d\\udddc',\n 'clap':'\\ud83d\\udc4f',\n 'clapper':'\\ud83c\\udfac',\n 'classical_building':'\\ud83c\\udfdb',\n 'clinking_glasses':'\\ud83e\\udd42',\n 'clipboard':'\\ud83d\\udccb',\n 'clock1':'\\ud83d\\udd50',\n 'clock10':'\\ud83d\\udd59',\n 'clock1030':'\\ud83d\\udd65',\n 'clock11':'\\ud83d\\udd5a',\n 'clock1130':'\\ud83d\\udd66',\n 'clock12':'\\ud83d\\udd5b',\n 'clock1230':'\\ud83d\\udd67',\n 'clock130':'\\ud83d\\udd5c',\n 'clock2':'\\ud83d\\udd51',\n 'clock230':'\\ud83d\\udd5d',\n 'clock3':'\\ud83d\\udd52',\n 'clock330':'\\ud83d\\udd5e',\n 'clock4':'\\ud83d\\udd53',\n 'clock430':'\\ud83d\\udd5f',\n 'clock5':'\\ud83d\\udd54',\n 'clock530':'\\ud83d\\udd60',\n 'clock6':'\\ud83d\\udd55',\n 'clock630':'\\ud83d\\udd61',\n 'clock7':'\\ud83d\\udd56',\n 'clock730':'\\ud83d\\udd62',\n 'clock8':'\\ud83d\\udd57',\n 'clock830':'\\ud83d\\udd63',\n 'clock9':'\\ud83d\\udd58',\n 'clock930':'\\ud83d\\udd64',\n 'closed_book':'\\ud83d\\udcd5',\n 'closed_lock_with_key':'\\ud83d\\udd10',\n 'closed_umbrella':'\\ud83c\\udf02',\n 'cloud':'\\u2601\\ufe0f',\n 'cloud_with_lightning':'\\ud83c\\udf29',\n 'cloud_with_lightning_and_rain':'\\u26c8',\n 'cloud_with_rain':'\\ud83c\\udf27',\n 'cloud_with_snow':'\\ud83c\\udf28',\n 'clown_face':'\\ud83e\\udd21',\n 'clubs':'\\u2663\\ufe0f',\n 'cocktail':'\\ud83c\\udf78',\n 'coffee':'\\u2615\\ufe0f',\n 'coffin':'\\u26b0\\ufe0f',\n 'cold_sweat':'\\ud83d\\ude30',\n 'comet':'\\u2604\\ufe0f',\n 'computer':'\\ud83d\\udcbb',\n 'computer_mouse':'\\ud83d\\uddb1',\n 'confetti_ball':'\\ud83c\\udf8a',\n 'confounded':'\\ud83d\\ude16',\n 'confused':'\\ud83d\\ude15',\n 'congratulations':'\\u3297\\ufe0f',\n 'construction':'\\ud83d\\udea7',\n 'construction_worker_man':'\\ud83d\\udc77',\n 'construction_worker_woman':'\\ud83d\\udc77‍\\u2640\\ufe0f',\n 'control_knobs':'\\ud83c\\udf9b',\n 'convenience_store':'\\ud83c\\udfea',\n 'cookie':'\\ud83c\\udf6a',\n 'cool':'\\ud83c\\udd92',\n 'policeman':'\\ud83d\\udc6e',\n 'copyright':'\\u00a9\\ufe0f',\n 'corn':'\\ud83c\\udf3d',\n 'couch_and_lamp':'\\ud83d\\udecb',\n 'couple':'\\ud83d\\udc6b',\n 'couple_with_heart_woman_man':'\\ud83d\\udc91',\n 'couple_with_heart_man_man':'\\ud83d\\udc68‍\\u2764\\ufe0f‍\\ud83d\\udc68',\n 'couple_with_heart_woman_woman':'\\ud83d\\udc69‍\\u2764\\ufe0f‍\\ud83d\\udc69',\n 'couplekiss_man_man':'\\ud83d\\udc68‍\\u2764\\ufe0f‍\\ud83d\\udc8b‍\\ud83d\\udc68',\n 'couplekiss_man_woman':'\\ud83d\\udc8f',\n 'couplekiss_woman_woman':'\\ud83d\\udc69‍\\u2764\\ufe0f‍\\ud83d\\udc8b‍\\ud83d\\udc69',\n 'cow':'\\ud83d\\udc2e',\n 'cow2':'\\ud83d\\udc04',\n 'cowboy_hat_face':'\\ud83e\\udd20',\n 'crab':'\\ud83e\\udd80',\n 'crayon':'\\ud83d\\udd8d',\n 'credit_card':'\\ud83d\\udcb3',\n 'crescent_moon':'\\ud83c\\udf19',\n 'cricket':'\\ud83c\\udfcf',\n 'crocodile':'\\ud83d\\udc0a',\n 'croissant':'\\ud83e\\udd50',\n 'crossed_fingers':'\\ud83e\\udd1e',\n 'crossed_flags':'\\ud83c\\udf8c',\n 'crossed_swords':'\\u2694\\ufe0f',\n 'crown':'\\ud83d\\udc51',\n 'cry':'\\ud83d\\ude22',\n 'crying_cat_face':'\\ud83d\\ude3f',\n 'crystal_ball':'\\ud83d\\udd2e',\n 'cucumber':'\\ud83e\\udd52',\n 'cupid':'\\ud83d\\udc98',\n 'curly_loop':'\\u27b0',\n 'currency_exchange':'\\ud83d\\udcb1',\n 'curry':'\\ud83c\\udf5b',\n 'custard':'\\ud83c\\udf6e',\n 'customs':'\\ud83d\\udec3',\n 'cyclone':'\\ud83c\\udf00',\n 'dagger':'\\ud83d\\udde1',\n 'dancer':'\\ud83d\\udc83',\n 'dancing_women':'\\ud83d\\udc6f',\n 'dancing_men':'\\ud83d\\udc6f‍\\u2642\\ufe0f',\n 'dango':'\\ud83c\\udf61',\n 'dark_sunglasses':'\\ud83d\\udd76',\n 'dart':'\\ud83c\\udfaf',\n 'dash':'\\ud83d\\udca8',\n 'date':'\\ud83d\\udcc5',\n 'deciduous_tree':'\\ud83c\\udf33',\n 'deer':'\\ud83e\\udd8c',\n 'department_store':'\\ud83c\\udfec',\n 'derelict_house':'\\ud83c\\udfda',\n 'desert':'\\ud83c\\udfdc',\n 'desert_island':'\\ud83c\\udfdd',\n 'desktop_computer':'\\ud83d\\udda5',\n 'male_detective':'\\ud83d\\udd75\\ufe0f',\n 'diamond_shape_with_a_dot_inside':'\\ud83d\\udca0',\n 'diamonds':'\\u2666\\ufe0f',\n 'disappointed':'\\ud83d\\ude1e',\n 'disappointed_relieved':'\\ud83d\\ude25',\n 'dizzy':'\\ud83d\\udcab',\n 'dizzy_face':'\\ud83d\\ude35',\n 'do_not_litter':'\\ud83d\\udeaf',\n 'dog':'\\ud83d\\udc36',\n 'dog2':'\\ud83d\\udc15',\n 'dollar':'\\ud83d\\udcb5',\n 'dolls':'\\ud83c\\udf8e',\n 'dolphin':'\\ud83d\\udc2c',\n 'door':'\\ud83d\\udeaa',\n 'doughnut':'\\ud83c\\udf69',\n 'dove':'\\ud83d\\udd4a',\n 'dragon':'\\ud83d\\udc09',\n 'dragon_face':'\\ud83d\\udc32',\n 'dress':'\\ud83d\\udc57',\n 'dromedary_camel':'\\ud83d\\udc2a',\n 'drooling_face':'\\ud83e\\udd24',\n 'droplet':'\\ud83d\\udca7',\n 'drum':'\\ud83e\\udd41',\n 'duck':'\\ud83e\\udd86',\n 'dvd':'\\ud83d\\udcc0',\n 'e-mail':'\\ud83d\\udce7',\n 'eagle':'\\ud83e\\udd85',\n 'ear':'\\ud83d\\udc42',\n 'ear_of_rice':'\\ud83c\\udf3e',\n 'earth_africa':'\\ud83c\\udf0d',\n 'earth_americas':'\\ud83c\\udf0e',\n 'earth_asia':'\\ud83c\\udf0f',\n 'egg':'\\ud83e\\udd5a',\n 'eggplant':'\\ud83c\\udf46',\n 'eight_pointed_black_star':'\\u2734\\ufe0f',\n 'eight_spoked_asterisk':'\\u2733\\ufe0f',\n 'electric_plug':'\\ud83d\\udd0c',\n 'elephant':'\\ud83d\\udc18',\n 'email':'\\u2709\\ufe0f',\n 'end':'\\ud83d\\udd1a',\n 'envelope_with_arrow':'\\ud83d\\udce9',\n 'euro':'\\ud83d\\udcb6',\n 'european_castle':'\\ud83c\\udff0',\n 'european_post_office':'\\ud83c\\udfe4',\n 'evergreen_tree':'\\ud83c\\udf32',\n 'exclamation':'\\u2757\\ufe0f',\n 'expressionless':'\\ud83d\\ude11',\n 'eye':'\\ud83d\\udc41',\n 'eye_speech_bubble':'\\ud83d\\udc41‍\\ud83d\\udde8',\n 'eyeglasses':'\\ud83d\\udc53',\n 'eyes':'\\ud83d\\udc40',\n 'face_with_head_bandage':'\\ud83e\\udd15',\n 'face_with_thermometer':'\\ud83e\\udd12',\n 'fist_oncoming':'\\ud83d\\udc4a',\n 'factory':'\\ud83c\\udfed',\n 'fallen_leaf':'\\ud83c\\udf42',\n 'family_man_woman_boy':'\\ud83d\\udc6a',\n 'family_man_boy':'\\ud83d\\udc68‍\\ud83d\\udc66',\n 'family_man_boy_boy':'\\ud83d\\udc68‍\\ud83d\\udc66‍\\ud83d\\udc66',\n 'family_man_girl':'\\ud83d\\udc68‍\\ud83d\\udc67',\n 'family_man_girl_boy':'\\ud83d\\udc68‍\\ud83d\\udc67‍\\ud83d\\udc66',\n 'family_man_girl_girl':'\\ud83d\\udc68‍\\ud83d\\udc67‍\\ud83d\\udc67',\n 'family_man_man_boy':'\\ud83d\\udc68‍\\ud83d\\udc68‍\\ud83d\\udc66',\n 'family_man_man_boy_boy':'\\ud83d\\udc68‍\\ud83d\\udc68‍\\ud83d\\udc66‍\\ud83d\\udc66',\n 'family_man_man_girl':'\\ud83d\\udc68‍\\ud83d\\udc68‍\\ud83d\\udc67',\n 'family_man_man_girl_boy':'\\ud83d\\udc68‍\\ud83d\\udc68‍\\ud83d\\udc67‍\\ud83d\\udc66',\n 'family_man_man_girl_girl':'\\ud83d\\udc68‍\\ud83d\\udc68‍\\ud83d\\udc67‍\\ud83d\\udc67',\n 'family_man_woman_boy_boy':'\\ud83d\\udc68‍\\ud83d\\udc69‍\\ud83d\\udc66‍\\ud83d\\udc66',\n 'family_man_woman_girl':'\\ud83d\\udc68‍\\ud83d\\udc69‍\\ud83d\\udc67',\n 'family_man_woman_girl_boy':'\\ud83d\\udc68‍\\ud83d\\udc69‍\\ud83d\\udc67‍\\ud83d\\udc66',\n 'family_man_woman_girl_girl':'\\ud83d\\udc68‍\\ud83d\\udc69‍\\ud83d\\udc67‍\\ud83d\\udc67',\n 'family_woman_boy':'\\ud83d\\udc69‍\\ud83d\\udc66',\n 'family_woman_boy_boy':'\\ud83d\\udc69‍\\ud83d\\udc66‍\\ud83d\\udc66',\n 'family_woman_girl':'\\ud83d\\udc69‍\\ud83d\\udc67',\n 'family_woman_girl_boy':'\\ud83d\\udc69‍\\ud83d\\udc67‍\\ud83d\\udc66',\n 'family_woman_girl_girl':'\\ud83d\\udc69‍\\ud83d\\udc67‍\\ud83d\\udc67',\n 'family_woman_woman_boy':'\\ud83d\\udc69‍\\ud83d\\udc69‍\\ud83d\\udc66',\n 'family_woman_woman_boy_boy':'\\ud83d\\udc69‍\\ud83d\\udc69‍\\ud83d\\udc66‍\\ud83d\\udc66',\n 'family_woman_woman_girl':'\\ud83d\\udc69‍\\ud83d\\udc69‍\\ud83d\\udc67',\n 'family_woman_woman_girl_boy':'\\ud83d\\udc69‍\\ud83d\\udc69‍\\ud83d\\udc67‍\\ud83d\\udc66',\n 'family_woman_woman_girl_girl':'\\ud83d\\udc69‍\\ud83d\\udc69‍\\ud83d\\udc67‍\\ud83d\\udc67',\n 'fast_forward':'\\u23e9',\n 'fax':'\\ud83d\\udce0',\n 'fearful':'\\ud83d\\ude28',\n 'feet':'\\ud83d\\udc3e',\n 'female_detective':'\\ud83d\\udd75\\ufe0f‍\\u2640\\ufe0f',\n 'ferris_wheel':'\\ud83c\\udfa1',\n 'ferry':'\\u26f4',\n 'field_hockey':'\\ud83c\\udfd1',\n 'file_cabinet':'\\ud83d\\uddc4',\n 'file_folder':'\\ud83d\\udcc1',\n 'film_projector':'\\ud83d\\udcfd',\n 'film_strip':'\\ud83c\\udf9e',\n 'fire':'\\ud83d\\udd25',\n 'fire_engine':'\\ud83d\\ude92',\n 'fireworks':'\\ud83c\\udf86',\n 'first_quarter_moon':'\\ud83c\\udf13',\n 'first_quarter_moon_with_face':'\\ud83c\\udf1b',\n 'fish':'\\ud83d\\udc1f',\n 'fish_cake':'\\ud83c\\udf65',\n 'fishing_pole_and_fish':'\\ud83c\\udfa3',\n 'fist_raised':'\\u270a',\n 'fist_left':'\\ud83e\\udd1b',\n 'fist_right':'\\ud83e\\udd1c',\n 'flags':'\\ud83c\\udf8f',\n 'flashlight':'\\ud83d\\udd26',\n 'fleur_de_lis':'\\u269c\\ufe0f',\n 'flight_arrival':'\\ud83d\\udeec',\n 'flight_departure':'\\ud83d\\udeeb',\n 'floppy_disk':'\\ud83d\\udcbe',\n 'flower_playing_cards':'\\ud83c\\udfb4',\n 'flushed':'\\ud83d\\ude33',\n 'fog':'\\ud83c\\udf2b',\n 'foggy':'\\ud83c\\udf01',\n 'football':'\\ud83c\\udfc8',\n 'footprints':'\\ud83d\\udc63',\n 'fork_and_knife':'\\ud83c\\udf74',\n 'fountain':'\\u26f2\\ufe0f',\n 'fountain_pen':'\\ud83d\\udd8b',\n 'four_leaf_clover':'\\ud83c\\udf40',\n 'fox_face':'\\ud83e\\udd8a',\n 'framed_picture':'\\ud83d\\uddbc',\n 'free':'\\ud83c\\udd93',\n 'fried_egg':'\\ud83c\\udf73',\n 'fried_shrimp':'\\ud83c\\udf64',\n 'fries':'\\ud83c\\udf5f',\n 'frog':'\\ud83d\\udc38',\n 'frowning':'\\ud83d\\ude26',\n 'frowning_face':'\\u2639\\ufe0f',\n 'frowning_man':'\\ud83d\\ude4d‍\\u2642\\ufe0f',\n 'frowning_woman':'\\ud83d\\ude4d',\n 'middle_finger':'\\ud83d\\udd95',\n 'fuelpump':'\\u26fd\\ufe0f',\n 'full_moon':'\\ud83c\\udf15',\n 'full_moon_with_face':'\\ud83c\\udf1d',\n 'funeral_urn':'\\u26b1\\ufe0f',\n 'game_die':'\\ud83c\\udfb2',\n 'gear':'\\u2699\\ufe0f',\n 'gem':'\\ud83d\\udc8e',\n 'gemini':'\\u264a\\ufe0f',\n 'ghost':'\\ud83d\\udc7b',\n 'gift':'\\ud83c\\udf81',\n 'gift_heart':'\\ud83d\\udc9d',\n 'girl':'\\ud83d\\udc67',\n 'globe_with_meridians':'\\ud83c\\udf10',\n 'goal_net':'\\ud83e\\udd45',\n 'goat':'\\ud83d\\udc10',\n 'golf':'\\u26f3\\ufe0f',\n 'golfing_man':'\\ud83c\\udfcc\\ufe0f',\n 'golfing_woman':'\\ud83c\\udfcc\\ufe0f‍\\u2640\\ufe0f',\n 'gorilla':'\\ud83e\\udd8d',\n 'grapes':'\\ud83c\\udf47',\n 'green_apple':'\\ud83c\\udf4f',\n 'green_book':'\\ud83d\\udcd7',\n 'green_heart':'\\ud83d\\udc9a',\n 'green_salad':'\\ud83e\\udd57',\n 'grey_exclamation':'\\u2755',\n 'grey_question':'\\u2754',\n 'grimacing':'\\ud83d\\ude2c',\n 'grin':'\\ud83d\\ude01',\n 'grinning':'\\ud83d\\ude00',\n 'guardsman':'\\ud83d\\udc82',\n 'guardswoman':'\\ud83d\\udc82‍\\u2640\\ufe0f',\n 'guitar':'\\ud83c\\udfb8',\n 'gun':'\\ud83d\\udd2b',\n 'haircut_woman':'\\ud83d\\udc87',\n 'haircut_man':'\\ud83d\\udc87‍\\u2642\\ufe0f',\n 'hamburger':'\\ud83c\\udf54',\n 'hammer':'\\ud83d\\udd28',\n 'hammer_and_pick':'\\u2692',\n 'hammer_and_wrench':'\\ud83d\\udee0',\n 'hamster':'\\ud83d\\udc39',\n 'hand':'\\u270b',\n 'handbag':'\\ud83d\\udc5c',\n 'handshake':'\\ud83e\\udd1d',\n 'hankey':'\\ud83d\\udca9',\n 'hatched_chick':'\\ud83d\\udc25',\n 'hatching_chick':'\\ud83d\\udc23',\n 'headphones':'\\ud83c\\udfa7',\n 'hear_no_evil':'\\ud83d\\ude49',\n 'heart':'\\u2764\\ufe0f',\n 'heart_decoration':'\\ud83d\\udc9f',\n 'heart_eyes':'\\ud83d\\ude0d',\n 'heart_eyes_cat':'\\ud83d\\ude3b',\n 'heartbeat':'\\ud83d\\udc93',\n 'heartpulse':'\\ud83d\\udc97',\n 'hearts':'\\u2665\\ufe0f',\n 'heavy_check_mark':'\\u2714\\ufe0f',\n 'heavy_division_sign':'\\u2797',\n 'heavy_dollar_sign':'\\ud83d\\udcb2',\n 'heavy_heart_exclamation':'\\u2763\\ufe0f',\n 'heavy_minus_sign':'\\u2796',\n 'heavy_multiplication_x':'\\u2716\\ufe0f',\n 'heavy_plus_sign':'\\u2795',\n 'helicopter':'\\ud83d\\ude81',\n 'herb':'\\ud83c\\udf3f',\n 'hibiscus':'\\ud83c\\udf3a',\n 'high_brightness':'\\ud83d\\udd06',\n 'high_heel':'\\ud83d\\udc60',\n 'hocho':'\\ud83d\\udd2a',\n 'hole':'\\ud83d\\udd73',\n 'honey_pot':'\\ud83c\\udf6f',\n 'horse':'\\ud83d\\udc34',\n 'horse_racing':'\\ud83c\\udfc7',\n 'hospital':'\\ud83c\\udfe5',\n 'hot_pepper':'\\ud83c\\udf36',\n 'hotdog':'\\ud83c\\udf2d',\n 'hotel':'\\ud83c\\udfe8',\n 'hotsprings':'\\u2668\\ufe0f',\n 'hourglass':'\\u231b\\ufe0f',\n 'hourglass_flowing_sand':'\\u23f3',\n 'house':'\\ud83c\\udfe0',\n 'house_with_garden':'\\ud83c\\udfe1',\n 'houses':'\\ud83c\\udfd8',\n 'hugs':'\\ud83e\\udd17',\n 'hushed':'\\ud83d\\ude2f',\n 'ice_cream':'\\ud83c\\udf68',\n 'ice_hockey':'\\ud83c\\udfd2',\n 'ice_skate':'\\u26f8',\n 'icecream':'\\ud83c\\udf66',\n 'id':'\\ud83c\\udd94',\n 'ideograph_advantage':'\\ud83c\\ude50',\n 'imp':'\\ud83d\\udc7f',\n 'inbox_tray':'\\ud83d\\udce5',\n 'incoming_envelope':'\\ud83d\\udce8',\n 'tipping_hand_woman':'\\ud83d\\udc81',\n 'information_source':'\\u2139\\ufe0f',\n 'innocent':'\\ud83d\\ude07',\n 'interrobang':'\\u2049\\ufe0f',\n 'iphone':'\\ud83d\\udcf1',\n 'izakaya_lantern':'\\ud83c\\udfee',\n 'jack_o_lantern':'\\ud83c\\udf83',\n 'japan':'\\ud83d\\uddfe',\n 'japanese_castle':'\\ud83c\\udfef',\n 'japanese_goblin':'\\ud83d\\udc7a',\n 'japanese_ogre':'\\ud83d\\udc79',\n 'jeans':'\\ud83d\\udc56',\n 'joy':'\\ud83d\\ude02',\n 'joy_cat':'\\ud83d\\ude39',\n 'joystick':'\\ud83d\\udd79',\n 'kaaba':'\\ud83d\\udd4b',\n 'key':'\\ud83d\\udd11',\n 'keyboard':'\\u2328\\ufe0f',\n 'keycap_ten':'\\ud83d\\udd1f',\n 'kick_scooter':'\\ud83d\\udef4',\n 'kimono':'\\ud83d\\udc58',\n 'kiss':'\\ud83d\\udc8b',\n 'kissing':'\\ud83d\\ude17',\n 'kissing_cat':'\\ud83d\\ude3d',\n 'kissing_closed_eyes':'\\ud83d\\ude1a',\n 'kissing_heart':'\\ud83d\\ude18',\n 'kissing_smiling_eyes':'\\ud83d\\ude19',\n 'kiwi_fruit':'\\ud83e\\udd5d',\n 'koala':'\\ud83d\\udc28',\n 'koko':'\\ud83c\\ude01',\n 'label':'\\ud83c\\udff7',\n 'large_blue_circle':'\\ud83d\\udd35',\n 'large_blue_diamond':'\\ud83d\\udd37',\n 'large_orange_diamond':'\\ud83d\\udd36',\n 'last_quarter_moon':'\\ud83c\\udf17',\n 'last_quarter_moon_with_face':'\\ud83c\\udf1c',\n 'latin_cross':'\\u271d\\ufe0f',\n 'laughing':'\\ud83d\\ude06',\n 'leaves':'\\ud83c\\udf43',\n 'ledger':'\\ud83d\\udcd2',\n 'left_luggage':'\\ud83d\\udec5',\n 'left_right_arrow':'\\u2194\\ufe0f',\n 'leftwards_arrow_with_hook':'\\u21a9\\ufe0f',\n 'lemon':'\\ud83c\\udf4b',\n 'leo':'\\u264c\\ufe0f',\n 'leopard':'\\ud83d\\udc06',\n 'level_slider':'\\ud83c\\udf9a',\n 'libra':'\\u264e\\ufe0f',\n 'light_rail':'\\ud83d\\ude88',\n 'link':'\\ud83d\\udd17',\n 'lion':'\\ud83e\\udd81',\n 'lips':'\\ud83d\\udc44',\n 'lipstick':'\\ud83d\\udc84',\n 'lizard':'\\ud83e\\udd8e',\n 'lock':'\\ud83d\\udd12',\n 'lock_with_ink_pen':'\\ud83d\\udd0f',\n 'lollipop':'\\ud83c\\udf6d',\n 'loop':'\\u27bf',\n 'loud_sound':'\\ud83d\\udd0a',\n 'loudspeaker':'\\ud83d\\udce2',\n 'love_hotel':'\\ud83c\\udfe9',\n 'love_letter':'\\ud83d\\udc8c',\n 'low_brightness':'\\ud83d\\udd05',\n 'lying_face':'\\ud83e\\udd25',\n 'm':'\\u24c2\\ufe0f',\n 'mag':'\\ud83d\\udd0d',\n 'mag_right':'\\ud83d\\udd0e',\n 'mahjong':'\\ud83c\\udc04\\ufe0f',\n 'mailbox':'\\ud83d\\udceb',\n 'mailbox_closed':'\\ud83d\\udcea',\n 'mailbox_with_mail':'\\ud83d\\udcec',\n 'mailbox_with_no_mail':'\\ud83d\\udced',\n 'man':'\\ud83d\\udc68',\n 'man_artist':'\\ud83d\\udc68‍\\ud83c\\udfa8',\n 'man_astronaut':'\\ud83d\\udc68‍\\ud83d\\ude80',\n 'man_cartwheeling':'\\ud83e\\udd38‍\\u2642\\ufe0f',\n 'man_cook':'\\ud83d\\udc68‍\\ud83c\\udf73',\n 'man_dancing':'\\ud83d\\udd7a',\n 'man_facepalming':'\\ud83e\\udd26‍\\u2642\\ufe0f',\n 'man_factory_worker':'\\ud83d\\udc68‍\\ud83c\\udfed',\n 'man_farmer':'\\ud83d\\udc68‍\\ud83c\\udf3e',\n 'man_firefighter':'\\ud83d\\udc68‍\\ud83d\\ude92',\n 'man_health_worker':'\\ud83d\\udc68‍\\u2695\\ufe0f',\n 'man_in_tuxedo':'\\ud83e\\udd35',\n 'man_judge':'\\ud83d\\udc68‍\\u2696\\ufe0f',\n 'man_juggling':'\\ud83e\\udd39‍\\u2642\\ufe0f',\n 'man_mechanic':'\\ud83d\\udc68‍\\ud83d\\udd27',\n 'man_office_worker':'\\ud83d\\udc68‍\\ud83d\\udcbc',\n 'man_pilot':'\\ud83d\\udc68‍\\u2708\\ufe0f',\n 'man_playing_handball':'\\ud83e\\udd3e‍\\u2642\\ufe0f',\n 'man_playing_water_polo':'\\ud83e\\udd3d‍\\u2642\\ufe0f',\n 'man_scientist':'\\ud83d\\udc68‍\\ud83d\\udd2c',\n 'man_shrugging':'\\ud83e\\udd37‍\\u2642\\ufe0f',\n 'man_singer':'\\ud83d\\udc68‍\\ud83c\\udfa4',\n 'man_student':'\\ud83d\\udc68‍\\ud83c\\udf93',\n 'man_teacher':'\\ud83d\\udc68‍\\ud83c\\udfeb',\n 'man_technologist':'\\ud83d\\udc68‍\\ud83d\\udcbb',\n 'man_with_gua_pi_mao':'\\ud83d\\udc72',\n 'man_with_turban':'\\ud83d\\udc73',\n 'tangerine':'\\ud83c\\udf4a',\n 'mans_shoe':'\\ud83d\\udc5e',\n 'mantelpiece_clock':'\\ud83d\\udd70',\n 'maple_leaf':'\\ud83c\\udf41',\n 'martial_arts_uniform':'\\ud83e\\udd4b',\n 'mask':'\\ud83d\\ude37',\n 'massage_woman':'\\ud83d\\udc86',\n 'massage_man':'\\ud83d\\udc86‍\\u2642\\ufe0f',\n 'meat_on_bone':'\\ud83c\\udf56',\n 'medal_military':'\\ud83c\\udf96',\n 'medal_sports':'\\ud83c\\udfc5',\n 'mega':'\\ud83d\\udce3',\n 'melon':'\\ud83c\\udf48',\n 'memo':'\\ud83d\\udcdd',\n 'men_wrestling':'\\ud83e\\udd3c‍\\u2642\\ufe0f',\n 'menorah':'\\ud83d\\udd4e',\n 'mens':'\\ud83d\\udeb9',\n 'metal':'\\ud83e\\udd18',\n 'metro':'\\ud83d\\ude87',\n 'microphone':'\\ud83c\\udfa4',\n 'microscope':'\\ud83d\\udd2c',\n 'milk_glass':'\\ud83e\\udd5b',\n 'milky_way':'\\ud83c\\udf0c',\n 'minibus':'\\ud83d\\ude90',\n 'minidisc':'\\ud83d\\udcbd',\n 'mobile_phone_off':'\\ud83d\\udcf4',\n 'money_mouth_face':'\\ud83e\\udd11',\n 'money_with_wings':'\\ud83d\\udcb8',\n 'moneybag':'\\ud83d\\udcb0',\n 'monkey':'\\ud83d\\udc12',\n 'monkey_face':'\\ud83d\\udc35',\n 'monorail':'\\ud83d\\ude9d',\n 'moon':'\\ud83c\\udf14',\n 'mortar_board':'\\ud83c\\udf93',\n 'mosque':'\\ud83d\\udd4c',\n 'motor_boat':'\\ud83d\\udee5',\n 'motor_scooter':'\\ud83d\\udef5',\n 'motorcycle':'\\ud83c\\udfcd',\n 'motorway':'\\ud83d\\udee3',\n 'mount_fuji':'\\ud83d\\uddfb',\n 'mountain':'\\u26f0',\n 'mountain_biking_man':'\\ud83d\\udeb5',\n 'mountain_biking_woman':'\\ud83d\\udeb5‍\\u2640\\ufe0f',\n 'mountain_cableway':'\\ud83d\\udea0',\n 'mountain_railway':'\\ud83d\\ude9e',\n 'mountain_snow':'\\ud83c\\udfd4',\n 'mouse':'\\ud83d\\udc2d',\n 'mouse2':'\\ud83d\\udc01',\n 'movie_camera':'\\ud83c\\udfa5',\n 'moyai':'\\ud83d\\uddff',\n 'mrs_claus':'\\ud83e\\udd36',\n 'muscle':'\\ud83d\\udcaa',\n 'mushroom':'\\ud83c\\udf44',\n 'musical_keyboard':'\\ud83c\\udfb9',\n 'musical_note':'\\ud83c\\udfb5',\n 'musical_score':'\\ud83c\\udfbc',\n 'mute':'\\ud83d\\udd07',\n 'nail_care':'\\ud83d\\udc85',\n 'name_badge':'\\ud83d\\udcdb',\n 'national_park':'\\ud83c\\udfde',\n 'nauseated_face':'\\ud83e\\udd22',\n 'necktie':'\\ud83d\\udc54',\n 'negative_squared_cross_mark':'\\u274e',\n 'nerd_face':'\\ud83e\\udd13',\n 'neutral_face':'\\ud83d\\ude10',\n 'new':'\\ud83c\\udd95',\n 'new_moon':'\\ud83c\\udf11',\n 'new_moon_with_face':'\\ud83c\\udf1a',\n 'newspaper':'\\ud83d\\udcf0',\n 'newspaper_roll':'\\ud83d\\uddde',\n 'next_track_button':'\\u23ed',\n 'ng':'\\ud83c\\udd96',\n 'no_good_man':'\\ud83d\\ude45‍\\u2642\\ufe0f',\n 'no_good_woman':'\\ud83d\\ude45',\n 'night_with_stars':'\\ud83c\\udf03',\n 'no_bell':'\\ud83d\\udd15',\n 'no_bicycles':'\\ud83d\\udeb3',\n 'no_entry':'\\u26d4\\ufe0f',\n 'no_entry_sign':'\\ud83d\\udeab',\n 'no_mobile_phones':'\\ud83d\\udcf5',\n 'no_mouth':'\\ud83d\\ude36',\n 'no_pedestrians':'\\ud83d\\udeb7',\n 'no_smoking':'\\ud83d\\udead',\n 'non-potable_water':'\\ud83d\\udeb1',\n 'nose':'\\ud83d\\udc43',\n 'notebook':'\\ud83d\\udcd3',\n 'notebook_with_decorative_cover':'\\ud83d\\udcd4',\n 'notes':'\\ud83c\\udfb6',\n 'nut_and_bolt':'\\ud83d\\udd29',\n 'o':'\\u2b55\\ufe0f',\n 'o2':'\\ud83c\\udd7e\\ufe0f',\n 'ocean':'\\ud83c\\udf0a',\n 'octopus':'\\ud83d\\udc19',\n 'oden':'\\ud83c\\udf62',\n 'office':'\\ud83c\\udfe2',\n 'oil_drum':'\\ud83d\\udee2',\n 'ok':'\\ud83c\\udd97',\n 'ok_hand':'\\ud83d\\udc4c',\n 'ok_man':'\\ud83d\\ude46‍\\u2642\\ufe0f',\n 'ok_woman':'\\ud83d\\ude46',\n 'old_key':'\\ud83d\\udddd',\n 'older_man':'\\ud83d\\udc74',\n 'older_woman':'\\ud83d\\udc75',\n 'om':'\\ud83d\\udd49',\n 'on':'\\ud83d\\udd1b',\n 'oncoming_automobile':'\\ud83d\\ude98',\n 'oncoming_bus':'\\ud83d\\ude8d',\n 'oncoming_police_car':'\\ud83d\\ude94',\n 'oncoming_taxi':'\\ud83d\\ude96',\n 'open_file_folder':'\\ud83d\\udcc2',\n 'open_hands':'\\ud83d\\udc50',\n 'open_mouth':'\\ud83d\\ude2e',\n 'open_umbrella':'\\u2602\\ufe0f',\n 'ophiuchus':'\\u26ce',\n 'orange_book':'\\ud83d\\udcd9',\n 'orthodox_cross':'\\u2626\\ufe0f',\n 'outbox_tray':'\\ud83d\\udce4',\n 'owl':'\\ud83e\\udd89',\n 'ox':'\\ud83d\\udc02',\n 'package':'\\ud83d\\udce6',\n 'page_facing_up':'\\ud83d\\udcc4',\n 'page_with_curl':'\\ud83d\\udcc3',\n 'pager':'\\ud83d\\udcdf',\n 'paintbrush':'\\ud83d\\udd8c',\n 'palm_tree':'\\ud83c\\udf34',\n 'pancakes':'\\ud83e\\udd5e',\n 'panda_face':'\\ud83d\\udc3c',\n 'paperclip':'\\ud83d\\udcce',\n 'paperclips':'\\ud83d\\udd87',\n 'parasol_on_ground':'\\u26f1',\n 'parking':'\\ud83c\\udd7f\\ufe0f',\n 'part_alternation_mark':'\\u303d\\ufe0f',\n 'partly_sunny':'\\u26c5\\ufe0f',\n 'passenger_ship':'\\ud83d\\udef3',\n 'passport_control':'\\ud83d\\udec2',\n 'pause_button':'\\u23f8',\n 'peace_symbol':'\\u262e\\ufe0f',\n 'peach':'\\ud83c\\udf51',\n 'peanuts':'\\ud83e\\udd5c',\n 'pear':'\\ud83c\\udf50',\n 'pen':'\\ud83d\\udd8a',\n 'pencil2':'\\u270f\\ufe0f',\n 'penguin':'\\ud83d\\udc27',\n 'pensive':'\\ud83d\\ude14',\n 'performing_arts':'\\ud83c\\udfad',\n 'persevere':'\\ud83d\\ude23',\n 'person_fencing':'\\ud83e\\udd3a',\n 'pouting_woman':'\\ud83d\\ude4e',\n 'phone':'\\u260e\\ufe0f',\n 'pick':'\\u26cf',\n 'pig':'\\ud83d\\udc37',\n 'pig2':'\\ud83d\\udc16',\n 'pig_nose':'\\ud83d\\udc3d',\n 'pill':'\\ud83d\\udc8a',\n 'pineapple':'\\ud83c\\udf4d',\n 'ping_pong':'\\ud83c\\udfd3',\n 'pisces':'\\u2653\\ufe0f',\n 'pizza':'\\ud83c\\udf55',\n 'place_of_worship':'\\ud83d\\uded0',\n 'plate_with_cutlery':'\\ud83c\\udf7d',\n 'play_or_pause_button':'\\u23ef',\n 'point_down':'\\ud83d\\udc47',\n 'point_left':'\\ud83d\\udc48',\n 'point_right':'\\ud83d\\udc49',\n 'point_up':'\\u261d\\ufe0f',\n 'point_up_2':'\\ud83d\\udc46',\n 'police_car':'\\ud83d\\ude93',\n 'policewoman':'\\ud83d\\udc6e‍\\u2640\\ufe0f',\n 'poodle':'\\ud83d\\udc29',\n 'popcorn':'\\ud83c\\udf7f',\n 'post_office':'\\ud83c\\udfe3',\n 'postal_horn':'\\ud83d\\udcef',\n 'postbox':'\\ud83d\\udcee',\n 'potable_water':'\\ud83d\\udeb0',\n 'potato':'\\ud83e\\udd54',\n 'pouch':'\\ud83d\\udc5d',\n 'poultry_leg':'\\ud83c\\udf57',\n 'pound':'\\ud83d\\udcb7',\n 'rage':'\\ud83d\\ude21',\n 'pouting_cat':'\\ud83d\\ude3e',\n 'pouting_man':'\\ud83d\\ude4e‍\\u2642\\ufe0f',\n 'pray':'\\ud83d\\ude4f',\n 'prayer_beads':'\\ud83d\\udcff',\n 'pregnant_woman':'\\ud83e\\udd30',\n 'previous_track_button':'\\u23ee',\n 'prince':'\\ud83e\\udd34',\n 'princess':'\\ud83d\\udc78',\n 'printer':'\\ud83d\\udda8',\n 'purple_heart':'\\ud83d\\udc9c',\n 'purse':'\\ud83d\\udc5b',\n 'pushpin':'\\ud83d\\udccc',\n 'put_litter_in_its_place':'\\ud83d\\udeae',\n 'question':'\\u2753',\n 'rabbit':'\\ud83d\\udc30',\n 'rabbit2':'\\ud83d\\udc07',\n 'racehorse':'\\ud83d\\udc0e',\n 'racing_car':'\\ud83c\\udfce',\n 'radio':'\\ud83d\\udcfb',\n 'radio_button':'\\ud83d\\udd18',\n 'radioactive':'\\u2622\\ufe0f',\n 'railway_car':'\\ud83d\\ude83',\n 'railway_track':'\\ud83d\\udee4',\n 'rainbow':'\\ud83c\\udf08',\n 'rainbow_flag':'\\ud83c\\udff3\\ufe0f‍\\ud83c\\udf08',\n 'raised_back_of_hand':'\\ud83e\\udd1a',\n 'raised_hand_with_fingers_splayed':'\\ud83d\\udd90',\n 'raised_hands':'\\ud83d\\ude4c',\n 'raising_hand_woman':'\\ud83d\\ude4b',\n 'raising_hand_man':'\\ud83d\\ude4b‍\\u2642\\ufe0f',\n 'ram':'\\ud83d\\udc0f',\n 'ramen':'\\ud83c\\udf5c',\n 'rat':'\\ud83d\\udc00',\n 'record_button':'\\u23fa',\n 'recycle':'\\u267b\\ufe0f',\n 'red_circle':'\\ud83d\\udd34',\n 'registered':'\\u00ae\\ufe0f',\n 'relaxed':'\\u263a\\ufe0f',\n 'relieved':'\\ud83d\\ude0c',\n 'reminder_ribbon':'\\ud83c\\udf97',\n 'repeat':'\\ud83d\\udd01',\n 'repeat_one':'\\ud83d\\udd02',\n 'rescue_worker_helmet':'\\u26d1',\n 'restroom':'\\ud83d\\udebb',\n 'revolving_hearts':'\\ud83d\\udc9e',\n 'rewind':'\\u23ea',\n 'rhinoceros':'\\ud83e\\udd8f',\n 'ribbon':'\\ud83c\\udf80',\n 'rice':'\\ud83c\\udf5a',\n 'rice_ball':'\\ud83c\\udf59',\n 'rice_cracker':'\\ud83c\\udf58',\n 'rice_scene':'\\ud83c\\udf91',\n 'right_anger_bubble':'\\ud83d\\uddef',\n 'ring':'\\ud83d\\udc8d',\n 'robot':'\\ud83e\\udd16',\n 'rocket':'\\ud83d\\ude80',\n 'rofl':'\\ud83e\\udd23',\n 'roll_eyes':'\\ud83d\\ude44',\n 'roller_coaster':'\\ud83c\\udfa2',\n 'rooster':'\\ud83d\\udc13',\n 'rose':'\\ud83c\\udf39',\n 'rosette':'\\ud83c\\udff5',\n 'rotating_light':'\\ud83d\\udea8',\n 'round_pushpin':'\\ud83d\\udccd',\n 'rowing_man':'\\ud83d\\udea3',\n 'rowing_woman':'\\ud83d\\udea3‍\\u2640\\ufe0f',\n 'rugby_football':'\\ud83c\\udfc9',\n 'running_man':'\\ud83c\\udfc3',\n 'running_shirt_with_sash':'\\ud83c\\udfbd',\n 'running_woman':'\\ud83c\\udfc3‍\\u2640\\ufe0f',\n 'sa':'\\ud83c\\ude02\\ufe0f',\n 'sagittarius':'\\u2650\\ufe0f',\n 'sake':'\\ud83c\\udf76',\n 'sandal':'\\ud83d\\udc61',\n 'santa':'\\ud83c\\udf85',\n 'satellite':'\\ud83d\\udce1',\n 'saxophone':'\\ud83c\\udfb7',\n 'school':'\\ud83c\\udfeb',\n 'school_satchel':'\\ud83c\\udf92',\n 'scissors':'\\u2702\\ufe0f',\n 'scorpion':'\\ud83e\\udd82',\n 'scorpius':'\\u264f\\ufe0f',\n 'scream':'\\ud83d\\ude31',\n 'scream_cat':'\\ud83d\\ude40',\n 'scroll':'\\ud83d\\udcdc',\n 'seat':'\\ud83d\\udcba',\n 'secret':'\\u3299\\ufe0f',\n 'see_no_evil':'\\ud83d\\ude48',\n 'seedling':'\\ud83c\\udf31',\n 'selfie':'\\ud83e\\udd33',\n 'shallow_pan_of_food':'\\ud83e\\udd58',\n 'shamrock':'\\u2618\\ufe0f',\n 'shark':'\\ud83e\\udd88',\n 'shaved_ice':'\\ud83c\\udf67',\n 'sheep':'\\ud83d\\udc11',\n 'shell':'\\ud83d\\udc1a',\n 'shield':'\\ud83d\\udee1',\n 'shinto_shrine':'\\u26e9',\n 'ship':'\\ud83d\\udea2',\n 'shirt':'\\ud83d\\udc55',\n 'shopping':'\\ud83d\\udecd',\n 'shopping_cart':'\\ud83d\\uded2',\n 'shower':'\\ud83d\\udebf',\n 'shrimp':'\\ud83e\\udd90',\n 'signal_strength':'\\ud83d\\udcf6',\n 'six_pointed_star':'\\ud83d\\udd2f',\n 'ski':'\\ud83c\\udfbf',\n 'skier':'\\u26f7',\n 'skull':'\\ud83d\\udc80',\n 'skull_and_crossbones':'\\u2620\\ufe0f',\n 'sleeping':'\\ud83d\\ude34',\n 'sleeping_bed':'\\ud83d\\udecc',\n 'sleepy':'\\ud83d\\ude2a',\n 'slightly_frowning_face':'\\ud83d\\ude41',\n 'slightly_smiling_face':'\\ud83d\\ude42',\n 'slot_machine':'\\ud83c\\udfb0',\n 'small_airplane':'\\ud83d\\udee9',\n 'small_blue_diamond':'\\ud83d\\udd39',\n 'small_orange_diamond':'\\ud83d\\udd38',\n 'small_red_triangle':'\\ud83d\\udd3a',\n 'small_red_triangle_down':'\\ud83d\\udd3b',\n 'smile':'\\ud83d\\ude04',\n 'smile_cat':'\\ud83d\\ude38',\n 'smiley':'\\ud83d\\ude03',\n 'smiley_cat':'\\ud83d\\ude3a',\n 'smiling_imp':'\\ud83d\\ude08',\n 'smirk':'\\ud83d\\ude0f',\n 'smirk_cat':'\\ud83d\\ude3c',\n 'smoking':'\\ud83d\\udeac',\n 'snail':'\\ud83d\\udc0c',\n 'snake':'\\ud83d\\udc0d',\n 'sneezing_face':'\\ud83e\\udd27',\n 'snowboarder':'\\ud83c\\udfc2',\n 'snowflake':'\\u2744\\ufe0f',\n 'snowman':'\\u26c4\\ufe0f',\n 'snowman_with_snow':'\\u2603\\ufe0f',\n 'sob':'\\ud83d\\ude2d',\n 'soccer':'\\u26bd\\ufe0f',\n 'soon':'\\ud83d\\udd1c',\n 'sos':'\\ud83c\\udd98',\n 'sound':'\\ud83d\\udd09',\n 'space_invader':'\\ud83d\\udc7e',\n 'spades':'\\u2660\\ufe0f',\n 'spaghetti':'\\ud83c\\udf5d',\n 'sparkle':'\\u2747\\ufe0f',\n 'sparkler':'\\ud83c\\udf87',\n 'sparkles':'\\u2728',\n 'sparkling_heart':'\\ud83d\\udc96',\n 'speak_no_evil':'\\ud83d\\ude4a',\n 'speaker':'\\ud83d\\udd08',\n 'speaking_head':'\\ud83d\\udde3',\n 'speech_balloon':'\\ud83d\\udcac',\n 'speedboat':'\\ud83d\\udea4',\n 'spider':'\\ud83d\\udd77',\n 'spider_web':'\\ud83d\\udd78',\n 'spiral_calendar':'\\ud83d\\uddd3',\n 'spiral_notepad':'\\ud83d\\uddd2',\n 'spoon':'\\ud83e\\udd44',\n 'squid':'\\ud83e\\udd91',\n 'stadium':'\\ud83c\\udfdf',\n 'star':'\\u2b50\\ufe0f',\n 'star2':'\\ud83c\\udf1f',\n 'star_and_crescent':'\\u262a\\ufe0f',\n 'star_of_david':'\\u2721\\ufe0f',\n 'stars':'\\ud83c\\udf20',\n 'station':'\\ud83d\\ude89',\n 'statue_of_liberty':'\\ud83d\\uddfd',\n 'steam_locomotive':'\\ud83d\\ude82',\n 'stew':'\\ud83c\\udf72',\n 'stop_button':'\\u23f9',\n 'stop_sign':'\\ud83d\\uded1',\n 'stopwatch':'\\u23f1',\n 'straight_ruler':'\\ud83d\\udccf',\n 'strawberry':'\\ud83c\\udf53',\n 'stuck_out_tongue':'\\ud83d\\ude1b',\n 'stuck_out_tongue_closed_eyes':'\\ud83d\\ude1d',\n 'stuck_out_tongue_winking_eye':'\\ud83d\\ude1c',\n 'studio_microphone':'\\ud83c\\udf99',\n 'stuffed_flatbread':'\\ud83e\\udd59',\n 'sun_behind_large_cloud':'\\ud83c\\udf25',\n 'sun_behind_rain_cloud':'\\ud83c\\udf26',\n 'sun_behind_small_cloud':'\\ud83c\\udf24',\n 'sun_with_face':'\\ud83c\\udf1e',\n 'sunflower':'\\ud83c\\udf3b',\n 'sunglasses':'\\ud83d\\ude0e',\n 'sunny':'\\u2600\\ufe0f',\n 'sunrise':'\\ud83c\\udf05',\n 'sunrise_over_mountains':'\\ud83c\\udf04',\n 'surfing_man':'\\ud83c\\udfc4',\n 'surfing_woman':'\\ud83c\\udfc4‍\\u2640\\ufe0f',\n 'sushi':'\\ud83c\\udf63',\n 'suspension_railway':'\\ud83d\\ude9f',\n 'sweat':'\\ud83d\\ude13',\n 'sweat_drops':'\\ud83d\\udca6',\n 'sweat_smile':'\\ud83d\\ude05',\n 'sweet_potato':'\\ud83c\\udf60',\n 'swimming_man':'\\ud83c\\udfca',\n 'swimming_woman':'\\ud83c\\udfca‍\\u2640\\ufe0f',\n 'symbols':'\\ud83d\\udd23',\n 'synagogue':'\\ud83d\\udd4d',\n 'syringe':'\\ud83d\\udc89',\n 'taco':'\\ud83c\\udf2e',\n 'tada':'\\ud83c\\udf89',\n 'tanabata_tree':'\\ud83c\\udf8b',\n 'taurus':'\\u2649\\ufe0f',\n 'taxi':'\\ud83d\\ude95',\n 'tea':'\\ud83c\\udf75',\n 'telephone_receiver':'\\ud83d\\udcde',\n 'telescope':'\\ud83d\\udd2d',\n 'tennis':'\\ud83c\\udfbe',\n 'tent':'\\u26fa\\ufe0f',\n 'thermometer':'\\ud83c\\udf21',\n 'thinking':'\\ud83e\\udd14',\n 'thought_balloon':'\\ud83d\\udcad',\n 'ticket':'\\ud83c\\udfab',\n 'tickets':'\\ud83c\\udf9f',\n 'tiger':'\\ud83d\\udc2f',\n 'tiger2':'\\ud83d\\udc05',\n 'timer_clock':'\\u23f2',\n 'tipping_hand_man':'\\ud83d\\udc81‍\\u2642\\ufe0f',\n 'tired_face':'\\ud83d\\ude2b',\n 'tm':'\\u2122\\ufe0f',\n 'toilet':'\\ud83d\\udebd',\n 'tokyo_tower':'\\ud83d\\uddfc',\n 'tomato':'\\ud83c\\udf45',\n 'tongue':'\\ud83d\\udc45',\n 'top':'\\ud83d\\udd1d',\n 'tophat':'\\ud83c\\udfa9',\n 'tornado':'\\ud83c\\udf2a',\n 'trackball':'\\ud83d\\uddb2',\n 'tractor':'\\ud83d\\ude9c',\n 'traffic_light':'\\ud83d\\udea5',\n 'train':'\\ud83d\\ude8b',\n 'train2':'\\ud83d\\ude86',\n 'tram':'\\ud83d\\ude8a',\n 'triangular_flag_on_post':'\\ud83d\\udea9',\n 'triangular_ruler':'\\ud83d\\udcd0',\n 'trident':'\\ud83d\\udd31',\n 'triumph':'\\ud83d\\ude24',\n 'trolleybus':'\\ud83d\\ude8e',\n 'trophy':'\\ud83c\\udfc6',\n 'tropical_drink':'\\ud83c\\udf79',\n 'tropical_fish':'\\ud83d\\udc20',\n 'truck':'\\ud83d\\ude9a',\n 'trumpet':'\\ud83c\\udfba',\n 'tulip':'\\ud83c\\udf37',\n 'tumbler_glass':'\\ud83e\\udd43',\n 'turkey':'\\ud83e\\udd83',\n 'turtle':'\\ud83d\\udc22',\n 'tv':'\\ud83d\\udcfa',\n 'twisted_rightwards_arrows':'\\ud83d\\udd00',\n 'two_hearts':'\\ud83d\\udc95',\n 'two_men_holding_hands':'\\ud83d\\udc6c',\n 'two_women_holding_hands':'\\ud83d\\udc6d',\n 'u5272':'\\ud83c\\ude39',\n 'u5408':'\\ud83c\\ude34',\n 'u55b6':'\\ud83c\\ude3a',\n 'u6307':'\\ud83c\\ude2f\\ufe0f',\n 'u6708':'\\ud83c\\ude37\\ufe0f',\n 'u6709':'\\ud83c\\ude36',\n 'u6e80':'\\ud83c\\ude35',\n 'u7121':'\\ud83c\\ude1a\\ufe0f',\n 'u7533':'\\ud83c\\ude38',\n 'u7981':'\\ud83c\\ude32',\n 'u7a7a':'\\ud83c\\ude33',\n 'umbrella':'\\u2614\\ufe0f',\n 'unamused':'\\ud83d\\ude12',\n 'underage':'\\ud83d\\udd1e',\n 'unicorn':'\\ud83e\\udd84',\n 'unlock':'\\ud83d\\udd13',\n 'up':'\\ud83c\\udd99',\n 'upside_down_face':'\\ud83d\\ude43',\n 'v':'\\u270c\\ufe0f',\n 'vertical_traffic_light':'\\ud83d\\udea6',\n 'vhs':'\\ud83d\\udcfc',\n 'vibration_mode':'\\ud83d\\udcf3',\n 'video_camera':'\\ud83d\\udcf9',\n 'video_game':'\\ud83c\\udfae',\n 'violin':'\\ud83c\\udfbb',\n 'virgo':'\\u264d\\ufe0f',\n 'volcano':'\\ud83c\\udf0b',\n 'volleyball':'\\ud83c\\udfd0',\n 'vs':'\\ud83c\\udd9a',\n 'vulcan_salute':'\\ud83d\\udd96',\n 'walking_man':'\\ud83d\\udeb6',\n 'walking_woman':'\\ud83d\\udeb6‍\\u2640\\ufe0f',\n 'waning_crescent_moon':'\\ud83c\\udf18',\n 'waning_gibbous_moon':'\\ud83c\\udf16',\n 'warning':'\\u26a0\\ufe0f',\n 'wastebasket':'\\ud83d\\uddd1',\n 'watch':'\\u231a\\ufe0f',\n 'water_buffalo':'\\ud83d\\udc03',\n 'watermelon':'\\ud83c\\udf49',\n 'wave':'\\ud83d\\udc4b',\n 'wavy_dash':'\\u3030\\ufe0f',\n 'waxing_crescent_moon':'\\ud83c\\udf12',\n 'wc':'\\ud83d\\udebe',\n 'weary':'\\ud83d\\ude29',\n 'wedding':'\\ud83d\\udc92',\n 'weight_lifting_man':'\\ud83c\\udfcb\\ufe0f',\n 'weight_lifting_woman':'\\ud83c\\udfcb\\ufe0f‍\\u2640\\ufe0f',\n 'whale':'\\ud83d\\udc33',\n 'whale2':'\\ud83d\\udc0b',\n 'wheel_of_dharma':'\\u2638\\ufe0f',\n 'wheelchair':'\\u267f\\ufe0f',\n 'white_check_mark':'\\u2705',\n 'white_circle':'\\u26aa\\ufe0f',\n 'white_flag':'\\ud83c\\udff3\\ufe0f',\n 'white_flower':'\\ud83d\\udcae',\n 'white_large_square':'\\u2b1c\\ufe0f',\n 'white_medium_small_square':'\\u25fd\\ufe0f',\n 'white_medium_square':'\\u25fb\\ufe0f',\n 'white_small_square':'\\u25ab\\ufe0f',\n 'white_square_button':'\\ud83d\\udd33',\n 'wilted_flower':'\\ud83e\\udd40',\n 'wind_chime':'\\ud83c\\udf90',\n 'wind_face':'\\ud83c\\udf2c',\n 'wine_glass':'\\ud83c\\udf77',\n 'wink':'\\ud83d\\ude09',\n 'wolf':'\\ud83d\\udc3a',\n 'woman':'\\ud83d\\udc69',\n 'woman_artist':'\\ud83d\\udc69‍\\ud83c\\udfa8',\n 'woman_astronaut':'\\ud83d\\udc69‍\\ud83d\\ude80',\n 'woman_cartwheeling':'\\ud83e\\udd38‍\\u2640\\ufe0f',\n 'woman_cook':'\\ud83d\\udc69‍\\ud83c\\udf73',\n 'woman_facepalming':'\\ud83e\\udd26‍\\u2640\\ufe0f',\n 'woman_factory_worker':'\\ud83d\\udc69‍\\ud83c\\udfed',\n 'woman_farmer':'\\ud83d\\udc69‍\\ud83c\\udf3e',\n 'woman_firefighter':'\\ud83d\\udc69‍\\ud83d\\ude92',\n 'woman_health_worker':'\\ud83d\\udc69‍\\u2695\\ufe0f',\n 'woman_judge':'\\ud83d\\udc69‍\\u2696\\ufe0f',\n 'woman_juggling':'\\ud83e\\udd39‍\\u2640\\ufe0f',\n 'woman_mechanic':'\\ud83d\\udc69‍\\ud83d\\udd27',\n 'woman_office_worker':'\\ud83d\\udc69‍\\ud83d\\udcbc',\n 'woman_pilot':'\\ud83d\\udc69‍\\u2708\\ufe0f',\n 'woman_playing_handball':'\\ud83e\\udd3e‍\\u2640\\ufe0f',\n 'woman_playing_water_polo':'\\ud83e\\udd3d‍\\u2640\\ufe0f',\n 'woman_scientist':'\\ud83d\\udc69‍\\ud83d\\udd2c',\n 'woman_shrugging':'\\ud83e\\udd37‍\\u2640\\ufe0f',\n 'woman_singer':'\\ud83d\\udc69‍\\ud83c\\udfa4',\n 'woman_student':'\\ud83d\\udc69‍\\ud83c\\udf93',\n 'woman_teacher':'\\ud83d\\udc69‍\\ud83c\\udfeb',\n 'woman_technologist':'\\ud83d\\udc69‍\\ud83d\\udcbb',\n 'woman_with_turban':'\\ud83d\\udc73‍\\u2640\\ufe0f',\n 'womans_clothes':'\\ud83d\\udc5a',\n 'womans_hat':'\\ud83d\\udc52',\n 'women_wrestling':'\\ud83e\\udd3c‍\\u2640\\ufe0f',\n 'womens':'\\ud83d\\udeba',\n 'world_map':'\\ud83d\\uddfa',\n 'worried':'\\ud83d\\ude1f',\n 'wrench':'\\ud83d\\udd27',\n 'writing_hand':'\\u270d\\ufe0f',\n 'x':'\\u274c',\n 'yellow_heart':'\\ud83d\\udc9b',\n 'yen':'\\ud83d\\udcb4',\n 'yin_yang':'\\u262f\\ufe0f',\n 'yum':'\\ud83d\\ude0b',\n 'zap':'\\u26a1\\ufe0f',\n 'zipper_mouth_face':'\\ud83e\\udd10',\n 'zzz':'\\ud83d\\udca4',\n\n /* special emojis :P */\n 'octocat': '\":octocat:\"',\n 'showdown': 'S'\n};\n\r\n/**\n * Created by Estevao on 31-05-2015.\n */\n\n/**\n * Showdown Converter class\n * @class\n * @param {object} [converterOptions]\n * @returns {Converter}\n */\nshowdown.Converter = function (converterOptions) {\n 'use strict';\n\n var\n /**\n * Options used by this converter\n * @private\n * @type {{}}\n */\n options = {},\n\n /**\n * Language extensions used by this converter\n * @private\n * @type {Array}\n */\n langExtensions = [],\n\n /**\n * Output modifiers extensions used by this converter\n * @private\n * @type {Array}\n */\n outputModifiers = [],\n\n /**\n * Event listeners\n * @private\n * @type {{}}\n */\n listeners = {},\n\n /**\n * The flavor set in this converter\n */\n setConvFlavor = setFlavor,\n\n /**\n * Metadata of the document\n * @type {{parsed: {}, raw: string, format: string}}\n */\n metadata = {\n parsed: {},\n raw: '',\n format: ''\n };\n\n _constructor();\n\n /**\n * Converter constructor\n * @private\n */\n function _constructor () {\n converterOptions = converterOptions || {};\n\n for (var gOpt in globalOptions) {\n if (globalOptions.hasOwnProperty(gOpt)) {\n options[gOpt] = globalOptions[gOpt];\n }\n }\n\n // Merge options\n if (typeof converterOptions === 'object') {\n for (var opt in converterOptions) {\n if (converterOptions.hasOwnProperty(opt)) {\n options[opt] = converterOptions[opt];\n }\n }\n } else {\n throw Error('Converter expects the passed parameter to be an object, but ' + typeof converterOptions +\n ' was passed instead.');\n }\n\n if (options.extensions) {\n showdown.helper.forEach(options.extensions, _parseExtension);\n }\n }\n\n /**\n * Parse extension\n * @param {*} ext\n * @param {string} [name='']\n * @private\n */\n function _parseExtension (ext, name) {\n\n name = name || null;\n // If it's a string, the extension was previously loaded\n if (showdown.helper.isString(ext)) {\n ext = showdown.helper.stdExtName(ext);\n name = ext;\n\n // LEGACY_SUPPORT CODE\n if (showdown.extensions[ext]) {\n console.warn('DEPRECATION WARNING: ' + ext + ' is an old extension that uses a deprecated loading method.' +\n 'Please inform the developer that the extension should be updated!');\n legacyExtensionLoading(showdown.extensions[ext], ext);\n return;\n // END LEGACY SUPPORT CODE\n\n } else if (!showdown.helper.isUndefined(extensions[ext])) {\n ext = extensions[ext];\n\n } else {\n throw Error('Extension \"' + ext + '\" could not be loaded. It was either not found or is not a valid extension.');\n }\n }\n\n if (typeof ext === 'function') {\n ext = ext();\n }\n\n if (!showdown.helper.isArray(ext)) {\n ext = [ext];\n }\n\n var validExt = validate(ext, name);\n if (!validExt.valid) {\n throw Error(validExt.error);\n }\n\n for (var i = 0; i < ext.length; ++i) {\n switch (ext[i].type) {\n\n case 'lang':\n langExtensions.push(ext[i]);\n break;\n\n case 'output':\n outputModifiers.push(ext[i]);\n break;\n }\n if (ext[i].hasOwnProperty('listeners')) {\n for (var ln in ext[i].listeners) {\n if (ext[i].listeners.hasOwnProperty(ln)) {\n listen(ln, ext[i].listeners[ln]);\n }\n }\n }\n }\n\n }\n\n /**\n * LEGACY_SUPPORT\n * @param {*} ext\n * @param {string} name\n */\n function legacyExtensionLoading (ext, name) {\n if (typeof ext === 'function') {\n ext = ext(new showdown.Converter());\n }\n if (!showdown.helper.isArray(ext)) {\n ext = [ext];\n }\n var valid = validate(ext, name);\n\n if (!valid.valid) {\n throw Error(valid.error);\n }\n\n for (var i = 0; i < ext.length; ++i) {\n switch (ext[i].type) {\n case 'lang':\n langExtensions.push(ext[i]);\n break;\n case 'output':\n outputModifiers.push(ext[i]);\n break;\n default:// should never reach here\n throw Error('Extension loader error: Type unrecognized!!!');\n }\n }\n }\n\n /**\n * Listen to an event\n * @param {string} name\n * @param {function} callback\n */\n function listen (name, callback) {\n if (!showdown.helper.isString(name)) {\n throw Error('Invalid argument in converter.listen() method: name must be a string, but ' + typeof name + ' given');\n }\n\n if (typeof callback !== 'function') {\n throw Error('Invalid argument in converter.listen() method: callback must be a function, but ' + typeof callback + ' given');\n }\n\n if (!listeners.hasOwnProperty(name)) {\n listeners[name] = [];\n }\n listeners[name].push(callback);\n }\n\n function rTrimInputText (text) {\n var rsp = text.match(/^\\s*/)[0].length,\n rgx = new RegExp('^\\\\s{0,' + rsp + '}', 'gm');\n return text.replace(rgx, '');\n }\n\n /**\n * Dispatch an event\n * @private\n * @param {string} evtName Event name\n * @param {string} text Text\n * @param {{}} options Converter Options\n * @param {{}} globals\n * @returns {string}\n */\n this._dispatch = function dispatch (evtName, text, options, globals) {\n if (listeners.hasOwnProperty(evtName)) {\n for (var ei = 0; ei < listeners[evtName].length; ++ei) {\n var nText = listeners[evtName][ei](evtName, text, this, options, globals);\n if (nText && typeof nText !== 'undefined') {\n text = nText;\n }\n }\n }\n return text;\n };\n\n /**\n * Listen to an event\n * @param {string} name\n * @param {function} callback\n * @returns {showdown.Converter}\n */\n this.listen = function (name, callback) {\n listen(name, callback);\n return this;\n };\n\n /**\n * Converts a markdown string into HTML\n * @param {string} text\n * @returns {*}\n */\n this.makeHtml = function (text) {\n //check if text is not falsy\n if (!text) {\n return text;\n }\n\n var globals = {\n gHtmlBlocks: [],\n gHtmlMdBlocks: [],\n gHtmlSpans: [],\n gUrls: {},\n gTitles: {},\n gDimensions: {},\n gListLevel: 0,\n hashLinkCounts: {},\n langExtensions: langExtensions,\n outputModifiers: outputModifiers,\n converter: this,\n ghCodeBlocks: [],\n metadata: {\n parsed: {},\n raw: '',\n format: ''\n }\n };\n\n // This lets us use ¨ trema as an escape char to avoid md5 hashes\n // The choice of character is arbitrary; anything that isn't\n // magic in Markdown will work.\n text = text.replace(/¨/g, '¨T');\n\n // Replace $ with ¨D\n // RegExp interprets $ as a special character\n // when it's in a replacement string\n text = text.replace(/\\$/g, '¨D');\n\n // Standardize line endings\n text = text.replace(/\\r\\n/g, '\\n'); // DOS to Unix\n text = text.replace(/\\r/g, '\\n'); // Mac to Unix\n\n // Stardardize line spaces\n text = text.replace(/\\u00A0/g, ' ');\n\n if (options.smartIndentationFix) {\n text = rTrimInputText(text);\n }\n\n // Make sure text begins and ends with a couple of newlines:\n text = '\\n\\n' + text + '\\n\\n';\n\n // detab\n text = showdown.subParser('detab')(text, options, globals);\n\n /**\n * Strip any lines consisting only of spaces and tabs.\n * This makes subsequent regexs easier to write, because we can\n * match consecutive blank lines with /\\n+/ instead of something\n * contorted like /[ \\t]*\\n+/\n */\n text = text.replace(/^[ \\t]+$/mg, '');\n\n //run languageExtensions\n showdown.helper.forEach(langExtensions, function (ext) {\n text = showdown.subParser('runExtension')(ext, text, options, globals);\n });\n\n // run the sub parsers\n text = showdown.subParser('metadata')(text, options, globals);\n text = showdown.subParser('hashPreCodeTags')(text, options, globals);\n text = showdown.subParser('githubCodeBlocks')(text, options, globals);\n text = showdown.subParser('hashHTMLBlocks')(text, options, globals);\n text = showdown.subParser('hashCodeTags')(text, options, globals);\n text = showdown.subParser('stripLinkDefinitions')(text, options, globals);\n text = showdown.subParser('blockGamut')(text, options, globals);\n text = showdown.subParser('unhashHTMLSpans')(text, options, globals);\n text = showdown.subParser('unescapeSpecialChars')(text, options, globals);\n\n // attacklab: Restore dollar signs\n text = text.replace(/¨D/g, '$$');\n\n // attacklab: Restore tremas\n text = text.replace(/¨T/g, '¨');\n\n // render a complete html document instead of a partial if the option is enabled\n text = showdown.subParser('completeHTMLDocument')(text, options, globals);\n\n // Run output modifiers\n showdown.helper.forEach(outputModifiers, function (ext) {\n text = showdown.subParser('runExtension')(ext, text, options, globals);\n });\n\n // update metadata\n metadata = globals.metadata;\n return text;\n };\n\n /**\n * Converts an HTML string into a markdown string\n * @param src\n * @param [HTMLParser] A WHATWG DOM and HTML parser, such as JSDOM. If none is supplied, window.document will be used.\n * @returns {string}\n */\n this.makeMarkdown = this.makeMd = function (src, HTMLParser) {\n\n // replace \\r\\n with \\n\n src = src.replace(/\\r\\n/g, '\\n');\n src = src.replace(/\\r/g, '\\n'); // old macs\n\n // due to an edge case, we need to find this: > <\n // to prevent removing of non silent white spaces\n // ex: this is sparta\n src = src.replace(/>[ \\t]+¨NBSP;<');\n\n if (!HTMLParser) {\n if (window && window.document) {\n HTMLParser = window.document;\n } else {\n throw new Error('HTMLParser is undefined. If in a webworker or nodejs environment, you need to provide a WHATWG DOM and HTML such as JSDOM');\n }\n }\n\n var doc = HTMLParser.createElement('div');\n doc.innerHTML = src;\n\n var globals = {\n preList: substitutePreCodeTags(doc)\n };\n\n // remove all newlines and collapse spaces\n clean(doc);\n\n // some stuff, like accidental reference links must now be escaped\n // TODO\n // doc.innerHTML = doc.innerHTML.replace(/\\[[\\S\\t ]]/);\n\n var nodes = doc.childNodes,\n mdDoc = '';\n\n for (var i = 0; i < nodes.length; i++) {\n mdDoc += showdown.subParser('makeMarkdown.node')(nodes[i], globals);\n }\n\n function clean (node) {\n for (var n = 0; n < node.childNodes.length; ++n) {\n var child = node.childNodes[n];\n if (child.nodeType === 3) {\n if (!/\\S/.test(child.nodeValue)) {\n node.removeChild(child);\n --n;\n } else {\n child.nodeValue = child.nodeValue.split('\\n').join(' ');\n child.nodeValue = child.nodeValue.replace(/(\\s)+/g, '$1');\n }\n } else if (child.nodeType === 1) {\n clean(child);\n }\n }\n }\n\n // find all pre tags and replace contents with placeholder\n // we need this so that we can remove all indentation from html\n // to ease up parsing\n function substitutePreCodeTags (doc) {\n\n var pres = doc.querySelectorAll('pre'),\n presPH = [];\n\n for (var i = 0; i < pres.length; ++i) {\n\n if (pres[i].childElementCount === 1 && pres[i].firstChild.tagName.toLowerCase() === 'code') {\n var content = pres[i].firstChild.innerHTML.trim(),\n language = pres[i].firstChild.getAttribute('data-language') || '';\n\n // if data-language attribute is not defined, then we look for class language-*\n if (language === '') {\n var classes = pres[i].firstChild.className.split(' ');\n for (var c = 0; c < classes.length; ++c) {\n var matches = classes[c].match(/^language-(.+)$/);\n if (matches !== null) {\n language = matches[1];\n break;\n }\n }\n }\n\n // unescape html entities in content\n content = showdown.helper.unescapeHTMLEntities(content);\n\n presPH.push(content);\n pres[i].outerHTML = '';\n } else {\n presPH.push(pres[i].innerHTML);\n pres[i].innerHTML = '';\n pres[i].setAttribute('prenum', i.toString());\n }\n }\n return presPH;\n }\n\n return mdDoc;\n };\n\n /**\n * Set an option of this Converter instance\n * @param {string} key\n * @param {*} value\n */\n this.setOption = function (key, value) {\n options[key] = value;\n };\n\n /**\n * Get the option of this Converter instance\n * @param {string} key\n * @returns {*}\n */\n this.getOption = function (key) {\n return options[key];\n };\n\n /**\n * Get the options of this Converter instance\n * @returns {{}}\n */\n this.getOptions = function () {\n return options;\n };\n\n /**\n * Add extension to THIS converter\n * @param {{}} extension\n * @param {string} [name=null]\n */\n this.addExtension = function (extension, name) {\n name = name || null;\n _parseExtension(extension, name);\n };\n\n /**\n * Use a global registered extension with THIS converter\n * @param {string} extensionName Name of the previously registered extension\n */\n this.useExtension = function (extensionName) {\n _parseExtension(extensionName);\n };\n\n /**\n * Set the flavor THIS converter should use\n * @param {string} name\n */\n this.setFlavor = function (name) {\n if (!flavor.hasOwnProperty(name)) {\n throw Error(name + ' flavor was not found');\n }\n var preset = flavor[name];\n setConvFlavor = name;\n for (var option in preset) {\n if (preset.hasOwnProperty(option)) {\n options[option] = preset[option];\n }\n }\n };\n\n /**\n * Get the currently set flavor of this converter\n * @returns {string}\n */\n this.getFlavor = function () {\n return setConvFlavor;\n };\n\n /**\n * Remove an extension from THIS converter.\n * Note: This is a costly operation. It's better to initialize a new converter\n * and specify the extensions you wish to use\n * @param {Array} extension\n */\n this.removeExtension = function (extension) {\n if (!showdown.helper.isArray(extension)) {\n extension = [extension];\n }\n for (var a = 0; a < extension.length; ++a) {\n var ext = extension[a];\n for (var i = 0; i < langExtensions.length; ++i) {\n if (langExtensions[i] === ext) {\n langExtensions[i].splice(i, 1);\n }\n }\n for (var ii = 0; ii < outputModifiers.length; ++i) {\n if (outputModifiers[ii] === ext) {\n outputModifiers[ii].splice(i, 1);\n }\n }\n }\n };\n\n /**\n * Get all extension of THIS converter\n * @returns {{language: Array, output: Array}}\n */\n this.getAllExtensions = function () {\n return {\n language: langExtensions,\n output: outputModifiers\n };\n };\n\n /**\n * Get the metadata of the previously parsed document\n * @param raw\n * @returns {string|{}}\n */\n this.getMetadata = function (raw) {\n if (raw) {\n return metadata.raw;\n } else {\n return metadata.parsed;\n }\n };\n\n /**\n * Get the metadata format of the previously parsed document\n * @returns {string}\n */\n this.getMetadataFormat = function () {\n return metadata.format;\n };\n\n /**\n * Private: set a single key, value metadata pair\n * @param {string} key\n * @param {string} value\n */\n this._setMetadataPair = function (key, value) {\n metadata.parsed[key] = value;\n };\n\n /**\n * Private: set metadata format\n * @param {string} format\n */\n this._setMetadataFormat = function (format) {\n metadata.format = format;\n };\n\n /**\n * Private: set metadata raw text\n * @param {string} raw\n */\n this._setMetadataRaw = function (raw) {\n metadata.raw = raw;\n };\n};\n\r\n/**\n * Turn Markdown link shortcuts into XHTML tags.\n */\nshowdown.subParser('anchors', function (text, options, globals) {\n 'use strict';\n\n text = globals.converter._dispatch('anchors.before', text, options, globals);\n\n var writeAnchorTag = function (wholeMatch, linkText, linkId, url, m5, m6, title) {\n if (showdown.helper.isUndefined(title)) {\n title = '';\n }\n linkId = linkId.toLowerCase();\n\n // Special case for explicit empty url\n if (wholeMatch.search(/\\(? ?(['\"].*['\"])?\\)$/m) > -1) {\n url = '';\n } else if (!url) {\n if (!linkId) {\n // lower-case and turn embedded newlines into spaces\n linkId = linkText.toLowerCase().replace(/ ?\\n/g, ' ');\n }\n url = '#' + linkId;\n\n if (!showdown.helper.isUndefined(globals.gUrls[linkId])) {\n url = globals.gUrls[linkId];\n if (!showdown.helper.isUndefined(globals.gTitles[linkId])) {\n title = globals.gTitles[linkId];\n }\n } else {\n return wholeMatch;\n }\n }\n\n //url = showdown.helper.escapeCharacters(url, '*_', false); // replaced line to improve performance\n url = url.replace(showdown.helper.regexes.asteriskDashAndColon, showdown.helper.escapeCharactersCallback);\n\n var result = '';\n\n return result;\n };\n\n // First, handle reference-style links: [link text] [id]\n text = text.replace(/\\[((?:\\[[^\\]]*]|[^\\[\\]])*)] ?(?:\\n *)?\\[(.*?)]()()()()/g, writeAnchorTag);\n\n // Next, inline-style links: [link text](url \"optional title\")\n // cases with crazy urls like ./image/cat1).png\n text = text.replace(/\\[((?:\\[[^\\]]*]|[^\\[\\]])*)]()[ \\t]*\\([ \\t]?<([^>]*)>(?:[ \\t]*(([\"'])([^\"]*?)\\5))?[ \\t]?\\)/g,\n writeAnchorTag);\n\n // normal cases\n text = text.replace(/\\[((?:\\[[^\\]]*]|[^\\[\\]])*)]()[ \\t]*\\([ \\t]??(?:[ \\t]*(([\"'])([^\"]*?)\\5))?[ \\t]?\\)/g,\n writeAnchorTag);\n\n // handle reference-style shortcuts: [link text]\n // These must come last in case you've also got [link test][1]\n // or [link test](/foo)\n text = text.replace(/\\[([^\\[\\]]+)]()()()()()/g, writeAnchorTag);\n\n // Lastly handle GithubMentions if option is enabled\n if (options.ghMentions) {\n text = text.replace(/(^|\\s)(\\\\)?(@([a-z\\d]+(?:[a-z\\d.-]+?[a-z\\d]+)*))/gmi, function (wm, st, escape, mentions, username) {\n if (escape === '\\\\') {\n return st + mentions;\n }\n\n //check if options.ghMentionsLink is a string\n if (!showdown.helper.isString(options.ghMentionsLink)) {\n throw new Error('ghMentionsLink option must be a string');\n }\n var lnk = options.ghMentionsLink.replace(/\\{u}/g, username),\n target = '';\n if (options.openLinksInNewWindow) {\n target = ' rel=\"noopener noreferrer\" target=\"¨E95Eblank\"';\n }\n return st + '' + mentions + '';\n });\n }\n\n text = globals.converter._dispatch('anchors.after', text, options, globals);\n return text;\n});\n\r\n// url allowed chars [a-z\\d_.~:/?#[]@!$&'()*+,;=-]\n\nvar simpleURLRegex = /([*~_]+|\\b)(((https?|ftp|dict):\\/\\/|www\\.)[^'\">\\s]+?\\.[^'\">\\s]+?)()(\\1)?(?=\\s|$)(?![\"<>])/gi,\n simpleURLRegex2 = /([*~_]+|\\b)(((https?|ftp|dict):\\/\\/|www\\.)[^'\">\\s]+\\.[^'\">\\s]+?)([.!?,()\\[\\]])?(\\1)?(?=\\s|$)(?![\"<>])/gi,\n delimUrlRegex = /()<(((https?|ftp|dict):\\/\\/|www\\.)[^'\">\\s]+)()>()/gi,\n simpleMailRegex = /(^|\\s)(?:mailto:)?([A-Za-z0-9!#$%&'*+-/=?^_`{|}~.]+@[-a-z0-9]+(\\.[-a-z0-9]+)*\\.[a-z]+)(?=$|\\s)/gmi,\n delimMailRegex = /<()(?:mailto:)?([-.\\w]+@[-a-z0-9]+(\\.[-a-z0-9]+)*\\.[a-z]+)>/gi,\n\n replaceLink = function (options) {\n 'use strict';\n return function (wm, leadingMagicChars, link, m2, m3, trailingPunctuation, trailingMagicChars) {\n link = link.replace(showdown.helper.regexes.asteriskDashAndColon, showdown.helper.escapeCharactersCallback);\n var lnkTxt = link,\n append = '',\n target = '',\n lmc = leadingMagicChars || '',\n tmc = trailingMagicChars || '';\n if (/^www\\./i.test(link)) {\n link = link.replace(/^www\\./i, 'http://www.');\n }\n if (options.excludeTrailingPunctuationFromURLs && trailingPunctuation) {\n append = trailingPunctuation;\n }\n if (options.openLinksInNewWindow) {\n target = ' rel=\"noopener noreferrer\" target=\"¨E95Eblank\"';\n }\n return lmc + '' + lnkTxt + '' + append + tmc;\n };\n },\n\n replaceMail = function (options, globals) {\n 'use strict';\n return function (wholeMatch, b, mail) {\n var href = 'mailto:';\n b = b || '';\n mail = showdown.subParser('unescapeSpecialChars')(mail, options, globals);\n if (options.encodeEmails) {\n href = showdown.helper.encodeEmailAddress(href + mail);\n mail = showdown.helper.encodeEmailAddress(mail);\n } else {\n href = href + mail;\n }\n return b + '' + mail + '';\n };\n };\n\nshowdown.subParser('autoLinks', function (text, options, globals) {\n 'use strict';\n\n text = globals.converter._dispatch('autoLinks.before', text, options, globals);\n\n text = text.replace(delimUrlRegex, replaceLink(options));\n text = text.replace(delimMailRegex, replaceMail(options, globals));\n\n text = globals.converter._dispatch('autoLinks.after', text, options, globals);\n\n return text;\n});\n\nshowdown.subParser('simplifiedAutoLinks', function (text, options, globals) {\n 'use strict';\n\n if (!options.simplifiedAutoLink) {\n return text;\n }\n\n text = globals.converter._dispatch('simplifiedAutoLinks.before', text, options, globals);\n\n if (options.excludeTrailingPunctuationFromURLs) {\n text = text.replace(simpleURLRegex2, replaceLink(options));\n } else {\n text = text.replace(simpleURLRegex, replaceLink(options));\n }\n text = text.replace(simpleMailRegex, replaceMail(options, globals));\n\n text = globals.converter._dispatch('simplifiedAutoLinks.after', text, options, globals);\n\n return text;\n});\n\r\n/**\n * These are all the transformations that form block-level\n * tags like paragraphs, headers, and list items.\n */\nshowdown.subParser('blockGamut', function (text, options, globals) {\n 'use strict';\n\n text = globals.converter._dispatch('blockGamut.before', text, options, globals);\n\n // we parse blockquotes first so that we can have headings and hrs\n // inside blockquotes\n text = showdown.subParser('blockQuotes')(text, options, globals);\n text = showdown.subParser('headers')(text, options, globals);\n\n // Do Horizontal Rules:\n text = showdown.subParser('horizontalRule')(text, options, globals);\n\n text = showdown.subParser('lists')(text, options, globals);\n text = showdown.subParser('codeBlocks')(text, options, globals);\n text = showdown.subParser('tables')(text, options, globals);\n\n // We already ran _HashHTMLBlocks() before, in Markdown(), but that\n // was to escape raw HTML in the original Markdown source. This time,\n // we're escaping the markup we've just created, so that we don't wrap\n //

    tags around block-level tags.\n text = showdown.subParser('hashHTMLBlocks')(text, options, globals);\n text = showdown.subParser('paragraphs')(text, options, globals);\n\n text = globals.converter._dispatch('blockGamut.after', text, options, globals);\n\n return text;\n});\n\r\nshowdown.subParser('blockQuotes', function (text, options, globals) {\n 'use strict';\n\n text = globals.converter._dispatch('blockQuotes.before', text, options, globals);\n\n // add a couple extra lines after the text and endtext mark\n text = text + '\\n\\n';\n\n var rgx = /(^ {0,3}>[ \\t]?.+\\n(.+\\n)*\\n*)+/gm;\n\n if (options.splitAdjacentBlockquotes) {\n rgx = /^ {0,3}>[\\s\\S]*?(?:\\n\\n)/gm;\n }\n\n text = text.replace(rgx, function (bq) {\n // attacklab: hack around Konqueror 3.5.4 bug:\n // \"----------bug\".replace(/^-/g,\"\") == \"bug\"\n bq = bq.replace(/^[ \\t]*>[ \\t]?/gm, ''); // trim one level of quoting\n\n // attacklab: clean up hack\n bq = bq.replace(/¨0/g, '');\n\n bq = bq.replace(/^[ \\t]+$/gm, ''); // trim whitespace-only lines\n bq = showdown.subParser('githubCodeBlocks')(bq, options, globals);\n bq = showdown.subParser('blockGamut')(bq, options, globals); // recurse\n\n bq = bq.replace(/(^|\\n)/g, '$1 ');\n // These leading spaces screw with

     content, so we need to fix that:\n    bq = bq.replace(/(\\s*
    [^\\r]+?<\\/pre>)/gm, function (wholeMatch, m1) {\n      var pre = m1;\n      // attacklab: hack around Konqueror 3.5.4 bug:\n      pre = pre.replace(/^  /mg, '¨0');\n      pre = pre.replace(/¨0/g, '');\n      return pre;\n    });\n\n    return showdown.subParser('hashBlock')('
    \\n' + bq + '\\n
    ', options, globals);\n });\n\n text = globals.converter._dispatch('blockQuotes.after', text, options, globals);\n return text;\n});\n\r\n/**\n * Process Markdown `
    ` blocks.\n */\nshowdown.subParser('codeBlocks', function (text, options, globals) {\n  'use strict';\n\n  text = globals.converter._dispatch('codeBlocks.before', text, options, globals);\n\n  // sentinel workarounds for lack of \\A and \\Z, safari\\khtml bug\n  text += '¨0';\n\n  var pattern = /(?:\\n\\n|^)((?:(?:[ ]{4}|\\t).*\\n+)+)(\\n*[ ]{0,3}[^ \\t\\n]|(?=¨0))/g;\n  text = text.replace(pattern, function (wholeMatch, m1, m2) {\n    var codeblock = m1,\n        nextChar = m2,\n        end = '\\n';\n\n    codeblock = showdown.subParser('outdent')(codeblock, options, globals);\n    codeblock = showdown.subParser('encodeCode')(codeblock, options, globals);\n    codeblock = showdown.subParser('detab')(codeblock, options, globals);\n    codeblock = codeblock.replace(/^\\n+/g, ''); // trim leading newlines\n    codeblock = codeblock.replace(/\\n+$/g, ''); // trim trailing newlines\n\n    if (options.omitExtraWLInCodeBlocks) {\n      end = '';\n    }\n\n    codeblock = '
    ' + codeblock + end + '
    ';\n\n return showdown.subParser('hashBlock')(codeblock, options, globals) + nextChar;\n });\n\n // strip sentinel\n text = text.replace(/¨0/, '');\n\n text = globals.converter._dispatch('codeBlocks.after', text, options, globals);\n return text;\n});\n\r\n/**\n *\n * * Backtick quotes are used for spans.\n *\n * * You can use multiple backticks as the delimiters if you want to\n * include literal backticks in the code span. So, this input:\n *\n * Just type ``foo `bar` baz`` at the prompt.\n *\n * Will translate to:\n *\n *

    Just type foo `bar` baz at the prompt.

    \n *\n * There's no arbitrary limit to the number of backticks you\n * can use as delimters. If you need three consecutive backticks\n * in your code, use four for delimiters, etc.\n *\n * * You can use spaces to get literal backticks at the edges:\n *\n * ... type `` `bar` `` ...\n *\n * Turns to:\n *\n * ... type `bar` ...\n */\nshowdown.subParser('codeSpans', function (text, options, globals) {\n 'use strict';\n\n text = globals.converter._dispatch('codeSpans.before', text, options, globals);\n\n if (typeof text === 'undefined') {\n text = '';\n }\n text = text.replace(/(^|[^\\\\])(`+)([^\\r]*?[^`])\\2(?!`)/gm,\n function (wholeMatch, m1, m2, m3) {\n var c = m3;\n c = c.replace(/^([ \\t]*)/g, '');\t// leading whitespace\n c = c.replace(/[ \\t]*$/g, '');\t// trailing whitespace\n c = showdown.subParser('encodeCode')(c, options, globals);\n c = m1 + '' + c + '';\n c = showdown.subParser('hashHTMLSpans')(c, options, globals);\n return c;\n }\n );\n\n text = globals.converter._dispatch('codeSpans.after', text, options, globals);\n return text;\n});\n\r\n/**\n * Create a full HTML document from the processed markdown\n */\nshowdown.subParser('completeHTMLDocument', function (text, options, globals) {\n 'use strict';\n\n if (!options.completeHTMLDocument) {\n return text;\n }\n\n text = globals.converter._dispatch('completeHTMLDocument.before', text, options, globals);\n\n var doctype = 'html',\n doctypeParsed = '\\n',\n title = '',\n charset = '\\n',\n lang = '',\n metadata = '';\n\n if (typeof globals.metadata.parsed.doctype !== 'undefined') {\n doctypeParsed = '\\n';\n doctype = globals.metadata.parsed.doctype.toString().toLowerCase();\n if (doctype === 'html' || doctype === 'html5') {\n charset = '';\n }\n }\n\n for (var meta in globals.metadata.parsed) {\n if (globals.metadata.parsed.hasOwnProperty(meta)) {\n switch (meta.toLowerCase()) {\n case 'doctype':\n break;\n\n case 'title':\n title = '' + globals.metadata.parsed.title + '\\n';\n break;\n\n case 'charset':\n if (doctype === 'html' || doctype === 'html5') {\n charset = '\\n';\n } else {\n charset = '\\n';\n }\n break;\n\n case 'language':\n case 'lang':\n lang = ' lang=\"' + globals.metadata.parsed[meta] + '\"';\n metadata += '\\n';\n break;\n\n default:\n metadata += '\\n';\n }\n }\n }\n\n text = doctypeParsed + '\\n\\n' + title + charset + metadata + '\\n\\n' + text.trim() + '\\n\\n';\n\n text = globals.converter._dispatch('completeHTMLDocument.after', text, options, globals);\n return text;\n});\n\r\n/**\n * Convert all tabs to spaces\n */\nshowdown.subParser('detab', function (text, options, globals) {\n 'use strict';\n text = globals.converter._dispatch('detab.before', text, options, globals);\n\n // expand first n-1 tabs\n text = text.replace(/\\t(?=\\t)/g, ' '); // g_tab_width\n\n // replace the nth with two sentinels\n text = text.replace(/\\t/g, '¨A¨B');\n\n // use the sentinel to anchor our regex so it doesn't explode\n text = text.replace(/¨B(.+?)¨A/g, function (wholeMatch, m1) {\n var leadingText = m1,\n numSpaces = 4 - leadingText.length % 4; // g_tab_width\n\n // there *must* be a better way to do this:\n for (var i = 0; i < numSpaces; i++) {\n leadingText += ' ';\n }\n\n return leadingText;\n });\n\n // clean up sentinels\n text = text.replace(/¨A/g, ' '); // g_tab_width\n text = text.replace(/¨B/g, '');\n\n text = globals.converter._dispatch('detab.after', text, options, globals);\n return text;\n});\n\r\nshowdown.subParser('ellipsis', function (text, options, globals) {\n 'use strict';\n\n text = globals.converter._dispatch('ellipsis.before', text, options, globals);\n\n text = text.replace(/\\.\\.\\./g, '…');\n\n text = globals.converter._dispatch('ellipsis.after', text, options, globals);\n\n return text;\n});\n\r\n/**\n * Turn emoji codes into emojis\n *\n * List of supported emojis: https://github.com/showdownjs/showdown/wiki/Emojis\n */\nshowdown.subParser('emoji', function (text, options, globals) {\n 'use strict';\n\n if (!options.emoji) {\n return text;\n }\n\n text = globals.converter._dispatch('emoji.before', text, options, globals);\n\n var emojiRgx = /:([\\S]+?):/g;\n\n text = text.replace(emojiRgx, function (wm, emojiCode) {\n if (showdown.helper.emojis.hasOwnProperty(emojiCode)) {\n return showdown.helper.emojis[emojiCode];\n }\n return wm;\n });\n\n text = globals.converter._dispatch('emoji.after', text, options, globals);\n\n return text;\n});\n\r\n/**\n * Smart processing for ampersands and angle brackets that need to be encoded.\n */\nshowdown.subParser('encodeAmpsAndAngles', function (text, options, globals) {\n 'use strict';\n text = globals.converter._dispatch('encodeAmpsAndAngles.before', text, options, globals);\n\n // Ampersand-encoding based entirely on Nat Irons's Amputator MT plugin:\n // http://bumppo.net/projects/amputator/\n text = text.replace(/&(?!#?[xX]?(?:[0-9a-fA-F]+|\\w+);)/g, '&');\n\n // Encode naked <'s\n text = text.replace(/<(?![a-z\\/?$!])/gi, '<');\n\n // Encode <\n text = text.replace(/\n text = text.replace(/>/g, '>');\n\n text = globals.converter._dispatch('encodeAmpsAndAngles.after', text, options, globals);\n return text;\n});\n\r\n/**\n * Returns the string, with after processing the following backslash escape sequences.\n *\n * attacklab: The polite way to do this is with the new escapeCharacters() function:\n *\n * text = escapeCharacters(text,\"\\\\\",true);\n * text = escapeCharacters(text,\"`*_{}[]()>#+-.!\",true);\n *\n * ...but we're sidestepping its use of the (slow) RegExp constructor\n * as an optimization for Firefox. This function gets called a LOT.\n */\nshowdown.subParser('encodeBackslashEscapes', function (text, options, globals) {\n 'use strict';\n text = globals.converter._dispatch('encodeBackslashEscapes.before', text, options, globals);\n\n text = text.replace(/\\\\(\\\\)/g, showdown.helper.escapeCharactersCallback);\n text = text.replace(/\\\\([`*_{}\\[\\]()>#+.!~=|-])/g, showdown.helper.escapeCharactersCallback);\n\n text = globals.converter._dispatch('encodeBackslashEscapes.after', text, options, globals);\n return text;\n});\n\r\n/**\n * Encode/escape certain characters inside Markdown code runs.\n * The point is that in code, these characters are literals,\n * and lose their special Markdown meanings.\n */\nshowdown.subParser('encodeCode', function (text, options, globals) {\n 'use strict';\n\n text = globals.converter._dispatch('encodeCode.before', text, options, globals);\n\n // Encode all ampersands; HTML entities are not\n // entities within a Markdown code span.\n text = text\n .replace(/&/g, '&')\n // Do the angle bracket song and dance:\n .replace(//g, '>')\n // Now, escape characters that are magic in Markdown:\n .replace(/([*_{}\\[\\]\\\\=~-])/g, showdown.helper.escapeCharactersCallback);\n\n text = globals.converter._dispatch('encodeCode.after', text, options, globals);\n return text;\n});\n\r\n/**\n * Within tags -- meaning between < and > -- encode [\\ ` * _ ~ =] so they\n * don't conflict with their use in Markdown for code, italics and strong.\n */\nshowdown.subParser('escapeSpecialCharsWithinTagAttributes', function (text, options, globals) {\n 'use strict';\n text = globals.converter._dispatch('escapeSpecialCharsWithinTagAttributes.before', text, options, globals);\n\n // Build a regex to find HTML tags.\n var tags = /<\\/?[a-z\\d_:-]+(?:[\\s]+[\\s\\S]+?)?>/gi,\n comments = /-]|-[^>])(?:[^-]|-[^-])*)--)>/gi;\n\n text = text.replace(tags, function (wholeMatch) {\n return wholeMatch\n .replace(/(.)<\\/?code>(?=.)/g, '$1`')\n .replace(/([\\\\`*_~=|])/g, showdown.helper.escapeCharactersCallback);\n });\n\n text = text.replace(comments, function (wholeMatch) {\n return wholeMatch\n .replace(/([\\\\`*_~=|])/g, showdown.helper.escapeCharactersCallback);\n });\n\n text = globals.converter._dispatch('escapeSpecialCharsWithinTagAttributes.after', text, options, globals);\n return text;\n});\n\r\n/**\n * Handle github codeblocks prior to running HashHTML so that\n * HTML contained within the codeblock gets escaped properly\n * Example:\n * ```ruby\n * def hello_world(x)\n * puts \"Hello, #{x}\"\n * end\n * ```\n */\nshowdown.subParser('githubCodeBlocks', function (text, options, globals) {\n 'use strict';\n\n // early exit if option is not enabled\n if (!options.ghCodeBlocks) {\n return text;\n }\n\n text = globals.converter._dispatch('githubCodeBlocks.before', text, options, globals);\n\n text += '¨0';\n\n text = text.replace(/(?:^|\\n)(?: {0,3})(```+|~~~+)(?: *)([^\\s`~]*)\\n([\\s\\S]*?)\\n(?: {0,3})\\1/g, function (wholeMatch, delim, language, codeblock) {\n var end = (options.omitExtraWLInCodeBlocks) ? '' : '\\n';\n\n // First parse the github code block\n codeblock = showdown.subParser('encodeCode')(codeblock, options, globals);\n codeblock = showdown.subParser('detab')(codeblock, options, globals);\n codeblock = codeblock.replace(/^\\n+/g, ''); // trim leading newlines\n codeblock = codeblock.replace(/\\n+$/g, ''); // trim trailing whitespace\n\n codeblock = '
    ' + codeblock + end + '
    ';\n\n codeblock = showdown.subParser('hashBlock')(codeblock, options, globals);\n\n // Since GHCodeblocks can be false positives, we need to\n // store the primitive text and the parsed text in a global var,\n // and then return a token\n return '\\n\\n¨G' + (globals.ghCodeBlocks.push({text: wholeMatch, codeblock: codeblock}) - 1) + 'G\\n\\n';\n });\n\n // attacklab: strip sentinel\n text = text.replace(/¨0/, '');\n\n return globals.converter._dispatch('githubCodeBlocks.after', text, options, globals);\n});\n\r\nshowdown.subParser('hashBlock', function (text, options, globals) {\n 'use strict';\n text = globals.converter._dispatch('hashBlock.before', text, options, globals);\n text = text.replace(/(^\\n+|\\n+$)/g, '');\n text = '\\n\\n¨K' + (globals.gHtmlBlocks.push(text) - 1) + 'K\\n\\n';\n text = globals.converter._dispatch('hashBlock.after', text, options, globals);\n return text;\n});\n\r\n/**\n * Hash and escape elements that should not be parsed as markdown\n */\nshowdown.subParser('hashCodeTags', function (text, options, globals) {\n 'use strict';\n text = globals.converter._dispatch('hashCodeTags.before', text, options, globals);\n\n var repFunc = function (wholeMatch, match, left, right) {\n var codeblock = left + showdown.subParser('encodeCode')(match, options, globals) + right;\n return '¨C' + (globals.gHtmlSpans.push(codeblock) - 1) + 'C';\n };\n\n // Hash naked \n text = showdown.helper.replaceRecursiveRegExp(text, repFunc, ']*>', '', 'gim');\n\n text = globals.converter._dispatch('hashCodeTags.after', text, options, globals);\n return text;\n});\n\r\nshowdown.subParser('hashElement', function (text, options, globals) {\n 'use strict';\n\n return function (wholeMatch, m1) {\n var blockText = m1;\n\n // Undo double lines\n blockText = blockText.replace(/\\n\\n/g, '\\n');\n blockText = blockText.replace(/^\\n/, '');\n\n // strip trailing blank lines\n blockText = blockText.replace(/\\n+$/g, '');\n\n // Replace the element text with a marker (\"¨KxK\" where x is its key)\n blockText = '\\n\\n¨K' + (globals.gHtmlBlocks.push(blockText) - 1) + 'K\\n\\n';\n\n return blockText;\n };\n});\n\r\nshowdown.subParser('hashHTMLBlocks', function (text, options, globals) {\n 'use strict';\n text = globals.converter._dispatch('hashHTMLBlocks.before', text, options, globals);\n\n var blockTags = [\n 'pre',\n 'div',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'blockquote',\n 'table',\n 'dl',\n 'ol',\n 'ul',\n 'script',\n 'noscript',\n 'form',\n 'fieldset',\n 'iframe',\n 'math',\n 'style',\n 'section',\n 'header',\n 'footer',\n 'nav',\n 'article',\n 'aside',\n 'address',\n 'audio',\n 'canvas',\n 'figure',\n 'hgroup',\n 'output',\n 'video',\n 'p'\n ],\n repFunc = function (wholeMatch, match, left, right) {\n var txt = wholeMatch;\n // check if this html element is marked as markdown\n // if so, it's contents should be parsed as markdown\n if (left.search(/\\bmarkdown\\b/) !== -1) {\n txt = left + globals.converter.makeHtml(match) + right;\n }\n return '\\n\\n¨K' + (globals.gHtmlBlocks.push(txt) - 1) + 'K\\n\\n';\n };\n\n if (options.backslashEscapesHTMLTags) {\n // encode backslash escaped HTML tags\n text = text.replace(/\\\\<(\\/?[^>]+?)>/g, function (wm, inside) {\n return '<' + inside + '>';\n });\n }\n\n // hash HTML Blocks\n for (var i = 0; i < blockTags.length; ++i) {\n\n var opTagPos,\n rgx1 = new RegExp('^ {0,3}(<' + blockTags[i] + '\\\\b[^>]*>)', 'im'),\n patLeft = '<' + blockTags[i] + '\\\\b[^>]*>',\n patRight = '';\n // 1. Look for the first position of the first opening HTML tag in the text\n while ((opTagPos = showdown.helper.regexIndexOf(text, rgx1)) !== -1) {\n\n // if the HTML tag is \\ escaped, we need to escape it and break\n\n\n //2. Split the text in that position\n var subTexts = showdown.helper.splitAtIndex(text, opTagPos),\n //3. Match recursively\n newSubText1 = showdown.helper.replaceRecursiveRegExp(subTexts[1], repFunc, patLeft, patRight, 'im');\n\n // prevent an infinite loop\n if (newSubText1 === subTexts[1]) {\n break;\n }\n text = subTexts[0].concat(newSubText1);\n }\n }\n // HR SPECIAL CASE\n text = text.replace(/(\\n {0,3}(<(hr)\\b([^<>])*?\\/?>)[ \\t]*(?=\\n{2,}))/g,\n showdown.subParser('hashElement')(text, options, globals));\n\n // Special case for standalone HTML comments\n text = showdown.helper.replaceRecursiveRegExp(text, function (txt) {\n return '\\n\\n¨K' + (globals.gHtmlBlocks.push(txt) - 1) + 'K\\n\\n';\n }, '^ {0,3}', 'gm');\n\n // PHP and ASP-style processor instructions ( and <%...%>)\n text = text.replace(/(?:\\n\\n)( {0,3}(?:<([?%])[^\\r]*?\\2>)[ \\t]*(?=\\n{2,}))/g,\n showdown.subParser('hashElement')(text, options, globals));\n\n text = globals.converter._dispatch('hashHTMLBlocks.after', text, options, globals);\n return text;\n});\n\r\n/**\n * Hash span elements that should not be parsed as markdown\n */\nshowdown.subParser('hashHTMLSpans', function (text, options, globals) {\n 'use strict';\n text = globals.converter._dispatch('hashHTMLSpans.before', text, options, globals);\n\n function hashHTMLSpan (html) {\n return '¨C' + (globals.gHtmlSpans.push(html) - 1) + 'C';\n }\n\n // Hash Self Closing tags\n text = text.replace(/<[^>]+?\\/>/gi, function (wm) {\n return hashHTMLSpan(wm);\n });\n\n // Hash tags without properties\n text = text.replace(/<([^>]+?)>[\\s\\S]*?<\\/\\1>/g, function (wm) {\n return hashHTMLSpan(wm);\n });\n\n // Hash tags with properties\n text = text.replace(/<([^>]+?)\\s[^>]+?>[\\s\\S]*?<\\/\\1>/g, function (wm) {\n return hashHTMLSpan(wm);\n });\n\n // Hash self closing tags without />\n text = text.replace(/<[^>]+?>/gi, function (wm) {\n return hashHTMLSpan(wm);\n });\n\n /*showdown.helper.matchRecursiveRegExp(text, ']*>', '', 'gi');*/\n\n text = globals.converter._dispatch('hashHTMLSpans.after', text, options, globals);\n return text;\n});\n\n/**\n * Unhash HTML spans\n */\nshowdown.subParser('unhashHTMLSpans', function (text, options, globals) {\n 'use strict';\n text = globals.converter._dispatch('unhashHTMLSpans.before', text, options, globals);\n\n for (var i = 0; i < globals.gHtmlSpans.length; ++i) {\n var repText = globals.gHtmlSpans[i],\n // limiter to prevent infinite loop (assume 10 as limit for recurse)\n limit = 0;\n\n while (/¨C(\\d+)C/.test(repText)) {\n var num = RegExp.$1;\n repText = repText.replace('¨C' + num + 'C', globals.gHtmlSpans[num]);\n if (limit === 10) {\n console.error('maximum nesting of 10 spans reached!!!');\n break;\n }\n ++limit;\n }\n text = text.replace('¨C' + i + 'C', repText);\n }\n\n text = globals.converter._dispatch('unhashHTMLSpans.after', text, options, globals);\n return text;\n});\n\r\n/**\n * Hash and escape
     elements that should not be parsed as markdown\n */\nshowdown.subParser('hashPreCodeTags', function (text, options, globals) {\n  'use strict';\n  text = globals.converter._dispatch('hashPreCodeTags.before', text, options, globals);\n\n  var repFunc = function (wholeMatch, match, left, right) {\n    // encode html entities\n    var codeblock = left + showdown.subParser('encodeCode')(match, options, globals) + right;\n    return '\\n\\n¨G' + (globals.ghCodeBlocks.push({text: wholeMatch, codeblock: codeblock}) - 1) + 'G\\n\\n';\n  };\n\n  // Hash 
    \n  text = showdown.helper.replaceRecursiveRegExp(text, repFunc, '^ {0,3}]*>\\\\s*]*>', '^ {0,3}\\\\s*
    ', 'gim');\n\n text = globals.converter._dispatch('hashPreCodeTags.after', text, options, globals);\n return text;\n});\n\r\nshowdown.subParser('headers', function (text, options, globals) {\n 'use strict';\n\n text = globals.converter._dispatch('headers.before', text, options, globals);\n\n var headerLevelStart = (isNaN(parseInt(options.headerLevelStart))) ? 1 : parseInt(options.headerLevelStart),\n\n // Set text-style headers:\n //\tHeader 1\n //\t========\n //\n //\tHeader 2\n //\t--------\n //\n setextRegexH1 = (options.smoothLivePreview) ? /^(.+)[ \\t]*\\n={2,}[ \\t]*\\n+/gm : /^(.+)[ \\t]*\\n=+[ \\t]*\\n+/gm,\n setextRegexH2 = (options.smoothLivePreview) ? /^(.+)[ \\t]*\\n-{2,}[ \\t]*\\n+/gm : /^(.+)[ \\t]*\\n-+[ \\t]*\\n+/gm;\n\n text = text.replace(setextRegexH1, function (wholeMatch, m1) {\n\n var spanGamut = showdown.subParser('spanGamut')(m1, options, globals),\n hID = (options.noHeaderId) ? '' : ' id=\"' + headerId(m1) + '\"',\n hLevel = headerLevelStart,\n hashBlock = '' + spanGamut + '';\n return showdown.subParser('hashBlock')(hashBlock, options, globals);\n });\n\n text = text.replace(setextRegexH2, function (matchFound, m1) {\n var spanGamut = showdown.subParser('spanGamut')(m1, options, globals),\n hID = (options.noHeaderId) ? '' : ' id=\"' + headerId(m1) + '\"',\n hLevel = headerLevelStart + 1,\n hashBlock = '' + spanGamut + '';\n return showdown.subParser('hashBlock')(hashBlock, options, globals);\n });\n\n // atx-style headers:\n // # Header 1\n // ## Header 2\n // ## Header 2 with closing hashes ##\n // ...\n // ###### Header 6\n //\n var atxStyle = (options.requireSpaceBeforeHeadingText) ? /^(#{1,6})[ \\t]+(.+?)[ \\t]*#*\\n+/gm : /^(#{1,6})[ \\t]*(.+?)[ \\t]*#*\\n+/gm;\n\n text = text.replace(atxStyle, function (wholeMatch, m1, m2) {\n var hText = m2;\n if (options.customizedHeaderId) {\n hText = m2.replace(/\\s?\\{([^{]+?)}\\s*$/, '');\n }\n\n var span = showdown.subParser('spanGamut')(hText, options, globals),\n hID = (options.noHeaderId) ? '' : ' id=\"' + headerId(m2) + '\"',\n hLevel = headerLevelStart - 1 + m1.length,\n header = '' + span + '';\n\n return showdown.subParser('hashBlock')(header, options, globals);\n });\n\n function headerId (m) {\n var title,\n prefix;\n\n // It is separate from other options to allow combining prefix and customized\n if (options.customizedHeaderId) {\n var match = m.match(/\\{([^{]+?)}\\s*$/);\n if (match && match[1]) {\n m = match[1];\n }\n }\n\n title = m;\n\n // Prefix id to prevent causing inadvertent pre-existing style matches.\n if (showdown.helper.isString(options.prefixHeaderId)) {\n prefix = options.prefixHeaderId;\n } else if (options.prefixHeaderId === true) {\n prefix = 'section-';\n } else {\n prefix = '';\n }\n\n if (!options.rawPrefixHeaderId) {\n title = prefix + title;\n }\n\n if (options.ghCompatibleHeaderId) {\n title = title\n .replace(/ /g, '-')\n // replace previously escaped chars (&, ¨ and $)\n .replace(/&/g, '')\n .replace(/¨T/g, '')\n .replace(/¨D/g, '')\n // replace rest of the chars (&~$ are repeated as they might have been escaped)\n // borrowed from github's redcarpet (some they should produce similar results)\n .replace(/[&+$,\\/:;=?@\"#{}|^¨~\\[\\]`\\\\*)(%.!'<>]/g, '')\n .toLowerCase();\n } else if (options.rawHeaderId) {\n title = title\n .replace(/ /g, '-')\n // replace previously escaped chars (&, ¨ and $)\n .replace(/&/g, '&')\n .replace(/¨T/g, '¨')\n .replace(/¨D/g, '$')\n // replace \" and '\n .replace(/[\"']/g, '-')\n .toLowerCase();\n } else {\n title = title\n .replace(/[^\\w]/g, '')\n .toLowerCase();\n }\n\n if (options.rawPrefixHeaderId) {\n title = prefix + title;\n }\n\n if (globals.hashLinkCounts[title]) {\n title = title + '-' + (globals.hashLinkCounts[title]++);\n } else {\n globals.hashLinkCounts[title] = 1;\n }\n return title;\n }\n\n text = globals.converter._dispatch('headers.after', text, options, globals);\n return text;\n});\n\r\n/**\n * Turn Markdown link shortcuts into XHTML tags.\n */\nshowdown.subParser('horizontalRule', function (text, options, globals) {\n 'use strict';\n text = globals.converter._dispatch('horizontalRule.before', text, options, globals);\n\n var key = showdown.subParser('hashBlock')('
    ', options, globals);\n text = text.replace(/^ {0,2}( ?-){3,}[ \\t]*$/gm, key);\n text = text.replace(/^ {0,2}( ?\\*){3,}[ \\t]*$/gm, key);\n text = text.replace(/^ {0,2}( ?_){3,}[ \\t]*$/gm, key);\n\n text = globals.converter._dispatch('horizontalRule.after', text, options, globals);\n return text;\n});\n\r\n/**\n * Turn Markdown image shortcuts into tags.\n */\nshowdown.subParser('images', function (text, options, globals) {\n 'use strict';\n\n text = globals.converter._dispatch('images.before', text, options, globals);\n\n var inlineRegExp = /!\\[([^\\]]*?)][ \\t]*()\\([ \\t]??(?: =([*\\d]+[A-Za-z%]{0,4})x([*\\d]+[A-Za-z%]{0,4}))?[ \\t]*(?:([\"'])([^\"]*?)\\6)?[ \\t]?\\)/g,\n crazyRegExp = /!\\[([^\\]]*?)][ \\t]*()\\([ \\t]?<([^>]*)>(?: =([*\\d]+[A-Za-z%]{0,4})x([*\\d]+[A-Za-z%]{0,4}))?[ \\t]*(?:(?:([\"'])([^\"]*?)\\6))?[ \\t]?\\)/g,\n base64RegExp = /!\\[([^\\]]*?)][ \\t]*()\\([ \\t]??(?: =([*\\d]+[A-Za-z%]{0,4})x([*\\d]+[A-Za-z%]{0,4}))?[ \\t]*(?:([\"'])([^\"]*?)\\6)?[ \\t]?\\)/g,\n referenceRegExp = /!\\[([^\\]]*?)] ?(?:\\n *)?\\[([\\s\\S]*?)]()()()()()/g,\n refShortcutRegExp = /!\\[([^\\[\\]]+)]()()()()()/g;\n\n function writeImageTagBase64 (wholeMatch, altText, linkId, url, width, height, m5, title) {\n url = url.replace(/\\s/g, '');\n return writeImageTag (wholeMatch, altText, linkId, url, width, height, m5, title);\n }\n\n function writeImageTag (wholeMatch, altText, linkId, url, width, height, m5, title) {\n\n var gUrls = globals.gUrls,\n gTitles = globals.gTitles,\n gDims = globals.gDimensions;\n\n linkId = linkId.toLowerCase();\n\n if (!title) {\n title = '';\n }\n // Special case for explicit empty url\n if (wholeMatch.search(/\\(? ?(['\"].*['\"])?\\)$/m) > -1) {\n url = '';\n\n } else if (url === '' || url === null) {\n if (linkId === '' || linkId === null) {\n // lower-case and turn embedded newlines into spaces\n linkId = altText.toLowerCase().replace(/ ?\\n/g, ' ');\n }\n url = '#' + linkId;\n\n if (!showdown.helper.isUndefined(gUrls[linkId])) {\n url = gUrls[linkId];\n if (!showdown.helper.isUndefined(gTitles[linkId])) {\n title = gTitles[linkId];\n }\n if (!showdown.helper.isUndefined(gDims[linkId])) {\n width = gDims[linkId].width;\n height = gDims[linkId].height;\n }\n } else {\n return wholeMatch;\n }\n }\n\n altText = altText\n .replace(/\"/g, '"')\n //altText = showdown.helper.escapeCharacters(altText, '*_', false);\n .replace(showdown.helper.regexes.asteriskDashAndColon, showdown.helper.escapeCharactersCallback);\n //url = showdown.helper.escapeCharacters(url, '*_', false);\n url = url.replace(showdown.helper.regexes.asteriskDashAndColon, showdown.helper.escapeCharactersCallback);\n var result = '\"'x \"optional title\")\n\n // base64 encoded images\n text = text.replace(base64RegExp, writeImageTagBase64);\n\n // cases with crazy urls like ./image/cat1).png\n text = text.replace(crazyRegExp, writeImageTag);\n\n // normal cases\n text = text.replace(inlineRegExp, writeImageTag);\n\n // handle reference-style shortcuts: ![img text]\n text = text.replace(refShortcutRegExp, writeImageTag);\n\n text = globals.converter._dispatch('images.after', text, options, globals);\n return text;\n});\n\r\nshowdown.subParser('italicsAndBold', function (text, options, globals) {\n 'use strict';\n\n text = globals.converter._dispatch('italicsAndBold.before', text, options, globals);\n\n // it's faster to have 3 separate regexes for each case than have just one\n // because of backtracing, in some cases, it could lead to an exponential effect\n // called \"catastrophic backtrace\". Ominous!\n\n function parseInside (txt, left, right) {\n /*\n if (options.simplifiedAutoLink) {\n txt = showdown.subParser('simplifiedAutoLinks')(txt, options, globals);\n }\n */\n return left + txt + right;\n }\n\n // Parse underscores\n if (options.literalMidWordUnderscores) {\n text = text.replace(/\\b___(\\S[\\s\\S]*?)___\\b/g, function (wm, txt) {\n return parseInside (txt, '', '');\n });\n text = text.replace(/\\b__(\\S[\\s\\S]*?)__\\b/g, function (wm, txt) {\n return parseInside (txt, '', '');\n });\n text = text.replace(/\\b_(\\S[\\s\\S]*?)_\\b/g, function (wm, txt) {\n return parseInside (txt, '', '');\n });\n } else {\n text = text.replace(/___(\\S[\\s\\S]*?)___/g, function (wm, m) {\n return (/\\S$/.test(m)) ? parseInside (m, '', '') : wm;\n });\n text = text.replace(/__(\\S[\\s\\S]*?)__/g, function (wm, m) {\n return (/\\S$/.test(m)) ? parseInside (m, '', '') : wm;\n });\n text = text.replace(/_([^\\s_][\\s\\S]*?)_/g, function (wm, m) {\n // !/^_[^_]/.test(m) - test if it doesn't start with __ (since it seems redundant, we removed it)\n return (/\\S$/.test(m)) ? parseInside (m, '', '') : wm;\n });\n }\n\n // Now parse asterisks\n if (options.literalMidWordAsterisks) {\n text = text.replace(/([^*]|^)\\B\\*\\*\\*(\\S[\\s\\S]*?)\\*\\*\\*\\B(?!\\*)/g, function (wm, lead, txt) {\n return parseInside (txt, lead + '', '');\n });\n text = text.replace(/([^*]|^)\\B\\*\\*(\\S[\\s\\S]*?)\\*\\*\\B(?!\\*)/g, function (wm, lead, txt) {\n return parseInside (txt, lead + '', '');\n });\n text = text.replace(/([^*]|^)\\B\\*(\\S[\\s\\S]*?)\\*\\B(?!\\*)/g, function (wm, lead, txt) {\n return parseInside (txt, lead + '', '');\n });\n } else {\n text = text.replace(/\\*\\*\\*(\\S[\\s\\S]*?)\\*\\*\\*/g, function (wm, m) {\n return (/\\S$/.test(m)) ? parseInside (m, '', '') : wm;\n });\n text = text.replace(/\\*\\*(\\S[\\s\\S]*?)\\*\\*/g, function (wm, m) {\n return (/\\S$/.test(m)) ? parseInside (m, '', '') : wm;\n });\n text = text.replace(/\\*([^\\s*][\\s\\S]*?)\\*/g, function (wm, m) {\n // !/^\\*[^*]/.test(m) - test if it doesn't start with ** (since it seems redundant, we removed it)\n return (/\\S$/.test(m)) ? parseInside (m, '', '') : wm;\n });\n }\n\n\n text = globals.converter._dispatch('italicsAndBold.after', text, options, globals);\n return text;\n});\n\r\n/**\n * Form HTML ordered (numbered) and unordered (bulleted) lists.\n */\nshowdown.subParser('lists', function (text, options, globals) {\n 'use strict';\n\n /**\n * Process the contents of a single ordered or unordered list, splitting it\n * into individual list items.\n * @param {string} listStr\n * @param {boolean} trimTrailing\n * @returns {string}\n */\n function processListItems (listStr, trimTrailing) {\n // The $g_list_level global keeps track of when we're inside a list.\n // Each time we enter a list, we increment it; when we leave a list,\n // we decrement. If it's zero, we're not in a list anymore.\n //\n // We do this because when we're not inside a list, we want to treat\n // something like this:\n //\n // I recommend upgrading to version\n // 8. Oops, now this line is treated\n // as a sub-list.\n //\n // As a single paragraph, despite the fact that the second line starts\n // with a digit-period-space sequence.\n //\n // Whereas when we're inside a list (or sub-list), that line will be\n // treated as the start of a sub-list. What a kludge, huh? This is\n // an aspect of Markdown's syntax that's hard to parse perfectly\n // without resorting to mind-reading. Perhaps the solution is to\n // change the syntax rules such that sub-lists must start with a\n // starting cardinal number; e.g. \"1.\" or \"a.\".\n globals.gListLevel++;\n\n // trim trailing blank lines:\n listStr = listStr.replace(/\\n{2,}$/, '\\n');\n\n // attacklab: add sentinel to emulate \\z\n listStr += '¨0';\n\n var rgx = /(\\n)?(^ {0,3})([*+-]|\\d+[.])[ \\t]+((\\[(x|X| )?])?[ \\t]*[^\\r]+?(\\n{1,2}))(?=\\n*(¨0| {0,3}([*+-]|\\d+[.])[ \\t]+))/gm,\n isParagraphed = (/\\n[ \\t]*\\n(?!¨0)/.test(listStr));\n\n // Since version 1.5, nesting sublists requires 4 spaces (or 1 tab) indentation,\n // which is a syntax breaking change\n // activating this option reverts to old behavior\n if (options.disableForced4SpacesIndentedSublists) {\n rgx = /(\\n)?(^ {0,3})([*+-]|\\d+[.])[ \\t]+((\\[(x|X| )?])?[ \\t]*[^\\r]+?(\\n{1,2}))(?=\\n*(¨0|\\2([*+-]|\\d+[.])[ \\t]+))/gm;\n }\n\n listStr = listStr.replace(rgx, function (wholeMatch, m1, m2, m3, m4, taskbtn, checked) {\n checked = (checked && checked.trim() !== '');\n\n var item = showdown.subParser('outdent')(m4, options, globals),\n bulletStyle = '';\n\n // Support for github tasklists\n if (taskbtn && options.tasklists) {\n bulletStyle = ' class=\"task-list-item\" style=\"list-style-type: none;\"';\n item = item.replace(/^[ \\t]*\\[(x|X| )?]/m, function () {\n var otp = '
  • a
  • \n // instead of:\n //
    • - - a
    \n // So, to prevent it, we will put a marker (¨A)in the beginning of the line\n // Kind of hackish/monkey patching, but seems more effective than overcomplicating the list parser\n item = item.replace(/^([-*+]|\\d\\.)[ \\t]+[\\S\\n ]*/g, function (wm2) {\n return '¨A' + wm2;\n });\n\n // m1 - Leading line or\n // Has a double return (multi paragraph) or\n // Has sublist\n if (m1 || (item.search(/\\n{2,}/) > -1)) {\n item = showdown.subParser('githubCodeBlocks')(item, options, globals);\n item = showdown.subParser('blockGamut')(item, options, globals);\n } else {\n // Recursion for sub-lists:\n item = showdown.subParser('lists')(item, options, globals);\n item = item.replace(/\\n$/, ''); // chomp(item)\n item = showdown.subParser('hashHTMLBlocks')(item, options, globals);\n\n // Colapse double linebreaks\n item = item.replace(/\\n\\n+/g, '\\n\\n');\n if (isParagraphed) {\n item = showdown.subParser('paragraphs')(item, options, globals);\n } else {\n item = showdown.subParser('spanGamut')(item, options, globals);\n }\n }\n\n // now we need to remove the marker (¨A)\n item = item.replace('¨A', '');\n // we can finally wrap the line in list item tags\n item = '' + item + '\\n';\n\n return item;\n });\n\n // attacklab: strip sentinel\n listStr = listStr.replace(/¨0/g, '');\n\n globals.gListLevel--;\n\n if (trimTrailing) {\n listStr = listStr.replace(/\\s+$/, '');\n }\n\n return listStr;\n }\n\n function styleStartNumber (list, listType) {\n // check if ol and starts by a number different than 1\n if (listType === 'ol') {\n var res = list.match(/^ *(\\d+)\\./);\n if (res && res[1] !== '1') {\n return ' start=\"' + res[1] + '\"';\n }\n }\n return '';\n }\n\n /**\n * Check and parse consecutive lists (better fix for issue #142)\n * @param {string} list\n * @param {string} listType\n * @param {boolean} trimTrailing\n * @returns {string}\n */\n function parseConsecutiveLists (list, listType, trimTrailing) {\n // check if we caught 2 or more consecutive lists by mistake\n // we use the counterRgx, meaning if listType is UL we look for OL and vice versa\n var olRgx = (options.disableForced4SpacesIndentedSublists) ? /^ ?\\d+\\.[ \\t]/gm : /^ {0,3}\\d+\\.[ \\t]/gm,\n ulRgx = (options.disableForced4SpacesIndentedSublists) ? /^ ?[*+-][ \\t]/gm : /^ {0,3}[*+-][ \\t]/gm,\n counterRxg = (listType === 'ul') ? olRgx : ulRgx,\n result = '';\n\n if (list.search(counterRxg) !== -1) {\n (function parseCL (txt) {\n var pos = txt.search(counterRxg),\n style = styleStartNumber(list, listType);\n if (pos !== -1) {\n // slice\n result += '\\n\\n<' + listType + style + '>\\n' + processListItems(txt.slice(0, pos), !!trimTrailing) + '\\n';\n\n // invert counterType and listType\n listType = (listType === 'ul') ? 'ol' : 'ul';\n counterRxg = (listType === 'ul') ? olRgx : ulRgx;\n\n //recurse\n parseCL(txt.slice(pos));\n } else {\n result += '\\n\\n<' + listType + style + '>\\n' + processListItems(txt, !!trimTrailing) + '\\n';\n }\n })(list);\n } else {\n var style = styleStartNumber(list, listType);\n result = '\\n\\n<' + listType + style + '>\\n' + processListItems(list, !!trimTrailing) + '\\n';\n }\n\n return result;\n }\n\n /** Start of list parsing **/\n text = globals.converter._dispatch('lists.before', text, options, globals);\n // add sentinel to hack around khtml/safari bug:\n // http://bugs.webkit.org/show_bug.cgi?id=11231\n text += '¨0';\n\n if (globals.gListLevel) {\n text = text.replace(/^(( {0,3}([*+-]|\\d+[.])[ \\t]+)[^\\r]+?(¨0|\\n{2,}(?=\\S)(?![ \\t]*(?:[*+-]|\\d+[.])[ \\t]+)))/gm,\n function (wholeMatch, list, m2) {\n var listType = (m2.search(/[*+-]/g) > -1) ? 'ul' : 'ol';\n return parseConsecutiveLists(list, listType, true);\n }\n );\n } else {\n text = text.replace(/(\\n\\n|^\\n?)(( {0,3}([*+-]|\\d+[.])[ \\t]+)[^\\r]+?(¨0|\\n{2,}(?=\\S)(?![ \\t]*(?:[*+-]|\\d+[.])[ \\t]+)))/gm,\n function (wholeMatch, m1, list, m3) {\n var listType = (m3.search(/[*+-]/g) > -1) ? 'ul' : 'ol';\n return parseConsecutiveLists(list, listType, false);\n }\n );\n }\n\n // strip sentinel\n text = text.replace(/¨0/, '');\n text = globals.converter._dispatch('lists.after', text, options, globals);\n return text;\n});\n\r\n/**\n * Parse metadata at the top of the document\n */\nshowdown.subParser('metadata', function (text, options, globals) {\n 'use strict';\n\n if (!options.metadata) {\n return text;\n }\n\n text = globals.converter._dispatch('metadata.before', text, options, globals);\n\n function parseMetadataContents (content) {\n // raw is raw so it's not changed in any way\n globals.metadata.raw = content;\n\n // escape chars forbidden in html attributes\n // double quotes\n content = content\n // ampersand first\n .replace(/&/g, '&')\n // double quotes\n .replace(/\"/g, '"');\n\n content = content.replace(/\\n {4}/g, ' ');\n content.replace(/^([\\S ]+): +([\\s\\S]+?)$/gm, function (wm, key, value) {\n globals.metadata.parsed[key] = value;\n return '';\n });\n }\n\n text = text.replace(/^\\s*«««+(\\S*?)\\n([\\s\\S]+?)\\n»»»+\\n/, function (wholematch, format, content) {\n parseMetadataContents(content);\n return '¨M';\n });\n\n text = text.replace(/^\\s*---+(\\S*?)\\n([\\s\\S]+?)\\n---+\\n/, function (wholematch, format, content) {\n if (format) {\n globals.metadata.format = format;\n }\n parseMetadataContents(content);\n return '¨M';\n });\n\n text = text.replace(/¨M/g, '');\n\n text = globals.converter._dispatch('metadata.after', text, options, globals);\n return text;\n});\n\r\n/**\n * Remove one level of line-leading tabs or spaces\n */\nshowdown.subParser('outdent', function (text, options, globals) {\n 'use strict';\n text = globals.converter._dispatch('outdent.before', text, options, globals);\n\n // attacklab: hack around Konqueror 3.5.4 bug:\n // \"----------bug\".replace(/^-/g,\"\") == \"bug\"\n text = text.replace(/^(\\t|[ ]{1,4})/gm, '¨0'); // attacklab: g_tab_width\n\n // attacklab: clean up hack\n text = text.replace(/¨0/g, '');\n\n text = globals.converter._dispatch('outdent.after', text, options, globals);\n return text;\n});\n\r\n/**\n *\n */\nshowdown.subParser('paragraphs', function (text, options, globals) {\n 'use strict';\n\n text = globals.converter._dispatch('paragraphs.before', text, options, globals);\n // Strip leading and trailing lines:\n text = text.replace(/^\\n+/g, '');\n text = text.replace(/\\n+$/g, '');\n\n var grafs = text.split(/\\n{2,}/g),\n grafsOut = [],\n end = grafs.length; // Wrap

    tags\n\n for (var i = 0; i < end; i++) {\n var str = grafs[i];\n // if this is an HTML marker, copy it\n if (str.search(/¨(K|G)(\\d+)\\1/g) >= 0) {\n grafsOut.push(str);\n\n // test for presence of characters to prevent empty lines being parsed\n // as paragraphs (resulting in undesired extra empty paragraphs)\n } else if (str.search(/\\S/) >= 0) {\n str = showdown.subParser('spanGamut')(str, options, globals);\n str = str.replace(/^([ \\t]*)/g, '

    ');\n str += '

    ';\n grafsOut.push(str);\n }\n }\n\n /** Unhashify HTML blocks */\n end = grafsOut.length;\n for (i = 0; i < end; i++) {\n var blockText = '',\n grafsOutIt = grafsOut[i],\n codeFlag = false;\n // if this is a marker for an html block...\n // use RegExp.test instead of string.search because of QML bug\n while (/¨(K|G)(\\d+)\\1/.test(grafsOutIt)) {\n var delim = RegExp.$1,\n num = RegExp.$2;\n\n if (delim === 'K') {\n blockText = globals.gHtmlBlocks[num];\n } else {\n // we need to check if ghBlock is a false positive\n if (codeFlag) {\n // use encoded version of all text\n blockText = showdown.subParser('encodeCode')(globals.ghCodeBlocks[num].text, options, globals);\n } else {\n blockText = globals.ghCodeBlocks[num].codeblock;\n }\n }\n blockText = blockText.replace(/\\$/g, '$$$$'); // Escape any dollar signs\n\n grafsOutIt = grafsOutIt.replace(/(\\n\\n)?¨(K|G)\\d+\\2(\\n\\n)?/, blockText);\n // Check if grafsOutIt is a pre->code\n if (/^]*>\\s*]*>/.test(grafsOutIt)) {\n codeFlag = true;\n }\n }\n grafsOut[i] = grafsOutIt;\n }\n text = grafsOut.join('\\n');\n // Strip leading and trailing lines:\n text = text.replace(/^\\n+/g, '');\n text = text.replace(/\\n+$/g, '');\n return globals.converter._dispatch('paragraphs.after', text, options, globals);\n});\n\r\n/**\n * Run extension\n */\nshowdown.subParser('runExtension', function (ext, text, options, globals) {\n 'use strict';\n\n if (ext.filter) {\n text = ext.filter(text, globals.converter, options);\n\n } else if (ext.regex) {\n // TODO remove this when old extension loading mechanism is deprecated\n var re = ext.regex;\n if (!(re instanceof RegExp)) {\n re = new RegExp(re, 'g');\n }\n text = text.replace(re, ext.replace);\n }\n\n return text;\n});\n\r\n/**\n * These are all the transformations that occur *within* block-level\n * tags like paragraphs, headers, and list items.\n */\nshowdown.subParser('spanGamut', function (text, options, globals) {\n 'use strict';\n\n text = globals.converter._dispatch('spanGamut.before', text, options, globals);\n text = showdown.subParser('codeSpans')(text, options, globals);\n text = showdown.subParser('escapeSpecialCharsWithinTagAttributes')(text, options, globals);\n text = showdown.subParser('encodeBackslashEscapes')(text, options, globals);\n\n // Process anchor and image tags. Images must come first,\n // because ![foo][f] looks like an anchor.\n text = showdown.subParser('images')(text, options, globals);\n text = showdown.subParser('anchors')(text, options, globals);\n\n // Make links out of things like ``\n // Must come after anchors, because you can use < and >\n // delimiters in inline links like [this]().\n text = showdown.subParser('autoLinks')(text, options, globals);\n text = showdown.subParser('simplifiedAutoLinks')(text, options, globals);\n text = showdown.subParser('emoji')(text, options, globals);\n text = showdown.subParser('underline')(text, options, globals);\n text = showdown.subParser('italicsAndBold')(text, options, globals);\n text = showdown.subParser('strikethrough')(text, options, globals);\n text = showdown.subParser('ellipsis')(text, options, globals);\n\n // we need to hash HTML tags inside spans\n text = showdown.subParser('hashHTMLSpans')(text, options, globals);\n\n // now we encode amps and angles\n text = showdown.subParser('encodeAmpsAndAngles')(text, options, globals);\n\n // Do hard breaks\n if (options.simpleLineBreaks) {\n // GFM style hard breaks\n // only add line breaks if the text does not contain a block (special case for lists)\n if (!/\\n\\n¨K/.test(text)) {\n text = text.replace(/\\n+/g, '
    \\n');\n }\n } else {\n // Vanilla hard breaks\n text = text.replace(/ +\\n/g, '
    \\n');\n }\n\n text = globals.converter._dispatch('spanGamut.after', text, options, globals);\n return text;\n});\n\r\nshowdown.subParser('strikethrough', function (text, options, globals) {\n 'use strict';\n\n function parseInside (txt) {\n if (options.simplifiedAutoLink) {\n txt = showdown.subParser('simplifiedAutoLinks')(txt, options, globals);\n }\n return '' + txt + '';\n }\n\n if (options.strikethrough) {\n text = globals.converter._dispatch('strikethrough.before', text, options, globals);\n text = text.replace(/(?:~){2}([\\s\\S]+?)(?:~){2}/g, function (wm, txt) { return parseInside(txt); });\n text = globals.converter._dispatch('strikethrough.after', text, options, globals);\n }\n\n return text;\n});\n\r\n/**\n * Strips link definitions from text, stores the URLs and titles in\n * hash references.\n * Link defs are in the form: ^[id]: url \"optional title\"\n */\nshowdown.subParser('stripLinkDefinitions', function (text, options, globals) {\n 'use strict';\n\n var regex = /^ {0,3}\\[(.+)]:[ \\t]*\\n?[ \\t]*\\s]+)>?(?: =([*\\d]+[A-Za-z%]{0,4})x([*\\d]+[A-Za-z%]{0,4}))?[ \\t]*\\n?[ \\t]*(?:(\\n*)[\"|'(](.+?)[\"|')][ \\t]*)?(?:\\n+|(?=¨0))/gm,\n base64Regex = /^ {0,3}\\[(.+)]:[ \\t]*\\n?[ \\t]*?(?: =([*\\d]+[A-Za-z%]{0,4})x([*\\d]+[A-Za-z%]{0,4}))?[ \\t]*\\n?[ \\t]*(?:(\\n*)[\"|'(](.+?)[\"|')][ \\t]*)?(?:\\n\\n|(?=¨0)|(?=\\n\\[))/gm;\n\n // attacklab: sentinel workarounds for lack of \\A and \\Z, safari\\khtml bug\n text += '¨0';\n\n var replaceFunc = function (wholeMatch, linkId, url, width, height, blankLines, title) {\n linkId = linkId.toLowerCase();\n if (url.match(/^data:.+?\\/.+?;base64,/)) {\n // remove newlines\n globals.gUrls[linkId] = url.replace(/\\s/g, '');\n } else {\n globals.gUrls[linkId] = showdown.subParser('encodeAmpsAndAngles')(url, options, globals); // Link IDs are case-insensitive\n }\n\n if (blankLines) {\n // Oops, found blank lines, so it's not a title.\n // Put back the parenthetical statement we stole.\n return blankLines + title;\n\n } else {\n if (title) {\n globals.gTitles[linkId] = title.replace(/\"|'/g, '"');\n }\n if (options.parseImgDimensions && width && height) {\n globals.gDimensions[linkId] = {\n width: width,\n height: height\n };\n }\n }\n // Completely remove the definition from the text\n return '';\n };\n\n // first we try to find base64 link references\n text = text.replace(base64Regex, replaceFunc);\n\n text = text.replace(regex, replaceFunc);\n\n // attacklab: strip sentinel\n text = text.replace(/¨0/, '');\n\n return text;\n});\n\r\nshowdown.subParser('tables', function (text, options, globals) {\n 'use strict';\n\n if (!options.tables) {\n return text;\n }\n\n var tableRgx = /^ {0,3}\\|?.+\\|.+\\n {0,3}\\|?[ \\t]*:?[ \\t]*(?:[-=]){2,}[ \\t]*:?[ \\t]*\\|[ \\t]*:?[ \\t]*(?:[-=]){2,}[\\s\\S]+?(?:\\n\\n|¨0)/gm,\n //singeColTblRgx = /^ {0,3}\\|.+\\|\\n {0,3}\\|[ \\t]*:?[ \\t]*(?:[-=]){2,}[ \\t]*:?[ \\t]*\\|[ \\t]*\\n(?: {0,3}\\|.+\\|\\n)+(?:\\n\\n|¨0)/gm;\n singeColTblRgx = /^ {0,3}\\|.+\\|[ \\t]*\\n {0,3}\\|[ \\t]*:?[ \\t]*(?:[-=]){2,}[ \\t]*:?[ \\t]*\\|[ \\t]*\\n( {0,3}\\|.+\\|[ \\t]*\\n)*(?:\\n|¨0)/gm;\n\n function parseStyles (sLine) {\n if (/^:[ \\t]*--*$/.test(sLine)) {\n return ' style=\"text-align:left;\"';\n } else if (/^--*[ \\t]*:[ \\t]*$/.test(sLine)) {\n return ' style=\"text-align:right;\"';\n } else if (/^:[ \\t]*--*[ \\t]*:$/.test(sLine)) {\n return ' style=\"text-align:center;\"';\n } else {\n return '';\n }\n }\n\n function parseHeaders (header, style) {\n var id = '';\n header = header.trim();\n // support both tablesHeaderId and tableHeaderId due to error in documentation so we don't break backwards compatibility\n if (options.tablesHeaderId || options.tableHeaderId) {\n id = ' id=\"' + header.replace(/ /g, '_').toLowerCase() + '\"';\n }\n header = showdown.subParser('spanGamut')(header, options, globals);\n\n return '' + header + '\\n';\n }\n\n function parseCells (cell, style) {\n var subText = showdown.subParser('spanGamut')(cell, options, globals);\n return '' + subText + '\\n';\n }\n\n function buildTable (headers, cells) {\n var tb = '\\n\\n\\n',\n tblLgn = headers.length;\n\n for (var i = 0; i < tblLgn; ++i) {\n tb += headers[i];\n }\n tb += '\\n\\n\\n';\n\n for (i = 0; i < cells.length; ++i) {\n tb += '\\n';\n for (var ii = 0; ii < tblLgn; ++ii) {\n tb += cells[i][ii];\n }\n tb += '\\n';\n }\n tb += '\\n
    \\n';\n return tb;\n }\n\n function parseTable (rawTable) {\n var i, tableLines = rawTable.split('\\n');\n\n for (i = 0; i < tableLines.length; ++i) {\n // strip wrong first and last column if wrapped tables are used\n if (/^ {0,3}\\|/.test(tableLines[i])) {\n tableLines[i] = tableLines[i].replace(/^ {0,3}\\|/, '');\n }\n if (/\\|[ \\t]*$/.test(tableLines[i])) {\n tableLines[i] = tableLines[i].replace(/\\|[ \\t]*$/, '');\n }\n // parse code spans first, but we only support one line code spans\n tableLines[i] = showdown.subParser('codeSpans')(tableLines[i], options, globals);\n }\n\n var rawHeaders = tableLines[0].split('|').map(function (s) { return s.trim();}),\n rawStyles = tableLines[1].split('|').map(function (s) { return s.trim();}),\n rawCells = [],\n headers = [],\n styles = [],\n cells = [];\n\n tableLines.shift();\n tableLines.shift();\n\n for (i = 0; i < tableLines.length; ++i) {\n if (tableLines[i].trim() === '') {\n continue;\n }\n rawCells.push(\n tableLines[i]\n .split('|')\n .map(function (s) {\n return s.trim();\n })\n );\n }\n\n if (rawHeaders.length < rawStyles.length) {\n return rawTable;\n }\n\n for (i = 0; i < rawStyles.length; ++i) {\n styles.push(parseStyles(rawStyles[i]));\n }\n\n for (i = 0; i < rawHeaders.length; ++i) {\n if (showdown.helper.isUndefined(styles[i])) {\n styles[i] = '';\n }\n headers.push(parseHeaders(rawHeaders[i], styles[i]));\n }\n\n for (i = 0; i < rawCells.length; ++i) {\n var row = [];\n for (var ii = 0; ii < headers.length; ++ii) {\n if (showdown.helper.isUndefined(rawCells[i][ii])) {\n\n }\n row.push(parseCells(rawCells[i][ii], styles[ii]));\n }\n cells.push(row);\n }\n\n return buildTable(headers, cells);\n }\n\n text = globals.converter._dispatch('tables.before', text, options, globals);\n\n // find escaped pipe characters\n text = text.replace(/\\\\(\\|)/g, showdown.helper.escapeCharactersCallback);\n\n // parse multi column tables\n text = text.replace(tableRgx, parseTable);\n\n // parse one column tables\n text = text.replace(singeColTblRgx, parseTable);\n\n text = globals.converter._dispatch('tables.after', text, options, globals);\n\n return text;\n});\n\r\nshowdown.subParser('underline', function (text, options, globals) {\n 'use strict';\n\n if (!options.underline) {\n return text;\n }\n\n text = globals.converter._dispatch('underline.before', text, options, globals);\n\n if (options.literalMidWordUnderscores) {\n text = text.replace(/\\b___(\\S[\\s\\S]*?)___\\b/g, function (wm, txt) {\n return '' + txt + '';\n });\n text = text.replace(/\\b__(\\S[\\s\\S]*?)__\\b/g, function (wm, txt) {\n return '' + txt + '';\n });\n } else {\n text = text.replace(/___(\\S[\\s\\S]*?)___/g, function (wm, m) {\n return (/\\S$/.test(m)) ? '' + m + '' : wm;\n });\n text = text.replace(/__(\\S[\\s\\S]*?)__/g, function (wm, m) {\n return (/\\S$/.test(m)) ? '' + m + '' : wm;\n });\n }\n\n // escape remaining underscores to prevent them being parsed by italic and bold\n text = text.replace(/(_)/g, showdown.helper.escapeCharactersCallback);\n\n text = globals.converter._dispatch('underline.after', text, options, globals);\n\n return text;\n});\n\r\n/**\n * Swap back in all the special characters we've hidden.\n */\nshowdown.subParser('unescapeSpecialChars', function (text, options, globals) {\n 'use strict';\n text = globals.converter._dispatch('unescapeSpecialChars.before', text, options, globals);\n\n text = text.replace(/¨E(\\d+)E/g, function (wholeMatch, m1) {\n var charCodeToReplace = parseInt(m1);\n return String.fromCharCode(charCodeToReplace);\n });\n\n text = globals.converter._dispatch('unescapeSpecialChars.after', text, options, globals);\n return text;\n});\n\r\nshowdown.subParser('makeMarkdown.blockquote', function (node, globals) {\n 'use strict';\n\n var txt = '';\n if (node.hasChildNodes()) {\n var children = node.childNodes,\n childrenLength = children.length;\n\n for (var i = 0; i < childrenLength; ++i) {\n var innerTxt = showdown.subParser('makeMarkdown.node')(children[i], globals);\n\n if (innerTxt === '') {\n continue;\n }\n txt += innerTxt;\n }\n }\n // cleanup\n txt = txt.trim();\n txt = '> ' + txt.split('\\n').join('\\n> ');\n return txt;\n});\n\r\nshowdown.subParser('makeMarkdown.codeBlock', function (node, globals) {\n 'use strict';\n\n var lang = node.getAttribute('language'),\n num = node.getAttribute('precodenum');\n return '```' + lang + '\\n' + globals.preList[num] + '\\n```';\n});\n\r\nshowdown.subParser('makeMarkdown.codeSpan', function (node) {\n 'use strict';\n\n return '`' + node.innerHTML + '`';\n});\n\r\nshowdown.subParser('makeMarkdown.emphasis', function (node, globals) {\n 'use strict';\n\n var txt = '';\n if (node.hasChildNodes()) {\n txt += '*';\n var children = node.childNodes,\n childrenLength = children.length;\n for (var i = 0; i < childrenLength; ++i) {\n txt += showdown.subParser('makeMarkdown.node')(children[i], globals);\n }\n txt += '*';\n }\n return txt;\n});\n\r\nshowdown.subParser('makeMarkdown.header', function (node, globals, headerLevel) {\n 'use strict';\n\n var headerMark = new Array(headerLevel + 1).join('#'),\n txt = '';\n\n if (node.hasChildNodes()) {\n txt = headerMark + ' ';\n var children = node.childNodes,\n childrenLength = children.length;\n\n for (var i = 0; i < childrenLength; ++i) {\n txt += showdown.subParser('makeMarkdown.node')(children[i], globals);\n }\n }\n return txt;\n});\n\r\nshowdown.subParser('makeMarkdown.hr', function () {\n 'use strict';\n\n return '---';\n});\n\r\nshowdown.subParser('makeMarkdown.image', function (node) {\n 'use strict';\n\n var txt = '';\n if (node.hasAttribute('src')) {\n txt += '![' + node.getAttribute('alt') + '](';\n txt += '<' + node.getAttribute('src') + '>';\n if (node.hasAttribute('width') && node.hasAttribute('height')) {\n txt += ' =' + node.getAttribute('width') + 'x' + node.getAttribute('height');\n }\n\n if (node.hasAttribute('title')) {\n txt += ' \"' + node.getAttribute('title') + '\"';\n }\n txt += ')';\n }\n return txt;\n});\n\r\nshowdown.subParser('makeMarkdown.links', function (node, globals) {\n 'use strict';\n\n var txt = '';\n if (node.hasChildNodes() && node.hasAttribute('href')) {\n var children = node.childNodes,\n childrenLength = children.length;\n txt = '[';\n for (var i = 0; i < childrenLength; ++i) {\n txt += showdown.subParser('makeMarkdown.node')(children[i], globals);\n }\n txt += '](';\n txt += '<' + node.getAttribute('href') + '>';\n if (node.hasAttribute('title')) {\n txt += ' \"' + node.getAttribute('title') + '\"';\n }\n txt += ')';\n }\n return txt;\n});\n\r\nshowdown.subParser('makeMarkdown.list', function (node, globals, type) {\n 'use strict';\n\n var txt = '';\n if (!node.hasChildNodes()) {\n return '';\n }\n var listItems = node.childNodes,\n listItemsLenght = listItems.length,\n listNum = node.getAttribute('start') || 1;\n\n for (var i = 0; i < listItemsLenght; ++i) {\n if (typeof listItems[i].tagName === 'undefined' || listItems[i].tagName.toLowerCase() !== 'li') {\n continue;\n }\n\n // define the bullet to use in list\n var bullet = '';\n if (type === 'ol') {\n bullet = listNum.toString() + '. ';\n } else {\n bullet = '- ';\n }\n\n // parse list item\n txt += bullet + showdown.subParser('makeMarkdown.listItem')(listItems[i], globals);\n ++listNum;\n }\n\n // add comment at the end to prevent consecutive lists to be parsed as one\n txt += '\\n\\n';\n return txt.trim();\n});\n\r\nshowdown.subParser('makeMarkdown.listItem', function (node, globals) {\n 'use strict';\n\n var listItemTxt = '';\n\n var children = node.childNodes,\n childrenLenght = children.length;\n\n for (var i = 0; i < childrenLenght; ++i) {\n listItemTxt += showdown.subParser('makeMarkdown.node')(children[i], globals);\n }\n // if it's only one liner, we need to add a newline at the end\n if (!/\\n$/.test(listItemTxt)) {\n listItemTxt += '\\n';\n } else {\n // it's multiparagraph, so we need to indent\n listItemTxt = listItemTxt\n .split('\\n')\n .join('\\n ')\n .replace(/^ {4}$/gm, '')\n .replace(/\\n\\n+/g, '\\n\\n');\n }\n\n return listItemTxt;\n});\n\r\n\n\nshowdown.subParser('makeMarkdown.node', function (node, globals, spansOnly) {\n 'use strict';\n\n spansOnly = spansOnly || false;\n\n var txt = '';\n\n // edge case of text without wrapper paragraph\n if (node.nodeType === 3) {\n return showdown.subParser('makeMarkdown.txt')(node, globals);\n }\n\n // HTML comment\n if (node.nodeType === 8) {\n return '\\n\\n';\n }\n\n // process only node elements\n if (node.nodeType !== 1) {\n return '';\n }\n\n var tagName = node.tagName.toLowerCase();\n\n switch (tagName) {\n\n //\n // BLOCKS\n //\n case 'h1':\n if (!spansOnly) { txt = showdown.subParser('makeMarkdown.header')(node, globals, 1) + '\\n\\n'; }\n break;\n case 'h2':\n if (!spansOnly) { txt = showdown.subParser('makeMarkdown.header')(node, globals, 2) + '\\n\\n'; }\n break;\n case 'h3':\n if (!spansOnly) { txt = showdown.subParser('makeMarkdown.header')(node, globals, 3) + '\\n\\n'; }\n break;\n case 'h4':\n if (!spansOnly) { txt = showdown.subParser('makeMarkdown.header')(node, globals, 4) + '\\n\\n'; }\n break;\n case 'h5':\n if (!spansOnly) { txt = showdown.subParser('makeMarkdown.header')(node, globals, 5) + '\\n\\n'; }\n break;\n case 'h6':\n if (!spansOnly) { txt = showdown.subParser('makeMarkdown.header')(node, globals, 6) + '\\n\\n'; }\n break;\n\n case 'p':\n if (!spansOnly) { txt = showdown.subParser('makeMarkdown.paragraph')(node, globals) + '\\n\\n'; }\n break;\n\n case 'blockquote':\n if (!spansOnly) { txt = showdown.subParser('makeMarkdown.blockquote')(node, globals) + '\\n\\n'; }\n break;\n\n case 'hr':\n if (!spansOnly) { txt = showdown.subParser('makeMarkdown.hr')(node, globals) + '\\n\\n'; }\n break;\n\n case 'ol':\n if (!spansOnly) { txt = showdown.subParser('makeMarkdown.list')(node, globals, 'ol') + '\\n\\n'; }\n break;\n\n case 'ul':\n if (!spansOnly) { txt = showdown.subParser('makeMarkdown.list')(node, globals, 'ul') + '\\n\\n'; }\n break;\n\n case 'precode':\n if (!spansOnly) { txt = showdown.subParser('makeMarkdown.codeBlock')(node, globals) + '\\n\\n'; }\n break;\n\n case 'pre':\n if (!spansOnly) { txt = showdown.subParser('makeMarkdown.pre')(node, globals) + '\\n\\n'; }\n break;\n\n case 'table':\n if (!spansOnly) { txt = showdown.subParser('makeMarkdown.table')(node, globals) + '\\n\\n'; }\n break;\n\n //\n // SPANS\n //\n case 'code':\n txt = showdown.subParser('makeMarkdown.codeSpan')(node, globals);\n break;\n\n case 'em':\n case 'i':\n txt = showdown.subParser('makeMarkdown.emphasis')(node, globals);\n break;\n\n case 'strong':\n case 'b':\n txt = showdown.subParser('makeMarkdown.strong')(node, globals);\n break;\n\n case 'del':\n txt = showdown.subParser('makeMarkdown.strikethrough')(node, globals);\n break;\n\n case 'a':\n txt = showdown.subParser('makeMarkdown.links')(node, globals);\n break;\n\n case 'img':\n txt = showdown.subParser('makeMarkdown.image')(node, globals);\n break;\n\n default:\n txt = node.outerHTML + '\\n\\n';\n }\n\n // common normalization\n // TODO eventually\n\n return txt;\n});\n\r\nshowdown.subParser('makeMarkdown.paragraph', function (node, globals) {\n 'use strict';\n\n var txt = '';\n if (node.hasChildNodes()) {\n var children = node.childNodes,\n childrenLength = children.length;\n for (var i = 0; i < childrenLength; ++i) {\n txt += showdown.subParser('makeMarkdown.node')(children[i], globals);\n }\n }\n\n // some text normalization\n txt = txt.trim();\n\n return txt;\n});\n\r\nshowdown.subParser('makeMarkdown.pre', function (node, globals) {\n 'use strict';\n\n var num = node.getAttribute('prenum');\n return '
    ' + globals.preList[num] + '
    ';\n});\n\r\nshowdown.subParser('makeMarkdown.strikethrough', function (node, globals) {\n 'use strict';\n\n var txt = '';\n if (node.hasChildNodes()) {\n txt += '~~';\n var children = node.childNodes,\n childrenLength = children.length;\n for (var i = 0; i < childrenLength; ++i) {\n txt += showdown.subParser('makeMarkdown.node')(children[i], globals);\n }\n txt += '~~';\n }\n return txt;\n});\n\r\nshowdown.subParser('makeMarkdown.strong', function (node, globals) {\n 'use strict';\n\n var txt = '';\n if (node.hasChildNodes()) {\n txt += '**';\n var children = node.childNodes,\n childrenLength = children.length;\n for (var i = 0; i < childrenLength; ++i) {\n txt += showdown.subParser('makeMarkdown.node')(children[i], globals);\n }\n txt += '**';\n }\n return txt;\n});\n\r\nshowdown.subParser('makeMarkdown.table', function (node, globals) {\n 'use strict';\n\n var txt = '',\n tableArray = [[], []],\n headings = node.querySelectorAll('thead>tr>th'),\n rows = node.querySelectorAll('tbody>tr'),\n i, ii;\n for (i = 0; i < headings.length; ++i) {\n var headContent = showdown.subParser('makeMarkdown.tableCell')(headings[i], globals),\n allign = '---';\n\n if (headings[i].hasAttribute('style')) {\n var style = headings[i].getAttribute('style').toLowerCase().replace(/\\s/g, '');\n switch (style) {\n case 'text-align:left;':\n allign = ':---';\n break;\n case 'text-align:right;':\n allign = '---:';\n break;\n case 'text-align:center;':\n allign = ':---:';\n break;\n }\n }\n tableArray[0][i] = headContent.trim();\n tableArray[1][i] = allign;\n }\n\n for (i = 0; i < rows.length; ++i) {\n var r = tableArray.push([]) - 1,\n cols = rows[i].getElementsByTagName('td');\n\n for (ii = 0; ii < headings.length; ++ii) {\n var cellContent = ' ';\n if (typeof cols[ii] !== 'undefined') {\n cellContent = showdown.subParser('makeMarkdown.tableCell')(cols[ii], globals);\n }\n tableArray[r].push(cellContent);\n }\n }\n\n var cellSpacesCount = 3;\n for (i = 0; i < tableArray.length; ++i) {\n for (ii = 0; ii < tableArray[i].length; ++ii) {\n var strLen = tableArray[i][ii].length;\n if (strLen > cellSpacesCount) {\n cellSpacesCount = strLen;\n }\n }\n }\n\n for (i = 0; i < tableArray.length; ++i) {\n for (ii = 0; ii < tableArray[i].length; ++ii) {\n if (i === 1) {\n if (tableArray[i][ii].slice(-1) === ':') {\n tableArray[i][ii] = showdown.helper.padEnd(tableArray[i][ii].slice(-1), cellSpacesCount - 1, '-') + ':';\n } else {\n tableArray[i][ii] = showdown.helper.padEnd(tableArray[i][ii], cellSpacesCount, '-');\n }\n } else {\n tableArray[i][ii] = showdown.helper.padEnd(tableArray[i][ii], cellSpacesCount);\n }\n }\n txt += '| ' + tableArray[i].join(' | ') + ' |\\n';\n }\n\n return txt.trim();\n});\n\r\nshowdown.subParser('makeMarkdown.tableCell', function (node, globals) {\n 'use strict';\n\n var txt = '';\n if (!node.hasChildNodes()) {\n return '';\n }\n var children = node.childNodes,\n childrenLength = children.length;\n\n for (var i = 0; i < childrenLength; ++i) {\n txt += showdown.subParser('makeMarkdown.node')(children[i], globals, true);\n }\n return txt.trim();\n});\n\r\nshowdown.subParser('makeMarkdown.txt', function (node) {\n 'use strict';\n\n var txt = node.nodeValue;\n\n // multiple spaces are collapsed\n txt = txt.replace(/ +/g, ' ');\n\n // replace the custom ¨NBSP; with a space\n txt = txt.replace(/¨NBSP;/g, ' ');\n\n // \", <, > and & should replace escaped html entities\n txt = showdown.helper.unescapeHTMLEntities(txt);\n\n // escape markdown magic characters\n // emphasis, strong and strikethrough - can appear everywhere\n // we also escape pipe (|) because of tables\n // and escape ` because of code blocks and spans\n txt = txt.replace(/([*_~|`])/g, '\\\\$1');\n\n // escape > because of blockquotes\n txt = txt.replace(/^(\\s*)>/g, '\\\\$1>');\n\n // hash character, only troublesome at the beginning of a line because of headers\n txt = txt.replace(/^#/gm, '\\\\#');\n\n // horizontal rules\n txt = txt.replace(/^(\\s*)([-=]{3,})(\\s*)$/, '$1\\\\$2$3');\n\n // dot, because of ordered lists, only troublesome at the beginning of a line when preceded by an integer\n txt = txt.replace(/^( {0,3}\\d+)\\./gm, '$1\\\\.');\n\n // +, * and -, at the beginning of a line becomes a list, so we need to escape them also (asterisk was already escaped)\n txt = txt.replace(/^( {0,3})([+-])/gm, '$1\\\\$2');\n\n // images and links, ] followed by ( is problematic, so we escape it\n txt = txt.replace(/]([\\s]*)\\(/g, '\\\\]$1\\\\(');\n\n // reference URIs must also be escaped\n txt = txt.replace(/^ {0,3}\\[([\\S \\t]*?)]:/gm, '\\\\[$1]:');\n\n return txt;\n});\n\r\nvar root = this;\n\n// AMD Loader\nif (typeof define === 'function' && define.amd) {\n define(function () {\n 'use strict';\n return showdown;\n });\n\n// CommonJS/nodeJS Loader\n} else if (typeof module !== 'undefined' && module.exports) {\n module.exports = showdown;\n\n// Regular Browser loader\n} else {\n root.showdown = showdown;\n}\n}).call(this);\r\n\n//# sourceMappingURL=showdown.js.map\r\n","/**\r\n * DevExtreme (bundles/modules/core.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar windowUtils = require(\"../../core/utils/window\");\r\nvar window = windowUtils.getWindow();\r\nvar DevExpress = window.DevExpress = window.DevExpress || {};\r\nvar errors = DevExpress.errors = require(\"../../core/errors\");\r\nif (DevExpress._DEVEXTREME_BUNDLE_INITIALIZED) {\r\n throw errors.Error(\"E0024\")\r\n}\r\nDevExpress._DEVEXTREME_BUNDLE_INITIALIZED = true;\r\nDevExpress.clientExporter = require(\"../../exporter\");\r\nDevExpress.excelExporter = require(\"../../excel_exporter\");\r\nDevExpress.pdfExporter = require(\"../../pdf_exporter\");\r\nDevExpress.VERSION = require(\"../../core/version\").version;\r\nDevExpress.Class = require(\"../../core/class\");\r\nDevExpress.DOMComponent = require(\"../../core/dom_component\");\r\nDevExpress.Component = require(\"../../core/component\").Component;\r\nDevExpress.registerComponent = require(\"../../core/component_registrator\");\r\nDevExpress.devices = require(\"../../core/devices\");\r\nDevExpress.Color = require(\"../../color\");\r\nvar animationFrame = require(\"../../animation/frame\");\r\nDevExpress.utils = {};\r\nDevExpress.utils.requestAnimationFrame = animationFrame.requestAnimationFrame;\r\nDevExpress.utils.cancelAnimationFrame = animationFrame.cancelAnimationFrame;\r\nDevExpress.utils.initMobileViewport = require(\"../../mobile/init_mobile_viewport/init_mobile_viewport\").initMobileViewport;\r\nDevExpress.utils.getTimeZones = require(\"../../time_zone_utils\").getTimeZones;\r\nDevExpress.utils.extendFromObject = require(\"../../core/utils/extend\").extendFromObject;\r\nDevExpress.utils.triggerShownEvent = require(\"../../events/visibility_change\").triggerShownEvent;\r\nDevExpress.utils.triggerHidingEvent = require(\"../../events/visibility_change\").triggerHidingEvent;\r\nDevExpress.utils.resetActiveElement = require(\"../../core/utils/dom\").resetActiveElement;\r\nDevExpress.utils.findBestMatches = require(\"../../core/utils/common\").findBestMatches;\r\nDevExpress.createQueue = require(\"../../core/utils/queue\").create;\r\nDevExpress.utils.dom = require(\"../../core/utils/dom\");\r\nDevExpress.utils.common = require(\"../../core/utils/common\");\r\nDevExpress.utils.date = require(\"../../core/utils/date\");\r\nDevExpress.utils.browser = require(\"../../core/utils/browser\");\r\nDevExpress.utils.inflector = require(\"../../core/utils/inflector\");\r\nDevExpress.utils.iterator = require(\"../../core/utils/iterator\");\r\nDevExpress.utils.readyCallbacks = require(\"../../core/utils/ready_callbacks\");\r\nDevExpress.utils.resizeCallbacks = require(\"../../core/utils/resize_callbacks\");\r\nDevExpress.utils.console = require(\"../../core/utils/console\");\r\nDevExpress.utils.string = require(\"../../core/utils/string\");\r\nDevExpress.utils.support = require(\"../../core/utils/support\");\r\nDevExpress.utils.ajax = require(\"../../core/utils/ajax\");\r\nDevExpress.viewPort = require(\"../../core/utils/view_port\").value;\r\nDevExpress.hideTopOverlay = require(\"../../mobile/hide_top_overlay\");\r\nDevExpress.formatHelper = require(\"../../format_helper\");\r\nDevExpress.config = require(\"../../core/config\");\r\nDevExpress.animationPresets = require(\"../../animation/presets/presets\").presets;\r\nDevExpress.fx = require(\"../../animation/fx\");\r\nDevExpress.TransitionExecutor = require(\"../../animation/transition_executor/transition_executor\").TransitionExecutor;\r\nDevExpress.AnimationPresetCollection = require(\"../../animation/presets/presets\").PresetCollection;\r\nDevExpress.events = require(\"../../events\");\r\nDevExpress.events.click = require(\"../../events/click\");\r\nDevExpress.events.utils = require(\"../../events/utils\");\r\nDevExpress.events.GestureEmitter = require(\"../../events/gesture/emitter.gesture\");\r\nDevExpress.localization = require(\"../../localization\");\r\nDevExpress.templateRendered = require(\"../../core/templates/template_base\").renderedCallbacks;\r\nDevExpress.setTemplateEngine = require(\"../../core/templates/template_engine_registry\").setTemplateEngine;\r\nmodule.exports = DevExpress;\r\n","/**\r\n * DevExtreme (bundles/modules/data.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar DevExpress = require(\"./core\");\r\nvar errors = require(\"../../core/errors\");\r\nmodule.exports = DevExpress.data = DevExpress.data || {};\r\nObject.defineProperty(DevExpress.data, \"errorHandler\", {\r\n get: function() {\r\n return require(\"../../data/errors\").errorHandler\r\n },\r\n set: function(value) {\r\n errors.log(\"W0003\", \"DevExpress.data\", \"errorHandler\", \"21.1\", \"Use the 'setErrorHandler' method instead\");\r\n require(\"../../data/errors\").setErrorHandler(value)\r\n }\r\n});\r\nObject.defineProperty(DevExpress.data, \"_errorHandler\", {\r\n get: function() {\r\n return require(\"../../data/errors\").handleError\r\n },\r\n set: function(value) {\r\n errors.log(\"W0003\", \"DevExpress.data\", \"_errorHandler\", \"21.1\", \"Use the 'setErrorHandler' method instead\");\r\n require(\"../../data/errors\").setErrorHandler(value)\r\n }\r\n});\r\nDevExpress.data.setErrorHandler = require(\"../../data/errors\").setErrorHandler;\r\nDevExpress.data.DataSource = require(\"../../data/data_source\");\r\nDevExpress.data.query = require(\"../../data/query\");\r\nDevExpress.data.Store = require(\"../../data/abstract_store\");\r\nDevExpress.data.ArrayStore = require(\"../../data/array_store\");\r\nDevExpress.data.CustomStore = require(\"../../data/custom_store\");\r\nDevExpress.data.LocalStore = require(\"../../data/local_store\");\r\nDevExpress.data.base64_encode = require(\"../../data/utils\").base64_encode;\r\nDevExpress.data.applyChanges = require(\"../../data/apply_changes\");\r\nDevExpress.data.Guid = require(\"../../core/guid\");\r\nDevExpress.data.utils = {};\r\nDevExpress.data.utils.compileGetter = require(\"../../core/utils/data\").compileGetter;\r\nDevExpress.data.utils.compileSetter = require(\"../../core/utils/data\").compileSetter;\r\nDevExpress.EndpointSelector = require(\"../../data/endpoint_selector\");\r\nDevExpress.data.queryImpl = require(\"../../data/query_implementation\").queryImpl;\r\nDevExpress.data.queryAdapters = require(\"../../data/query_adapters\");\r\nvar dataUtils = require(\"../../data/utils\");\r\nDevExpress.data.utils.normalizeBinaryCriterion = dataUtils.normalizeBinaryCriterion;\r\nDevExpress.data.utils.normalizeSortingInfo = dataUtils.normalizeSortingInfo;\r\nDevExpress.data.utils.errorMessageFromXhr = dataUtils.errorMessageFromXhr;\r\nDevExpress.data.utils.aggregators = dataUtils.aggregators;\r\nDevExpress.data.utils.keysEqual = dataUtils.keysEqual;\r\nDevExpress.data.utils.isDisjunctiveOperator = dataUtils.isDisjunctiveOperator;\r\nDevExpress.data.utils.isConjunctiveOperator = dataUtils.isConjunctiveOperator;\r\nDevExpress.data.utils.processRequestResultLock = dataUtils.processRequestResultLock;\r\nDevExpress.data.utils.toComparable = require(\"../../core/utils/data\").toComparable;\r\nDevExpress.data.utils.multiLevelGroup = require(\"../../data/store_helper\").multiLevelGroup;\r\nDevExpress.data.utils.arrangeSortingInfo = require(\"../../data/store_helper\").arrangeSortingInfo;\r\nDevExpress.data.utils.normalizeDataSourceOptions = require(\"../../data/data_source/utils\").normalizeDataSourceOptions;\r\n","/**\r\n * DevExtreme (bundles/modules/data.odata.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nrequire(\"./data\");\r\nDevExpress.data.ODataStore = require(\"../../data/odata/store\");\r\nDevExpress.data.ODataContext = require(\"../../data/odata/context\");\r\nDevExpress.data.utils = DevExpress.data.utils || {};\r\nDevExpress.data.utils.odata = {};\r\nDevExpress.data.utils.odata.keyConverters = require(\"../../data/odata/utils\").keyConverters;\r\nDevExpress.data.EdmLiteral = require(\"../../data/odata/utils\").EdmLiteral;\r\nvar ODataUtilsModule = require(\"../../data/odata/utils\");\r\nDevExpress.data.utils.odata.serializePropName = ODataUtilsModule.serializePropName;\r\nDevExpress.data.utils.odata.serializeValue = ODataUtilsModule.serializeValue;\r\nDevExpress.data.utils.odata.serializeKey = ODataUtilsModule.serializeKey;\r\nDevExpress.data.utils.odata.sendRequest = ODataUtilsModule.sendRequest;\r\nDevExpress.data.queryAdapters = DevExpress.data.queryAdapters || {};\r\nDevExpress.data.queryAdapters.odata = require(\"../../data/odata/query_adapter\").odata;\r\n","/**\r\n * DevExtreme (bundles/modules/file_management.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _core = _interopRequireDefault(require(\"./core\"));\r\nvar _error = _interopRequireDefault(require(\"../../file_management/error\"));\r\nvar _file_system_item = _interopRequireDefault(require(\"../../file_management/file_system_item\"));\r\nvar _object_provider = _interopRequireDefault(require(\"../../file_management/object_provider\"));\r\nvar _remote_provider = _interopRequireDefault(require(\"../../file_management/remote_provider\"));\r\nvar _custom_provider = _interopRequireDefault(require(\"../../file_management/custom_provider\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nmodule.exports = _core.default.fileManagement = _core.default.fileManagement || {};\r\n_core.default.fileManagement.FileSystemError = _error.default;\r\n_core.default.fileManagement.FileSystemItem = _file_system_item.default;\r\n_core.default.fileManagement.ObjectFileSystemProvider = _object_provider.default;\r\n_core.default.fileManagement.RemoteFileSystemProvider = _remote_provider.default;\r\n_core.default.fileManagement.CustomFileSystemProvider = _custom_provider.default;\r\n","/**\r\n * DevExtreme (bundles/modules/ui.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nrequire(\"./core\");\r\nmodule.exports = DevExpress.ui = {};\r\n","/**\r\n * DevExtreme (bundles/modules/viz.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nrequire(\"./core\");\r\nmodule.exports = DevExpress.viz = DevExpress.viz || {};\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/data_grid/export/m_export.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.ExportController = exports.DataProvider = void 0;\r\nrequire(\"../../../../ui/button\");\r\nrequire(\"../../../../ui/drop_down_button\");\r\nvar _renderer = _interopRequireDefault(require(\"../../../../core/renderer\"));\r\nvar _deferred = require(\"../../../../core/utils/deferred\");\r\nvar _extend = require(\"../../../../core/utils/extend\");\r\nvar _position = require(\"../../../../core/utils/position\");\r\nvar _string = require(\"../../../../core/utils/string\");\r\nvar _type = require(\"../../../../core/utils/type\");\r\nvar _message = _interopRequireDefault(require(\"../../../../localization/message\"));\r\nvar _list_light = _interopRequireDefault(require(\"../../../../ui/list_light\"));\r\nvar _m_export = require(\"../../../grids/grid_core/m_export\");\r\nvar _m_core = _interopRequireDefault(require(\"../m_core\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\n\r\nfunction _toConsumableArray(arr) {\r\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread()\r\n}\r\n\r\nfunction _nonIterableSpread() {\r\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _unsupportedIterableToArray(o, minLen) {\r\n if (!o) {\r\n return\r\n }\r\n if (\"string\" === typeof o) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n var n = Object.prototype.toString.call(o).slice(8, -1);\r\n if (\"Object\" === n && o.constructor) {\r\n n = o.constructor.name\r\n }\r\n if (\"Map\" === n || \"Set\" === n) {\r\n return Array.from(o)\r\n }\r\n if (\"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n}\r\n\r\nfunction _iterableToArray(iter) {\r\n if (\"undefined\" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter[\"@@iterator\"]) {\r\n return Array.from(iter)\r\n }\r\n}\r\n\r\nfunction _arrayWithoutHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return _arrayLikeToArray(arr)\r\n }\r\n}\r\n\r\nfunction _arrayLikeToArray(arr, len) {\r\n if (null == len || len > arr.length) {\r\n len = arr.length\r\n }\r\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\r\n arr2[i] = arr[i]\r\n }\r\n return arr2\r\n}\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\nvar DataProvider = function() {\r\n function DataProvider(exportController, initialColumnWidthsByColumnIndex, selectedRowsOnly) {\r\n this._exportController = exportController;\r\n this._initialColumnWidthsByColumnIndex = initialColumnWidthsByColumnIndex;\r\n this._selectedRowsOnly = selectedRowsOnly\r\n }\r\n var _proto = DataProvider.prototype;\r\n _proto._getGroupValue = function(item) {\r\n var key = item.key,\r\n data = item.data,\r\n rowType = item.rowType,\r\n groupIndex = item.groupIndex,\r\n summaryCells = item.summaryCells;\r\n var groupColumn = this._options.groupColumns[groupIndex];\r\n var value = _m_core.default.getDisplayValue(groupColumn, groupColumn.deserializeValue ? groupColumn.deserializeValue(key[groupIndex]) : key[groupIndex], data, rowType);\r\n var result = \"\".concat(groupColumn.caption, \": \").concat(_m_core.default.formatValue(value, groupColumn));\r\n if (summaryCells && summaryCells[0] && summaryCells[0].length) {\r\n result += \" \".concat(_m_core.default.getGroupRowSummaryText(summaryCells[0], this._options.summaryTexts))\r\n }\r\n return result\r\n };\r\n _proto._correctCellIndex = function(cellIndex) {\r\n return cellIndex\r\n };\r\n _proto._initOptions = function() {\r\n var exportController = this._exportController;\r\n var groupColumns = exportController._columnsController.getGroupColumns();\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 isHeadersVisible: exportController.option(\"showColumnHeaders\"),\r\n summaryTexts: exportController.option(\"summary.texts\"),\r\n rtlEnabled: exportController.option(\"rtlEnabled\")\r\n }\r\n };\r\n _proto.getHeaderStyles = function() {\r\n return [{\r\n bold: true,\r\n alignment: \"center\"\r\n }, {\r\n bold: true,\r\n alignment: \"left\"\r\n }, {\r\n bold: true,\r\n alignment: \"right\"\r\n }]\r\n };\r\n _proto.getGroupRowStyle = function() {\r\n return {\r\n bold: true,\r\n alignment: (0, _position.getDefaultAlignment)(this._options.rtlEnabled)\r\n }\r\n };\r\n _proto.getColumnStyles = function() {\r\n var columnStyles = [];\r\n this.getColumns().forEach((function(column) {\r\n columnStyles.push({\r\n alignment: column.alignment || \"left\",\r\n format: column.format,\r\n dataType: column.dataType\r\n })\r\n }));\r\n return columnStyles\r\n };\r\n _proto.getStyles = function() {\r\n return [].concat(_toConsumableArray(this.getHeaderStyles()), _toConsumableArray(this.getColumnStyles()), [this.getGroupRowStyle()])\r\n };\r\n _proto._getTotalCellStyleId = function(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((function(style) {\r\n return style.alignment\r\n })).indexOf(alignment)\r\n };\r\n _proto.getStyleId = function(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 _proto.getColumns = function(getColumnsByAllRows) {\r\n var columns = this._options.columns;\r\n return getColumnsByAllRows ? columns : columns[columns.length - 1]\r\n };\r\n _proto.getColumnsWidths = function() {\r\n var columns = this.getColumns();\r\n return (0, _type.isDefined)(columns) ? columns.map((function(c) {\r\n return c.width\r\n })) : void 0\r\n };\r\n _proto.getRowsCount = function() {\r\n return this._options.items.length + this.getHeaderRowCount()\r\n };\r\n _proto.getHeaderRowCount = function() {\r\n if (this.isHeadersVisible()) {\r\n return this._options.columns.length - 1\r\n }\r\n return 0\r\n };\r\n _proto.isGroupRow = function(rowIndex) {\r\n return rowIndex < this._options.items.length && \"group\" === this._options.items[rowIndex].rowType\r\n };\r\n _proto.getGroupLevel = function(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 (0, _type.isDefined)(groupIndex) ? groupIndex : this._options.groupColumns.length\r\n };\r\n _proto.getCellType = function(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)]) && !(0, _type.isDefined)(column.customizeText)) {\r\n return (0, _type.isDefined)(column.lookup) ? column.lookup.dataType : column.dataType\r\n }\r\n }\r\n return \"string\"\r\n }\r\n };\r\n _proto.ready = function() {\r\n this._initOptions();\r\n var options = this._options;\r\n return (0, _deferred.when)(options.items).done((function(items) {\r\n options.items = items\r\n })).fail((function() {\r\n options.items = []\r\n }))\r\n };\r\n _proto._convertFromGridGroupSummaryItems = function(gridGroupSummaryItems) {\r\n if ((0, _type.isDefined)(gridGroupSummaryItems) && gridGroupSummaryItems.length > 0) {\r\n return gridGroupSummaryItems.map((function(item) {\r\n return {\r\n value: item.value,\r\n name: item.name\r\n }\r\n }))\r\n }\r\n };\r\n _proto.getCellData = function(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 ((0, _type.isDefined)(value)) {\r\n result.cellSourceData.value = value.value;\r\n result.cellSourceData.totalSummaryItemName = value.name;\r\n result.value = _m_core.default.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 \" : \"\") + _m_core.default.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 = _m_core.default.getDisplayValue(column, _value, item.data, item.rowType);\r\n if (!isFinite(displayValue) || (0, _type.isDefined)(column.customizeText)) {\r\n if (isExcelJS && (0, _type.isDefined)(column.customizeText) && column.customizeText === this._exportController._columnsController.getCustomizeTextByDataType(\"boolean\")) {\r\n result.value = displayValue\r\n } else {\r\n result.value = _m_core.default.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 _proto.isHeadersVisible = function() {\r\n return this._options.isHeadersVisible\r\n };\r\n _proto.isTotalCell = function(rowIndex, cellIndex) {\r\n var items = this._options.items;\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 _proto.getCellMerging = function(rowIndex, cellIndex) {\r\n var columns = this._options.columns;\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 _proto.getFrozenArea = function() {\r\n return {\r\n x: 0,\r\n y: this.getHeaderRowCount()\r\n }\r\n };\r\n return DataProvider\r\n}();\r\nexports.DataProvider = DataProvider;\r\nvar ExportController = function(_dataGridCore$ViewCon) {\r\n _inheritsLoose(ExportController, _dataGridCore$ViewCon);\r\n\r\n function ExportController() {\r\n return _dataGridCore$ViewCon.apply(this, arguments) || this\r\n }\r\n var _proto2 = ExportController.prototype;\r\n _proto2._getEmptyCell = function() {\r\n return {\r\n caption: \"\",\r\n colspan: 1,\r\n rowspan: 1\r\n }\r\n };\r\n _proto2._updateColumnWidth = function(column, width) {\r\n column.width = width\r\n };\r\n _proto2._getColumns = function(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 = (0, _extend.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 ((0, _type.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 = (0, _m_export.prepareItems)(result.slice(0, -1), this._getEmptyCell());\r\n result.push(columns);\r\n return result\r\n };\r\n _proto2._calculateExportColspan = function(column) {\r\n var _this = this;\r\n if (!column.isBand) {\r\n return\r\n }\r\n var childColumns = this._columnsController.getChildrenByBandColumn(column.index, true);\r\n if (!(0, _type.isDefined)(childColumns)) {\r\n return\r\n }\r\n return childColumns.reduce((function(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 _proto2._needColumnExporting = function(column) {\r\n return !column.command && (column.allowExporting || void 0 === column.allowExporting)\r\n };\r\n _proto2._getFooterSummaryItems = function(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 _proto2._hasSummaryGroupFooters = function() {\r\n var groupItems = this.option(\"summary.groupItems\");\r\n if ((0, _type.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 _proto2._getItemsWithSummaryGroupFooters = function(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 _proto2._updateGroupValuesWithSummaryByColumn = function(sourceItems) {\r\n var summaryValues = [];\r\n for (var i = 0; i < sourceItems.length; i++) {\r\n var item = sourceItems[i];\r\n var summaryCells = item.summaryCells;\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 var _item$values;\r\n (_item$values = item.values).push.apply(_item$values, _toConsumableArray(summaryValues));\r\n summaryValues = []\r\n }\r\n }\r\n }\r\n };\r\n _proto2._processUnExportedItems = function(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 _proto2._getAllItems = function(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.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 (0, _deferred.when)(data).done((function(data) {\r\n dataController.loadAll(data, skipFilter).done((function(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 ((0, _type.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 _proto2._getSummaryCells = function(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), (function(summaryItem, column) {\r\n return dataController._isDataColumn(column) ? column.index : -1\r\n }))\r\n };\r\n _proto2._getSelectedItems = function() {\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 _proto2._getColumnWidths = function(headersView, rowsView) {\r\n return headersView && headersView.isVisible() ? headersView.getColumnWidths() : rowsView.getColumnWidths()\r\n };\r\n _proto2.init = function() {\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 };\r\n _proto2.callbackNames = function() {\r\n return [\"selectionOnlyChanged\"]\r\n };\r\n _proto2.getDataProvider = function(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 _proto2.exportTo = function(selectedRowsOnly, format) {\r\n this._selectionOnly = selectedRowsOnly;\r\n var onExporting = this.getAction(\"onExporting\");\r\n var eventArgs = {\r\n rtlEnabled: this.option(\"rtlEnabled\"),\r\n selectedRowsOnly: !!selectedRowsOnly,\r\n format: format,\r\n fileName: \"DataGrid\",\r\n cancel: false\r\n };\r\n (0, _type.isFunction)(onExporting) && onExporting(eventArgs)\r\n };\r\n _proto2.publicMethods = function() {\r\n return [\"getDataProvider\"]\r\n };\r\n _proto2.selectionOnly = function(value) {\r\n if ((0, _type.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 _proto2.needLoadItemsOnExportingSelectedItems = function() {\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 return ExportController\r\n}(_m_core.default.ViewController);\r\nexports.ExportController = ExportController;\r\n_m_core.default.registerModule(\"export\", {\r\n defaultOptions: function() {\r\n return {\r\n export: {\r\n enabled: false,\r\n fileName: \"DataGrid\",\r\n formats: [\"xlsx\"],\r\n allowExportSelectedData: false,\r\n texts: {\r\n exportTo: _message.default.format(\"dxDataGrid-exportTo\"),\r\n exportAll: _message.default.format(\"dxDataGrid-exportAll\"),\r\n exportSelectedRows: _message.default.format(\"dxDataGrid-exportSelectedRows\")\r\n }\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: function() {\r\n var callbackList = this.callBase();\r\n return (0, _type.isDefined)(callbackList) ? callbackList.push(\"editingButtonsUpdated\") : [\"editingButtonsUpdated\"]\r\n },\r\n _updateEditButtons: function() {\r\n this.callBase();\r\n this.editingButtonsUpdated.fire()\r\n }\r\n }\r\n },\r\n views: {\r\n headerPanel: {\r\n _getToolbarItems: function() {\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: function() {\r\n var _this2 = this;\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 = function(_data, _index, container) {\r\n _this2._createComponent((0, _renderer.default)(container), _list_light.default, {\r\n items: items\r\n })\r\n }\r\n }\r\n return toolbarButtonOptions\r\n },\r\n _getExportToolbarItems: function() {\r\n var _this3 = this;\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((function(formatType) {\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 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: (0, _string.format)(texts.exportAll, formatName),\r\n icon: exportAllIcon,\r\n onClick: function() {\r\n _this3._exportController.exportTo(false, formatType)\r\n }\r\n });\r\n if (exportOptions.allowExportSelectedData) {\r\n items.push({\r\n text: (0, _string.format)(texts.exportSelectedRows, formatName),\r\n icon: exportSelectedIcon,\r\n onClick: function() {\r\n _this3._exportController.exportTo(true, formatType)\r\n }\r\n })\r\n }\r\n }));\r\n return items\r\n },\r\n _correctItemsPosition: function(items) {\r\n items.sort((function(itemA, itemB) {\r\n return itemA.sortIndex - itemB.sortIndex\r\n }))\r\n },\r\n _isExportButtonVisible: function() {\r\n return this.option(\"export.enabled\")\r\n },\r\n optionChanged: function(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: function() {\r\n var isDataColumnsInvisible = !this._columnsController.hasVisibleDataColumns();\r\n var hasUnsavedChanges = this._editingController.hasChanges();\r\n return isDataColumnsInvisible || hasUnsavedChanges\r\n },\r\n _columnOptionChanged: function(e) {\r\n this.callBase(e);\r\n var isColumnLocationChanged = _m_core.default.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: function() {\r\n var _this4 = this;\r\n this.callBase();\r\n this._exportController = this.getController(\"export\");\r\n this._editingController = this.getController(\"editing\");\r\n this._editingController.editingButtonsUpdated.add((function() {\r\n var disabled = _this4._needDisableExportButton();\r\n _this4.setToolbarItemDisabled(\"exportButton\", disabled)\r\n }))\r\n },\r\n isVisible: function() {\r\n return this.callBase() || this._isExportButtonVisible()\r\n }\r\n }\r\n }\r\n }\r\n});\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/data_grid/focus/m_focus.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _common = require(\"../../../../core/utils/common\");\r\nvar _data = require(\"../../../../core/utils/data\");\r\nvar _deferred = require(\"../../../../core/utils/deferred\");\r\nvar _extend = require(\"../../../../core/utils/extend\");\r\nvar _type = require(\"../../../../core/utils/type\");\r\nvar _m_focus = require(\"../../../grids/grid_core/focus/m_focus\");\r\nvar _m_core = _interopRequireDefault(require(\"../m_core\"));\r\nvar _m_utils = require(\"../m_utils\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || 9007199254740991;\r\n_m_core.default.registerModule(\"focus\", (0, _extend.extend)(true, {}, _m_focus.focusModule, {\r\n extenders: {\r\n controllers: {\r\n data: function(Base) {\r\n return function(_Base$inherit) {\r\n _inheritsLoose(FocusDataControllerExtender, _Base$inherit);\r\n\r\n function FocusDataControllerExtender() {\r\n return _Base$inherit.apply(this, arguments) || this\r\n }\r\n var _proto = FocusDataControllerExtender.prototype;\r\n _proto.changeRowExpand = function(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 _Base$inherit.prototype.changeRowExpand.call(this, path, isRowClick)\r\n };\r\n _proto._isFocusedRowInsideGroup = function(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 = (0, _data.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 _proto._getGroupPath = function(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 _proto._expandGroupByPath = function(that, groupPath, level) {\r\n var d = new _deferred.Deferred;\r\n level++;\r\n that.expandRow(groupPath.slice(0, level)).done((function() {\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 _proto._calculateGlobalRowIndexByGroupedData = function(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.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((function(data) {\r\n if (!data || 0 === data.length || !(0, _type.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((function() {\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 _proto._calculateExpandedRowGlobalIndex = function(deferred, key, groupPath, group) {\r\n var groupFilter = (0, _m_utils.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 }, (function(groupInfo, totalOffset) {\r\n if ((0, _common.equalByValue)(groupInfo.path, groupPath)) {\r\n groupOffset = totalOffset\r\n }\r\n }));\r\n this._calculateGlobalRowIndexByFlatData(key, groupFilter).done((function(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 return FocusDataControllerExtender\r\n }(Base.inherit(_m_focus.focusModule.extenders.controllers.data))\r\n }\r\n }\r\n }\r\n}));\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/data_grid/grouping/m_grouping.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.GroupingHeaderPanelExtender = void 0;\r\nvar _devices = _interopRequireDefault(require(\"../../../../core/devices\"));\r\nvar _renderer = _interopRequireDefault(require(\"../../../../core/renderer\"));\r\nvar _deferred = require(\"../../../../core/utils/deferred\");\r\nvar _iterator = require(\"../../../../core/utils/iterator\");\r\nvar _size = require(\"../../../../core/utils/size\");\r\nvar _type = require(\"../../../../core/utils/type\");\r\nvar _message = _interopRequireDefault(require(\"../../../../localization/message\"));\r\nvar _accessibility = require(\"../../../../ui/shared/accessibility\");\r\nvar _m_accessibility = require(\"../../../grids/grid_core/m_accessibility\");\r\nvar _m_core = _interopRequireDefault(require(\"../m_core\"));\r\nvar _m_data_source_adapter = _interopRequireDefault(require(\"../m_data_source_adapter\"));\r\nvar _m_grouping_collapsed = require(\"./m_grouping_collapsed\");\r\nvar _m_grouping_expanded = require(\"./m_grouping_expanded\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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: function() {\r\n this.callBase.apply(this, arguments);\r\n this._initGroupingHelper()\r\n },\r\n _initGroupingHelper: function(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 _m_grouping_collapsed.GroupingHelper) {\r\n this._grouping = new _m_grouping_expanded.GroupingHelper(this)\r\n }\r\n } else if (!grouping || grouping instanceof _m_grouping_expanded.GroupingHelper) {\r\n this._grouping = new _m_grouping_collapsed.GroupingHelper(this)\r\n }\r\n },\r\n totalItemsCount: function() {\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: function() {\r\n return this._dataSource.group() ? this._grouping.itemsCount() || 0 : this.callBase.apply(this, arguments)\r\n },\r\n allowCollapseAll: function() {\r\n return this._grouping.allowCollapseAll()\r\n },\r\n isGroupItemCountable: function(item) {\r\n return this._grouping.isGroupItemCountable(item)\r\n },\r\n isRowExpanded: function(key) {\r\n var groupInfo = this._grouping.findGroupInfo(key);\r\n return groupInfo ? groupInfo.isExpanded : !this._grouping.allowCollapseAll()\r\n },\r\n collapseAll: function(groupIndex) {\r\n return this._collapseExpandAll(groupIndex, false)\r\n },\r\n expandAll: function(groupIndex) {\r\n return this._collapseExpandAll(groupIndex, true)\r\n },\r\n _collapseExpandAll: function(groupIndex, isExpand) {\r\n var dataSource = this._dataSource;\r\n var group = dataSource.group();\r\n var groups = _m_core.default.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((function(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: function() {\r\n this.callBase.apply(this, arguments);\r\n return this._grouping.refresh.apply(this._grouping, arguments)\r\n },\r\n changeRowExpand: function(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((function() {\r\n dataSource.endLoading()\r\n }))\r\n }\r\n },\r\n _changeRowExpandCore: function(path) {\r\n return this._grouping.changeRowExpand(path)\r\n },\r\n _hasGroupLevelsExpandState: function(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: function(options, operationTypes) {\r\n var remoteOperations = options.remoteOperations;\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: function(options) {\r\n this.callBase(options);\r\n this._initGroupingHelper(options);\r\n return this._grouping.handleDataLoading(options)\r\n },\r\n _handleDataLoaded: function(options) {\r\n return this._grouping.handleDataLoaded(options, this.callBase.bind(this))\r\n },\r\n _handleDataLoadedCore: function(options) {\r\n return this._grouping.handleDataLoadedCore(options, this.callBase.bind(this))\r\n }\r\n};\r\n_m_data_source_adapter.default.extend(GroupingDataSourceAdapterExtender);\r\nvar GroupingDataControllerExtender = {\r\n init: function() {\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: function(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: function(item, options) {\r\n if ((0, _type.isDefined)(item.groupIndex) && (0, _type.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: function(item) {\r\n return item\r\n },\r\n _processGroupItems: function(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 _options = options,\r\n resultItems = _options.resultItems;\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: function() {\r\n return this.callBase().concat([\"collapseAll\", \"expandAll\", \"isRowExpanded\", \"expandRow\", \"collapseRow\"])\r\n },\r\n collapseAll: function(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: function(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: function(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 (0, _deferred.when)(that._changeRowExpandCore(key)).done((function() {\r\n args.expanded = !expanded;\r\n that.executeAction(expanded ? \"onRowCollapsed\" : \"onRowExpanded\", args)\r\n }))\r\n }\r\n return (new _deferred.Deferred).resolve()\r\n },\r\n _changeRowExpandCore: function(key) {\r\n var that = this;\r\n var dataSource = this._dataSource;\r\n var d = new _deferred.Deferred;\r\n if (!dataSource) {\r\n d.resolve()\r\n } else {\r\n (0, _deferred.when)(dataSource.changeRowExpand(key)).done((function() {\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: function(key) {\r\n var dataSource = this._dataSource;\r\n return dataSource && dataSource.isRowExpanded(key)\r\n },\r\n expandRow: function(key) {\r\n if (!this.isRowExpanded(key)) {\r\n return this.changeRowExpand(key)\r\n }\r\n return (new _deferred.Deferred).resolve()\r\n },\r\n collapseRow: function(key) {\r\n if (this.isRowExpanded(key)) {\r\n return this.changeRowExpand(key)\r\n }\r\n return (new _deferred.Deferred).resolve()\r\n },\r\n optionChanged: function(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\nvar isGroupPanelVisible = function(groupPanelOptions) {\r\n var visible = null === groupPanelOptions || void 0 === groupPanelOptions ? void 0 : groupPanelOptions.visible;\r\n return \"auto\" === visible ? \"desktop\" === _devices.default.current().deviceType : !!visible\r\n};\r\nvar _allowDragging = function(groupPanelOptions, column) {\r\n var isVisible = isGroupPanelVisible(groupPanelOptions);\r\n var canDrag = (null === groupPanelOptions || void 0 === groupPanelOptions ? void 0 : groupPanelOptions.allowColumnDragging) && column.allowGrouping;\r\n return isVisible && !!canDrag\r\n};\r\nvar GroupingHeaderPanelExtender = {\r\n _getToolbarItems: function() {\r\n var items = this.callBase();\r\n return this._appendGroupingItem(items)\r\n },\r\n _appendGroupingItem: function(items) {\r\n var _this = this;\r\n if (this._isGroupPanelVisible()) {\r\n var isRendered = false;\r\n var toolbarItem = {\r\n template: function() {\r\n var $groupPanel = (0, _renderer.default)(\"
    \").addClass(DATAGRID_GROUP_PANEL_CLASS);\r\n _this._updateGroupPanelContent($groupPanel);\r\n (0, _m_accessibility.registerKeyboardAction)(\"groupPanel\", _this, $groupPanel, void 0, _this._handleActionKeyDown.bind(_this));\r\n return $groupPanel\r\n },\r\n name: \"groupPanel\",\r\n onItemRendered: function() {\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: function(args) {\r\n var event = args.event;\r\n var $target = (0, _renderer.default)(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: function() {\r\n return isGroupPanelVisible(this.option(\"groupPanel\"))\r\n },\r\n _renderGroupPanelItems: function($groupPanel, groupColumns) {\r\n var that = this;\r\n $groupPanel.empty();\r\n (0, _iterator.each)(groupColumns, (function(index, groupColumn) {\r\n that._createGroupPanelItem($groupPanel, groupColumn)\r\n }));\r\n (0, _accessibility.restoreFocus)(this)\r\n },\r\n _createGroupPanelItem: function($rootElement, groupColumn) {\r\n var $groupPanelItem = (0, _renderer.default)(\"
    \").addClass(groupColumn.cssClass).addClass(DATAGRID_GROUP_PANEL_ITEM_CLASS).data(\"columnData\", groupColumn).appendTo($rootElement).text(groupColumn.caption);\r\n (0, _accessibility.setTabIndex)(this, $groupPanelItem);\r\n return $groupPanelItem\r\n },\r\n _columnOptionChanged: function(e) {\r\n if (!this._requireReady && !_m_core.default.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: function($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 (0, _renderer.default)(\"
    \").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: function(column) {\r\n var groupPanelOptions = this.option(\"groupPanel\");\r\n return _allowDragging(groupPanelOptions, column)\r\n },\r\n getColumnElements: function() {\r\n var $element = this.element();\r\n return $element && $element.find(\".\".concat(DATAGRID_GROUP_PANEL_ITEM_CLASS))\r\n },\r\n getColumns: function() {\r\n return this.getController(\"columns\").getGroupColumns()\r\n },\r\n getBoundingRect: function() {\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 + (0, _size.getHeight)($element)\r\n }\r\n }\r\n return null\r\n },\r\n getName: function() {\r\n return \"group\"\r\n },\r\n getContextMenuItems: function(options) {\r\n var contextMenuEnabled = this.option(\"grouping.contextMenuEnabled\");\r\n var $groupedColumnElement = (0, _renderer.default)(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 column = options.column;\r\n var isGroupingAllowed = (0, _type.isDefined)(column.allowGrouping) ? column.allowGrouping : true;\r\n if (isGroupingAllowed) {\r\n var isColumnGrouped = (0, _type.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: function() {\r\n return this.callBase() || this._isGroupPanelVisible()\r\n },\r\n hasGroupedColumns: function() {\r\n return this._isGroupPanelVisible() && !!this.getColumns().length\r\n },\r\n optionChanged: function(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\nexports.GroupingHeaderPanelExtender = GroupingHeaderPanelExtender;\r\nvar GroupingRowsViewExtender = {\r\n getContextMenuItems: function(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: function(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 && (0, _renderer.default)(e.event.target).closest(\".\".concat(DATAGRID_GROUP_ROW_CLASS)).length;\r\n var isExpandButtonClicked = (0, _renderer.default)(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: function(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: function(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 column = options.column;\r\n if (!column.command && (!(0, _type.isDefined)(column.allowGrouping) || column.allowGrouping)) {\r\n var groupingTexts = this.option(\"grouping.texts\");\r\n var isColumnGrouped = (0, _type.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 allowDragging: function(column) {\r\n var groupPanelOptions = this.option(\"groupPanel\");\r\n return _allowDragging(groupPanelOptions, column) || this.callBase(column)\r\n }\r\n};\r\n_m_core.default.registerModule(\"grouping\", {\r\n defaultOptions: function() {\r\n return {\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: _message.default.format(\"dxDataGrid-groupContinuesMessage\"),\r\n groupContinuedMessage: _message.default.format(\"dxDataGrid-groupContinuedMessage\"),\r\n groupByThisColumn: _message.default.format(\"dxDataGrid-groupHeaderText\"),\r\n ungroup: _message.default.format(\"dxDataGrid-ungroupHeaderText\"),\r\n ungroupAll: _message.default.format(\"dxDataGrid-ungroupAllText\")\r\n }\r\n },\r\n groupPanel: {\r\n visible: false,\r\n emptyPanelText: _message.default.format(\"dxDataGrid-groupPanelEmptyText\"),\r\n allowColumnDragging: true\r\n }\r\n }\r\n },\r\n extenders: {\r\n controllers: {\r\n data: GroupingDataControllerExtender,\r\n columns: {\r\n _getExpandColumnOptions: function() {\r\n var options = this.callBase.apply(this, arguments);\r\n options.cellTemplate = _m_core.default.getExpandCellTemplate();\r\n return options\r\n }\r\n },\r\n editing: {\r\n _isProcessedItem: function(item) {\r\n return (0, _type.isDefined)(item.groupIndex) && (0, _type.isString)(item.rowType) && 0 === item.rowType.indexOf(\"group\")\r\n }\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 (cjs/__internal/grids/data_grid/grouping/m_grouping_collapsed.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.GroupingHelper = void 0;\r\nvar _deferred = require(\"../../../../core/utils/deferred\");\r\nvar _extend = require(\"../../../../core/utils/extend\");\r\nvar _iterator = require(\"../../../../core/utils/iterator\");\r\nvar _errors = require(\"../../../../data/errors\");\r\nvar _ui = _interopRequireDefault(require(\"../../../../ui/widget/ui.errors\"));\r\nvar _m_core = _interopRequireDefault(require(\"../m_core\"));\r\nvar _m_utils = require(\"../m_utils\");\r\nvar _m_grouping_core = require(\"./m_grouping_core\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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\nvar GroupingHelper = _m_grouping_core.GroupingHelper.inherit(function() {\r\n var foreachExpandedGroups = function(that, callback, updateGroups) {\r\n return that.foreachGroups((function(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.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 (0, _iterator.each)(expandedInfo.paths, (function(expandedItemIndex) {\r\n var _a;\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: (0, _m_utils.createGroupFilter)(expandedInfo.paths[expandedItemIndex], {\r\n filter: options.storeLoadOptions.filter,\r\n group: groups\r\n }),\r\n select: options.storeLoadOptions.select,\r\n langParams: null === (_a = options.storeLoadOptions) || void 0 === _a ? void 0 : _a.langParams\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 (0, _deferred.when)(loadResult).done((function(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 _deferred.when.apply(null, deferreds).done((function() {\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 (0, _iterator.each)(expandedInfo.paths, (function(_, expandedPath) {\r\n expandedFilters.push((0, _m_utils.createGroupFilter)(expandedPath, {\r\n group: options.isCustomLoading ? options.storeLoadOptions.group : groups\r\n }))\r\n }));\r\n var filter = options.storeLoadOptions.filter;\r\n if (!options.storeLoadOptions.isLoadingAll) {\r\n filter = _m_core.default.combineFilters([filter, _m_core.default.combineFilters(expandedFilters, \"or\")])\r\n }\r\n var loadOptions = (0, _extend.extend)({}, options.storeLoadOptions, {\r\n requireTotalCount: false,\r\n requireGroupCount: false,\r\n group: null,\r\n sort: groups.concat(_m_core.default.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 }(0, _deferred.when)(0 === expandedInfo.take ? [] : that._dataSource.loadFromStore(loadOptions)).done((function(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 }(0, _iterator.each)(expandedInfo.items, (function(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.Deferred;\r\n var isGrouping = !!(options.group && options.group.length);\r\n var loadOptions = (0, _extend.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((function(data, extra) {\r\n var count = extra && (isGrouping ? extra.groupCount : extra.totalCount);\r\n if (!isFinite(count)) {\r\n d.reject(_errors.errors.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: function(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, (function(groupInfo) {\r\n groupInfo.childrenTotalCount = 0\r\n }));\r\n foreachExpandedGroups(this, (function(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: function(groupIndex) {\r\n var groups = this._dataSource.group();\r\n return isGroupExpanded(groups, groupIndex)\r\n },\r\n _updatePagingOptions: function(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, (function(groupInfo) {\r\n groupInfo.childrenTotalCount = 0;\r\n groupInfo.skipChildrenTotalCount = 0\r\n }));\r\n foreachExpandedGroups(this, (function(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: function(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 = _m_core.default.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: (0, _m_utils.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((function(groupCount) {\r\n groupInfo.count = groupCount\r\n }))\r\n }\r\n return (new _deferred.Deferred).resolve()\r\n }\r\n return (new _deferred.Deferred).reject()\r\n },\r\n handleDataLoading: function(options) {\r\n var storeLoadOptions = options.storeLoadOptions;\r\n var groups = _m_core.default.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 = _m_core.default.normalizeSortingInfo(storeLoadOptions.group);\r\n storeLoadOptions.group.forEach((function(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: function(options, callBase) {\r\n var loadedGroupCount = _m_core.default.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((function(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.Deferred).reject(_ui.default.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.Deferred).reject(_errors.errors.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 }\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: function(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: function(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((function(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: function(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: function() {\r\n return false\r\n },\r\n sortLastLevelGroupItems: function(items) {\r\n return items\r\n },\r\n refresh: function(options, operationTypes) {\r\n var that = this;\r\n var dataSource = that._dataSource;\r\n var storeLoadOptions = options.storeLoadOptions;\r\n var group = options.group || options.storeLoadOptions.group;\r\n var oldGroups = _m_core.default.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, (function(groupInfo) {\r\n var groupCountQuery = loadGroupTotalCount(dataSource, {\r\n filter: (0, _m_utils.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: (0, _m_grouping_core.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 (0, _deferred.when)(groupOffsetQuery, groupCountQuery).done((function(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\nexports.GroupingHelper = GroupingHelper;\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/data_grid/grouping/m_grouping_core.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.GroupingHelper = void 0;\r\nexports.createOffsetFilter = createOffsetFilter;\r\nvar _class = _interopRequireDefault(require(\"../../../../core/class\"));\r\nvar _renderer = _interopRequireDefault(require(\"../../../../core/renderer\"));\r\nvar _deferred = require(\"../../../../core/utils/deferred\");\r\nvar _utils = require(\"../../../../data/utils\");\r\nvar _m_core = _interopRequireDefault(require(\"../m_core\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction createOffsetFilter(path, storeLoadOptions, lastLevelOnly) {\r\n var groups = (0, _utils.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 selector = groups[j].selector;\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(_m_core.default.combineFilters(filterElement))\r\n }\r\n filter = _m_core.default.combineFilters(filter, \"or\");\r\n return _m_core.default.combineFilters([filter, storeLoadOptions.filter])\r\n}\r\nvar GroupingHelper = _class.default.inherit(function() {\r\n var findGroupInfoByKey = function(groupsInfo, key) {\r\n var hash = groupsInfo.hash;\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: function(dataSourceAdapter) {\r\n this._dataSource = dataSourceAdapter;\r\n this.reset()\r\n },\r\n reset: function() {\r\n this._groupsInfo = [];\r\n this._totalCountCorrection = 0\r\n },\r\n totalCountCorrection: function() {\r\n return this._totalCountCorrection\r\n },\r\n updateTotalItemsCount: function(totalCountCorrection) {\r\n this._totalCountCorrection = totalCountCorrection || 0\r\n },\r\n isGroupItemCountable: function(item) {\r\n return !this._isVirtualPaging() || !item.isContinuation\r\n },\r\n _isVirtualPaging: function() {\r\n var scrollingMode = this._dataSource.option(\"scrolling.mode\");\r\n return \"virtual\" === scrollingMode || \"infinite\" === scrollingMode\r\n },\r\n itemsCount: function() {\r\n var dataSourceAdapter = this._dataSource;\r\n var dataSource = dataSourceAdapter._dataSource;\r\n var groupCount = _m_core.default.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: function(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 children = groupsInfo[i].children;\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 && _deferred.when.apply(_renderer.default, callbackResults).always((function() {\r\n that._updateGroupInfoOffsets(groupsInfo, currentParents)\r\n }))\r\n }(that._groupsInfo, callback, childrenAtFirst, [])\r\n },\r\n _updateGroupInfoOffsets: function(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((function(a, b) {\r\n return a.offset - b.offset\r\n }))\r\n },\r\n findGroupInfo: function(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: function(groupInfoData) {\r\n var groupInfo;\r\n var path = groupInfoData.path;\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: function() {\r\n return true\r\n },\r\n refresh: function(options) {\r\n var storeLoadOptions = options.storeLoadOptions;\r\n var groups = (0, _utils.normalizeSortingInfo)(storeLoadOptions.group || []);\r\n var oldGroups = \"_group\" in this ? (0, _utils.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: function() {},\r\n handleDataLoaded: function(options, callBase) {\r\n callBase(options)\r\n },\r\n handleDataLoadedCore: function(options, callBase) {\r\n callBase(options)\r\n }\r\n }\r\n}());\r\nexports.GroupingHelper = GroupingHelper;\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/data_grid/grouping/m_grouping_expanded.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.GroupingHelper = void 0;\r\nvar _data = require(\"../../../../core/utils/data\");\r\nvar _deferred = require(\"../../../../core/utils/deferred\");\r\nvar _extend = require(\"../../../../core/utils/extend\");\r\nvar _iterator = require(\"../../../../core/utils/iterator\");\r\nvar _query = _interopRequireDefault(require(\"../../../../data/query\"));\r\nvar _store_helper = _interopRequireDefault(require(\"../../../../data/store_helper\"));\r\nvar _utils = require(\"../../../../data/utils\");\r\nvar _m_core = _interopRequireDefault(require(\"../m_core\"));\r\nvar _m_utils = require(\"../m_utils\");\r\nvar _m_grouping_core = require(\"./m_grouping_core\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar loadTotalCount = function(dataSource, options) {\r\n var d = new _deferred.Deferred;\r\n var loadOptions = (0, _extend.extend)({\r\n skip: 0,\r\n take: 1,\r\n requireTotalCount: true\r\n }, options);\r\n dataSource.load(loadOptions).done((function(data, extra) {\r\n d.resolve(extra && extra.totalCount)\r\n })).fail(d.reject.bind(d));\r\n return d\r\n};\r\nvar GroupingHelper = _m_grouping_core.GroupingHelper.inherit(function() {\r\n var foreachCollapsedGroups = function(that, callback, updateOffsets) {\r\n return that.foreachGroups((function(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, (function(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 (!(0, _utils.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: function(options) {\r\n var storeLoadOptions = options.storeLoadOptions;\r\n var collapsedGroups = [];\r\n var collapsedItemsCount = 0;\r\n var skipFirstItem = false;\r\n var take;\r\n var group = options.loadOptions.group;\r\n var skipCorrection = 0;\r\n ! function(storeLoadOptions, loadOptions) {\r\n if (loadOptions.group) {\r\n var groups = _m_core.default.normalizeSortingInfo(loadOptions.group);\r\n var sorts = _m_core.default.normalizeSortingInfo(storeLoadOptions.sort);\r\n storeLoadOptions.sort = _store_helper.default.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 = (0, _extend.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, (function(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 (0, _iterator.each)(collapsedGroups, (function() {\r\n loadOptions.filter = function(path, storeLoadOptions, group) {\r\n var groups = _m_core.default.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(_m_core.default.combineFilters(filterElement))\r\n }\r\n filter = _m_core.default.combineFilters(filter, \"or\");\r\n return _m_core.default.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: function(options, callBase) {\r\n var collapsedGroups = options.collapsedGroups;\r\n var groups = _m_core.default.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 = (0, _data.toComparable)(path[0], true);\r\n for (i = 0; i < data.length; i++) {\r\n keyValue = (0, _data.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 data = options.data;\r\n var query = (0, _query.default)(data);\r\n _store_helper.default.multiLevelGroup(query, groups).enumerate().done((function(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: function(item) {\r\n return null === item.items\r\n },\r\n updateTotalItemsCount: function() {\r\n var itemsCountCorrection = 0;\r\n foreachCollapsedGroups(this, (function(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: function(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.Deferred).resolve(groupInfo.count)\r\n } else {\r\n groupCountQuery = loadTotalCount(dataSource, {\r\n filter: (0, _m_utils.createGroupFilter)(path, {\r\n filter: dataSource.filter(),\r\n group: dataSource.group()\r\n })\r\n })\r\n }\r\n return (0, _deferred.when)(groupCountQuery).done((function(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: function() {\r\n return false\r\n },\r\n refresh: function(options, operationTypes) {\r\n var that = this;\r\n var storeLoadOptions = options.storeLoadOptions;\r\n var dataSource = that._dataSource;\r\n this.callBase.apply(this, arguments);\r\n if (operationTypes.reload) {\r\n return foreachCollapsedGroups(that, (function(groupInfo) {\r\n var groupCountQuery = loadTotalCount(dataSource, {\r\n filter: (0, _m_utils.createGroupFilter)(groupInfo.path, storeLoadOptions)\r\n });\r\n var groupOffsetQuery = loadTotalCount(dataSource, {\r\n filter: (0, _m_grouping_core.createOffsetFilter)(groupInfo.path, storeLoadOptions)\r\n });\r\n return (0, _deferred.when)(groupOffsetQuery, groupCountQuery).done((function(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\nexports.GroupingHelper = GroupingHelper;\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/data_grid/m_aggregate_calculator.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.default = void 0;\r\nvar _class = _interopRequireDefault(require(\"../../../core/class\"));\r\nvar _data = require(\"../../../core/utils/data\");\r\nvar _type = require(\"../../../core/utils/type\");\r\nvar _errors = require(\"../../../data/errors\");\r\nvar _utils = require(\"../../../data/utils\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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 === _utils.aggregators.count\r\n}\r\n\r\nfunction normalizeAggregate(aggregate) {\r\n var selector = (0, _data.compileGetter)(aggregate.selector);\r\n var skipEmptyValues = \"skipEmptyValues\" in aggregate ? aggregate.skipEmptyValues : true;\r\n var aggregator = aggregate.aggregator;\r\n if (\"string\" === typeof aggregator) {\r\n aggregator = _utils.aggregators[aggregator];\r\n if (!aggregator) {\r\n throw _errors.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\nvar _default = _class.default.inherit({\r\n ctor: function(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: function() {\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: function() {\r\n return this._totals\r\n },\r\n _aggregate: function(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: function(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: function(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, (function(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: function(aggregates, groupIndex) {\r\n return map(aggregates, (function(aggregate) {\r\n var aggregator = aggregate.aggregator;\r\n var seed = \"seed\" in aggregator ? (0, _type.isFunction)(aggregator.seed) ? aggregator.seed(groupIndex) : aggregator.seed : NaN;\r\n return seed\r\n }))\r\n },\r\n _accumulate: function(aggregateIndex, aggregate, results, item) {\r\n var value = aggregate.selector(item);\r\n var aggregator = aggregate.aggregator;\r\n var skipEmptyValues = aggregate.skipEmptyValues;\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: function(aggregates, results) {\r\n return map(aggregates, (function(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\nexports.default = _default;\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/data_grid/m_columns_controller.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _extend = require(\"../../../core/utils/extend\");\r\nvar _m_columns_controller = require(\"../../grids/grid_core/columns_controller/m_columns_controller\");\r\nvar _m_core = _interopRequireDefault(require(\"./m_core\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n_m_core.default.registerModule(\"columns\", {\r\n defaultOptions: function() {\r\n return (0, _extend.extend)(true, {}, _m_columns_controller.columnsControllerModule.defaultOptions(), {\r\n commonColumnSettings: {\r\n allowExporting: true\r\n }\r\n })\r\n },\r\n controllers: _m_columns_controller.columnsControllerModule.controllers\r\n});\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/data_grid/m_core.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.default = void 0;\r\nvar _m_modules = _interopRequireDefault(require(\"../../grids/grid_core/m_modules\"));\r\nvar _m_utils = _interopRequireDefault(require(\"../../grids/grid_core/m_utils\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\nvar _default = _extends(_extends(_extends({}, _m_modules.default), _m_utils.default), {\r\n modules: []\r\n});\r\nexports.default = _default;\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/data_grid/m_data_controller.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.DataController = void 0;\r\nvar _ui = _interopRequireDefault(require(\"../../../ui/widget/ui.errors\"));\r\nvar _m_data_controller = require(\"../../grids/grid_core/data_controller/m_data_controller\");\r\nvar _m_core = _interopRequireDefault(require(\"./m_core\"));\r\nvar _m_data_source_adapter = _interopRequireDefault(require(\"./m_data_source_adapter\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar _a, _b;\r\nvar DataController = null === (_b = null === (_a = _m_data_controller.dataControllerModule.controllers) || void 0 === _a ? void 0 : _a.data) || void 0 === _b ? void 0 : _b.inherit({\r\n _getDataSourceAdapter: function() {\r\n return _m_data_source_adapter.default\r\n },\r\n _getSpecificDataSourceOption: function() {\r\n var dataSource = this.option(\"dataSource\");\r\n if (dataSource && !Array.isArray(dataSource) && this.option(\"keyExpr\")) {\r\n _ui.default.log(\"W1011\")\r\n }\r\n return this.callBase()\r\n }\r\n});\r\nexports.DataController = DataController;\r\n_m_core.default.registerModule(\"data\", {\r\n defaultOptions: _m_data_controller.dataControllerModule.defaultOptions,\r\n controllers: {\r\n data: DataController\r\n }\r\n});\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/data_grid/m_data_source_adapter.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.default = void 0;\r\nvar _m_data_source_adapter = _interopRequireDefault(require(\"../../grids/grid_core/data_source_adapter/m_data_source_adapter\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar dataSourceAdapterType = _m_data_source_adapter.default;\r\nvar _default = {\r\n extend: function(extender) {\r\n dataSourceAdapterType = dataSourceAdapterType.inherit(extender)\r\n },\r\n create: function(component) {\r\n return new dataSourceAdapterType(component)\r\n }\r\n};\r\nexports.default = _default;\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/data_grid/m_editing.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nrequire(\"./module_not_extended/editor_factory\");\r\nvar _extend = require(\"../../../core/utils/extend\");\r\nvar _m_editing = require(\"../../grids/grid_core/editing/m_editing\");\r\nvar _m_core = _interopRequireDefault(require(\"./m_core\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n_m_core.default.registerModule(\"editing\", (0, _extend.extend)(true, {}, _m_editing.editingModule, {\r\n extenders: {\r\n controllers: {\r\n data: {\r\n _changeRowExpandCore: function(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 (cjs/__internal/grids/data_grid/m_utils.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.createGroupFilter = createGroupFilter;\r\nvar _utils = require(\"../../../data/utils\");\r\nvar _m_utils = _interopRequireDefault(require(\"../../grids/grid_core/m_utils\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction createGroupFilter(path, storeLoadOptions) {\r\n var groups = (0, _utils.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 _m_utils.default.combineFilters(filter)\r\n}\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/data_grid/m_widget.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.default = void 0;\r\nvar _m_widget_base = _interopRequireDefault(require(\"./m_widget_base\"));\r\nrequire(\"./module_not_extended/state_storing\");\r\nrequire(\"./module_not_extended/selection\");\r\nrequire(\"./module_not_extended/column_chooser\");\r\nrequire(\"./grouping/m_grouping\");\r\nrequire(\"./module_not_extended/master_detail\");\r\nrequire(\"./m_editing\");\r\nrequire(\"./module_not_extended/editing_row_based\");\r\nrequire(\"./module_not_extended/editing_form_based\");\r\nrequire(\"./module_not_extended/editing_cell_based\");\r\nrequire(\"./module_not_extended/validating\");\r\nrequire(\"./module_not_extended/virtual_scrolling\");\r\nrequire(\"./module_not_extended/filter_row\");\r\nrequire(\"./module_not_extended/header_filter\");\r\nrequire(\"./module_not_extended/filter_sync\");\r\nrequire(\"./module_not_extended/filter_builder\");\r\nrequire(\"./module_not_extended/filter_panel\");\r\nrequire(\"./module_not_extended/search\");\r\nrequire(\"./module_not_extended/pager\");\r\nrequire(\"./module_not_extended/columns_resizing_reordering\");\r\nrequire(\"./module_not_extended/keyboard_navigation\");\r\nrequire(\"./summary/m_summary\");\r\nrequire(\"./module_not_extended/column_fixing\");\r\nrequire(\"./module_not_extended/adaptivity\");\r\nrequire(\"./module_not_extended/virtual_columns\");\r\nrequire(\"./export/m_export\");\r\nrequire(\"./focus/m_focus\");\r\nrequire(\"./module_not_extended/row_dragging\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar _default = _m_widget_base.default;\r\nexports.default = _default;\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/data_grid/m_widget_base.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.default = void 0;\r\nrequire(\"./module_not_extended/column_headers\");\r\nrequire(\"./m_columns_controller\");\r\nrequire(\"./m_data_controller\");\r\nrequire(\"./module_not_extended/sorting\");\r\nrequire(\"./module_not_extended/rows\");\r\nrequire(\"./module_not_extended/context_menu\");\r\nrequire(\"./module_not_extended/error_handling\");\r\nrequire(\"./module_not_extended/grid_view\");\r\nrequire(\"./module_not_extended/header_panel\");\r\nvar _component_registrator = _interopRequireDefault(require(\"../../../core/component_registrator\"));\r\nvar _renderer = _interopRequireDefault(require(\"../../../core/renderer\"));\r\nvar _browser = _interopRequireDefault(require(\"../../../core/utils/browser\"));\r\nvar _common = require(\"../../../core/utils/common\");\r\nvar _console = require(\"../../../core/utils/console\");\r\nvar _extend = require(\"../../../core/utils/extend\");\r\nvar _iterator = require(\"../../../core/utils/iterator\");\r\nvar _type = require(\"../../../core/utils/type\");\r\nvar _themes = require(\"../../../ui/themes\");\r\nvar _ui = _interopRequireDefault(require(\"../../../ui/widget/ui.widget\"));\r\nvar _m_utils = _interopRequireDefault(require(\"../../grids/grid_core/m_utils\"));\r\nvar _m_core = _interopRequireDefault(require(\"./m_core\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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\n_m_core.default.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 = _ui.default.inherit({\r\n _activeStateUnit: DATAGRID_ROW_SELECTOR,\r\n _getDefaultOptions: function() {\r\n var result = this.callBase();\r\n (0, _iterator.each)(_m_core.default.modules, (function() {\r\n if ((0, _type.isFunction)(this.defaultOptions)) {\r\n (0, _extend.extend)(true, result, this.defaultOptions())\r\n }\r\n }));\r\n return result\r\n },\r\n _setDeprecatedOptions: function() {\r\n this.callBase();\r\n (0, _extend.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 \"columnChooser.allowSearch\": {\r\n since: \"23.1\",\r\n message: 'Use the \"columnChooser.search.enabled\" option instead'\r\n },\r\n \"columnChooser.searchTimeout\": {\r\n since: \"23.1\",\r\n message: 'Use the \"columnChooser.search.timeout\" option instead'\r\n }\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 showRowLines: true\r\n }\r\n }, {\r\n device: function() {\r\n return (0, _themes.isMaterial)()\r\n },\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: function() {\r\n return _browser.default.webkit\r\n },\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: function(_device) {\r\n return \"desktop\" !== _device.deviceType\r\n },\r\n options: {\r\n grouping: {\r\n expandMode: \"rowClick\"\r\n }\r\n }\r\n }])\r\n },\r\n _init: function() {\r\n this.callBase();\r\n _m_utils.default.logHeaderFilterDeprecatedWarningIfNeed(this);\r\n _m_core.default.processModules(this, _m_core.default);\r\n _m_core.default.callModuleItemsMethod(this, \"init\")\r\n },\r\n _clean: _common.noop,\r\n _optionChanged: function(args) {\r\n _m_core.default.callModuleItemsMethod(this, \"optionChanged\", [args]);\r\n if (!args.handled) {\r\n this.callBase(args)\r\n }\r\n },\r\n _dimensionChanged: function() {\r\n this.updateDimensions(true)\r\n },\r\n _visibilityChanged: function(visible) {\r\n if (visible) {\r\n this.updateDimensions()\r\n }\r\n },\r\n _initMarkup: function() {\r\n this.callBase.apply(this, arguments);\r\n this.getView(\"gridView\").render(this.$element())\r\n },\r\n _renderContentImpl: function() {\r\n this.getView(\"gridView\").update()\r\n },\r\n _renderContent: function() {\r\n var that = this;\r\n (0, _common.deferRender)((function() {\r\n that._renderContentImpl()\r\n }))\r\n },\r\n _getTemplate: function(templateName) {\r\n var template = templateName;\r\n if ((0, _type.isString)(template) && template.startsWith(\"#\")) {\r\n template = (0, _renderer.default)(templateName);\r\n _console.logger.warn(DATAGRID_DEPRECATED_TEMPLATE_WARNING)\r\n }\r\n return this.callBase(template)\r\n },\r\n _dispose: function() {\r\n this.callBase();\r\n _m_core.default.callModuleItemsMethod(this, \"dispose\")\r\n },\r\n isReady: function() {\r\n return this.getController(\"data\").isReady()\r\n },\r\n beginUpdate: function() {\r\n this.callBase();\r\n _m_core.default.callModuleItemsMethod(this, \"beginUpdate\")\r\n },\r\n endUpdate: function() {\r\n _m_core.default.callModuleItemsMethod(this, \"endUpdate\");\r\n this.callBase()\r\n },\r\n getController: function(name) {\r\n return this._controllers[name]\r\n },\r\n getView: function(name) {\r\n return this._views[name]\r\n },\r\n focus: function(element) {\r\n this.getController(\"keyboardNavigation\").focus(element)\r\n }\r\n});\r\nDataGrid.registerModule = _m_core.default.registerModule.bind(_m_core.default);\r\n(0, _component_registrator.default)(\"dxDataGrid\", DataGrid);\r\nvar _default = DataGrid;\r\nexports.default = _default;\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/data_grid/module_not_extended/adaptivity.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _m_adaptivity = require(\"../../../grids/grid_core/adaptivity/m_adaptivity\");\r\nvar _m_core = _interopRequireDefault(require(\"../m_core\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n_m_core.default.registerModule(\"adaptivity\", _m_adaptivity.adaptivityModule);\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/data_grid/module_not_extended/column_chooser.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.ColumnChooserView = exports.ColumnChooserController = void 0;\r\nvar _m_column_chooser = require(\"../../../grids/grid_core/column_chooser/m_column_chooser\");\r\nvar _m_core = _interopRequireDefault(require(\"../m_core\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar ColumnChooserController = _m_column_chooser.columnChooserModule.controllers.columnChooser;\r\nexports.ColumnChooserController = ColumnChooserController;\r\nvar ColumnChooserView = _m_column_chooser.columnChooserModule.views.columnChooserView;\r\nexports.ColumnChooserView = ColumnChooserView;\r\n_m_core.default.registerModule(\"columnChooser\", _m_column_chooser.columnChooserModule);\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/data_grid/module_not_extended/column_fixing.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _m_column_fixing = require(\"../../../grids/grid_core/column_fixing/m_column_fixing\");\r\nvar _m_core = _interopRequireDefault(require(\"../m_core\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n_m_core.default.registerModule(\"columnFixing\", _m_column_fixing.columnFixingModule);\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/data_grid/module_not_extended/column_headers.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.ColumnHeadersView = void 0;\r\nvar _m_column_headers = require(\"../../../grids/grid_core/column_headers/m_column_headers\");\r\nvar _m_core = _interopRequireDefault(require(\"../m_core\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar ColumnHeadersView = _m_column_headers.columnHeadersModule.views.columnHeadersView;\r\nexports.ColumnHeadersView = ColumnHeadersView;\r\n_m_core.default.registerModule(\"columnHeaders\", _m_column_headers.columnHeadersModule);\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/data_grid/module_not_extended/columns_resizing_reordering.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.TrackerView = exports.TablePositionViewController = exports.DraggingHeaderViewController = exports.DraggingHeaderView = exports.ColumnsSeparatorView = exports.ColumnsResizerViewController = void 0;\r\nvar _m_columns_resizing_reordering = require(\"../../../grids/grid_core/columns_resizing_reordering/m_columns_resizing_reordering\");\r\nvar _m_core = _interopRequireDefault(require(\"../m_core\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar DraggingHeaderView = _m_columns_resizing_reordering.columnsResizingReorderingModule.views.draggingHeaderView;\r\nexports.DraggingHeaderView = DraggingHeaderView;\r\nvar DraggingHeaderViewController = _m_columns_resizing_reordering.columnsResizingReorderingModule.controllers.draggingHeader;\r\nexports.DraggingHeaderViewController = DraggingHeaderViewController;\r\nvar ColumnsSeparatorView = _m_columns_resizing_reordering.columnsResizingReorderingModule.views.columnsSeparatorView;\r\nexports.ColumnsSeparatorView = ColumnsSeparatorView;\r\nvar TablePositionViewController = _m_columns_resizing_reordering.columnsResizingReorderingModule.controllers.tablePosition;\r\nexports.TablePositionViewController = TablePositionViewController;\r\nvar ColumnsResizerViewController = _m_columns_resizing_reordering.columnsResizingReorderingModule.controllers.columnsResizer;\r\nexports.ColumnsResizerViewController = ColumnsResizerViewController;\r\nvar TrackerView = _m_columns_resizing_reordering.columnsResizingReorderingModule.views.trackerView;\r\nexports.TrackerView = TrackerView;\r\n_m_core.default.registerModule(\"columnsResizingReordering\", _m_columns_resizing_reordering.columnsResizingReorderingModule);\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/data_grid/module_not_extended/context_menu.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _m_context_menu = require(\"../../../grids/grid_core/context_menu/m_context_menu\");\r\nvar _m_core = _interopRequireDefault(require(\"../m_core\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n_m_core.default.registerModule(\"contextMenu\", _m_context_menu.contextMenuModule);\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/data_grid/module_not_extended/editing_cell_based.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _m_editing_cell_based = require(\"../../../grids/grid_core/editing/m_editing_cell_based\");\r\nvar _m_core = _interopRequireDefault(require(\"../m_core\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n_m_core.default.registerModule(\"editingCellBased\", _m_editing_cell_based.editingCellBasedModule);\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/data_grid/module_not_extended/editing_form_based.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _m_editing_form_based = require(\"../../../grids/grid_core/editing/m_editing_form_based\");\r\nvar _m_core = _interopRequireDefault(require(\"../m_core\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n_m_core.default.registerModule(\"editingFormBased\", _m_editing_form_based.editingFormBasedModule);\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/data_grid/module_not_extended/editing_row_based.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _m_editing_row_based = require(\"../../../grids/grid_core/editing/m_editing_row_based\");\r\nvar _m_core = _interopRequireDefault(require(\"../m_core\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n_m_core.default.registerModule(\"editingRowBased\", _m_editing_row_based.editingRowBasedModule);\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/data_grid/module_not_extended/editor_factory.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _m_editor_factory = require(\"../../../grids/grid_core/editor_factory/m_editor_factory\");\r\nvar _m_core = _interopRequireDefault(require(\"../m_core\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n_m_core.default.registerModule(\"editorFactory\", _m_editor_factory.editorFactoryModule);\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/data_grid/module_not_extended/error_handling.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _m_error_handling = require(\"../../../grids/grid_core/error_handling/m_error_handling\");\r\nvar _m_core = _interopRequireDefault(require(\"../m_core\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n_m_core.default.registerModule(\"errorHandling\", _m_error_handling.errorHandlingModule);\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/data_grid/module_not_extended/filter_builder.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _m_filter_builder = require(\"../../../grids/grid_core/filter/m_filter_builder\");\r\nvar _m_core = _interopRequireDefault(require(\"../m_core\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n_m_core.default.registerModule(\"filterBuilder\", _m_filter_builder.filterBuilderModule);\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/data_grid/module_not_extended/filter_panel.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _m_filter_panel = require(\"../../../grids/grid_core/filter/m_filter_panel\");\r\nvar _m_core = _interopRequireDefault(require(\"../m_core\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n_m_core.default.registerModule(\"filterPanel\", _m_filter_panel.filterPanelModule);\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/data_grid/module_not_extended/filter_row.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _m_filter_row = require(\"../../../grids/grid_core/filter/m_filter_row\");\r\nvar _m_core = _interopRequireDefault(require(\"../m_core\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n_m_core.default.registerModule(\"filterRow\", _m_filter_row.filterRowModule);\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/data_grid/module_not_extended/filter_sync.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _m_filter_sync = require(\"../../../grids/grid_core/filter/m_filter_sync\");\r\nvar _m_core = _interopRequireDefault(require(\"../m_core\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n_m_core.default.registerModule(\"filterSync\", _m_filter_sync.filterSyncModule);\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/data_grid/module_not_extended/grid_view.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _m_grid_view = require(\"../../../grids/grid_core/views/m_grid_view\");\r\nvar _m_core = _interopRequireDefault(require(\"../m_core\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n_m_core.default.registerModule(\"gridView\", _m_grid_view.gridViewModule);\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/data_grid/module_not_extended/header_filter.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _m_header_filter = require(\"../../../grids/grid_core/header_filter/m_header_filter\");\r\nvar _m_core = _interopRequireDefault(require(\"../m_core\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n_m_core.default.registerModule(\"headerFilter\", _m_header_filter.headerFilterModule);\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/data_grid/module_not_extended/header_panel.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.HeaderPanel = void 0;\r\nvar _m_header_panel = require(\"../../../grids/grid_core/header_panel/m_header_panel\");\r\nvar _m_core = _interopRequireDefault(require(\"../m_core\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar HeaderPanel = _m_header_panel.headerPanelModule.views.headerPanel;\r\nexports.HeaderPanel = HeaderPanel;\r\n_m_core.default.registerModule(\"headerPanel\", _m_header_panel.headerPanelModule);\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/data_grid/module_not_extended/keyboard_navigation.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _m_keyboard_navigation = require(\"../../../grids/grid_core/keyboard_navigation/m_keyboard_navigation\");\r\nvar _m_core = _interopRequireDefault(require(\"../m_core\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n_m_core.default.registerModule(\"keyboardNavigation\", _m_keyboard_navigation.keyboardNavigationModule);\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/data_grid/module_not_extended/master_detail.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _m_master_detail = require(\"../../../grids/grid_core/master_detail/m_master_detail\");\r\nvar _m_core = _interopRequireDefault(require(\"../m_core\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n_m_core.default.registerModule(\"masterDetail\", _m_master_detail.masterDetailModule);\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/data_grid/module_not_extended/pager.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _m_pager = require(\"../../../grids/grid_core/pager/m_pager\");\r\nvar _m_core = _interopRequireDefault(require(\"../m_core\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n_m_core.default.registerModule(\"pager\", _m_pager.pagerModule);\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/data_grid/module_not_extended/row_dragging.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _m_row_dragging = require(\"../../../grids/grid_core/row_dragging/m_row_dragging\");\r\nvar _m_core = _interopRequireDefault(require(\"../m_core\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n_m_core.default.registerModule(\"rowDragging\", _m_row_dragging.rowDraggingModule);\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/data_grid/module_not_extended/rows.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.RowsView = void 0;\r\nvar _m_rows_view = require(\"../../../grids/grid_core/views/m_rows_view\");\r\nvar _m_core = _interopRequireDefault(require(\"../m_core\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar RowsView = _m_rows_view.rowsModule.views.rowsView;\r\nexports.RowsView = RowsView;\r\n_m_core.default.registerModule(\"rows\", _m_rows_view.rowsModule);\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/data_grid/module_not_extended/search.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _m_search = require(\"../../../grids/grid_core/search/m_search\");\r\nvar _m_core = _interopRequireDefault(require(\"../m_core\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n_m_core.default.registerModule(\"search\", _m_search.searchModule);\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/data_grid/module_not_extended/selection.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _m_selection = require(\"../../../grids/grid_core/selection/m_selection\");\r\nvar _m_core = _interopRequireDefault(require(\"../m_core\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n_m_core.default.registerModule(\"selection\", _m_selection.selectionModule);\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/data_grid/module_not_extended/sorting.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _m_sorting = require(\"../../../grids/grid_core/sorting/m_sorting\");\r\nvar _m_core = _interopRequireDefault(require(\"../m_core\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n_m_core.default.registerModule(\"sorting\", _m_sorting.sortingModule);\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/data_grid/module_not_extended/state_storing.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _m_state_storing = require(\"../../../grids/grid_core/state_storing/m_state_storing\");\r\nvar _m_core = _interopRequireDefault(require(\"../m_core\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n_m_core.default.registerModule(\"stateStoring\", _m_state_storing.stateStoringModule);\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/data_grid/module_not_extended/validating.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _m_validating = require(\"../../../grids/grid_core/validating/m_validating\");\r\nvar _m_core = _interopRequireDefault(require(\"../m_core\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n_m_core.default.registerModule(\"validating\", _m_validating.validatingModule);\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/data_grid/module_not_extended/virtual_columns.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _m_virtual_columns = require(\"../../../grids/grid_core/virtual_columns/m_virtual_columns\");\r\nvar _m_core = _interopRequireDefault(require(\"../m_core\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n_m_core.default.registerModule(\"virtualColumns\", _m_virtual_columns.virtualColumnsModule);\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/data_grid/module_not_extended/virtual_scrolling.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _m_virtual_scrolling = require(\"../../../grids/grid_core/virtual_scrolling/m_virtual_scrolling\");\r\nvar _m_core = _interopRequireDefault(require(\"../m_core\"));\r\nvar _m_data_source_adapter = _interopRequireDefault(require(\"../m_data_source_adapter\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n_m_core.default.registerModule(\"virtualScrolling\", _m_virtual_scrolling.virtualScrollingModule);\r\n_m_data_source_adapter.default.extend(_m_virtual_scrolling.virtualScrollingModule.extenders.dataSourceAdapter);\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/data_grid/summary/m_summary.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.renderSummaryCell = exports.FooterView = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../../../core/renderer\"));\r\nvar _common = require(\"../../../../core/utils/common\");\r\nvar _data = require(\"../../../../core/utils/data\");\r\nvar _extend = require(\"../../../../core/utils/extend\");\r\nvar _iterator = require(\"../../../../core/utils/iterator\");\r\nvar _type = require(\"../../../../core/utils/type\");\r\nvar _query = _interopRequireDefault(require(\"../../../../data/query\"));\r\nvar _store_helper = _interopRequireDefault(require(\"../../../../data/store_helper\"));\r\nvar _utils = require(\"../../../../data/utils\");\r\nvar _message = _interopRequireDefault(require(\"../../../../localization/message\"));\r\nvar _ui = _interopRequireDefault(require(\"../../../../ui/widget/ui.errors\"));\r\nvar _m_columns_view = require(\"../../../grids/grid_core/views/m_columns_view\");\r\nvar _m_aggregate_calculator = _interopRequireDefault(require(\"../m_aggregate_calculator\"));\r\nvar _m_core = _interopRequireDefault(require(\"../m_core\"));\r\nvar _m_data_source_adapter = _interopRequireDefault(require(\"../m_data_source_adapter\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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\nvar renderSummaryCell = function(cell, options) {\r\n var $cell = (0, _renderer.default)(cell);\r\n var column = options.column;\r\n var summaryItems = options.summaryItems;\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((0, _renderer.default)(\"
    \").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(_m_core.default.getSummaryText(summaryItem, options.summaryTexts)))\r\n }\r\n $cell.append($summaryItems)\r\n }\r\n};\r\nexports.renderSummaryCell = renderSummaryCell;\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\nvar FooterView = _m_columns_view.ColumnsView.inherit({\r\n _getRows: function() {\r\n return this._dataController.footerItems()\r\n },\r\n _getCellOptions: function(options) {\r\n return (0, _extend.extend)(this.callBase(options), getSummaryCellOptions(this, options))\r\n },\r\n _renderCellContent: function($cell, options) {\r\n renderSummaryCell($cell, options);\r\n this.callBase.apply(this, arguments)\r\n },\r\n _renderCore: function(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: function($newTable, change) {\r\n var _this = this;\r\n if (change && \"update\" === change.changeType && change.columnIndices) {\r\n return this.waitAsyncTemplates().done((function() {\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: function(e) {\r\n var item = this._dataController.footerItems()[e.rowIndex] || {};\r\n this.executeAction(\"onRowClick\", (0, _extend.extend)({}, e, item))\r\n },\r\n _columnOptionChanged: function(e) {\r\n var optionNames = e.optionNames;\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: function(e) {\r\n var changeType = e.changeType;\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: function(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: function() {\r\n return this.getElementHeight()\r\n },\r\n isVisible: function() {\r\n return !!this._dataController.footerItems().length\r\n }\r\n});\r\nexports.FooterView = FooterView;\r\nvar SummaryDataSourceAdapterExtender = {\r\n init: function() {\r\n this.callBase.apply(this, arguments);\r\n this._totalAggregates = [];\r\n this._summaryGetter = _common.noop\r\n },\r\n summaryGetter: function(_summaryGetter) {\r\n if (!arguments.length) {\r\n return this._summaryGetter\r\n }\r\n if ((0, _type.isFunction)(_summaryGetter)) {\r\n this._summaryGetter = _summaryGetter\r\n }\r\n },\r\n summary: function(_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: function() {\r\n return this._totalAggregates\r\n },\r\n isLastLevelGroupItemsPagingLocal: function() {\r\n var summary = this.summary();\r\n var sortByGroupsInfo = summary && summary.sortByGroups();\r\n return sortByGroupsInfo && sortByGroupsInfo.length\r\n },\r\n sortLastLevelGroupItems: function(items, groups, paths) {\r\n var groupedItems = _store_helper.default.multiLevelGroup((0, _query.default)(items), groups).toArray();\r\n var result = [];\r\n paths.forEach((function(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, (function(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((function(item) {\r\n return {\r\n items: [item]\r\n }\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((function(data) {\r\n var updatedData = {};\r\n var updatedItems = applyRemovedData(data.items || [], removedData, groupLevel - 1);\r\n Object.defineProperty(updatedData, \"aggregates\", {\r\n get: function() {\r\n return data.aggregates\r\n },\r\n set: function(value) {\r\n data.aggregates = value\r\n }\r\n });\r\n return (0, _extend.extend)(updatedData, data, {\r\n items: updatedItems\r\n })\r\n }))\r\n }\r\n return data.filter((function(data) {\r\n return removedData.indexOf(data) < 0\r\n }))\r\n }(data, removedData, groupLevel)\r\n }\r\n }\r\n }\r\n if (summary) {\r\n calculator = new _m_aggregate_calculator.default({\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 = (0, _query.default)(items);\r\n (0, _iterator.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((function(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 (0, _iterator.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: function(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: function(options) {\r\n var _a, _b;\r\n var groups = (0, _utils.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((function(type) {\r\n return operationTypes[type]\r\n }));\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 = (0, _type.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\n_m_data_source_adapter.default.extend(SummaryDataSourceAdapterExtender);\r\n_m_data_source_adapter.default.extend(SummaryDataSourceAdapterClientExtender);\r\n_m_core.default.registerModule(\"summary\", {\r\n defaultOptions: function() {\r\n return {\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: _message.default.format(\"dxDataGrid-summarySum\"),\r\n sumOtherColumn: _message.default.format(\"dxDataGrid-summarySumOtherColumn\"),\r\n min: _message.default.format(\"dxDataGrid-summaryMin\"),\r\n minOtherColumn: _message.default.format(\"dxDataGrid-summaryMinOtherColumn\"),\r\n max: _message.default.format(\"dxDataGrid-summaryMax\"),\r\n maxOtherColumn: _message.default.format(\"dxDataGrid-summaryMaxOtherColumn\"),\r\n avg: _message.default.format(\"dxDataGrid-summaryAvg\"),\r\n avgOtherColumn: _message.default.format(\"dxDataGrid-summaryAvgOtherColumn\"),\r\n count: _message.default.format(\"dxDataGrid-summaryCount\")\r\n }\r\n },\r\n sortByGroupSummaryInfo: void 0\r\n }\r\n },\r\n views: {\r\n footerView: FooterView\r\n },\r\n extenders: {\r\n controllers: {\r\n data: {\r\n _isDataColumn: function(column) {\r\n return column && (!(0, _type.isDefined)(column.groupIndex) || column.showWhenGrouped)\r\n },\r\n _isGroupFooterVisible: function() {\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: function(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: function(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 (0, _iterator.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, (function(summaryItem, column) {\r\n if (summaryItem.showInGroupFooter) {\r\n return -1\r\n }\r\n if (summaryItem.alignByColumn && column && !(0, _type.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, (function(summaryItem, column) {\r\n return summaryItem.showInGroupFooter && that._isDataColumn(column) ? column.index : -1\r\n }))\r\n }\r\n return groupItem\r\n },\r\n _calculateSummaryCells: function(summaryItems, aggregates, visibleColumns, calculateTargetColumnIndex, isGroupRow) {\r\n var that = this;\r\n var summaryCells = [];\r\n var summaryCellsByColumns = {};\r\n (0, _iterator.each)(summaryItems, (function(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 ((0, _type.isDefined)(summaryItem.valueFormat)) {\r\n valueFormat = summaryItem.valueFormat\r\n } else if (\"count\" !== summaryItem.summaryType) {\r\n valueFormat = _m_core.default.getFormatByDataType(column && column.dataType)\r\n }\r\n summaryCellsByColumns[columnIndex].push((0, _extend.extend)({}, summaryItem, {\r\n value: (0, _type.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 (!(0, _type.isEmptyObject)(summaryCellsByColumns)) {\r\n visibleColumns.forEach((function(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: function(summaryTotalItems, totalAggregates) {\r\n var that = this;\r\n var columnsController = that._columnsController;\r\n return that._calculateSummaryCells(summaryTotalItems, totalAggregates, columnsController.getVisibleColumns(), (function(summaryItem, column) {\r\n return that._isDataColumn(column) ? column.index : -1\r\n }))\r\n },\r\n _updateItemsCore: function(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((function(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((function(index) {\r\n return index >= 0\r\n }))\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: function(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: function(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 (0, _type.isDefined)(value) ? Number(value) : value\r\n }\r\n }\r\n return selector\r\n },\r\n _getAggregates: function(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 (0, _iterator.map)(summaryItems || [], (function(summaryItem) {\r\n var column = columnsController.columnOption(summaryItem.column);\r\n var calculateCellValue = column && column.calculateCellValue ? column.calculateCellValue.bind(column) : (0, _data.compileGetter)(column ? column.dataField : summaryItem.column);\r\n var aggregator = summaryItem.summaryType || \"count\";\r\n var skipEmptyValues = (0, _type.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 _ui.default.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: function(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: function(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: function(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: function(sortByGroups, groupColumn, selector, sortOrder) {\r\n if (groupColumn) {\r\n var groupIndex = groupColumn.groupIndex;\r\n sortOrder = sortOrder || groupColumn.sortOrder;\r\n if ((0, _type.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: function(summaryItems, name) {\r\n var summaryItemIndex = -1;\r\n if ((0, _type.isDefined)(name)) {\r\n (0, _iterator.each)(summaryItems || [], (function(index) {\r\n if (this.name === name || index === name || this.summaryType === name || this.column === name || (summaryItem = this, summaryType = summaryItem.summaryType, column = summaryItem.column, summaryType && column && \"\".concat(summaryType, \"_\").concat(column)) === name) {\r\n summaryItemIndex = index;\r\n return false\r\n }\r\n var summaryItem, summaryType, column\r\n }))\r\n }\r\n return summaryItemIndex\r\n },\r\n _getSummarySortByGroups: function(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 }(0, _iterator.each)(sortByGroupSummaryInfo || [], (function() {\r\n var sortOrder = this.sortOrder;\r\n var groupColumn = this.groupColumn;\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 ((0, _type.isDefined)(groupColumn)) {\r\n groupColumn = columnsController.columnOption(groupColumn);\r\n that._addSortInfo(sortByGroups, groupColumn, selector, sortOrder)\r\n } else {\r\n (0, _iterator.each)(groupColumns, (function(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: function(dataSource, remoteOperations) {\r\n var that = this;\r\n var dataSourceAdapter = this.callBase(dataSource, remoteOperations);\r\n dataSourceAdapter.summaryGetter((function(currentRemoteOperations) {\r\n return that._getSummaryOptions(currentRemoteOperations || remoteOperations)\r\n }));\r\n return dataSourceAdapter\r\n },\r\n _getSummaryOptions: function(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: function() {\r\n var methods = this.callBase();\r\n methods.push(\"getTotalSummaryValue\");\r\n return methods\r\n },\r\n getTotalSummaryValue: function(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: function(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: function() {\r\n this._footerItems = [];\r\n this.callBase()\r\n },\r\n footerItems: function() {\r\n return this._footerItems\r\n }\r\n },\r\n editing: {\r\n _refreshSummary: function() {\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: function(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: function() {\r\n var result = this.callBase.apply(this, arguments);\r\n this._refreshSummary();\r\n return result\r\n },\r\n cancelEditData: function() {\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: function(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: function($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: function(columnIndex, options) {\r\n return !(0, _type.isDefined)(options.columns[columnIndex].groupIndex) && options.row.summaryCells[columnIndex].length\r\n },\r\n _getAlignByColumnCellCount: function(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: function($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: function($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(), (0, _extend.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: function(columnIndex) {\r\n return columnIndex\r\n },\r\n _getCellTemplate: function(options) {\r\n if (!options.column.command && !(0, _type.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: function(options) {\r\n var parameters = this.callBase(options);\r\n if (options.row.summaryCells) {\r\n return (0, _extend.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 (cjs/__internal/grids/grid_core/adaptivity/m_adaptivity.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.adaptivityModule = void 0;\r\nvar _guid = _interopRequireDefault(require(\"../../../../core/guid\"));\r\nvar _renderer = _interopRequireDefault(require(\"../../../../core/renderer\"));\r\nvar _common = require(\"../../../../core/utils/common\");\r\nvar _deferred = require(\"../../../../core/utils/deferred\");\r\nvar _dom = require(\"../../../../core/utils/dom\");\r\nvar _extend = require(\"../../../../core/utils/extend\");\r\nvar _iterator = require(\"../../../../core/utils/iterator\");\r\nvar _size = require(\"../../../../core/utils/size\");\r\nvar _type = require(\"../../../../core/utils/type\");\r\nvar _click = require(\"../../../../events/click\");\r\nvar _events_engine = _interopRequireDefault(require(\"../../../../events/core/events_engine\"));\r\nvar _index = require(\"../../../../events/utils/index\");\r\nvar _message = _interopRequireDefault(require(\"../../../../localization/message\"));\r\nvar _form = _interopRequireDefault(require(\"../../../../ui/form\"));\r\nvar _themes = require(\"../../../../ui/themes\");\r\nvar _m_modules = _interopRequireDefault(require(\"../m_modules\"));\r\nvar _m_utils = _interopRequireDefault(require(\"../m_utils\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\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 = (0, _renderer.default)(container);\r\n var adaptiveColumnsController = options.component.getController(\"adaptiveColumns\");\r\n if (\"data\" === options.rowType) {\r\n $adaptiveColumnButton = (0, _renderer.default)(\"\").addClass(adaptiveColumnsController.addWidgetPrefix(ADAPTIVE_COLUMN_BUTTON_CLASS));\r\n _events_engine.default.on($adaptiveColumnButton, (0, _index.addNamespace)(_click.name, ADAPTIVE_NAMESPACE), adaptiveColumnsController.createAction((function() {\r\n adaptiveColumnsController.toggleExpandAdaptiveDetailRow(options.key)\r\n })));\r\n $adaptiveColumnButton.appendTo($container)\r\n } else {\r\n _m_utils.default.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 _events_engine.default.off($nextCell, \"focus\", focusCellHandler);\r\n _events_engine.default.trigger($nextCell, \"dxclick\")\r\n}\r\nvar adaptiveColumnsControllerMembers = {\r\n _isRowEditMode: function() {\r\n var editMode = this._getEditMode();\r\n return editMode === EDIT_MODE_ROW\r\n },\r\n _isItemModified: function(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 && (0, _type.isDefined)(row.modifiedValues[columnIndex])\r\n },\r\n _renderFormViewTemplate: function(item, cellOptions, $container) {\r\n var that = this;\r\n var column = item.column;\r\n var focusAction = that.createAction((function() {\r\n if (that._editingController.isEditing()) {\r\n _events_engine.default.trigger($container, _click.name)\r\n }\r\n }));\r\n var rowData = cellOptions.row.data;\r\n var value = column.calculateCellValue(rowData);\r\n var displayValue = _m_utils.default.getDisplayValue(column, value, rowData, cellOptions.rowType);\r\n var text = _m_utils.default.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 _events_engine.default.off($container, \"focus\", focusAction);\r\n _events_engine.default.on($container, \"focus\", focusAction)\r\n }\r\n }\r\n if (column.cellTemplate) {\r\n var templateOptions = (0, _extend.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, (0, _dom.isElementInDom)($container)).done((function() {\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 (!(0, _type.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: function(item, cellOptions) {\r\n var that = this;\r\n var column = item.column;\r\n var editingController = this.getController(\"editing\");\r\n return function(options, container) {\r\n var $container = (0, _renderer.default)(container);\r\n var columnIndex = that._columnsController.getVisibleIndex(column.index);\r\n var templateOptions = (0, _extend.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 templateOptions.watch && templateOptions.watch((function() {\r\n return {\r\n isItemEdited: that._isItemEdited(item),\r\n value: cellOptions.row.values[columnIndex]\r\n }\r\n }), (function() {\r\n $container.contents().remove();\r\n $container.removeClass(ADAPTIVE_ITEM_TEXT_CLASS);\r\n renderFormTemplate()\r\n }))\r\n }\r\n },\r\n _isVisibleColumnsValid: function(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: function(widths, visibleColumns) {\r\n var that = this;\r\n var percentWidths = 0;\r\n visibleColumns.forEach((function(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: function(width) {\r\n return (0, _type.isString)(width) && width.endsWith(\"%\")\r\n },\r\n _isColumnHidden: function(column) {\r\n return this._hiddenColumns.filter((function(hiddenColumn) {\r\n return hiddenColumn.index === column.index\r\n })).length > 0\r\n },\r\n _getAverageColumnsWidth: function(containerWidth, columns, columnsCanFit) {\r\n var that = this;\r\n var fixedColumnsWidth = 0;\r\n var columnsWithoutFixedWidthCount = 0;\r\n columns.forEach((function(column) {\r\n if (!that._isColumnHidden(column)) {\r\n var width = column.width;\r\n if ((0, _type.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: function(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: function(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: function(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: function(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: function() {\r\n var that = this;\r\n var columns = that._columnsController.getVisibleColumns();\r\n var colWidth = 0;\r\n (0, _iterator.each)(columns, (function(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: function(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 ((0, _common.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: function(hiddenColumns) {\r\n var items = [];\r\n (0, _iterator.each)(hiddenColumns, (function(_, 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: function(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: function(resultWidths, visibleColumns) {\r\n var visibleIndex = this._getAdaptiveColumnVisibleIndex(visibleColumns);\r\n if ((0, _type.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: function(_ref) {\r\n var $cells = _ref.$cells,\r\n isCommandColumn = _ref.isCommandColumn;\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: function() {\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: function($cell) {\r\n return $cell && $cell.length && !$cell.hasClass(MASTER_DETAIL_CELL_CLASS) && !$cell.hasClass(GROUP_CELL_CLASS)\r\n },\r\n _hideVisibleColumn: function(_ref2) {\r\n var isCommandColumn = _ref2.isCommandColumn,\r\n visibleIndex = _ref2.visibleIndex;\r\n var that = this;\r\n COLUMN_VIEWS.forEach((function(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: function(_ref3) {\r\n var view = _ref3.view,\r\n isCommandColumn = _ref3.isCommandColumn,\r\n visibleIndex = _ref3.visibleIndex;\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: function($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 && (0, _type.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: function(_ref4) {\r\n var $cell = _ref4.$cell,\r\n isCommandColumn = _ref4.isCommandColumn;\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: function() {\r\n return this._editingController.getEditMode()\r\n },\r\n isFormOrPopupEditMode: function() {\r\n var editMode = this._getEditMode();\r\n return editMode === EDIT_MODE_FORM || editMode === EDIT_MODE_POPUP\r\n },\r\n hideRedundantColumns: function(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 = (0, _size.getWidth)($rootElement) - this._getCommandColumnsWidth();\r\n var getVisibleContentColumns = function() {\r\n var _this = this;\r\n return visibleColumns.filter((function(item) {\r\n return !item.command && 0 === _this._hiddenColumns.filter((function(i) {\r\n return i.index === item.index\r\n })).length\r\n }))\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 > (0, _size.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: function() {\r\n return this._$itemContents\r\n },\r\n getItemContentByColumnIndex: function(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: function(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: function(container, options) {\r\n var that = this;\r\n var $container = (0, _renderer.default)(container);\r\n var userFormOptions = {\r\n items: that._getFormItemsByHiddenColumns(that._hiddenColumns),\r\n formID: \"dx-\".concat(new _guid.default)\r\n };\r\n var defaultFormOptions = (0, _themes.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((0, _renderer.default)(\"
    \").appendTo($container), _form.default, (0, _extend.extend)(defaultFormOptions, userFormOptions, {\r\n customizeItem: function(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: function(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: function() {\r\n return (0, _type.isDefined)(this._dataController.adaptiveExpandedKey())\r\n },\r\n updateForm: function(hiddenColumns) {\r\n if (this.hasAdaptiveDetailRowExpanded()) {\r\n if (this._form && (0, _type.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: function(columns) {\r\n var hideableColumns = columns.filter((function(column) {\r\n return column.visible && !column.type && !column.fixed && !((0, _type.isDefined)(column.groupIndex) && column.groupIndex >= 0)\r\n }));\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 ((0, _type.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: function() {\r\n return this._hiddenColumns\r\n },\r\n hasHiddenColumns: function() {\r\n return this._hiddenColumns.length > 0\r\n },\r\n getHidingColumnsQueue: function() {\r\n return this._hidingColumnsQueue\r\n },\r\n init: function() {\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((function() {\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 that.callBase()\r\n },\r\n optionChanged: function(args) {\r\n if (\"columnHidingEnabled\" === args.name) {\r\n this._columnsController.columnOption(\"command:adaptive\", \"adaptiveHidden\", !args.value)\r\n }\r\n this.callBase(args)\r\n },\r\n publicMethods: function() {\r\n return [\"isAdaptiveDetailRowExpanded\", \"expandAdaptiveDetailRow\", \"collapseAdaptiveDetailRow\"]\r\n },\r\n isAdaptiveDetailRowExpanded: function(key) {\r\n var dataController = this._dataController;\r\n return dataController.adaptiveExpandedKey() && (0, _common.equalByValue)(dataController.adaptiveExpandedKey(), key)\r\n },\r\n expandAdaptiveDetailRow: function(key) {\r\n if (!this.hasAdaptiveDetailRowExpanded()) {\r\n this.toggleExpandAdaptiveDetailRow(key)\r\n }\r\n },\r\n collapseAdaptiveDetailRow: function() {\r\n if (this.hasAdaptiveDetailRowExpanded()) {\r\n this.toggleExpandAdaptiveDetailRow()\r\n }\r\n },\r\n updateCommandAdaptiveAriaLabel: function(key, label) {\r\n var rowIndex = this._dataController.getRowIndexByKey(key);\r\n if (-1 === rowIndex) {\r\n return\r\n }\r\n var $row = (0, _renderer.default)(this.component.getRowElement(rowIndex));\r\n this.setCommandAdaptiveAriaLabel($row, label)\r\n },\r\n setCommandAdaptiveAriaLabel: function($row, labelName) {\r\n var $adaptiveCommand = $row.find(\".dx-command-adaptive\");\r\n $adaptiveCommand.attr(\"aria-label\", _message.default.format(labelName))\r\n }\r\n};\r\nvar AdaptiveColumnsController = _m_modules.default.ViewController.inherit(adaptiveColumnsControllerMembers);\r\nvar keyboardNavigation = function(Base) {\r\n return function(_Base) {\r\n _inheritsLoose(AdaptivityKeyboardNavigationExtender, _Base);\r\n\r\n function AdaptivityKeyboardNavigationExtender() {\r\n return _Base.apply(this, arguments) || this\r\n }\r\n var _proto = AdaptivityKeyboardNavigationExtender.prototype;\r\n _proto._isCellValid = function($cell, isClick) {\r\n return _Base.prototype._isCellValid.call(this, $cell, isClick) && !$cell.hasClass(this.addWidgetPrefix(HIDDEN_COLUMN_CLASS)) && !$cell.hasClass(COMMAND_ADAPTIVE_HIDDEN_CLASS)\r\n };\r\n _proto._processNextCellInMasterDetail = function($nextCell, $cell) {\r\n _Base.prototype._processNextCellInMasterDetail.call(this, $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 _events_engine.default.off($nextCell, \"focus\", focusCellHandler);\r\n _events_engine.default.on($nextCell, \"focus\", {\r\n $nextCell: $nextCell\r\n }, focusCellHandler);\r\n _events_engine.default.trigger($cell, \"focus\")\r\n }\r\n };\r\n _proto._isCellElement = function($cell) {\r\n return _Base.prototype._isCellElement.call(this, $cell) || $cell.hasClass(ADAPTIVE_ITEM_TEXT_CLASS)\r\n };\r\n _proto.init = function() {\r\n _Base.prototype.init.call(this);\r\n this._adaptiveController = this.getController(\"adaptiveColumns\")\r\n };\r\n return AdaptivityKeyboardNavigationExtender\r\n }(Base)\r\n};\r\nvar adaptivityModule = {\r\n defaultOptions: function() {\r\n return {\r\n columnHidingEnabled: false,\r\n onAdaptiveDetailRowPreparing: null\r\n }\r\n },\r\n controllers: {\r\n adaptiveColumns: AdaptiveColumnsController\r\n },\r\n extenders: {\r\n views: {\r\n rowsView: {\r\n _getCellTemplate: function(options) {\r\n var that = this;\r\n var column = options.column;\r\n if (options.rowType === ADAPTIVE_ROW_TYPE && \"detail\" === column.command) {\r\n return function(container, options) {\r\n that._adaptiveColumnsController.createFormByHiddenColumns((0, _renderer.default)(container), options)\r\n }\r\n }\r\n return that.callBase(options)\r\n },\r\n _createRow: function(row) {\r\n var $row = this.callBase.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: function($row, options) {\r\n this.callBase($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: function($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 this.callBase($element)\r\n },\r\n _cellPrepared: function($cell, options) {\r\n this.callBase.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: function(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 this.callBase(cellPosition, rows, $adaptiveDetailItems)\r\n }\r\n return this.callBase.apply(this, arguments)\r\n },\r\n _getCellElement: function(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 this.callBase.apply(this, arguments)\r\n },\r\n getContextMenuItems: function(options) {\r\n if (options.row && \"detailAdaptive\" === options.row.rowType) {\r\n var view = this.component.getView(\"columnHeadersView\");\r\n var formItem = (0, _renderer.default)(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 this.callBase && this.callBase(options)\r\n },\r\n isClickableElement: function($target) {\r\n var isClickable = this.callBase ? this.callBase($target) : false;\r\n return isClickable || !!$target.closest(\".\".concat(ADAPTIVE_COLUMN_NAME_CLASS)).length\r\n },\r\n init: function() {\r\n this.callBase();\r\n this._adaptiveColumnsController = this.getController(\"adaptiveColumns\")\r\n }\r\n }\r\n },\r\n controllers: {\r\n export: {\r\n _updateColumnWidth: function(column, width) {\r\n this.callBase(column, column.visibleWidth === HIDDEN_COLUMNS_WIDTH ? column.bestFitWidth : width)\r\n }\r\n },\r\n columnsResizer: {\r\n _pointCreated: function(point, cellsLength, columns) {\r\n var result = this.callBase(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: function(currentColumnIndex) {\r\n var visibleColumns = this._columnsController.getVisibleColumns();\r\n var index = this.callBase(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\n draggingHeader: {\r\n _pointCreated: function(point, columns, location, sourceColumn) {\r\n var result = this.callBase(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\n editing: {\r\n _isRowEditMode: function() {\r\n return this.getEditMode() === EDIT_MODE_ROW\r\n },\r\n _getFormEditItemTemplate: function(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 this.callBase(cellOptions, column)\r\n },\r\n _closeEditItem: function($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 this.callBase($targetElement)\r\n }\r\n },\r\n _beforeUpdateItems: function(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 = _m_utils.default.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: function(key) {\r\n this.callBase.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: function() {\r\n if (this._isRowEditMode() && this._isForceRowAdaptiveExpand) {\r\n this._adaptiveController.collapseAdaptiveDetailRow();\r\n this._isForceRowAdaptiveExpand = false\r\n }\r\n },\r\n _cancelEditAdaptiveDetailRow: function() {\r\n if (this._adaptiveController.hasHiddenColumns()) {\r\n this._collapseAdaptiveDetailRow()\r\n }\r\n },\r\n _afterSaveEditData: function() {\r\n var _this2 = this;\r\n this.callBase.apply(this, arguments);\r\n var deferred = new _deferred.Deferred;\r\n if (this._isRowEditMode() && this._adaptiveController.hasHiddenColumns()) {\r\n (0, _deferred.when)(this.getController(\"validating\").validate(true)).done((function(isValid) {\r\n if (isValid) {\r\n _this2._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: function() {\r\n this.callBase();\r\n this._cancelEditAdaptiveDetailRow()\r\n },\r\n _getRowIndicesForCascadeUpdating: function(row) {\r\n var rowIndices = this.callBase.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: function(rowIndices) {\r\n var expandedKey = this._dataController._adaptiveExpandedKey;\r\n if (expandedKey) {\r\n var rowIndex = _m_utils.default.getIndexByKey(expandedKey, this._dataController.items());\r\n if (rowIndex > -1) {\r\n rowIndices.unshift(rowIndex)\r\n }\r\n }\r\n },\r\n editRow: function(rowIndex) {\r\n if (this._adaptiveController.isFormOrPopupEditMode()) {\r\n this._adaptiveController.collapseAdaptiveDetailRow()\r\n }\r\n this.callBase(rowIndex)\r\n },\r\n deleteRow: function(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 this.callBase(rowIndex)\r\n },\r\n init: function() {\r\n this.callBase();\r\n this._adaptiveController = this.getController(\"adaptiveColumns\")\r\n }\r\n },\r\n resizing: {\r\n _needBestFit: function() {\r\n return this.callBase() || !!this._adaptiveColumnsController.getHidingColumnsQueue().length\r\n },\r\n _correctColumnWidths: function(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: function(isBestFit) {\r\n isBestFit && this._adaptiveColumnsController._showHiddenColumns();\r\n this.callBase(isBestFit)\r\n },\r\n _needStretch: function() {\r\n var adaptiveColumnsController = this._adaptiveColumnsController;\r\n return this.callBase.apply(this, arguments) || adaptiveColumnsController.getHidingColumnsQueue().length || adaptiveColumnsController.hasHiddenColumns()\r\n },\r\n init: function() {\r\n this._adaptiveColumnsController = this.getController(\"adaptiveColumns\");\r\n this.callBase()\r\n },\r\n dispose: function() {\r\n this.callBase.apply(this, arguments);\r\n clearTimeout(this._updateScrollableTimeoutID)\r\n }\r\n },\r\n data: {\r\n _processItems: function(items, change) {\r\n var changeType = change.changeType;\r\n items = this.callBase.apply(this, arguments);\r\n if (\"loadingAll\" === changeType || !(0, _type.isDefined)(this._adaptiveExpandedKey)) {\r\n return items\r\n }\r\n var expandRowIndex = _m_utils.default.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: function(key) {\r\n var rowIndices = this.callBase.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: function(value) {\r\n if ((0, _type.isDefined)(value)) {\r\n this._adaptiveExpandedKey = value\r\n } else {\r\n return this._adaptiveExpandedKey\r\n }\r\n },\r\n toggleExpandAdaptiveDetailRow: function(key, alwaysExpanded) {\r\n var oldExpandLoadedRowIndex = _m_utils.default.getIndexByKey(this._adaptiveExpandedKey, this._items);\r\n var newExpandLoadedRowIndex = _m_utils.default.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: function() {\r\n this.callBase();\r\n this._adaptiveExpandedKey = void 0\r\n }\r\n },\r\n editorFactory: {\r\n _needHideBorder: function($element) {\r\n return this.callBase($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: function() {\r\n return \"\".concat(this.callBase(), \", .dx-adaptive-detail-row .dx-field-item > .dx-field-item-content\")\r\n },\r\n _getRevertTooltipsSelector: function() {\r\n return \"\".concat(this.callBase(), \", .dx-field-item-content .\").concat(this.addWidgetPrefix(REVERT_TOOLTIP_CLASS))\r\n }\r\n },\r\n columns: {\r\n _isColumnVisible: function(column) {\r\n return this.callBase(column) && !column.adaptiveHidden\r\n }\r\n },\r\n keyboardNavigation: keyboardNavigation\r\n }\r\n }\r\n};\r\nexports.adaptivityModule = adaptivityModule;\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/grid_core/column_chooser/m_column_chooser.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.columnChooserModule = void 0;\r\nvar _devices = _interopRequireDefault(require(\"../../../../core/devices\"));\r\nvar _renderer = _interopRequireDefault(require(\"../../../../core/renderer\"));\r\nvar _common = require(\"../../../../core/utils/common\");\r\nvar _extend = require(\"../../../../core/utils/extend\");\r\nvar _iterator = require(\"../../../../core/utils/iterator\");\r\nvar _size = require(\"../../../../core/utils/size\");\r\nvar _type = require(\"../../../../core/utils/type\");\r\nvar _message = _interopRequireDefault(require(\"../../../../localization/message\"));\r\nvar _button = _interopRequireDefault(require(\"../../../../ui/button\"));\r\nvar _ui = _interopRequireDefault(require(\"../../../../ui/popup/ui.popup\"));\r\nvar _themes = require(\"../../../../ui/themes\");\r\nvar _tree_view = _interopRequireDefault(require(\"../../../../ui/tree_view\"));\r\nvar _m_modules = _interopRequireDefault(require(\"../m_modules\"));\r\nvar _m_columns_view = require(\"../views/m_columns_view\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar COLUMN_CHOOSER_CLASS = \"column-chooser\";\r\nvar COLUMN_CHOOSER_BUTTON_CLASS = \"column-chooser-button\";\r\nvar NOTOUCH_ACTION_CLASS = \"notouch-action\";\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 COLUMN_OPTIONS_USED_IN_ITEMS = [\"showInColumnChooser\", \"caption\", \"allowHiding\", \"visible\", \"cssClass\", \"ownerBand\"];\r\nvar processItems = function(that, chooserColumns) {\r\n var items = [];\r\n var isSelectMode = that.isSelectMode();\r\n var isRecursive = that.option(\"columnChooser.selection.recursive\");\r\n if (chooserColumns.length) {\r\n (0, _iterator.each)(chooserColumns, (function(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 === column.allowHiding,\r\n parentId: (0, _type.isDefined)(column.ownerBand) ? column.ownerBand : null\r\n };\r\n var isRecursiveWithColumns = isRecursive && column.hasColumns;\r\n if (isSelectMode && !isRecursiveWithColumns) {\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: function($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 = (0, _renderer.default)(\"
    \").addClass(columnChooserButtonClass).appendTo($element);\r\n that._createComponent($columnChooserButton, _button.default, {\r\n icon: COLUMN_CHOOSER_ICON_NAME,\r\n onClick: function() {\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: function() {\r\n var rowsView = this.getView(\"rowsView\");\r\n var position = this.option(\"columnChooser.position\");\r\n return (0, _type.isDefined)(position) ? position : {\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 = _m_modules.default.ViewController.inherit(columnChooserControllerMembers);\r\nvar columnChooserMembers = {\r\n _resizeCore: _common.noop,\r\n _isWinDevice: function() {\r\n return !!_devices.default.real().win\r\n },\r\n _initializePopupContainer: function() {\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 = (0, _themes.current)();\r\n var isGenericTheme = (0, _themes.isGeneric)(themeName);\r\n var isMaterial = (0, _themes.isMaterial)(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 onHidden: function() {\r\n if (that._isWinDevice()) {\r\n (0, _renderer.default)(\"body\").removeClass(that.addWidgetPrefix(NOTOUCH_ACTION_CLASS))\r\n }\r\n },\r\n container: columnChooserOptions.container\r\n };\r\n if (isGenericTheme || isMaterial) {\r\n (0, _extend.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 (!(0, _type.isDefined)(this._popupContainer)) {\r\n that._popupContainer = that._createComponent($element, _ui.default, dxPopupOptions);\r\n that._popupContainer.on(\"optionChanged\", (function(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 this.setPopupAttributes()\r\n },\r\n setPopupAttributes: function() {\r\n var isSelectMode = this.isSelectMode();\r\n var isBandColumnsUsed = this._columnsController.isBandColumnsUsed();\r\n this._popupContainer.setAria({\r\n role: \"dialog\",\r\n label: _message.default.format(\"dxDataGrid-columnChooserTitle\")\r\n });\r\n this._popupContainer.$wrapper().toggleClass(this.addWidgetPrefix(COLUMN_CHOOSER_DRAG_CLASS), !isSelectMode).toggleClass(this.addWidgetPrefix(COLUMN_CHOOSER_SELECT_CLASS), isSelectMode);\r\n this._popupContainer.$content().addClass(this.addWidgetPrefix(COLUMN_CHOOSER_LIST_CLASS));\r\n if (isSelectMode && !isBandColumnsUsed) {\r\n this._popupContainer.$content().addClass(this.addWidgetPrefix(COLUMN_CHOOSER_PLAIN_CLASS))\r\n }\r\n },\r\n _renderCore: function(change) {\r\n if (this._popupContainer) {\r\n var isDragMode = !this.isSelectMode();\r\n if (!this._columnChooserList || \"full\" === change) {\r\n this._renderTreeView()\r\n } else if (isDragMode) {\r\n this._updateItems()\r\n }\r\n }\r\n },\r\n _renderTreeView: function() {\r\n var _a, _b, _c;\r\n var that = this;\r\n var $container = this._popupContainer.$content();\r\n var columnChooser = this.option(\"columnChooser\");\r\n var isSelectMode = this.isSelectMode();\r\n var searchEnabled = (0, _type.isDefined)(columnChooser.allowSearch) ? columnChooser.allowSearch : null === (_a = columnChooser.search) || void 0 === _a ? void 0 : _a.enabled;\r\n var searchTimeout = (0, _type.isDefined)(columnChooser.searchTimeout) ? columnChooser.searchTimeout : null === (_b = columnChooser.search) || void 0 === _b ? void 0 : _b.timeout;\r\n var treeViewConfig = {\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: searchEnabled,\r\n searchTimeout: searchTimeout,\r\n searchEditorOptions: null === (_c = columnChooser.search) || void 0 === _c ? void 0 : _c.editorOptions\r\n };\r\n if (this._isWinDevice()) {\r\n treeViewConfig.useNativeScrolling = false\r\n }(0, _extend.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 this._updateItems()\r\n } else {\r\n this._columnChooserList = this._createComponent($container, _tree_view.default, treeViewConfig);\r\n this._updateItems();\r\n var scrollTop = 0;\r\n this._columnChooserList.on(\"optionChanged\", (function(e) {\r\n var scrollable = e.component.getScrollable();\r\n scrollTop = scrollable.scrollTop()\r\n }));\r\n this._columnChooserList.on(\"contentReady\", (function(e) {\r\n (0, _common.deferUpdate)((function() {\r\n var scrollable = e.component.getScrollable();\r\n scrollable.scrollTo({\r\n y: scrollTop\r\n });\r\n that.renderCompleted.fire()\r\n }))\r\n }))\r\n }\r\n },\r\n _prepareDragModeConfig: function() {\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: function(data, index, item) {\r\n (0, _renderer.default)(item).text(data.text).parent().addClass(data.cssClass).addClass(COLUMN_CHOOSER_ITEM_CLASS)\r\n }\r\n }\r\n },\r\n _prepareSelectModeConfig: function() {\r\n var _this = this;\r\n var that = this;\r\n var selectionOptions = this.option(\"columnChooser.selection\") || {};\r\n var isUpdatingSelection = false;\r\n return {\r\n selectByClick: selectionOptions.selectByClick,\r\n selectNodesRecursive: selectionOptions.recursive,\r\n showCheckBoxesMode: selectionOptions.allowSelectAll ? \"selectAll\" : \"normal\",\r\n onSelectionChanged: function(e) {\r\n if (isUpdatingSelection) {\r\n return\r\n }\r\n var nodes = function(nodes) {\r\n return function addNodesToArray(nodes, flatNodesArray) {\r\n return nodes.reduce((function(result, node) {\r\n result.push(node);\r\n if (node.children.length) {\r\n addNodesToArray(node.children, result)\r\n }\r\n return result\r\n }), flatNodesArray)\r\n }(nodes, [])\r\n }(e.component.getNodes());\r\n e.component.beginUpdate();\r\n isUpdatingSelection = true;\r\n ! function(e, nodes) {\r\n nodes.filter((function(node) {\r\n return false === node.itemData.allowHiding\r\n })).forEach((function(node) {\r\n return e.component.selectItem(node.key)\r\n }))\r\n }(e, nodes);\r\n e.component.endUpdate();\r\n isUpdatingSelection = false;\r\n that.component.beginUpdate();\r\n _this._isUpdatingColumnVisibility = true;\r\n ! function(nodes) {\r\n nodes.forEach((function(node) {\r\n var columnIndex = node.itemData.id;\r\n var isVisible = false !== node.selected;\r\n that._columnsController.columnOption(columnIndex, \"visible\", isVisible)\r\n }))\r\n }(nodes);\r\n that.component.endUpdate();\r\n _this._isUpdatingColumnVisibility = false\r\n }\r\n }\r\n },\r\n _updateItems: function() {\r\n var isSelectMode = this.isSelectMode();\r\n var chooserColumns = this._columnsController.getChooserColumns(isSelectMode);\r\n var items = processItems(this, chooserColumns);\r\n this._columnChooserList.option(\"items\", items)\r\n },\r\n _updateItemsSelection: function(columnIndices) {\r\n var _this2 = this;\r\n var changedColumns = null === columnIndices || void 0 === columnIndices ? void 0 : columnIndices.map((function(columnIndex) {\r\n return _this2._columnsController.columnOption(columnIndex)\r\n }));\r\n this._columnChooserList.beginUpdate();\r\n null === changedColumns || void 0 === changedColumns ? void 0 : changedColumns.forEach((function(_ref) {\r\n var visible = _ref.visible,\r\n index = _ref.index;\r\n if (visible) {\r\n _this2._columnChooserList.selectItem(index)\r\n } else {\r\n _this2._columnChooserList.unselectItem(index)\r\n }\r\n }));\r\n this._columnChooserList.endUpdate()\r\n },\r\n _columnOptionChanged: function(e) {\r\n this.callBase(e);\r\n var isSelectMode = this.isSelectMode();\r\n if (isSelectMode && this._columnChooserList && true !== this._isUpdatingColumnVisibility) {\r\n var optionNames = e.optionNames;\r\n var onlyVisibleChanged = optionNames.visible && 1 === optionNames.length;\r\n var columnIndices = (0, _type.isDefined)(e.columnIndex) ? [e.columnIndex] : e.columnIndices;\r\n var needUpdate = COLUMN_OPTIONS_USED_IN_ITEMS.some((function(optionName) {\r\n return optionNames[optionName]\r\n })) || e.changeTypes.columns && optionNames.all;\r\n if (needUpdate) {\r\n this._updateItemsSelection(columnIndices);\r\n if (!onlyVisibleChanged) {\r\n this._updateItems()\r\n }\r\n }\r\n }\r\n },\r\n optionChanged: function(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: function() {\r\n var result = [];\r\n var isSelectMode = this.isSelectMode();\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((function(column) {\r\n var $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 (0, _renderer.default)(result)\r\n },\r\n getName: function() {\r\n return \"columnChooser\"\r\n },\r\n getColumns: function() {\r\n return this._columnsController.getChooserColumns()\r\n },\r\n allowDragging: function(column) {\r\n var isParentColumnVisible = this._columnsController.isParentColumnVisible(column.index);\r\n var isColumnHidden = !column.visible && column.allowHiding;\r\n return this.isColumnChooserVisible() && isParentColumnVisible && isColumnHidden\r\n },\r\n allowColumnHeaderDragging: function(column) {\r\n var isDragMode = !this.isSelectMode();\r\n return isDragMode && this.isColumnChooserVisible() && column.allowHiding\r\n },\r\n getBoundingRect: function() {\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 + (0, _size.getOuterWidth)(container),\r\n bottom: offset.top + (0, _size.getOuterHeight)(container)\r\n }\r\n }\r\n return null\r\n },\r\n showColumnChooser: function() {\r\n if (!this._popupContainer) {\r\n this._initializePopupContainer();\r\n this.render()\r\n }\r\n this._popupContainer.show();\r\n if (this._isWinDevice()) {\r\n (0, _renderer.default)(\"body\").addClass(this.addWidgetPrefix(NOTOUCH_ACTION_CLASS))\r\n }\r\n },\r\n hideColumnChooser: function() {\r\n if (this._popupContainer) {\r\n this._popupContainer.hide()\r\n }\r\n },\r\n isColumnChooserVisible: function() {\r\n var popupContainer = this._popupContainer;\r\n return popupContainer && popupContainer.option(\"visible\")\r\n },\r\n isSelectMode: function() {\r\n return \"select\" === this.option(\"columnChooser.mode\")\r\n },\r\n hasHiddenColumns: function() {\r\n var isEnabled = this.option(\"columnChooser.enabled\");\r\n var hiddenColumns = this.getColumns().filter((function(column) {\r\n return !column.visible\r\n }));\r\n return isEnabled && hiddenColumns.length\r\n },\r\n publicMethods: function() {\r\n return [\"showColumnChooser\", \"hideColumnChooser\"]\r\n }\r\n};\r\nvar ColumnChooserView = _m_columns_view.ColumnsView.inherit(columnChooserMembers);\r\nvar columnChooserModule = {\r\n defaultOptions: function() {\r\n return {\r\n columnChooser: {\r\n enabled: false,\r\n search: {\r\n enabled: false,\r\n timeout: 500,\r\n editorOptions: {}\r\n },\r\n selection: {\r\n allowSelectAll: false,\r\n selectByClick: false,\r\n recursive: false\r\n },\r\n position: void 0,\r\n mode: \"dragAndDrop\",\r\n width: 250,\r\n height: 260,\r\n title: _message.default.format(\"dxDataGrid-columnChooserTitle\"),\r\n emptyPanelText: _message.default.format(\"dxDataGrid-columnChooserEmptyText\"),\r\n container: void 0\r\n }\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: function() {\r\n var items = this.callBase();\r\n return this._appendColumnChooserItem(items)\r\n },\r\n _appendColumnChooserItem: function(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 (0, _renderer.default)(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: function(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: function() {\r\n var columnChooserEnabled = this.option(\"columnChooser.enabled\");\r\n return this.callBase() || columnChooserEnabled\r\n }\r\n },\r\n columnHeadersView: {\r\n allowDragging: function(column) {\r\n var columnChooserView = this.component.getView(\"columnChooserView\");\r\n var isDragMode = !columnChooserView.isSelectMode();\r\n var isColumnChooserVisible = columnChooserView.isColumnChooserVisible();\r\n return isDragMode && isColumnChooserVisible && column.allowHiding || this.callBase(column)\r\n }\r\n }\r\n },\r\n controllers: {\r\n columns: {\r\n allowMoveColumn: function(fromVisibleIndex, toVisibleIndex, sourceLocation, targetLocation) {\r\n var isSelectMode = \"select\" === this.option(\"columnChooser.mode\");\r\n var isMoveColumnDisallowed = isSelectMode && \"columnChooser\" === targetLocation;\r\n return isMoveColumnDisallowed ? false : this.callBase(fromVisibleIndex, toVisibleIndex, sourceLocation, targetLocation)\r\n }\r\n }\r\n }\r\n }\r\n};\r\nexports.columnChooserModule = columnChooserModule;\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/grid_core/column_fixing/m_column_fixing.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.columnFixingModule = void 0;\r\nvar _translator = require(\"../../../../animation/translator\");\r\nvar _renderer = _interopRequireDefault(require(\"../../../../core/renderer\"));\r\nvar _browser = _interopRequireDefault(require(\"../../../../core/utils/browser\"));\r\nvar _extend = require(\"../../../../core/utils/extend\");\r\nvar _iterator = require(\"../../../../core/utils/iterator\");\r\nvar _position = require(\"../../../../core/utils/position\");\r\nvar _size = require(\"../../../../core/utils/size\");\r\nvar _type = require(\"../../../../core/utils/type\");\r\nvar _events_engine = _interopRequireDefault(require(\"../../../../events/core/events_engine\"));\r\nvar _wheel = require(\"../../../../events/core/wheel\");\r\nvar _message = _interopRequireDefault(require(\"../../../../localization/message\"));\r\nvar _ui = _interopRequireDefault(require(\"../../../../ui/scroll_view/ui.scrollable\"));\r\nvar _m_utils = _interopRequireDefault(require(\"../m_utils\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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 (0, _iterator.each)(fixedColumns, (function(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: function() {\r\n this.callBase();\r\n this._isFixedTableRendering = false;\r\n this._isFixedColumns = false\r\n },\r\n _createCol: function(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: function(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((function(columnIndices) {\r\n if (columnIndices) {\r\n return columnIndices.map((function(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((function(columnIndex) {\r\n return columnIndex >= 0\r\n }))\r\n }\r\n }))\r\n }\r\n },\r\n _partialUpdateFixedTable: function(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((0, _renderer.default)($rows[i]), fixedColumns)\r\n }\r\n },\r\n _partialUpdateFixedRow: function($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 colspan = transparentColumn.colspan;\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: function(options) {\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 this._isFixedTableRendering = true;\r\n if ((null === change || void 0 === change ? void 0 : change.virtualColumnsScrolling) && 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, (0, _extend.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: function($table, options) {\r\n var fixedCorrection;\r\n var cells = options.row.cells;\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: function(options) {\r\n var that = this;\r\n var column = options.column;\r\n var columnCommand = column && column.command;\r\n var rowType = options.rowType;\r\n var $cell = that.callBase.apply(that, arguments);\r\n var fixedColumns;\r\n var prevFixedColumn;\r\n var transparentColumnIndex;\r\n if (that._isFixedTableRendering || \"filter\" === rowType) {\r\n fixedColumns = that.getFixedColumns();\r\n transparentColumnIndex = getTransparentColumnIndex(fixedColumns);\r\n prevFixedColumn = fixedColumns[transparentColumnIndex - 1]\r\n }\r\n if (that._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 _m_utils.default.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 = that.option(\"rowAlternationEnabled\") && options.isAltRow;\r\n var isSelectAllCell = \"multiple\" === that.option(\"selection.mode\") && 0 === options.columnIndex && \"header\" === options.rowType;\r\n if (_browser.default.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: function(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: function($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: function($cell, options) {\r\n var isEmptyCell;\r\n var column = options.column;\r\n var isFixedTableRendering = this._isFixedTableRendering;\r\n var isGroupCell = \"group\" === options.rowType && (0, _type.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: function(rowIndex) {\r\n var _this = this;\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 (0, _iterator.each)(fixedCellElements, (function(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: function() {\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: function(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: function(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: function(rowIndex, $tableElement) {\r\n $tableElement = $tableElement || this.getTableElement();\r\n if (this._isFixedTableRendering || $tableElement && $tableElement.closest(\"table\").parent(\".\".concat(this.addWidgetPrefix(CONTENT_FIXED_CLASS))).length) {\r\n return this.getFixedColumns(rowIndex)\r\n }\r\n return this.callBase(rowIndex, $tableElement)\r\n },\r\n getRowIndex: function($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: function() {\r\n var result = this.callBase.apply(this, arguments);\r\n if (this._fixedTableElement) {\r\n result = (0, _renderer.default)([result.get(0), this._fixedTableElement.get(0)])\r\n }\r\n return result\r\n },\r\n getFixedColumns: function(rowIndex) {\r\n return this._columnsController.getFixedColumns(rowIndex)\r\n },\r\n getFixedColumnsOffset: function() {\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: (0, _size.getOuterWidth)(this.element(), true) - ((0, _size.getOuterWidth)($transparentColumn, true) + positionTransparentColumn.left)\r\n }\r\n }\r\n return offset\r\n },\r\n getTransparentColumnElement: function() {\r\n return this._fixedTableElement && this._fixedTableElement.find(\".\".concat(POINTER_EVENTS_NONE_CLASS)).first()\r\n },\r\n getFixedTableElement: function() {\r\n return this._fixedTableElement\r\n },\r\n isFixedColumns: function() {\r\n return this._isFixedColumns\r\n },\r\n _resizeCore: function() {\r\n this.callBase();\r\n this.synchronizeRows()\r\n },\r\n setColumnWidths: function(options) {\r\n var columns;\r\n var visibleColumns = this._columnsController.getVisibleColumns();\r\n var widths = options.widths;\r\n var isWidthsSynchronized = widths && widths.length && (0, _type.isDefined)(visibleColumns[0].visibleWidth);\r\n var optionNames = options.optionNames;\r\n var isColumnWidthChanged = optionNames && optionNames.width;\r\n var useVisibleColumns = false;\r\n this.callBase.apply(this, arguments);\r\n if (this._fixedTableElement) {\r\n var hasAutoWidth = widths && widths.some((function(width) {\r\n return \"auto\" === width\r\n }));\r\n useVisibleColumns = hasAutoWidth && (!isWidthsSynchronized || !this.isScrollbarVisible(true));\r\n if (useVisibleColumns) {\r\n columns = visibleColumns\r\n }\r\n this.callBase((0, _extend.extend)({}, options, {\r\n $tableElement: this._fixedTableElement,\r\n columns: columns,\r\n fixed: true\r\n }))\r\n }\r\n if (isWidthsSynchronized || isColumnWidthChanged && this.option(\"wordWrapEnabled\")) {\r\n this.synchronizeRows()\r\n }\r\n },\r\n _createColGroup: function(columns) {\r\n if (this._isFixedTableRendering && !this.option(\"columnAutoWidth\")) {\r\n var visibleColumns = this._columnsController.getVisibleColumns();\r\n var useVisibleColumns = visibleColumns.filter((function(column) {\r\n return !column.width\r\n })).length;\r\n if (useVisibleColumns) {\r\n columns = visibleColumns\r\n }\r\n }\r\n return this.callBase(columns)\r\n },\r\n _getClientHeight: function(element) {\r\n var boundingClientRectElement = element.getBoundingClientRect && (0, _position.getBoundingRect)(element);\r\n return boundingClientRectElement && boundingClientRectElement.height ? boundingClientRectElement.height : element.clientHeight\r\n },\r\n synchronizeRows: function() {\r\n var _this2 = this;\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((function() {\r\n if (_this2._isFixedColumns && _this2._tableElement && _this2._fixedTableElement) {\r\n var heightTable = _this2._getClientHeight(_this2._tableElement.get(0));\r\n var heightFixedTable = _this2._getClientHeight(_this2._fixedTableElement.get(0));\r\n $rowElements = _this2._getRowElements(_this2._tableElement);\r\n $fixedRowElements = _this2._getRowElements(_this2._fixedTableElement);\r\n $contentElement = _this2._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(_this2._getClientHeight($rowElements.get(rowIndex)));\r\n fixedRowHeights.push(_this2._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: function(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 = (0, _extend.extend)({}, baseFixedColumns, {\r\n _getRowVisibleColumns: function(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: function(options) {\r\n var _this3 = this;\r\n var column = options.column;\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 = function(params) {\r\n switch (params.itemData.value) {\r\n case \"none\":\r\n _this3._columnsController.columnOption(column.index, \"fixed\", false);\r\n break;\r\n case \"left\":\r\n _this3._columnsController.columnOption(column.index, {\r\n fixed: true,\r\n fixedPosition: \"left\"\r\n });\r\n break;\r\n case \"right\":\r\n _this3._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: function(rowIndex) {\r\n if ((0, _type.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: function() {\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 = (0, _extend.extend)({}, baseFixedColumns, {\r\n _detachHoverEvents: function() {\r\n this._fixedTableElement && _events_engine.default.off(this._fixedTableElement, \"mouseover mouseout\", \".dx-data-row\");\r\n this._tableElement && _events_engine.default.off(this._tableElement, \"mouseover mouseout\", \".dx-data-row\")\r\n },\r\n _attachHoverEvents: function() {\r\n var that = this;\r\n var attachHoverEvent = function($table) {\r\n _events_engine.default.on($table, \"mouseover mouseout\", \".dx-data-row\", that.createAction((function(args) {\r\n var event = args.event;\r\n var rowIndex = that.getRowIndex((0, _renderer.default)(event.target).closest(\".dx-row\"));\r\n var isHover = \"mouseover\" === event.type;\r\n if (rowIndex >= 0) {\r\n that._tableElement && that._getRowElements(that._tableElement).eq(rowIndex).toggleClass(HOVER_STATE_CLASS, isHover);\r\n that._fixedTableElement && that._getRowElements(that._fixedTableElement).eq(rowIndex).toggleClass(HOVER_STATE_CLASS, isHover)\r\n }\r\n })))\r\n };\r\n if (that._fixedTableElement && that._tableElement) {\r\n attachHoverEvent(that._fixedTableElement);\r\n attachHoverEvent(that._tableElement)\r\n }\r\n },\r\n _getScrollDelay: function() {\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.default.mozilla ? 60 : 0\r\n },\r\n _findContentElement: function(isFixedTableRendering) {\r\n var _this4 = this;\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 = (0, _renderer.default)(\"
    \").addClass(contentClass);\r\n _events_engine.default.on($content, \"scroll\", (function(e) {\r\n var target = e.target;\r\n var scrollDelay = _this4._getScrollDelay();\r\n clearTimeout(_this4._fixedScrollTimeout);\r\n _this4._fixedScrollTimeout = setTimeout((function() {\r\n scrollTop = (0, _renderer.default)(target).scrollTop();\r\n scrollable.scrollTo({\r\n y: scrollTop\r\n })\r\n }), scrollDelay)\r\n }));\r\n _events_engine.default.on($content, _wheel.name, (function(e) {\r\n var $nearestScrollable = (0, _renderer.default)(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 && _ui.default.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() + _this4.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: function() {\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: function(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: function(options) {\r\n if (this._isFixedTableRendering) {\r\n return this.callBase((0, _extend.extend)({}, options, {\r\n columns: this._columnsController.getVisibleColumns()\r\n }))\r\n }\r\n return this.callBase(options)\r\n },\r\n _renderGroupedCells: function($row, options) {\r\n return this.callBase($row, (0, _extend.extend)({}, options, {\r\n columns: this._columnsController.getVisibleColumns()\r\n }))\r\n },\r\n _renderGroupSummaryCells: function($row, options) {\r\n if (this._isFixedTableRendering) {\r\n this.callBase($row, (0, _extend.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: function(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: function($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 = (0, _extend.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: function(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: function(change) {\r\n var _this5 = this;\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 deferred.done((function() {\r\n _this5._attachHoverEvents()\r\n }))\r\n }\r\n return deferred\r\n },\r\n setRowsOpacity: function(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: function(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: function($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 (0, _iterator.each)(columns, (function(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: function(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: function(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: function(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 = (0, _renderer.default)(e.component.content());\r\n var $scrollableContainer = (0, _renderer.default)(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: function(e) {\r\n if (this._fixedTableElement) {\r\n var elasticScrollTop = this._getElasticScrollTop(e);\r\n if (0 !== Math.ceil(elasticScrollTop)) {\r\n (0, _translator.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: function(e) {\r\n this._updateFixedTablePosition(e.scrollOffset.top, true);\r\n this._applyElasticScrolling(e);\r\n this.callBase(e)\r\n },\r\n _updateContentPosition: function(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: function(e) {\r\n if (this._isFixedTableRendering) {\r\n return\r\n }\r\n this.callBase(e)\r\n },\r\n _scrollToElement: function($element) {\r\n this.callBase($element, this.getFixedColumnsOffset())\r\n },\r\n dispose: function() {\r\n this.callBase.apply(this, arguments);\r\n clearTimeout(this._fixedScrollTimeout)\r\n }\r\n});\r\nvar FooterViewFixedColumnsExtender = baseFixedColumns;\r\nvar columnFixingModule = {\r\n defaultOptions: function() {\r\n return {\r\n columnFixing: {\r\n enabled: false,\r\n texts: {\r\n fix: _message.default.format(\"dxDataGrid-columnFixingFix\"),\r\n unfix: _message.default.format(\"dxDataGrid-columnFixingUnfix\"),\r\n leftPosition: _message.default.format(\"dxDataGrid-columnFixingLeftPosition\"),\r\n rightPosition: _message.default.format(\"dxDataGrid-columnFixingRightPosition\")\r\n }\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: function(options) {\r\n var visibleColumns = options.columns;\r\n var targetDraggingPanel = options.targetDraggingPanel;\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 (0, _iterator.each)(pointsByColumns, (function(_, 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: function(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 = (0, _position.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: function() {\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 = _m_utils.default.getPointsByColumns(cells, (function(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: function(pointsByColumns, currentX, deltaX) {\r\n var $transparentColumn = this._columnHeadersView.getTransparentColumnElement();\r\n if ($transparentColumn && $transparentColumn.length) {\r\n var boundingRect = (0, _position.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\nexports.columnFixingModule = columnFixingModule;\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/grid_core/column_headers/m_column_headers.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.columnHeadersModule = void 0;\r\nvar _dom_adapter = _interopRequireDefault(require(\"../../../../core/dom_adapter\"));\r\nvar _renderer = _interopRequireDefault(require(\"../../../../core/renderer\"));\r\nvar _extend = require(\"../../../../core/utils/extend\");\r\nvar _iterator = require(\"../../../../core/utils/iterator\");\r\nvar _size = require(\"../../../../core/utils/size\");\r\nvar _type = require(\"../../../../core/utils/type\");\r\nvar _events_engine = _interopRequireDefault(require(\"../../../../events/core/events_engine\"));\r\nvar _message = _interopRequireDefault(require(\"../../../../localization/message\"));\r\nvar _m_accessibility = require(\"../m_accessibility\");\r\nvar _m_columns_view = require(\"../views/m_columns_view\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _slicedToArray(arr, i) {\r\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest()\r\n}\r\n\r\nfunction _nonIterableRest() {\r\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _unsupportedIterableToArray(o, minLen) {\r\n if (!o) {\r\n return\r\n }\r\n if (\"string\" === typeof o) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n var n = Object.prototype.toString.call(o).slice(8, -1);\r\n if (\"Object\" === n && o.constructor) {\r\n n = o.constructor.name\r\n }\r\n if (\"Map\" === n || \"Set\" === n) {\r\n return Array.from(o)\r\n }\r\n if (\"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n}\r\n\r\nfunction _arrayLikeToArray(arr, len) {\r\n if (null == len || len > arr.length) {\r\n len = arr.length\r\n }\r\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\r\n arr2[i] = arr[i]\r\n }\r\n return arr2\r\n}\r\n\r\nfunction _iterableToArrayLimit(arr, i) {\r\n var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"];\r\n if (null != _i) {\r\n var _s, _e, _x, _r, _arr = [],\r\n _n = !0,\r\n _d = !1;\r\n try {\r\n if (_x = (_i = _i.call(arr)).next, 0 === i) {\r\n if (Object(_i) !== _i) {\r\n return\r\n }\r\n _n = !1\r\n } else {\r\n for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) {}\r\n }\r\n } catch (err) {\r\n _d = !0, _e = err\r\n } finally {\r\n try {\r\n if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) {\r\n return\r\n }\r\n } finally {\r\n if (_d) {\r\n throw _e\r\n }\r\n }\r\n }\r\n return _arr\r\n }\r\n}\r\n\r\nfunction _arrayWithHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return arr\r\n }\r\n}\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\nvar LINK = \"dx-link\";\r\nvar columnHeadersModule = {\r\n defaultOptions: function() {\r\n return {\r\n showColumnHeaders: true,\r\n cellHintEnabled: true\r\n }\r\n },\r\n views: {\r\n columnHeadersView: _m_columns_view.ColumnsView.inherit(function() {\r\n var createCellContent = function(that, $cell, options) {\r\n var $cellContent = (0, _renderer.default)(\"
    \").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: function() {\r\n var $table = this.callBase.apply(this, arguments);\r\n _events_engine.default.on($table, \"mousedown selectstart\", this.createAction((function(e) {\r\n var event = e.event;\r\n if (event.shiftKey) {\r\n event.preventDefault()\r\n }\r\n })));\r\n return $table\r\n },\r\n _isLegacyKeyboardNavigation: function() {\r\n return this.option(\"useLegacyKeyboardNavigation\")\r\n },\r\n _getDefaultTemplate: function(column) {\r\n var that = this;\r\n return function($container, options) {\r\n var caption = column.caption;\r\n var needCellContent = !column.command || caption && \"expand\" !== column.command;\r\n if (\"empty\" === column.command) {\r\n that._renderEmptyMessage($container, options)\r\n } else if (needCellContent) {\r\n var $content = createCellContent(that, $container, options);\r\n $content.text(caption)\r\n } else if (column.command) {\r\n $container.html(\" \")\r\n }\r\n }\r\n },\r\n _renderEmptyMessage: function($container, options) {\r\n var textEmpty = this._getEmptyHeaderText();\r\n if (!textEmpty) {\r\n $container.html(\" \");\r\n return\r\n }\r\n var $cellContent = createCellContent(this, $container, options);\r\n var needSplit = textEmpty.includes(\"{0}\");\r\n if (needSplit) {\r\n var _textEmpty$split = textEmpty.split(\"{0}\"),\r\n _textEmpty$split2 = _slicedToArray(_textEmpty$split, 2),\r\n leftPart = _textEmpty$split2[0],\r\n rightPart = _textEmpty$split2[1];\r\n var columnChooserTitle = _message.default.format(\"dxDataGrid-emptyHeaderColumnChooserText\");\r\n var columnChooserView = this.component.getView(\"columnChooserView\");\r\n var $link = (0, _renderer.default)(\"\").text(columnChooserTitle).addClass(LINK);\r\n _events_engine.default.on($link, \"click\", this.createAction((function() {\r\n return columnChooserView.showColumnChooser()\r\n })));\r\n $cellContent.append(_dom_adapter.default.createTextNode(leftPart)).append($link).append(_dom_adapter.default.createTextNode(rightPart))\r\n } else {\r\n $cellContent.text(textEmpty)\r\n }\r\n },\r\n _getEmptyHeaderText: function() {\r\n var hasHiddenColumns = !!this.component.getView(\"columnChooserView\").hasHiddenColumns();\r\n var hasGroupedColumns = !!this.component.getView(\"headerPanel\").hasGroupedColumns();\r\n switch (true) {\r\n case hasHiddenColumns && hasGroupedColumns:\r\n return _message.default.format(\"dxDataGrid-emptyHeaderWithColumnChooserAndGroupPanelText\");\r\n case hasGroupedColumns:\r\n return _message.default.format(\"dxDataGrid-emptyHeaderWithGroupPanelText\");\r\n case hasHiddenColumns:\r\n return _message.default.format(\"dxDataGrid-emptyHeaderWithColumnChooserText\");\r\n default:\r\n return \"\"\r\n }\r\n },\r\n _getHeaderTemplate: function(column) {\r\n return column.headerCellTemplate || {\r\n allowRenderToDetachedContainer: true,\r\n render: this._getDefaultTemplate(column)\r\n }\r\n },\r\n _processTemplate: function(template, options) {\r\n var that = this;\r\n var resultTemplate;\r\n var column = options.column;\r\n var renderingTemplate = that.callBase(template);\r\n if (\"header\" === options.rowType && renderingTemplate && column.headerCellTemplate && !column.command) {\r\n resultTemplate = {\r\n render: function(options) {\r\n var $content = createCellContent(that, options.container, options.model);\r\n renderingTemplate.render((0, _extend.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: function(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: function($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: function($cell, cellOptions) {\r\n this.callBase($cell, cellOptions);\r\n if (\"header\" === cellOptions.rowType) {\r\n this.setAria(\"role\", \"columnheader\", $cell);\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(_message.default.format(\"dxDataGrid-ariaColumn\"), \" \").concat(cellOptions.column.caption), $cell)\r\n }\r\n }\r\n },\r\n _createRow: function(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 (0, _m_accessibility.registerKeyboardAction)(\"columnHeaders\", this, $row, \"td\", this._handleActionKeyDown.bind(this))\r\n }\r\n }\r\n return $row\r\n },\r\n _handleActionKeyDown: function(args) {\r\n var event = args.event;\r\n var $target = (0, _renderer.default)(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: function() {\r\n var that = this;\r\n var $container = that.element();\r\n var change = {};\r\n if (that._tableElement && !that._dataController.isLoaded() && !that._hasRowElements) {\r\n return\r\n }\r\n $container.addClass(that.addWidgetPrefix(HEADERS_CLASS)).toggleClass(that.addWidgetPrefix(NOWRAP_CLASS), !that.option(\"wordWrapEnabled\")).empty();\r\n that.setAria(\"role\", \"presentation\", $container);\r\n var deferred = that._updateContent(that._renderTable({\r\n change: change\r\n }), change);\r\n if (that.getRowCount() > 1) {\r\n $container.addClass(MULTI_ROW_HEADER_CLASS)\r\n }\r\n that.callBase.apply(that, arguments);\r\n return deferred\r\n },\r\n _renderRows: function() {\r\n var that = this;\r\n if (that._dataController.isLoaded() || that._hasRowElements) {\r\n that.callBase.apply(that, arguments);\r\n that._hasRowElements = true\r\n }\r\n },\r\n _renderRow: function($table, options) {\r\n var rowIndex = 1 === this.getRowCount() ? null : options.row.rowIndex;\r\n options.columns = this.getColumns(rowIndex);\r\n this.callBase($table, options)\r\n },\r\n _createCell: function(options) {\r\n var column = options.column;\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: function() {\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: function(options) {\r\n if (\"header\" === options.rowType) {\r\n return this._getHeaderTemplate(options.column)\r\n }\r\n },\r\n _columnOptionChanged: function(e) {\r\n var changeTypes = e.changeTypes;\r\n var optionNames = e.optionNames;\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: function(elementOptions) {\r\n return elementOptions && elementOptions.visible\r\n },\r\n _alignCaptionByCenter: function($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: function($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: function($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: function($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: function() {\r\n return true\r\n },\r\n getHeadersRowHeight: function() {\r\n var $tableElement = this.getTableElement();\r\n var $headerRows = $tableElement && $tableElement.find(\".\".concat(HEADER_ROW_CLASS));\r\n return $headerRows && $headerRows.toArray().reduce((function(sum, headerRow) {\r\n return sum + (0, _size.getHeight)(headerRow)\r\n }), 0) || 0\r\n },\r\n getHeaderElement: function(index) {\r\n var columnElements = this.getColumnElements();\r\n return columnElements && columnElements.eq(index)\r\n },\r\n getColumnElements: function(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 && (!(0, _type.isDefined)(index) || (0, _type.isDefined)(bandColumnIndex))) {\r\n var result = [];\r\n var visibleColumns = (0, _type.isDefined)(bandColumnIndex) ? columnsController.getChildrenByBandColumn(bandColumnIndex, true) : columnsController.getVisibleColumns();\r\n (0, _iterator.each)(visibleColumns, (function(_, column) {\r\n var rowIndex = (0, _type.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 (0, _renderer.default)(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: function($cell) {\r\n var cellIndex = this.getCellIndex($cell);\r\n var $row = $cell.closest(\".dx-row\");\r\n var rowIndex = $row[0].rowIndex;\r\n var column = this.getColumns(rowIndex)[cellIndex];\r\n return column ? column.index : -1\r\n },\r\n getVisibleColumnIndex: function(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: function() {\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: function(column) {\r\n var rowIndex = column && this._columnsController.getRowIndex(column.index);\r\n var columns = this.getColumns(rowIndex);\r\n var isReorderingEnabled = this.option(\"allowColumnReordering\") || this._columnsController.isColumnOptionUsed(\"allowReordering\");\r\n return isReorderingEnabled && column.allowReordering && columns.length > 1\r\n },\r\n getBoundingRect: function() {\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: function() {\r\n return \"headers\"\r\n },\r\n getColumnCount: function() {\r\n var $columnElements = this.getColumnElements();\r\n return $columnElements ? $columnElements.length : 0\r\n },\r\n isVisible: function() {\r\n return this.option(\"showColumnHeaders\")\r\n },\r\n optionChanged: function(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: function() {\r\n return this.getElementHeight()\r\n },\r\n getContextMenuItems: function(options) {\r\n var that = this;\r\n var column = options.column;\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((function() {\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: function() {\r\n return this._columnsController && this._columnsController.getRowCount()\r\n },\r\n setRowsOpacity: function(columnIndex, value, rowIndex) {\r\n var _this = this;\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 = function(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 ((0, _type.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\nexports.columnHeadersModule = columnHeadersModule;\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/grid_core/column_state_mixin/m_column_state_mixin.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../../../core/renderer\"));\r\nvar _common = require(\"../../../../core/utils/common\");\r\nvar _extend = require(\"../../../../core/utils/extend\");\r\nvar _position = require(\"../../../../core/utils/position\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar COLUMN_INDICATORS_CLASS = \"dx-column-indicators\";\r\nvar GROUP_PANEL_ITEM_CLASS = \"dx-group-panel-item\";\r\nvar _default = {\r\n _applyColumnState: function(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 = (0, _extend.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 = (0, _renderer.default)(\"\").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: _common.noop,\r\n _getColumnAlignment: function(alignment, rtlEnabled) {\r\n rtlEnabled = rtlEnabled || this.option(\"rtlEnabled\");\r\n return alignment && \"center\" !== alignment ? alignment : (0, _position.getDefaultAlignment)(rtlEnabled)\r\n },\r\n _createIndicatorContainer: function(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 = (0, _renderer.default)(\"
    \").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: function($cell) {\r\n return $cell && $cell.find(\".\".concat(COLUMN_INDICATORS_CLASS))\r\n },\r\n _getIndicatorElements: function($cell) {\r\n var $indicatorContainer = this._getIndicatorContainer($cell);\r\n return $indicatorContainer && $indicatorContainer.children()\r\n },\r\n _renderIndicator: function(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: function(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: function($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\nexports.default = _default;\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/grid_core/columns_controller/const.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.USER_STATE_FIELD_NAMES_15_1 = exports.USER_STATE_FIELD_NAMES = exports.MAX_SAFE_INTEGER = exports.IGNORE_COLUMN_OPTION_NAMES = exports.GROUP_LOCATION = exports.GROUP_COMMAND_COLUMN_NAME = exports.DETAIL_COMMAND_COLUMN_NAME = exports.DEFAULT_COLUMN_OPTIONS = exports.DATATYPE_OPERATIONS = exports.COMMAND_EXPAND_CLASS = exports.COLUMN_OPTION_REGEXP = exports.COLUMN_INDEX_OPTIONS = exports.COLUMN_CHOOSER_LOCATION = void 0;\r\nvar USER_STATE_FIELD_NAMES_15_1 = [\"filterValues\", \"filterType\", \"fixed\", \"fixedPosition\"];\r\nexports.USER_STATE_FIELD_NAMES_15_1 = USER_STATE_FIELD_NAMES_15_1;\r\nvar 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\nexports.USER_STATE_FIELD_NAMES = USER_STATE_FIELD_NAMES;\r\nvar IGNORE_COLUMN_OPTION_NAMES = {\r\n visibleWidth: true,\r\n bestFitWidth: true,\r\n bufferedFilterValue: true\r\n};\r\nexports.IGNORE_COLUMN_OPTION_NAMES = IGNORE_COLUMN_OPTION_NAMES;\r\nvar COMMAND_EXPAND_CLASS = \"dx-command-expand\";\r\nexports.COMMAND_EXPAND_CLASS = COMMAND_EXPAND_CLASS;\r\nvar MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || 9007199254740991;\r\nexports.MAX_SAFE_INTEGER = MAX_SAFE_INTEGER;\r\nvar GROUP_COMMAND_COLUMN_NAME = \"groupExpand\";\r\nexports.GROUP_COMMAND_COLUMN_NAME = GROUP_COMMAND_COLUMN_NAME;\r\nvar DETAIL_COMMAND_COLUMN_NAME = \"detailExpand\";\r\nexports.DETAIL_COMMAND_COLUMN_NAME = DETAIL_COMMAND_COLUMN_NAME;\r\nvar COLUMN_OPTION_REGEXP = /columns\\[(\\d+)\\]\\.?/gi;\r\nexports.COLUMN_OPTION_REGEXP = COLUMN_OPTION_REGEXP;\r\nvar DEFAULT_COLUMN_OPTIONS = {\r\n visible: true,\r\n showInColumnChooser: true\r\n};\r\nexports.DEFAULT_COLUMN_OPTIONS = DEFAULT_COLUMN_OPTIONS;\r\nvar DATATYPE_OPERATIONS = {\r\n number: [\"=\", \"<>\", \"<\", \">\", \"<=\", \">=\", \"between\"],\r\n string: [\"contains\", \"notcontains\", \"startswith\", \"endswith\", \"=\", \"<>\"],\r\n date: [\"=\", \"<>\", \"<\", \">\", \"<=\", \">=\", \"between\"],\r\n datetime: [\"=\", \"<>\", \"<\", \">\", \"<=\", \">=\", \"between\"]\r\n};\r\nexports.DATATYPE_OPERATIONS = DATATYPE_OPERATIONS;\r\nvar 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\nexports.COLUMN_INDEX_OPTIONS = COLUMN_INDEX_OPTIONS;\r\nvar GROUP_LOCATION = \"group\";\r\nexports.GROUP_LOCATION = GROUP_LOCATION;\r\nvar COLUMN_CHOOSER_LOCATION = \"columnChooser\";\r\nexports.COLUMN_CHOOSER_LOCATION = COLUMN_CHOOSER_LOCATION;\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/grid_core/columns_controller/m_columns_controller.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.columnsControllerModule = exports.ColumnsController = void 0;\r\nvar _config = _interopRequireDefault(require(\"../../../../core/config\"));\r\nvar _renderer = _interopRequireDefault(require(\"../../../../core/renderer\"));\r\nvar _callbacks = _interopRequireDefault(require(\"../../../../core/utils/callbacks\"));\r\nvar _data = require(\"../../../../core/utils/data\");\r\nvar _deferred = require(\"../../../../core/utils/deferred\");\r\nvar _extend = require(\"../../../../core/utils/extend\");\r\nvar _inflector = require(\"../../../../core/utils/inflector\");\r\nvar _iterator = require(\"../../../../core/utils/iterator\");\r\nvar _object = require(\"../../../../core/utils/object\");\r\nvar _type = require(\"../../../../core/utils/type\");\r\nvar _variable_wrapper = _interopRequireDefault(require(\"../../../../core/utils/variable_wrapper\"));\r\nvar _abstract_store = _interopRequireDefault(require(\"../../../../data/abstract_store\"));\r\nvar _data_source = require(\"../../../../data/data_source/data_source\");\r\nvar _utils = require(\"../../../../data/data_source/utils\");\r\nvar _date = _interopRequireDefault(require(\"../../../../localization/date\"));\r\nvar _message = _interopRequireDefault(require(\"../../../../localization/message\"));\r\nvar _filtering = _interopRequireDefault(require(\"../../../../ui/shared/filtering\"));\r\nvar _ui = _interopRequireDefault(require(\"../../../../ui/widget/ui.errors\"));\r\nvar _m_modules = _interopRequireDefault(require(\"../m_modules\"));\r\nvar _m_utils = _interopRequireDefault(require(\"../m_utils\"));\r\nvar _const = require(\"./const\");\r\nvar _m_columns_controller_utils = require(\"./m_columns_controller_utils\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar ColumnsController = function(_modules$Controller) {\r\n _inheritsLoose(ColumnsController, _modules$Controller);\r\n\r\n function ColumnsController() {\r\n return _modules$Controller.apply(this, arguments) || this\r\n }\r\n var _proto = ColumnsController.prototype;\r\n _proto._getExpandColumnOptions = function() {\r\n return {\r\n type: \"expand\",\r\n command: \"expand\",\r\n width: \"auto\",\r\n cssClass: _const.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 _proto._getFirstItems = function(dataSource) {\r\n var groupsCount;\r\n var items = [];\r\n if (dataSource && dataSource.items().length > 0) {\r\n groupsCount = _m_utils.default.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 _proto._endUpdateCore = function() {\r\n !this._skipProcessingColumnsChange && (0, _m_columns_controller_utils.fireColumnsChanged)(this)\r\n };\r\n _proto.init = function(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 (0, _m_columns_controller_utils.assignColumns)(this, columns ? (0, _m_columns_controller_utils.createColumnsFromOptions)(this, columns) : []);\r\n (0, _m_columns_controller_utils.applyUserState)(this)\r\n } else {\r\n (0, _m_columns_controller_utils.assignColumns)(this, this._columnsUserState ? (0, _m_columns_controller_utils.createColumnsFromOptions)(this, this._columnsUserState) : this._columns)\r\n }(0, _m_columns_controller_utils.addExpandColumn)(this);\r\n if (this._dataSourceApplied) {\r\n this.applyDataSource(this._dataSource, true, isApplyingUserState)\r\n } else {\r\n (0, _m_columns_controller_utils.updateIndexes)(this)\r\n }\r\n this._checkColumns()\r\n };\r\n _proto.callbackNames = function() {\r\n return [\"columnsChanged\"]\r\n };\r\n _proto.getColumnByPath = function(path, columns) {\r\n var column;\r\n var columnIndexes = [];\r\n path.replace(_const.COLUMN_OPTION_REGEXP, (function(_, 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((function(column, index) {\r\n return column && column.columns && column.columns[index]\r\n }), {\r\n columns: columns\r\n })\r\n } else {\r\n column = (0, _m_columns_controller_utils.getColumnByIndexes)(this, columnIndexes)\r\n }\r\n }\r\n return column\r\n };\r\n _proto.optionChanged = function(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 _modules$Controller.prototype.optionChanged.call(this, args)\r\n }\r\n };\r\n _proto._columnOptionChanged = function(args) {\r\n var columnOptionValue = {};\r\n var column = this.getColumnByPath(args.fullName);\r\n var columnOptionName = args.fullName.replace(_const.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 _proto._updateRequireResize = function(args) {\r\n var component = this.component;\r\n if (\"width\" === args.fullName.replace(_const.COLUMN_OPTION_REGEXP, \"\") && component._updateLockCount) {\r\n component._requireResize = true\r\n }\r\n };\r\n _proto.publicMethods = function() {\r\n return [\"addColumn\", \"deleteColumn\", \"columnOption\", \"columnCount\", \"clearSorting\", \"clearGrouping\", \"getVisibleColumns\", \"getVisibleColumnIndex\"]\r\n };\r\n _proto.applyDataSource = function(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 = (0, _m_columns_controller_utils.createColumnsFromDataSource)(this, dataSource);\r\n if (columnsFromDataSource.length) {\r\n (0, _m_columns_controller_utils.assignColumns)(this, columnsFromDataSource);\r\n this._dataSourceColumnsCount = this._columns.length;\r\n (0, _m_columns_controller_utils.applyUserState)(this)\r\n }\r\n }\r\n return this.updateColumns(dataSource, forceApplying, isApplyingUserState)\r\n }\r\n this._dataSourceApplied = false;\r\n (0, _m_columns_controller_utils.updateIndexes)(this)\r\n } else if (isDataSourceLoaded && !this.isAllDataTypesDefined(true) && this.updateColumnDataTypes(dataSource)) {\r\n (0, _m_columns_controller_utils.updateColumnChanges)(this, \"columns\");\r\n (0, _m_columns_controller_utils.fireColumnsChanged)(this);\r\n return (new _deferred.Deferred).reject().promise()\r\n }\r\n };\r\n _proto.reset = function() {\r\n this._dataSource = null;\r\n this._dataSourceApplied = false;\r\n this._dataSourceColumnsCount = void 0;\r\n this.reinit()\r\n };\r\n _proto.resetColumnsCache = function() {\r\n this._visibleColumns = void 0;\r\n this._fixedColumns = void 0;\r\n this._rowCount = void 0;\r\n (0, _m_columns_controller_utils.resetBandColumnsCache)(this)\r\n };\r\n _proto.reinit = function(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 _proto.isInitialized = function() {\r\n return !!this._columns.length || !!this.option(\"columns\")\r\n };\r\n _proto.isDataSourceApplied = function() {\r\n return this._dataSourceApplied\r\n };\r\n _proto.getCommonSettings = function(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 (0, _extend.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 _proto.isColumnOptionUsed = function(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 _proto.isAllDataTypesDefined = function(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 _proto.getColumns = function() {\r\n return this._columns\r\n };\r\n _proto.isBandColumnsUsed = function() {\r\n return this.getColumns().some((function(column) {\r\n return column.isBand\r\n }))\r\n };\r\n _proto.getGroupColumns = function() {\r\n var result = [];\r\n (0, _iterator.each)(this._columns, (function() {\r\n if ((0, _type.isDefined)(this.groupIndex)) {\r\n result[this.groupIndex] = this\r\n }\r\n }));\r\n return result\r\n };\r\n _proto._shouldReturnVisibleColumns = function() {\r\n return true\r\n };\r\n _proto._compileVisibleColumns = function(rowIndex) {\r\n this._visibleColumns = this._visibleColumns || this._compileVisibleColumnsCore();\r\n rowIndex = (0, _type.isDefined)(rowIndex) ? rowIndex : this._visibleColumns.length - 1;\r\n return this._visibleColumns[rowIndex] || []\r\n };\r\n _proto.getVisibleColumns = function(rowIndex, isBase) {\r\n if (!this._shouldReturnVisibleColumns()) {\r\n return []\r\n }\r\n return this._compileVisibleColumns.apply(this, arguments)\r\n };\r\n _proto.getFixedColumns = function(rowIndex) {\r\n this._fixedColumns = this._fixedColumns || this._getFixedColumnsCore();\r\n rowIndex = (0, _type.isDefined)(rowIndex) ? rowIndex : this._fixedColumns.length - 1;\r\n return this._fixedColumns[rowIndex] || []\r\n };\r\n _proto.getFilteringColumns = function() {\r\n return this.getColumns().filter((function(item) {\r\n return (item.dataField || item.name) && (item.allowFiltering || item.allowHeaderFiltering)\r\n })).map((function(item) {\r\n var field = (0, _extend.extend)(true, {}, item);\r\n if (!(0, _type.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 _proto.getColumnIndexOffset = function() {\r\n return 0\r\n };\r\n _proto._getFixedColumnsCore = function() {\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 (!(0, _type.isDefined)(transparentColumnIndex)) {\r\n transparentColumnIndex = j\r\n }\r\n } else if (prevColumn && prevColumn.fixed && (0, _m_columns_controller_utils.getFixedPosition)(this, prevColumn) !== (0, _m_columns_controller_utils.getFixedPosition)(this, column)) {\r\n if (!(0, _type.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 (!(0, _type.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((function(columns) {\r\n return columns.map((function(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 };\r\n _proto._isColumnFixing = function() {\r\n var isColumnFixing = this.option(\"columnFixing.enabled\");\r\n !isColumnFixing && (0, _iterator.each)(this._columns, (function(_, 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 _proto._getExpandColumnsCore = function() {\r\n return this.getGroupColumns()\r\n };\r\n _proto.getExpandColumns = function() {\r\n var expandColumns = this._getExpandColumnsCore();\r\n var expandColumn;\r\n var firstGroupColumn = expandColumns.filter((function(column) {\r\n return 0 === column.groupIndex\r\n }))[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 = (0, _iterator.map)(expandColumns, (function(column) {\r\n return (0, _extend.extend)({}, column, {\r\n visibleWidth: null,\r\n minWidth: null,\r\n cellTemplate: !(0, _type.isDefined)(column.groupIndex) ? column.cellTemplate : null,\r\n headerCellTemplate: null,\r\n fixed: !(0, _type.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 || _const.GROUP_COMMAND_COLUMN_NAME\r\n })\r\n }));\r\n return expandColumns\r\n };\r\n _proto.getBandColumnsCache = function() {\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((function(column) {\r\n var ownerBand = column.ownerBand;\r\n var parentIndex = (0, _type.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 _proto._isColumnVisible = function(column) {\r\n return column.visible && this.isParentColumnVisible(column.index)\r\n };\r\n _proto._isColumnInGroupPanel = function(column) {\r\n return (0, _type.isDefined)(column.groupIndex) && !column.showWhenGrouped\r\n };\r\n _proto.hasVisibleDataColumns = function() {\r\n var _this = this;\r\n var columns = this._columns;\r\n return columns.some((function(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 _proto._compileVisibleColumnsCore = function() {\r\n var bandColumnsCache = this.getBandColumnsCache();\r\n var columns = (0, _m_columns_controller_utils.mergeColumns)(this, this._columns, this._commandColumns, true);\r\n (0, _m_columns_controller_utils.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 _proto._getIndexedColumns = function(columns) {\r\n var _this2 = this;\r\n var rtlEnabled = this.option(\"rtlEnabled\");\r\n var rowCount = this.getRowCount();\r\n var columnDigitsCount = (0, _m_columns_controller_utils.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((function(column) {\r\n var _a, _b, _c, _d;\r\n var visibleIndex = column.visibleIndex;\r\n var indexedColumns;\r\n var parentBandColumns = (0, _m_columns_controller_utils.getParentBandColumns)(column.index, bandColumnsCache.columnParentByIndex);\r\n var isVisible = _this2._isColumnVisible(column);\r\n var isInGroupPanel = _this2._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 && !(0, _m_columns_controller_utils.isCustomCommandColumn)(_this2, 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 = (0, _m_columns_controller_utils.numberToString)(visibleIndex, columnDigitsCount);\r\n for (var _i = parentBandColumns.length - 1; _i >= 0; _i -= 1) {\r\n visibleIndex = (0, _m_columns_controller_utils.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 _proto._getVisibleColumnsFromIndexed = function(_ref) {\r\n var _this3 = this;\r\n var positiveIndexedColumns = _ref.positiveIndexedColumns,\r\n negativeIndexedColumns = _ref.negativeIndexedColumns;\r\n var result = [];\r\n var rowCount = this.getRowCount();\r\n var expandColumns = (0, _m_columns_controller_utils.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 (0, _object.orderEach)(negativeIndexedColumns[rowIndex], (function(_, 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((function(columnsByFixing) {\r\n (0, _object.orderEach)(columnsByFixing, (function(_, columnsByVisibleIndex) {\r\n result[rowIndex].push.apply(result[rowIndex], columnsByVisibleIndex)\r\n }))\r\n }));\r\n if (rowspanExpandColumns <= rowIndex) {\r\n rowspanExpandColumns += _m_columns_controller_utils.processExpandColumns.call(_this3, result[rowIndex], expandColumns, _const.DETAIL_COMMAND_COLUMN_NAME, firstPositiveIndexColumn)\r\n }\r\n if (rowspanGroupColumns <= rowIndex) {\r\n rowspanGroupColumns += _m_columns_controller_utils.processExpandColumns.call(_this3, result[rowIndex], expandColumns, _const.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((0, _m_columns_controller_utils.getDataColumns)(result));\r\n return result\r\n };\r\n _proto.getInvisibleColumns = function(columns, bandColumnIndex) {\r\n var that = this;\r\n var result = [];\r\n var hiddenColumnsByBand;\r\n columns = columns || that._columns;\r\n (0, _iterator.each)(columns, (function(_, 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 _proto.getChooserColumns = function(getAllColumns) {\r\n var columns = getAllColumns ? this.getColumns() : this.getInvisibleColumns();\r\n var columnChooserColumns = columns.filter((function(column) {\r\n return column.showInColumnChooser\r\n }));\r\n var sortOrder = this.option(\"columnChooser.sortOrder\");\r\n return (0, _m_columns_controller_utils.sortColumns)(columnChooserColumns, sortOrder)\r\n };\r\n _proto.allowMoveColumn = function(fromVisibleIndex, toVisibleIndex, sourceLocation, targetLocation) {\r\n var columnIndex = (0, _m_columns_controller_utils.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 === _const.COLUMN_CHOOSER_LOCATION) {\r\n return false\r\n }\r\n fromVisibleIndex = (0, _type.isObject)(fromVisibleIndex) ? fromVisibleIndex.columnIndex : fromVisibleIndex;\r\n toVisibleIndex = (0, _type.isObject)(toVisibleIndex) ? toVisibleIndex.columnIndex : toVisibleIndex;\r\n return fromVisibleIndex !== toVisibleIndex && fromVisibleIndex + 1 !== toVisibleIndex\r\n }\r\n if (sourceLocation === _const.GROUP_LOCATION && targetLocation !== _const.COLUMN_CHOOSER_LOCATION || targetLocation === _const.GROUP_LOCATION) {\r\n return sourceColumn && sourceColumn.allowGrouping\r\n }\r\n if (sourceLocation === _const.COLUMN_CHOOSER_LOCATION || targetLocation === _const.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 _proto.moveColumn = function(fromVisibleIndex, toVisibleIndex, sourceLocation, targetLocation) {\r\n var options = {};\r\n var prevGroupIndex;\r\n var fromIndex = (0, _m_columns_controller_utils.getColumnIndexByVisibleIndex)(this, fromVisibleIndex, sourceLocation);\r\n var toIndex = (0, _m_columns_controller_utils.getColumnIndexByVisibleIndex)(this, toVisibleIndex, targetLocation);\r\n var targetGroupIndex;\r\n if (fromIndex >= 0) {\r\n var column = this._columns[fromIndex];\r\n toVisibleIndex = (0, _type.isObject)(toVisibleIndex) ? toVisibleIndex.columnIndex : toVisibleIndex;\r\n targetGroupIndex = toIndex >= 0 ? this._columns[toIndex].groupIndex : -1;\r\n if ((0, _type.isDefined)(column.groupIndex) && sourceLocation === _const.GROUP_LOCATION) {\r\n if (targetGroupIndex > column.groupIndex) {\r\n targetGroupIndex--\r\n }\r\n if (targetLocation !== _const.GROUP_LOCATION) {\r\n options.groupIndex = void 0\r\n } else {\r\n prevGroupIndex = column.groupIndex;\r\n delete column.groupIndex;\r\n (0, _m_columns_controller_utils.updateColumnGroupIndexes)(this)\r\n }\r\n }\r\n if (targetLocation === _const.GROUP_LOCATION) {\r\n options.groupIndex = (0, _m_columns_controller_utils.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 = _const.MAX_SAFE_INTEGER\r\n } else if ((0, _m_columns_controller_utils.isColumnFixed)(this, column) ^ (0, _m_columns_controller_utils.isColumnFixed)(this, targetColumn)) {\r\n options.visibleIndex = _const.MAX_SAFE_INTEGER\r\n } else {\r\n options.visibleIndex = targetColumn.visibleIndex\r\n }\r\n }\r\n var isVisible = targetLocation !== _const.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 _proto.changeSortOrder = function(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 && !(0, _type.isDefined)(column.groupIndex)) {\r\n (0, _iterator.each)(this._columns, (function(index) {\r\n if (index !== columnIndex && this.sortOrder) {\r\n if (!(0, _type.isDefined)(this.groupIndex)) {\r\n delete this.sortOrder\r\n }\r\n delete this.sortIndex\r\n }\r\n }))\r\n }\r\n if ((0, _m_columns_controller_utils.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 ((0, _type.isDefined)(column.groupIndex) || (0, _type.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 _proto.getSortDataSourceParameters = function(useLocalSelector) {\r\n var sortColumns = [];\r\n var sort = [];\r\n (0, _iterator.each)(this._columns, (function() {\r\n if ((this.dataField || this.selector || this.calculateCellValue) && (0, _type.isDefined)(this.sortIndex) && !(0, _type.isDefined)(this.groupIndex)) {\r\n sortColumns[this.sortIndex] = this\r\n }\r\n }));\r\n (0, _iterator.each)(sortColumns, (function() {\r\n var sortOrder = this && this.sortOrder;\r\n if ((0, _m_columns_controller_utils.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 _proto.getGroupDataSourceParameters = function(useLocalSelector) {\r\n var group = [];\r\n (0, _iterator.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 _proto.refresh = function(updateNewLookupsOnly) {\r\n var deferreds = [];\r\n (0, _iterator.each)(this._columns, (function() {\r\n var lookup = this.lookup;\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 _deferred.when.apply(_renderer.default, deferreds).done(_m_columns_controller_utils.resetColumnsCache.bind(null, this))\r\n };\r\n _proto._updateColumnOptions = function(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 }(0, _iterator.each)([\"calculateSortValue\", \"calculateGroupValue\", \"calculateDisplayValue\"], (function(_, calculateCallbackName) {\r\n var calculateCallback = column[calculateCallbackName];\r\n if ((0, _type.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 ((0, _type.isString)(column.calculateDisplayValue)) {\r\n column.displayField = column.calculateDisplayValue;\r\n column.calculateDisplayValue = (0, _data.compileGetter)(column.displayField)\r\n }\r\n if (column.calculateDisplayValue) {\r\n column.displayValueMap = column.displayValueMap || {}\r\n }(0, _m_columns_controller_utils.updateSerializers)(column, column.dataType);\r\n var lookup = column.lookup;\r\n if (lookup) {\r\n (0, _m_columns_controller_utils.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 || (0, _m_columns_controller_utils.getAlignmentByDataType)(dataType, this.option(\"rtlEnabled\"));\r\n column.format = column.format || _m_utils.default.getFormatByDataType(dataType);\r\n column.customizeText = column.customizeText || (0, _m_columns_controller_utils.getCustomizeTextByDataType)(dataType);\r\n column.defaultFilterOperations = column.defaultFilterOperations || !lookup && _const.DATATYPE_OPERATIONS[dataType] || [];\r\n if (!(0, _type.isDefined)(column.filterOperations)) {\r\n (0, _m_columns_controller_utils.setFilterOperationsAsDefaultValues)(column)\r\n }\r\n column.defaultFilterOperation = column.filterOperations && column.filterOperations[0] || \"=\";\r\n column.showEditorAlways = (0, _type.isDefined)(column.showEditorAlways) ? column.showEditorAlways : \"boolean\" === dataType && !column.cellTemplate && !column.lookup\r\n }\r\n };\r\n _proto.updateColumnDataTypes = function(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 (0, _iterator.each)(that._columns, (function(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 lookup = column.lookup;\r\n if (_m_utils.default.isDateType(column.dataType) && void 0 === column.serializationFormat) {\r\n column.serializationFormat = dateSerializationFormat\r\n }\r\n if (lookup && _m_utils.default.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 = (0, _m_columns_controller_utils.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 = (0, _m_columns_controller_utils.getValueDataType)(_m_utils.default.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 = (0, _m_columns_controller_utils.getSerializationFormat)(column.dataType, value)\r\n }\r\n if (lookup && void 0 === lookup.serializationFormat) {\r\n lookup.serializationFormat = (0, _m_columns_controller_utils.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 _proto._customizeColumns = function(columns) {\r\n var customizeColumns = this.option(\"customizeColumns\");\r\n if (customizeColumns) {\r\n var hasOwnerBand = columns.some((function(column) {\r\n return (0, _type.isObject)(column.ownerBand)\r\n }));\r\n if (hasOwnerBand) {\r\n (0, _m_columns_controller_utils.updateIndexes)(this)\r\n }\r\n customizeColumns(columns);\r\n (0, _m_columns_controller_utils.assignColumns)(this, (0, _m_columns_controller_utils.createColumnsFromOptions)(this, columns))\r\n }\r\n };\r\n _proto.updateColumns = function(dataSource, forceApplying, isApplyingUserState) {\r\n var _this4 = this;\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 }(0, _m_columns_controller_utils.updateIndexes)(this);\r\n var columns = this._columns;\r\n return (0, _deferred.when)(this.refresh(true)).always((function() {\r\n if (_this4._columns !== columns) {\r\n return\r\n }\r\n _this4._updateChanges(dataSource, {\r\n sorting: sortParameters,\r\n grouping: groupParameters,\r\n filtering: filterParameters\r\n });\r\n (0, _m_columns_controller_utils.fireColumnsChanged)(_this4)\r\n }))\r\n }\r\n };\r\n _proto._updateChanges = function(dataSource, parameters) {\r\n if (dataSource) {\r\n this.updateColumnDataTypes(dataSource);\r\n this._dataSourceApplied = true\r\n }\r\n if (!_m_utils.default.equalSortParameters(parameters.sorting, this.getSortDataSourceParameters())) {\r\n (0, _m_columns_controller_utils.updateColumnChanges)(this, \"sorting\")\r\n }\r\n if (!_m_utils.default.equalSortParameters(parameters.grouping, this.getGroupDataSourceParameters())) {\r\n (0, _m_columns_controller_utils.updateColumnChanges)(this, \"grouping\")\r\n }\r\n var dataController = this.getController(\"data\");\r\n if (dataController && !_m_utils.default.equalFilterParameters(parameters.filtering, dataController.getCombinedFilter())) {\r\n (0, _m_columns_controller_utils.updateColumnChanges)(this, \"filtering\")\r\n }(0, _m_columns_controller_utils.updateColumnChanges)(this, \"columns\")\r\n };\r\n _proto.updateSortingGrouping = function(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 (0, _iterator.each)(columns, (function(index, column) {\r\n delete column[indexParameterName];\r\n if (sortParameters) {\r\n for (var i = 0; i < sortParameters.length; i++) {\r\n var selector = sortParameters[i].selector;\r\n var isExpanded = sortParameters[i].isExpanded;\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 = _m_utils.default.normalizeSortingInfo(dataSource.sort());\r\n var groupParameters = _m_utils.default.normalizeSortingInfo(dataSource.group());\r\n var columnsGroupParameters = that.getGroupDataSourceParameters();\r\n var columnsSortParameters = that.getSortDataSourceParameters();\r\n var groupingChanged = !_m_utils.default.equalSortParameters(groupParameters, columnsGroupParameters, true);\r\n var groupExpandingChanged = !groupingChanged && !_m_utils.default.equalSortParameters(groupParameters, columnsGroupParameters);\r\n if (!that._columns.length) {\r\n (0, _iterator.each)(groupParameters, (function(index, group) {\r\n that._columns.push(group.selector)\r\n }));\r\n (0, _iterator.each)(sortParameters, (function(index, sort) {\r\n if (!(0, _type.isFunction)(sort.selector)) {\r\n that._columns.push(sort.selector)\r\n }\r\n }));\r\n (0, _m_columns_controller_utils.assignColumns)(that, (0, _m_columns_controller_utils.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 && (0, _m_columns_controller_utils.updateColumnChanges)(that, \"grouping\");\r\n groupExpandingChanged && (0, _m_columns_controller_utils.updateColumnChanges)(that, \"groupExpanding\");\r\n isColumnsChanged = true\r\n }\r\n }\r\n if ((fromDataSource || !columnsSortParameters && !that._hasUserState) && !_m_utils.default.equalSortParameters(sortParameters, columnsSortParameters)) {\r\n updateSortGroupParameterIndexes(that._columns, sortParameters, \"sortIndex\");\r\n if (fromDataSource) {\r\n (0, _m_columns_controller_utils.updateColumnChanges)(that, \"sorting\");\r\n isColumnsChanged = true\r\n }\r\n }\r\n if (isColumnsChanged) {\r\n (0, _m_columns_controller_utils.fireColumnsChanged)(that)\r\n }\r\n }\r\n };\r\n _proto.updateFilter = function(filter, remoteFiltering, columnIndex, filterValue) {\r\n if (!Array.isArray(filter)) {\r\n return filter\r\n }\r\n filter = (0, _extend.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 ((0, _type.isString)(filter[0]) && \"!\" !== filter[0]) {\r\n var column = this.columnOption(filter[0]);\r\n if (remoteFiltering) {\r\n if ((0, _config.default)().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 ((0, _type.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 _proto.columnCount = function() {\r\n return this._columns ? this._columns.length : 0\r\n };\r\n _proto.columnOption = function(identifier, option, value, notFireEvent) {\r\n var that = this;\r\n var columns = that._columns.concat(that._commandColumns);\r\n var column = (0, _m_columns_controller_utils.findColumn)(columns, identifier);\r\n if (column) {\r\n if (1 === arguments.length) {\r\n return (0, _extend.extend)({}, column)\r\n }\r\n if ((0, _type.isString)(option)) {\r\n if (2 === arguments.length) {\r\n return (0, _m_columns_controller_utils.columnOptionCore)(that, column, option)\r\n }(0, _m_columns_controller_utils.columnOptionCore)(that, column, option, value, notFireEvent)\r\n } else if ((0, _type.isObject)(option)) {\r\n (0, _iterator.each)(option, (function(optionName, value) {\r\n (0, _m_columns_controller_utils.columnOptionCore)(that, column, optionName, value, notFireEvent)\r\n }))\r\n }(0, _m_columns_controller_utils.fireColumnsChanged)(that)\r\n }\r\n };\r\n _proto.clearSorting = function() {\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(0, _m_columns_controller_utils.findColumn)(this._columns, i).sortOrder\r\n }\r\n this.endUpdate()\r\n };\r\n _proto.clearGrouping = function() {\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 _proto.getVisibleIndex = function(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 _proto.getVisibleIndexByColumn = function(column, rowIndex) {\r\n var visibleColumns = this.getVisibleColumns(rowIndex);\r\n var visibleColumn = visibleColumns.filter((function(col) {\r\n return col.index === column.index && col.command === column.command\r\n }))[0];\r\n return visibleColumns.indexOf(visibleColumn)\r\n };\r\n _proto.getVisibleColumnIndex = function(id, rowIndex) {\r\n var index = this.columnOption(id, \"index\");\r\n return this.getVisibleIndex(index, rowIndex)\r\n };\r\n _proto.addColumn = function(options) {\r\n var column = (0, _m_columns_controller_utils.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 = (0, _m_columns_controller_utils.createColumnsFromOptions)(this, this._columns);\r\n column = this._columns[index]\r\n }\r\n column.added = options;\r\n (0, _m_columns_controller_utils.updateIndexes)(this, column);\r\n this.updateColumns(this._dataSource);\r\n this._checkColumns()\r\n };\r\n _proto.deleteColumn = function(id) {\r\n var column = this.columnOption(id);\r\n if (column && column.index >= 0) {\r\n (0, _m_columns_controller_utils.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((function(column) {\r\n return column.index\r\n }));\r\n this._columns = this._columns.filter((function(column) {\r\n return childIndexes.indexOf(column.index) < 0\r\n }))\r\n }(0, _m_columns_controller_utils.updateIndexes)(this);\r\n this.updateColumns(this._dataSource)\r\n }\r\n };\r\n _proto.addCommandColumn = function(options) {\r\n var commandColumn = this._commandColumns.filter((function(column) {\r\n return column.command === options.command\r\n }))[0];\r\n if (!commandColumn) {\r\n commandColumn = options;\r\n this._commandColumns.push(commandColumn)\r\n }\r\n };\r\n _proto.getUserState = function() {\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 (0, _iterator.each)(_const.USER_STATE_FIELD_NAMES, handleStateField)\r\n }\r\n return result\r\n };\r\n _proto.setName = function(column) {\r\n column.name = column.name || column.dataField || column.type\r\n };\r\n _proto.setUserState = function(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 (0, _m_columns_controller_utils.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 _proto._checkColumns = function() {\r\n var usedNames = {};\r\n var hasEditableColumnWithoutName = false;\r\n var duplicatedNames = [];\r\n this._columns.forEach((function(column) {\r\n var _a;\r\n var name = column.name;\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 _ui.default.log(\"E1059\", duplicatedNames.join(\", \"))\r\n }\r\n if (hasEditableColumnWithoutName) {\r\n _ui.default.log(\"E1060\")\r\n }\r\n };\r\n _proto._createCalculatedColumnOptions = function(columnOptions, bandColumn) {\r\n var calculatedColumnOptions = {};\r\n var dataField = columnOptions.dataField;\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 ((0, _type.isString)(dataField)) {\r\n var getter = (0, _data.compileGetter)(dataField);\r\n calculatedColumnOptions = {\r\n caption: (0, _inflector.captionize)(dataField),\r\n calculateCellValue: function(data, skipDeserialization) {\r\n var value = getter(data);\r\n return this.deserializeValue && !skipDeserialization ? this.deserializeValue(value) : value\r\n },\r\n setCellValue: _m_columns_controller_utils.defaultSetCellValue,\r\n parseValue: function(text) {\r\n var result;\r\n var parsedValue;\r\n if (\"number\" === this.dataType) {\r\n if ((0, _type.isString)(text) && this.format) {\r\n result = (0, _m_columns_controller_utils.strictParseNumber)(text.trim(), this.format)\r\n } else if ((0, _type.isDefined)(text) && (0, _type.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 (_m_utils.default.isDateType(this.dataType)) {\r\n parsedValue = _date.default.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 _filtering.default.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 ((0, _type.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 || !(0, _type.isString)(dataField)) {\r\n (0, _extend.extend)(true, calculatedColumnOptions, {\r\n allowSorting: false,\r\n allowGrouping: false,\r\n calculateCellValue: function() {\r\n return null\r\n }\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: function(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: function() {\r\n this.valueMap = {};\r\n if (this.items) {\r\n var calculateValue = (0, _data.compileGetter)(this.valueExpr);\r\n var calculateDisplayValue = (0, _data.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 || (0, _m_columns_controller_utils.getValueDataType)(displayValue)\r\n }\r\n }\r\n },\r\n update: function() {\r\n var that = this;\r\n var dataSource = that.dataSource;\r\n if (dataSource) {\r\n if ((0, _type.isFunction)(dataSource) && !_variable_wrapper.default.isWrapped(dataSource)) {\r\n dataSource = dataSource({})\r\n }\r\n if ((0, _type.isPlainObject)(dataSource) || dataSource instanceof _abstract_store.default || Array.isArray(dataSource)) {\r\n if (that.valueExpr) {\r\n var dataSourceOptions = (0, _utils.normalizeDataSourceOptions)(dataSource);\r\n dataSourceOptions.paginate = false;\r\n dataSource = new _data_source.DataSource(dataSourceOptions);\r\n return dataSource.load().done((function(data) {\r\n that.items = data;\r\n that.updateValueMap && that.updateValueMap()\r\n }))\r\n }\r\n } else {\r\n _ui.default.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 = (0, _callbacks.default)();\r\n if (columnOptions.resized) {\r\n calculatedColumnOptions.resizedCallbacks.add(columnOptions.resized.bind(columnOptions))\r\n }(0, _iterator.each)(calculatedColumnOptions, (function(optionName) {\r\n if ((0, _type.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 _proto.getRowCount = function() {\r\n this._rowCount = this._rowCount || (0, _m_columns_controller_utils.getRowCount)(this);\r\n return this._rowCount\r\n };\r\n _proto.getRowIndex = function(columnIndex, alwaysGetRowIndex) {\r\n var column = this._columns[columnIndex];\r\n var bandColumnsCache = this.getBandColumnsCache();\r\n return column && (alwaysGetRowIndex || column.visible && !(column.command || (0, _type.isDefined)(column.groupIndex))) ? (0, _m_columns_controller_utils.getParentBandColumns)(columnIndex, bandColumnsCache.columnParentByIndex).length : 0\r\n };\r\n _proto.getChildrenByBandColumn = function(bandColumnIndex, onlyVisibleDirectChildren) {\r\n var bandColumnsCache = this.getBandColumnsCache();\r\n var result = (0, _m_columns_controller_utils.getChildrenByBandColumn)(bandColumnIndex, bandColumnsCache.columnChildrenByIndex, !onlyVisibleDirectChildren);\r\n if (onlyVisibleDirectChildren) {\r\n return result.filter((function(column) {\r\n return column.visible && !column.command\r\n })).sort((function(column1, column2) {\r\n return column1.visibleIndex - column2.visibleIndex\r\n }))\r\n }\r\n return result\r\n };\r\n _proto.isParentBandColumn = function(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 && (0, _m_columns_controller_utils.getParentBandColumns)(columnIndex, bandColumnsCache.columnParentByIndex);\r\n if (parentBandColumns) {\r\n (0, _iterator.each)(parentBandColumns, (function(_, 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 _proto.isParentColumnVisible = function(columnIndex) {\r\n var result = true;\r\n var bandColumnsCache = this.getBandColumnsCache();\r\n var bandColumns = columnIndex >= 0 && (0, _m_columns_controller_utils.getParentBandColumns)(columnIndex, bandColumnsCache.columnParentByIndex);\r\n bandColumns && (0, _iterator.each)(bandColumns, (function(_, bandColumn) {\r\n result = result && bandColumn.visible;\r\n return result\r\n }));\r\n return result\r\n };\r\n _proto.getColumnId = function(column) {\r\n if (column.command && column.type === _const.GROUP_COMMAND_COLUMN_NAME) {\r\n if ((0, _m_columns_controller_utils.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 _proto.getCustomizeTextByDataType = function(dataType) {\r\n return (0, _m_columns_controller_utils.getCustomizeTextByDataType)(dataType)\r\n };\r\n _proto.getHeaderContentAlignment = function(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 return ColumnsController\r\n}(_m_modules.default.Controller);\r\nexports.ColumnsController = ColumnsController;\r\nvar columnsControllerModule = {\r\n defaultOptions: function() {\r\n return {\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: _message.default.format(\"dxDataGrid-trueText\"),\r\n falseText: _message.default.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 },\r\n controllers: {\r\n columns: ColumnsController\r\n }\r\n};\r\nexports.columnsControllerModule = columnsControllerModule;\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/grid_core/columns_controller/m_columns_controller_utils.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.applyUserState = exports.addExpandColumn = void 0;\r\nexports.assignColumns = assignColumns;\r\nexports.isCustomCommandColumn = exports.isColumnFixed = exports.getValueDataType = exports.getSerializationFormat = exports.getRowCount = exports.getParentBandColumns = exports.getFixedPosition = exports.getDataColumns = exports.getCustomizeTextByDataType = exports.getColumnIndexByVisibleIndex = exports.getColumnFullPath = exports.getColumnByIndexes = exports.getChildrenByBandColumn = exports.getAlignmentByDataType = exports.fireOptionChanged = exports.fireColumnsChanged = exports.findColumn = exports.digitsCount = exports.defaultSetCellValue = exports.customizeTextForBooleanDataType = exports.createColumnsFromOptions = exports.createColumnsFromDataSource = exports.createColumn = exports.convertOwnerBandToColumnReference = exports.columnOptionCore = exports.calculateColspan = void 0;\r\nexports.isSortOrderValid = isSortOrderValid;\r\nexports.updateSortOrderWhenGrouping = exports.updateSerializers = exports.updateIndexes = exports.updateColumnVisibleIndexes = exports.updateColumnSortIndexes = exports.updateColumnIndexes = exports.updateColumnGroupIndexes = exports.updateColumnChanges = exports.strictParseNumber = exports.sortColumns = exports.setFilterOperationsAsDefaultValues = exports.resetColumnsCache = exports.resetBandColumnsCache = exports.processExpandColumns = exports.processBandColumns = exports.numberToString = exports.moveColumnToGroup = exports.mergeColumns = void 0;\r\nvar _array = require(\"../../../../core/utils/array\");\r\nvar _common = require(\"../../../../core/utils/common\");\r\nvar _data = require(\"../../../../core/utils/data\");\r\nvar _date_serialization = _interopRequireDefault(require(\"../../../../core/utils/date_serialization\"));\r\nvar _extend = require(\"../../../../core/utils/extend\");\r\nvar _iterator = require(\"../../../../core/utils/iterator\");\r\nvar _object = require(\"../../../../core/utils/object\");\r\nvar _position = require(\"../../../../core/utils/position\");\r\nvar _type = require(\"../../../../core/utils/type\");\r\nvar _variable_wrapper = _interopRequireDefault(require(\"../../../../core/utils/variable_wrapper\"));\r\nvar _number = _interopRequireDefault(require(\"../../../../localization/number\"));\r\nvar _m_utils = _interopRequireDefault(require(\"../m_utils\"));\r\nvar _const = require(\"./const\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar setFilterOperationsAsDefaultValues = function(column) {\r\n column.filterOperations = column.defaultFilterOperations\r\n};\r\nexports.setFilterOperationsAsDefaultValues = setFilterOperationsAsDefaultValues;\r\nvar globalColumnId = 1;\r\nvar createColumn = function(that, columnOptions, userStateColumnOptions, bandColumn) {\r\n var commonColumnOptions = {};\r\n if (columnOptions) {\r\n if ((0, _type.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 = (0, _object.deepExtendArraySafe)(commonColumnOptions, columnOptions)\r\n } else {\r\n commonColumnOptions = that.getCommonSettings(columnOptions);\r\n if (userStateColumnOptions && userStateColumnOptions.name && userStateColumnOptions.dataField) {\r\n columnOptions = (0, _extend.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 = (0, _object.deepExtendArraySafe)(result, _const.DEFAULT_COLUMN_OPTIONS);\r\n (0, _object.deepExtendArraySafe)(result, commonColumnOptions);\r\n (0, _object.deepExtendArraySafe)(result, calculatedColumnOptions);\r\n (0, _object.deepExtendArraySafe)(result, columnOptions);\r\n (0, _object.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\nexports.createColumn = createColumn;\r\nvar createColumnsFromOptions = function createColumnsFromOptions(that, columnsOptions, bandColumn) {\r\n var result = [];\r\n if (columnsOptions) {\r\n (0, _iterator.each)(columnsOptions, (function(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\nexports.createColumnsFromOptions = createColumnsFromOptions;\r\nvar 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\nexports.getParentBandColumns = getParentBandColumns;\r\nvar 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 (!(0, _type.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\nexports.getChildrenByBandColumn = getChildrenByBandColumn;\r\nvar 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\nexports.getColumnByIndexes = getColumnByIndexes;\r\nvar 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\nexports.getColumnFullPath = getColumnFullPath;\r\nvar calculateColspan = function calculateColspan(that, columnID) {\r\n var colspan = 0;\r\n var columns = that.getChildrenByBandColumn(columnID, true);\r\n (0, _iterator.each)(columns, (function(_, 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\nexports.calculateColspan = calculateColspan;\r\nvar 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 && (!(0, _type.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\nexports.processBandColumns = processBandColumns;\r\nvar getValueDataType = function(value) {\r\n var dataType = (0, _type.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\nexports.getValueDataType = getValueDataType;\r\nvar getSerializationFormat = function(dataType, value) {\r\n switch (dataType) {\r\n case \"date\":\r\n case \"datetime\":\r\n return _date_serialization.default.getDateSerializationFormat(value);\r\n case \"number\":\r\n if ((0, _type.isString)(value)) {\r\n return \"string\"\r\n }\r\n if ((0, _type.isNumeric)(value)) {\r\n return null\r\n }\r\n }\r\n};\r\nexports.getSerializationFormat = getSerializationFormat;\r\nvar updateSerializers = function(options, dataType) {\r\n if (!options.deserializeValue) {\r\n if (_m_utils.default.isDateType(dataType)) {\r\n options.deserializeValue = function(value) {\r\n return _date_serialization.default.deserializeDate(value)\r\n };\r\n options.serializeValue = function(value) {\r\n return (0, _type.isString)(value) ? value : _date_serialization.default.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 (0, _type.isDefined)(value) && \"string\" === this.serializationFormat ? value.toString() : value\r\n }\r\n }\r\n }\r\n};\r\nexports.updateSerializers = updateSerializers;\r\nvar 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 (0, _position.getDefaultAlignment)(isRTL)\r\n }\r\n};\r\nexports.getAlignmentByDataType = getAlignmentByDataType;\r\nvar 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\nexports.customizeTextForBooleanDataType = customizeTextForBooleanDataType;\r\nvar getCustomizeTextByDataType = function(dataType) {\r\n if (\"boolean\" === dataType) {\r\n return customizeTextForBooleanDataType\r\n }\r\n};\r\nexports.getCustomizeTextByDataType = getCustomizeTextByDataType;\r\nvar 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 (!(0, _type.isFunction)(firstItems[i][fieldName]) || _variable_wrapper.default.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\nexports.createColumnsFromDataSource = createColumnsFromDataSource;\r\nvar updateColumnIndexes = function(that) {\r\n (0, _iterator.each)(that._columns, (function(index, column) {\r\n column.index = index\r\n }));\r\n (0, _iterator.each)(that._columns, (function(index, column) {\r\n if ((0, _type.isObject)(column.ownerBand)) {\r\n column.ownerBand = column.ownerBand.index\r\n }\r\n }));\r\n (0, _iterator.each)(that._commandColumns, (function(index, column) {\r\n column.index = -(index + 1)\r\n }))\r\n};\r\nexports.updateColumnIndexes = updateColumnIndexes;\r\nvar updateColumnGroupIndexes = function(that, currentColumn) {\r\n (0, _array.normalizeIndexes)(that._columns, \"groupIndex\", currentColumn, (function(column) {\r\n var grouped = column.grouped;\r\n delete column.grouped;\r\n return grouped\r\n }))\r\n};\r\nexports.updateColumnGroupIndexes = updateColumnGroupIndexes;\r\nvar updateColumnSortIndexes = function(that, currentColumn) {\r\n (0, _iterator.each)(that._columns, (function(index, column) {\r\n if ((0, _type.isDefined)(column.sortIndex) && !isSortOrderValid(column.sortOrder)) {\r\n delete column.sortIndex\r\n }\r\n }));\r\n (0, _array.normalizeIndexes)(that._columns, \"sortIndex\", currentColumn, (function(column) {\r\n return !(0, _type.isDefined)(column.groupIndex) && isSortOrderValid(column.sortOrder)\r\n }))\r\n};\r\nexports.updateColumnSortIndexes = updateColumnSortIndexes;\r\nvar 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((function(column) {\r\n return !column.command\r\n }));\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 }(0, _array.normalizeIndexes)(bandedColumns, \"visibleIndex\", currentColumn);\r\n (0, _array.normalizeIndexes)(result, \"visibleIndex\", currentColumn)\r\n};\r\nexports.updateColumnVisibleIndexes = updateColumnVisibleIndexes;\r\nvar getColumnIndexByVisibleIndex = function(that, visibleIndex, location) {\r\n var rowIndex = (0, _type.isObject)(visibleIndex) ? visibleIndex.rowIndex : null;\r\n var columns = location === _const.GROUP_LOCATION ? that.getGroupColumns() : location === _const.COLUMN_CHOOSER_LOCATION ? that.getChooserColumns() : that.getVisibleColumns(rowIndex);\r\n var column;\r\n visibleIndex = (0, _type.isObject)(visibleIndex) ? visibleIndex.columnIndex : visibleIndex;\r\n column = columns[visibleIndex];\r\n if (column && column.type === _const.GROUP_COMMAND_COLUMN_NAME) {\r\n column = that._columns.filter((function(col) {\r\n return column.type === col.type\r\n }))[0] || column\r\n }\r\n return column && (0, _type.isDefined)(column.index) ? column.index : -1\r\n};\r\nexports.getColumnIndexByVisibleIndex = getColumnIndexByVisibleIndex;\r\nvar 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\nexports.moveColumnToGroup = moveColumnToGroup;\r\n\r\nfunction checkUserStateColumn(column, userStateColumn) {\r\n return column && userStateColumn && userStateColumn.name === (column.name || column.dataField) && (userStateColumn.dataField === column.dataField || column.name)\r\n}\r\nvar 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 < _const.USER_STATE_FIELD_NAMES.length; index++) {\r\n var fieldName = _const.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 (_const.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 && (0, _type.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\nexports.applyUserState = applyUserState;\r\nvar 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\nexports.updateIndexes = updateIndexes;\r\nvar resetColumnsCache = function(that) {\r\n that.resetColumnsCache()\r\n};\r\nexports.resetColumnsCache = resetColumnsCache;\r\n\r\nfunction 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\nvar updateColumnChanges = function(that, changeType, optionName, columnIndex) {\r\n var _a;\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 changeTypes = columnChanges.changeTypes;\r\n if (changeType && !changeTypes[changeType]) {\r\n changeTypes[changeType] = true;\r\n changeTypes.length++\r\n }\r\n var optionNames = columnChanges.optionNames;\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 if ((0, _type.isDefined)(columnIndex)) {\r\n null !== (_a = columnChanges.columnIndices) && void 0 !== _a ? _a : columnChanges.columnIndices = [columnChanges.columnIndex];\r\n columnChanges.columnIndices.push(columnIndex)\r\n }\r\n delete columnChanges.columnIndex\r\n }\r\n that._columnChanges = columnChanges;\r\n resetColumnsCache(that)\r\n};\r\nexports.updateColumnChanges = updateColumnChanges;\r\nvar 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((0, _extend.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((function(name) {\r\n return options[name]\r\n }))) {\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\nexports.fireColumnsChanged = fireColumnsChanged;\r\nvar 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((function(col) {\r\n return col !== column && (0, _type.isDefined)(col.sortIndex)\r\n }));\r\n if (sortedByAnotherColumn) {\r\n sortOrder = void 0\r\n }\r\n }\r\n column.sortOrder = sortOrder\r\n }\r\n};\r\nexports.updateSortOrderWhenGrouping = updateSortOrderWhenGrouping;\r\nvar fireOptionChanged = function(that, options) {\r\n var value = options.value;\r\n var optionName = options.optionName;\r\n var prevValue = options.prevValue;\r\n var fullOptionName = options.fullOptionName;\r\n var fullOptionPath = \"\".concat(fullOptionName, \".\").concat(optionName);\r\n if (!_const.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\nexports.fireOptionChanged = fireOptionChanged;\r\nvar columnOptionCore = function(that, column, optionName, value, notFireEvent) {\r\n var optionGetter = (0, _data.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 (!(0, _common.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 = (0, _data.compileSetter)(optionName);\r\n optionSetter(column, value, {\r\n functionsAsIs: true\r\n });\r\n var fullOptionName = getColumnFullPath(that, column);\r\n if (_const.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 (!(0, _type.isDefined)(prevValue) && !(0, _type.isDefined)(value) && 0 !== optionName.indexOf(\"buffer\")) {\r\n notFireEvent = true\r\n }\r\n if (!notFireEvent) {\r\n if (!_const.USER_STATE_FIELD_NAMES.includes(optionName) && \"visibleWidth\" !== optionName) {\r\n columns = that.option(\"columns\");\r\n initialColumn = that.getColumnByPath(fullOptionName, columns);\r\n if ((0, _type.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\nexports.columnOptionCore = columnOptionCore;\r\n\r\nfunction isSortOrderValid(sortOrder) {\r\n return \"asc\" === sortOrder || \"desc\" === sortOrder\r\n}\r\nvar addExpandColumn = function(that) {\r\n var options = that._getExpandColumnOptions();\r\n that.addCommandColumn(options)\r\n};\r\nexports.addExpandColumn = addExpandColumn;\r\nvar 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\nexports.defaultSetCellValue = defaultSetCellValue;\r\nvar getDataColumns = function getDataColumns(columns, rowIndex, bandColumnID) {\r\n var result = [];\r\n rowIndex = rowIndex || 0;\r\n columns[rowIndex] && (0, _iterator.each)(columns[rowIndex], (function(_, column) {\r\n if (column.ownerBand === bandColumnID || column.type === _const.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\nexports.getDataColumns = getDataColumns;\r\nvar getRowCount = function(that) {\r\n var rowCount = 1;\r\n var bandColumnsCache = that.getBandColumnsCache();\r\n var columnParentByIndex = bandColumnsCache.columnParentByIndex;\r\n that._columns.forEach((function(column) {\r\n var parents = getParentBandColumns(column.index, columnParentByIndex);\r\n var invisibleParents = parents.filter((function(column) {\r\n return !column.visible\r\n }));\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\nexports.getRowCount = getRowCount;\r\nvar isCustomCommandColumn = function(that, commandColumn) {\r\n var customCommandColumns = that._columns.filter((function(column) {\r\n return column.type === commandColumn.type\r\n }));\r\n return !!customCommandColumns.length\r\n};\r\nexports.isCustomCommandColumn = isCustomCommandColumn;\r\nvar 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\nexports.getFixedPosition = getFixedPosition;\r\nvar 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((function(column) {\r\n return column.type === type\r\n }));\r\n columns.forEach((function(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 = (0, _iterator.map)(expandColumnsByType, (function(expandColumn) {\r\n return (0, _extend.extend)({}, expandColumn, {\r\n rowspan: rowspan\r\n })\r\n }))\r\n }\r\n expandColumnsByType.unshift.apply(expandColumnsByType, (0, _type.isDefined)(customColumnIndex) ? [customColumnIndex, 1] : [columnIndex, 0]);\r\n columns.splice.apply(columns, expandColumnsByType);\r\n return rowspan || 1\r\n};\r\nexports.processExpandColumns = processExpandColumns;\r\nvar 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\nexports.digitsCount = digitsCount;\r\nvar 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\nexports.numberToString = numberToString;\r\nvar mergeColumns = function(that, columns, commandColumns, needToExtend) {\r\n var column;\r\n var commandColumnIndex;\r\n var result = columns.slice().map((function(column) {\r\n return (0, _extend.extend)({}, column)\r\n }));\r\n var isColumnFixing = that._isColumnFixing();\r\n var defaultCommandColumns = commandColumns.slice().map((function(column) {\r\n return (0, _extend.extend)({\r\n fixed: isColumnFixing\r\n }, column)\r\n }));\r\n var getCommandColumnIndex = function(column) {\r\n return commandColumns.reduce((function(result, commandColumn, index) {\r\n var columnType = needToExtend && column.type === _const.GROUP_COMMAND_COLUMN_NAME ? \"expand\" : column.type;\r\n return commandColumn.type === columnType || commandColumn.command === column.command ? index : result\r\n }), -1)\r\n };\r\n var callbackFilter = function(commandColumn) {\r\n return commandColumn.command !== commandColumns[commandColumnIndex].command\r\n };\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] = (0, _extend.extend)({\r\n fixed: isColumnFixing\r\n }, commandColumns[commandColumnIndex], column);\r\n if (column.type !== _const.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] = (0, _extend.extend)({}, column, commandColumns[commandColumnIndex], column.type === _const.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\nexports.mergeColumns = mergeColumns;\r\nvar isColumnFixed = function(that, column) {\r\n return (0, _type.isDefined)(column.fixed) || !column.type ? column.fixed : that._isColumnFixing()\r\n};\r\nexports.isColumnFixed = isColumnFixed;\r\nvar convertOwnerBandToColumnReference = function(columns) {\r\n columns.forEach((function(column) {\r\n if ((0, _type.isDefined)(column.ownerBand)) {\r\n column.ownerBand = columns[column.ownerBand]\r\n }\r\n }))\r\n};\r\nexports.convertOwnerBandToColumnReference = convertOwnerBandToColumnReference;\r\nvar resetBandColumnsCache = function(that) {\r\n that._bandColumnsCache = void 0\r\n};\r\nexports.resetBandColumnsCache = resetBandColumnsCache;\r\nvar findColumn = function(columns, identifier) {\r\n var identifierOptionName = (0, _type.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((function(column) {\r\n return \"\".concat(column[identifierOptionName]) === identifier\r\n }))[0]\r\n } else {\r\n [\"index\", \"name\", \"dataField\", \"caption\"].some((function(optionName) {\r\n column = columns.filter((function(column) {\r\n return column[optionName] === identifier\r\n }))[0];\r\n return !!column\r\n }))\r\n }\r\n return column\r\n};\r\nexports.findColumn = findColumn;\r\nvar sortColumns = function(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((function(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\nexports.sortColumns = sortColumns;\r\nvar strictParseNumber = function(text, format) {\r\n var parsedValue = _number.default.parse(text);\r\n if ((0, _type.isNumeric)(parsedValue)) {\r\n var formattedValue = _number.default.format(parsedValue, format);\r\n var formattedValueWithDefaultFormat = _number.default.format(parsedValue, \"decimal\");\r\n if (formattedValue === text || formattedValueWithDefaultFormat === text) {\r\n return parsedValue\r\n }\r\n }\r\n};\r\nexports.strictParseNumber = strictParseNumber;\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/grid_core/columns_resizing_reordering/m_columns_resizing_reordering.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.columnsResizingReorderingModule = void 0;\r\nvar _fx = _interopRequireDefault(require(\"../../../../animation/fx\"));\r\nvar _dom_adapter = _interopRequireDefault(require(\"../../../../core/dom_adapter\"));\r\nvar _renderer = _interopRequireDefault(require(\"../../../../core/renderer\"));\r\nvar _callbacks = _interopRequireDefault(require(\"../../../../core/utils/callbacks\"));\r\nvar _extend = require(\"../../../../core/utils/extend\");\r\nvar _iterator = require(\"../../../../core/utils/iterator\");\r\nvar _position = require(\"../../../../core/utils/position\");\r\nvar _size = require(\"../../../../core/utils/size\");\r\nvar _type = require(\"../../../../core/utils/type\");\r\nvar _events_engine = _interopRequireDefault(require(\"../../../../events/core/events_engine\"));\r\nvar _drag = require(\"../../../../events/drag\");\r\nvar _pointer = _interopRequireDefault(require(\"../../../../events/pointer\"));\r\nvar _index = require(\"../../../../events/utils/index\");\r\nvar _swatch_container = _interopRequireDefault(require(\"../../../../ui/widget/swatch_container\"));\r\nvar _m_modules = _interopRequireDefault(require(\"../m_modules\"));\r\nvar _m_utils = _interopRequireDefault(require(\"../m_utils\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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\nvar TrackerView = _m_modules.default.View.inherit({\r\n _renderCore: function() {\r\n var deferred = this.callBase();\r\n this.element().addClass(this.addWidgetPrefix(TRACKER_CLASS));\r\n this.hide();\r\n return deferred\r\n },\r\n _unsubscribeFromCallback: function() {\r\n if (this._positionChanged) {\r\n this._tablePositionController.positionChanged.remove(this._positionChanged)\r\n }\r\n },\r\n _subscribeToCallback: function() {\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 (0, _size.setHeight)($element, position.height)\r\n }\r\n };\r\n this._tablePositionController.positionChanged.add(that._positionChanged)\r\n },\r\n optionChanged: function(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 this.callBase(args)\r\n },\r\n init: function() {\r\n this.callBase();\r\n this._tablePositionController = this.getController(\"tablePosition\");\r\n this._subscribeToCallback()\r\n },\r\n isVisible: function() {\r\n return allowResizing(this)\r\n },\r\n show: function() {\r\n this.element().show()\r\n },\r\n hide: function() {\r\n this.element() && this.element().hide()\r\n },\r\n setHeight: function(value) {\r\n (0, _size.setHeight)(this.element(), value)\r\n },\r\n dispose: function() {\r\n this._unsubscribeFromCallback();\r\n this.callBase()\r\n }\r\n});\r\nvar SeparatorView = _m_modules.default.View.inherit({\r\n _renderSeparator: function() {},\r\n _renderCore: function(options) {\r\n var deferred = this.callBase(options);\r\n this._isShown = true;\r\n this._renderSeparator();\r\n this.hide();\r\n return deferred\r\n },\r\n show: function() {\r\n this._isShown = true\r\n },\r\n hide: function() {\r\n this._isShown = false\r\n },\r\n height: function(value) {\r\n var $element = this.element();\r\n if ($element) {\r\n if ((0, _type.isDefined)(value)) {\r\n (0, _size.setHeight)($element, value)\r\n } else {\r\n return (0, _size.getHeight)($element)\r\n }\r\n }\r\n },\r\n width: function(value) {\r\n var $element = this.element();\r\n if ($element) {\r\n if ((0, _type.isDefined)(value)) {\r\n (0, _size.setWidth)($element, value)\r\n } else {\r\n return (0, _size.getWidth)($element)\r\n }\r\n }\r\n }\r\n});\r\nvar ColumnsSeparatorView = SeparatorView.inherit({\r\n _renderSeparator: function() {\r\n this.callBase();\r\n var $element = this.element();\r\n $element.addClass(this.addWidgetPrefix(COLUMNS_SEPARATOR_CLASS))\r\n },\r\n _subscribeToCallback: function() {\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 (0, _size.setHeight)($element, position.height)\r\n }\r\n };\r\n that._tablePositionController.positionChanged.add(that._positionChanged)\r\n },\r\n _unsubscribeFromCallback: function() {\r\n this._positionChanged && this._tablePositionController.positionChanged.remove(this._positionChanged)\r\n },\r\n _init: function() {\r\n this._isTransparent = allowResizing(this);\r\n if (this.isVisible()) {\r\n this._subscribeToCallback()\r\n }\r\n },\r\n isVisible: function() {\r\n return this.option(\"showColumnHeaders\") && (allowReordering(this) || allowResizing(this))\r\n },\r\n optionChanged: function(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 this.callBase(args)\r\n },\r\n init: function() {\r\n this.callBase();\r\n this._tablePositionController = this.getController(\"tablePosition\");\r\n this._init()\r\n },\r\n show: function() {\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 this.callBase()\r\n },\r\n hide: function(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 this.callBase()\r\n },\r\n moveByX: function(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: function(cursorName) {\r\n cursorName = (0, _type.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: function() {\r\n this._unsubscribeFromCallback();\r\n this.callBase()\r\n }\r\n});\r\nvar BlockSeparatorView = SeparatorView.inherit({\r\n init: function() {\r\n var that = this;\r\n this.callBase();\r\n this.getController(\"data\").loadingChanged.add((function(isLoading) {\r\n if (!isLoading) {\r\n that.hide()\r\n }\r\n }))\r\n },\r\n _renderSeparator: function() {\r\n this.callBase();\r\n this.element().addClass(BLOCK_SEPARATOR_CLASS).html(\" \")\r\n },\r\n hide: function() {\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 this.callBase()\r\n },\r\n isVisible: function() {\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: function(targetLocation) {\r\n var $element = this.element();\r\n var startAnimate = function(toOptions) {\r\n _fx.default.stop($element, true);\r\n _fx.default.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 this.callBase()\r\n }\r\n});\r\nvar DraggingHeaderView = _m_modules.default.View.inherit({\r\n _isDragging: false,\r\n isDragging: function() {\r\n return this._isDragging\r\n },\r\n _getDraggingPanelByPos: function(pos) {\r\n var result;\r\n (0, _iterator.each)(this._dragOptions.draggingPanels, (function(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: function() {\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: function() {\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: function(rowIndex, visibleIndex) {\r\n if ((0, _type.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: function() {\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: function() {\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: function() {\r\n var that = this;\r\n this.callBase();\r\n this._controller = this.getController(\"draggingHeader\");\r\n this._columnsResizerViewController = this.getController(\"columnsResizer\");\r\n this.getController(\"data\").loadingChanged.add((function(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: function(options) {\r\n var columnElement = options.columnElement;\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 = _dom_adapter.default.getDocument();\r\n this._onSelectStart = document.onselectstart;\r\n document.onselectstart = function() {\r\n return false\r\n };\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 || (0, _size.getHeight)(columnElement)),\r\n width: columnElement && (isCommandColumn && columnElement.get(0).clientWidth || (0, _size.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(_swatch_container.default.getSwatchContainer(columnElement))\r\n },\r\n moveHeader: function(args) {\r\n var e = args.event;\r\n var that = e.data.that;\r\n var eventData = (0, _index.eventData)(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: function(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 sourceColumn = dragOptions.sourceColumn;\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((0, _extend.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 && (0, _renderer.default)(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: function(args) {\r\n var e = args.event;\r\n var that = e.data.that;\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 _dom_adapter.default.getDocument().onselectstart = that._onSelectStart || null\r\n }\r\n});\r\nvar isNextColumnResizingMode = function(that) {\r\n return \"widget\" !== that.option(\"columnResizingMode\")\r\n};\r\nvar ColumnsResizerViewController = _m_modules.default.ViewController.inherit({\r\n _isHeadersRowArea: function(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: function() {\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: function(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: function(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: function(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 = (0, _index.eventData)(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 + (0, _size.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: function(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: function(currentColumnIndex) {\r\n return currentColumnIndex + 1\r\n },\r\n _setupResizingInfo: function(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 ? (0, _position.getBoundingRect)(currentHeader[0]).width : 0,\r\n nextColumnIndex: nextColumnIndex,\r\n nextColumnWidth: nextHeader && nextHeader.length > 0 ? (0, _position.getBoundingRect)(nextHeader[0]).width : 0\r\n }\r\n },\r\n _startResizing: function(args) {\r\n var e = args.event;\r\n var that = e.data;\r\n var eventData = (0, _index.eventData)(e);\r\n if ((0, _index.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 = (0, _size.getWidth)(scrollable.$content()) - (0, _size.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: function() {\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 = _m_utils.default.getPointsByColumns(cells, (function(point) {\r\n return that._pointCreated(point, cells.length, columns)\r\n }))\r\n }\r\n that._pointsByColumns = pointsByColumns\r\n },\r\n _unsubscribeFromEvents: function() {\r\n this._moveSeparatorHandler && _events_engine.default.off(_dom_adapter.default.getDocument(), (0, _index.addNamespace)(_pointer.default.move, MODULE_NAMESPACE), this._moveSeparatorHandler);\r\n this._startResizingHandler && _events_engine.default.off(this._$parentContainer, (0, _index.addNamespace)(_pointer.default.down, MODULE_NAMESPACE), this._startResizingHandler);\r\n if (this._endResizingHandler) {\r\n _events_engine.default.off(this._columnsSeparatorView.element(), (0, _index.addNamespace)(_pointer.default.up, MODULE_NAMESPACE), this._endResizingHandler);\r\n _events_engine.default.off(_dom_adapter.default.getDocument(), (0, _index.addNamespace)(_pointer.default.up, MODULE_NAMESPACE), this._endResizingHandler)\r\n }\r\n },\r\n _subscribeToEvents: function() {\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 _events_engine.default.on(_dom_adapter.default.getDocument(), (0, _index.addNamespace)(_pointer.default.move, MODULE_NAMESPACE), this, this._moveSeparatorHandler);\r\n _events_engine.default.on(this._$parentContainer, (0, _index.addNamespace)(_pointer.default.down, MODULE_NAMESPACE), this, this._startResizingHandler);\r\n _events_engine.default.on(this._columnsSeparatorView.element(), (0, _index.addNamespace)(_pointer.default.up, MODULE_NAMESPACE), this, this._endResizingHandler);\r\n _events_engine.default.on(_dom_adapter.default.getDocument(), (0, _index.addNamespace)(_pointer.default.up, MODULE_NAMESPACE), this, this._endResizingHandler)\r\n },\r\n _updateColumnsWidthIfNeeded: function(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 (0, _type.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 _calculateCellWidths = 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 cellWidth = _calculateCellWidths.cellWidth,\r\n nextCellWidth = _calculateCellWidths.nextCellWidth;\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((function(column) {\r\n return column.width\r\n }));\r\n if (allColumnsHaveWidth) {\r\n var totalPercent = visibleColumns.reduce((function(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((function(totalWidth, width) {\r\n return totalWidth + width\r\n }), 0) > this._rowsView.contentWidth();\r\n if (!hasScroll) {\r\n var lastColumnIndex = _m_utils.default.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 = (0, _size.getWidth)(scrollable.$content()) - (0, _size.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: function(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: function() {\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: function() {\r\n this._unsubscribeFromEvents();\r\n this._unsubscribeFromCallbacks()\r\n },\r\n _init: function() {\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, (function() {\r\n that._unsubscribeFromEvents();\r\n that._subscribeToEvents()\r\n }));\r\n that._subscribeToCallback(that._rowsView.renderCompleted, (function() {\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, (function(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: function(args) {\r\n this.callBase(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: function() {\r\n return this._isResizing\r\n },\r\n init: function() {\r\n this._subscribesToCallbacks = [];\r\n if (allowResizing(this)) {\r\n this._init()\r\n }\r\n },\r\n pointsByColumns: function(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: function() {\r\n this._unsubscribes();\r\n this.callBase()\r\n }\r\n});\r\nvar TablePositionViewController = _m_modules.default.ViewController.inherit({\r\n update: function(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 = (0, _type.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: function() {\r\n var that = this;\r\n that.callBase();\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((function() {\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 ctor: function(component) {\r\n this.callBase(component);\r\n this.positionChanged = (0, _callbacks.default)()\r\n }\r\n});\r\nvar DraggingHeaderViewController = _m_modules.default.ViewController.inherit({\r\n _generatePointsByColumns: function(options) {\r\n var that = this;\r\n return _m_utils.default.getPointsByColumns(options.columnElements, (function(point) {\r\n return that._pointCreated(point, options.columns, options.targetDraggingPanel.getName(), options.sourceColumn)\r\n }), options.isVerticalOrientation, options.startColumnIndex)\r\n },\r\n _pointCreated: function(point, columns, location, sourceColumn) {\r\n var targetColumn = columns[point.columnIndex];\r\n var prevColumn = columns[point.columnIndex - 1];\r\n switch (location) {\r\n case \"columnChooser\":\r\n return true;\r\n case \"headers\":\r\n return sourceColumn && !sourceColumn.allowReordering || (!targetColumn || !targetColumn.allowReordering) && (!prevColumn || !prevColumn.allowReordering);\r\n default:\r\n return 0 === columns.length\r\n }\r\n },\r\n _subscribeToEvents: function(draggingHeader, draggingPanels) {\r\n var that = this;\r\n (0, _iterator.each)(draggingPanels, (function(_, 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 = (0, _renderer.default)(columnElement);\r\n var column = columns[index];\r\n if (column && draggingPanel.allowDragging(column)) {\r\n $columnElement.addClass(that.addWidgetPrefix(HEADERS_DRAG_ACTION_CLASS));\r\n _events_engine.default.on($columnElement, (0, _index.addNamespace)(_drag.start, MODULE_NAMESPACE), that.createAction((function(args) {\r\n var e = args.event;\r\n var eventData = (0, _index.eventData)(e);\r\n draggingHeader.dragHeader({\r\n deltaX: eventData.x - (0, _renderer.default)(e.currentTarget).offset().left,\r\n deltaY: eventData.y - (0, _renderer.default)(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 _events_engine.default.on($columnElement, (0, _index.addNamespace)(_drag.move, MODULE_NAMESPACE), {\r\n that: draggingHeader\r\n }, that.createAction(draggingHeader.moveHeader));\r\n _events_engine.default.on($columnElement, (0, _index.addNamespace)(_drag.end, 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 (0, _iterator.each)(columnElements, subscribeToEvents)\r\n }\r\n }\r\n }\r\n }))\r\n },\r\n _unsubscribeFromEvents: function(draggingHeader, draggingPanels) {\r\n var that = this;\r\n (0, _iterator.each)(draggingPanels, (function(_, draggingPanel) {\r\n if (draggingPanel) {\r\n var columnElements = draggingPanel.getColumnElements() || [];\r\n (0, _iterator.each)(columnElements, (function(index, columnElement) {\r\n var $columnElement = (0, _renderer.default)(columnElement);\r\n _events_engine.default.off($columnElement, (0, _index.addNamespace)(_drag.start, MODULE_NAMESPACE));\r\n _events_engine.default.off($columnElement, (0, _index.addNamespace)(_drag.move, MODULE_NAMESPACE));\r\n _events_engine.default.off($columnElement, (0, _index.addNamespace)(_drag.end, MODULE_NAMESPACE));\r\n $columnElement.removeClass(that.addWidgetPrefix(HEADERS_DRAG_ACTION_CLASS))\r\n }))\r\n }\r\n }))\r\n },\r\n _getSeparator: function(targetLocation) {\r\n return \"headers\" === targetLocation ? this._columnsSeparatorView : this._blockSeparatorView\r\n },\r\n hideSeparators: function(type) {\r\n var blockSeparator = this._blockSeparatorView;\r\n var columnsSeparator = this._columnsSeparatorView;\r\n this._animationColumnIndex = null;\r\n blockSeparator && blockSeparator.hide();\r\n \"block\" !== type && columnsSeparator && columnsSeparator.hide()\r\n },\r\n init: function() {\r\n var that = this;\r\n that.callBase();\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: function(parameters) {\r\n return this._columnsController.allowMoveColumn(parameters.sourceColumnIndex, parameters.targetColumnIndex, parameters.sourceLocation, parameters.targetLocation)\r\n },\r\n drag: function(parameters) {\r\n var sourceIndex = parameters.sourceIndex;\r\n var sourceLocation = parameters.sourceLocation;\r\n var sourceColumnElement = parameters.sourceColumnElement;\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: function(parameters) {\r\n var that = this;\r\n var targetColumnIndex = (0, _type.isObject)(parameters.targetColumnIndex) ? parameters.targetColumnIndex.columnIndex : parameters.targetColumnIndex;\r\n var sourceLocation = parameters.sourceLocation;\r\n var targetLocation = parameters.targetLocation;\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: function(parameters) {\r\n var sourceColumnElement = parameters.sourceColumnElement;\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: function() {\r\n if (this._draggingHeaderView) {\r\n this._unsubscribeFromEvents(this._draggingHeaderView, [this._columnChooserView, this._columnHeadersView, this._headerPanelView])\r\n }\r\n }\r\n});\r\nvar 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: function(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: function() {\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\nexports.columnsResizingReorderingModule = columnsResizingReorderingModule;\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/grid_core/context_menu/m_context_menu.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.contextMenuModule = void 0;\r\nvar _element = require(\"../../../../core/element\");\r\nvar _renderer = _interopRequireDefault(require(\"../../../../core/renderer\"));\r\nvar _common = require(\"../../../../core/utils/common\");\r\nvar _iterator = require(\"../../../../core/utils/iterator\");\r\nvar _context_menu = _interopRequireDefault(require(\"../../../../ui/context_menu\"));\r\nvar _m_modules = _interopRequireDefault(require(\"../m_modules\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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 = _m_modules.default.ViewController.inherit({\r\n init: function() {\r\n this.createAction(\"onContextMenuPreparing\")\r\n },\r\n getContextMenuItems: function(dxEvent) {\r\n if (!dxEvent) {\r\n return false\r\n }\r\n var that = this;\r\n var $targetElement = (0, _renderer.default)(dxEvent.target);\r\n var $element;\r\n var $targetRowElement;\r\n var $targetCellElement;\r\n var menuItems;\r\n (0, _iterator.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: (0, _element.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: _common.noop\r\n});\r\nvar ContextMenuView = _m_modules.default.View.inherit({\r\n _renderCore: function() {\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, _context_menu.default, {\r\n onPositioning: function(actionArgs) {\r\n var event = actionArgs.event;\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: function(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\nvar contextMenuModule = {\r\n defaultOptions: function() {\r\n return {\r\n onContextMenuPreparing: null\r\n }\r\n },\r\n controllers: {\r\n contextMenu: ContextMenuController\r\n },\r\n views: {\r\n contextMenuView: ContextMenuView\r\n }\r\n};\r\nexports.contextMenuModule = contextMenuModule;\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/grid_core/data_controller/m_data_controller.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.dataControllerModule = exports.DataController = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../../../core/renderer\"));\r\nvar _array_compare = require(\"../../../../core/utils/array_compare\");\r\nvar _common = require(\"../../../../core/utils/common\");\r\nvar _deferred = require(\"../../../../core/utils/deferred\");\r\nvar _extend = require(\"../../../../core/utils/extend\");\r\nvar _iterator = require(\"../../../../core/utils/iterator\");\r\nvar _type = require(\"../../../../core/utils/type\");\r\nvar _array_store = _interopRequireDefault(require(\"../../../../data/array_store\"));\r\nvar _custom_store = _interopRequireDefault(require(\"../../../../data/custom_store\"));\r\nvar _data_helper = _interopRequireDefault(require(\"../../../../data_helper\"));\r\nvar _ui = _interopRequireDefault(require(\"../../../../ui/widget/ui.errors\"));\r\nvar _m_modules = _interopRequireDefault(require(\"../m_modules\"));\r\nvar _m_utils = _interopRequireDefault(require(\"../m_utils\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\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((function() {\r\n that._isPaging = false;\r\n that.pageChanged.fire(pageIndex)\r\n }))\r\n }\r\n return (0, _deferred.Deferred)().resolve().promise()\r\n }\r\n return dataSource[optionName]()\r\n }\r\n return 0\r\n};\r\nvar ControllerWithDataMixin = _m_modules.default.Controller.inherit(_data_helper.default);\r\nvar DataController = function(_ControllerWithDataMi) {\r\n _inheritsLoose(DataController, _ControllerWithDataMi);\r\n\r\n function DataController() {\r\n return _ControllerWithDataMi.apply(this, arguments) || this\r\n }\r\n var _proto = DataController.prototype;\r\n _proto.init = function() {\r\n var _this = this;\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 = function(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((function(error) {\r\n return that.executeAction(\"onDataErrorOccurred\", {\r\n error: error\r\n })\r\n }));\r\n that._refreshDataSource()\r\n };\r\n _proto._getPagingOptionValue = function(optionName) {\r\n return this._dataSource[optionName]()\r\n };\r\n _proto.callbackNames = function() {\r\n return [\"changed\", \"loadingChanged\", \"dataErrorOccurred\", \"pageChanged\", \"dataSourceChanged\", \"pushed\"]\r\n };\r\n _proto.callbackFlags = function(name) {\r\n if (\"dataErrorOccurred\" === name) {\r\n return {\r\n stopOnFalse: true\r\n }\r\n }\r\n return\r\n };\r\n _proto.publicMethods = function() {\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 _proto.reset = function() {\r\n this._columnsController.reset();\r\n this._items = [];\r\n this._refreshDataSource()\r\n };\r\n _proto._handleDataSourceChange = function(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 _proto.needToRefreshOnDataSourceChange = function(args) {\r\n return true\r\n };\r\n _proto.optionChanged = function(args) {\r\n var _this2 = this;\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((function() {\r\n _this2._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 _ControllerWithDataMi.prototype.optionChanged.call(this, args)\r\n }\r\n };\r\n _proto.isReady = function() {\r\n return !this._isLoading\r\n };\r\n _proto.getDataSource = function() {\r\n return this._dataSource && this._dataSource._dataSource\r\n };\r\n _proto.getCombinedFilter = function(returnDataField) {\r\n return this.combinedFilter(void 0, returnDataField)\r\n };\r\n _proto.combinedFilter = function(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 ? _m_utils.default.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 _proto.waitReady = function() {\r\n if (this._updateLockCount) {\r\n this._readyDeferred = new _deferred.Deferred;\r\n return this._readyDeferred\r\n }\r\n return (0, _deferred.when)()\r\n };\r\n _proto._endUpdateCore = function() {\r\n var changes = this._changes;\r\n if (changes.length) {\r\n this._changes = [];\r\n var repaintChangesOnly = changes.every((function(change) {\r\n return change.repaintChangesOnly\r\n }));\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 _proto._handleCustomizeStoreLoadOptions = function(e) {\r\n var _a;\r\n var columnsController = this._columnsController;\r\n var dataSource = this._dataSource;\r\n var storeLoadOptions = e.storeLoadOptions;\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 _proto._handleColumnsChanged = function(e) {\r\n var that = this;\r\n var changeTypes = e.changeTypes;\r\n var optionNames = e.optionNames;\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 || (0, _type.isDefined)(filterValue) || !optionNames.selectedFilterOperation || optionNames.filterValue) {\r\n that._applyFilter();\r\n filterApplied = true\r\n }\r\n }\r\n if (!that._needApplyFilter && !_m_utils.default.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 ((0, _type.isDefined)(optionNames.visible)) {\r\n var column = that._columnsController.columnOption(e.columnIndex);\r\n if (column && ((0, _type.isDefined)(column.filterValue) || (0, _type.isDefined)(column.filterValues))) {\r\n that._applyFilter();\r\n filterApplied = true\r\n }\r\n }\r\n }\r\n if (!filterApplied && changeTypes.filtering) {\r\n that.reload()\r\n }\r\n };\r\n _proto._handleDataChanged = function(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 (0, _deferred.when)(that._columnsController.applyDataSource(dataSource)).done((function() {\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 _ui.default.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((function() {\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 _proto._handleLoadingChanged = function(isLoading) {\r\n this._isLoading = isLoading;\r\n this._fireLoadingChanged()\r\n };\r\n _proto._handleLoadError = function(e) {\r\n this.dataErrorOccurred.fire(e)\r\n };\r\n _proto._handleDataPushed = function(changes) {\r\n this.pushed.fire(changes)\r\n };\r\n _proto.fireError = 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 this.dataErrorOccurred.fire(_ui.default.Error.apply(_ui.default, args))\r\n };\r\n _proto._setPagingOptions = function(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 _proto._getSpecificDataSourceOption = function() {\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 _proto._initDataSource = function() {\r\n var oldDataSource = this._dataSource;\r\n _ControllerWithDataMi.prototype._initDataSource.call(this);\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 _proto._loadDataSource = function() {\r\n var that = this;\r\n var dataSource = that._dataSource;\r\n var result = new _deferred.Deferred;\r\n (0, _deferred.when)(this._columnsController.refresh(true)).always((function() {\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 _proto._beforeProcessItems = function(items) {\r\n return items.slice(0)\r\n };\r\n _proto.getRowIndexDelta = function() {\r\n return 0\r\n };\r\n _proto.getDataIndex = function(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 (0, _type.isDefined)(null === lastVisibleItem || void 0 === lastVisibleItem ? void 0 : lastVisibleItem.dataIndex) ? lastVisibleItem.dataIndex + 1 : 0\r\n };\r\n _proto._processItems = function(items, change) {\r\n var that = this;\r\n var rowIndexDelta = that.getRowIndexDelta();\r\n var changeType = change.changeType;\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 (0, _iterator.each)(items, (function(index, item) {\r\n if ((0, _type.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 _proto._processItem = function(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 _proto._generateDataItem = function(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 _proto._processDataItem = function(dataItem, options) {\r\n dataItem.values = this.generateDataValues(dataItem.data, options.visibleColumns);\r\n return dataItem\r\n };\r\n _proto.generateDataValues = function(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 _proto._applyChange = function(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 _proto._applyChangeFull = function(change) {\r\n this._items = change.items.slice(0)\r\n };\r\n _proto._getRowIndices = function(change) {\r\n var rowIndices = change.rowIndices.slice(0);\r\n var rowIndexDelta = this.getRowIndexDelta();\r\n rowIndices.sort((function(a, b) {\r\n return a - b\r\n }));\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 _proto._applyChangeUpdate = function(change) {\r\n var that = this;\r\n var items = change.items;\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 && (0, _common.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 (0, _iterator.each)(rowIndices, (function(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 _proto._isCellChanged = function(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 _proto._getChangedColumnIndices = function(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 && newItem.isExpanded === oldItem.isExpanded && oldItem.cells) {\r\n columnIndices = oldItem.cells.map((function(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((function(index) {\r\n return index >= 0\r\n }))\r\n }\r\n }\r\n return columnIndices\r\n };\r\n _proto._partialUpdateRow = function(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((function(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 _proto._isItemEquals = function(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((function(field) {\r\n return item1[field] !== item2[field]\r\n }))) {\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 _proto._applyChangesOnly = function(change) {\r\n var _this3 = this;\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((function(item, index) {\r\n var key = getRowKey(item);\r\n newIndexByKey[key] = index;\r\n item.rowIndex = index\r\n }));\r\n var result = (0, _array_compare.findChanges)(oldItems, change.items, getRowKey, (function(item1, item2) {\r\n if (!_this3._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((function(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((function(change) {\r\n switch (change.type) {\r\n case \"update\":\r\n var index = change.index;\r\n var newItem = change.data;\r\n var oldItem = change.oldItem;\r\n var changedColumnIndices = _this3._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((function(rowIndex) {\r\n var oldRowIndexOffset = _this3._rowIndexOffset || 0;\r\n var rowIndexOffset = _this3.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 _proto._correctRowIndices = function(rowIndex) {};\r\n _proto._afterProcessItems = function(items, change) {\r\n return items\r\n };\r\n _proto._updateItemsCore = function(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 (0, _iterator.each)(this._items, (function(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 _proto._handleChanging = function(e) {\r\n var rows = this.getVisibleRows();\r\n var dataSource = this.dataSource();\r\n if (dataSource) {\r\n e.changes.forEach((function(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 _proto.updateItems = function(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 _proto.loadingOperationTypes = function() {\r\n var dataSource = this.dataSource();\r\n return dataSource && dataSource.loadingOperationTypes() || {}\r\n };\r\n _proto._fireChanged = function(change) {\r\n var _this4 = this;\r\n if (this._currentOperationTypes) {\r\n change.operationTypes = this._currentOperationTypes;\r\n this._currentOperationTypes = null\r\n }(0, _common.deferRender)((function() {\r\n _this4.changed.fire(change)\r\n }))\r\n };\r\n _proto.isLoading = function() {\r\n return this._isLoading || this._isCustomLoading\r\n };\r\n _proto._fireLoadingChanged = function() {\r\n this.loadingChanged.fire(this.isLoading(), this._loadingText)\r\n };\r\n _proto._calculateAdditionalFilter = function() {\r\n return null\r\n };\r\n _proto._applyFilter = function() {\r\n var _this5 = this;\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((function() {\r\n if (_this5._isFilterApplying) {\r\n _this5.pageChanged.fire()\r\n }\r\n }))\r\n }\r\n };\r\n _proto.resetFilterApplying = function() {\r\n this._isFilterApplying = false\r\n };\r\n _proto.filter = function(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 (_m_utils.default.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 _proto.clearFilter = function(filterName) {\r\n var that = this;\r\n var columnsController = that._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 that.component.beginUpdate();\r\n if (arguments.length > 0) {\r\n switch (filterName) {\r\n case \"dataSource\":\r\n that.filter(null);\r\n break;\r\n case \"search\":\r\n that.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 that.filter(null);\r\n that.searchByText(\"\");\r\n clearColumnOption(\"filterValue\");\r\n clearColumnOption(\"bufferedFilterValue\");\r\n clearColumnOption(\"filterValues\")\r\n }\r\n that.component.endUpdate()\r\n };\r\n _proto._fireDataSourceChanged = function() {\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 _proto._getDataSourceAdapter = function() {};\r\n _proto._createDataSourceAdapterCore = function(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 _proto.isLocalStore = function() {\r\n var store = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : this.store();\r\n return store instanceof _array_store.default\r\n };\r\n _proto.isCustomStore = function(store) {\r\n store = store || this.store();\r\n return store instanceof _custom_store.default\r\n };\r\n _proto._createDataSourceAdapter = function(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 ((0, _type.isObject)(remoteOperations) && remoteOperations.groupPaging) {\r\n remoteOperations = (0, _extend.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 _proto.setDataSource = function(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 _proto.items = function(byLoaded) {\r\n return this._items\r\n };\r\n _proto.isEmpty = function() {\r\n return !this.items().length\r\n };\r\n _proto.pageCount = function() {\r\n return this._dataSource ? this._dataSource.pageCount() : 1\r\n };\r\n _proto.dataSource = function() {\r\n return this._dataSource\r\n };\r\n _proto.store = function() {\r\n var dataSource = this._dataSource;\r\n return dataSource && dataSource.store()\r\n };\r\n _proto.loadAll = function(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.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 (0, _deferred.when)(options.data).done((function(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 = (0, _extend.extend)({}, dataSource.loadOptions(), {\r\n isLoadingAll: true,\r\n requireTotalCount: false\r\n });\r\n dataSource.load(loadOptions).done((function(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 _proto.getKeyByRowIndex = function(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 _proto.getRowIndexByKey = function(key, byLoaded) {\r\n return _m_utils.default.getIndexByKey(key, this.items(byLoaded))\r\n };\r\n _proto.keyOf = function(data) {\r\n var store = this.store();\r\n if (store) {\r\n return store.keyOf(data)\r\n }\r\n };\r\n _proto.byKey = function(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.Deferred).resolve(this.items()[rowIndex].data)\r\n }\r\n return result || store.byKey(key)\r\n };\r\n _proto.key = function() {\r\n var store = this.store();\r\n if (store) {\r\n return store.key()\r\n }\r\n };\r\n _proto.getRowIndexOffset = function(byLoadedRows) {\r\n return 0\r\n };\r\n _proto.getDataByKeys = function(rowKeys) {\r\n var that = this;\r\n var result = new _deferred.Deferred;\r\n var deferreds = [];\r\n var data = [];\r\n (0, _iterator.each)(rowKeys, (function(index, key) {\r\n deferreds.push(that.byKey(key).done((function(keyData) {\r\n data[index] = keyData\r\n })))\r\n }));\r\n _deferred.when.apply(_renderer.default, deferreds).always((function() {\r\n result.resolve(data)\r\n }));\r\n return result\r\n };\r\n _proto.pageIndex = function(value) {\r\n return changePaging(this, \"pageIndex\", value)\r\n };\r\n _proto.pageSize = function(value) {\r\n return changePaging(this, \"pageSize\", value)\r\n };\r\n _proto.beginCustomLoading = function(messageText) {\r\n this._isCustomLoading = true;\r\n this._loadingText = messageText || \"\";\r\n this._fireLoadingChanged()\r\n };\r\n _proto.endCustomLoading = function() {\r\n this._isCustomLoading = false;\r\n this._loadingText = void 0;\r\n this._fireLoadingChanged()\r\n };\r\n _proto.refresh = function(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 _options = options,\r\n changesOnly = _options.changesOnly;\r\n var d = new _deferred.Deferred;\r\n var customizeLoadResult = function() {\r\n that._repaintChangesOnly = !!changesOnly\r\n };\r\n (0, _deferred.when)(!options.lookup || that._columnsController.refresh()).always((function() {\r\n if (options.load || options.reload) {\r\n dataSource && dataSource.on(\"customizeLoadResult\", customizeLoadResult);\r\n (0, _deferred.when)(that.reload(options.reload, changesOnly)).always((function() {\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 _proto.getVisibleRows = function() {\r\n return this.items()\r\n };\r\n _proto._disposeDataSource = function() {\r\n this.setDataSource(null)\r\n };\r\n _proto.dispose = function() {\r\n this._disposeDataSource();\r\n _ControllerWithDataMi.prototype.dispose.call(this)\r\n };\r\n _proto.repaintRows = function(rowIndexes, changesOnly) {\r\n rowIndexes = Array.isArray(rowIndexes) ? rowIndexes : [rowIndexes];\r\n if (rowIndexes.length > 1 || (0, _type.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 _proto.skipProcessingPagingChange = function(fullName) {\r\n return this._skipProcessingPagingChange && (\"paging.pageIndex\" === fullName || \"paging.pageSize\" === fullName)\r\n };\r\n _proto.getUserState = function() {\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 _proto.getCachedStoreData = function() {\r\n return this._dataSource && this._dataSource.getCachedStoreData()\r\n };\r\n _proto.isLastPageLoaded = function() {\r\n var pageIndex = this.pageIndex();\r\n var pageCount = this.pageCount();\r\n return pageIndex === pageCount - 1\r\n };\r\n _proto.load = function() {\r\n var _a;\r\n return null === (_a = this._dataSource) || void 0 === _a ? void 0 : _a.load()\r\n };\r\n _proto.reload = function(_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 _proto.push = function() {\r\n var _a2;\r\n var _a;\r\n return null === (_a = this._dataSource) || void 0 === _a ? void 0 : (_a2 = _a).push.apply(_a2, arguments)\r\n };\r\n _proto.itemsCount = function() {\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 _proto.totalItemsCount = function() {\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 _proto.hasKnownLastPage = function() {\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 _proto.isLoaded = function() {\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 _proto.totalCount = function() {\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 return DataController\r\n}(ControllerWithDataMixin);\r\nexports.DataController = DataController;\r\nvar dataControllerModule = {\r\n defaultOptions: function() {\r\n return {\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 },\r\n controllers: {\r\n data: DataController\r\n }\r\n};\r\nexports.dataControllerModule = dataControllerModule;\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/grid_core/data_source_adapter/m_data_source_adapter.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.default = void 0;\r\nvar _callbacks = _interopRequireDefault(require(\"../../../../core/utils/callbacks\"));\r\nvar _common = require(\"../../../../core/utils/common\");\r\nvar _deferred = require(\"../../../../core/utils/deferred\");\r\nvar _extend = require(\"../../../../core/utils/extend\");\r\nvar _iterator = require(\"../../../../core/utils/iterator\");\r\nvar _type = require(\"../../../../core/utils/type\");\r\nvar _array_store = _interopRequireDefault(require(\"../../../../data/array_store\"));\r\nvar _array_utils = require(\"../../../../data/array_utils\");\r\nvar _m_modules = _interopRequireDefault(require(\"../m_modules\"));\r\nvar _m_utils = _interopRequireDefault(require(\"../m_utils\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\nvar _default = _m_modules.default.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] = (0, _extend.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: !_m_utils.default.equalSortParameters(loadOptions.sort, lastLoadOptions.sort),\r\n grouping: !_m_utils.default.equalSortParameters(loadOptions.group, lastLoadOptions.group, true),\r\n groupExpanding: !_m_utils.default.equalSortParameters(loadOptions.group, lastLoadOptions.group) || lastLoadOptions.groupExpand,\r\n filtering: !_m_utils.default.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 = _m_utils.default.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 storeLoadOptions = options.storeLoadOptions;\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 storeLoadOptions = options.storeLoadOptions;\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 items = cacheItem.items;\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((function(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: function(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 = (0, _callbacks.default)();\r\n that.loadingChanged = (0, _callbacks.default)();\r\n that.loadError = (0, _callbacks.default)();\r\n that.customizeStoreLoadOptions = (0, _callbacks.default)();\r\n that.changing = (0, _callbacks.default)();\r\n that.pushed = (0, _callbacks.default)();\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 (0, _iterator.each)(dataSource, (function(memberName, member) {\r\n if (!that[memberName] && (0, _type.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: function() {\r\n return this._remoteOperations\r\n },\r\n dispose: function(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: function(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: function() {\r\n this._currentTotalCount = 0;\r\n this._totalCountCorrection = 0\r\n },\r\n resetCache: function() {\r\n this._cachedStoreData = void 0;\r\n this._cachedPagingData = void 0\r\n },\r\n resetPagesCache: function() {\r\n this._cachedData = {\r\n items: {}\r\n }\r\n },\r\n _needClearStoreDataCache: function() {\r\n var remoteOperations = this.remoteOperations();\r\n var operationTypes = calculateOperationTypes(this._lastLoadOptions || {}, {});\r\n var isLocalOperations = Object.keys(remoteOperations).every((function(operationName) {\r\n return !operationTypes[operationName] || !remoteOperations[operationName]\r\n }));\r\n return !isLocalOperations\r\n },\r\n push: function(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 (0, _array_utils.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: function() {\r\n var _this = this;\r\n if (!this._dataIndexGetter) {\r\n var indexByKey;\r\n var storeData;\r\n var store = this.store();\r\n this._dataIndexGetter = function(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[(0, _common.getKeyHash)(store.keyOf(storeData[i]))] = i\r\n }\r\n }\r\n return indexByKey[(0, _common.getKeyHash)(store.keyOf(data))]\r\n }\r\n }\r\n return this._dataIndexGetter\r\n },\r\n _getKeyInfo: function() {\r\n return this.store()\r\n },\r\n _needToCopyDataObject: function() {\r\n return true\r\n },\r\n _applyBatch: function(changes, fromStore) {\r\n var _this2 = this;\r\n var keyInfo = this._getKeyInfo();\r\n var dataSource = this._dataSource;\r\n var groupCount = _m_utils.default.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((function(change) {\r\n return !dataSource.paginate() || \"insert\" !== change.type || void 0 !== change.index\r\n }));\r\n var getItemCount = function() {\r\n return groupCount ? _this2.itemsCount() : _this2.items().length\r\n };\r\n var oldItemCount = getItemCount();\r\n (0, _array_utils.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 (0, _array_utils.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: function(_ref) {\r\n var changes = _ref.changes;\r\n this.push(changes, true)\r\n },\r\n _handleChanging: function(e) {\r\n this.changing.fire(e);\r\n this._applyBatch(e.changes, true)\r\n },\r\n _needCleanCacheByOperation: function(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((function(operationType) {\r\n return remoteOperations[operationType]\r\n }))\r\n },\r\n _customizeRemoteOperations: function(options, operationTypes) {\r\n var _this3 = this;\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 }(0, _iterator.each)(operationTypes, (function(operationType, value) {\r\n if (value && _this3._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: function(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: function(options) {\r\n var _this4 = this;\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 = (0, _extend.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 = (0, _extend.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 (0, _deferred.when)(isRefreshing || this._isRefreshed || this.refresh(options, operationTypes)).done((function() {\r\n if (_this4._lastOperationId === options.operationId) {\r\n _this4._isRefreshed = true;\r\n _this4.load().always((function() {\r\n _this4._isRefreshed = false\r\n }))\r\n }\r\n })).fail((function() {\r\n dataSource.cancel(options.operationId)\r\n })).always((function() {\r\n _this4._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: function(options) {\r\n var remoteOperations = options.remoteOperations;\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 langParams: !remoteOperations.filtering || !remoteOperations.sorting\r\n };\r\n (0, _iterator.each)(options.storeLoadOptions, (function(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: function(options) {\r\n var _this5 = this;\r\n var _a, _b;\r\n var loadOptions = options.loadOptions;\r\n var localPaging = options.remoteOperations && !options.remoteOperations.paging;\r\n var cachedData = options.cachedData;\r\n var storeLoadOptions = options.storeLoadOptions;\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 = _m_utils.default.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, _m_utils.default.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 _array_store.default(options.data).load(loadOptions).done((function(data) {\r\n options.data = data;\r\n if (needStoreCache) {\r\n _this5._cachedPagingData = cloneItems(options.data, groupCount)\r\n }\r\n })).fail((function(error) {\r\n options.data = (new _deferred.Deferred).reject(error)\r\n }))\r\n }\r\n if (loadOptions.requireTotalCount && localPaging) {\r\n options.extra = (0, _type.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 || (0, _extend.extend)({}, options.extra);\r\n (0, _deferred.when)(options.data).done((function(data) {\r\n ! function(options, data, groupCount) {\r\n var _a, _b, _c, _d;\r\n var storeLoadOptions = options.storeLoadOptions;\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 }(0, _deferred.when)(options.data).done((function() {\r\n if (options.lastLoadOptions) {\r\n _this5._lastLoadOptions = options.lastLoadOptions;\r\n Object.keys(options.operationTypes).forEach((function(operationType) {\r\n _this5._lastOperationTypes[operationType] = _this5._lastOperationTypes[operationType] || options.operationTypes[operationType]\r\n }))\r\n }\r\n }));\r\n options.storeLoadOptions = options.originalStoreLoadOptions\r\n },\r\n _handleDataLoadedCore: function(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: function(isLoading) {\r\n this.loadingChanged.fire(isLoading)\r\n },\r\n _handleLoadError: function(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: function() {\r\n return this.pageSize()\r\n },\r\n _handleDataChanged: function(args) {\r\n var currentTotalCount;\r\n var dataSource = this._dataSource;\r\n var isLoading = false;\r\n var isDataLoading = !args || (0, _type.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: function(deferred) {\r\n var that = this;\r\n that._isCustomLoading = true;\r\n deferred.always((function() {\r\n that._isCustomLoading = false\r\n }))\r\n },\r\n loadingOperationTypes: function() {\r\n return this._loadingOperationTypes\r\n },\r\n operationTypes: function() {\r\n return this._operationTypes\r\n },\r\n lastLoadOptions: function() {\r\n return this._lastLoadOptions || {}\r\n },\r\n isLastPage: function() {\r\n return this._isLastPage\r\n },\r\n _dataSourceTotalCount: function() {\r\n return this._dataSource.totalCount()\r\n },\r\n totalCount: function() {\r\n return parseInt((this._currentTotalCount || this._dataSourceTotalCount()) + this._totalCountCorrection)\r\n },\r\n totalCountCorrection: function() {\r\n return this._totalCountCorrection\r\n },\r\n itemsCount: function() {\r\n return this._dataSource.items().length\r\n },\r\n totalItemsCount: function() {\r\n return this.totalCount()\r\n },\r\n pageSize: function() {\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: function() {\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: function() {\r\n return this._hasLastPage || this._dataSource.totalCount() >= 0\r\n },\r\n loadFromStore: function(loadOptions, store) {\r\n var dataSource = this._dataSource;\r\n var d = new _deferred.Deferred;\r\n if (!dataSource) {\r\n return\r\n }\r\n store = store || dataSource.store();\r\n store.load(loadOptions).done((function(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: function() {\r\n return !!this._isCustomLoading\r\n },\r\n load: function(options) {\r\n var _this6 = this;\r\n var that = this;\r\n var dataSource = that._dataSource;\r\n var d = new _deferred.Deferred;\r\n if (options) {\r\n var store = dataSource.store();\r\n var dataSourceLoadOptions = dataSource.loadOptions();\r\n var loadResult = {\r\n storeLoadOptions: (0, _extend.extend)({}, options, {\r\n langParams: null === dataSourceLoadOptions || void 0 === dataSourceLoadOptions ? void 0 : dataSourceLoadOptions.langParams\r\n }),\r\n isCustomLoading: true\r\n };\r\n (0, _iterator.each)(store._customLoadOptions() || [], (function(_, 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 ((0, _type.isDefined)(timeout)) {\r\n (0, _common.executeAsync)(action, timeout)\r\n } else {\r\n action()\r\n }\r\n }((function() {\r\n if (!dataSource.store()) {\r\n return d.reject(\"canceled\")\r\n }(0, _deferred.when)(loadResult.data || that.loadFromStore(loadResult.storeLoadOptions)).done((function(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 }(0, _deferred.when)(loadResult.data, loadResult.extra.totalCount).done((function(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((function() {\r\n _this6._isLoadingAll = false\r\n })).promise()\r\n }\r\n return dataSource.load()\r\n },\r\n reload: function(full) {\r\n return full ? this._dataSource.reload() : this._dataSource.load()\r\n },\r\n getCachedStoreData: function() {\r\n return this._cachedStoreData\r\n }\r\n };\r\n return members\r\n}());\r\nexports.default = _default;\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/grid_core/editing/const.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.VIEWPORT_TOP_NEW_ROW_POSITION = exports.VIEWPORT_BOTTOM_NEW_ROW_POSITION = exports.TARGET_COMPONENT_NAME = exports.ROW_SELECTED_CLASS = exports.ROW_SELECTED = exports.ROW_REMOVED = exports.ROW_MODIFIED = exports.ROW_INSERTED = exports.ROW_CLASS = exports.ROW_BASED_MODES = exports.READONLY_CLASS = exports.PAGE_TOP_NEW_ROW_POSITION = exports.PAGE_BOTTOM_NEW_ROW_POSITION = exports.MODES_WITH_DELAYED_FOCUS = exports.METHOD_NAMES = exports.LINK_CLASS = exports.LAST_NEW_ROW_POSITION = exports.INSERT_INDEX = exports.FORM_BUTTONS_CONTAINER_CLASS = exports.FOCUS_OVERLAY_CLASS = exports.FOCUSABLE_ELEMENT_SELECTOR = exports.FOCUSABLE_ELEMENT_CLASS = exports.FIRST_NEW_ROW_POSITION = exports.EDIT_ROW = exports.EDIT_POPUP_FORM_CLASS = exports.EDIT_POPUP_CLASS = exports.EDIT_MODE_ROW = exports.EDIT_MODE_POPUP = exports.EDIT_MODE_FORM = exports.EDIT_MODE_CELL = exports.EDIT_MODE_BATCH = exports.EDIT_MODES = exports.EDIT_LINK_CLASS = exports.EDIT_ICON_CLASS = exports.EDIT_FORM_ITEM_CLASS = exports.EDIT_FORM_CLASS = exports.EDIT_BUTTON_CLASS = exports.EDITOR_CELL_CLASS = exports.EDITORS_INPUT_SELECTOR = exports.EDITING_POPUP_OPTION_NAME = exports.EDITING_NAMESPACE = exports.EDITING_FORM_OPTION_NAME = exports.EDITING_EDITROWKEY_OPTION_NAME = exports.EDITING_EDITCOLUMNNAME_OPTION_NAME = exports.EDITING_CHANGES_OPTION_NAME = exports.DROPDOWN_EDITOR_OVERLAY_CLASS = exports.DEFAULT_START_EDIT_ACTION = exports.DATA_ROW_CLASS = exports.DATA_EDIT_DATA_UPDATE_TYPE = exports.DATA_EDIT_DATA_REMOVE_TYPE = exports.DATA_EDIT_DATA_INSERT_TYPE = exports.COMMAND_EDIT_WITH_ICONS_CLASS = exports.COMMAND_EDIT_CLASS = exports.CELL_MODIFIED_CLASS = exports.CELL_MODIFIED = exports.CELL_FOCUS_DISABLED_CLASS = exports.BUTTON_NAMES = exports.BUTTON_CLASS = exports.ADD_ROW_BUTTON_CLASS = exports.ACTION_OPTION_NAMES = void 0;\r\nvar _ui = _interopRequireDefault(require(\"../../../../ui/scroll_view/ui.scrollable\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar EDITOR_CELL_CLASS = \"dx-editor-cell\";\r\nexports.EDITOR_CELL_CLASS = EDITOR_CELL_CLASS;\r\nvar ROW_CLASS = \"dx-row\";\r\nexports.ROW_CLASS = ROW_CLASS;\r\nvar CELL_MODIFIED_CLASS = \"dx-cell-modified\";\r\nexports.CELL_MODIFIED_CLASS = CELL_MODIFIED_CLASS;\r\nvar ROW_SELECTED_CLASS = \"dx-selection\";\r\nexports.ROW_SELECTED_CLASS = ROW_SELECTED_CLASS;\r\nvar EDIT_FORM_CLASS = \"edit-form\";\r\nexports.EDIT_FORM_CLASS = EDIT_FORM_CLASS;\r\nvar DATA_EDIT_DATA_INSERT_TYPE = \"insert\";\r\nexports.DATA_EDIT_DATA_INSERT_TYPE = DATA_EDIT_DATA_INSERT_TYPE;\r\nvar DATA_EDIT_DATA_REMOVE_TYPE = \"remove\";\r\nexports.DATA_EDIT_DATA_REMOVE_TYPE = DATA_EDIT_DATA_REMOVE_TYPE;\r\nvar EDITING_POPUP_OPTION_NAME = \"editing.popup\";\r\nexports.EDITING_POPUP_OPTION_NAME = EDITING_POPUP_OPTION_NAME;\r\nvar EDITING_FORM_OPTION_NAME = \"editing.form\";\r\nexports.EDITING_FORM_OPTION_NAME = EDITING_FORM_OPTION_NAME;\r\nvar EDITING_EDITROWKEY_OPTION_NAME = \"editing.editRowKey\";\r\nexports.EDITING_EDITROWKEY_OPTION_NAME = EDITING_EDITROWKEY_OPTION_NAME;\r\nvar EDITING_EDITCOLUMNNAME_OPTION_NAME = \"editing.editColumnName\";\r\nexports.EDITING_EDITCOLUMNNAME_OPTION_NAME = EDITING_EDITCOLUMNNAME_OPTION_NAME;\r\nvar TARGET_COMPONENT_NAME = \"targetComponent\";\r\nexports.TARGET_COMPONENT_NAME = TARGET_COMPONENT_NAME;\r\nvar EDITORS_INPUT_SELECTOR = \"input:not([type='hidden'])\";\r\nexports.EDITORS_INPUT_SELECTOR = EDITORS_INPUT_SELECTOR;\r\nvar FOCUSABLE_ELEMENT_SELECTOR = \"[tabindex], \".concat(EDITORS_INPUT_SELECTOR);\r\nexports.FOCUSABLE_ELEMENT_SELECTOR = FOCUSABLE_ELEMENT_SELECTOR;\r\nvar EDIT_MODE_BATCH = \"batch\";\r\nexports.EDIT_MODE_BATCH = EDIT_MODE_BATCH;\r\nvar EDIT_MODE_ROW = \"row\";\r\nexports.EDIT_MODE_ROW = EDIT_MODE_ROW;\r\nvar EDIT_MODE_CELL = \"cell\";\r\nexports.EDIT_MODE_CELL = EDIT_MODE_CELL;\r\nvar EDIT_MODE_FORM = \"form\";\r\nexports.EDIT_MODE_FORM = EDIT_MODE_FORM;\r\nvar EDIT_MODE_POPUP = \"popup\";\r\nexports.EDIT_MODE_POPUP = EDIT_MODE_POPUP;\r\nvar FIRST_NEW_ROW_POSITION = \"first\";\r\nexports.FIRST_NEW_ROW_POSITION = FIRST_NEW_ROW_POSITION;\r\nvar LAST_NEW_ROW_POSITION = \"last\";\r\nexports.LAST_NEW_ROW_POSITION = LAST_NEW_ROW_POSITION;\r\nvar PAGE_BOTTOM_NEW_ROW_POSITION = \"pageBottom\";\r\nexports.PAGE_BOTTOM_NEW_ROW_POSITION = PAGE_BOTTOM_NEW_ROW_POSITION;\r\nvar PAGE_TOP_NEW_ROW_POSITION = \"pageTop\";\r\nexports.PAGE_TOP_NEW_ROW_POSITION = PAGE_TOP_NEW_ROW_POSITION;\r\nvar VIEWPORT_BOTTOM_NEW_ROW_POSITION = \"viewportBottom\";\r\nexports.VIEWPORT_BOTTOM_NEW_ROW_POSITION = VIEWPORT_BOTTOM_NEW_ROW_POSITION;\r\nvar VIEWPORT_TOP_NEW_ROW_POSITION = \"viewportTop\";\r\nexports.VIEWPORT_TOP_NEW_ROW_POSITION = VIEWPORT_TOP_NEW_ROW_POSITION;\r\nvar EDIT_MODES = [EDIT_MODE_BATCH, EDIT_MODE_ROW, EDIT_MODE_CELL, EDIT_MODE_FORM, EDIT_MODE_POPUP];\r\nexports.EDIT_MODES = EDIT_MODES;\r\nvar ROW_BASED_MODES = [EDIT_MODE_ROW, EDIT_MODE_FORM, EDIT_MODE_POPUP];\r\nexports.ROW_BASED_MODES = ROW_BASED_MODES;\r\nvar MODES_WITH_DELAYED_FOCUS = [EDIT_MODE_ROW, EDIT_MODE_FORM];\r\nexports.MODES_WITH_DELAYED_FOCUS = MODES_WITH_DELAYED_FOCUS;\r\nvar READONLY_CLASS = \"readonly\";\r\nexports.READONLY_CLASS = READONLY_CLASS;\r\nvar LINK_CLASS = \"dx-link\";\r\nexports.LINK_CLASS = LINK_CLASS;\r\nvar ROW_SELECTED = \"dx-selection\";\r\nexports.ROW_SELECTED = ROW_SELECTED;\r\nvar EDIT_BUTTON_CLASS = \"dx-edit-button\";\r\nexports.EDIT_BUTTON_CLASS = EDIT_BUTTON_CLASS;\r\nvar COMMAND_EDIT_CLASS = \"dx-command-edit\";\r\nexports.COMMAND_EDIT_CLASS = COMMAND_EDIT_CLASS;\r\nvar COMMAND_EDIT_WITH_ICONS_CLASS = \"\".concat(COMMAND_EDIT_CLASS, \"-with-icons\");\r\nexports.COMMAND_EDIT_WITH_ICONS_CLASS = COMMAND_EDIT_WITH_ICONS_CLASS;\r\nvar INSERT_INDEX = \"__DX_INSERT_INDEX__\";\r\nexports.INSERT_INDEX = INSERT_INDEX;\r\nvar ROW_INSERTED = \"dx-row-inserted\";\r\nexports.ROW_INSERTED = ROW_INSERTED;\r\nvar ROW_MODIFIED = \"dx-row-modified\";\r\nexports.ROW_MODIFIED = ROW_MODIFIED;\r\nvar CELL_MODIFIED = \"dx-cell-modified\";\r\nexports.CELL_MODIFIED = CELL_MODIFIED;\r\nvar EDITING_NAMESPACE = \"dxDataGridEditing\";\r\nexports.EDITING_NAMESPACE = EDITING_NAMESPACE;\r\nvar CELL_FOCUS_DISABLED_CLASS = \"dx-cell-focus-disabled\";\r\nexports.CELL_FOCUS_DISABLED_CLASS = CELL_FOCUS_DISABLED_CLASS;\r\nvar DATA_EDIT_DATA_UPDATE_TYPE = \"update\";\r\nexports.DATA_EDIT_DATA_UPDATE_TYPE = DATA_EDIT_DATA_UPDATE_TYPE;\r\nvar DEFAULT_START_EDIT_ACTION = \"click\";\r\nexports.DEFAULT_START_EDIT_ACTION = DEFAULT_START_EDIT_ACTION;\r\nvar 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\nexports.EDIT_LINK_CLASS = EDIT_LINK_CLASS;\r\nvar 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\nexports.EDIT_ICON_CLASS = EDIT_ICON_CLASS;\r\nvar 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\nexports.METHOD_NAMES = METHOD_NAMES;\r\nvar ACTION_OPTION_NAMES = {\r\n add: \"allowAdding\",\r\n edit: \"allowUpdating\",\r\n delete: \"allowDeleting\"\r\n};\r\nexports.ACTION_OPTION_NAMES = ACTION_OPTION_NAMES;\r\nvar BUTTON_NAMES = [\"edit\", \"save\", \"cancel\", \"delete\", \"undelete\"];\r\nexports.BUTTON_NAMES = BUTTON_NAMES;\r\nvar EDITING_CHANGES_OPTION_NAME = \"editing.changes\";\r\nexports.EDITING_CHANGES_OPTION_NAME = EDITING_CHANGES_OPTION_NAME;\r\nvar FOCUS_OVERLAY_CLASS = \"focus-overlay\";\r\nexports.FOCUS_OVERLAY_CLASS = FOCUS_OVERLAY_CLASS;\r\nvar ADD_ROW_BUTTON_CLASS = \"addrow-button\";\r\nexports.ADD_ROW_BUTTON_CLASS = ADD_ROW_BUTTON_CLASS;\r\nvar DROPDOWN_EDITOR_OVERLAY_CLASS = \"dx-dropdowneditor-overlay\";\r\nexports.DROPDOWN_EDITOR_OVERLAY_CLASS = DROPDOWN_EDITOR_OVERLAY_CLASS;\r\nvar DATA_ROW_CLASS = \"dx-data-row\";\r\nexports.DATA_ROW_CLASS = DATA_ROW_CLASS;\r\nvar ROW_REMOVED = \"dx-row-removed\";\r\nexports.ROW_REMOVED = ROW_REMOVED;\r\nvar isRenovatedScrollable = !!_ui.default.IS_RENOVATED_WIDGET;\r\nvar EDIT_FORM_ITEM_CLASS = \"edit-form-item\";\r\nexports.EDIT_FORM_ITEM_CLASS = EDIT_FORM_ITEM_CLASS;\r\nvar EDIT_POPUP_CLASS = \"edit-popup\";\r\nexports.EDIT_POPUP_CLASS = EDIT_POPUP_CLASS;\r\nvar EDIT_POPUP_FORM_CLASS = \"edit-popup-form\";\r\nexports.EDIT_POPUP_FORM_CLASS = EDIT_POPUP_FORM_CLASS;\r\nvar FOCUSABLE_ELEMENT_CLASS = isRenovatedScrollable ? \"dx-scrollable\" : \"dx-scrollable-container\";\r\nexports.FOCUSABLE_ELEMENT_CLASS = FOCUSABLE_ELEMENT_CLASS;\r\nvar BUTTON_CLASS = \"dx-button\";\r\nexports.BUTTON_CLASS = BUTTON_CLASS;\r\nvar FORM_BUTTONS_CONTAINER_CLASS = \"form-buttons-container\";\r\nexports.FORM_BUTTONS_CONTAINER_CLASS = FORM_BUTTONS_CONTAINER_CLASS;\r\nvar EDIT_ROW = \"dx-edit-row\";\r\nexports.EDIT_ROW = EDIT_ROW;\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/grid_core/editing/m_editing.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.editingModule = void 0;\r\nvar _devices = _interopRequireDefault(require(\"../../../../core/devices\"));\r\nvar _dom_adapter = _interopRequireDefault(require(\"../../../../core/dom_adapter\"));\r\nvar _guid = _interopRequireDefault(require(\"../../../../core/guid\"));\r\nvar _renderer = _interopRequireDefault(require(\"../../../../core/renderer\"));\r\nvar _common = require(\"../../../../core/utils/common\");\r\nvar _deferred = require(\"../../../../core/utils/deferred\");\r\nvar _dom = require(\"../../../../core/utils/dom\");\r\nvar _extend = require(\"../../../../core/utils/extend\");\r\nvar iconUtils = _interopRequireWildcard(require(\"../../../../core/utils/icon\"));\r\nvar _iterator = require(\"../../../../core/utils/iterator\");\r\nvar _object = require(\"../../../../core/utils/object\");\r\nvar _type = require(\"../../../../core/utils/type\");\r\nvar _array_utils = require(\"../../../../data/array_utils\");\r\nvar _click = require(\"../../../../events/click\");\r\nvar _events_engine = _interopRequireDefault(require(\"../../../../events/core/events_engine\"));\r\nvar _pointer = _interopRequireDefault(require(\"../../../../events/pointer\"));\r\nvar _index = require(\"../../../../events/utils/index\");\r\nvar _message = _interopRequireDefault(require(\"../../../../localization/message\"));\r\nvar _dialog = require(\"../../../../ui/dialog\");\r\nvar _m_modules = _interopRequireDefault(require(\"../m_modules\"));\r\nvar _m_utils = _interopRequireDefault(require(\"../m_utils\"));\r\nvar _const = require(\"./const\");\r\nvar _m_editing_utils = require(\"./m_editing_utils\");\r\n\r\nfunction _getRequireWildcardCache(nodeInterop) {\r\n if (\"function\" !== typeof WeakMap) {\r\n return null\r\n }\r\n var cacheBabelInterop = new WeakMap;\r\n var cacheNodeInterop = new WeakMap;\r\n return (_getRequireWildcardCache = function(nodeInterop) {\r\n return nodeInterop ? cacheNodeInterop : cacheBabelInterop\r\n })(nodeInterop)\r\n}\r\n\r\nfunction _interopRequireWildcard(obj, nodeInterop) {\r\n if (!nodeInterop && obj && obj.__esModule) {\r\n return obj\r\n }\r\n if (null === obj || \"object\" !== _typeof(obj) && \"function\" !== typeof obj) {\r\n return {\r\n default: obj\r\n }\r\n }\r\n var cache = _getRequireWildcardCache(nodeInterop);\r\n if (cache && cache.has(obj)) {\r\n return cache.get(obj)\r\n }\r\n var newObj = {};\r\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\r\n for (var key in obj) {\r\n if (\"default\" !== key && Object.prototype.hasOwnProperty.call(obj, key)) {\r\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\r\n if (desc && (desc.get || desc.set)) {\r\n Object.defineProperty(newObj, key, desc)\r\n } else {\r\n newObj[key] = obj[key]\r\n }\r\n }\r\n }\r\n newObj.default = obj;\r\n if (cache) {\r\n cache.set(obj, newObj)\r\n }\r\n return newObj\r\n}\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\n\r\nfunction _toConsumableArray(arr) {\r\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread()\r\n}\r\n\r\nfunction _nonIterableSpread() {\r\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _unsupportedIterableToArray(o, minLen) {\r\n if (!o) {\r\n return\r\n }\r\n if (\"string\" === typeof o) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n var n = Object.prototype.toString.call(o).slice(8, -1);\r\n if (\"Object\" === n && o.constructor) {\r\n n = o.constructor.name\r\n }\r\n if (\"Map\" === n || \"Set\" === n) {\r\n return Array.from(o)\r\n }\r\n if (\"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n}\r\n\r\nfunction _iterableToArray(iter) {\r\n if (\"undefined\" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter[\"@@iterator\"]) {\r\n return Array.from(iter)\r\n }\r\n}\r\n\r\nfunction _arrayWithoutHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return _arrayLikeToArray(arr)\r\n }\r\n}\r\n\r\nfunction _arrayLikeToArray(arr, len) {\r\n if (null == len || len > arr.length) {\r\n len = arr.length\r\n }\r\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\r\n arr2[i] = arr[i]\r\n }\r\n return arr2\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar EditingControllerImpl = function(_modules$ViewControll) {\r\n _inheritsLoose(EditingControllerImpl, _modules$ViewControll);\r\n\r\n function EditingControllerImpl() {\r\n return _modules$ViewControll.apply(this, arguments) || this\r\n }\r\n var _proto = EditingControllerImpl.prototype;\r\n _proto.init = function() {\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((function(d) {\r\n return 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[_const.EDITING_EDITROWKEY_OPTION_NAME] = true;\r\n this.component._optionsByReference[_const.EDITING_CHANGES_OPTION_NAME] = true\r\n };\r\n _proto.getEditMode = function() {\r\n var editMode = this.option(\"editing.mode\");\r\n if (_const.EDIT_MODES.includes(editMode)) {\r\n return editMode\r\n }\r\n return _const.EDIT_MODE_ROW\r\n };\r\n _proto._getDefaultEditorTemplate = function() {\r\n var _this = this;\r\n return function(container, options) {\r\n var $editor = (0, _renderer.default)(\"
    \").appendTo(container);\r\n _this.getController(\"editorFactory\").createEditor($editor, (0, _extend.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 }\r\n };\r\n _proto._getNewRowPosition = function() {\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 _const.PAGE_TOP_NEW_ROW_POSITION:\r\n return _const.VIEWPORT_TOP_NEW_ROW_POSITION;\r\n case _const.PAGE_BOTTOM_NEW_ROW_POSITION:\r\n return _const.VIEWPORT_BOTTOM_NEW_ROW_POSITION;\r\n default:\r\n return newRowPosition\r\n }\r\n }\r\n return newRowPosition\r\n };\r\n _proto.getChanges = function() {\r\n return this.option(_const.EDITING_CHANGES_OPTION_NAME)\r\n };\r\n _proto.getInsertRowCount = function() {\r\n var changes = this.option(_const.EDITING_CHANGES_OPTION_NAME);\r\n return changes.filter((function(change) {\r\n return \"insert\" === change.type\r\n })).length\r\n };\r\n _proto.resetChanges = function() {\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(_const.EDITING_CHANGES_OPTION_NAME, [])\r\n }\r\n };\r\n _proto._getInternalData = function(key) {\r\n return this._internalState.filter((function(item) {\r\n return (0, _common.equalByValue)(item.key, key)\r\n }))[0]\r\n };\r\n _proto._addInternalData = function(params) {\r\n var internalData = this._getInternalData(params.key);\r\n if (internalData) {\r\n return (0, _extend.extend)(internalData, params)\r\n }\r\n this._internalState.push(params);\r\n return params\r\n };\r\n _proto._getOldData = function(key) {\r\n var _a;\r\n return null === (_a = this._getInternalData(key)) || void 0 === _a ? void 0 : _a.oldData\r\n };\r\n _proto.getUpdatedData = function(data) {\r\n var key = this._dataController.keyOf(data);\r\n var changes = this.getChanges();\r\n var editIndex = _m_utils.default.getIndexByKey(key, changes);\r\n if (changes[editIndex]) {\r\n return (0, _array_utils.createObjectWithChanges)(data, changes[editIndex].data)\r\n }\r\n return data\r\n };\r\n _proto.getInsertedData = function() {\r\n return this.getChanges().filter((function(change) {\r\n return change.data && change.type === _const.DATA_EDIT_DATA_INSERT_TYPE\r\n })).map((function(change) {\r\n return change.data\r\n }))\r\n };\r\n _proto.getRemovedData = function() {\r\n var _this2 = this;\r\n return this.getChanges().filter((function(change) {\r\n return _this2._getOldData(change.key) && change.type === _const.DATA_EDIT_DATA_REMOVE_TYPE\r\n })).map((function(change) {\r\n return _this2._getOldData(change.key)\r\n }))\r\n };\r\n _proto._fireDataErrorOccurred = function(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 _proto._needToCloseEditableCell = function($targetElement) {};\r\n _proto._closeEditItem = function($targetElement) {};\r\n _proto._handleDataChanged = function(args) {};\r\n _proto._isDefaultButtonVisible = function(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 _proto._isButtonVisible = function(button, options) {\r\n var visible = button.visible;\r\n if (!(0, _type.isDefined)(visible)) {\r\n return this._isDefaultButtonVisible(button, options)\r\n }\r\n return (0, _type.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 _proto._isButtonDisabled = function(button, options) {\r\n var disabled = button.disabled;\r\n return (0, _type.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 _proto._getButtonConfig = function(button, options) {\r\n var _this3 = this;\r\n var config = (0, _type.isObject)(button) ? button : {};\r\n var buttonName = (0, _m_editing_utils.getButtonName)(button);\r\n var editingTexts = (0, _m_editing_utils.getEditingTexts)(options);\r\n var methodName = _const.METHOD_NAMES[buttonName];\r\n var editingOptions = this.option(\"editing\");\r\n var actionName = _const.ACTION_OPTION_NAMES[buttonName];\r\n var allowAction = actionName ? editingOptions[actionName] : true;\r\n return (0, _extend.extend)({\r\n name: buttonName,\r\n text: editingTexts[buttonName],\r\n cssClass: _const.EDIT_LINK_CLASS[buttonName]\r\n }, {\r\n onClick: methodName && function(e) {\r\n var event = e.event;\r\n event.stopPropagation();\r\n event.preventDefault();\r\n setTimeout((function() {\r\n options.row && allowAction && _this3[methodName] && _this3[methodName](options.row.rowIndex)\r\n }))\r\n }\r\n }, config)\r\n };\r\n _proto._getEditingButtons = function(options) {\r\n var _this4 = this;\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 = (0, _m_editing_utils.getButtonIndex)(buttons, \"edit\");\r\n if (buttonIndex >= 0) {\r\n if ((0, _m_editing_utils.getButtonIndex)(buttons, \"save\") < 0) {\r\n buttons.splice(buttonIndex + 1, 0, \"save\")\r\n }\r\n if ((0, _m_editing_utils.getButtonIndex)(buttons, \"cancel\") < 0) {\r\n buttons.splice((0, _m_editing_utils.getButtonIndex)(buttons, \"save\") + 1, 0, \"cancel\")\r\n }\r\n }\r\n buttonIndex = (0, _m_editing_utils.getButtonIndex)(buttons, \"delete\");\r\n if (buttonIndex >= 0 && (0, _m_editing_utils.getButtonIndex)(buttons, \"undelete\") < 0) {\r\n buttons.splice(buttonIndex + 1, 0, \"undelete\")\r\n }\r\n } else {\r\n buttons = _const.BUTTON_NAMES.slice()\r\n }\r\n return buttons.map((function(button) {\r\n return _this4._getButtonConfig(button, options)\r\n }))\r\n };\r\n _proto._renderEditingButtons = function($container, buttons, options, change) {\r\n var _this5 = this;\r\n buttons.forEach((function(button) {\r\n if (_this5._isButtonVisible(button, options)) {\r\n _this5._createButton($container, button, options, change)\r\n }\r\n }))\r\n };\r\n _proto._getEditCommandCellTemplate = function() {\r\n var _this6 = this;\r\n return function(container, options, change) {\r\n var $container = (0, _renderer.default)(container);\r\n if (\"data\" === options.rowType) {\r\n var buttons = _this6._getEditingButtons(options);\r\n _this6._renderEditingButtons($container, buttons, options, change);\r\n options.watch && options.watch((function() {\r\n return buttons.map((function(button) {\r\n return {\r\n visible: _this6._isButtonVisible(button, options),\r\n disabled: _this6._isButtonDisabled(button, options)\r\n }\r\n }))\r\n }), (function() {\r\n $container.empty();\r\n _this6._renderEditingButtons($container, buttons, options)\r\n }))\r\n } else {\r\n _m_utils.default.setEmptyText($container)\r\n }\r\n }\r\n };\r\n _proto.isRowBasedEditMode = function() {\r\n var editMode = this.getEditMode();\r\n return _const.ROW_BASED_MODES.includes(editMode)\r\n };\r\n _proto.getFirstEditableColumnIndex = function() {\r\n var columnsController = this.getController(\"columns\");\r\n var columnIndex;\r\n var visibleColumns = columnsController.getVisibleColumns();\r\n (0, _iterator.each)(visibleColumns, (function(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 _proto.getFirstEditableCellInRow = function(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 _proto.getFocusedCellInRow = function(rowIndex) {\r\n return this.getFirstEditableCellInRow(rowIndex)\r\n };\r\n _proto.getIndexByKey = function(key, items) {\r\n return _m_utils.default.getIndexByKey(key, items)\r\n };\r\n _proto.hasChanges = function(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 && (!(0, _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 _proto.dispose = function() {\r\n _modules$ViewControll.prototype.dispose.call(this);\r\n clearTimeout(this._inputFocusTimeoutID);\r\n _events_engine.default.off(_dom_adapter.default.getDocument(), _pointer.default.up, this._pointerUpEditorHandler);\r\n _events_engine.default.off(_dom_adapter.default.getDocument(), _pointer.default.down, this._pointerDownEditorHandler);\r\n _events_engine.default.off(_dom_adapter.default.getDocument(), _click.name, this._saveEditorHandler)\r\n };\r\n _proto._silentOption = function(name, value) {\r\n if (\"editing.changes\" === name) {\r\n this._changes = (0, _object.deepExtendArraySafe)([], value)\r\n }\r\n _modules$ViewControll.prototype._silentOption.call(this, name, value)\r\n };\r\n _proto.optionChanged = function(args) {\r\n if (\"editing\" === args.name) {\r\n var fullName = args.fullName;\r\n if (fullName === _const.EDITING_EDITROWKEY_OPTION_NAME) {\r\n this._handleEditRowKeyChange(args)\r\n } else if (fullName === _const.EDITING_CHANGES_OPTION_NAME) {\r\n var isEqual = (0, _common.equalByValue)(args.value, this._changes, {\r\n maxDepth: 4\r\n });\r\n if (!isEqual) {\r\n this._changes = (0, _object.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 _modules$ViewControll.prototype.optionChanged.call(this, args)\r\n }\r\n };\r\n _proto._handleEditRowKeyChange = function(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 ((0, _type.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 _proto._handleChangesChange = function(args) {\r\n var _this7 = this;\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((function(change) {\r\n var _a;\r\n if (\"insert\" === change.type) {\r\n _this7._addInsertInfo(change)\r\n } else {\r\n var items = dataController.getCachedStoreData() || (null === (_a = dataController.items()) || void 0 === _a ? void 0 : _a.map((function(item) {\r\n return item.data\r\n })));\r\n var rowIndex = _m_utils.default.getIndexByKey(change.key, items, dataController.key());\r\n _this7._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 _proto.publicMethods = function() {\r\n return [\"addRow\", \"deleteRow\", \"undeleteRow\", \"editRow\", \"saveEditData\", \"cancelEditData\", \"hasEditData\"]\r\n };\r\n _proto.refresh = function() {\r\n if (!(0, _type.isDefined)(this._pageIndex)) {\r\n return\r\n }\r\n this._refreshCore.apply(this, arguments)\r\n };\r\n _proto._refreshCore = function(params) {};\r\n _proto.isEditing = function() {\r\n var isEditRowKeyDefined = (0, _type.isDefined)(this.option(_const.EDITING_EDITROWKEY_OPTION_NAME));\r\n return isEditRowKeyDefined\r\n };\r\n _proto.isEditRow = function(rowIndex) {\r\n return false\r\n };\r\n _proto._setEditRowKey = function(value, silent) {\r\n if (silent) {\r\n this._silentOption(_const.EDITING_EDITROWKEY_OPTION_NAME, value)\r\n } else {\r\n this.option(_const.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 _proto._setEditRowKeyByIndex = function(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 _proto.getEditRowIndex = function() {\r\n return this._getVisibleEditRowIndex()\r\n };\r\n _proto.getEditFormRowIndex = function() {\r\n return -1\r\n };\r\n _proto.isEditRowByIndex = function(rowIndex) {\r\n var key = this._dataController.getKeyByRowIndex(rowIndex);\r\n var isKeyEqual = (0, _type.isDefined)(key) && (0, _common.equalByValue)(this.option(_const.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 _proto.isEditCell = function(visibleRowIndex, columnIndex) {\r\n return this.isEditRowByIndex(visibleRowIndex) && this._getVisibleEditColumnIndex() === columnIndex\r\n };\r\n _proto.getPopupContent = function() {};\r\n _proto._isProcessedItem = function(item) {\r\n return false\r\n };\r\n _proto._getInsertRowIndex = function(items, change, isProcessedItems) {\r\n var _this8 = this;\r\n var result = -1;\r\n var dataController = this._dataController;\r\n var key = this._getInsertAfterOrBeforeKey(change);\r\n if (!(0, _type.isDefined)(key) && 0 === items.length) {\r\n result = 0\r\n } else if ((0, _type.isDefined)(key)) {\r\n items.some((function(item, index) {\r\n var isProcessedItem = isProcessedItems || _this8._isProcessedItem(item);\r\n if ((0, _type.isObject)(item)) {\r\n if (isProcessedItem || (0, _type.isDefined)(item[_const.INSERT_INDEX])) {\r\n if ((0, _common.equalByValue)(item.key, key)) {\r\n result = index\r\n }\r\n } else if ((0, _common.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) && (0, _type.isDefined)(change.insertAfterKey)) {\r\n return\r\n }\r\n if ((0, _type.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 _proto._generateNewItem = function(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[_const.INSERT_INDEX]) {\r\n item[_const.INSERT_INDEX] = insertInfo[_const.INSERT_INDEX]\r\n }\r\n return item\r\n };\r\n _proto._getLoadedRowIndex = function(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 !== _const.LAST_NEW_ROW_POSITION && 0 === pageIndex && !(0, _type.isDefined)(insertAfterOrBeforeKey)) {\r\n loadedRowIndex = 0\r\n } else if (newRowPosition === _const.LAST_NEW_ROW_POSITION && dataController.isLastPageLoaded()) {\r\n loadedRowIndex = items.length\r\n }\r\n }\r\n return loadedRowIndex\r\n };\r\n _proto.processItems = function(items, e) {\r\n var _this9 = this;\r\n var changeType = e.changeType;\r\n this.update(changeType);\r\n var changes = this.getChanges();\r\n changes.forEach((function(change) {\r\n var _a;\r\n var isInsert = change.type === _const.DATA_EDIT_DATA_INSERT_TYPE;\r\n if (!isInsert) {\r\n return\r\n }\r\n var key = change.key;\r\n var insertInfo = null === (_a = _this9._getInternalData(key)) || void 0 === _a ? void 0 : _a.insertInfo;\r\n if (!(0, _type.isDefined)(key) || !(0, _type.isDefined)(insertInfo)) {\r\n insertInfo = _this9._addInsertInfo(change);\r\n key = insertInfo.key\r\n }\r\n var loadedRowIndex = _this9._getLoadedRowIndex(items, change);\r\n var item = _this9._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 _proto.processDataItem = function(item, options, generateDataValues) {\r\n var columns = options.visibleColumns;\r\n var key = item.data[_const.INSERT_INDEX] ? item.data.key : item.key;\r\n var changes = this.getChanges();\r\n var editIndex = _m_utils.default.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 _proto._processDataItemCore = function(item, change, key, columns, generateDataValues) {\r\n var data = change.data,\r\n type = change.type;\r\n switch (type) {\r\n case _const.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 _const.DATA_EDIT_DATA_UPDATE_TYPE:\r\n item.modified = true;\r\n item.oldData = item.data;\r\n item.data = (0, _array_utils.createObjectWithChanges)(item.data, data);\r\n item.modifiedValues = generateDataValues(data, columns, true);\r\n break;\r\n case _const.DATA_EDIT_DATA_REMOVE_TYPE:\r\n item.removed = true\r\n }\r\n };\r\n _proto._initNewRow = function(options) {\r\n var _this10 = this;\r\n this.executeAction(\"onInitNewRow\", options);\r\n if (options.promise) {\r\n var deferred = new _deferred.Deferred;\r\n (0, _deferred.when)((0, _deferred.fromPromise)(options.promise)).done(deferred.resolve).fail((0, _m_editing_utils.createFailureHandler)(deferred)).fail((function(arg) {\r\n return _this10._fireDataErrorOccurred(arg)\r\n }));\r\n return deferred\r\n }\r\n };\r\n _proto._createInsertInfo = function() {\r\n var insertInfo = {};\r\n insertInfo[_const.INSERT_INDEX] = this._getInsertIndex();\r\n return insertInfo\r\n };\r\n _proto._addInsertInfo = function(change, parentKey) {\r\n var _a;\r\n var insertInfo;\r\n var key = change.key;\r\n if (!(0, _type.isDefined)(key)) {\r\n key = String(new _guid.default);\r\n change.key = key\r\n }\r\n insertInfo = null === (_a = this._getInternalData(key)) || void 0 === _a ? void 0 : _a.insertInfo;\r\n if (!(0, _type.isDefined)(insertInfo)) {\r\n var insertAfterOrBeforeKey = this._getInsertAfterOrBeforeKey(change);\r\n insertInfo = this._createInsertInfo();\r\n if (!(0, _type.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 _proto._setInsertAfterOrBeforeKey = function(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 _const.FIRST_NEW_ROW_POSITION:\r\n case _const.LAST_NEW_ROW_POSITION:\r\n break;\r\n case _const.PAGE_TOP_NEW_ROW_POSITION:\r\n case _const.PAGE_BOTTOM_NEW_ROW_POSITION:\r\n if (allItems.length) {\r\n var itemIndex = newRowPosition === _const.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 === _const.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 ((0, _type.isDefined)(insertKey)) {\r\n change.insertBeforeKey = insertKey\r\n }\r\n }\r\n };\r\n _proto._getInsertIndex = function() {\r\n var _this11 = this;\r\n var maxInsertIndex = 0;\r\n this.getChanges().forEach((function(editItem) {\r\n var _a;\r\n var insertInfo = null === (_a = _this11._getInternalData(editItem.key)) || void 0 === _a ? void 0 : _a.insertInfo;\r\n if ((0, _type.isDefined)(insertInfo) && editItem.type === _const.DATA_EDIT_DATA_INSERT_TYPE && insertInfo[_const.INSERT_INDEX] > maxInsertIndex) {\r\n maxInsertIndex = insertInfo[_const.INSERT_INDEX]\r\n }\r\n }));\r\n return maxInsertIndex + 1\r\n };\r\n _proto._getInsertAfterOrBeforeKey = function(insertChange) {\r\n var _a;\r\n return null !== (_a = insertChange.insertAfterKey) && void 0 !== _a ? _a : insertChange.insertBeforeKey\r\n };\r\n _proto._getPageIndexToInsertRow = function() {\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 === _const.FIRST_NEW_ROW_POSITION && 0 !== pageIndex) {\r\n return 0\r\n }\r\n if (newRowPosition === _const.LAST_NEW_ROW_POSITION && pageIndex !== lastPageIndex) {\r\n return lastPageIndex\r\n }\r\n return -1\r\n };\r\n _proto.addRow = function(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.Deferred).reject()\r\n }\r\n return this._addRow(parentKey)\r\n };\r\n _proto._addRow = function(parentKey) {\r\n var _this12 = this;\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.Deferred;\r\n this.refresh({\r\n allowCancelEditing: true\r\n });\r\n if (!this._allowRowAdding()) {\r\n (0, _deferred.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.default)\r\n }(0, _deferred.when)(this._initNewRow(param, parentKey)).done((function() {\r\n if (_this12._allowRowAdding()) {\r\n (0, _deferred.when)(_this12._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 _proto._allowRowAdding = function(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 _proto._addRowCore = function(data, parentKey, initialOldEditRowIndex) {\r\n var change = {\r\n data: data,\r\n type: _const.DATA_EDIT_DATA_INSERT_TYPE\r\n };\r\n var editRowIndex = this._getVisibleEditRowIndex();\r\n var insertInfo = this._addInsertInfo(change, parentKey);\r\n var key = insertInfo.key;\r\n this._setEditRowKey(key, true);\r\n this._addChange(change);\r\n return this._navigateToNewRow(initialOldEditRowIndex, change, editRowIndex)\r\n };\r\n _proto._navigateToNewRow = function(oldEditRowIndex, change, editRowIndex) {\r\n var _this13 = this;\r\n var d = new _deferred.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((function(c) {\r\n return c.type === _const.DATA_EDIT_DATA_INSERT_TYPE\r\n }))[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 = function(key) {\r\n (0, _deferred.when)(null === focusController || void 0 === focusController ? void 0 : focusController.navigateToRow(key)).done((function() {\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((function() {\r\n navigateToRowByKey(change.key)\r\n })).fail(d.reject)\r\n } else if (rowIndex < 0 && (0, _type.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((function() {\r\n var _a;\r\n null === (_a = _this13._rowsView) || void 0 === _a ? void 0 : _a.waitAsyncTemplates(true).done((function() {\r\n _this13._showAddedRow(rowIndex);\r\n _this13._afterInsertRow(change.key)\r\n }))\r\n }));\r\n return d.promise()\r\n };\r\n _proto._showAddedRow = function(rowIndex) {\r\n this._focusFirstEditableCellInRow(rowIndex)\r\n };\r\n _proto._beforeFocusElementInRow = function(rowIndex) {};\r\n _proto._focusFirstEditableCellInRow = function(rowIndex) {\r\n var _this14 = this;\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, (function() {\r\n rowIndex = dataController.getRowIndexByKey(key);\r\n _this14._editCellInProgress = false;\r\n _this14._beforeFocusElementInRow(rowIndex)\r\n }))\r\n };\r\n _proto._isEditingStart = function(options) {\r\n this.executeAction(\"onEditingStart\", options);\r\n return options.cancel\r\n };\r\n _proto._beforeUpdateItems = function() {};\r\n _proto._getVisibleEditColumnIndex = function() {\r\n var editColumnName = this.option(_const.EDITING_EDITCOLUMNNAME_OPTION_NAME);\r\n if (!(0, _type.isDefined)(editColumnName)) {\r\n return -1\r\n }\r\n return this._columnsController.getVisibleColumnIndex(editColumnName)\r\n };\r\n _proto._setEditColumnNameByIndex = function(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 _proto._setEditColumnName = function(name, silent) {\r\n if (silent) {\r\n this._silentOption(_const.EDITING_EDITCOLUMNNAME_OPTION_NAME, name)\r\n } else {\r\n this.option(_const.EDITING_EDITCOLUMNNAME_OPTION_NAME, name)\r\n }\r\n };\r\n _proto._resetEditColumnName = function() {\r\n this._setEditColumnName(null, true)\r\n };\r\n _proto._getEditColumn = function() {\r\n var editColumnName = this.option(_const.EDITING_EDITCOLUMNNAME_OPTION_NAME);\r\n return this._getColumnByName(editColumnName)\r\n };\r\n _proto._getColumnByName = function(name) {\r\n var visibleColumns = this._columnsController.getVisibleColumns();\r\n var editColumn;\r\n (0, _type.isDefined)(name) && visibleColumns.some((function(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 _proto._getVisibleEditRowIndex = function(columnName) {\r\n var dataController = this._dataController;\r\n var editRowKey = this.option(_const.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 _proto._getEditRowIndexCorrection = function(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 _proto._resetEditRowKey = function() {\r\n this._refocusEditCell = false;\r\n this._setEditRowKey(null, true)\r\n };\r\n _proto._resetEditIndices = function() {\r\n this._resetEditColumnName();\r\n this._resetEditRowKey()\r\n };\r\n _proto.editRow = function(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 _proto._editRowFromOptionChanged = function(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 _proto._editRowFromOptionChangedCore = function(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 _proto._focusEditorIfNeed = function() {};\r\n _proto._showEditPopup = function(rowIndex, repaintForm) {};\r\n _proto._repaintEditPopup = function() {};\r\n _proto._getEditPopupHiddenHandler = function() {\r\n var _this15 = this;\r\n return function(e) {\r\n if (_this15.isEditing()) {\r\n _this15.cancelEditData()\r\n }\r\n }\r\n };\r\n _proto._getPopupEditFormTemplate = function(rowIndex) {};\r\n _proto._getSaveButtonConfig = function() {\r\n return {\r\n text: this.option(\"editing.texts.saveRowChanges\"),\r\n onClick: this.saveEditData.bind(this)\r\n }\r\n };\r\n _proto._getCancelButtonConfig = function() {\r\n return {\r\n text: this.option(\"editing.texts.cancelRowChanges\"),\r\n onClick: this.cancelEditData.bind(this)\r\n }\r\n };\r\n _proto._removeInternalData = function(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 _proto._updateInsertAfterOrBeforeKeys = function(changes, index) {\r\n var _this16 = this;\r\n var removeChange = changes[index];\r\n changes.forEach((function(change) {\r\n var insertAfterOrBeforeKey = _this16._getInsertAfterOrBeforeKey(change);\r\n if ((0, _common.equalByValue)(insertAfterOrBeforeKey, removeChange.key)) {\r\n change[(0, _type.isDefined)(change.insertAfterKey) ? \"insertAfterKey\" : \"insertBeforeKey\"] = _this16._getInsertAfterOrBeforeKey(removeChange)\r\n }\r\n }))\r\n };\r\n _proto._removeChange = function(index) {\r\n if (index >= 0) {\r\n var changes = _toConsumableArray(this.getChanges());\r\n var key = changes[index].key;\r\n this._removeInternalData(key);\r\n this._updateInsertAfterOrBeforeKeys(changes, index);\r\n changes.splice(index, 1);\r\n this._silentOption(_const.EDITING_CHANGES_OPTION_NAME, changes);\r\n if ((0, _common.equalByValue)(this.option(_const.EDITING_EDITROWKEY_OPTION_NAME), key)) {\r\n this._resetEditIndices()\r\n }\r\n }\r\n };\r\n _proto.executeOperation = function(deferred, func) {\r\n var _this17 = this;\r\n this._lastOperation && this._lastOperation.reject();\r\n this._lastOperation = deferred;\r\n this.waitForDeferredOperations().done((function() {\r\n if (\"rejected\" === deferred.state()) {\r\n return\r\n }\r\n func();\r\n _this17._lastOperation = null\r\n })).fail((function() {\r\n deferred.reject();\r\n _this17._lastOperation = null\r\n }))\r\n };\r\n _proto.waitForDeferredOperations = function() {\r\n return _deferred.when.apply(void 0, _toConsumableArray(this._deferreds))\r\n };\r\n _proto._processCanceledEditingCell = function() {};\r\n _proto._repaintEditCell = function(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 _proto._delayedInputFocus = function($cell, beforeFocusCallback, callBeforeFocusCallbackAlways) {\r\n var _this18 = this;\r\n var inputFocus = function() {\r\n if (beforeFocusCallback) {\r\n beforeFocusCallback()\r\n }\r\n if ($cell) {\r\n var $focusableElement = $cell.find(_const.FOCUSABLE_ELEMENT_SELECTOR).first();\r\n _m_utils.default.focusAndSelectElement(_this18, $focusableElement)\r\n }\r\n _this18._beforeFocusCallback = null\r\n };\r\n if (_devices.default.real().ios || _devices.default.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 _proto._focusEditingCell = function(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 _proto.deleteRow = function(rowIndex) {\r\n this._checkAndDeleteRow(rowIndex)\r\n };\r\n _proto._checkAndDeleteRow = function(rowIndex) {\r\n var _this19 = this;\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 = (0, _type.isDefined)(confirmDeleteTitle) && confirmDeleteTitle.length > 0;\r\n (0, _dialog.confirm)(confirmDeleteMessage, confirmDeleteTitle, showDialogTitle).done((function(confirmResult) {\r\n if (confirmResult) {\r\n _this19._deleteRowCore(rowIndex)\r\n }\r\n }))\r\n }\r\n }\r\n };\r\n _proto._deleteRowCore = function(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 = _m_utils.default.getIndexByKey(key, changes);\r\n if (editIndex >= 0) {\r\n if (changes[editIndex].type === _const.DATA_EDIT_DATA_INSERT_TYPE) {\r\n this._removeChange(editIndex)\r\n } else {\r\n this._addChange({\r\n key: key,\r\n type: _const.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: _const.DATA_EDIT_DATA_REMOVE_TYPE\r\n })\r\n }\r\n return this._afterDeleteRow(rowIndex, oldEditRowIndex)\r\n };\r\n _proto._afterDeleteRow = function(rowIndex, oldEditRowIndex) {\r\n return this.saveEditData()\r\n };\r\n _proto.undeleteRow = function(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 = _m_utils.default.getIndexByKey(key, changes);\r\n if (editIndex >= 0) {\r\n var data = changes[editIndex].data;\r\n if ((0, _type.isEmptyObject)(data)) {\r\n this._removeChange(editIndex)\r\n } else {\r\n this._addChange({\r\n key: key,\r\n type: _const.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 _proto._fireOnSaving = function() {\r\n var _this20 = this;\r\n var onSavingParams = {\r\n cancel: false,\r\n promise: null,\r\n changes: _toConsumableArray(this.getChanges())\r\n };\r\n this.executeAction(\"onSaving\", onSavingParams);\r\n var d = new _deferred.Deferred;\r\n (0, _deferred.when)((0, _deferred.fromPromise)(onSavingParams.promise)).done((function() {\r\n d.resolve(onSavingParams)\r\n })).fail((function(arg) {\r\n (0, _m_editing_utils.createFailureHandler)(d);\r\n _this20._fireDataErrorOccurred(arg);\r\n d.resolve({\r\n cancel: true\r\n })\r\n }));\r\n return d\r\n };\r\n _proto._executeEditingAction = function(actionName, params, func) {\r\n if (this.component._disposed) {\r\n return null\r\n }\r\n var deferred = new _deferred.Deferred;\r\n this.executeAction(actionName, params);\r\n (0, _deferred.when)((0, _deferred.fromPromise)(params.cancel)).done((function(cancel) {\r\n if (cancel) {\r\n setTimeout((function() {\r\n deferred.resolve(\"cancel\")\r\n }))\r\n } else {\r\n func(params).done(deferred.resolve).fail((0, _m_editing_utils.createFailureHandler)(deferred))\r\n }\r\n })).fail((0, _m_editing_utils.createFailureHandler)(deferred));\r\n return deferred\r\n };\r\n _proto._processChanges = function(deferreds, results, dataChanges, changes) {\r\n var _this21 = this;\r\n var store = this._dataController.store();\r\n (0, _iterator.each)(changes, (function(index, change) {\r\n var oldData = _this21._getOldData(change.key);\r\n var data = change.data,\r\n type = change.type;\r\n var changeCopy = _extends({}, change);\r\n var deferred;\r\n var params;\r\n if (_this21._beforeSaveEditData(change, index)) {\r\n return\r\n }\r\n switch (type) {\r\n case _const.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 = _this21._executeEditingAction(\"onRowRemoving\", params, (function() {\r\n return store.remove(change.key).done((function(key) {\r\n dataChanges.push({\r\n type: \"remove\",\r\n key: key\r\n })\r\n }))\r\n }));\r\n break;\r\n case _const.DATA_EDIT_DATA_INSERT_TYPE:\r\n params = {\r\n data: data,\r\n cancel: false\r\n };\r\n deferred = _this21._executeEditingAction(\"onRowInserting\", params, (function() {\r\n return store.insert(params.data).done((function(data, key) {\r\n if ((0, _type.isDefined)(key)) {\r\n changeCopy.key = key\r\n }\r\n if (data && (0, _type.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 }));\r\n break;\r\n case _const.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 = _this21._executeEditingAction(\"onRowUpdating\", params, (function() {\r\n return store.update(change.key, params.newData).done((function(data, key) {\r\n if (data && (0, _type.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 }\r\n changes[index] = changeCopy;\r\n if (deferred) {\r\n var doneDeferred = new _deferred.Deferred;\r\n deferred.always((function(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 _proto._processRemoveIfError = function(changes, editIndex) {\r\n var change = changes[editIndex];\r\n if ((null === change || void 0 === change ? void 0 : change.type) === _const.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 _proto._processRemove = function(changes, editIndex, cancel) {\r\n var change = changes[editIndex];\r\n if (!cancel || !change || change.type === _const.DATA_EDIT_DATA_REMOVE_TYPE) {\r\n return this._processRemoveCore(changes, editIndex, !cancel || !change)\r\n }\r\n };\r\n _proto._processRemoveCore = function(changes, editIndex, processIfBatch) {\r\n if (editIndex >= 0) {\r\n changes.splice(editIndex, 1)\r\n }\r\n return true\r\n };\r\n _proto._processSaveEditDataResult = function(results) {\r\n var hasSavedData = false;\r\n var changes = _toConsumableArray(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 = _m_utils.default.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(_const.EDITING_CHANGES_OPTION_NAME, changes)\r\n }\r\n return hasSavedData\r\n };\r\n _proto._fireSaveEditDataEvents = function(changes) {\r\n var _this22 = this;\r\n (0, _iterator.each)(changes, (function(_, _ref) {\r\n var data = _ref.data,\r\n key = _ref.key,\r\n type = _ref.type;\r\n var internalData = _this22._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 _const.DATA_EDIT_DATA_REMOVE_TYPE:\r\n _this22.executeAction(\"onRowRemoved\", (0, _extend.extend)({}, params, {\r\n data: internalData.oldData\r\n }));\r\n break;\r\n case _const.DATA_EDIT_DATA_INSERT_TYPE:\r\n _this22.executeAction(\"onRowInserted\", params);\r\n break;\r\n case _const.DATA_EDIT_DATA_UPDATE_TYPE:\r\n _this22.executeAction(\"onRowUpdated\", params)\r\n }\r\n }));\r\n this.executeAction(\"onSaved\", {\r\n changes: changes\r\n })\r\n };\r\n _proto.saveEditData = function() {\r\n var _this23 = this;\r\n var deferred = new _deferred.Deferred;\r\n this.waitForDeferredOperations().done((function() {\r\n if (_this23.isSaving()) {\r\n _this23._resolveAfterSave(deferred);\r\n return\r\n }(0, _deferred.when)(_this23._beforeSaveEditData()).done((function(cancel) {\r\n if (cancel) {\r\n _this23._resolveAfterSave(deferred, {\r\n cancel: cancel\r\n });\r\n return\r\n }\r\n _this23._saving = true;\r\n _this23._saveEditDataInner().always((function() {\r\n _this23._saving = false;\r\n if (_this23._refocusEditCell) {\r\n _this23._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 _proto._resolveAfterSave = function(deferred) {\r\n var _ref2 = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {},\r\n cancel = _ref2.cancel,\r\n error = _ref2.error;\r\n (0, _deferred.when)(this._afterSaveEditData(cancel)).done((function() {\r\n deferred.resolve(error)\r\n })).fail(deferred.reject)\r\n };\r\n _proto._saveEditDataInner = function() {\r\n var _this24 = this;\r\n var result = new _deferred.Deferred;\r\n var results = [];\r\n var deferreds = [];\r\n var dataChanges = [];\r\n var dataSource = this._dataController.dataSource();\r\n (0, _deferred.when)(this._fireOnSaving()).done((function(_ref3) {\r\n var cancel = _ref3.cancel,\r\n changes = _ref3.changes;\r\n if (cancel) {\r\n return result.resolve().promise()\r\n }\r\n _this24._processChanges(deferreds, results, dataChanges, changes);\r\n if (deferreds.length) {\r\n _this24._refocusEditCell = true;\r\n null === dataSource || void 0 === dataSource ? void 0 : dataSource.beginLoading();\r\n _deferred.when.apply(void 0, deferreds).done((function() {\r\n if (_this24._processSaveEditDataResult(results)) {\r\n _this24._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((function(error) {\r\n null === dataSource || void 0 === dataSource ? void 0 : dataSource.endLoading();\r\n result.resolve(error)\r\n }));\r\n return result.always((function() {\r\n _this24._refocusEditCell = true\r\n })).promise()\r\n }\r\n _this24._cancelSaving(result)\r\n })).fail(result.reject);\r\n return result.promise()\r\n };\r\n _proto._beforeEndSaving = function(changes) {\r\n this._resetEditIndices()\r\n };\r\n _proto._endSaving = function(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 _proto._cancelSaving = function(result) {\r\n this.executeAction(\"onSaved\", {\r\n changes: []\r\n });\r\n this._resolveAfterSave(result)\r\n };\r\n _proto._refreshDataAfterSave = function(dataChanges, changes, deferred) {\r\n var _this25 = this;\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 }(0, _deferred.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((function() {\r\n _this25._fireSaveEditDataEvents(changes)\r\n })).done((function() {\r\n _this25._resolveAfterSave(deferred)\r\n })).fail((function(error) {\r\n _this25._resolveAfterSave(deferred, {\r\n error: error\r\n })\r\n }))\r\n };\r\n _proto.isSaving = function() {\r\n return this._saving\r\n };\r\n _proto._updateEditColumn = function() {\r\n var isEditColumnVisible = this._isEditColumnVisible();\r\n var useIcons = this.option(\"editing.useIcons\");\r\n var cssClass = _const.COMMAND_EDIT_CLASS + (useIcons ? \" \".concat(_const.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 _proto._isEditColumnVisible = function() {\r\n var editingOptions = this.option(\"editing\");\r\n return editingOptions.allowDeleting\r\n };\r\n _proto._isEditButtonDisabled = function() {\r\n var hasChanges = this.hasChanges();\r\n var isEditRowDefined = (0, _type.isDefined)(this.option(\"editing.editRowKey\"));\r\n return !(isEditRowDefined || hasChanges)\r\n };\r\n _proto._updateEditButtons = function() {\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 _proto._applyModified = function($element, options) {\r\n $element && $element.addClass(_const.CELL_MODIFIED)\r\n };\r\n _proto._beforeCloseEditCellInBatchMode = function(rowIndices) {};\r\n _proto.cancelEditData = function() {\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 _proto._cancelEditDataCore = function() {\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 _proto._afterCancelEditData = function(rowIndex) {\r\n var dataController = this._dataController;\r\n dataController.updateItems({\r\n repaintChangesOnly: this.option(\"repaintChangesOnly\")\r\n })\r\n };\r\n _proto._hideEditPopup = function() {};\r\n _proto.hasEditData = function() {\r\n return this.hasChanges()\r\n };\r\n _proto.update = function(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 _proto._getRowIndicesForCascadeUpdating = function(row, skipCurrentRow) {\r\n return skipCurrentRow ? [] : [row.rowIndex]\r\n };\r\n _proto.addDeferred = function(deferred) {\r\n var _this26 = this;\r\n if (this._deferreds.indexOf(deferred) < 0) {\r\n this._deferreds.push(deferred);\r\n deferred.always((function() {\r\n var index = _this26._deferreds.indexOf(deferred);\r\n if (index >= 0) {\r\n _this26._deferreds.splice(index, 1)\r\n }\r\n }))\r\n }\r\n };\r\n _proto._prepareChange = function(options, value, text) {\r\n var _this27 = this;\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.Deferred;\r\n if (void 0 !== rowKey) {\r\n options.value = value;\r\n var setCellValueResult = (0, _deferred.fromPromise)(options.column.setCellValue(newData, value, (0, _extend.extend)(true, {}, oldData), text));\r\n setCellValueResult.done((function() {\r\n deferred.resolve({\r\n data: newData,\r\n key: rowKey,\r\n oldData: oldData,\r\n type: _const.DATA_EDIT_DATA_UPDATE_TYPE\r\n })\r\n })).fail((0, _m_editing_utils.createFailureHandler)(deferred)).fail((function(arg) {\r\n return _this27._fireDataErrorOccurred(arg)\r\n }));\r\n if ((0, _type.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 _proto._updateRowValues = function(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 _proto.updateFieldValue = function(options, value, text, forceUpdateRow) {\r\n var _this28 = this;\r\n var rowKey = options.key;\r\n var deferred = new _deferred.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((function(params) {\r\n (0, _deferred.when)(_this28._applyChange(options, params, forceUpdateRow)).always((function() {\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 _proto._focusPreviousEditingCellIfNeed = function(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 _proto._needUpdateRow = function(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((function(visibleColumn) {\r\n return visibleColumn.calculateCellValue !== visibleColumn.defaultCalculateCellValue\r\n }));\r\n return isCustomSetCellValue || isCustomCalculateCellValue\r\n };\r\n _proto._applyChange = function(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 _proto._applyChangeCore = function(options, forceUpdateRow) {\r\n var isCustomSetCellValue = options.column.setCellValue !== options.column.defaultSetCellValue;\r\n var row = options.row;\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 _proto._updateEditRowCore = function(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 _proto._updateEditRow = function(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 _proto._updateRowImmediately = function(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 _proto._updateRowWithDelay = function(row, isCustomSetCellValue) {\r\n var _this29 = this;\r\n var deferred = new _deferred.Deferred;\r\n this.addDeferred(deferred);\r\n setTimeout((function() {\r\n var _a;\r\n var elementContainer = (null === (_a = _this29._editForm) || void 0 === _a ? void 0 : _a.element()) || _this29.component.$element().get(0);\r\n var $focusedElement = (0, _renderer.default)(_dom_adapter.default.getActiveElement(elementContainer));\r\n var columnIndex = _this29._rowsView.getCellIndex($focusedElement, row.rowIndex);\r\n var focusedElement = $focusedElement.get(0);\r\n var selectionRange = _m_utils.default.getSelectionRange(focusedElement);\r\n _this29._updateEditRowCore(row, false, isCustomSetCellValue);\r\n _this29._validateEditFormAfterUpdate(row, isCustomSetCellValue);\r\n if (columnIndex >= 0) {\r\n var $focusedItem = _this29._rowsView._getCellElement(row.rowIndex, columnIndex);\r\n _this29._delayedInputFocus($focusedItem, (function() {\r\n setTimeout((function() {\r\n var _a;\r\n focusedElement = _dom_adapter.default.getActiveElement(null === (_a = _this29.component.$element()) || void 0 === _a ? void 0 : _a.get(0));\r\n if (selectionRange.selectionStart >= 0) {\r\n _m_utils.default.setSelectionRange(focusedElement, selectionRange)\r\n }\r\n }))\r\n }))\r\n }\r\n deferred.resolve()\r\n }))\r\n };\r\n _proto._validateEditFormAfterUpdate = function() {};\r\n _proto._addChange = function(changeParams, options) {\r\n var _a;\r\n var row = null === options || void 0 === options ? void 0 : options.row;\r\n var changes = _toConsumableArray(this.getChanges());\r\n var index = _m_utils.default.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 = (0, _array_utils.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 = (0, _array_utils.createObjectWithChanges)(row.data, changeParams.data)\r\n }\r\n }\r\n changes[index] = change;\r\n this._silentOption(_const.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 _proto._getFormEditItemTemplate = function(cellOptions, column) {\r\n return column.editCellTemplate || this._getDefaultEditorTemplate()\r\n };\r\n _proto.getColumnTemplate = function(options) {\r\n var _this30 = this;\r\n var column = options.column;\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 = function(value, text) {\r\n _this30.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 _proto._createButton = function($container, button, options, change) {\r\n var icon = _const.EDIT_ICON_CLASS[button.name];\r\n var useIcons = this.option(\"editing.useIcons\");\r\n var useLegacyColumnButtonTemplate = this.option(\"useLegacyColumnButtonTemplate\");\r\n var $button = (0, _renderer.default)(\"\").attr(\"href\", \"#\").addClass(_const.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 = (0, _renderer.default)(\"\").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(\"dx-link-icon\");\r\n $container.addClass(_const.COMMAND_EDIT_WITH_ICONS_CLASS);\r\n var localizationName = this.getButtonLocalizationNames()[button.name];\r\n localizationName && $button.attr(\"aria-label\", _message.default.format(localizationName))\r\n } else {\r\n $button.text(button.text)\r\n }\r\n if ((0, _type.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 _events_engine.default.on($button, (0, _index.addNamespace)(\"click\", _const.EDITING_NAMESPACE), this.createAction((function(e) {\r\n var _a;\r\n null === (_a = button.onClick) || void 0 === _a ? void 0 : _a.call(button, (0, _extend.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 _proto.getButtonLocalizationNames = function() {\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 _proto.prepareButtonItem = function(headerPanel, name, methodName, sortIndex) {\r\n var _this31 = this;\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: function(e) {\r\n (0, _renderer.default)(e.element).addClass(headerPanel._getToolbarButtonClass(\"\".concat(_const.EDIT_BUTTON_CLASS, \" \").concat(_this31.addWidgetPrefix(className), \"-button\")))\r\n },\r\n icon: \"edit-button-\".concat(className),\r\n disabled: isButtonDisabled,\r\n onClick: function() {\r\n setTimeout((function() {\r\n _this31[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 _proto.prepareEditButtons = function(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 _proto.highlightDataCell = function($cell, params) {\r\n this.shouldHighlightCell(params) && $cell.addClass(_const.CELL_MODIFIED)\r\n };\r\n _proto._afterInsertRow = function() {};\r\n _proto._beforeSaveEditData = function(change) {\r\n if (change && !(0, _type.isDefined)(change.key) && (0, _type.isDefined)(change.type)) {\r\n return true\r\n }\r\n };\r\n _proto._afterSaveEditData = function() {};\r\n _proto._beforeCancelEditData = function() {};\r\n _proto._allowEditAction = function(actionName, options) {\r\n var allowEditAction = this.option(\"editing.\".concat(actionName));\r\n if ((0, _type.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 _proto.allowUpdating = function(options, eventName) {\r\n var _a;\r\n var startEditAction = null !== (_a = this.option(\"editing.startEditAction\")) && void 0 !== _a ? _a : _const.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 _proto.allowDeleting = function(options) {\r\n return this._allowEditAction(\"allowDeleting\", options)\r\n };\r\n _proto.isCellModified = function(parameters) {\r\n var columnIndex = parameters.columnIndex;\r\n var modifiedValues = parameters.row && (parameters.row.isNewRow ? parameters.row.values : parameters.row.modifiedValues);\r\n return !!modifiedValues && void 0 !== modifiedValues[columnIndex]\r\n };\r\n _proto.isNewRowInEditMode = function() {\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 _proto._isRowDeleteAllowed = function() {};\r\n _proto.shouldHighlightCell = function(parameters) {\r\n var cellModified = this.isCellModified(parameters);\r\n return cellModified && parameters.column.setCellValue && (this.getEditMode() !== _const.EDIT_MODE_ROW || !parameters.row.isEditing)\r\n };\r\n return EditingControllerImpl\r\n}(_m_modules.default.ViewController);\r\nvar editingModule = {\r\n defaultOptions: function() {\r\n return {\r\n editing: {\r\n mode: \"row\",\r\n refreshMode: \"full\",\r\n newRowPosition: _const.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: _message.default.format(\"dxDataGrid-editingEditRow\"),\r\n saveAllChanges: _message.default.format(\"dxDataGrid-editingSaveAllChanges\"),\r\n saveRowChanges: _message.default.format(\"dxDataGrid-editingSaveRowChanges\"),\r\n cancelAllChanges: _message.default.format(\"dxDataGrid-editingCancelAllChanges\"),\r\n cancelRowChanges: _message.default.format(\"dxDataGrid-editingCancelRowChanges\"),\r\n addRow: _message.default.format(\"dxDataGrid-editingAddRow\"),\r\n deleteRow: _message.default.format(\"dxDataGrid-editingDeleteRow\"),\r\n undeleteRow: _message.default.format(\"dxDataGrid-editingUndeleteRow\"),\r\n confirmDeleteMessage: _message.default.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 },\r\n controllers: {\r\n editing: EditingControllerImpl\r\n },\r\n extenders: {\r\n controllers: {\r\n data: {\r\n init: function() {\r\n this._editingController = this.getController(\"editing\");\r\n this.callBase()\r\n },\r\n reload: function(full, repaintChangesOnly) {\r\n !repaintChangesOnly && this._editingController.refresh();\r\n return this.callBase.apply(this, arguments)\r\n },\r\n repaintRows: function() {\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: function(items) {\r\n var _a;\r\n var editRowKey = this.option(_const.EDITING_EDITROWKEY_OPTION_NAME);\r\n var editRowIndex = _m_utils.default.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: function(change) {\r\n this.callBase(change);\r\n this._updateEditRow(this.items(true))\r\n },\r\n _applyChangeUpdate: function(change) {\r\n this._updateEditRow(change.items);\r\n this.callBase(change)\r\n },\r\n _applyChangesOnly: function(change) {\r\n this._updateEditRow(change.items);\r\n this.callBase(change)\r\n },\r\n _processItems: function(items, change) {\r\n items = this._editingController.processItems(items, change);\r\n return this.callBase(items, change)\r\n },\r\n _processDataItem: function(dataItem, options) {\r\n this._editingController.processDataItem(dataItem, options, this.generateDataValues);\r\n return this.callBase(dataItem, options)\r\n },\r\n _processItem: function(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: function(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: function(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: function(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: function(args) {\r\n var _this32 = this;\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((function(item) {\r\n return _this32.keyOf(item)\r\n }));\r\n var newChanges = changes.filter((function(change) {\r\n return \"insert\" === change.type || dataSourceKeys.some((function(key) {\r\n return (0, _common.equalByValue)(change.key, key)\r\n }))\r\n }));\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((function(change) {\r\n return \"insert\" === change.type && (0, _common.equalByValue)(editRowKey, change.key)\r\n }));\r\n if (!isEditNewItem && dataSourceKeys.every((function(key) {\r\n return !(0, _common.equalByValue)(editRowKey, key)\r\n }))) {\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: function() {\r\n this.callBase();\r\n this._editingController = this.getController(\"editing\")\r\n },\r\n getCellIndex: function($cell, rowIndex) {\r\n if (!$cell.is(\"td\") && rowIndex >= 0) {\r\n var $cellElements = this.getCellElements(rowIndex);\r\n var cellIndex = -1;\r\n (0, _iterator.each)($cellElements, (function(index, cellElement) {\r\n if ((0, _renderer.default)(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: function() {\r\n return this.callBase().concat([\"cellValue\"])\r\n },\r\n _getCellTemplate: function(options) {\r\n var template = this._editingController.getColumnTemplate(options);\r\n return template || this.callBase(options)\r\n },\r\n _createRow: function(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(_const.ROW_INSERTED);\r\n isRowModified && $row.addClass(_const.ROW_MODIFIED);\r\n if (isRowInserted || isRowRemoved) {\r\n $row.removeClass(_const.ROW_SELECTED)\r\n }\r\n }\r\n return $row\r\n },\r\n _getColumnIndexByElement: function($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: function($element) {\r\n var $targetElement = $element.closest(\".\".concat(_const.ROW_CLASS, \"> td:not(.dx-master-detail-cell)\"));\r\n return this.getCellIndex($targetElement)\r\n },\r\n _editCellByClick: function(e, eventName) {\r\n var editingController = this._editingController;\r\n var $targetElement = (0, _renderer.default)(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.default.real().ios || _devices.default.real().android) {\r\n (0, _dom.resetActiveElement)()\r\n }\r\n return isShowEditorAlways && allowEditing && editingController.editCell(e.rowIndex, columnIndex)\r\n }\r\n if (\"click\" === eventName && \"dblClick\" === startEditAction) {\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: function(e) {\r\n var _this33 = this;\r\n this._pointerDownTimeout = setTimeout((function() {\r\n _this33._editCellByClick(e, \"down\")\r\n }))\r\n },\r\n _rowClick: function(e) {\r\n var isEditForm = (0, _renderer.default)(e.rowElement).hasClass(this.addWidgetPrefix(_const.EDIT_FORM_CLASS));\r\n e.event[_const.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: function(e) {\r\n if (!this._editCellByClick(e, \"dblClick\")) {\r\n this.callBase.apply(this, arguments)\r\n }\r\n },\r\n _cellPrepared: function($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 = (0, _m_editing_utils.isEditingCell)(isEditRow, parameters);\r\n if ((0, _m_editing_utils.isEditingOrShowEditorAlwaysDataCell)(isEditRow, parameters)) {\r\n var alignment = parameters.column.alignment;\r\n $cell.toggleClass(this.addWidgetPrefix(_const.READONLY_CLASS), !isEditableCell).toggleClass(_const.CELL_FOCUS_DISABLED_CLASS, !isEditableCell);\r\n if (alignment) {\r\n $cell.find(_const.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: _common.noop,\r\n _formItemPrepared: _common.noop,\r\n _getCellOptions: function(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: function(options) {\r\n var $cell = this.callBase(options);\r\n var isEditRow = this._editingController.isEditRow(options.rowIndex);\r\n (0, _m_editing_utils.isEditingOrShowEditorAlwaysDataCell)(isEditRow, options) && $cell.addClass(_const.EDITOR_CELL_CLASS);\r\n return $cell\r\n },\r\n cellValue: function(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: function() {\r\n this.callBase.apply(this, arguments);\r\n clearTimeout(this._pointerDownTimeout)\r\n },\r\n _renderCore: function() {\r\n var _this34 = this;\r\n this.callBase.apply(this, arguments);\r\n return this.waitAsyncTemplates(true).done((function() {\r\n _this34._editingController._focusEditorIfNeed()\r\n }))\r\n }\r\n },\r\n headerPanel: {\r\n _getToolbarItems: function() {\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: function(args) {\r\n var fullName = args.fullName;\r\n switch (args.name) {\r\n case \"editing\":\r\n var excludedOptions = [_const.EDITING_POPUP_OPTION_NAME, _const.EDITING_CHANGES_OPTION_NAME, _const.EDITING_EDITCOLUMNNAME_OPTION_NAME, _const.EDITING_EDITROWKEY_OPTION_NAME];\r\n var shouldInvalidate = fullName && !excludedOptions.some((function(optionName) {\r\n return optionName === fullName\r\n }));\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: function() {\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\nexports.editingModule = editingModule;\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/grid_core/editing/m_editing_cell_based.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.editingCellBasedModule = void 0;\r\nvar _dom_adapter = _interopRequireDefault(require(\"../../../../core/dom_adapter\"));\r\nvar _renderer = _interopRequireDefault(require(\"../../../../core/renderer\"));\r\nvar _common = require(\"../../../../core/utils/common\");\r\nvar _deferred = require(\"../../../../core/utils/deferred\");\r\nvar _dom = require(\"../../../../core/utils/dom\");\r\nvar _type = require(\"../../../../core/utils/type\");\r\nvar _array_utils = require(\"../../../../data/array_utils\");\r\nvar _click = require(\"../../../../events/click\");\r\nvar _events_engine = _interopRequireDefault(require(\"../../../../events/core/events_engine\"));\r\nvar _hold = _interopRequireDefault(require(\"../../../../events/hold\"));\r\nvar _pointer = _interopRequireDefault(require(\"../../../../events/pointer\"));\r\nvar _index = require(\"../../../../events/utils/index\");\r\nvar _const = require(\"./const\");\r\nvar _m_editing_utils = require(\"./m_editing_utils\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar editingControllerExtender = function(Base) {\r\n return function(_Base) {\r\n _inheritsLoose(CellBasedEditingControllerExtender, _Base);\r\n\r\n function CellBasedEditingControllerExtender() {\r\n return _Base.apply(this, arguments) || this\r\n }\r\n var _proto = CellBasedEditingControllerExtender.prototype;\r\n _proto.init = function() {\r\n var _this = this;\r\n var needCreateHandlers = !this._saveEditorHandler;\r\n _Base.prototype.init.call(this);\r\n if (needCreateHandlers) {\r\n var $pointerDownTarget;\r\n var isResizing;\r\n this._pointerUpEditorHandler = function() {\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 = function(e) {\r\n return $pointerDownTarget = (0, _renderer.default)(e.target)\r\n };\r\n this._saveEditorHandler = this.createAction((function(e) {\r\n var event = e.event;\r\n var $target = (0, _renderer.default)(event.target);\r\n var targetComponent = event[_const.TARGET_COMPONENT_NAME];\r\n var component = this.component;\r\n if ((0, _m_editing_utils.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(_const.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(_const.ADD_ROW_BUTTON_CLASS))).length;\r\n var isFocusOverlay = $target.hasClass(this.addWidgetPrefix(_const.FOCUS_OVERLAY_CLASS));\r\n var isCellEditMode = this.isCellEditMode();\r\n if (!isResizing && !isEditorPopup && !isFocusOverlay && !(isAddRowButton && isCellEditMode && this.isEditing()) && ((0, _dom.isElementInDom)($target) || isAnotherComponent)) {\r\n this._closeEditItem.bind(this)($target)\r\n }\r\n }\r\n }));\r\n _events_engine.default.on(_dom_adapter.default.getDocument(), _pointer.default.up, this._pointerUpEditorHandler);\r\n _events_engine.default.on(_dom_adapter.default.getDocument(), _pointer.default.down, this._pointerDownEditorHandler);\r\n _events_engine.default.on(_dom_adapter.default.getDocument(), _click.name, this._saveEditorHandler)\r\n }\r\n };\r\n _proto.isCellEditMode = function() {\r\n return this.option(\"editing.mode\") === _const.EDIT_MODE_CELL\r\n };\r\n _proto.isBatchEditMode = function() {\r\n return this.option(\"editing.mode\") === _const.EDIT_MODE_BATCH\r\n };\r\n _proto.isCellOrBatchEditMode = function() {\r\n return this.isCellEditMode() || this.isBatchEditMode()\r\n };\r\n _proto._needToCloseEditableCell = function($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(_const.DATA_ROW_CLASS)).length;\r\n if (isDataRow) {\r\n var rowsView = this.getView(\"rowsView\");\r\n var $targetCell = $targetElement.closest(\".\".concat(_const.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 || _Base.prototype._needToCloseEditableCell.call(this, $targetElement)\r\n };\r\n _proto._closeEditItem = function($targetElement) {\r\n if (this._needToCloseEditableCell($targetElement)) {\r\n this.closeEditCell()\r\n }\r\n };\r\n _proto._focusEditorIfNeed = function() {\r\n var _this2 = this;\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((function() {\r\n _this2._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 _Base.prototype._focusEditorIfNeed.call(this)\r\n }\r\n };\r\n _proto.isEditing = function() {\r\n if (this.isCellOrBatchEditMode()) {\r\n var isEditRowKeyDefined = (0, _type.isDefined)(this.option(_const.EDITING_EDITROWKEY_OPTION_NAME));\r\n var isEditColumnNameDefined = (0, _type.isDefined)(this.option(_const.EDITING_EDITCOLUMNNAME_OPTION_NAME));\r\n return isEditRowKeyDefined && isEditColumnNameDefined\r\n }\r\n return _Base.prototype.isEditing.call(this)\r\n };\r\n _proto._handleEditColumnNameChange = function(args) {\r\n var oldRowIndex = this._getVisibleEditRowIndex(args.previousValue);\r\n if (this.isCellOrBatchEditMode() && -1 !== oldRowIndex && (0, _type.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 _proto._addRow = function(parentKey) {\r\n var _this3 = this;\r\n if (this.isCellEditMode() && this.hasChanges()) {\r\n var deferred = new _deferred.Deferred;\r\n this.saveEditData().done((function() {\r\n if (!_this3.hasChanges()) {\r\n _this3.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 _Base.prototype._addRow.call(this, parentKey)\r\n };\r\n _proto.editCell = function(rowIndex, columnIndex) {\r\n return this._editCell({\r\n rowIndex: rowIndex,\r\n columnIndex: columnIndex\r\n })\r\n };\r\n _proto._editCell = function(options) {\r\n var _this4 = this;\r\n var d = new _deferred.Deferred;\r\n var coreResult;\r\n this.executeOperation(d, (function() {\r\n coreResult = _this4._editCellCore(options);\r\n (0, _deferred.when)(coreResult).done(d.resolve).fail(d.reject)\r\n }));\r\n return void 0 !== coreResult ? coreResult : d.promise()\r\n };\r\n _proto._editCellCore = function(options) {\r\n var _this5 = this;\r\n var dataController = this._dataController;\r\n var isEditByOptionChanged = (0, _type.isDefined)(options.oldColumnIndex) || (0, _type.isDefined)(options.oldRowIndex);\r\n var _this$_getNormalizedE = this._getNormalizedEditCellOptions(options),\r\n columnIndex = _this$_getNormalizedE.columnIndex,\r\n rowIndex = _this$_getNormalizedE.rowIndex,\r\n column = _this$_getNormalizedE.column,\r\n item = _this$_getNormalizedE.item;\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 (0, _deferred.when)(this._beforeEditCell(rowIndex, columnIndex, item)).done((function(cancel) {\r\n if (cancel) {\r\n return\r\n }\r\n if (!_this5._prepareEditCell(params, item, columnIndex, editRowIndex)) {\r\n _this5._processCanceledEditingCell()\r\n }\r\n }))\r\n }\r\n return false\r\n };\r\n _proto._beforeEditCell = function(rowIndex, columnIndex, item) {\r\n var _this6 = this;\r\n if (this.isCellEditMode() && !item.isNewRow && this.hasChanges()) {\r\n var d = new _deferred.Deferred;\r\n this.saveEditData().always((function() {\r\n d.resolve(_this6.hasChanges())\r\n }));\r\n return d\r\n }\r\n };\r\n _proto.publicMethods = function() {\r\n var publicMethods = _Base.prototype.publicMethods.call(this);\r\n return publicMethods.concat([\"editCell\", \"closeEditCell\"])\r\n };\r\n _proto._getNormalizedEditCellOptions = function(_ref) {\r\n var oldColumnIndex = _ref.oldColumnIndex,\r\n oldRowIndex = _ref.oldRowIndex,\r\n columnIndex = _ref.columnIndex,\r\n rowIndex = _ref.rowIndex;\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 ((0, _type.isDefined)(oldColumnIndex)) {\r\n oldColumn = visibleColumns[oldColumnIndex]\r\n } else {\r\n oldColumn = this._getEditColumn()\r\n }\r\n if (!(0, _type.isDefined)(oldRowIndex)) {\r\n oldRowIndex = this._getVisibleEditRowIndex()\r\n }\r\n if ((0, _type.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 _proto._prepareEditCell = function(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 _proto.closeEditCell = function(isError, withoutSaveEditData) {\r\n var _this7 = this;\r\n var result = (0, _deferred.when)();\r\n var oldEditRowIndex = this._getVisibleEditRowIndex();\r\n if (this.isCellOrBatchEditMode()) {\r\n var deferred = new _deferred.Deferred;\r\n result = new _deferred.Deferred;\r\n this.executeOperation(deferred, (function() {\r\n _this7._closeEditCellCore(isError, oldEditRowIndex, withoutSaveEditData).always(result.resolve)\r\n }))\r\n }\r\n return result.promise()\r\n };\r\n _proto._closeEditCellCore = function(isError, oldEditRowIndex, withoutSaveEditData) {\r\n var _this8 = this;\r\n var dataController = this._dataController;\r\n var deferred = new _deferred.Deferred;\r\n var promise = deferred.promise();\r\n if (this.isCellEditMode() && this.hasChanges()) {\r\n if (!withoutSaveEditData) {\r\n this.saveEditData().done((function(error) {\r\n if (!_this8.hasChanges()) {\r\n _this8.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 _proto._resetModifiedClassCells = function(changes) {\r\n var _this9 = this;\r\n if (this.isBatchEditMode()) {\r\n var columnsCount = this._columnsController.getVisibleColumns().length;\r\n changes.forEach((function(_ref2) {\r\n var key = _ref2.key;\r\n var rowIndex = _this9._dataController.getRowIndexByKey(key);\r\n for (var columnIndex = 0; columnIndex < columnsCount; columnIndex++) {\r\n var cellElement = _this9._rowsView._getCellElement(rowIndex, columnIndex);\r\n null === cellElement || void 0 === cellElement ? void 0 : cellElement.removeClass(_const.CELL_MODIFIED_CLASS)\r\n }\r\n }))\r\n }\r\n };\r\n _proto._prepareChange = function(options, value, text) {\r\n var $cellElement = (0, _renderer.default)(options.cellElement);\r\n if (this.isBatchEditMode() && void 0 !== options.key) {\r\n this._applyModified($cellElement, options)\r\n }\r\n return _Base.prototype._prepareChange.call(this, options, value, text)\r\n };\r\n _proto._cancelSaving = function(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 _Base.prototype._cancelSaving.call(this, result)\r\n };\r\n _proto.optionChanged = function(args) {\r\n var fullName = args.fullName;\r\n if (\"editing\" === args.name && fullName === _const.EDITING_EDITCOLUMNNAME_OPTION_NAME) {\r\n this._handleEditColumnNameChange(args);\r\n args.handled = true\r\n } else {\r\n _Base.prototype.optionChanged.call(this, args)\r\n }\r\n };\r\n _proto._editCellFromOptionChanged = function(columnIndex, oldColumnIndex, oldRowIndex) {\r\n var _this10 = this;\r\n var columns = this._columnsController.getVisibleColumns();\r\n if (columnIndex > -1) {\r\n (0, _common.deferRender)((function() {\r\n _this10._repaintEditCell(columns[columnIndex], columns[oldColumnIndex], oldRowIndex)\r\n }))\r\n }\r\n };\r\n _proto._handleEditRowKeyChange = function(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 ((0, _type.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 _Base.prototype._handleEditRowKeyChange.call(this, args)\r\n }\r\n };\r\n _proto.deleteRow = function(rowIndex) {\r\n var _this11 = this;\r\n if (this.isCellEditMode() && this.isEditing()) {\r\n var isNewRow = this._dataController.items()[rowIndex].isNewRow;\r\n var rowKey = this._dataController.getKeyByRowIndex(rowIndex);\r\n this.closeEditCell(null, isNewRow).always((function() {\r\n rowIndex = _this11._dataController.getRowIndexByKey(rowKey);\r\n _this11._checkAndDeleteRow(rowIndex)\r\n }))\r\n } else {\r\n _Base.prototype.deleteRow.call(this, rowIndex)\r\n }\r\n };\r\n _proto._checkAndDeleteRow = function(rowIndex) {\r\n if (this.isBatchEditMode()) {\r\n this._deleteRowCore(rowIndex)\r\n } else {\r\n _Base.prototype._checkAndDeleteRow.call(this, rowIndex)\r\n }\r\n };\r\n _proto._refreshCore = function(params) {\r\n var _ref3 = null !== params && void 0 !== params ? params : {},\r\n isPageChanged = _ref3.isPageChanged;\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 _Base.prototype._refreshCore.call(this, params)\r\n }\r\n };\r\n _proto._allowRowAdding = function(params) {\r\n if (this.isBatchEditMode()) {\r\n return true\r\n }\r\n return _Base.prototype._allowRowAdding.call(this, params)\r\n };\r\n _proto._afterDeleteRow = function(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.Deferred).resolve()\r\n }\r\n return _Base.prototype._afterDeleteRow.call(this, rowIndex, oldEditRowIndex)\r\n };\r\n _proto._updateEditRow = function(row, forceUpdateRow, isCustomSetCellValue) {\r\n if (this.isCellOrBatchEditMode()) {\r\n this._updateRowImmediately(row, forceUpdateRow, isCustomSetCellValue)\r\n } else {\r\n _Base.prototype._updateEditRow.call(this, row, forceUpdateRow, isCustomSetCellValue)\r\n }\r\n };\r\n _proto._isDefaultButtonVisible = function(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 _Base.prototype._isDefaultButtonVisible.call(this, 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 _Base.prototype._isDefaultButtonVisible.call(this, button, options)\r\n }\r\n }\r\n return _Base.prototype._isDefaultButtonVisible.call(this, button, options)\r\n };\r\n _proto._isRowDeleteAllowed = function() {\r\n var callBaseResult = _Base.prototype._isRowDeleteAllowed.call(this);\r\n return callBaseResult || this.isBatchEditMode()\r\n };\r\n _proto._beforeEndSaving = function(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 _Base.prototype._beforeEndSaving.call(this, changes)\r\n }\r\n } else {\r\n if (this.isBatchEditMode()) {\r\n this._resetModifiedClassCells(changes)\r\n }\r\n _Base.prototype._beforeEndSaving.call(this, changes)\r\n }\r\n };\r\n _proto.prepareEditButtons = function(headerPanel) {\r\n var _a;\r\n var editingOptions = null !== (_a = this.option(\"editing\")) && void 0 !== _a ? _a : {};\r\n var buttonItems = _Base.prototype.prepareEditButtons.call(this, 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 _proto._saveEditDataInner = function() {\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.Deferred;\r\n this.addDeferred(deferred)\r\n }\r\n return _Base.prototype._saveEditDataInner.call(this).always(null === deferred || void 0 === deferred ? void 0 : deferred.resolve)\r\n };\r\n _proto._applyChange = function(options, params, forceUpdateRow) {\r\n var isUpdateInCellMode = this.isCellEditMode() && options.row && !options.row.isNewRow;\r\n var showEditorAlways = options.column.showEditorAlways;\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 _Base.prototype._applyChange.call(this, options, params, forceUpdateRow)\r\n };\r\n _proto._applyChangeCore = function(options, forceUpdateRow) {\r\n var showEditorAlways = options.column.showEditorAlways;\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 _Base.prototype._applyChangeCore.call(this, options, forceUpdateRow)\r\n }\r\n }\r\n return _Base.prototype._applyChangeCore.call(this, options, forceUpdateRow)\r\n };\r\n _proto._processDataItemCore = function(item, change, key, columns, generateDataValues) {\r\n var data = change.data,\r\n type = change.type;\r\n if (this.isBatchEditMode() && type === _const.DATA_EDIT_DATA_REMOVE_TYPE) {\r\n item.data = (0, _array_utils.createObjectWithChanges)(item.data, data)\r\n }\r\n _Base.prototype._processDataItemCore.call(this, item, change, key, columns, generateDataValues)\r\n };\r\n _proto._processRemoveCore = function(changes, editIndex, processIfBatch) {\r\n if (this.isBatchEditMode() && !processIfBatch) {\r\n return\r\n }\r\n return _Base.prototype._processRemoveCore.call(this, changes, editIndex, processIfBatch)\r\n };\r\n _proto._processRemoveIfError = function(changes, editIndex) {\r\n if (this.isBatchEditMode()) {\r\n return\r\n }\r\n return _Base.prototype._processRemoveIfError.call(this, changes, editIndex)\r\n };\r\n _proto._beforeFocusElementInRow = function(rowIndex) {\r\n _Base.prototype._beforeFocusElementInRow.call(this, 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 return CellBasedEditingControllerExtender\r\n }(Base)\r\n};\r\nvar editingCellBasedModule = {\r\n extenders: {\r\n controllers: {\r\n editing: editingControllerExtender\r\n },\r\n views: {\r\n rowsView: {\r\n _createTable: function() {\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 _events_engine.default.on($table, (0, _index.addNamespace)(_hold.default.name, \"dxDataGridRowsView\"), \"td:not(.\".concat(_const.EDITOR_CELL_CLASS, \")\"), this.createAction((function() {\r\n if (editingController.isEditing()) {\r\n editingController.closeEditCell()\r\n }\r\n })))\r\n }\r\n return $table\r\n },\r\n _createRow: function(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(_const.ROW_REMOVED)\r\n }\r\n }\r\n return $row\r\n }\r\n },\r\n headerPanel: {\r\n isVisible: function() {\r\n var editingOptions = this.getController(\"editing\").option(\"editing\");\r\n return this.callBase() || editingOptions && (editingOptions.allowUpdating || editingOptions.allowDeleting) && editingOptions.mode === _const.EDIT_MODE_BATCH\r\n }\r\n }\r\n }\r\n }\r\n};\r\nexports.editingCellBasedModule = editingCellBasedModule;\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/grid_core/editing/m_editing_form_based.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.editingFormBasedModule = void 0;\r\nvar _devices = _interopRequireDefault(require(\"../../../../core/devices\"));\r\nvar _guid = _interopRequireDefault(require(\"../../../../core/guid\"));\r\nvar _renderer = _interopRequireDefault(require(\"../../../../core/renderer\"));\r\nvar _common = require(\"../../../../core/utils/common\");\r\nvar _deferred = require(\"../../../../core/utils/deferred\");\r\nvar _dom = require(\"../../../../core/utils/dom\");\r\nvar _extend = require(\"../../../../core/utils/extend\");\r\nvar _iterator = require(\"../../../../core/utils/iterator\");\r\nvar _type = require(\"../../../../core/utils/type\");\r\nvar _events_engine = _interopRequireDefault(require(\"../../../../events/core/events_engine\"));\r\nvar _button = _interopRequireDefault(require(\"../../../../ui/button\"));\r\nvar _form = _interopRequireDefault(require(\"../../../../ui/form\"));\r\nvar _ui = _interopRequireDefault(require(\"../../../../ui/popup/ui.popup\"));\r\nvar _ui2 = _interopRequireDefault(require(\"../../../../ui/scroll_view/ui.scrollable\"));\r\nvar _const = require(\"./const\");\r\nvar _m_editing_utils = require(\"./m_editing_utils\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar editingControllerExtender = function(Base) {\r\n return function(_Base) {\r\n _inheritsLoose(FormBasedEditingControllerExtender, _Base);\r\n\r\n function FormBasedEditingControllerExtender() {\r\n return _Base.apply(this, arguments) || this\r\n }\r\n var _proto = FormBasedEditingControllerExtender.prototype;\r\n _proto.init = function() {\r\n this._editForm = null;\r\n this._updateEditFormDeferred = null;\r\n _Base.prototype.init.call(this)\r\n };\r\n _proto.isFormOrPopupEditMode = function() {\r\n return this.isPopupEditMode() || this.isFormEditMode()\r\n };\r\n _proto.isPopupEditMode = function() {\r\n var editMode = this.option(\"editing.mode\");\r\n return editMode === _const.EDIT_MODE_POPUP\r\n };\r\n _proto.isFormEditMode = function() {\r\n var editMode = this.option(\"editing.mode\");\r\n return editMode === _const.EDIT_MODE_FORM\r\n };\r\n _proto.getFirstEditableColumnIndex = function() {\r\n var firstFormItem = this._firstFormItem;\r\n if (this.isFormEditMode() && firstFormItem) {\r\n var editRowKey = this.option(_const.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 _Base.prototype.getFirstEditableColumnIndex.call(this)\r\n };\r\n _proto.getEditFormRowIndex = function() {\r\n return this.isFormOrPopupEditMode() ? this._getVisibleEditRowIndex() : _Base.prototype.getEditFormRowIndex.call(this)\r\n };\r\n _proto._isEditColumnVisible = function() {\r\n var result = _Base.prototype._isEditColumnVisible.call(this);\r\n var editingOptions = this.option(\"editing\");\r\n return this.isFormOrPopupEditMode() ? editingOptions.allowUpdating || result : result\r\n };\r\n _proto._handleDataChanged = function(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((function(item) {\r\n return (0, _common.equalByValue)(item.key, editRowKey)\r\n }));\r\n var onlyInsertChanges = (null === (_b = args.changeTypes) || void 0 === _b ? void 0 : _b.length) && args.changeTypes.every((function(item) {\r\n return \"insert\" === item\r\n }));\r\n if ((\"refresh\" === args.changeType || hasEditRow && args.isOptionChanged) && !onlyInsertChanges) {\r\n this._repaintEditPopup()\r\n }\r\n }\r\n _Base.prototype._handleDataChanged.call(this, args)\r\n };\r\n _proto.getPopupContent = function() {\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 _proto._showAddedRow = function(rowIndex) {\r\n if (this.isPopupEditMode()) {\r\n this._showEditPopup(rowIndex)\r\n } else {\r\n _Base.prototype._showAddedRow.call(this, rowIndex)\r\n }\r\n };\r\n _proto._cancelEditDataCore = function() {\r\n _Base.prototype._cancelEditDataCore.call(this);\r\n if (this.isPopupEditMode()) {\r\n this._hideEditPopup()\r\n }\r\n };\r\n _proto._updateEditRowCore = function(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.Deferred).done((function() {\r\n return editForm.repaint()\r\n }));\r\n if (!this._updateLockCount) {\r\n this._updateEditFormDeferred.resolve()\r\n }\r\n }\r\n } else {\r\n _Base.prototype._updateEditRowCore.call(this, row, skipCurrentRow, isCustomSetCellValue)\r\n }\r\n };\r\n _proto._showEditPopup = function(rowIndex, repaintForm) {\r\n var _this = this;\r\n var isMobileDevice = \"desktop\" !== _devices.default.current().deviceType;\r\n var editPopupClass = this.addWidgetPrefix(_const.EDIT_POPUP_CLASS);\r\n var popupOptions = (0, _extend.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(_const.EDITING_POPUP_OPTION_NAME));\r\n if (!this._editPopup) {\r\n var $popupContainer = (0, _renderer.default)(\"
    \").appendTo(this.component.$element()).addClass(editPopupClass);\r\n this._editPopup = this._createComponent($popupContainer, _ui.default);\r\n this._editPopup.on(\"hiding\", this._getEditPopupHiddenHandler());\r\n this._editPopup.on(\"shown\", (function(e) {\r\n var _a;\r\n _events_engine.default.trigger(e.component.$content().find(_const.FOCUSABLE_ELEMENT_SELECTOR).not(\".\".concat(_const.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 _Base.prototype._showEditPopup.call(this, rowIndex, repaintForm)\r\n };\r\n _proto._getPopupEditFormTemplate = function(rowIndex) {\r\n var _this2 = this;\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 function(container) {\r\n var formTemplate = _this2.getEditFormTemplate();\r\n var scrollable = _this2._createComponent((0, _renderer.default)(\"
    \").appendTo(container), _ui2.default);\r\n _this2._$popupContent = (0, _renderer.default)(scrollable.content());\r\n formTemplate(_this2._$popupContent, templateOptions, {\r\n isPopupForm: true\r\n });\r\n _this2._rowsView.renderDelayedTemplates()\r\n }\r\n };\r\n _proto._repaintEditPopup = function() {\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 _proto._hideEditPopup = function() {\r\n var _a;\r\n null === (_a = this._editPopup) || void 0 === _a ? void 0 : _a.option(\"visible\", false)\r\n };\r\n _proto.optionChanged = function(args) {\r\n if (\"editing\" === args.name && this.isFormOrPopupEditMode()) {\r\n var fullName = args.fullName;\r\n if (0 === fullName.indexOf(_const.EDITING_FORM_OPTION_NAME)) {\r\n this._handleFormOptionChange(args);\r\n args.handled = true\r\n } else if (0 === fullName.indexOf(_const.EDITING_POPUP_OPTION_NAME)) {\r\n this._handlePopupOptionChange(args);\r\n args.handled = true\r\n }\r\n }\r\n _Base.prototype.optionChanged.call(this, args)\r\n };\r\n _proto._handleFormOptionChange = function(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(_const.EDITING_FORM_OPTION_NAME)) {\r\n this._repaintEditPopup()\r\n }\r\n };\r\n _proto._handlePopupOptionChange = function(args) {\r\n var editPopup = this._editPopup;\r\n if (editPopup) {\r\n var popupOptionName = args.fullName.slice(_const.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 _proto.renderFormEditorTemplate = function(detailCellOptions, item, formTemplateOptions, container, isReadOnly) {\r\n var _this3 = this;\r\n var that = this;\r\n var $container = (0, _renderer.default)(container);\r\n var column = item.column;\r\n var editorType = (0, _m_editing_utils.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 _ref = formTemplateOptions.editorOptions || {},\r\n label = _ref.label,\r\n labelMark = _ref.labelMark,\r\n labelMode = _ref.labelMode;\r\n var cellOptions = (0, _extend.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: (0, _extend.extend)({}, column, {\r\n editorType: editorType,\r\n editorOptions: (0, _extend.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, !!(0, _dom.isElementInDom)($container)).done((function() {\r\n _this3._rowsView._updateCell($container, cellOptions)\r\n }));\r\n return cellOptions\r\n };\r\n _proto.getFormEditorTemplate = function(cellOptions, item) {\r\n var _this4 = this;\r\n var column = this.component.columnOption(item.dataField);\r\n return function(options, container) {\r\n var _a, _b;\r\n var $container = (0, _renderer.default)(container);\r\n null === (_b = (_a = cellOptions.row).watch) || void 0 === _b ? void 0 : _b.call(_a, (function() {\r\n return column.selector(cellOptions.row.data)\r\n }), (function() {\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 = _this4.renderFormEditorTemplate.bind(_this4)(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 cellOptions = _this4.renderFormEditorTemplate.bind(_this4)(cellOptions, item, options, $container)\r\n }\r\n };\r\n _proto.getEditFormOptions = function(detailOptions) {\r\n var _this5 = this;\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(_const.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 (0, _iterator.each)(columns, (function(_, 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 (0, _m_editing_utils.forEachFormItems)(items, (function(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 (0, _extend.extend)({}, editFormOptions, {\r\n items: items,\r\n formID: \"dx-\".concat(new _guid.default),\r\n customizeItem: function(item) {\r\n var column;\r\n var itemId = item.name || item.dataField;\r\n if (item.column || itemId) {\r\n column = item.column || _this5._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 = _this5.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 || _this5.getFormEditorTemplate(detailOptions, item);\r\n item.column = column;\r\n item.isCustomEditorType = isCustomEditorType[itemId];\r\n if (column.formItem) {\r\n (0, _extend.extend)(item, column.formItem)\r\n }\r\n if (void 0 === item.isRequired && column.validationRules) {\r\n item.isRequired = column.validationRules.some((function(rule) {\r\n return \"required\" === rule.type\r\n }));\r\n item.validationRules = []\r\n }\r\n var itemVisible = (0, _type.isDefined)(item.visible) ? item.visible : true;\r\n if (!_this5._firstFormItem && itemVisible) {\r\n _this5._firstFormItem = item\r\n }\r\n }\r\n null === userCustomizeItem || void 0 === userCustomizeItem ? void 0 : userCustomizeItem.call(_this5, item);\r\n item.cssClass = (0, _type.isString)(item.cssClass) ? \"\".concat(item.cssClass, \" \").concat(editFormItemClass) : editFormItemClass\r\n }\r\n })\r\n };\r\n _proto.getEditFormTemplate = function() {\r\n var _this6 = this;\r\n return function($container, detailOptions, options) {\r\n var editFormOptions = _this6.option(_const.EDITING_FORM_OPTION_NAME);\r\n var baseEditFormOptions = _this6.getEditFormOptions(detailOptions);\r\n var $formContainer = (0, _renderer.default)(\"
    \").appendTo($container);\r\n var isPopupForm = null === options || void 0 === options ? void 0 : options.isPopupForm;\r\n _this6._firstFormItem = void 0;\r\n if (isPopupForm) {\r\n $formContainer.addClass(_this6.addWidgetPrefix(_const.EDIT_POPUP_FORM_CLASS))\r\n }\r\n _this6._editForm = _this6._createComponent($formContainer, _form.default, (0, _extend.extend)({}, editFormOptions, baseEditFormOptions));\r\n if (!isPopupForm) {\r\n var $buttonsContainer = (0, _renderer.default)(\"
    \").addClass(_this6.addWidgetPrefix(_const.FORM_BUTTONS_CONTAINER_CLASS)).appendTo($container);\r\n _this6._createComponent((0, _renderer.default)(\"
    \").appendTo($buttonsContainer), _button.default, _this6._getSaveButtonConfig());\r\n _this6._createComponent((0, _renderer.default)(\"
    \").appendTo($buttonsContainer), _button.default, _this6._getCancelButtonConfig())\r\n }\r\n _this6._editForm.on(\"contentReady\", (function() {\r\n var _a;\r\n _this6._rowsView.renderDelayedTemplates();\r\n null === (_a = _this6._editPopup) || void 0 === _a ? void 0 : _a.repaint()\r\n }))\r\n }\r\n };\r\n _proto.getEditForm = function() {\r\n return this._editForm\r\n };\r\n _proto._endUpdateCore = function() {\r\n var _a;\r\n null === (_a = this._updateEditFormDeferred) || void 0 === _a ? void 0 : _a.resolve()\r\n };\r\n _proto._beforeEndSaving = function(changes) {\r\n var _a;\r\n _Base.prototype._beforeEndSaving.call(this, 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 _proto._processDataItemCore = function(item, change, key, columns, generateDataValues) {\r\n var type = change.type;\r\n if (this.isPopupEditMode() && type === _const.DATA_EDIT_DATA_INSERT_TYPE) {\r\n item.visible = false\r\n }\r\n _Base.prototype._processDataItemCore.call(this, item, change, key, columns, generateDataValues)\r\n };\r\n _proto._editRowFromOptionChangedCore = function(rowIndices, rowIndex) {\r\n var isPopupEditMode = this.isPopupEditMode();\r\n _Base.prototype._editRowFromOptionChangedCore.call(this, rowIndices, rowIndex, isPopupEditMode);\r\n if (isPopupEditMode) {\r\n this._showEditPopup(rowIndex)\r\n }\r\n };\r\n return FormBasedEditingControllerExtender\r\n }(Base)\r\n};\r\nvar editingFormBasedModule = {\r\n extenders: {\r\n controllers: {\r\n editing: editingControllerExtender,\r\n data: {\r\n _updateEditItem: function(item) {\r\n if (this._editingController.isFormEditMode()) {\r\n item.rowType = \"detail\"\r\n }\r\n },\r\n _getChangedColumnIndices: function(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: function($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: function(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(_const.EDIT_FORM_ITEM_CLASS), \", .\").concat(_const.BUTTON_CLASS))\r\n }\r\n return $cellElements\r\n },\r\n _getVisibleColumnIndex: function($cells, rowIndex, columnIdentifier) {\r\n var editFormRowIndex = this._editingController.getEditFormRowIndex();\r\n if (editFormRowIndex === rowIndex && (0, _type.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: function($cells, column) {\r\n var visibleIndex = -1;\r\n (0, _iterator.each)($cells, (function(index, cellElement) {\r\n var item = (0, _renderer.default)(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: function(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: function($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 }\r\n }\r\n }\r\n};\r\nexports.editingFormBasedModule = editingFormBasedModule;\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/grid_core/editing/m_editing_row_based.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.editingRowBasedModule = void 0;\r\nvar _common = require(\"../../../../core/utils/common\");\r\nvar _const = require(\"./const\");\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar editingControllerExtender = function(Base) {\r\n return function(_Base) {\r\n _inheritsLoose(RowBasedEditingControllerExtender, _Base);\r\n\r\n function RowBasedEditingControllerExtender() {\r\n return _Base.apply(this, arguments) || this\r\n }\r\n var _proto = RowBasedEditingControllerExtender.prototype;\r\n _proto.isRowEditMode = function() {\r\n return this.getEditMode() === _const.EDIT_MODE_ROW\r\n };\r\n _proto._afterCancelEditData = function(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 _Base.prototype._afterCancelEditData.call(this, rowIndex)\r\n }\r\n };\r\n _proto._isDefaultButtonVisible = function(button, options) {\r\n var isRowMode = this.isRowBasedEditMode();\r\n var isEditRow = options.row && (0, _common.equalByValue)(options.row.key, this.option(_const.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 _Base.prototype._isDefaultButtonVisible.call(this, button, options) && !isEditRow;\r\n case \"save\":\r\n case \"cancel\":\r\n return isEditRow;\r\n default:\r\n return _Base.prototype._isDefaultButtonVisible.call(this, button, options)\r\n }\r\n }\r\n return _Base.prototype._isDefaultButtonVisible.call(this, button, options)\r\n };\r\n _proto.isEditRow = function(rowIndex) {\r\n return this.isRowBasedEditMode() && this.isEditRowByIndex(rowIndex)\r\n };\r\n _proto._cancelSaving = function(result) {\r\n if (this.isRowBasedEditMode()) {\r\n if (!this.hasChanges()) {\r\n this._cancelEditDataCore()\r\n }\r\n }\r\n _Base.prototype._cancelSaving.call(this, result)\r\n };\r\n _proto._refreshCore = function(params) {\r\n var _ref = null !== params && void 0 !== params ? params : {},\r\n allowCancelEditing = _ref.allowCancelEditing;\r\n if (this.isRowBasedEditMode()) {\r\n var hasUpdateChanges = this.getChanges().filter((function(it) {\r\n return \"update\" === it.type\r\n })).length > 0;\r\n this.init();\r\n allowCancelEditing && hasUpdateChanges && this._cancelEditDataCore()\r\n }\r\n _Base.prototype._refreshCore.call(this, params)\r\n };\r\n _proto._isEditColumnVisible = function() {\r\n var result = _Base.prototype._isEditColumnVisible.call(this);\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 _proto._focusEditorIfNeed = function() {\r\n var _this = this;\r\n var editMode = this.getEditMode();\r\n if (this._needFocusEditor) {\r\n if (_const.MODES_WITH_DELAYED_FOCUS.includes(editMode)) {\r\n var $editingCell = this.getFocusedCellInRow(this._getVisibleEditRowIndex());\r\n this._delayedInputFocus($editingCell, (function() {\r\n $editingCell && _this.component.focus($editingCell)\r\n }))\r\n }\r\n this._needFocusEditor = false\r\n }\r\n };\r\n return RowBasedEditingControllerExtender\r\n }(Base)\r\n};\r\nvar editingRowBasedModule = {\r\n extenders: {\r\n controllers: {\r\n editing: editingControllerExtender,\r\n data: {\r\n _getChangedColumnIndices: function(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: function(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(_const.EDIT_ROW);\r\n $row.removeClass(_const.ROW_SELECTED_CLASS);\r\n if (\"detail\" === row.rowType) {\r\n $row.addClass(this.addWidgetPrefix(_const.EDIT_FORM_CLASS))\r\n }\r\n }\r\n }\r\n return $row\r\n },\r\n _update: function(change) {\r\n this.callBase(change);\r\n if (\"updateSelection\" === change.changeType) {\r\n this.getTableElements().children(\"tbody\").children(\".\".concat(_const.EDIT_ROW)).removeClass(_const.ROW_SELECTED_CLASS)\r\n }\r\n }\r\n }\r\n }\r\n }\r\n};\r\nexports.editingRowBasedModule = editingRowBasedModule;\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/grid_core/editing/m_editing_utils.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.getButtonIndex = exports.forEachFormItems = exports.createFailureHandler = void 0;\r\nexports.getButtonName = getButtonName;\r\nexports.getEditorType = exports.getEditingTexts = void 0;\r\nexports.isEditable = isEditable;\r\nexports.isEditingOrShowEditorAlwaysDataCell = exports.isEditingCell = void 0;\r\nvar _type = require(\"../../../../core/utils/type\");\r\nvar 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\nexports.createFailureHandler = createFailureHandler;\r\nvar isEditingCell = function(isEditRow, cellOptions) {\r\n return cellOptions.isEditing || isEditRow && cellOptions.column.allowEditing\r\n};\r\nexports.isEditingCell = isEditingCell;\r\nvar 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\nexports.isEditingOrShowEditorAlwaysDataCell = isEditingOrShowEditorAlwaysDataCell;\r\nvar getEditingTexts = function(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\nexports.getEditingTexts = getEditingTexts;\r\nvar getButtonIndex = function(buttons, name) {\r\n var result = -1;\r\n buttons.some((function(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\nexports.getButtonIndex = getButtonIndex;\r\n\r\nfunction getButtonName(button) {\r\n return (0, _type.isObject)(button) ? button.name : button\r\n}\r\n\r\nfunction isEditable($element) {\r\n return $element && ($element.is(\"input\") || $element.is(\"textarea\"))\r\n}\r\nvar getEditorType = function(item) {\r\n var _a;\r\n var column = item.column;\r\n return item.isCustomEditorType ? item.editorType : null === (_a = column.formItem) || void 0 === _a ? void 0 : _a.editorType\r\n};\r\nexports.getEditorType = getEditorType;\r\nvar forEachFormItems = function forEachFormItems(items, callBack) {\r\n items.forEach((function(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\nexports.forEachFormItems = forEachFormItems;\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/grid_core/editor_factory/m_editor_factory.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.editorFactoryModule = exports.EditorFactory = void 0;\r\nvar _position = _interopRequireDefault(require(\"../../../../animation/position\"));\r\nvar _dom_adapter = _interopRequireDefault(require(\"../../../../core/dom_adapter\"));\r\nvar _renderer = _interopRequireDefault(require(\"../../../../core/renderer\"));\r\nvar _browser = _interopRequireDefault(require(\"../../../../core/utils/browser\"));\r\nvar _extend = require(\"../../../../core/utils/extend\");\r\nvar _position2 = require(\"../../../../core/utils/position\");\r\nvar _size = require(\"../../../../core/utils/size\");\r\nvar _click = require(\"../../../../events/click\");\r\nvar _events_engine = _interopRequireDefault(require(\"../../../../events/core/events_engine\"));\r\nvar _pointer = _interopRequireDefault(require(\"../../../../events/pointer\"));\r\nvar _index = require(\"../../../../events/utils/index\");\r\nvar _ui = _interopRequireDefault(require(\"../../../../ui/shared/ui.editor_factory_mixin\"));\r\nvar _m_modules = _interopRequireDefault(require(\"../m_modules\"));\r\nvar _m_utils = _interopRequireDefault(require(\"../m_utils\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\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 = (0, _index.addNamespace)([_pointer.default.down, \"focusin\", _click.name].join(\" \"), MODULE_NAMESPACE);\r\nvar DX_HIDDEN = \"dx-hidden\";\r\nvar ViewControllerWithMixin = _m_modules.default.ViewController.inherit(_ui.default);\r\nvar EditorFactory = function(_ViewControllerWithMi) {\r\n _inheritsLoose(EditorFactory, _ViewControllerWithMi);\r\n\r\n function EditorFactory() {\r\n return _ViewControllerWithMi.apply(this, arguments) || this\r\n }\r\n var _proto = EditorFactory.prototype;\r\n _proto._getFocusedElement = function($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 _proto._getFocusCellSelector = function() {\r\n return \".dx-row > td\"\r\n };\r\n _proto._updateFocusCore = function() {\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 _proto._needHideBorder = function($element) {\r\n return $element.hasClass(EDITOR_INLINE_BLOCK)\r\n };\r\n _proto._updateFocus = function(e) {\r\n var that = this;\r\n var isFocusOverlay = e && e.event && (0, _renderer.default)(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((function() {\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 _proto._updateFocusOverlaySize = function($element, position) {\r\n $element.hide();\r\n var location = _position.default.calculate($element, (0, _extend.extend)({\r\n collision: \"fit\"\r\n }, position));\r\n if (location.h.oversize > 0) {\r\n (0, _size.setOuterWidth)($element, (0, _size.getOuterWidth)($element) - location.h.oversize)\r\n }\r\n if (location.v.oversize > 0) {\r\n (0, _size.setOuterHeight)($element, (0, _size.getOuterHeight)($element) - location.v.oversize)\r\n }\r\n $element.show()\r\n };\r\n _proto.callbackNames = function() {\r\n return [\"focused\"]\r\n };\r\n _proto.focus = function($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((function() {\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 _proto.refocus = function() {\r\n var $focus = this.focus();\r\n this.focus($focus)\r\n };\r\n _proto.renderFocusOverlay = function($element, isHideBorder) {\r\n if (!_m_utils.default.isElementInCurrentGrid(this, $element)) {\r\n return\r\n }\r\n if (!this._$focusOverlay) {\r\n this._$focusOverlay = (0, _renderer.default)(\"
    \").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.default.mozilla ? \"right bottom\" : \"left top\";\r\n var $content = $element.closest(\".\".concat(this.addWidgetPrefix(CONTENT_CLASS)));\r\n var elemCoord = (0, _position2.getBoundingRect)($element.get(0));\r\n this._$focusOverlay.removeClass(DX_HIDDEN).appendTo($content);\r\n (0, _size.setOuterHeight)(this._$focusOverlay, elemCoord.bottom - elemCoord.top + 1);\r\n (0, _size.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 _position.default.setup(this._$focusOverlay, focusOverlayPosition);\r\n this._$focusOverlay.css(\"visibility\", \"visible\")\r\n }\r\n };\r\n _proto.resize = function() {\r\n var $focusedElement = this._$focusedElement;\r\n if ($focusedElement) {\r\n this.focus($focusedElement)\r\n }\r\n };\r\n _proto.loseFocus = function() {\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 _proto.init = function() {\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 _events_engine.default.on(this._subscribedContainerRoot, UPDATE_FOCUS_EVENTS, this._updateFocusHandler);\r\n this._attachContainerEventHandlers()\r\n };\r\n _proto._getContainerRoot = function() {\r\n var _a;\r\n var $container = null === (_a = this.component) || void 0 === _a ? void 0 : _a.$element();\r\n var root = _dom_adapter.default.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 _dom_adapter.default.getDocument()\r\n }\r\n return root\r\n };\r\n _proto._attachContainerEventHandlers = function() {\r\n var that = this;\r\n var $container = that.component && that.component.$element();\r\n if ($container) {\r\n _events_engine.default.on($container, (0, _index.addNamespace)(\"keydown\", MODULE_NAMESPACE), (function(e) {\r\n if (\"tab\" === (0, _index.normalizeKeyName)(e)) {\r\n that._updateFocusHandler(e)\r\n }\r\n }))\r\n }\r\n };\r\n _proto.dispose = function() {\r\n clearTimeout(this._focusTimeoutID);\r\n clearTimeout(this._updateFocusTimeoutID);\r\n _events_engine.default.off(this._subscribedContainerRoot, UPDATE_FOCUS_EVENTS, this._updateFocusHandler)\r\n };\r\n return EditorFactory\r\n}(ViewControllerWithMixin);\r\nexports.EditorFactory = EditorFactory;\r\nvar editorFactoryModule = {\r\n defaultOptions: function() {\r\n return {}\r\n },\r\n controllers: {\r\n editorFactory: EditorFactory\r\n }\r\n};\r\nexports.editorFactoryModule = editorFactoryModule;\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/grid_core/error_handling/m_error_handling.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.errorHandlingModule = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../../../core/renderer\"));\r\nvar _iterator = require(\"../../../../core/utils/iterator\");\r\nvar _click = require(\"../../../../events/click\");\r\nvar _events_engine = _interopRequireDefault(require(\"../../../../events/core/events_engine\"));\r\nvar _m_modules = _interopRequireDefault(require(\"../m_modules\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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 = _m_modules.default.ViewController.inherit({\r\n init: function() {\r\n this._columnHeadersView = this.getView(\"columnHeadersView\");\r\n this._rowsView = this.getView(\"rowsView\")\r\n },\r\n _createErrorRow: function(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 = (0, _renderer.default)(\"\").addClass(ERROR_ROW_CLASS);\r\n $closeButton = (0, _renderer.default)(\"
    \").addClass(ERROR_CLOSEBUTTON_CLASS).addClass(that.addWidgetPrefix(ACTION_CLASS));\r\n _events_engine.default.on($closeButton, _click.name, that.createAction((function(args) {\r\n var e = args.event;\r\n var $errorRow;\r\n var errorRowIndex = (0, _renderer.default)(e.currentTarget).closest(\".\".concat(ERROR_ROW_CLASS)).index();\r\n e.stopPropagation();\r\n (0, _iterator.each)($tableElements, (function(_, tableElement) {\r\n $errorRow = (0, _renderer.default)(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 (0, _renderer.default)(\"\").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: function(error) {\r\n var message = error.url ? error.message.replace(error.url, \"\") : error.message || error;\r\n var $message = (0, _renderer.default)(\"
    \").addClass(ERROR_MESSAGE_CLASS).text(message);\r\n if (error.url) {\r\n (0, _renderer.default)(\"\").attr(\"href\", error.url).text(error.url).appendTo($message)\r\n }\r\n return $message\r\n },\r\n renderErrorRow: function(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 (0, _iterator.each)($tableElements, (function(_, tableElement) {\r\n $errorMessageElement = that._createErrorRow(error, $tableElements);\r\n $firstErrorRow = $firstErrorRow || $errorMessageElement;\r\n if (rowIndex >= 0) {\r\n var $row = viewElement._getRowElements((0, _renderer.default)(tableElement)).eq(rowIndex);\r\n that.removeErrorRow($row.next());\r\n $errorMessageElement.insertAfter($row)\r\n } else {\r\n var $tbody = (0, _renderer.default)(tableElement).children(\"tbody\");\r\n var rowElements = $tbody.children(\"tr\");\r\n if (that._columnHeadersView.isVisible()) {\r\n that.removeErrorRow(rowElements.last());\r\n (0, _renderer.default)(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: function($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: function(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\nvar errorHandlingModule = {\r\n defaultOptions: function() {\r\n return {\r\n errorRowEnabled: true\r\n }\r\n },\r\n controllers: {\r\n errorHandling: ErrorHandlingController\r\n },\r\n extenders: {\r\n controllers: {\r\n data: {\r\n init: function() {\r\n var that = this;\r\n var errorHandlingController = that.getController(\"errorHandling\");\r\n that.callBase();\r\n that.dataErrorOccurred.add((function(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((function(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\nexports.errorHandlingModule = errorHandlingModule;\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/grid_core/filter/m_filter_builder.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.filterBuilderModule = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../../../core/renderer\"));\r\nvar _extend = require(\"../../../../core/utils/extend\");\r\nvar _message = _interopRequireDefault(require(\"../../../../localization/message\"));\r\nvar _filter_builder = _interopRequireDefault(require(\"../../../../ui/filter_builder\"));\r\nvar _ui = _interopRequireDefault(require(\"../../../../ui/popup/ui.popup\"));\r\nvar _scroll_view = _interopRequireDefault(require(\"../../../../ui/scroll_view\"));\r\nvar _accessibility = require(\"../../../../ui/shared/accessibility\");\r\nvar _m_modules = _interopRequireDefault(require(\"../m_modules\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar FilterBuilderView = _m_modules.default.View.inherit({\r\n _renderCore: function() {\r\n this._updatePopupOptions()\r\n },\r\n _updatePopupOptions: function() {\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: function() {\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: function() {\r\n var that = this;\r\n that._disposePopup();\r\n that._filterBuilderPopup = that._createComponent(that.element(), _ui.default, (0, _extend.extend)({\r\n title: _message.default.format(\"dxDataGrid-filterBuilderPopupTitle\"),\r\n contentTemplate: function($contentElement) {\r\n return that._getPopupContentTemplate($contentElement)\r\n },\r\n onOptionChanged: function(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: function() {\r\n (0, _accessibility.restoreFocus)(that);\r\n that._disposePopup()\r\n }\r\n }))\r\n },\r\n _getPopupContentTemplate: function(contentElement) {\r\n var $contentElement = (0, _renderer.default)(contentElement);\r\n var $filterBuilderContainer = (0, _renderer.default)(\"
    \").appendTo((0, _renderer.default)(contentElement));\r\n this._filterBuilder = this._createComponent($filterBuilderContainer, _filter_builder.default, (0, _extend.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, _scroll_view.default, {\r\n direction: \"both\"\r\n })\r\n },\r\n _getPopupToolbarItems: function() {\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: _message.default.format(\"OK\"),\r\n onClick: function() {\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: _message.default.format(\"Cancel\"),\r\n onClick: function() {\r\n that._filterBuilderPopup.hide()\r\n }\r\n }\r\n }]\r\n },\r\n optionChanged: function(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\nvar filterBuilderModule = {\r\n defaultOptions: function() {\r\n return {\r\n filterBuilder: {\r\n groupOperationDescriptions: {\r\n and: _message.default.format(\"dxFilterBuilder-and\"),\r\n or: _message.default.format(\"dxFilterBuilder-or\"),\r\n notAnd: _message.default.format(\"dxFilterBuilder-notAnd\"),\r\n notOr: _message.default.format(\"dxFilterBuilder-notOr\")\r\n },\r\n filterOperationDescriptions: {\r\n between: _message.default.format(\"dxFilterBuilder-filterOperationBetween\"),\r\n equal: _message.default.format(\"dxFilterBuilder-filterOperationEquals\"),\r\n notEqual: _message.default.format(\"dxFilterBuilder-filterOperationNotEquals\"),\r\n lessThan: _message.default.format(\"dxFilterBuilder-filterOperationLess\"),\r\n lessThanOrEqual: _message.default.format(\"dxFilterBuilder-filterOperationLessOrEquals\"),\r\n greaterThan: _message.default.format(\"dxFilterBuilder-filterOperationGreater\"),\r\n greaterThanOrEqual: _message.default.format(\"dxFilterBuilder-filterOperationGreaterOrEquals\"),\r\n startsWith: _message.default.format(\"dxFilterBuilder-filterOperationStartsWith\"),\r\n contains: _message.default.format(\"dxFilterBuilder-filterOperationContains\"),\r\n notContains: _message.default.format(\"dxFilterBuilder-filterOperationNotContains\"),\r\n endsWith: _message.default.format(\"dxFilterBuilder-filterOperationEndsWith\"),\r\n isBlank: _message.default.format(\"dxFilterBuilder-filterOperationIsBlank\"),\r\n isNotBlank: _message.default.format(\"dxFilterBuilder-filterOperationIsNotBlank\")\r\n }\r\n },\r\n filterBuilderPopup: {}\r\n }\r\n },\r\n views: {\r\n filterBuilderView: FilterBuilderView\r\n }\r\n};\r\nexports.filterBuilderModule = filterBuilderModule;\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/grid_core/filter/m_filter_custom_operations.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.anyOf = anyOf;\r\nexports.noneOf = noneOf;\r\nvar _renderer = _interopRequireDefault(require(\"../../../../core/renderer\"));\r\nvar _deferred = require(\"../../../../core/utils/deferred\");\r\nvar _extend = require(\"../../../../core/utils/extend\");\r\nvar _data_source = require(\"../../../../data/data_source/data_source\");\r\nvar _message = _interopRequireDefault(require(\"../../../../localization/message\"));\r\nvar _utils = require(\"../../../../ui/filter_builder/utils\");\r\nvar _ui = _interopRequireDefault(require(\"../../../../ui/widget/ui.errors\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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((function(value, index) {\r\n if ((0, _utils.isCondition)(value) || (0, _utils.isGroup)(value)) {\r\n var filterExpression = (0, _utils.getFilterExpression)(value, fields, [], \"headerFilter\");\r\n result.push(filterExpression)\r\n } else {\r\n var _filterExpression = (0, _utils.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: function(conditionInfo, container) {\r\n var div = (0, _renderer.default)(\"
    \").addClass(\"dx-filterbuilder-item-value-text\").appendTo(container);\r\n var column = (0, _extend.extend)(true, {}, grid.columnOption(conditionInfo.field.dataField));\r\n (0, _utils.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: function() {\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: function() {\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 value = fieldInfo.value;\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.Deferred;\r\n var itemsDeferred = options.items || new _deferred.Deferred;\r\n if (!options.items) {\r\n column = (0, _extend.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 _data_source.DataSource(dataSourceOptions);\r\n var key = dataSource.store().key();\r\n if (key) {\r\n var _options = options,\r\n _values = _options.values;\r\n if (_values && _values.length > 1) {\r\n var filter = _values.reduce((function(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 _ui.default.log(\"W1017\")\r\n }\r\n options.items = itemsDeferred;\r\n dataSource.load().done(itemsDeferred.resolve)\r\n }\r\n itemsDeferred.done((function(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((function(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\n\r\nfunction anyOf(grid) {\r\n return (0, _extend.extend)(baseOperation(grid), {\r\n name: \"anyof\",\r\n icon: \"selectall\",\r\n caption: _message.default.format(\"dxFilterBuilder-filterOperationAnyOf\")\r\n })\r\n}\r\n\r\nfunction noneOf(grid) {\r\n var baseOp = baseOperation(grid);\r\n return (0, _extend.extend)({}, baseOp, {\r\n calculateFilterExpression: function(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: _message.default.format(\"dxFilterBuilder-filterOperationNoneOf\")\r\n })\r\n}\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/grid_core/filter/m_filter_panel.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.filterPanelModule = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../../../core/renderer\"));\r\nvar _deferred = require(\"../../../../core/utils/deferred\");\r\nvar _inflector = require(\"../../../../core/utils/inflector\");\r\nvar _type = require(\"../../../../core/utils/type\");\r\nvar _events_engine = _interopRequireDefault(require(\"../../../../events/core/events_engine\"));\r\nvar _message = _interopRequireDefault(require(\"../../../../localization/message\"));\r\nvar _check_box = _interopRequireDefault(require(\"../../../../ui/check_box\"));\r\nvar _utils = require(\"../../../../ui/filter_builder/utils\");\r\nvar _m_accessibility = require(\"../m_accessibility\");\r\nvar _m_modules = _interopRequireDefault(require(\"../m_modules\"));\r\nvar _m_utils = _interopRequireDefault(require(\"../m_utils\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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 = _m_modules.default.View.inherit({\r\n isVisible: function() {\r\n return this.option(\"filterPanel.visible\") && this.getController(\"data\").dataSource()\r\n },\r\n init: function() {\r\n var _this = this;\r\n this.getController(\"data\").dataSourceChanged.add((function() {\r\n return _this.render()\r\n }));\r\n this._columnsController = this.getController(\"columns\")\r\n },\r\n _renderCore: function() {\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 = (0, _renderer.default)(\"
    \").addClass(this.addWidgetPrefix(FILTER_PANEL_LEFT_CONTAINER)).appendTo($element);\r\n this._renderFilterBuilderText($element, $leftContainer)\r\n },\r\n _renderFilterBuilderText: function($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: function() {\r\n var that = this;\r\n var $element = (0, _renderer.default)(\"
    \").addClass(this.addWidgetPrefix(FILTER_PANEL_CHECKBOX_CLASS));\r\n that._createComponent($element, _check_box.default, {\r\n value: that.option(\"filterPanel.filterEnabled\"),\r\n onValueChanged: function(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: function() {\r\n var that = this;\r\n var $element = (0, _renderer.default)(\"
    \").addClass(\"dx-icon-filter\");\r\n _events_engine.default.on($element, \"click\", (function() {\r\n return that._showFilterBuilder()\r\n }));\r\n (0, _m_accessibility.registerKeyboardAction)(\"filterPanel\", that, $element, void 0, (function() {\r\n return that._showFilterBuilder()\r\n }));\r\n that._addTabIndexToElement($element);\r\n return $element\r\n },\r\n _getTextElement: function() {\r\n var that = this;\r\n var $textElement = (0, _renderer.default)(\"
    \").addClass(that.addWidgetPrefix(FILTER_PANEL_TEXT_CLASS));\r\n var filterText;\r\n var filterValue = that.option(\"filterValue\");\r\n if (filterValue) {\r\n (0, _deferred.when)(that.getFilterText(filterValue, that.getController(\"filterSync\").getCustomFilterOperations())).done((function(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 _events_engine.default.on($textElement, \"click\", (function() {\r\n return that._showFilterBuilder()\r\n }));\r\n (0, _m_accessibility.registerKeyboardAction)(\"filterPanel\", that, $textElement, void 0, (function() {\r\n return that._showFilterBuilder()\r\n }));\r\n that._addTabIndexToElement($textElement);\r\n return $textElement\r\n },\r\n _showFilterBuilder: function() {\r\n this.option(\"filterBuilderPopup.visible\", true)\r\n },\r\n _getRemoveButtonElement: function() {\r\n var that = this;\r\n var clearFilterValue = function() {\r\n return that.option(\"filterValue\", null)\r\n };\r\n var $element = (0, _renderer.default)(\"
    \").addClass(that.addWidgetPrefix(FILTER_PANEL_CLEAR_FILTER_CLASS)).text(that.option(\"filterPanel.texts.clearFilter\"));\r\n _events_engine.default.on($element, \"click\", clearFilterValue);\r\n (0, _m_accessibility.registerKeyboardAction)(\"filterPanel\", this, $element, void 0, clearFilterValue);\r\n that._addTabIndexToElement($element);\r\n return $element\r\n },\r\n _addTabIndexToElement: function($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: function(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: function(fieldText, operationText, valueText) {\r\n var result = \"[\".concat(fieldText, \"] \").concat(operationText);\r\n if ((0, _type.isDefined)(valueText)) {\r\n result += valueText\r\n }\r\n return result\r\n },\r\n _getValueMaskedText: function(value) {\r\n return Array.isArray(value) ? \"('\".concat(value.join(\"', '\"), \"')\") : \" '\".concat(value, \"'\")\r\n },\r\n _getValueText: function(field, customOperation, value) {\r\n var _this2 = this;\r\n var deferred = new _deferred.Deferred;\r\n var hasCustomOperation = customOperation && customOperation.customizeText;\r\n if ((0, _type.isDefined)(value) || hasCustomOperation) {\r\n if (!hasCustomOperation && field.lookup) {\r\n (0, _utils.getCurrentLookupValueText)(field, value, (function(data) {\r\n deferred.resolve(_this2._getValueMaskedText(data))\r\n }))\r\n } else {\r\n var displayValue = Array.isArray(value) ? value : _m_utils.default.getDisplayValue(field, value, null);\r\n (0, _deferred.when)((0, _utils.getCurrentValueText)(field, displayValue, customOperation, FILTER_PANEL_TARGET)).done((function(data) {\r\n deferred.resolve(_this2._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: function(filterValue, options) {\r\n var that = this;\r\n var operation = filterValue[1];\r\n var deferred = new _deferred.Deferred;\r\n var customOperation = (0, _utils.getCustomOperation)(options.customOperations, operation);\r\n var operationText;\r\n var field = (0, _utils.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 || (0, _inflector.captionize)(customOperation.name)\r\n } else if (null === value) {\r\n operationText = (0, _utils.getCaptionByOperation)(\"=\" === operation ? \"isblank\" : \"isnotblank\", options.filterOperationDescriptions)\r\n } else {\r\n operationText = (0, _utils.getCaptionByOperation)(operation, options.filterOperationDescriptions)\r\n }\r\n this._getValueText(field, customOperation, value).done((function(valueText) {\r\n deferred.resolve(that._getConditionText(fieldText, operationText, valueText))\r\n }));\r\n return deferred\r\n },\r\n getGroupText: function(filterValue, options, isInnerGroup) {\r\n var that = this;\r\n var result = new _deferred.Deferred;\r\n var textParts = [];\r\n var groupValue = (0, _utils.getGroupValue)(filterValue);\r\n filterValue.forEach((function(item) {\r\n if ((0, _utils.isCondition)(item)) {\r\n textParts.push(that.getConditionText(item, options))\r\n } else if ((0, _utils.isGroup)(item)) {\r\n textParts.push(that.getGroupText(item, options, true))\r\n }\r\n }));\r\n _deferred.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: function(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 (0, _utils.isCondition)(filterValue) ? this.getConditionText(filterValue, options) : this.getGroupText(filterValue, options)\r\n }\r\n});\r\nvar filterPanelModule = {\r\n defaultOptions: function() {\r\n return {\r\n filterPanel: {\r\n visible: false,\r\n filterEnabled: true,\r\n texts: {\r\n createFilter: _message.default.format(\"dxDataGrid-filterPanelCreateFilter\"),\r\n clearFilter: _message.default.format(\"dxDataGrid-filterPanelClearFilter\"),\r\n filterEnabledHint: _message.default.format(\"dxDataGrid-filterPanelFilterEnabledHint\")\r\n }\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: function(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\nexports.filterPanelModule = filterPanelModule;\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/grid_core/filter/m_filter_row.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.filterRowModule = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../../../core/renderer\"));\r\nvar _common = require(\"../../../../core/utils/common\");\r\nvar _extend = require(\"../../../../core/utils/extend\");\r\nvar _iterator = require(\"../../../../core/utils/iterator\");\r\nvar _size = require(\"../../../../core/utils/size\");\r\nvar _type = require(\"../../../../core/utils/type\");\r\nvar _events_engine = _interopRequireDefault(require(\"../../../../events/core/events_engine\"));\r\nvar _index = require(\"../../../../events/utils/index\");\r\nvar _message = _interopRequireDefault(require(\"../../../../localization/message\"));\r\nvar _editor = _interopRequireDefault(require(\"../../../../ui/editor/editor\"));\r\nvar _menu = _interopRequireDefault(require(\"../../../../ui/menu\"));\r\nvar _ui = _interopRequireDefault(require(\"../../../../ui/overlay/ui.overlay\"));\r\nvar _accessibility = require(\"../../../../ui/shared/accessibility\");\r\nvar _m_modules = _interopRequireDefault(require(\"../m_modules\"));\r\nvar _m_utils = _interopRequireDefault(require(\"../m_utils\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\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 = _message.default.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.default) {\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 = _m_utils.default.getFormatOptionsByColumn(column, \"filterRow\");\r\n if (Array.isArray(filterValue)) {\r\n result = _m_utils.default.formatValue(filterValue[0], formatOptions);\r\n rangeEnd = _m_utils.default.formatValue(filterValue[1], formatOptions);\r\n if (\"\" !== rangeEnd) {\r\n result += \" - \".concat(rangeEnd)\r\n }\r\n } else if ((0, _type.isDefined)(filterValue)) {\r\n result = _m_utils.default.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 (!(0, _type.isDefined)(filterValue) && !(0, _type.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: function(column, $editorContainer) {\r\n var editor = getEditorInstance($editorContainer);\r\n editor && editor.option(\"value\", getFilterValue(this, column.index, $editorContainer))\r\n },\r\n _columnOptionChanged: function(e) {\r\n var optionNames = e.optionNames;\r\n var $cell;\r\n var $editorContainer;\r\n var $editorRangeElements;\r\n var $menu;\r\n if (_m_utils.default.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) || (0, _renderer.default)();\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: function() {\r\n this._filterRangeOverlayInstance = null;\r\n return this.callBase.apply(this, arguments)\r\n },\r\n _resizeCore: function() {\r\n this.callBase.apply(this, arguments);\r\n this._filterRangeOverlayInstance && this._filterRangeOverlayInstance.repaint()\r\n },\r\n isFilterRowVisible: function() {\r\n return this._isElementVisible(this.option(\"filterRow\"))\r\n },\r\n isVisible: function() {\r\n return this.callBase() || this.isFilterRowVisible()\r\n },\r\n init: function() {\r\n this.callBase();\r\n this._applyFilterViewController = this.getController(\"applyFilter\")\r\n },\r\n _initFilterRangeOverlay: function($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 = (0, _renderer.default)(\"
    \").addClass(filterRangeOverlayClass).appendTo($cell);\r\n return that._createComponent($overlay, _ui.default, {\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: function(contentElement) {\r\n var editorOptions;\r\n var $editor = (0, _renderer.default)(\"
    \").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 _events_engine.default.on($editor.find(EDITORS_INPUT_SELECTOR), \"keydown\", (function(e) {\r\n var $prevElement = $cell.find(\"[tabindex]\").not(e.target).first();\r\n if (\"tab\" === (0, _index.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 _events_engine.default.trigger($prevElement, \"focus\")\r\n }\r\n }));\r\n $editor = (0, _renderer.default)(\"
    \").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 _events_engine.default.on($editor.find(EDITORS_INPUT_SELECTOR), \"keydown\", (function(e) {\r\n if (\"tab\" === (0, _index.normalizeKeyName)(e) && !e.shiftKey) {\r\n e.preventDefault();\r\n that._hideFilterRange();\r\n _events_engine.default.trigger($cell.next().find(\"[tabindex]\").first(), \"focus\")\r\n }\r\n }));\r\n return (0, _renderer.default)(contentElement).addClass(that.getWidgetContainerClass())\r\n },\r\n onShown: function(e) {\r\n var $editor = e.component.$content().find(\".\".concat(EDITOR_CONTAINER_CLASS)).first();\r\n _events_engine.default.trigger($editor.find(EDITORS_INPUT_SELECTOR), \"focus\")\r\n },\r\n onHidden: function() {\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: function(options) {\r\n var overlayInstance = this._filterRangeOverlayInstance;\r\n overlayInstance && overlayInstance.option(options)\r\n },\r\n _showFilterRange: function($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: (0, _size.getOuterWidth)($cell, true) + CORRECT_FILTER_RANGE_OVERLAY_WIDTH\r\n });\r\n this._filterRangeOverlayInstance && this._filterRangeOverlayInstance.show()\r\n }\r\n },\r\n _hideFilterRange: function() {\r\n var overlayInstance = this._filterRangeOverlayInstance;\r\n overlayInstance && overlayInstance.hide()\r\n },\r\n getFilterRangeOverlayInstance: function() {\r\n return this._filterRangeOverlayInstance\r\n },\r\n _createRow: function(row) {\r\n var _this = this;\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 _events_engine.default.on($row, \"keydown\", (function(event) {\r\n return (0, _accessibility.selectView)(\"filterRow\", _this, event)\r\n }))\r\n }\r\n }\r\n return $row\r\n },\r\n _getRows: function() {\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: function(cell, options) {\r\n var column = options.column;\r\n var $cell = (0, _renderer.default)(cell);\r\n if (this.component.option(\"showColumnHeaders\")) {\r\n this.setAria(\"describedby\", column.headerId, $cell)\r\n }\r\n this.setAria(\"label\", _message.default.format(\"dxDataGrid-ariaFilterCell\"), $cell);\r\n $cell.addClass(EDITOR_CELL_CLASS);\r\n var $container = (0, _renderer.default)(\"
    \").appendTo($cell);\r\n var $editorContainer = (0, _renderer.default)(\"
    \").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 alignment = column.alignment;\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: function($cell, options) {\r\n var that = this;\r\n var column = options.column;\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((function() {\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: function($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 = (0, _extend.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: function(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: function(column) {\r\n var columnAriaLabel = _message.default.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: function($editorContainer, options) {\r\n $editorContainer.empty();\r\n var $element = (0, _renderer.default)(\"
    \").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 = _m_utils.default.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: function($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 = (0, _renderer.default)(\"
    \").addClass(FILTER_RANGE_CONTENT_CLASS).attr(\"tabindex\", this.option(\"tabIndex\"));\r\n _events_engine.default.on($filterRangeContent, \"focusin\", (function() {\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: function($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: function($menu, column, $editorContainer) {\r\n var that = this;\r\n var isCellWasFocused;\r\n var restoreFocus = function() {\r\n var menu = _menu.default.getInstance($menu);\r\n menu && menu.option(\"focusedElement\", null);\r\n isCellWasFocused && that._focusEditor($editorContainer)\r\n };\r\n that._createComponent($menu, _menu.default, {\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 elementAttr: {\r\n \"aria-label\": ARIA_SEARCH_BOX\r\n },\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 onItemClick: function(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: function() {\r\n isCellWasFocused = that._isEditorFocused($editorContainer);\r\n that.getController(\"editorFactory\").loseFocus()\r\n },\r\n onSubmenuHiding: function() {\r\n _events_engine.default.trigger($menu, \"blur\");\r\n restoreFocus()\r\n },\r\n onContentReady: function(e) {\r\n _events_engine.default.on($menu, \"blur\", (function() {\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: function($container) {\r\n return $container.hasClass(FOCUSED_CLASS) || $container.parents(\".\".concat(FOCUSED_CLASS)).length\r\n },\r\n _focusEditor: function($container) {\r\n this.getController(\"editorFactory\").focus($container);\r\n _events_engine.default.trigger($container.find(EDITORS_INPUT_SELECTOR), \"focus\")\r\n },\r\n _renderFilterOperationChooser: function($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 = (0, _renderer.default)(\"
    \").prependTo($container);\r\n this._updateFilterOperationChooser($menu, column, $editorContainer)\r\n }\r\n },\r\n _getFilterOperationMenuItems: function(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((function(value) {\r\n return (0, _type.isDefined)(OPERATION_DESCRIPTORS[value])\r\n }));\r\n result = (0, _iterator.map)(availableFilterOperations, (function(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: function(e) {\r\n var _a, _b, _c;\r\n this.callBase.apply(this, arguments);\r\n if ((null === (_a = e.operationTypes) || void 0 === _a ? void 0 : _a.filtering) || (null === (_b = e.operationTypes) || void 0 === _b ? void 0 : _b.fullReload)) {\r\n this.updateLookupDataSource(null === (_c = e.operationTypes) || void 0 === _c ? void 0 : _c.filtering)\r\n }\r\n },\r\n updateLookupDataSource: function(filterChanged) {\r\n var _this2 = this;\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((function(column, index) {\r\n if (!column.lookup || column.calculateCellValue !== column.defaultCalculateCellValue) {\r\n return\r\n }\r\n var $cell = _this2._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 = _this2._dataController.getCombinedFilter() || null;\r\n applyFilterViewController.setCurrentColumnForFiltering(null);\r\n var editorDataSource = editor.option(\"dataSource\");\r\n var shouldUpdateFilter = !filterChanged || !(0, _common.equalByValue)(editorDataSource.__dataGridSourceFilter, filter);\r\n if (shouldUpdateFilter) {\r\n var lookupDataSource = _m_utils.default.getWrappedLookupDataSource(column, dataSource, filter);\r\n editor.option(\"dataSource\", lookupDataSource)\r\n }\r\n }\r\n }))\r\n },\r\n optionChanged: function(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: function() {\r\n return false\r\n },\r\n _calculateAdditionalFilter: function() {\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 (0, _iterator.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 && (0, _type.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 _m_utils.default.combineFilters(filters)\r\n }\r\n};\r\nvar ApplyFilterViewController = _m_modules.default.ViewController.inherit({\r\n _getHeaderPanel: function() {\r\n if (!this._headerPanel) {\r\n this._headerPanel = this.getView(\"headerPanel\")\r\n }\r\n return this._headerPanel\r\n },\r\n setHighLight: function($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: function() {\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: function() {\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: function(column) {\r\n this._currentColumn = column\r\n },\r\n getCurrentColumnForFiltering: function() {\r\n return this._currentColumn\r\n }\r\n});\r\nvar filterRowModule = {\r\n defaultOptions: function() {\r\n return {\r\n syncLookupFilterValues: true,\r\n filterRow: {\r\n visible: false,\r\n showOperationChooser: true,\r\n showAllText: _message.default.format(\"dxDataGrid-filterRowShowAllText\"),\r\n resetOperationText: _message.default.format(\"dxDataGrid-filterRowResetOperationText\"),\r\n applyFilter: \"auto\",\r\n applyFilterText: _message.default.format(\"dxDataGrid-applyFilterText\"),\r\n operationDescriptions: {\r\n equal: _message.default.format(\"dxDataGrid-filterRowOperationEquals\"),\r\n notEqual: _message.default.format(\"dxDataGrid-filterRowOperationNotEquals\"),\r\n lessThan: _message.default.format(\"dxDataGrid-filterRowOperationLess\"),\r\n lessThanOrEqual: _message.default.format(\"dxDataGrid-filterRowOperationLessOrEquals\"),\r\n greaterThan: _message.default.format(\"dxDataGrid-filterRowOperationGreater\"),\r\n greaterThanOrEqual: _message.default.format(\"dxDataGrid-filterRowOperationGreaterOrEquals\"),\r\n startsWith: _message.default.format(\"dxDataGrid-filterRowOperationStartsWith\"),\r\n contains: _message.default.format(\"dxDataGrid-filterRowOperationContains\"),\r\n notContains: _message.default.format(\"dxDataGrid-filterRowOperationNotContains\"),\r\n endsWith: _message.default.format(\"dxDataGrid-filterRowOperationEndsWith\"),\r\n between: _message.default.format(\"dxDataGrid-filterRowOperationBetween\"),\r\n isBlank: _message.default.format(\"dxFilterBuilder-filterOperationIsBlank\"),\r\n isNotBlank: _message.default.format(\"dxFilterBuilder-filterOperationIsNotBlank\")\r\n },\r\n betweenStartText: _message.default.format(\"dxDataGrid-filterRowOperationBetweenStartText\"),\r\n betweenEndText: _message.default.format(\"dxDataGrid-filterRowOperationBetweenEndText\")\r\n }\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: function() {\r\n var that = this;\r\n that.callBase.apply(that, arguments);\r\n if (that.isResizing()) {\r\n var overlayInstance = that._columnHeadersView.getFilterRangeOverlayInstance();\r\n if (overlayInstance) {\r\n var cellIndex = overlayInstance.$element().closest(\"td\").index();\r\n if (cellIndex === that._targetPoint.columnIndex || cellIndex === that._targetPoint.columnIndex + 1) {\r\n overlayInstance.$content().hide()\r\n }\r\n }\r\n }\r\n },\r\n _endResizing: function() {\r\n var that = this;\r\n var $cell;\r\n if (that.isResizing()) {\r\n var overlayInstance = that._columnHeadersView.getFilterRangeOverlayInstance();\r\n if (overlayInstance) {\r\n $cell = overlayInstance.$element().closest(\"td\");\r\n that._columnHeadersView._updateFilterRangeOverlay({\r\n width: (0, _size.getOuterWidth)($cell, true) + CORRECT_FILTER_RANGE_OVERLAY_WIDTH\r\n });\r\n overlayInstance.$content().show()\r\n }\r\n }\r\n that.callBase.apply(that, arguments)\r\n }\r\n },\r\n editing: {\r\n updateFieldValue: function(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: function(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: function() {\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: function() {\r\n var items = this.callBase();\r\n var filterItem = this._prepareFilterItem(items);\r\n return filterItem.concat(items)\r\n },\r\n _prepareFilterItem: function() {\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((function(column) {\r\n return void 0 !== column.bufferedFilterValue\r\n })).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 (0, _renderer.default)(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: function() {\r\n var filterRowOptions = this.option(\"filterRow\");\r\n return filterRowOptions && filterRowOptions.visible && \"onClick\" === filterRowOptions.applyFilter\r\n },\r\n init: function() {\r\n this.callBase();\r\n this._dataController = this.getController(\"data\");\r\n this._applyFilterViewController = this.getController(\"applyFilter\")\r\n },\r\n enableApplyButton: function(value) {\r\n this.setToolbarItemDisabled(\"applyFilterButton\", !value)\r\n },\r\n isVisible: function() {\r\n return this.callBase() || this._isShowApplyFilterButton()\r\n },\r\n optionChanged: function(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\nexports.filterRowModule = filterRowModule;\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/grid_core/filter/m_filter_sync.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.filterSyncModule = void 0;\r\nvar _type = require(\"../../../../core/utils/type\");\r\nvar _utils = require(\"../../../../ui/filter_builder/utils\");\r\nvar _filtering = _interopRequireDefault(require(\"../../../../ui/shared/filtering\"));\r\nvar _ui = _interopRequireDefault(require(\"../../../../ui/widget/ui.errors\"));\r\nvar _m_modules = _interopRequireDefault(require(\"../m_modules\"));\r\nvar _m_utils = _interopRequireDefault(require(\"../m_utils\"));\r\nvar _m_filter_custom_operations = require(\"./m_filter_custom_operations\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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((function(column) {\r\n var identifier = getColumnIdentifier(column);\r\n if (!(0, _type.isDefined)(identifier) && column.allowFiltering) {\r\n throw new _ui.default.Error(\"E1049\", column.caption)\r\n }\r\n }))\r\n}\r\nvar FilterSyncController = _m_modules.default.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 !_filtering.default.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 ((0, _type.isDefined)(value)) {\r\n var operation = column.selectedFilterOperation || column.defaultFilterOperation || (0, _utils.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 filterValues = column.filterValues;\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 && !(0, _type.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: function() {\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((function(column) {\r\n var filterConditions = (0, _utils.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 (0, _type.isDefined)(column.filterValues) && updateHeaderFilterCondition(columnsController, column, null);\r\n (0, _type.isDefined)(column.filterValue) && updateFilterRowCondition(columnsController, column, null)\r\n }\r\n }));\r\n this._skipSyncColumnOptions = false\r\n },\r\n _initSync: function() {\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.option(\"filterValue\", filterValue)\r\n }\r\n this.syncFilterValue();\r\n dataController.pageIndex(pageIndex)\r\n },\r\n init: function() {\r\n var _this = this;\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((function() {\r\n return _this._initSync()\r\n }))\r\n }\r\n }\r\n },\r\n _getSyncFilterRow: function(filterValue, column) {\r\n var filter = getConditionFromFilterRow(column);\r\n if ((0, _type.isDefined)(filter)) {\r\n return (0, _utils.syncFilters)(filterValue, filter)\r\n }\r\n return (0, _utils.removeFieldConditionsFromFilter)(filterValue, getColumnIdentifier(column))\r\n },\r\n _getSyncHeaderFilter: function(filterValue, column) {\r\n var filter = getConditionFromHeaderFilter(column);\r\n if (filter) {\r\n return (0, _utils.syncFilters)(filterValue, filter)\r\n }\r\n return (0, _utils.removeFieldConditionsFromFilter)(filterValue, getColumnIdentifier(column))\r\n },\r\n getFilterValueFromColumns: function(columns) {\r\n if (!this.getController(\"data\").isFilterSyncActive()) {\r\n return null\r\n }\r\n var filterValue = [\"and\"];\r\n columns && columns.forEach((function(column) {\r\n var headerFilter = getConditionFromHeaderFilter(column);\r\n var filterRow = getConditionFromFilterRow(column);\r\n headerFilter && (0, _utils.addItem)(headerFilter, filterValue);\r\n filterRow && (0, _utils.addItem)(filterRow, filterValue)\r\n }));\r\n return (0, _utils.getNormalizedFilter)(filterValue)\r\n },\r\n syncFilterRow: function(column) {\r\n this.option(\"filterValue\", this._getSyncFilterRow(this.option(\"filterValue\"), column))\r\n },\r\n syncHeaderFilter: function(column) {\r\n this.option(\"filterValue\", this._getSyncHeaderFilter(this.option(\"filterValue\"), column))\r\n },\r\n getCustomFilterOperations: function() {\r\n var filterBuilderCustomOperations = this.option(\"filterBuilder.customOperations\") || [];\r\n return [(0, _m_filter_custom_operations.anyOf)(this.component), (0, _m_filter_custom_operations.noneOf)(this.component)].concat(filterBuilderCustomOperations)\r\n },\r\n publicMethods: function() {\r\n return [\"getCustomFilterOperations\"]\r\n }\r\n }\r\n}());\r\nvar DataControllerFilterSyncExtender = {\r\n isFilterSyncActive: function() {\r\n var filterSyncEnabledValue = this.option(\"filterSyncEnabled\");\r\n return \"auto\" === filterSyncEnabledValue ? this.option(\"filterPanel.visible\") : filterSyncEnabledValue\r\n },\r\n skipCalculateColumnFilters: function() {\r\n var filterSyncController = this.getController(\"filterSync\");\r\n return ((0, _type.isDefined)(this.option(\"filterValue\")) || filterSyncController._skipSyncColumnOptions) && this.isFilterSyncActive()\r\n },\r\n _calculateAdditionalFilter: function() {\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 currentColumn = this.getController(\"headerFilter\").getCurrentColumn();\r\n if (currentColumn && filterValue) {\r\n filterValue = (0, _utils.removeFieldConditionsFromFilter)(filterValue, getColumnIdentifier(currentColumn))\r\n }\r\n }\r\n var customOperations = this.getController(\"filterSync\").getCustomFilterOperations();\r\n var calculatedFilterValue = (0, _utils.getFilterExpression)(filterValue, columns, customOperations, \"filterBuilder\");\r\n if (calculatedFilterValue) {\r\n filters.push(calculatedFilterValue)\r\n }\r\n return _m_utils.default.combineFilters(filters)\r\n },\r\n _parseColumnPropertyName: function(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: function(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: function(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};\r\nvar ColumnHeadersViewFilterSyncExtender = {\r\n _isHeaderFilterEmpty: function(column) {\r\n if (this.getController(\"data\").isFilterSyncActive()) {\r\n return !(0, _utils.filterHasField)(this.option(\"filterValue\"), getColumnIdentifier(column))\r\n }\r\n return this.callBase(column)\r\n },\r\n _needUpdateFilterIndicators: function() {\r\n return !this.getController(\"data\").isFilterSyncActive()\r\n },\r\n optionChanged: function(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\nvar filterSyncModule = {\r\n defaultOptions: function() {\r\n return {\r\n filterValue: null,\r\n filterSyncEnabled: \"auto\"\r\n }\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\nexports.filterSyncModule = filterSyncModule;\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/grid_core/focus/m_focus.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.focusModule = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../../../core/renderer\"));\r\nvar _common = require(\"../../../../core/utils/common\");\r\nvar _deferred = require(\"../../../../core/utils/deferred\");\r\nvar _iterator = require(\"../../../../core/utils/iterator\");\r\nvar _type = require(\"../../../../core/utils/type\");\r\nvar _m_modules = _interopRequireDefault(require(\"../m_modules\"));\r\nvar _m_utils = _interopRequireDefault(require(\"../m_utils\"));\r\nvar _m_focus_utils = require(\"./m_focus_utils\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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 = _m_modules.default.ViewController.inherit(function() {\r\n var members = {\r\n init: function() {\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: function(args) {\r\n var name = args.name,\r\n value = args.value,\r\n previousValue = args.previousValue;\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: function() {\r\n return \"infinite\" !== this.option(\"scrolling.mode\") && this.option(\"autoNavigateToFocusedRow\")\r\n },\r\n _focusRowByIndex: function(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: function(index, operationTypes) {\r\n var _this = this;\r\n var dataController = this.getController(\"data\");\r\n var pageSize = dataController.pageSize();\r\n var setKeyByIndex = function() {\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 ((0, _type.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 (0, _deferred.when)(dataController.pageIndex(pageIndex), dataController.waitReady()).done((function() {\r\n setKeyByIndex()\r\n }))\r\n } else {\r\n setKeyByIndex()\r\n }\r\n }\r\n },\r\n _isLocalRowIndex: function(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: function(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 ((0, _type.isDefined)(focusedRowKey) && !this.isRowFocused(focusedRowKey)) {\r\n this.option(\"focusedRowKey\", focusedRowKey)\r\n }\r\n }\r\n },\r\n _focusRowByKey: function(key) {\r\n if (!(0, _type.isDefined)(key)) {\r\n this._resetFocusedRow()\r\n } else {\r\n this._navigateToRow(key, true)\r\n }\r\n },\r\n _resetFocusedRow: function() {\r\n var focusedRowKey = this.option(\"focusedRowKey\");\r\n var isFocusedRowKeyDefined = (0, _type.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: function(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: function() {\r\n return [\"navigateToRow\", \"isRowFocused\"]\r\n },\r\n navigateToRow: function(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: function(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.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((function(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((function() {\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((function() {\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: function(key, deferred, needFocusRow) {\r\n var visibleRowIndex = this.getController(\"data\").getRowIndexByKey(key);\r\n var isVirtualRowRenderingMode = _m_utils.default.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: function(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((function() {\r\n deferred.resolve(focusedRowIndex)\r\n }))\r\n }\r\n },\r\n _navigateToVirtualRow: function(key, deferred, needFocusRow) {\r\n var _this2 = this;\r\n var dataController = this.getController(\"data\");\r\n var rowsScrollController = dataController._rowsScrollController;\r\n var rowIndex = _m_utils.default.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 this.component.on(\"contentReady\", (function triggerUpdateFocusedRow() {\r\n if (dataController.totalCount() && !dataController.items().length) {\r\n return\r\n }\r\n _this2.component.off(\"contentReady\", triggerUpdateFocusedRow);\r\n if (needFocusRow) {\r\n _this2._triggerUpdateFocusedRow(key, deferred)\r\n } else {\r\n deferred.resolve(focusedRowIndex)\r\n }\r\n }));\r\n this.getView(\"rowsView\").scrollTopPosition(offset)\r\n } else {\r\n deferred.resolve(-1)\r\n }\r\n },\r\n _triggerUpdateFocusedRow: function(key, deferred) {\r\n var _this3 = this;\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 }(0, _deferred.when)(d).done((function() {\r\n _this3.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: function(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: function() {\r\n var _this4 = this;\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 ((0, _type.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((function(focusedRowIndex) {\r\n if (currentFocusedRowIndex >= 0 && focusedRowIndex < 0) {\r\n _this4._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: function(key) {\r\n var focusedRowKey = this.option(\"focusedRowKey\");\r\n if ((0, _type.isDefined)(focusedRowKey)) {\r\n return (0, _common.equalByValue)(key, this.option(\"focusedRowKey\"))\r\n }\r\n return\r\n },\r\n updateFocusedRow: function(_ref) {\r\n var focusedRowKey = _ref.focusedRowKey;\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 (0, _iterator.each)(rowsView.getTableElements(), (function(index, element) {\r\n var isMainTable = 0 === index;\r\n $tableElement = (0, _renderer.default)(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: function($tableElement, focusedRowIndex) {\r\n var _this5 = this;\r\n var $prevRowFocusedElement = $tableElement.find(FOCUSED_ROW_SELECTOR).filter((function(_, focusedRow) {\r\n var $focusedRowTable = (0, _renderer.default)(focusedRow).closest(\".\".concat(_this5.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 = (0, _renderer.default)(this.getView(\"rowsView\").getRowElement(0));\r\n $firstRow.removeClass(CELL_FOCUS_DISABLED_CLASS).removeAttr(\"tabIndex\")\r\n }\r\n },\r\n _prepareFocusedRow: function(options) {\r\n var $row;\r\n var changedItem = options.changedItem;\r\n if (changedItem && (\"data\" === changedItem.rowType || \"group\" === changedItem.rowType)) {\r\n var focusedRowIndex = options.focusedRowIndex;\r\n var $tableElement = options.$tableElement;\r\n var tabIndex = this.option(\"tabindex\") || 0;\r\n var rowsView = this.getView(\"rowsView\");\r\n $row = (0, _renderer.default)(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\nvar focusModule = {\r\n defaultOptions: function() {\r\n return {\r\n focusedRowEnabled: false,\r\n autoNavigateToFocusedRow: true,\r\n focusedRowKey: null,\r\n focusedRowIndex: -1,\r\n focusedColumnIndex: -1\r\n }\r\n },\r\n controllers: {\r\n focus: FocusController\r\n },\r\n extenders: {\r\n controllers: {\r\n keyboardNavigation: {\r\n init: function() {\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 ((0, _type.isDefined)(rowIndex) && rowIndex >= 0) {\r\n this._focusedCellPosition.rowIndex = rowIndex\r\n }\r\n if ((0, _type.isDefined)(columnIndex) && columnIndex >= 0) {\r\n this._focusedCellPosition.columnIndex = columnIndex\r\n }\r\n },\r\n setFocusedRowIndex: function(rowIndex) {\r\n this.callBase(rowIndex);\r\n this.option(\"focusedRowIndex\", rowIndex)\r\n },\r\n setFocusedColumnIndex: function(columnIndex) {\r\n this.callBase(columnIndex);\r\n this.option(\"focusedColumnIndex\", columnIndex)\r\n },\r\n _escapeKeyHandler: function(eventArgs, isEditing) {\r\n if (isEditing || !this.option(\"focusedRowEnabled\")) {\r\n this.callBase(eventArgs, isEditing);\r\n return\r\n }\r\n if (this.isCellFocusType()) {\r\n this.setRowFocusType();\r\n this._focus(this._getCellElementFromTarget(eventArgs.originalEvent.target), true)\r\n }\r\n },\r\n _updateFocusedCellPosition: function($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: function($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: function(_, sortByKey) {\r\n var _this6 = this;\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((function(operationName) {\r\n return !remoteOperations[operationName]\r\n }));\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((function(key) {\r\n return !_this6.columnOption(key, \"sortOrder\")\r\n }));\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((function(notSortedKey) {\r\n return result.push({\r\n selector: notSortedKey,\r\n desc: false\r\n })\r\n }))\r\n }\r\n }\r\n }\r\n return result\r\n }\r\n },\r\n data: {\r\n _applyChange: function(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: function(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: function() {\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: function() {\r\n return this._isPagingByRendering\r\n },\r\n _updateFocusedRow: function(e) {\r\n var operationTypes = e.operationTypes || {};\r\n var focusController = this.getController(\"focus\");\r\n var reload = operationTypes.reload,\r\n fullReload = operationTypes.fullReload,\r\n pageIndex = operationTypes.pageIndex,\r\n paging = operationTypes.paging;\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 && (0, _type.isDefined)(focusedRowKey)) {\r\n focusController._navigateToRow(focusedRowKey, true).done((function(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: function(key) {\r\n var that = this;\r\n var d = new _deferred.Deferred;\r\n that.getGlobalRowIndexByKey(key).done((function(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: function(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: function(key, groupFilter, useGroup) {\r\n var that = this;\r\n var deferred = new _deferred.Deferred;\r\n var dataSource = that._dataSource;\r\n if (Array.isArray(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((function(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((function(_, 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: function(filter, groupFilter) {\r\n var combinedFilter = this.getCombinedFilter();\r\n return _m_utils.default.combineFilters([filter, combinedFilter, groupFilter])\r\n },\r\n _generateBooleanFilter: function(selector, value, sortInfo) {\r\n var desc = sortInfo.desc;\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 !(0, _type.isBoolean)(value) && desc:\r\n return [selector, \"<>\", value];\r\n default:\r\n return\r\n }\r\n },\r\n _generateOperationFilterByKey: function(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 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((function(sortInfo) {\r\n var selector = sortInfo.selector,\r\n desc = sortInfo.desc,\r\n compare = sortInfo.compare;\r\n var _UiGridCoreFocusUtils = _m_focus_utils.UiGridCoreFocusUtils.getSortFilterValue(sortInfo, rowData, {\r\n isRemoteFiltering: isRemoteFiltering,\r\n dateSerializationFormat: dateSerializationFormat,\r\n getSelector: function(selector) {\r\n return that._columnsController.columnOption(selector, \"selector\")\r\n }\r\n }),\r\n getter = _UiGridCoreFocusUtils.getter,\r\n rawValue = _UiGridCoreFocusUtils.rawValue,\r\n safeValue = _UiGridCoreFocusUtils.safeValue;\r\n filter = [\r\n [selector, \"=\", safeValue], \"and\", filter\r\n ];\r\n if (null === rawValue || (0, _type.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) {\r\n sortFilter = function(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: function(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: function() {\r\n return this.items(true).length - 1\r\n }\r\n },\r\n editing: {\r\n _deleteRowCore: function(rowIndex) {\r\n var _this7 = this;\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((function() {\r\n var rowIndex = dataController.getRowIndexByKey(rowKey);\r\n var visibleRows = dataController.getVisibleRows();\r\n if (-1 === rowIndex && !visibleRows.length) {\r\n _this7.getController(\"focus\")._resetFocusedRow()\r\n }\r\n }))\r\n }\r\n }\r\n },\r\n views: {\r\n rowsView: {\r\n _createRow: function(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: function(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: function(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: function($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: function(preventScroll) {\r\n var _this8 = this;\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 (!(0, _type.isDefined)(this._scrollToFocusOnResize)) {\r\n this._scrollToFocusOnResize = function() {\r\n _this8.scrollToElementVertically(_this8._findRowElementForTabIndex());\r\n _this8.resizeCompleted.remove(_this8._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: function() {\r\n var focusedRowKey = this.option(\"focusedRowKey\");\r\n var rowIndex = this._dataController.getRowIndexByKey(focusedRowKey);\r\n return (0, _renderer.default)(this.getRowElement(rowIndex >= 0 ? rowIndex : 0))\r\n },\r\n scrollToRowElement: function(key) {\r\n var rowIndex = this.getController(\"data\").getRowIndexByKey(key);\r\n var $row = (0, _renderer.default)(this.getRow(rowIndex));\r\n return this.scrollToElementVertically($row)\r\n },\r\n scrollToElementVertically: function($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.Deferred).resolve()\r\n },\r\n scrollTopPosition: function(scrollTop) {\r\n var d = new _deferred.Deferred;\r\n var scrollable = this.getScrollable();\r\n if (scrollable) {\r\n var currentScrollTop = scrollable.scrollTop();\r\n if (scrollTop !== currentScrollTop) {\r\n scrollable.on(\"scroll\", (function scrollHandler() {\r\n scrollable.off(\"scroll\", scrollHandler);\r\n d.resolve()\r\n }));\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\nexports.focusModule = focusModule;\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/grid_core/focus/m_focus_utils.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.UiGridCoreFocusUtils = void 0;\r\nvar _date_serialization = _interopRequireDefault(require(\"../../../../core/utils/date_serialization\"));\r\nvar _type = require(\"../../../../core/utils/type\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar getSortFilterValue = function(sortInfo, rowData, _ref) {\r\n var isRemoteFiltering = _ref.isRemoteFiltering,\r\n dateSerializationFormat = _ref.dateSerializationFormat,\r\n getSelector = _ref.getSelector;\r\n var selector = sortInfo.selector;\r\n var getter = (0, _type.isFunction)(selector) ? selector : getSelector(selector);\r\n var rawValue = getter ? getter(rowData) : rowData[selector];\r\n var safeValue = isRemoteFiltering && (0, _type.isDate)(rawValue) ? _date_serialization.default.serializeDate(rawValue, dateSerializationFormat) : rawValue;\r\n return {\r\n getter: getter,\r\n rawValue: rawValue,\r\n safeValue: safeValue\r\n }\r\n};\r\nvar UiGridCoreFocusUtils = {\r\n getSortFilterValue: getSortFilterValue\r\n};\r\nexports.UiGridCoreFocusUtils = UiGridCoreFocusUtils;\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/grid_core/header_filter/m_header_filter.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.headerFilterModule = void 0;\r\nexports.invertFilterExpression = invertFilterExpression;\r\nvar _data = require(\"../../../../core/utils/data\");\r\nvar _deferred = require(\"../../../../core/utils/deferred\");\r\nvar _extend = require(\"../../../../core/utils/extend\");\r\nvar _iterator = require(\"../../../../core/utils/iterator\");\r\nvar _position = require(\"../../../../core/utils/position\");\r\nvar _type = require(\"../../../../core/utils/type\");\r\nvar _utils = require(\"../../../../data/data_source/utils\");\r\nvar _query = _interopRequireDefault(require(\"../../../../data/query\"));\r\nvar _store_helper = _interopRequireDefault(require(\"../../../../data/store_helper\"));\r\nvar _click = require(\"../../../../events/click\");\r\nvar _events_engine = _interopRequireDefault(require(\"../../../../events/core/events_engine\"));\r\nvar _date = _interopRequireDefault(require(\"../../../../localization/date\"));\r\nvar _message = _interopRequireDefault(require(\"../../../../localization/message\"));\r\nvar _accessibility = require(\"../../../../ui/shared/accessibility\");\r\nvar _filtering = _interopRequireDefault(require(\"../../../../ui/shared/filtering\"));\r\nvar _m_modules = _interopRequireDefault(require(\"../m_modules\"));\r\nvar _m_utils = _interopRequireDefault(require(\"../m_utils\"));\r\nvar _m_header_filter_core = require(\"./m_header_filter_core\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\nvar DATE_INTERVAL_FORMATS = {\r\n month: function(value) {\r\n return _date.default.getMonthNames()[value - 1]\r\n },\r\n quarter: function(value) {\r\n return _date.default.format(new Date(2e3, 3 * value - 1), \"quarter\")\r\n }\r\n};\r\n\r\nfunction ungroupUTCDates(items, dateParts, dates) {\r\n dateParts = dateParts || [];\r\n dates = dates || [];\r\n items.forEach((function(item) {\r\n if ((0, _type.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 = (0, _query.default)(dates);\r\n var group = _m_utils.default.getHeaderFilterGroupParameters(_extends(_extends({}, column), {\r\n calculateCellValue: function(date) {\r\n return date\r\n }\r\n }));\r\n return _store_helper.default.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 = _m_modules.default.ViewController.inherit({\r\n init: function() {\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: function(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 }(0, _m_header_filter_core.updateHeaderFilterItemSelectionState)(item, _m_utils.default.getIndexByKey(items[i].value, column.filterValues, null) > -1, isExclude)\r\n }\r\n },\r\n _normalizeGroupItem: function(item, currentLevel, options) {\r\n var value;\r\n var displayValue;\r\n var path = options.path;\r\n var valueSelector = options.valueSelector;\r\n var displaySelector = options.displaySelector;\r\n var column = options.column;\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 (!(0, _type.isObject)(item)) {\r\n item = {}\r\n } else {\r\n item = (0, _extend.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: function(displayValue, column, currentLevel, headerFilterOptions) {\r\n var text = _m_utils.default.formatValue(displayValue, function(value, column, currentLevel) {\r\n var groupInterval = _filtering.default.getGroupInterval(column);\r\n var result = _m_utils.default.getFormatOptionsByColumn(column, \"headerFilter\");\r\n if (groupInterval) {\r\n result.groupInterval = groupInterval[currentLevel];\r\n if (_m_utils.default.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 = _m_utils.default.formatValue(value, formatOptions);\r\n var secondValue = value + groupInterval[currentLevel];\r\n var secondValueText = _m_utils.default.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: function(groupItems, currentLevel, path, options) {\r\n var displaySelector;\r\n var valueSelector;\r\n var column = options.column;\r\n var lookup = column.lookup;\r\n var level = options.level;\r\n path = path || [];\r\n currentLevel = currentLevel || 0;\r\n if (lookup) {\r\n displaySelector = (0, _data.compileGetter)(lookup.displayExpr);\r\n valueSelector = (0, _data.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 || !(0, _type.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: function(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 = _m_utils.default.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 ((0, _type.isDefined)(headerFilterDataSource) && !(0, _type.isFunction)(headerFilterDataSource)) {\r\n options.dataSource = (0, _utils.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 = _m_utils.default.getWrappedLookupDataSource(column, dataSource, filter)\r\n } else {\r\n options.dataSource = _m_utils.default.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: function(options) {\r\n var d = new _deferred.Deferred;\r\n options.dataField = column.dataField || column.name;\r\n dataSource.load(options).done((function(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 ((0, _type.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((function(item) {\r\n return null !== item[column.lookup.valueExpr]\r\n }));\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: function() {\r\n return this._currentColumn\r\n },\r\n showHeaderFilterMenu: function(columnIndex, isGroupPanel) {\r\n var columnsController = this._columnsController;\r\n var column = (0, _extend.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: function() {\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: function(options) {\r\n var _this = this;\r\n var that = this;\r\n var column = options.column;\r\n if (column) {\r\n var groupInterval = _filtering.default.getGroupInterval(column);\r\n var dataSource = that._dataController.dataSource();\r\n var remoteFiltering = dataSource && dataSource.remoteOperations().filtering;\r\n (0, _extend.extend)(options, column, {\r\n type: groupInterval && groupInterval.length > 1 ? \"tree\" : \"list\",\r\n remoteFiltering: remoteFiltering,\r\n onShowing: function(e) {\r\n var dxResizableInstance = e.component.$overlayContent().dxResizable(\"instance\");\r\n dxResizableInstance && dxResizableInstance.option(\"onResizeEnd\", (function(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: function() {\r\n return (0, _accessibility.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: function() {\r\n this._headerFilterView.hideHeaderFilterMenu()\r\n }\r\n});\r\nvar ColumnHeadersViewHeaderFilterExtender = (0, _extend.extend)({}, _m_header_filter_core.headerFilterMixin, {\r\n _renderCellContent: function($cell, options) {\r\n var that = this;\r\n var $headerFilterIndicator;\r\n var column = options.column;\r\n if (!column.command && (0, _m_header_filter_core.allowHeaderFiltering)(column) && that.option(\"headerFilter.visible\") && \"header\" === options.rowType) {\r\n $headerFilterIndicator = that._applyColumnState({\r\n name: \"headerFilter\",\r\n rootElement: $cell,\r\n column: column,\r\n showColumnLines: that.option(\"showColumnLines\")\r\n });\r\n $headerFilterIndicator && that._subscribeToIndicatorEvent($headerFilterIndicator, column, \"headerFilter\")\r\n }\r\n this.callBase.apply(this, arguments)\r\n },\r\n _subscribeToIndicatorEvent: function($indicator, column, indicatorName) {\r\n var _this2 = this;\r\n if (\"headerFilter\" === indicatorName) {\r\n _events_engine.default.on($indicator, _click.name, this.createAction((function(e) {\r\n e.event.stopPropagation();\r\n (0, _accessibility.saveFocusedElementInfo)($indicator, _this2);\r\n _this2.getController(\"headerFilter\").showHeaderFilterMenu(column.index, false)\r\n })))\r\n }\r\n },\r\n _updateIndicator: function($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: function() {\r\n if (this.option(\"headerFilter.visible\")) {\r\n this._updateIndicators(\"headerFilter\")\r\n }\r\n },\r\n _needUpdateFilterIndicators: function() {\r\n return true\r\n },\r\n _columnOptionChanged: function(e) {\r\n var optionNames = e.optionNames;\r\n if (_m_utils.default.checkChanges(optionNames, [\"filterValues\", \"filterType\"])) {\r\n if (this._needUpdateFilterIndicators()) {\r\n this._updateHeaderFilterIndicators()\r\n }\r\n return\r\n }\r\n this.callBase(e)\r\n }\r\n});\r\nvar HeaderPanelHeaderFilterExtender = (0, _extend.extend)({}, _m_header_filter_core.headerFilterMixin, {\r\n _createGroupPanelItem: function($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 && (0, _m_header_filter_core.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: (0, _position.getDefaultAlignment)(that.option(\"rtlEnabled\")),\r\n filterValues: groupColumn.filterValues,\r\n allowHeaderFiltering: true\r\n },\r\n showColumnLines: true\r\n });\r\n $headerFilterIndicator && _events_engine.default.on($headerFilterIndicator, _click.name, that.createAction((function(e) {\r\n var event = e.event;\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\n\r\nfunction invertFilterExpression(filter) {\r\n return [\"!\", filter]\r\n}\r\nvar DataControllerFilterRowExtender = {\r\n skipCalculateColumnFilters: function() {\r\n return false\r\n },\r\n _calculateAdditionalFilter: function() {\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 (0, _iterator.each)(columns, (function(_, column) {\r\n var filter;\r\n if (currentColumn && currentColumn.index === column.index) {\r\n return\r\n }\r\n if ((0, _m_header_filter_core.allowHeaderFiltering)(column) && column.calculateFilterExpression && Array.isArray(column.filterValues) && column.filterValues.length) {\r\n var filterValues = [];\r\n (0, _iterator.each)(column.filterValues, (function(_, filterValue) {\r\n if (Array.isArray(filterValue)) {\r\n filter = filterValue\r\n } else {\r\n if (column.deserializeValue && !_m_utils.default.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 = _m_utils.default.combineFilters(filterValues, \"or\");\r\n filters.push(\"exclude\" === column.filterType ? [\"!\", filterValues] : filterValues)\r\n }\r\n }));\r\n return _m_utils.default.combineFilters(filters)\r\n }\r\n};\r\nvar headerFilterModule = {\r\n defaultOptions: function() {\r\n return {\r\n syncLookupFilterValues: true,\r\n headerFilter: {\r\n visible: false,\r\n width: 252,\r\n height: 325,\r\n allowSelectAll: true,\r\n search: {\r\n enabled: false,\r\n timeout: 500,\r\n mode: \"contains\",\r\n editorOptions: {}\r\n },\r\n texts: {\r\n emptyValue: _message.default.format(\"dxDataGrid-headerFilterEmptyValue\"),\r\n ok: _message.default.format(\"dxDataGrid-headerFilterOK\"),\r\n cancel: _message.default.format(\"dxDataGrid-headerFilterCancel\")\r\n }\r\n }\r\n }\r\n },\r\n controllers: {\r\n headerFilter: HeaderFilterController\r\n },\r\n views: {\r\n headerFilterView: _m_header_filter_core.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\nexports.headerFilterModule = headerFilterModule;\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/grid_core/header_filter/m_header_filter_core.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.headerFilterMixin = exports.allowHeaderFiltering = exports.HeaderFilterView = void 0;\r\nexports.updateHeaderFilterItemSelectionState = updateHeaderFilterItemSelectionState;\r\nrequire(\"../../../../ui/list/modules/search\");\r\nrequire(\"../../../../ui/list/modules/selection\");\r\nvar _renderer = _interopRequireDefault(require(\"../../../../core/renderer\"));\r\nvar _extend = require(\"../../../../core/utils/extend\");\r\nvar _iterator = require(\"../../../../core/utils/iterator\");\r\nvar _type = require(\"../../../../core/utils/type\");\r\nvar _message = _interopRequireDefault(require(\"../../../../localization/message\"));\r\nvar _list_light = _interopRequireDefault(require(\"../../../../ui/list_light\"));\r\nvar _ui = _interopRequireDefault(require(\"../../../../ui/popup/ui.popup\"));\r\nvar _tree_view = _interopRequireDefault(require(\"../../../../ui/tree_view\"));\r\nvar _m_modules = _interopRequireDefault(require(\"../m_modules\"));\r\nvar _m_utils = _interopRequireDefault(require(\"../m_utils\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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 getSelectAllCheckBox(listComponent) {\r\n var selector = \"dxTreeView\" === listComponent.NAME ? \".dx-treeview-select-all-item\" : \".dx-list-select-all-checkbox\";\r\n return listComponent.$element().find(selector).dxCheckBox(\"instance\")\r\n}\r\n\r\nfunction updateListSelectAllState(e, filterValues) {\r\n if (e.component.option(\"searchValue\")) {\r\n return\r\n }\r\n var selectAllCheckBox = getSelectAllCheckBox(e.component);\r\n if (selectAllCheckBox && filterValues && filterValues.length) {\r\n selectAllCheckBox.option(\"value\", void 0)\r\n }\r\n}\r\n\r\nfunction 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\nvar HeaderFilterView = _m_modules.default.View.inherit({\r\n getPopupContainer: function() {\r\n return this._popupContainer\r\n },\r\n getListComponent: function() {\r\n return this._listComponent\r\n },\r\n applyHeaderFilter: function(options) {\r\n var list = this.getListComponent();\r\n var searchValue = list.option(\"searchValue\");\r\n var selectAllCheckBox = getSelectAllCheckBox(list);\r\n var isAllSelected = !searchValue && !options.isFilterBuilder && (null === selectAllCheckBox || void 0 === selectAllCheckBox ? void 0 : selectAllCheckBox.option(\"value\"));\r\n var filterValues = [];\r\n if (!isAllSelected) {\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 (0, _iterator.each)(items, (function(_, 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((function(item) {\r\n return item.selected\r\n }));\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: function($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: function() {\r\n var headerFilterMenu = this.getPopupContainer();\r\n headerFilterMenu && headerFilterMenu.hide()\r\n },\r\n updatePopup: function($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: _message.default.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: function(options, headerFilterOptions) {\r\n var lookup = options.lookup;\r\n var useDefaultSearchExpr = options.useDefaultSearchExpr;\r\n var headerFilterDataSource = headerFilterOptions.dataSource;\r\n var filterSearchExpr = headerFilterOptions.search.searchExpr;\r\n if (filterSearchExpr) {\r\n return filterSearchExpr\r\n }\r\n if (useDefaultSearchExpr || (0, _type.isDefined)(headerFilterDataSource) && !(0, _type.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 group = options.dataSource.group;\r\n if (Array.isArray(group) && group.length > 0) {\r\n return group[0].selector\r\n }\r\n if ((0, _type.isFunction)(group) && !options.remoteFiltering) {\r\n return group\r\n }\r\n }\r\n return options.dataField || options.selector\r\n },\r\n _cleanPopupContent: function() {\r\n this._popupContainer && this._popupContainer.$content().empty()\r\n },\r\n _initializePopupContainer: function(options) {\r\n var that = this;\r\n var $element = that.element();\r\n var headerFilterOptions = this._normalizeHeaderFilterOptions(options);\r\n var height = headerFilterOptions.height,\r\n width = headerFilterOptions.width;\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: function() {\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: function() {\r\n that.hideHeaderFilterMenu()\r\n }\r\n }\r\n }],\r\n resizeEnabled: true,\r\n onShowing: function(e) {\r\n e.component.$content().parent().addClass(\"dx-dropdowneditor-overlay\");\r\n that._initializeListContainer(options, headerFilterOptions);\r\n options.onShowing && options.onShowing(e)\r\n },\r\n onShown: function() {\r\n that.getListComponent().focus()\r\n },\r\n onHidden: options.onHidden,\r\n onInitialized: function(e) {\r\n var component = e.component;\r\n component.option(\"animation\", component._getDefaultOptions().animation)\r\n }\r\n };\r\n if (!(0, _type.isDefined)(that._popupContainer)) {\r\n that._popupContainer = that._createComponent($element, _ui.default, dxPopupOptions)\r\n } else {\r\n that._popupContainer.option(dxPopupOptions)\r\n }\r\n },\r\n _initializeListContainer: function(options, headerFilterOptions) {\r\n var that = this;\r\n var $content = that._popupContainer.$content();\r\n var needShowSelectAllCheckbox = !options.isFilterBuilder && headerFilterOptions.allowSelectAll;\r\n var widgetOptions = {\r\n searchEnabled: headerFilterOptions.search.enabled,\r\n searchTimeout: headerFilterOptions.search.timeout,\r\n searchEditorOptions: headerFilterOptions.search.editorOptions,\r\n searchMode: headerFilterOptions.search.mode || \"\",\r\n dataSource: options.dataSource,\r\n onContentReady: function() {\r\n that.renderCompleted.fire()\r\n },\r\n itemTemplate: function(data, _, element) {\r\n var $element = (0, _renderer.default)(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 && needShowSelectAllCheckbox && 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._listComponent = that._createComponent((0, _renderer.default)(\"
    \").appendTo($content), _tree_view.default, (0, _extend.extend)(widgetOptions, {\r\n showCheckBoxesMode: needShowSelectAllCheckbox ? \"selectAll\" : \"normal\",\r\n onOptionChanged: onOptionChanged,\r\n keyExpr: \"id\"\r\n }))\r\n } else {\r\n that._listComponent = that._createComponent((0, _renderer.default)(\"
    \").appendTo($content), _list_light.default, (0, _extend.extend)(widgetOptions, {\r\n searchExpr: that._getSearchExpr(options, headerFilterOptions),\r\n pageLoadMode: \"scrollBottom\",\r\n showSelectionControls: true,\r\n selectionMode: needShowSelectAllCheckbox ? \"all\" : \"multiple\",\r\n onOptionChanged: onOptionChanged,\r\n onSelectionChanged: function(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 }(0, _iterator.each)(items, (function(index, item) {\r\n var selected = _m_utils.default.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 = _m_utils.default.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 updateListSelectAllState(e, options.filterValues)\r\n },\r\n onContentReady: function(e) {\r\n var component = e.component;\r\n var items = component.option(\"items\");\r\n var selectedItems = [];\r\n (0, _iterator.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 updateListSelectAllState(e, options.filterValues)\r\n }\r\n }))\r\n }\r\n },\r\n _normalizeHeaderFilterOptions: function(options) {\r\n var generalHeaderFilter = this.option(\"headerFilter\") || {};\r\n var specificHeaderFilter = options.headerFilter || {};\r\n var generalDeprecated = {\r\n search: {\r\n enabled: generalHeaderFilter.allowSearch,\r\n timeout: generalHeaderFilter.searchTimeout\r\n }\r\n };\r\n var specificDeprecated = {\r\n search: {\r\n enabled: specificHeaderFilter.allowSearch,\r\n mode: specificHeaderFilter.searchMode,\r\n timeout: specificHeaderFilter.searchTimeout\r\n }\r\n };\r\n return (0, _extend.extend)(true, {}, generalHeaderFilter, generalDeprecated, specificHeaderFilter, specificDeprecated)\r\n },\r\n _renderCore: function() {\r\n this.element().addClass(HEADER_FILTER_MENU_CLASS)\r\n }\r\n});\r\nexports.HeaderFilterView = HeaderFilterView;\r\nvar allowHeaderFiltering = function(column) {\r\n return (0, _type.isDefined)(column.allowHeaderFiltering) ? column.allowHeaderFiltering : column.allowFiltering\r\n};\r\nexports.allowHeaderFiltering = allowHeaderFiltering;\r\nvar headerFilterMixin = {\r\n _applyColumnState: function(options) {\r\n var $headerFilterIndicator;\r\n var rootElement = options.rootElement;\r\n var column = options.column;\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 = _message.default.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: function(column) {\r\n return !column.filterValues || !column.filterValues.length\r\n },\r\n _getIndicatorClassName: function(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: function(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: function(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\nexports.headerFilterMixin = headerFilterMixin;\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/grid_core/header_panel/m_header_panel.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.headerPanelModule = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../../../core/renderer\"));\r\nvar _common = require(\"../../../../core/utils/common\");\r\nvar _data = require(\"../../../../core/utils/data\");\r\nvar _extend = require(\"../../../../core/utils/extend\");\r\nvar _type = require(\"../../../../core/utils/type\");\r\nvar _message = _interopRequireDefault(require(\"../../../../localization/message\"));\r\nvar _toolbar = _interopRequireDefault(require(\"../../../../ui/toolbar\"));\r\nvar _m_columns_view = require(\"../views/m_columns_view\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\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\nvar members = {\r\n _getToolbarItems: function() {\r\n return []\r\n },\r\n _getButtonContainer: function() {\r\n return (0, _renderer.default)(\"
    \").addClass(this.addWidgetPrefix(TOOLBAR_BUTTON_CLASS))\r\n },\r\n _getToolbarButtonClass: function(specificClass) {\r\n var secondClass = specificClass ? \" \".concat(specificClass) : \"\";\r\n return this.addWidgetPrefix(TOOLBAR_BUTTON_CLASS) + secondClass\r\n },\r\n _getToolbarOptions: function() {\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: function(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 && !(0, _type.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: function(defaultItems, userItems) {\r\n defaultItems.forEach((function(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 (!(0, _type.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((function(button) {\r\n defaultButtonsByNames[button.name] = button\r\n }));\r\n var normalizedItems = userItems.map((function(button) {\r\n if ((0, _type.isString)(button)) {\r\n button = {\r\n name: button\r\n }\r\n }\r\n if ((0, _type.isDefined)(button.name)) {\r\n if ((0, _type.isDefined)(defaultButtonsByNames[button.name])) {\r\n button = (0, _extend.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 (0, _extend.extend)(true, {}, defaultProps, button)\r\n }));\r\n return isArray ? normalizedItems : normalizedItems[0]\r\n },\r\n _renderCore: function() {\r\n if (!this._toolbar) {\r\n var $headerPanel = this.element();\r\n $headerPanel.addClass(this.addWidgetPrefix(HEADER_PANEL_CLASS));\r\n var label = _message.default.format(this.component.NAME + TOOLBAR_ARIA_LABEL);\r\n var $toolbar = (0, _renderer.default)(\"
    \").attr(\"aria-label\", label).appendTo($headerPanel);\r\n this._toolbar = this._createComponent($toolbar, _toolbar.default, this._toolbarOptions)\r\n } else {\r\n this._toolbar.option(this._toolbarOptions)\r\n }\r\n },\r\n _columnOptionChanged: _common.noop,\r\n _handleDataChanged: function() {\r\n if (this._requireReady) {\r\n this.render()\r\n }\r\n },\r\n init: function() {\r\n this.callBase();\r\n this.createAction(\"onToolbarPreparing\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n },\r\n render: function() {\r\n this._toolbarOptions = this._getToolbarOptions();\r\n this.callBase.apply(this, arguments)\r\n },\r\n setToolbarItemDisabled: function(name, disabled) {\r\n var toolbar = this._toolbar;\r\n if (!toolbar) {\r\n return\r\n }\r\n var items = toolbar.option(\"items\") || [];\r\n var itemIndex = items.findIndex((function(item) {\r\n return item.name === name\r\n }));\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: function() {\r\n var _a;\r\n null === (_a = this._toolbar) || void 0 === _a ? void 0 : _a.updateDimensions()\r\n },\r\n getHeaderPanel: function() {\r\n return this.element()\r\n },\r\n getHeight: function() {\r\n return this.getElementHeight()\r\n },\r\n optionChanged: function(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 = (0, _data.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 this.callBase(args)\r\n },\r\n isVisible: function() {\r\n return !!(this._toolbarOptions && this._toolbarOptions.visible)\r\n },\r\n allowDragging: _common.noop,\r\n hasGroupedColumns: _common.noop\r\n};\r\nvar HeaderPanel = _m_columns_view.ColumnsView.inherit(members);\r\nvar headerPanelModule = {\r\n defaultOptions: function() {\r\n return {}\r\n },\r\n views: {\r\n headerPanel: HeaderPanel\r\n },\r\n extenders: {\r\n controllers: {\r\n resizing: {\r\n _updateDimensionsCore: function() {\r\n this.callBase.apply(this, arguments);\r\n this.getView(\"headerPanel\").updateToolbarDimensions()\r\n }\r\n }\r\n }\r\n }\r\n};\r\nexports.headerPanelModule = headerPanelModule;\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/grid_core/keyboard_navigation/const.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.WIDGET_CLASS = exports.VIRTUAL_ROW_CLASS = exports.ROW_CLASS = exports.ROWS_VIEW_CLASS = exports.REVERT_BUTTON_CLASS = exports.NON_FOCUSABLE_ELEMENTS_SELECTOR = exports.MASTER_DETAIL_ROW_CLASS = exports.MASTER_DETAIL_CELL_CLASS = exports.INTERACTIVE_ELEMENTS_SELECTOR = exports.HEADER_ROW_CLASS = exports.GROUP_ROW_CLASS = exports.GROUP_FOOTER_CLASS = exports.FUNCTIONAL_KEYS = exports.FREESPACE_ROW_CLASS = exports.FOCUS_TYPE_ROW = exports.FOCUS_TYPE_CELL = exports.FOCUS_STATE_CLASS = exports.FOCUSED_CLASS = exports.FAST_EDITING_DELETE_KEY = exports.EDIT_MODE_FORM = exports.EDIT_FORM_ITEM_CLASS = exports.EDIT_FORM_CLASS = exports.EDITOR_CELL_CLASS = exports.DROPDOWN_EDITOR_OVERLAY_CLASS = exports.DATEBOX_WIDGET_NAME = exports.DATA_ROW_CLASS = exports.COMMAND_SELECT_CLASS = exports.COMMAND_EXPAND_CLASS = exports.COMMAND_EDIT_CLASS = exports.COMMAND_CELL_SELECTOR = exports.COLUMN_HEADERS_VIEW = exports.CELL_FOCUS_DISABLED_CLASS = exports.ATTRIBUTES = void 0;\r\nvar ATTRIBUTES = {\r\n ariaColIndex: \"aria-colindex\",\r\n dragCell: \"dx-drag-cell\"\r\n};\r\nexports.ATTRIBUTES = ATTRIBUTES;\r\nvar ROWS_VIEW_CLASS = \"rowsview\";\r\nexports.ROWS_VIEW_CLASS = ROWS_VIEW_CLASS;\r\nvar EDIT_FORM_CLASS = \"edit-form\";\r\nexports.EDIT_FORM_CLASS = EDIT_FORM_CLASS;\r\nvar GROUP_FOOTER_CLASS = \"group-footer\";\r\nexports.GROUP_FOOTER_CLASS = GROUP_FOOTER_CLASS;\r\nvar ROW_CLASS = \"dx-row\";\r\nexports.ROW_CLASS = ROW_CLASS;\r\nvar DATA_ROW_CLASS = \"dx-data-row\";\r\nexports.DATA_ROW_CLASS = DATA_ROW_CLASS;\r\nvar GROUP_ROW_CLASS = \"dx-group-row\";\r\nexports.GROUP_ROW_CLASS = GROUP_ROW_CLASS;\r\nvar HEADER_ROW_CLASS = \"dx-header-row\";\r\nexports.HEADER_ROW_CLASS = HEADER_ROW_CLASS;\r\nvar EDIT_FORM_ITEM_CLASS = \"edit-form-item\";\r\nexports.EDIT_FORM_ITEM_CLASS = EDIT_FORM_ITEM_CLASS;\r\nvar MASTER_DETAIL_ROW_CLASS = \"dx-master-detail-row\";\r\nexports.MASTER_DETAIL_ROW_CLASS = MASTER_DETAIL_ROW_CLASS;\r\nvar FREESPACE_ROW_CLASS = \"dx-freespace-row\";\r\nexports.FREESPACE_ROW_CLASS = FREESPACE_ROW_CLASS;\r\nvar VIRTUAL_ROW_CLASS = \"dx-virtual-row\";\r\nexports.VIRTUAL_ROW_CLASS = VIRTUAL_ROW_CLASS;\r\nvar MASTER_DETAIL_CELL_CLASS = \"dx-master-detail-cell\";\r\nexports.MASTER_DETAIL_CELL_CLASS = MASTER_DETAIL_CELL_CLASS;\r\nvar EDITOR_CELL_CLASS = \"dx-editor-cell\";\r\nexports.EDITOR_CELL_CLASS = EDITOR_CELL_CLASS;\r\nvar DROPDOWN_EDITOR_OVERLAY_CLASS = \"dx-dropdowneditor-overlay\";\r\nexports.DROPDOWN_EDITOR_OVERLAY_CLASS = DROPDOWN_EDITOR_OVERLAY_CLASS;\r\nvar COMMAND_EXPAND_CLASS = \"dx-command-expand\";\r\nexports.COMMAND_EXPAND_CLASS = COMMAND_EXPAND_CLASS;\r\nvar COMMAND_SELECT_CLASS = \"dx-command-select\";\r\nexports.COMMAND_SELECT_CLASS = COMMAND_SELECT_CLASS;\r\nvar COMMAND_EDIT_CLASS = \"dx-command-edit\";\r\nexports.COMMAND_EDIT_CLASS = COMMAND_EDIT_CLASS;\r\nvar COMMAND_CELL_SELECTOR = \"[class^=dx-command]\";\r\nexports.COMMAND_CELL_SELECTOR = COMMAND_CELL_SELECTOR;\r\nvar CELL_FOCUS_DISABLED_CLASS = \"dx-cell-focus-disabled\";\r\nexports.CELL_FOCUS_DISABLED_CLASS = CELL_FOCUS_DISABLED_CLASS;\r\nvar DATEBOX_WIDGET_NAME = \"dxDateBox\";\r\nexports.DATEBOX_WIDGET_NAME = DATEBOX_WIDGET_NAME;\r\nvar FOCUS_STATE_CLASS = \"dx-state-focused\";\r\nexports.FOCUS_STATE_CLASS = FOCUS_STATE_CLASS;\r\nvar WIDGET_CLASS = \"dx-widget\";\r\nexports.WIDGET_CLASS = WIDGET_CLASS;\r\nvar REVERT_BUTTON_CLASS = \"dx-revert-button\";\r\nexports.REVERT_BUTTON_CLASS = REVERT_BUTTON_CLASS;\r\nvar FOCUSED_CLASS = \"dx-focused\";\r\nexports.FOCUSED_CLASS = FOCUSED_CLASS;\r\nvar FAST_EDITING_DELETE_KEY = \"delete\";\r\nexports.FAST_EDITING_DELETE_KEY = FAST_EDITING_DELETE_KEY;\r\nvar INTERACTIVE_ELEMENTS_SELECTOR = \"input:not([type='hidden']), textarea, a, select, button, [tabindex], .dx-checkbox\";\r\nexports.INTERACTIVE_ELEMENTS_SELECTOR = INTERACTIVE_ELEMENTS_SELECTOR;\r\nvar NON_FOCUSABLE_ELEMENTS_SELECTOR = \"\".concat(INTERACTIVE_ELEMENTS_SELECTOR, \", .dx-dropdowneditor-icon\");\r\nexports.NON_FOCUSABLE_ELEMENTS_SELECTOR = NON_FOCUSABLE_ELEMENTS_SELECTOR;\r\nvar EDIT_MODE_FORM = \"form\";\r\nexports.EDIT_MODE_FORM = EDIT_MODE_FORM;\r\nvar FOCUS_TYPE_ROW = \"row\";\r\nexports.FOCUS_TYPE_ROW = FOCUS_TYPE_ROW;\r\nvar FOCUS_TYPE_CELL = \"cell\";\r\nexports.FOCUS_TYPE_CELL = FOCUS_TYPE_CELL;\r\nvar COLUMN_HEADERS_VIEW = \"columnHeadersView\";\r\nexports.COLUMN_HEADERS_VIEW = COLUMN_HEADERS_VIEW;\r\nvar FUNCTIONAL_KEYS = [\"shift\", \"control\", \"alt\"];\r\nexports.FUNCTIONAL_KEYS = FUNCTIONAL_KEYS;\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/grid_core/keyboard_navigation/dom.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.GridCoreKeyboardNavigationDom = void 0;\r\nvar _const = require(\"./const\");\r\nvar isDragCell = function($cell) {\r\n return void 0 !== $cell.attr(_const.ATTRIBUTES.dragCell)\r\n};\r\nvar getCellToFocus = function($cellElements, columnIndex) {\r\n return $cellElements.filter(\"[\".concat(_const.ATTRIBUTES.ariaColIndex, '=\"').concat(columnIndex + 1, '\"]:not([').concat(_const.ATTRIBUTES.dragCell, \"])\")).first()\r\n};\r\nvar GridCoreKeyboardNavigationDom = {\r\n isDragCell: isDragCell,\r\n getCellToFocus: getCellToFocus\r\n};\r\nexports.GridCoreKeyboardNavigationDom = GridCoreKeyboardNavigationDom;\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/grid_core/keyboard_navigation/m_keyboard_navigation.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.keyboardNavigationModule = exports.KeyboardNavigationController = void 0;\r\nvar _common = require(\"../../../../core/utils/common\");\r\nvar _dom_adapter = _interopRequireDefault(require(\"../../../../core/dom_adapter\"));\r\nvar _element = require(\"../../../../core/element\");\r\nvar _renderer = _interopRequireDefault(require(\"../../../../core/renderer\"));\r\nvar _browser = _interopRequireDefault(require(\"../../../../core/utils/browser\"));\r\nvar _deferred = require(\"../../../../core/utils/deferred\");\r\nvar _size = require(\"../../../../core/utils/size\");\r\nvar _type = require(\"../../../../core/utils/type\");\r\nvar _click = require(\"../../../../events/click\");\r\nvar _events_engine = _interopRequireDefault(require(\"../../../../events/core/events_engine\"));\r\nvar _pointer = _interopRequireDefault(require(\"../../../../events/pointer\"));\r\nvar _short = require(\"../../../../events/short\");\r\nvar _index = require(\"../../../../events/utils/index\");\r\nvar accessibility = _interopRequireWildcard(require(\"../../../../ui/shared/accessibility\"));\r\nvar _selectors = require(\"../../../../ui/widget/selectors\");\r\nvar _memoize = require(\"../../../utils/memoize\");\r\nvar _const = require(\"../editing/const\");\r\nvar _m_modules = _interopRequireDefault(require(\"../m_modules\"));\r\nvar _m_utils = _interopRequireDefault(require(\"../m_utils\"));\r\nvar _const2 = require(\"./const\");\r\nvar _dom = require(\"./dom\");\r\nvar _m_keyboard_navigation_utils = require(\"./m_keyboard_navigation_utils\");\r\n\r\nfunction _getRequireWildcardCache(nodeInterop) {\r\n if (\"function\" !== typeof WeakMap) {\r\n return null\r\n }\r\n var cacheBabelInterop = new WeakMap;\r\n var cacheNodeInterop = new WeakMap;\r\n return (_getRequireWildcardCache = function(nodeInterop) {\r\n return nodeInterop ? cacheNodeInterop : cacheBabelInterop\r\n })(nodeInterop)\r\n}\r\n\r\nfunction _interopRequireWildcard(obj, nodeInterop) {\r\n if (!nodeInterop && obj && obj.__esModule) {\r\n return obj\r\n }\r\n if (null === obj || \"object\" !== _typeof(obj) && \"function\" !== typeof obj) {\r\n return {\r\n default: obj\r\n }\r\n }\r\n var cache = _getRequireWildcardCache(nodeInterop);\r\n if (cache && cache.has(obj)) {\r\n return cache.get(obj)\r\n }\r\n var newObj = {};\r\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\r\n for (var key in obj) {\r\n if (\"default\" !== key && Object.prototype.hasOwnProperty.call(obj, key)) {\r\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\r\n if (desc && (desc.get || desc.set)) {\r\n Object.defineProperty(newObj, key, desc)\r\n } else {\r\n newObj[key] = obj[key]\r\n }\r\n }\r\n }\r\n newObj.default = obj;\r\n if (cache) {\r\n cache.set(obj, newObj)\r\n }\r\n return newObj\r\n}\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar KeyboardNavigationController = function(_modules$ViewControll) {\r\n _inheritsLoose(KeyboardNavigationController, _modules$ViewControll);\r\n\r\n function KeyboardNavigationController() {\r\n return _modules$ViewControll.apply(this, arguments) || this\r\n }\r\n var _proto = KeyboardNavigationController.prototype;\r\n _proto.init = function() {\r\n var _this = this;\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 = (0, _memoize.memoize)(this._memoFireFocusedCellChanged.bind(this), {\r\n compareType: \"value\"\r\n });\r\n this._memoFireFocusedRowChanged = (0, _memoize.memoize)(this._memoFireFocusedRowChanged.bind(this), {\r\n compareType: \"value\"\r\n });\r\n if (this.isKeyboardEnabled()) {\r\n accessibility.subscribeVisibilityChange();\r\n this._updateFocusTimeout = null;\r\n this._fastEditingStarted = false;\r\n this._focusedCellPosition = {};\r\n this._canceledCellPosition = null;\r\n this._editorFactory.focused.add((function($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 this._initViewHandlers();\r\n this._initDocumentHandlers();\r\n this.createAction(\"onKeyDown\")\r\n }\r\n };\r\n _proto._initViewHandlers = function() {\r\n var _this2 = this;\r\n var rowsViewFocusHandler = function(event) {\r\n var _a;\r\n var $element = (0, _renderer.default)(event.target);\r\n var isRelatedTargetInRowsView = (0, _renderer.default)(event.relatedTarget).closest(_this2._rowsView.element()).length;\r\n var isLink = $element.is(\"a\");\r\n if (event.relatedTarget && isLink && !isRelatedTargetInRowsView && _this2._isEventInCurrentGrid(event)) {\r\n var $focusedCell = _this2._getFocusedCell();\r\n $focusedCell = !(0, _m_keyboard_navigation_utils.isElementDefined)($focusedCell) ? _this2._rowsView.getCellElements(0).filter(\"[tabindex]\").eq(0) : $focusedCell;\r\n if (!$element.closest($focusedCell).length) {\r\n event.preventDefault();\r\n _events_engine.default.trigger($focusedCell, \"focus\")\r\n }\r\n }\r\n var isCell = $element.is(\"td\");\r\n var needSetFocusPosition = (null !== (_a = _this2.option(\"focusedRowIndex\")) && void 0 !== _a ? _a : -1) < 0;\r\n if (isCell && needSetFocusPosition) {\r\n _this2._updateFocusedCellPosition($element)\r\n }\r\n };\r\n this._rowsView.renderCompleted.add((function(e) {\r\n var $rowsView = _this2._rowsView.element();\r\n var isFullUpdate = !e || \"refresh\" === e.changeType;\r\n var isFocusedViewCorrect = _this2._focusedView && _this2._focusedView.name === _this2._rowsView.name;\r\n var needUpdateFocus = false;\r\n var isAppend = e && (\"append\" === e.changeType || \"prepend\" === e.changeType);\r\n var root = (0, _renderer.default)(_dom_adapter.default.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 _events_engine.default.off($rowsView, \"focusin\", rowsViewFocusHandler);\r\n _events_engine.default.on($rowsView, \"focusin\", rowsViewFocusHandler);\r\n _this2._initPointerEventHandler();\r\n _this2._initKeyDownHandler();\r\n _this2._setRowsViewAttributes();\r\n if (isFocusedViewCorrect && isFocusedElementCorrect) {\r\n needUpdateFocus = _this2._isNeedFocus ? !isAppend : _this2._isHiddenFocus && isFullUpdate && !(null === e || void 0 === e ? void 0 : e.virtualColumnsScrolling);\r\n needUpdateFocus && _this2._updateFocus(true)\r\n }\r\n }))\r\n };\r\n _proto._initDocumentHandlers = function() {\r\n var _this3 = this;\r\n var document = _dom_adapter.default.getDocument();\r\n this._documentClickHandler = this.createAction((function(e) {\r\n var $target = (0, _renderer.default)(e.event.target);\r\n var isCurrentRowsViewClick = _this3._isEventInCurrentGrid(e.event) && $target.closest(\".\".concat(_this3.addWidgetPrefix(_const2.ROWS_VIEW_CLASS))).length;\r\n var isEditorOverlay = $target.closest(\".\".concat(_const2.DROPDOWN_EDITOR_OVERLAY_CLASS)).length;\r\n var columnsResizerController = _this3.getController(\"columnsResizer\");\r\n var isColumnResizing = !!columnsResizerController && columnsResizerController.isResizing();\r\n if (!isCurrentRowsViewClick && !isEditorOverlay && !isColumnResizing) {\r\n var targetInsideFocusedView = _this3._focusedView ? $target.parents().filter(_this3._focusedView.element()).length > 0 : false;\r\n !targetInsideFocusedView && _this3._resetFocusedCell(true);\r\n _this3._resetFocusedView()\r\n }\r\n }));\r\n _events_engine.default.on(document, (0, _index.addNamespace)(_pointer.default.down, \"dxDataGridKeyboardNavigation\"), this._documentClickHandler)\r\n };\r\n _proto._setRowsViewAttributes = function() {\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 _proto._initPointerEventHandler = function() {\r\n var pointerEventName = !(0, _m_keyboard_navigation_utils.isMobile)() ? _pointer.default.down : _click.name;\r\n var clickSelector = \".\".concat(_const.ROW_CLASS, \" > td, .\").concat(_const.ROW_CLASS);\r\n var $rowsView = this._getRowsViewElement();\r\n if (!(0, _type.isDefined)(this._pointerEventAction)) {\r\n this._pointerEventAction = this.createAction(this._pointerEventHandler)\r\n }\r\n _events_engine.default.off($rowsView, (0, _index.addNamespace)(pointerEventName, \"dxDataGridKeyboardNavigation\"), this._pointerEventAction);\r\n _events_engine.default.on($rowsView, (0, _index.addNamespace)(pointerEventName, \"dxDataGridKeyboardNavigation\"), clickSelector, this._pointerEventAction)\r\n };\r\n _proto._initKeyDownHandler = function() {\r\n var _this4 = this;\r\n var $rowsView = this._getRowsViewElement();\r\n _short.keyboard.off(this._keyDownListener);\r\n this._keyDownListener = _short.keyboard.on($rowsView, null, (function(e) {\r\n return _this4._keyDownHandler(e)\r\n }))\r\n };\r\n _proto.dispose = function() {\r\n _modules$ViewControll.prototype.dispose.call(this);\r\n this._resetFocusedView();\r\n _short.keyboard.off(this._keyDownListener);\r\n _events_engine.default.off(_dom_adapter.default.getDocument(), (0, _index.addNamespace)(_pointer.default.down, \"dxDataGridKeyboardNavigation\"), this._documentClickHandler);\r\n clearTimeout(this._updateFocusTimeout);\r\n accessibility.unsubscribeVisibilityChange()\r\n };\r\n _proto.optionChanged = function(args) {\r\n switch (args.name) {\r\n case \"keyboardNavigation\":\r\n case \"useLegacyKeyboardNavigation\":\r\n args.handled = true;\r\n break;\r\n default:\r\n _modules$ViewControll.prototype.optionChanged.call(this, args)\r\n }\r\n };\r\n _proto.isRowFocusType = function() {\r\n return this.focusType === _const2.FOCUS_TYPE_ROW\r\n };\r\n _proto.isCellFocusType = function() {\r\n return this.focusType === _const2.FOCUS_TYPE_CELL\r\n };\r\n _proto.setRowFocusType = function() {\r\n if (this.option(\"focusedRowEnabled\")) {\r\n this.focusType = _const2.FOCUS_TYPE_ROW\r\n }\r\n };\r\n _proto.setCellFocusType = function() {\r\n this.focusType = _const2.FOCUS_TYPE_CELL\r\n };\r\n _proto._keyDownHandler = function(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 originalEvent = e.originalEvent;\r\n if (originalEvent.isDefaultPrevented()) {\r\n this._isNeedFocus = false;\r\n this._isNeedScroll = false;\r\n return\r\n }!_const2.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 ((0, _index.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 this._escapeKeyHandler(e, isEditing);\r\n isHandled = true;\r\n break;\r\n case \"F\":\r\n if ((0, _index.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 _proto._processOnKeyDown = function(eventArgs) {\r\n var originalEvent = eventArgs.originalEvent;\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 _proto._closeEditCell = function() {\r\n var _this5 = this;\r\n setTimeout((function() {\r\n _this5._editingController.closeEditCell()\r\n }))\r\n };\r\n _proto._leftRightKeysHandler = function(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) && (0, _m_keyboard_navigation_utils.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 ((0, _m_keyboard_navigation_utils.isElementDefined)($cell)) {\r\n this._arrowKeysHandlerFocusCell($event, $cell, directionCode)\r\n }\r\n $event && $event.preventDefault()\r\n }\r\n };\r\n _proto._upDownKeysHandler = function(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 && !(0, _m_keyboard_navigation_utils.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 = (0, _size.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 _proto._pageUpDownKeyHandler = function(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 && (0, _size.getHeight)(scrollable.container()) < (0, _size.getHeight)(scrollable.$content())) {\r\n this._scrollBy(0, (0, _size.getHeight)(scrollable.container()) * pageStep);\r\n eventArgs.originalEvent.preventDefault()\r\n }\r\n };\r\n _proto._spaceKeyHandler = function(eventArgs, isEditing) {\r\n var rowIndex = this.getVisibleRowIndex();\r\n var $target = (0, _renderer.default)(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() && (0, _m_keyboard_navigation_utils.isDataRow)($target);\r\n var isFocusedSelectionCell = $target.hasClass(_const2.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(_const2.DATA_ROW_CLASS) || $target.hasClass(this.addWidgetPrefix(_const2.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 _proto._ctrlAKeyHandler = function(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 _proto._tabKeyHandler = function(eventArgs, isEditing) {\r\n var editingOptions = this.option(\"editing\");\r\n var direction = eventArgs.shift ? \"previous\" : \"next\";\r\n var isCellPositionDefined = (0, _type.isDefined)(this._focusedCellPosition) && !(0, _type.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 }(0, _renderer.default)(focusedViewElement).addClass(_const2.FOCUS_STATE_CLASS);\r\n if (editingOptions && eventTarget && !isOriginalHandlerRequired) {\r\n if ((0, _renderer.default)(eventTarget).hasClass(this.addWidgetPrefix(_const2.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 _proto._getMaxHorizontalOffset = function() {\r\n var scrollable = this.component.getScrollable();\r\n return scrollable ? scrollable.scrollWidth() - (0, _size.getWidth)(this._rowsView.element()) : 0\r\n };\r\n _proto._isColumnRendered = function(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 _proto._isFixedColumn = function(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 _proto._isColumnVirtual = function(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 _proto._processVirtualHorizontalPosition = function(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 ((0, _type.isDefined)(nextColumnIndex) && (0, _type.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 _proto._getHorizontalScrollPositionOffset = function(direction) {\r\n var positionOffset = 0;\r\n var $currentCell = this._getCell(this._focusedCellPosition);\r\n var currentCellWidth = $currentCell && (0, _size.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 _proto._editingCellTabHandler = function(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(_const2.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 columnsController = this._columnsController;\r\n var cellIndex = this._rowsView.getCellIndex($cell);\r\n var columnIndex = cellIndex + columnsController.getColumnIndexOffset();\r\n var column = columnsController.getVisibleColumns(null, true)[columnIndex];\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 _proto._targetCellTabHandler = function(eventArgs, direction) {\r\n var $event = eventArgs.originalEvent;\r\n var eventTarget = $event.target;\r\n var $cell = this._getCellElementFromTarget(eventTarget);\r\n var $lastInteractiveElement = this._getInteractiveElement($cell, !eventArgs.shift);\r\n var isOriginalHandlerRequired = false;\r\n var elementType;\r\n if (!(0, _m_keyboard_navigation_utils.isEditorCell)(this, $cell) && $lastInteractiveElement.length && eventTarget !== $lastInteractiveElement.get(0)) {\r\n isOriginalHandlerRequired = true\r\n } else {\r\n if (void 0 === this._focusedCellPosition.rowIndex && (0, _renderer.default)(eventTarget).hasClass(_const.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 && (0, _m_keyboard_navigation_utils.isDataRow)((0, _renderer.default)(eventTarget))) {\r\n eventTarget = this.getFirstValidCellInRow((0, _renderer.default)(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 (!(0, _m_keyboard_navigation_utils.isEditorCell)(this, $cell)) {\r\n this._focusInteractiveElement($cell, eventArgs.shift)\r\n }\r\n }\r\n return isOriginalHandlerRequired\r\n };\r\n _proto._getNextCellByTabKey = function($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 _proto._checkNewLineTransition = function($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 _proto._enterKeyHandler = function(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\") && (0, _m_keyboard_navigation_utils.isGroupRow)($row) || this.option(\"masterDetail.enabled\") && $cell && $cell.hasClass(_const2.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 {\r\n this._processEnterKeyForDataCell(eventArgs, isEditing)\r\n }\r\n };\r\n _proto._processEnterKeyForDataCell = function(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 _proto._getEnterKeyDirection = function(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 _proto._handleEnterKeyEditingCell = function(event) {\r\n var target = event.target;\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 _events_engine.default.trigger((0, _renderer.default)(target), \"change\");\r\n this._closeEditCell();\r\n event.preventDefault()\r\n }\r\n };\r\n _proto._escapeKeyHandler = function(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 }\r\n };\r\n _proto._ctrlFKeyHandler = function(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 _proto._f2KeyHandler = function() {\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 && (0, _m_keyboard_navigation_utils.isDataRow)($row)) {\r\n this._startEditing()\r\n }\r\n };\r\n _proto._navigateNextCell = function($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 _proto._arrowKeysHandlerFocusCell = function($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 _proto._beginFastEditing = function(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, _const2.FAST_EDITING_DELETE_KEY)\r\n } else {\r\n var key = originalEvent.key;\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 === _const2.FAST_EDITING_DELETE_KEY)) {\r\n this._startEditing(originalEvent, fastEditingKey)\r\n }\r\n }\r\n return true\r\n };\r\n _proto._pointerEventHandler = function(e) {\r\n var _a;\r\n var event = e.event || e;\r\n var $target = (0, _renderer.default)(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 = (0, _renderer.default)(event.target).is(_const2.INTERACTIVE_ELEMENTS_SELECTOR);\r\n var isRevertButton = !!(0, _renderer.default)(event.target).closest(\".\".concat(_const2.REVERT_BUTTON_CLASS)).length;\r\n var isExpandCommandCell = $target.hasClass(_const2.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) ? (0, _renderer.default)(event.target) : $target;\r\n this._focusView();\r\n (0, _renderer.default)(focusedViewElement).removeClass(_const2.FOCUS_STATE_CLASS);\r\n if ($parent.hasClass(_const2.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 _proto._clickTargetCellHandler = function(event, $cell) {\r\n var columnIndex = this._rowsView.getCellIndex($cell);\r\n var column = this._columnsController.getVisibleColumns()[columnIndex];\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 && (0, _renderer.default)(event.target).closest(\"\".concat(_const2.NON_FOCUSABLE_ELEMENTS_SELECTOR, \", td\"));\r\n var skipFocusEvent = $target && $target.not($cell).is(_const2.NON_FOCUSABLE_ELEMENTS_SELECTOR);\r\n var isEditor = !!column && !column.command && $cell.hasClass(_const.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 _proto._allowRowUpdating = function() {\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 _proto.focus = function(element) {\r\n var activeElementSelector;\r\n var focusedRowEnabled = this.option(\"focusedRowEnabled\");\r\n var isHighlighted = this._isCellElement((0, _renderer.default)(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((0, _renderer.default)(element), isHighlighted)\r\n };\r\n _proto.getFocusedView = function() {\r\n return this._focusedView\r\n };\r\n _proto.setupFocusedView = function() {\r\n if (this.isKeyboardEnabled() && !(0, _type.isDefined)(this._focusedView)) {\r\n this._focusView()\r\n }\r\n };\r\n _proto._focusElement = function($element, isHighlighted) {\r\n var rowsViewElement = (0, _renderer.default)(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) || (0, _m_keyboard_navigation_utils.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 _proto._getFocusedViewByElement = function($element) {\r\n var view = this.getFocusedView();\r\n var $view = view && (0, _renderer.default)(view.element());\r\n return $element && 0 !== $element.closest($view).length\r\n };\r\n _proto._focusView = function() {\r\n this._focusedView = this._rowsView\r\n };\r\n _proto._resetFocusedView = function() {\r\n this.setRowFocusType();\r\n this._focusedView = null\r\n };\r\n _proto._focusInteractiveElement = function($cell, isLast) {\r\n if (!$cell) {\r\n return\r\n }\r\n var $focusedElement = this._getInteractiveElement($cell, isLast);\r\n _m_utils.default.focusAndSelectElement(this, $focusedElement)\r\n };\r\n _proto._focus = function($cell, disableFocus, skipFocusEvent) {\r\n var $row = $cell && !$cell.hasClass(_const.ROW_CLASS) ? $cell.closest(\".\".concat(_const.ROW_CLASS)) : $cell;\r\n if ($row && (0, _m_keyboard_navigation_utils.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 = (0, _m_keyboard_navigation_utils.isGroupRow)($row) || (0, _m_keyboard_navigation_utils.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(_const2.CELL_FOCUS_DISABLED_CLASS).removeClass(_const2.FOCUSED_CLASS).removeAttr(\"tabindex\")\r\n }\r\n _events_engine.default.one($focusElement, \"blur\", (function(e) {\r\n if (e.relatedTarget) {\r\n $focusElement.removeClass(_const2.CELL_FOCUS_DISABLED_CLASS).removeClass(_const2.FOCUSED_CLASS)\r\n }\r\n }));\r\n if (!skipFocusEvent) {\r\n this._applyTabIndexToElement($focusElement);\r\n _events_engine.default.trigger($focusElement, \"focus\")\r\n }\r\n if (disableFocus) {\r\n $focusElement.addClass(_const2.CELL_FOCUS_DISABLED_CLASS);\r\n if (isRowFocus) {\r\n $cell.addClass(_const2.CELL_FOCUS_DISABLED_CLASS)\r\n }\r\n } else {\r\n this._editorFactory.focus($focusElement)\r\n }\r\n }\r\n };\r\n _proto._updateFocus = function(isRenderView) {\r\n var _this6 = this;\r\n this._updateFocusTimeout = setTimeout((function() {\r\n var editingController = _this6._editingController;\r\n var isCellEditMode = editingController.getEditMode() === _const.EDIT_MODE_CELL;\r\n var isBatchEditMode = editingController.getEditMode() === _const.EDIT_MODE_BATCH;\r\n if (isCellEditMode && editingController.hasChanges() || isBatchEditMode && editingController.isNewRowInEditMode()) {\r\n editingController._focusEditingCell();\r\n return\r\n }\r\n var $cell = _this6._getFocusedCell();\r\n var isEditing = editingController.isEditing();\r\n if ($cell && !(_this6._isMasterDetailCell($cell) && !_this6._isRowEditMode())) {\r\n if (_this6._hasSkipRow($cell.parent())) {\r\n var direction = _this6._focusedCellPosition && _this6._focusedCellPosition.rowIndex > 0 ? \"upArrow\" : \"downArrow\";\r\n $cell = _this6._getNextCell(direction)\r\n }\r\n if ((0, _m_keyboard_navigation_utils.isElementDefined)($cell)) {\r\n if ($cell.is(\"td\") || $cell.hasClass(_this6.addWidgetPrefix(_const2.EDIT_FORM_ITEM_CLASS))) {\r\n var isCommandCell = $cell.is(_const2.COMMAND_CELL_SELECTOR);\r\n var $focusedElementInsideCell = $cell.find(\":focus\");\r\n var isFocusedElementDefined = (0, _m_keyboard_navigation_utils.isElementDefined)($focusedElementInsideCell);\r\n if ((isRenderView || !isCommandCell) && _this6._editorFactory.focus()) {\r\n if (isCommandCell && isFocusedElementDefined) {\r\n _m_utils.default.focusAndSelectElement(_this6, $focusedElementInsideCell);\r\n return\r\n }!isFocusedElementDefined && _this6._focus($cell)\r\n } else if (!isFocusedElementDefined && (_this6._isNeedFocus || _this6._isHiddenFocus)) {\r\n _this6._focus($cell, _this6._isHiddenFocus)\r\n }\r\n if (isEditing) {\r\n _this6._focusInteractiveElement.bind(_this6)($cell)\r\n }\r\n } else {\r\n _events_engine.default.trigger($cell, \"focus\")\r\n }\r\n }\r\n }\r\n }))\r\n };\r\n _proto._getFocusedCell = function() {\r\n return (0, _renderer.default)(this._getCell(this._focusedCellPosition))\r\n };\r\n _proto._updateFocusedCellPositionByTarget = function(target) {\r\n var _a;\r\n var elementType = this._getElementType(target);\r\n if (\"row\" === elementType && (0, _type.isDefined)(null === (_a = this._focusedCellPosition) || void 0 === _a ? void 0 : _a.columnIndex)) {\r\n var $row = (0, _renderer.default)(target);\r\n this._focusedView && (0, _m_keyboard_navigation_utils.isGroupRow)($row) && this.setFocusedRowIndex(this._getRowIndex($row))\r\n } else {\r\n this._updateFocusedCellPosition(this._getCellElementFromTarget(target))\r\n }\r\n };\r\n _proto._updateFocusedCellPosition = function($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 _proto._getFocusedColumnIndexOffset = function(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 _proto._getFixedColumnIndexOffset = function(column) {\r\n var offset = (0, _m_keyboard_navigation_utils.isFixedColumnIndexOffsetRequired)(this, column) ? this._getVisibleColumnCount() - this._columnsController.getVisibleColumns().length : 0;\r\n return offset\r\n };\r\n _proto._getCellPosition = function($cell, direction) {\r\n var columnIndex;\r\n var $row = (0, _m_keyboard_navigation_utils.isElementDefined)($cell) && $cell.closest(\"tr\");\r\n if ((0, _m_keyboard_navigation_utils.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 _proto._focusCell = function($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 _proto._focusEditFormCell = function($cell) {\r\n if ($cell.hasClass(_const2.MASTER_DETAIL_CELL_CLASS)) {\r\n this._editorFactory.focus($cell, true)\r\n }\r\n };\r\n _proto._resetFocusedCell = function(preventScroll) {\r\n var _a;\r\n var $cell = this._getFocusedCell();\r\n (0, _m_keyboard_navigation_utils.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 _proto.restoreFocusableElement = function(rowIndex, $event) {\r\n var args;\r\n var $rowElement;\r\n var isUpArrow = (0, _type.isDefined)(rowIndex);\r\n var $rowsViewElement = this._rowsView.element();\r\n var columnIndex = this._focusedCellPosition.columnIndex;\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 _events_engine.default.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 _proto._getNewPositionByCode = function(cellPosition, elementType, code) {\r\n var columnIndex = cellPosition.columnIndex;\r\n var rowIndex = cellPosition.rowIndex;\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 _proto.setFocusedCellPosition = function(rowIndex, columnIndex) {\r\n this.setFocusedRowIndex(rowIndex);\r\n this.setFocusedColumnIndex(columnIndex)\r\n };\r\n _proto.setFocusedRowIndex = function(rowIndex) {\r\n if (!this._focusedCellPosition) {\r\n this._focusedCellPosition = {}\r\n }\r\n this._focusedCellPosition.rowIndex = rowIndex\r\n };\r\n _proto.setFocusedColumnIndex = function(columnIndex) {\r\n if (!this._focusedCellPosition) {\r\n this._focusedCellPosition = {}\r\n }\r\n this._focusedCellPosition.columnIndex = columnIndex\r\n };\r\n _proto.getRowIndex = function() {\r\n return this._focusedCellPosition ? this._focusedCellPosition.rowIndex : -1\r\n };\r\n _proto.getColumnIndex = function() {\r\n return this._focusedCellPosition ? this._focusedCellPosition.columnIndex : -1\r\n };\r\n _proto.getVisibleRowIndex = function() {\r\n var _a;\r\n var rowIndex = null === (_a = this._focusedCellPosition) || void 0 === _a ? void 0 : _a.rowIndex;\r\n return !(0, _type.isDefined)(rowIndex) || rowIndex < 0 ? -1 : rowIndex - this._dataController.getRowIndexOffset()\r\n };\r\n _proto.getVisibleColumnIndex = function() {\r\n var _a;\r\n var columnIndex = null === (_a = this._focusedCellPosition) || void 0 === _a ? void 0 : _a.columnIndex;\r\n return !(0, _type.isDefined)(columnIndex) ? -1 : columnIndex - this._columnsController.getColumnIndexOffset()\r\n };\r\n _proto._applyColumnIndexBoundaries = function(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 _proto._isCellByPositionValid = function(cellPosition) {\r\n var $cell = (0, _renderer.default)(this._getCell(cellPosition));\r\n return this._isCellValid($cell)\r\n };\r\n _proto._isLastRow = function(rowIndex) {\r\n var dataController = this._dataController;\r\n var visibleItems = dataController.items().filter((function(item) {\r\n return false !== item.visible\r\n }));\r\n if (this._isVirtualRowRender()) {\r\n return rowIndex >= dataController.getMaxRowIndex()\r\n }\r\n return rowIndex === visibleItems.length - 1\r\n };\r\n _proto._isFirstValidCell = function(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 _proto._hasValidCellBeforePosition = function(cellPosition) {\r\n var columnIndex = cellPosition.columnIndex;\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 _proto._hasValidCellAfterPosition = function(cellPosition) {\r\n var columnIndex = cellPosition.columnIndex;\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 _proto._isLastValidCell = function(cellPosition) {\r\n var nextColumnIndex = cellPosition.columnIndex >= 0 ? cellPosition.columnIndex + 1 : 0;\r\n var rowIndex = cellPosition.rowIndex;\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 _proto._isCellValid = function($cell, isClick) {\r\n if ((0, _m_keyboard_navigation_utils.isElementDefined)($cell)) {\r\n var $row = $cell.parent();\r\n var columnsController = this._columnsController;\r\n var columnIndex = this._rowsView.getCellIndex($cell) + columnsController.getColumnIndexOffset();\r\n var column = columnsController.getVisibleColumns(null, true)[columnIndex];\r\n var visibleColumnCount = this._getVisibleColumnCount();\r\n var editingController = this._editingController;\r\n var isMasterDetailRow = (0, _m_keyboard_navigation_utils.isDetailRow)($row);\r\n var isShowWhenGrouped = column && column.showWhenGrouped;\r\n var isDataCell = column && !$cell.hasClass(_const2.COMMAND_EXPAND_CLASS) && (0, _m_keyboard_navigation_utils.isDataRow)($row);\r\n var isDragCell = _dom.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 && (!(0, _type.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 _proto.getFirstValidCellInRow = function($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 _proto._getNextCell = function(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 = (0, _renderer.default)(this._getCell(newFocusedCellPosition));\r\n var isLastCellOnDirection = \"previous\" === keyCode ? this._isFirstValidCell(newFocusedCellPosition) : this._isLastValidCell(newFocusedCellPosition);\r\n if ((0, _m_keyboard_navigation_utils.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 = (0, _m_keyboard_navigation_utils.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 (0, _m_keyboard_navigation_utils.isElementDefined)($cell) ? $cell : null\r\n }\r\n return null\r\n };\r\n _proto._startEditing = function(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 _proto._isAllowEditing = function(row, column) {\r\n return this._editingController.allowUpdating({\r\n row: row\r\n }) && column && column.allowEditing\r\n };\r\n _proto._editFocusedCell = function() {\r\n var rowIndex = this.getVisibleRowIndex();\r\n var colIndex = this.getVisibleColumnIndex();\r\n return this._editingController.editCell(rowIndex, colIndex)\r\n };\r\n _proto._startEditCell = function(eventArgs, fastEditingKey) {\r\n var _this7 = this;\r\n this._fastEditingStarted = (0, _type.isDefined)(fastEditingKey);\r\n var editResult = this._editFocusedCell();\r\n var isEditResultDeferred = (0, _type.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 === _const2.FAST_EDITING_DELETE_KEY ? \"\" : fastEditingKey;\r\n var editResultDeferred = isEditResultDeferred ? editResult : (0, _deferred.Deferred)().resolve();\r\n var waitTemplatesDeferred = this._rowsView.waitAsyncTemplates(true);\r\n (0, _deferred.when)(editResultDeferred, waitTemplatesDeferred).done((function() {\r\n _this7._editingCellHandler(eventArgs, editorValue)\r\n }))\r\n };\r\n _proto._editingCellHandler = function(eventArgs, editorValue) {\r\n var _a, _b;\r\n var $input = this._getFocusedCell().find(_const2.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 = (0, _index.createEvent)(eventArgs, {\r\n type: \"keydown\",\r\n target: $inputElement\r\n });\r\n var keyPressEvent = (0, _index.createEvent)(eventArgs, {\r\n type: \"keypress\",\r\n target: $inputElement\r\n });\r\n var inputEvent = (0, _index.createEvent)(eventArgs, {\r\n type: \"input\",\r\n target: $inputElement\r\n });\r\n if (inputEvent.originalEvent) {\r\n inputEvent.originalEvent = (0, _index.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 _events_engine.default.trigger($input, keyDownEvent);\r\n if (!keyDownEvent.isDefaultPrevented()) {\r\n _events_engine.default.trigger($input, keyPressEvent);\r\n if (!keyPressEvent.isDefaultPrevented()) {\r\n var timeout = _browser.default.mozilla ? 25 : 0;\r\n setTimeout((function() {\r\n $input.val(editorValue);\r\n var $widgetContainer = $input.closest(\".\".concat(_const2.WIDGET_CLASS));\r\n _events_engine.default.off($widgetContainer, \"focusout\");\r\n _events_engine.default.one($widgetContainer, \"focusout\", (function() {\r\n _events_engine.default.trigger($input, \"change\")\r\n }));\r\n _events_engine.default.trigger($input, inputEvent)\r\n }), timeout)\r\n }\r\n }\r\n };\r\n _proto._fireFocusChangingEvents = function($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 = (0, _renderer.default)(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 = (0, _renderer.default)(this._getCell(cellPosition));\r\n if (!args.$newCellElement.length) {\r\n args.$newCellElement = $cell\r\n }\r\n return args\r\n };\r\n _proto._fireFocusedCellChanging = function($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 = (0, _renderer.default)(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 _proto._fireFocusedCellChanged = function($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 _proto._memoFireFocusedCellChanged = function(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 ? (0, _element.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 _proto._fireFocusedRowChanging = function(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 if (!this._dataController || this._dataController.isLoading() && (loadingOperationTypes.reload || loadingOperationTypes.paging)) {\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 _proto._fireFocusedRowChanged = function() {\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 || (0, _type.isDefined)(focusedRowKey) && focusedRowIndex < 0) {\r\n return\r\n }\r\n this._memoFireFocusedRowChanged(focusedRowKey, focusedRowIndex)\r\n };\r\n _proto._memoFireFocusedRowChanged = function(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 _proto._isEventInCurrentGrid = function(event) {\r\n return _m_utils.default.isElementInCurrentGrid(this, (0, _renderer.default)(event.target))\r\n };\r\n _proto._isRowEditMode = function() {\r\n var editMode = this._editingController.getEditMode();\r\n return editMode === _const.EDIT_MODE_ROW || editMode === _const.EDIT_MODE_FORM\r\n };\r\n _proto._isCellEditMode = function() {\r\n var editMode = this._editingController.getEditMode();\r\n return editMode === _const.EDIT_MODE_CELL || editMode === _const.EDIT_MODE_BATCH\r\n };\r\n _proto._isFastEditingAllowed = function() {\r\n return this._isCellEditMode() && this.option(\"keyboardNavigation.editOnKeyPress\")\r\n };\r\n _proto._getInteractiveElement = function($cell, isLast) {\r\n var $focusedElement = $cell.find(_const2.INTERACTIVE_ELEMENTS_SELECTOR).filter(\":visible\");\r\n return isLast ? $focusedElement.last() : $focusedElement.first()\r\n };\r\n _proto._applyTabIndexToElement = function($element) {\r\n var tabIndex = this.option(\"tabIndex\") || 0;\r\n $element.attr(\"tabindex\", (0, _type.isDefined)(tabIndex) ? tabIndex : 0)\r\n };\r\n _proto._getCell = function(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 _proto._getRowIndex = function($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 _proto._hasSkipRow = function($row) {\r\n var row = $row && $row.get(0);\r\n return row && (\"none\" === row.style.display || (0, _m_keyboard_navigation_utils.isDetailRow)($row) && !$row.hasClass(this.addWidgetPrefix(_const.EDIT_FORM_CLASS)))\r\n };\r\n _proto._allowEditingOnEnterKey = function() {\r\n return \"startEdit\" === this.option(\"keyboardNavigation.enterKeyAction\")\r\n };\r\n _proto._isLegacyNavigation = function() {\r\n return this.option(\"useLegacyKeyboardNavigation\")\r\n };\r\n _proto._getDirectionCodeByKey = function(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 _proto._isVirtualScrolling = function() {\r\n var scrollingMode = this.option(\"scrolling.mode\");\r\n return \"virtual\" === scrollingMode || \"infinite\" === scrollingMode\r\n };\r\n _proto._isVirtualRowRender = function() {\r\n return this._isVirtualScrolling() || _m_utils.default.isVirtualRowRendering(this)\r\n };\r\n _proto._isVirtualColumnRender = function() {\r\n return \"virtual\" === this.option(\"scrolling.columnRenderingMode\")\r\n };\r\n _proto._scrollBy = function(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 _proto._isInsideEditForm = function(element) {\r\n var $editForm = (0, _renderer.default)(element).closest(\".\".concat(this.addWidgetPrefix(_const.EDIT_FORM_CLASS)));\r\n return $editForm.length && this.elementIsInsideGrid($editForm)\r\n };\r\n _proto._isMasterDetailCell = function(element) {\r\n var $masterDetailCell = (0, _renderer.default)(element).closest(\".\".concat(_const2.MASTER_DETAIL_CELL_CLASS));\r\n return $masterDetailCell.length && this.elementIsInsideGrid($masterDetailCell)\r\n };\r\n _proto._processNextCellInMasterDetail = function($nextCell, _$cell) {\r\n if (!this._isInsideEditForm($nextCell) && $nextCell) {\r\n this._applyTabIndexToElement($nextCell)\r\n }\r\n };\r\n _proto._handleTabKeyOnMasterDetailCell = function(target, direction) {\r\n if (this._isMasterDetailCell(target)) {\r\n this._updateFocusedCellPosition((0, _renderer.default)(target), direction);\r\n var $nextCell = this._getNextCell(direction, \"row\");\r\n this._processNextCellInMasterDetail($nextCell, (0, _renderer.default)(target));\r\n return true\r\n }\r\n return false\r\n };\r\n _proto._getElementType = function(target) {\r\n return (0, _renderer.default)(target).is(\"tr\") ? \"row\" : \"cell\"\r\n };\r\n _proto._isFastEditingStarted = function() {\r\n return this._isFastEditingAllowed() && this._fastEditingStarted\r\n };\r\n _proto._getVisibleColumnCount = function() {\r\n return this._columnsController.getVisibleColumns(null, true).length\r\n };\r\n _proto._isCellInRow = function(cellPosition, includeCommandCells) {\r\n var columnIndex = cellPosition.columnIndex;\r\n var visibleColumnsCount = this._getVisibleColumnCount();\r\n return includeCommandCells ? columnIndex >= 0 && columnIndex <= visibleColumnsCount - 1 : columnIndex > 0 && columnIndex < visibleColumnsCount - 1\r\n };\r\n _proto._isCellElement = function($element) {\r\n return $element.length && \"TD\" === $element[0].tagName\r\n };\r\n _proto._getCellElementFromTarget = function(target) {\r\n var elementType = this._getElementType(target);\r\n var $targetElement = (0, _renderer.default)(target);\r\n var $cell;\r\n if (\"cell\" === elementType) {\r\n $cell = $targetElement.closest(\".\".concat(_const.ROW_CLASS, \" > td\"))\r\n } else {\r\n $cell = $targetElement.children().not(\".\".concat(_const2.COMMAND_EXPAND_CLASS)).first()\r\n }\r\n return $cell\r\n };\r\n _proto._getRowsViewElement = function() {\r\n var _a;\r\n return null === (_a = this._rowsView) || void 0 === _a ? void 0 : _a.element()\r\n };\r\n _proto.isKeyboardEnabled = function() {\r\n return this.option(\"keyboardNavigation.enabled\")\r\n };\r\n _proto._processCanceledEditCellPosition = function(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 _proto.updateFocusedRowIndex = function() {\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 return KeyboardNavigationController\r\n}(_m_modules.default.ViewController);\r\nexports.KeyboardNavigationController = KeyboardNavigationController;\r\nvar keyboardNavigationModule = {\r\n defaultOptions: function() {\r\n return {\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 },\r\n controllers: {\r\n keyboardNavigation: KeyboardNavigationController\r\n },\r\n extenders: {\r\n views: {\r\n rowsView: {\r\n _rowClick: function(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 = ((0, _m_keyboard_navigation_utils.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: function(e, force) {\r\n var originalEvent = e.event.originalEvent;\r\n if (originalEvent) {\r\n var keyboardController = this.getController(\"keyboardNavigation\");\r\n var $cell = (0, _renderer.default)(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 = (0, _index.createEvent)(originalEvent, {\r\n currentTarget: originalEvent.target\r\n });\r\n keyboardController._pointerEventHandler(eventArgs)\r\n }\r\n }\r\n },\r\n renderFocusState: function(params) {\r\n var _ref = null !== params && void 0 !== params ? params : {},\r\n preventScroll = _ref.preventScroll,\r\n pageSizeChanged = _ref.pageSizeChanged;\r\n var keyboardController = this.getController(\"keyboardNavigation\");\r\n var $rowsViewElement = this.element();\r\n if ($rowsViewElement && !(0, _selectors.focused)($rowsViewElement)) {\r\n $rowsViewElement.attr(\"tabindex\", null)\r\n }\r\n pageSizeChanged && keyboardController.updateFocusedRowIndex();\r\n var rowIndex = keyboardController.getVisibleRowIndex();\r\n if (!(0, _type.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: function(cellElements) {\r\n var keyboardController = this.getController(\"keyboardNavigation\");\r\n var $row = cellElements.eq(0).parent();\r\n if ((0, _m_keyboard_navigation_utils.isGroupRow)($row)) {\r\n keyboardController._applyTabIndexToElement($row)\r\n } else {\r\n var columnIndex = keyboardController.getColumnIndex();\r\n if (!(0, _type.isDefined)(columnIndex) || columnIndex < 0) {\r\n columnIndex = 0\r\n }\r\n this._updateFocusedCellTabIndex(cellElements, columnIndex)\r\n }\r\n },\r\n _updateFocusedCellTabIndex: function(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 = _dom.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((0, _renderer.default)(cellElements[i]))) {\r\n break\r\n }\r\n }\r\n }\r\n },\r\n renderDelayedTemplates: function(change) {\r\n this.callBase.apply(this, arguments);\r\n this._renderFocusByChange(change)\r\n },\r\n _renderFocusByChange: function(change) {\r\n var _ref2 = null !== change && void 0 !== change ? change : {},\r\n operationTypes = _ref2.operationTypes,\r\n repaintChangesOnly = _ref2.repaintChangesOnly;\r\n var _ref3 = null !== operationTypes && void 0 !== operationTypes ? operationTypes : {},\r\n fullReload = _ref3.fullReload,\r\n pageSize = _ref3.pageSize;\r\n if (!change || !repaintChangesOnly || fullReload || pageSize) {\r\n var preventScroll = (0, _m_keyboard_navigation_utils.shouldPreventScroll)(this);\r\n this.renderFocusState({\r\n preventScroll: preventScroll,\r\n pageSizeChanged: pageSize\r\n })\r\n }\r\n },\r\n _renderCore: function(change) {\r\n var deferred = this.callBase.apply(this, arguments);\r\n this._renderFocusByChange(change);\r\n return deferred\r\n },\r\n _editCellPrepared: function($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: function(editorInstance) {\r\n [\"downArrow\", \"upArrow\"].forEach((function(keyName) {\r\n var originalKeyHandler = editorInstance._supportedKeys()[keyName];\r\n editorInstance.registerKeyHandler(keyName, (function(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\", _common.noop);\r\n editorInstance.registerKeyHandler(\"rightArrow\", _common.noop);\r\n var isDateBoxWithMask = editorInstance.NAME === _const2.DATEBOX_WIDGET_NAME && editorInstance.option(\"useMaskBehavior\");\r\n if (isDateBoxWithMask) {\r\n editorInstance.registerKeyHandler(\"enter\", _common.noop)\r\n }\r\n },\r\n _getEditorInstance: function($cell) {\r\n var $editor = $cell.find(\".dx-texteditor\").eq(0);\r\n return _m_utils.default.getWidgetInstance($editor)\r\n }\r\n }\r\n },\r\n controllers: {\r\n editing: {\r\n editCell: function(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: function(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\") === _const.EDIT_MODE_FORM) {\r\n keyboardController._resetFocusedCell()\r\n }\r\n this.callBase(rowIndex)\r\n },\r\n addRow: function(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: function(rowIndex) {\r\n var keyboardNavigationController = this.getController(\"keyboardNavigation\");\r\n var $cell = this.callBase(rowIndex);\r\n if (keyboardNavigationController.isKeyboardEnabled() && keyboardNavigationController._focusedCellPosition.rowIndex === rowIndex) {\r\n var $focusedCell = keyboardNavigationController._getFocusedCell();\r\n if ((0, _m_keyboard_navigation_utils.isElementDefined)($focusedCell) && !$focusedCell.hasClass(_const2.COMMAND_EDIT_CLASS)) {\r\n $cell = $focusedCell\r\n }\r\n }\r\n return $cell\r\n },\r\n _processCanceledEditingCell: function() {\r\n var _this8 = this;\r\n this.closeEditCell().done((function() {\r\n var keyboardNavigation = _this8.getController(\"keyboardNavigation\");\r\n keyboardNavigation._updateFocus()\r\n }))\r\n },\r\n init: function() {\r\n this.callBase();\r\n this._keyboardNavigationController = this.getController(\"keyboardNavigation\")\r\n },\r\n closeEditCell: function() {\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: function() {\r\n this._keyboardNavigationController._isNeedScroll = true;\r\n this.callBase.apply(this, arguments)\r\n },\r\n _isEditingStart: function() {\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: function(getRowIndexCorrection) {\r\n var that = this;\r\n var keyboardNavigationController = that.getController(\"keyboardNavigation\");\r\n var editorFactory = that.getController(\"editorFactory\");\r\n var focusedCellPosition = keyboardNavigationController._focusedCellPosition;\r\n that.callBase.apply(that, 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: function() {\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: function(_ref4) {\r\n var viewName = _ref4.viewName,\r\n $cells = _ref4.$cells,\r\n isCommandColumn = _ref4.isCommandColumn;\r\n this.callBase.apply(this, arguments);\r\n viewName === _const2.COLUMN_HEADERS_VIEW && !isCommandColumn && $cells.each((function(_, cellElement) {\r\n var $cell = (0, _renderer.default)(cellElement);\r\n (0, _m_keyboard_navigation_utils.isCellInHeaderRow)($cell) && $cell.attr(\"tabindex\", 0)\r\n }))\r\n },\r\n _hideVisibleCellInView: function(_ref5) {\r\n var viewName = _ref5.viewName,\r\n $cell = _ref5.$cell,\r\n isCommandColumn = _ref5.isCommandColumn;\r\n this.callBase.apply(this, arguments);\r\n if (viewName === _const2.COLUMN_HEADERS_VIEW && !isCommandColumn && (0, _m_keyboard_navigation_utils.isCellInHeaderRow)($cell)) {\r\n $cell.removeAttr(\"tabindex\")\r\n }\r\n }\r\n }\r\n }\r\n }\r\n};\r\nexports.keyboardNavigationModule = keyboardNavigationModule;\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/grid_core/keyboard_navigation/m_keyboard_navigation_utils.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.isCellInHeaderRow = isCellInHeaderRow;\r\nexports.isDataRow = isDataRow;\r\nexports.isDetailRow = isDetailRow;\r\nexports.isEditorCell = isEditorCell;\r\nexports.isElementDefined = isElementDefined;\r\nexports.isFixedColumnIndexOffsetRequired = isFixedColumnIndexOffsetRequired;\r\nexports.isGroupFooterRow = isGroupFooterRow;\r\nexports.isGroupRow = isGroupRow;\r\nexports.isMobile = isMobile;\r\nexports.isNotFocusedRow = isNotFocusedRow;\r\nexports.shouldPreventScroll = shouldPreventScroll;\r\nvar _devices = _interopRequireDefault(require(\"../../../../core/devices\"));\r\nvar _type = require(\"../../../../core/utils/type\");\r\nvar _const = require(\"../editing/const\");\r\nvar _const2 = require(\"./const\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar DATAGRID_GROUP_FOOTER_CLASS = \"dx-datagrid-group-footer\";\r\n\r\nfunction isGroupRow($row) {\r\n return $row && $row.hasClass(_const2.GROUP_ROW_CLASS)\r\n}\r\n\r\nfunction isGroupFooterRow($row) {\r\n return $row && $row.hasClass(DATAGRID_GROUP_FOOTER_CLASS)\r\n}\r\n\r\nfunction isDetailRow($row) {\r\n return $row && $row.hasClass(_const2.MASTER_DETAIL_ROW_CLASS)\r\n}\r\n\r\nfunction isDataRow($row) {\r\n return $row && $row.hasClass(_const2.DATA_ROW_CLASS)\r\n}\r\n\r\nfunction isNotFocusedRow($row) {\r\n return !$row || $row.hasClass(_const2.FREESPACE_ROW_CLASS) || $row.hasClass(_const2.VIRTUAL_ROW_CLASS)\r\n}\r\n\r\nfunction isEditorCell(that, $cell) {\r\n return !that._isRowEditMode() && $cell && !$cell.hasClass(_const2.COMMAND_SELECT_CLASS) && $cell.hasClass(_const.EDITOR_CELL_CLASS)\r\n}\r\n\r\nfunction isElementDefined($element) {\r\n return (0, _type.isDefined)($element) && $element.length > 0\r\n}\r\n\r\nfunction isMobile() {\r\n return \"desktop\" !== _devices.default.current().deviceType\r\n}\r\n\r\nfunction isCellInHeaderRow($cell) {\r\n return !!$cell.parent(\".\".concat(_const2.HEADER_ROW_CLASS)).length\r\n}\r\n\r\nfunction isFixedColumnIndexOffsetRequired(that, column) {\r\n var rtlEnabled = that.option(\"rtlEnabled\");\r\n if (rtlEnabled) {\r\n return !(\"right\" === column.fixedPosition || (0, _type.isDefined)(column.command) && !(0, _type.isDefined)(column.fixedPosition))\r\n }\r\n return !(!(0, _type.isDefined)(column.fixedPosition) || \"left\" === column.fixedPosition)\r\n}\r\n\r\nfunction 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 (cjs/__internal/grids/grid_core/m_accessibility.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.registerKeyboardAction = void 0;\r\nvar accessibility = _interopRequireWildcard(require(\"../../../ui/shared/accessibility\"));\r\n\r\nfunction _getRequireWildcardCache(nodeInterop) {\r\n if (\"function\" !== typeof WeakMap) {\r\n return null\r\n }\r\n var cacheBabelInterop = new WeakMap;\r\n var cacheNodeInterop = new WeakMap;\r\n return (_getRequireWildcardCache = function(nodeInterop) {\r\n return nodeInterop ? cacheNodeInterop : cacheBabelInterop\r\n })(nodeInterop)\r\n}\r\n\r\nfunction _interopRequireWildcard(obj, nodeInterop) {\r\n if (!nodeInterop && obj && obj.__esModule) {\r\n return obj\r\n }\r\n if (null === obj || \"object\" !== _typeof(obj) && \"function\" !== typeof obj) {\r\n return {\r\n default: obj\r\n }\r\n }\r\n var cache = _getRequireWildcardCache(nodeInterop);\r\n if (cache && cache.has(obj)) {\r\n return cache.get(obj)\r\n }\r\n var newObj = {};\r\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\r\n for (var key in obj) {\r\n if (\"default\" !== key && Object.prototype.hasOwnProperty.call(obj, key)) {\r\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\r\n if (desc && (desc.get || desc.set)) {\r\n Object.defineProperty(newObj, key, desc)\r\n } else {\r\n newObj[key] = obj[key]\r\n }\r\n }\r\n }\r\n newObj.default = obj;\r\n if (cache) {\r\n cache.set(obj, newObj)\r\n }\r\n return newObj\r\n}\r\nvar 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, (function(args) {\r\n instance.executeAction(\"onKeyDown\", args)\r\n }))\r\n};\r\nexports.registerKeyboardAction = registerKeyboardAction;\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/grid_core/m_export.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.prepareItems = prepareItems;\r\nvar _extend = require(\"../../../core/utils/extend\");\r\n\r\nfunction prepareItems(items, emptyCell) {\r\n var defaultSetter = function(value) {\r\n return !value ? 1 : value\r\n };\r\n var resultItems = [];\r\n var cols = (items[0] || []).reduce((function(sum, item) {\r\n return sum + defaultSetter(item.colspan)\r\n }), 0);\r\n var getItem = function(items) {\r\n var rowIndex = 0;\r\n var cellIndex = 0;\r\n return function() {\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 = function 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 = function(item) {\r\n return (0, _extend.extend)({}, item, emptyCell)\r\n }(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\n","/**\r\n * DevExtreme (cjs/__internal/grids/grid_core/m_modules.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.default = void 0;\r\nexports.processModules = processModules;\r\nvar _class = _interopRequireDefault(require(\"../../../core/class\"));\r\nvar _renderer = _interopRequireDefault(require(\"../../../core/renderer\"));\r\nvar _callbacks = _interopRequireDefault(require(\"../../../core/utils/callbacks\"));\r\nvar _common = require(\"../../../core/utils/common\");\r\nvar _iterator = require(\"../../../core/utils/iterator\");\r\nvar _type = require(\"../../../core/utils/type\");\r\nvar _window = require(\"../../../core/utils/window\");\r\nvar _message = _interopRequireDefault(require(\"../../../localization/message\"));\r\nvar _ui = _interopRequireDefault(require(\"../../../ui/widget/ui.errors\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\n\r\nfunction _slicedToArray(arr, i) {\r\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest()\r\n}\r\n\r\nfunction _nonIterableRest() {\r\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _unsupportedIterableToArray(o, minLen) {\r\n if (!o) {\r\n return\r\n }\r\n if (\"string\" === typeof o) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n var n = Object.prototype.toString.call(o).slice(8, -1);\r\n if (\"Object\" === n && o.constructor) {\r\n n = o.constructor.name\r\n }\r\n if (\"Map\" === n || \"Set\" === n) {\r\n return Array.from(o)\r\n }\r\n if (\"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n}\r\n\r\nfunction _arrayLikeToArray(arr, len) {\r\n if (null == len || len > arr.length) {\r\n len = arr.length\r\n }\r\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\r\n arr2[i] = arr[i]\r\n }\r\n return arr2\r\n}\r\n\r\nfunction _iterableToArrayLimit(arr, i) {\r\n var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"];\r\n if (null != _i) {\r\n var _s, _e, _x, _r, _arr = [],\r\n _n = !0,\r\n _d = !1;\r\n try {\r\n if (_x = (_i = _i.call(arr)).next, 0 === i) {\r\n if (Object(_i) !== _i) {\r\n return\r\n }\r\n _n = !1\r\n } else {\r\n for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) {}\r\n }\r\n } catch (err) {\r\n _d = !0, _e = err\r\n } finally {\r\n try {\r\n if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) {\r\n return\r\n }\r\n } finally {\r\n if (_d) {\r\n throw _e\r\n }\r\n }\r\n }\r\n return _arr\r\n }\r\n}\r\n\r\nfunction _arrayWithHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return arr\r\n }\r\n}\r\nvar WIDGET_WITH_LEGACY_CONTAINER_NAME = \"dxDataGrid\";\r\nvar ModuleItem = _class.default.inherit({\r\n _endUpdateCore: function() {},\r\n ctor: function(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 (0, _iterator.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] = (0, _callbacks.default)(flags)\r\n }))\r\n },\r\n init: function() {},\r\n callbackNames: function() {},\r\n callbackFlags: function() {},\r\n publicMethods: function() {},\r\n beginUpdate: function() {\r\n this._updateLockCount++\r\n },\r\n endUpdate: function() {\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: function(name) {\r\n var component = this.component;\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: function(name, value) {\r\n var component = this.component;\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: function(name) {\r\n var optionCache = this.component._optionCache;\r\n if (optionCache) {\r\n if (!(name in optionCache)) {\r\n optionCache[name] = _message.default.format(name)\r\n }\r\n return optionCache[name]\r\n }\r\n return _message.default.format(name)\r\n },\r\n on: function() {\r\n return this.component.on.apply(this.component, arguments)\r\n },\r\n off: function() {\r\n return this.component.off.apply(this.component, arguments)\r\n },\r\n optionChanged: function(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: function(actionName) {\r\n return this._actions[actionName]\r\n },\r\n setAria: function(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: function() {\r\n return this.component._createComponent.apply(this.component, arguments)\r\n },\r\n getController: function(name) {\r\n return this.component._controllers[name]\r\n },\r\n createAction: function(actionName, config) {\r\n if ((0, _type.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: function(actionName, options) {\r\n var action = this._actions[actionName];\r\n return action && action(options)\r\n },\r\n dispose: function() {\r\n var that = this;\r\n (0, _iterator.each)(that.callbackNames() || [], (function() {\r\n that[this].empty()\r\n }))\r\n },\r\n addWidgetPrefix: function(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: function() {\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: function($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: function(name) {\r\n return this.component._views[name]\r\n },\r\n getViews: function() {\r\n return this.component._views\r\n }\r\n});\r\nvar View = ModuleItem.inherit({\r\n _isReady: function() {\r\n return this.component.isReady()\r\n },\r\n _endUpdateCore: function() {\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: function(requireResize, requireReady) {\r\n this._requireRender = true;\r\n this.component._requireResize = (0, _window.hasWindow)() && (this.component._requireResize || requireResize);\r\n this._requireReady = this._requireReady || requireReady\r\n },\r\n _renderCore: function() {},\r\n _resizeCore: function() {},\r\n _parentElement: function() {\r\n return this._$parent\r\n },\r\n ctor: function(component) {\r\n this.callBase(component);\r\n this.renderCompleted = (0, _callbacks.default)();\r\n this.resizeCompleted = (0, _callbacks.default)()\r\n },\r\n element: function() {\r\n return this._$element\r\n },\r\n getElementHeight: function() {\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 _$element$get = $element.get(0),\r\n offsetHeight = _$element$get.offsetHeight;\r\n return offsetHeight + marginTop + marginBottom\r\n },\r\n isVisible: function() {\r\n return true\r\n },\r\n getTemplate: function(name) {\r\n return this.component._getTemplate(name)\r\n },\r\n render: function($parent, options) {\r\n var _this = this;\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 = (0, _renderer.default)(\"
    \").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((function() {\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: function() {\r\n this.isResizing = true;\r\n this._resizeCore();\r\n this.resizeCompleted.fire();\r\n this.isResizing = false\r\n },\r\n focus: function(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((function(_ref) {\r\n var _ref2 = _slicedToArray(_ref, 2),\r\n name = _ref2[0],\r\n extender = _ref2[1];\r\n var currentType = types[name];\r\n if (currentType) {\r\n if ((0, _type.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 (0, _iterator.each)(publicMethods, (function(_, methodName) {\r\n if (moduleItem[methodName]) {\r\n if (!componentInstance[methodName]) {\r\n componentInstance[methodName] = function() {\r\n return moduleItem[methodName].apply(moduleItem, arguments)\r\n }\r\n } else {\r\n throw _ui.default.Error(\"E1005\", methodName)\r\n }\r\n } else {\r\n throw _ui.default.Error(\"E1006\", name, methodName)\r\n }\r\n }))\r\n }\r\n}\r\n\r\nfunction processModules(componentInstance, componentClass) {\r\n var modules = componentClass.modules;\r\n var modulesOrder = componentClass.modulesOrder;\r\n\r\n function createModuleItems(moduleTypes) {\r\n var moduleItems = {};\r\n (0, _iterator.each)(moduleTypes, (function(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((function(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((function(_ref3) {\r\n var moduleName = _ref3.name,\r\n _ref3$controllers = _ref3.controllers,\r\n controllers = void 0 === _ref3$controllers ? {} : _ref3$controllers,\r\n _ref3$views = _ref3.views,\r\n views = void 0 === _ref3$views ? {} : _ref3$views;\r\n Object.entries(controllers).forEach((function(_ref4) {\r\n var _ref5 = _slicedToArray(_ref4, 2),\r\n name = _ref5[0],\r\n type = _ref5[1];\r\n var _a;\r\n if (rootControllerTypes[name]) {\r\n throw _ui.default.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 _ui.default.Error(\"E1002\", moduleName, name)\r\n }\r\n rootControllerTypes[name] = type\r\n }));\r\n Object.entries(views).forEach((function(_ref6) {\r\n var _ref7 = _slicedToArray(_ref6, 2),\r\n name = _ref7[0],\r\n type = _ref7[1];\r\n var _a;\r\n if (rootViewTypes[name]) {\r\n throw _ui.default.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 _ui.default.Error(\"E1004\", moduleName, name)\r\n }\r\n rootViewTypes[name] = type\r\n }))\r\n }));\r\n var moduleExtenders = modules.filter((function(_ref8) {\r\n var extenders = _ref8.extenders;\r\n return !!extenders\r\n }));\r\n var controllerTypes = moduleExtenders.reduce((function(types, _ref9) {\r\n var extenders = _ref9.extenders;\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((function(types, _ref10) {\r\n var extenders = _ref10.extenders;\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 (0, _iterator.each)(that._controllers, (function() {\r\n this[methodName] && this[methodName].apply(this, args)\r\n }))\r\n }\r\n if (that._views) {\r\n (0, _iterator.each)(that._views, (function() {\r\n this[methodName] && this[methodName].apply(this, args)\r\n }))\r\n }\r\n};\r\nvar _default = {\r\n modules: [],\r\n View: View,\r\n ViewController: ViewController,\r\n Controller: Controller,\r\n registerModule: function(name, module) {\r\n var modules = this.modules;\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: function(moduleNames) {\r\n this.modulesOrder = moduleNames\r\n },\r\n unregisterModule: function(name) {\r\n this.modules = (0, _common.grep)(this.modules, (function(module) {\r\n return module.name !== name\r\n }))\r\n },\r\n processModules: processModules,\r\n callModuleItemsMethod: callModuleItemsMethod\r\n};\r\nexports.default = _default;\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/grid_core/m_utils.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../../core/renderer\"));\r\nvar _common = require(\"../../../core/utils/common\");\r\nvar _data = require(\"../../../core/utils/data\");\r\nvar _deferred = require(\"../../../core/utils/deferred\");\r\nvar _extend = require(\"../../../core/utils/extend\");\r\nvar _iterator = require(\"../../../core/utils/iterator\");\r\nvar _position = require(\"../../../core/utils/position\");\r\nvar _size = require(\"../../../core/utils/size\");\r\nvar _string = require(\"../../../core/utils/string\");\r\nvar _type = require(\"../../../core/utils/type\");\r\nvar _variable_wrapper = _interopRequireDefault(require(\"../../../core/utils/variable_wrapper\"));\r\nvar _window = require(\"../../../core/utils/window\");\r\nvar _data_source = require(\"../../../data/data_source/data_source\");\r\nvar _utils = require(\"../../../data/data_source/utils\");\r\nvar _utils2 = require(\"../../../data/utils\");\r\nvar _events_engine = _interopRequireDefault(require(\"../../../events/core/events_engine\"));\r\nvar _format_helper = _interopRequireDefault(require(\"../../../format_helper\"));\r\nvar _load_panel = _interopRequireDefault(require(\"../../../ui/load_panel\"));\r\nvar _filtering = _interopRequireDefault(require(\"../../../ui/shared/filtering\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\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: function(value) {\r\n return value && value.getFullYear()\r\n },\r\n month: function(value) {\r\n return value && value.getMonth() + 1\r\n },\r\n day: function(value) {\r\n return value && value.getDate()\r\n },\r\n quarter: function(value) {\r\n return value && Math.floor(value.getMonth() / 3) + 1\r\n },\r\n hour: function(value) {\r\n return value && value.getHours()\r\n },\r\n minute: function(value) {\r\n return value && value.getMinutes()\r\n },\r\n second: function(value) {\r\n return value && value.getSeconds()\r\n }\r\n};\r\nvar getIntervalSelector = function() {\r\n var data = arguments[1];\r\n var value = this.calculateCellValue(data);\r\n if (!(0, _type.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 ((0, _type.isFunction)(selector1) && (0, _type.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 = (0, _utils2.normalizeSortingInfo)(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 = _format_helper.default.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: function(valueText) {\r\n return displayFormat ? (0, _string.format)(displayFormat, valueText, summaryItem.columnCaption) : valueText\r\n },\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 ((0, _type.isFunction)(filter1) && filter1.columnIndex >= 0 && (0, _type.isFunction)(filter2) && filter2.columnIndex >= 0) {\r\n return filter1.columnIndex === filter2.columnIndex && (0, _data.toComparable)(filter1.filterValue) === (0, _data.toComparable)(filter2.filterValue) && (0, _data.toComparable)(filter1.selectedFilterOperation) === (0, _data.toComparable)(filter2.selectedFilterOperation)\r\n }\r\n return (0, _data.toComparable)(filter1) == (0, _data.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((function(item, i) {\r\n if ((0, _type.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\nvar _default = {\r\n renderNoDataText: function($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 = (0, _renderer.default)(\"\").addClass(noDataClass).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: function($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 = (0, _extend.extend)({\r\n shading: false,\r\n message: loadPanelOptions.text,\r\n container: $container\r\n }, loadPanelOptions);\r\n this._loadPanel = this._createComponent((0, _renderer.default)(\"
    \").appendTo($container), _load_panel.default, loadPanelOptions)\r\n } else {\r\n this._loadPanel = null\r\n }\r\n },\r\n calculateLoadPanelPosition: function($element) {\r\n var $window = (0, _renderer.default)((0, _window.getWindow)());\r\n if ((0, _size.getHeight)($element) > (0, _size.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: function(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 = (0, _type.isDefined)(keyName) ? items[i][keyName] : items[i];\r\n if ((0, _common.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: function(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: function(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: 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\n formatValue: formatValue,\r\n getFormatOptionsByColumn: function(column, target) {\r\n return {\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 },\r\n getDisplayValue: function(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: function(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: function(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: function(column, remoteGrouping) {\r\n var result = [];\r\n var dataField = column.dataField || column.name;\r\n var groupInterval = _filtering.default.getGroupInterval(column);\r\n if (groupInterval) {\r\n (0, _iterator.each)(groupInterval, (function(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: function(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: function(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 ? (0, _position.getBoundingRect)(item[0]).width : 0) : 0,\r\n y: offset ? offset.top + (isVertical && i === cellsLength ? (0, _position.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: function() {\r\n return {\r\n allowRenderToDetachedContainer: true,\r\n render: function(container, options) {\r\n var $container = (0, _renderer.default)(container);\r\n if ((0, _type.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 (0, _renderer.default)(\"
    \").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 },\r\n setEmptyText: setEmptyText,\r\n isDateType: isDateType,\r\n getSelectionRange: function(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: function(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: function(component, $element) {\r\n var isFocused = $element.is(\":focus\");\r\n _events_engine.default.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 (0, _deferred.when)(editor && editor._loadItemDeferred).done((function() {\r\n element.select()\r\n }))\r\n }\r\n },\r\n getWidgetInstance: getWidgetInstance,\r\n getLastResizableColumnIndex: function(columns, resultWidths) {\r\n var hasResizableColumns = columns.some((function(column) {\r\n return column && !column.command && !column.fixed && false !== column.allowResizing\r\n }));\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: function(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: function(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: function(window) {\r\n return window.devicePixelRatio || 1\r\n },\r\n getContentHeightLimit: function(browser) {\r\n if (browser.mozilla) {\r\n return 8e6\r\n }\r\n return 15e6 / this.getPixelRatio((0, _window.getWindow)())\r\n },\r\n normalizeLookupDataSource: function(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 ((0, _type.isFunction)(lookupDataSourceOptions) && !_variable_wrapper.default.isWrapped(lookupDataSourceOptions)) {\r\n lookupDataSourceOptions = lookupDataSourceOptions({})\r\n }\r\n }\r\n return (0, _utils.normalizeDataSourceOptions)(lookupDataSourceOptions)\r\n },\r\n getWrappedLookupDataSource: function(column, dataSource, filter) {\r\n var _this = this;\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 && (0, _type.isString)(column.displayField);\r\n var cachedUniqueRelevantItems;\r\n var previousTake;\r\n var previousSkip;\r\n var sliceItems = function(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: function(loadOptions) {\r\n var d = new _deferred.Deferred;\r\n (function(loadOptions) {\r\n var group = normalizeGroupingLoadOptions(hasLookupOptimization ? [column.dataField, column.displayField] : column.dataField);\r\n var d = new _deferred.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((function(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((function(items) {\r\n if (0 === items.length) {\r\n d.resolve([]);\r\n return\r\n }\r\n var filter = _this.combineFilters(items.flatMap((function(data) {\r\n return data.key\r\n })).map((function(key) {\r\n return [column.lookup.valueExpr, key]\r\n })), \"or\");\r\n var newDataSource = new _data_source.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: function(key) {\r\n var d = (0, _deferred.Deferred)();\r\n this.load({\r\n filter: [column.lookup.valueExpr, \"=\", key]\r\n }).done((function(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 logHeaderFilterDeprecatedWarningIfNeed: function(component) {\r\n var logWarning = component._logDeprecatedOptionWarning.bind(component);\r\n if ((0, _type.isDefined)(component.option(\"headerFilter.allowSearch\"))) {\r\n logWarning(\"headerFilter.allowSearch\", {\r\n since: \"23.1\",\r\n alias: \"headerFilter.search.enabled\"\r\n })\r\n }\r\n if ((0, _type.isDefined)(component.option(\"headerFilter.searchTimeout\"))) {\r\n logWarning(\"headerFilter.searchTimeout\", {\r\n since: \"23.1\",\r\n alias: \"headerFilter.search.timeout\"\r\n })\r\n }\r\n var specificName = \"dxPivotGrid\" === component.NAME ? \"dataSource.fields\" : \"columns\";\r\n var columns = component.option(specificName);\r\n if (!Array.isArray(columns)) {\r\n return\r\n }! function logSpecificDeprecatedWarningIfNeed(columns) {\r\n columns.forEach((function(column) {\r\n var _a;\r\n var headerFilter = column.headerFilter || {};\r\n if ((0, _type.isDefined)(headerFilter.allowSearch)) {\r\n logWarning(\"\".concat(specificName, \"[].headerFilter.allowSearch\"), {\r\n since: \"23.1\",\r\n alias: \"\".concat(specificName, \"[].headerFilter.search.enabled\")\r\n })\r\n }\r\n if ((0, _type.isDefined)(headerFilter.searchMode)) {\r\n logWarning(\"\".concat(specificName, \"[].headerFilter.searchMode\"), {\r\n since: \"23.1\",\r\n alias: \"\".concat(specificName, \"[].headerFilter.search.mode\")\r\n })\r\n }\r\n if (null === (_a = column.columns) || void 0 === _a ? void 0 : _a.length) {\r\n logSpecificDeprecatedWarningIfNeed(column.columns)\r\n }\r\n }))\r\n }(columns)\r\n }\r\n};\r\nexports.default = _default;\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/grid_core/master_detail/m_master_detail.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.masterDetailModule = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../../../core/renderer\"));\r\nvar _common = require(\"../../../../core/utils/common\");\r\nvar _deferred = require(\"../../../../core/utils/deferred\");\r\nvar _iterator = require(\"../../../../core/utils/iterator\");\r\nvar _size = require(\"../../../../core/utils/size\");\r\nvar _type = require(\"../../../../core/utils/type\");\r\nvar _m_utils = _interopRequireDefault(require(\"../m_utils\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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\nvar masterDetailModule = {\r\n defaultOptions: function() {\r\n return {\r\n masterDetail: {\r\n enabled: false,\r\n autoExpandAll: false,\r\n template: null\r\n }\r\n }\r\n },\r\n extenders: {\r\n controllers: {\r\n columns: {\r\n _getExpandColumnsCore: function() {\r\n var expandColumns = this.callBase();\r\n if (this.option(\"masterDetail.enabled\")) {\r\n expandColumns.push({\r\n type: \"detailExpand\",\r\n cellTemplate: _m_utils.default.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: function() {\r\n initMasterDetail(this);\r\n this.callBase()\r\n },\r\n expandAll: function(groupIndex) {\r\n var that = this;\r\n if (groupIndex < 0) {\r\n that._isExpandAll = true;\r\n that._expandedItems = [];\r\n that.updateItems()\r\n } else {\r\n that.callBase.apply(that, arguments)\r\n }\r\n },\r\n collapseAll: function(groupIndex) {\r\n var that = this;\r\n if (groupIndex < 0) {\r\n that._isExpandAll = false;\r\n that._expandedItems = [];\r\n that.updateItems()\r\n } else {\r\n that.callBase.apply(that, arguments)\r\n }\r\n },\r\n isRowExpanded: function(key) {\r\n var that = this;\r\n var expandIndex = _m_utils.default.getIndexByKey(key, that._expandedItems);\r\n if (Array.isArray(key)) {\r\n return that.callBase.apply(that, arguments)\r\n }\r\n return !!(that._isExpandAll ^ (expandIndex >= 0 && that._expandedItems[expandIndex].visible))\r\n },\r\n _getRowIndicesForExpand: function(key) {\r\n var rowIndex = this.getRowIndexByKey(key);\r\n return [rowIndex, rowIndex + 1]\r\n },\r\n _changeRowExpandCore: function(key) {\r\n var that = this;\r\n var result;\r\n if (Array.isArray(key)) {\r\n result = that.callBase.apply(that, arguments)\r\n } else {\r\n var expandIndex = _m_utils.default.getIndexByKey(key, that._expandedItems);\r\n if (expandIndex >= 0) {\r\n var visible = that._expandedItems[expandIndex].visible;\r\n that._expandedItems[expandIndex].visible = !visible\r\n } else {\r\n that._expandedItems.push({\r\n key: key,\r\n visible: true\r\n })\r\n }\r\n that.updateItems({\r\n changeType: \"update\",\r\n rowIndices: that._getRowIndicesForExpand(key)\r\n });\r\n result = (new _deferred.Deferred).resolve()\r\n }\r\n return result\r\n },\r\n _processDataItem: function(data, options) {\r\n var that = this;\r\n var dataItem = that.callBase.apply(that, arguments);\r\n dataItem.isExpanded = that.isRowExpanded(dataItem.key);\r\n if (void 0 === options.detailColumnIndex) {\r\n options.detailColumnIndex = -1;\r\n (0, _iterator.each)(options.visibleColumns, (function(index, column) {\r\n if (\"expand\" === column.command && !(0, _type.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: function(items, change) {\r\n var that = this;\r\n var changeType = change.changeType;\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 = (0, _common.grep)(that._expandedItems, (function(item) {\r\n return item.visible\r\n }))\r\n }(0, _iterator.each)(items, (function(index, item) {\r\n result.push(item);\r\n var expandIndex = _m_utils.default.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: function(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: function() {\r\n this.callBase.apply(this, arguments);\r\n this._updateParentDataGrids(this.component.$element())\r\n },\r\n _updateParentDataGrids: function($element) {\r\n var _this = this;\r\n var $masterDetailRow = $element.closest(\".\".concat(MASTER_DETAIL_ROW_CLASS));\r\n if ($masterDetailRow.length) {\r\n (0, _deferred.when)(this._updateMasterDataGrid($masterDetailRow, $element)).done((function() {\r\n _this._updateParentDataGrids($masterDetailRow.parent())\r\n }))\r\n }\r\n },\r\n _updateMasterDataGrid: function($masterDetailRow, $detailElement) {\r\n var masterRowOptions = (0, _renderer.default)($masterDetailRow).data(\"options\");\r\n var masterDataGrid = (0, _renderer.default)($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: function(masterDataGrid, masterRowOptions) {\r\n var d = (0, _deferred.Deferred)();\r\n if (masterDataGrid.getView(\"rowsView\").isFixedColumns()) {\r\n this._updateFixedMasterDetailGrids(masterDataGrid, masterRowOptions.rowIndex, (0, _renderer.default)(masterRowOptions.rowElement)).done(d.resolve)\r\n } else {\r\n if (true === masterDataGrid.option(\"scrolling.useNative\")) {\r\n masterDataGrid.updateDimensions().done((function() {\r\n return d.resolve(true)\r\n }));\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((function() {\r\n return d.resolve()\r\n }))\r\n } else {\r\n d.resolve()\r\n }\r\n }\r\n return d.promise()\r\n },\r\n _updateFixedMasterDetailGrids: function(masterDataGrid, masterRowIndex, $detailElement) {\r\n var _this2 = this;\r\n var d = (0, _deferred.Deferred)();\r\n var $rows = (0, _renderer.default)(masterDataGrid.getRowElement(masterRowIndex));\r\n var $tables = (0, _renderer.default)(masterDataGrid.getView(\"rowsView\").getTableElements());\r\n var rowsNotEqual = 2 === (null === $rows || void 0 === $rows ? void 0 : $rows.length) && (0, _size.getHeight)($rows.eq(0)) !== (0, _size.getHeight)($rows.eq(1));\r\n var tablesNotEqual = 2 === (null === $tables || void 0 === $tables ? void 0 : $tables.length) && (0, _size.getHeight)($tables.eq(0)) !== (0, _size.getHeight)($tables.eq(1));\r\n if (rowsNotEqual || tablesNotEqual) {\r\n var detailElementWidth = (0, _size.getWidth)($detailElement);\r\n masterDataGrid.updateDimensions().done((function() {\r\n var isDetailHorizontalScrollCanBeShown = _this2.option(\"columnAutoWidth\") && true === masterDataGrid.option(\"scrolling.useNative\");\r\n var isDetailGridWidthChanged = isDetailHorizontalScrollCanBeShown && detailElementWidth !== (0, _size.getWidth)($detailElement);\r\n if (isDetailHorizontalScrollCanBeShown && isDetailGridWidthChanged) {\r\n _this2.updateDimensions().done((function() {\r\n return d.resolve(true)\r\n }))\r\n } else {\r\n d.resolve(true)\r\n }\r\n }));\r\n return d.promise()\r\n }\r\n return (0, _deferred.Deferred)().resolve()\r\n },\r\n _toggleBestFitMode: function(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: function(options) {\r\n var that = this;\r\n var column = options.column;\r\n var editingController = that.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 = that.option(\"masterDetail.template\") || {\r\n allowRenderToDetachedContainer: false,\r\n render: that._getDefaultTemplate(column)\r\n }\r\n } else {\r\n template = that.callBase.apply(that, arguments)\r\n }\r\n return template\r\n },\r\n _isDetailRow: function(row) {\r\n return row && row.rowType && 0 === row.rowType.indexOf(\"detail\")\r\n },\r\n _createRow: function(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 ((0, _type.isDefined)(row.visible)) {\r\n $row.toggle(row.visible)\r\n }\r\n }\r\n return $row\r\n },\r\n _renderCells: function($row, options) {\r\n var row = options.row;\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\nexports.masterDetailModule = masterDetailModule;\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/grid_core/pager/m_pager.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.pagerModule = void 0;\r\nvar _type = require(\"../../../../core/utils/type\");\r\nvar _window = require(\"../../../../core/utils/window\");\r\nvar _message = _interopRequireDefault(require(\"../../../../localization/message\"));\r\nvar _pager = _interopRequireDefault(require(\"../../../../ui/pager\"));\r\nvar _m_modules = _interopRequireDefault(require(\"../m_modules\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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 = _m_modules.default.View.inherit({\r\n init: function() {\r\n var _this = this;\r\n var dataController = this.getController(\"data\");\r\n dataController.changed.add((function(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: function() {\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: function(pageIndex) {\r\n if (dataController.pageIndex() !== pageIndex - 1) {\r\n dataController.pageIndex(pageIndex - 1)\r\n }\r\n },\r\n pageSizeChanged: function(pageSize) {\r\n dataController.pageSize(pageSize)\r\n },\r\n onKeyDown: function(e) {\r\n return keyboardController && keyboardController.executeAction(\"onKeyDown\", e)\r\n },\r\n useLegacyKeyboardNavigation: this.option(\"useLegacyKeyboardNavigation\"),\r\n useKeyboard: this.option(\"keyboardNavigation.enabled\")\r\n };\r\n if ((0, _type.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 ((0, _window.hasWindow)()) {\r\n this._pager = this._createComponent($element, _pager.default, options)\r\n } else {\r\n $element.addClass(\"dx-pager\").html('
    ')\r\n }\r\n },\r\n getPager: function() {\r\n return this._pager\r\n },\r\n getPageSizes: function() {\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 (!(0, _type.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: function() {\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: function() {\r\n return this.getElementHeight()\r\n },\r\n optionChanged: function(args) {\r\n var name = args.name;\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 ((0, _window.hasWindow)() && isPager && this.component) {\r\n this.component.resize()\r\n }\r\n }\r\n }\r\n },\r\n dispose: function() {\r\n this._pager = null\r\n }\r\n});\r\nvar pagerModule = {\r\n defaultOptions: function() {\r\n return {\r\n pager: {\r\n visible: \"auto\",\r\n showPageSizeSelector: false,\r\n allowedPageSizes: \"auto\",\r\n label: _message.default.format(\"dxPager-ariaLabel\")\r\n }\r\n }\r\n },\r\n views: {\r\n pagerView: PagerView\r\n }\r\n};\r\nexports.pagerModule = pagerModule;\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/grid_core/row_dragging/const.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.CLASSES = exports.ATTRIBUTES = void 0;\r\nvar ATTRIBUTES = {\r\n dragCell: \"dx-drag-cell\"\r\n};\r\nexports.ATTRIBUTES = ATTRIBUTES;\r\nvar 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\nexports.CLASSES = CLASSES;\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/grid_core/row_dragging/dom.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.GridCoreRowDraggingDom = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../../../core/renderer\"));\r\nvar _m_utils = _interopRequireDefault(require(\"../m_utils\"));\r\nvar _const = require(\"./const\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar createHandleTemplateFunc = function(addWidgetPrefix) {\r\n return function(container, options) {\r\n var $container = (0, _renderer.default)(container);\r\n $container.attr(_const.ATTRIBUTES.dragCell, \"\");\r\n if (\"data\" === options.rowType) {\r\n $container.addClass(_const.CLASSES.cellFocusDisabled);\r\n return (0, _renderer.default)(\"\").addClass(addWidgetPrefix(_const.CLASSES.handleIcon))\r\n }\r\n _m_utils.default.setEmptyText($container);\r\n return\r\n }\r\n};\r\nvar GridCoreRowDraggingDom = {\r\n createHandleTemplateFunc: createHandleTemplateFunc\r\n};\r\nexports.GridCoreRowDraggingDom = GridCoreRowDraggingDom;\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/grid_core/row_dragging/m_row_dragging.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.rowDraggingModule = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../../../core/../core/renderer\"));\r\nvar _extend = require(\"../../../../core/../core/utils/extend\");\r\nvar _common = require(\"../../../../core/utils/common\");\r\nvar _size = require(\"../../../../core/utils/size\");\r\nvar _sortable = _interopRequireDefault(require(\"../../../../ui/sortable\"));\r\nvar _m_utils = _interopRequireDefault(require(\"../m_utils\"));\r\nvar _const = require(\"./const\");\r\nvar _dom = require(\"./dom\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar RowDraggingExtender = {\r\n init: function() {\r\n this.callBase.apply(this, arguments);\r\n this._updateHandleColumn()\r\n },\r\n _allowReordering: function() {\r\n var rowDragging = this.option(\"rowDragging\");\r\n return !!(rowDragging && (rowDragging.allowReordering || rowDragging.allowDropInsideItem || rowDragging.group))\r\n },\r\n _updateHandleColumn: function() {\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 columnsController && columnsController.addCommandColumn({\r\n type: \"drag\",\r\n command: \"drag\",\r\n visibleIndex: -2,\r\n alignment: \"center\",\r\n cssClass: _const.CLASSES.commandDrag,\r\n width: \"auto\",\r\n cellTemplate: this._getHandleTemplate(),\r\n visible: isHandleColumnVisible\r\n });\r\n columnsController.columnOption(\"type:drag\", \"visible\", isHandleColumnVisible)\r\n },\r\n _renderContent: function() {\r\n var _this = this;\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 sortableName = \"_sortable\";\r\n var sortableFixedName = \"_sortableFixed\";\r\n var currentSortableName = isFixedTableRendering ? sortableFixedName : sortableName;\r\n var anotherSortableName = isFixedTableRendering ? sortableName : sortableFixedName;\r\n var togglePointerEventsStyle = function(toggle) {\r\n var _a;\r\n null === (_a = _this[sortableFixedName]) || 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.default, (0, _extend.extend)({\r\n component: this.component,\r\n contentTemplate: null,\r\n filter: filter,\r\n cursorOffset: function(options) {\r\n var event = options.event;\r\n var rowsViewOffset = (0, _renderer.default)(_this.element()).offset();\r\n return {\r\n x: event.pageX - rowsViewOffset.left\r\n }\r\n },\r\n onDraggableElementShown: function(e) {\r\n if (rowDragging.dragTemplate) {\r\n return\r\n }\r\n var $dragElement = (0, _renderer.default)(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(_const.CLASSES.commandDrag),\r\n dropFeedbackMode: \"indicate\"\r\n }, rowDragging, {\r\n onDragStart: function(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: function() {\r\n togglePointerEventsStyle(true)\r\n },\r\n onDragLeave: function() {\r\n togglePointerEventsStyle(false)\r\n },\r\n onDragEnd: function(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: function(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: function(e) {\r\n var hasFixedSortable = _this[sortableFixedName];\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(_const.CLASSES.sortableWithoutHandle, allowReordering && !rowDragging.showDragIcons)\r\n }\r\n return $content\r\n },\r\n _renderCore: function(e) {\r\n var _this2 = this;\r\n this.callBase.apply(this, arguments);\r\n if (e && \"update\" === e.changeType && e.repaintChangesOnly && _m_utils.default.isVirtualRowRendering(this)) {\r\n (0, _common.deferUpdate)((function() {\r\n _this2._updateSortable()\r\n }))\r\n }\r\n },\r\n _updateSortable: function() {\r\n var offset = this._dataController.getRowIndexOffset();\r\n [this._sortable, this._sortableFixed].forEach((function(sortable) {\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 },\r\n _resizeCore: function() {\r\n this.callBase.apply(this, arguments);\r\n this._updateSortable()\r\n },\r\n _getDraggableGridOptions: function(options) {\r\n var gridOptions = this.option();\r\n var columns = this.getColumns();\r\n var $rowElement = (0, _renderer.default)(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((function(column) {\r\n return {\r\n width: column.width || column.visibleWidth,\r\n fixed: column.fixed,\r\n fixedPosition: column.fixedPosition\r\n }\r\n })),\r\n onRowPrepared: function(e) {\r\n var rowsView = e.component.getView(\"rowsView\");\r\n (0, _renderer.default)(e.rowElement).replaceWith($rowElement.eq(rowsView._isFixedTableRendering ? 1 : 0).clone())\r\n }\r\n }\r\n },\r\n _synchronizeScrollLeftPosition: function(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: function() {\r\n var _this3 = this;\r\n return function(options) {\r\n var $rootElement = _this3.component.$element();\r\n var $dataGridContainer = (0, _renderer.default)(\"
    \");\r\n (0, _size.setWidth)($dataGridContainer, (0, _size.getWidth)($rootElement));\r\n var items = _this3._dataController.items();\r\n var row = items && items[options.fromIndex];\r\n var gridOptions = _this3._getDraggableGridOptions(row);\r\n _this3._createComponent($dataGridContainer, _this3.component.NAME, gridOptions);\r\n $dataGridContainer.find(\".dx-gridbase-container\").children(\":not(.\".concat(_this3.addWidgetPrefix(_const.CLASSES.rowsView), \")\")).hide();\r\n return $dataGridContainer\r\n }\r\n },\r\n _getHandleTemplate: function() {\r\n var _this4 = this;\r\n return _dom.GridCoreRowDraggingDom.createHandleTemplateFunc((function(string) {\r\n return _this4.addWidgetPrefix(string)\r\n }))\r\n },\r\n optionChanged: function(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\nvar rowDraggingModule = {\r\n defaultOptions: function() {\r\n return {\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 },\r\n extenders: {\r\n views: {\r\n rowsView: RowDraggingExtender\r\n }\r\n }\r\n};\r\nexports.rowDraggingModule = rowDraggingModule;\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/grid_core/search/m_search.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.searchModule = void 0;\r\nvar _dom_adapter = _interopRequireDefault(require(\"../../../../core/dom_adapter\"));\r\nvar _renderer = _interopRequireDefault(require(\"../../../../core/renderer\"));\r\nvar _data = require(\"../../../../core/utils/data\");\r\nvar _type = require(\"../../../../core/utils/type\");\r\nvar _query = _interopRequireDefault(require(\"../../../../data/query\"));\r\nvar _message = _interopRequireDefault(require(\"../../../../localization/message\"));\r\nvar _m_utils = _interopRequireDefault(require(\"../m_utils\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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 return (0, _type.isDefined)(column.allowSearch) ? column.allowSearch : column.allowFiltering\r\n}\r\n\r\nfunction parseValue(column, text) {\r\n var lookup = column.lookup;\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 searchModule = {\r\n defaultOptions: function() {\r\n return {\r\n searchPanel: {\r\n visible: false,\r\n width: 160,\r\n placeholder: _message.default.format(\"dxDataGrid-searchPanelPlaceholder\"),\r\n highlightSearchText: true,\r\n highlightCaseSensitive: false,\r\n text: \"\",\r\n searchVisibleColumnsOnly: false\r\n }\r\n }\r\n },\r\n extenders: {\r\n controllers: {\r\n data: {\r\n publicMethods: function() {\r\n return this.callBase().concat([\"searchByText\"])\r\n },\r\n _calculateAdditionalFilter: function() {\r\n var filter = this.callBase();\r\n var searchFilter = function(that, text) {\r\n var i;\r\n var column;\r\n var columns = that._columnsController.getColumns();\r\n var searchVisibleColumnsOnly = that.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 = (0, _data.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 (0, _query.default)(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 _m_utils.default.combineFilters(filters, \"or\")\r\n }(this, this.option(\"searchPanel.text\"));\r\n return _m_utils.default.combineFilters([filter, searchFilter])\r\n },\r\n searchByText: function(text) {\r\n this.option(\"searchPanel.text\", text)\r\n },\r\n optionChanged: function(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 this.callBase(args)\r\n }\r\n }\r\n }\r\n },\r\n views: {\r\n headerPanel: function() {\r\n var getSearchPanelOptions = function(that) {\r\n return that.option(\"searchPanel\")\r\n };\r\n return {\r\n _getToolbarItems: function() {\r\n var items = this.callBase();\r\n return this._prepareSearchItem(items)\r\n },\r\n _prepareSearchItem: function(items) {\r\n var that = this;\r\n var dataController = that.getController(\"data\");\r\n var searchPanelOptions = getSearchPanelOptions(that);\r\n if (searchPanelOptions && searchPanelOptions.visible) {\r\n var toolbarItem = {\r\n template: function(data, index, container) {\r\n var $search = (0, _renderer.default)(\"
    \").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: function(value) {\r\n dataController.searchByText(value)\r\n },\r\n editorOptions: {\r\n inputAttr: {\r\n \"aria-label\": _message.default.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: function() {\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 (0, _renderer.default)(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: function() {\r\n var searchPanelOptions = getSearchPanelOptions(this);\r\n return this.callBase() || searchPanelOptions && searchPanelOptions.visible\r\n },\r\n optionChanged: function(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 this.callBase(args)\r\n }\r\n }\r\n }\r\n }(),\r\n rowsView: {\r\n init: function() {\r\n this.callBase.apply(this, arguments);\r\n this._searchParams = [];\r\n this._dataController = this.getController(\"data\")\r\n },\r\n _getFormattedSearchText: function(column, searchText) {\r\n var value = parseValue(column, searchText);\r\n var formatOptions = _m_utils.default.getFormatOptionsByColumn(column, \"search\");\r\n return _m_utils.default.formatValue(value, formatOptions)\r\n },\r\n _getStringNormalizer: function() {\r\n var _a, _b, _c, _d;\r\n var isCaseSensitive = this.option(\"searchPanel.highlightCaseSensitive\");\r\n var dataSource = null === (_b = null === (_a = this._dataController) || void 0 === _a ? void 0 : _a.getDataSource) || void 0 === _b ? void 0 : _b.call(_a);\r\n var langParams = null === (_d = null === (_c = null === dataSource || void 0 === dataSource ? void 0 : dataSource.loadOptions) || void 0 === _c ? void 0 : _c.call(dataSource)) || void 0 === _d ? void 0 : _d.langParams;\r\n return function(str) {\r\n return (0, _data.toComparable)(str, isCaseSensitive, langParams)\r\n }\r\n },\r\n _findHighlightingTextNodes: function(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 = (0, _renderer.default)(\"
    \").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((function(_, element) {\r\n var $contents = (0, _renderer.default)(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(node.textContent || node.nodeValue);\r\n if (normalizedText.indexOf(normalizedSearchText) > -1) {\r\n resultTextNodes.push(node)\r\n }\r\n }\r\n }\r\n }));\r\n return resultTextNodes\r\n },\r\n _highlightSearchTextCore: function($textNode, searchText) {\r\n var $searchTextSpan = (0, _renderer.default)(\"\").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 = (0, _renderer.default)(_dom_adapter.default.createTextNode(text.substr(index + searchText.length))).insertAfter($searchTextSpan);\r\n return this._highlightSearchTextCore($textNode, searchText)\r\n }\r\n },\r\n _highlightSearchText: function(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((function(textNode) {\r\n if (isEquals) {\r\n if (stringNormalizer((0, _renderer.default)(textNode).text()) === stringNormalizer(searchText)) {\r\n (0, _renderer.default)(textNode).replaceWith((0, _renderer.default)(\"\").addClass(that.addWidgetPrefix(SEARCH_TEXT_CLASS)).text((0, _renderer.default)(textNode).text()))\r\n }\r\n } else {\r\n that._highlightSearchTextCore((0, _renderer.default)(textNode), searchText)\r\n }\r\n }))\r\n }\r\n },\r\n _renderCore: function() {\r\n var _this = this;\r\n var deferred = this.callBase.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((function() {\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: function($cell, parameters) {\r\n var _this2 = this;\r\n var column = parameters.column;\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((function() {\r\n _this2._searchParams.forEach((function(params) {\r\n _this2._highlightSearchText.apply(_this2, params)\r\n }));\r\n _this2._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 this.callBase($cell, parameters)\r\n },\r\n dispose: function() {\r\n clearTimeout(this._highlightTimer);\r\n this.callBase()\r\n }\r\n }\r\n }\r\n }\r\n};\r\nexports.searchModule = searchModule;\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/grid_core/selection/m_selection.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.selectionModule = exports.SelectionController = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../../../core/renderer\"));\r\nvar _common = require(\"../../../../core/utils/common\");\r\nvar _deferred = require(\"../../../../core/utils/deferred\");\r\nvar _extend = require(\"../../../../core/utils/extend\");\r\nvar _iterator = require(\"../../../../core/utils/iterator\");\r\nvar _support = require(\"../../../../core/utils/support\");\r\nvar _type = require(\"../../../../core/utils/type\");\r\nvar _array_utils = require(\"../../../../data/array_utils\");\r\nvar _click = require(\"../../../../events/click\");\r\nvar _events_engine = _interopRequireDefault(require(\"../../../../events/core/events_engine\"));\r\nvar _hold = _interopRequireDefault(require(\"../../../../events/hold\"));\r\nvar _index = require(\"../../../../events/utils/index\");\r\nvar _message = _interopRequireDefault(require(\"../../../../localization/message\"));\r\nvar _selection = _interopRequireDefault(require(\"../../../../ui/selection/selection\"));\r\nvar _ui = _interopRequireDefault(require(\"../../../../ui/widget/ui.errors\"));\r\nvar _m_modules = _interopRequireDefault(require(\"../m_modules\"));\r\nvar _m_utils = _interopRequireDefault(require(\"../m_utils\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\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 = (0, _renderer.default)(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 = function(container, options) {\r\n var component = options.component;\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((0, _renderer.default)(container), options)\r\n};\r\nvar selectionHeaderTemplate = function(container, options) {\r\n var column = options.column;\r\n var $cellElement = (0, _renderer.default)(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\nvar SelectionController = function(_modules$Controller) {\r\n _inheritsLoose(SelectionController, _modules$Controller);\r\n\r\n function SelectionController() {\r\n return _modules$Controller.apply(this, arguments) || this\r\n }\r\n var _proto = SelectionController.prototype;\r\n _proto.init = function() {\r\n var _a;\r\n var _ref = null !== (_a = this.option(\"selection\")) && void 0 !== _a ? _a : {},\r\n deferred = _ref.deferred,\r\n selectAllMode = _ref.selectAllMode,\r\n mode = _ref.mode;\r\n if (\"infinite\" === this.option(\"scrolling.mode\") && !deferred && \"multiple\" === mode && \"allPages\" === selectAllMode) {\r\n _ui.default.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 _proto._handleDataPushed = function(changes) {\r\n this._deselectRemovedOnPush(changes);\r\n this._updateSelectedOnPush(changes)\r\n };\r\n _proto._deselectRemovedOnPush = function(changes) {\r\n var isDeferredSelection = this.option(\"selection.deferred\");\r\n var removedKeys = changes.filter((function(change) {\r\n return \"remove\" === change.type\r\n })).map((function(change) {\r\n return change.key\r\n }));\r\n if (isDeferredSelection) {\r\n var selectedKeys = this._dataController.items().filter((function(item) {\r\n return item.isSelected\r\n })).map((function(item) {\r\n return item.key\r\n }));\r\n removedKeys = removedKeys.filter((function(key) {\r\n return selectedKeys.find((function(selectedKey) {\r\n return (0, _common.equalByValue)(selectedKey, key)\r\n }))\r\n }))\r\n }\r\n removedKeys.length && this.deselectRows(removedKeys)\r\n };\r\n _proto._updateSelectedOnPush = function(changes) {\r\n var isDeferredSelection = this.option(\"selection.deferred\");\r\n if (isDeferredSelection) {\r\n return\r\n }\r\n var updateChanges = changes.filter((function(change) {\r\n return \"update\" === change.type\r\n }));\r\n var data = this.getSelectedRowsData();\r\n (0, _array_utils.applyBatch)({\r\n keyInfo: this._selection.options,\r\n data: data,\r\n changes: updateChanges\r\n })\r\n };\r\n _proto._getSelectionConfig = function() {\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 deferred = selectionOptions.deferred;\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: function() {\r\n var hasGroupColumns = columnsController.getGroupColumns().length > 0;\r\n return virtualPaging && !legacyScrollingMode && !hasGroupColumns && allowSelectAll && !deferred\r\n },\r\n key: function() {\r\n return null === dataController || void 0 === dataController ? void 0 : dataController.key()\r\n },\r\n keyOf: function(item) {\r\n return null === dataController || void 0 === dataController ? void 0 : dataController.keyOf(item)\r\n },\r\n dataFields: function() {\r\n var _a;\r\n return null === (_a = dataController.dataSource()) || void 0 === _a ? void 0 : _a.select()\r\n },\r\n load: function(options) {\r\n var _a;\r\n return (null === (_a = dataController.dataSource()) || void 0 === _a ? void 0 : _a.load(options)) || (new _deferred.Deferred).resolve([])\r\n },\r\n plainItems: function() {\r\n return dataController.items(true)\r\n },\r\n isItemSelected: function(item) {\r\n return item.selected\r\n },\r\n isSelectableItem: function(item) {\r\n return \"data\" === (null === item || void 0 === item ? void 0 : item.rowType) && !item.isNewRow\r\n },\r\n getItemData: function(item) {\r\n return (0, _type.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 },\r\n filter: function() {\r\n return dataController.getCombinedFilter(deferred)\r\n },\r\n totalCount: function() {\r\n return dataController.totalCount()\r\n },\r\n getLoadOptions: function(loadItemIndex, focusedItemIndex, shiftItemIndex) {\r\n var _a, _b;\r\n var _ref2 = null !== (_b = null === (_a = dataController.dataSource()) || void 0 === _a ? void 0 : _a.lastLoadOptions()) && void 0 !== _b ? _b : {},\r\n sort = _ref2.sort,\r\n filter = _ref2.filter;\r\n var minIndex = Math.min(loadItemIndex, focusedItemIndex);\r\n var maxIndex = Math.max(loadItemIndex, focusedItemIndex);\r\n if ((0, _type.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 _proto._updateSelectColumn = function() {\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 _proto._createSelection = function() {\r\n var options = this._getSelectionConfig();\r\n return new _selection.default(options)\r\n };\r\n _proto._fireSelectionChanged = function(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 _proto._updateCheckboxesState = function(options) {\r\n var isDeferredMode = options.isDeferredMode;\r\n var selectionFilter = options.selectionFilter;\r\n var selectedItemKeys = options.selectedItemKeys;\r\n var removedItemKeys = options.removedItemKeys;\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 _proto._updateSelectedItems = function(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 _proto.getChangedItemIndexes = function(items) {\r\n var itemIndexes = [];\r\n var isDeferredSelection = this.option(\"selection.deferred\");\r\n for (var i = 0, length = items.length; 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 _proto.callbackNames = function() {\r\n return [\"selectionChanged\"]\r\n };\r\n _proto.optionChanged = function(args) {\r\n var _this = this;\r\n _modules$Controller.prototype.optionChanged.call(this, 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((function() {\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 _proto.publicMethods = function() {\r\n return [\"selectRows\", \"deselectRows\", \"selectRowsByIndexes\", \"getSelectedRowKeys\", \"getSelectedRowsData\", \"clearSelection\", \"selectAll\", \"deselectAll\", \"startSelectionWithCheckboxes\", \"stopSelectionWithCheckboxes\", \"isRowSelected\"]\r\n };\r\n _proto.isRowSelected = function(arg) {\r\n return this._selection.isItemSelected(arg)\r\n };\r\n _proto.isSelectColumnVisible = function() {\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 _proto._isOnePageSelectAll = function() {\r\n return \"page\" === this.option(\"selection.selectAllMode\")\r\n };\r\n _proto.isSelectAll = function() {\r\n return this._selection.getSelectAllState(this._isOnePageSelectAll())\r\n };\r\n _proto.selectAll = function() {\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 _proto.deselectAll = function() {\r\n return this._selection.deselectAll(this._isOnePageSelectAll())\r\n };\r\n _proto.clearSelection = function() {\r\n return this.selectedItemKeys([])\r\n };\r\n _proto.refresh = function() {\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.Deferred).resolve().promise()\r\n };\r\n _proto.selectedItemKeys = function(value, preserve, isDeselect, isSelectAll) {\r\n return this._selection.selectedItemKeys(value, preserve, isDeselect, isSelectAll)\r\n };\r\n _proto.getSelectedRowKeys = function() {\r\n return this._selection.getSelectedItemKeys()\r\n };\r\n _proto.selectRows = function(keys, preserve) {\r\n return this.selectedItemKeys(keys, preserve)\r\n };\r\n _proto.deselectRows = function(keys) {\r\n return this.selectedItemKeys(keys, true, true)\r\n };\r\n _proto.selectRowsByIndexes = function(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 }(0, _iterator.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 _proto.getSelectedRowsData = function() {\r\n return this._selection.getSelectedItems()\r\n };\r\n _proto.loadSelectedItemsWithFilter = function() {\r\n return this._selection.loadSelectedItemsWithFilter()\r\n };\r\n _proto.changeItemSelection = function(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 _proto.focusedItemIndex = function(itemIndex) {\r\n if ((0, _type.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 _proto.isSelectionWithCheckboxes = function() {\r\n return \"multiple\" === this.option(SELECTION_MODE) && (\"always\" === this.option(SHOW_CHECKBOXES_MODE) || this._isSelectionWithCheckboxes)\r\n };\r\n _proto.startSelectionWithCheckboxes = function() {\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 _proto.stopSelectionWithCheckboxes = function() {\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 return SelectionController\r\n}(_m_modules.default.Controller);\r\nexports.SelectionController = SelectionController;\r\nvar selectionModule = {\r\n defaultOptions: function() {\r\n return {\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 },\r\n controllers: {\r\n selection: SelectionController\r\n },\r\n extenders: {\r\n controllers: {\r\n data: {\r\n init: function() {\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: function() {\r\n var that = this;\r\n return that.callBase().always((function() {\r\n that.getController(\"selection\").refresh()\r\n }))\r\n },\r\n _processDataItem: function(item, options) {\r\n var that = this;\r\n var selectionController = that.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: function(options) {\r\n var that = this;\r\n var d = new _deferred.Deferred;\r\n this.callBase.apply(this, arguments).done((function() {\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: function(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: function(change) {\r\n var _this2 = this;\r\n if (change && \"updateSelection\" === change.changeType) {\r\n change.items.forEach((function(item, index) {\r\n var currentItem = _this2._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: function() {\r\n var changes = this._changes;\r\n var isUpdateSelection = changes.length > 1 && changes.every((function(change) {\r\n return \"updateSelection\" === change.changeType\r\n }));\r\n if (isUpdateSelection) {\r\n var itemIndexes = changes.map((function(change) {\r\n return change.itemIndexes || []\r\n })).reduce((function(a, b) {\r\n return a.concat(b)\r\n }));\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: function(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: function() {\r\n this.callBase();\r\n this.getController(\"selection\").selectionChanged.add(this._updateSelectAllValue.bind(this))\r\n },\r\n _updateSelectAllValue: function() {\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: function(e) {\r\n var _this3 = this;\r\n this.callBase(e);\r\n if (!e || \"refresh\" === e.changeType || e.repaintChangesOnly && \"update\" === e.changeType) {\r\n this.waitAsyncTemplates().done((function() {\r\n _this3._updateSelectAllValue()\r\n }))\r\n }\r\n },\r\n _renderSelectAllCheckBox: function($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 = (0, _renderer.default)(\"
    \").appendTo($container).addClass(SELECT_CHECKBOX_CLASS);\r\n that.setAria(\"label\", _message.default.format(\"dxDataGrid-ariaSelectAll\"), groupElement);\r\n that.getController(\"editorFactory\").createEditor(groupElement, (0, _extend.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: function(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: function($element) {\r\n _events_engine.default.on($element, _click.name, this.createAction((function(e) {\r\n var event = e.event;\r\n if (!(0, _renderer.default)(event.target).closest(\".\".concat(SELECT_CHECKBOX_CLASS)).length) {\r\n _events_engine.default.trigger((0, _renderer.default)(event.currentTarget).children(\".\".concat(SELECT_CHECKBOX_CLASS)), _click.name)\r\n }\r\n event.preventDefault()\r\n })))\r\n }\r\n },\r\n rowsView: {\r\n renderSelectCheckBoxContainer: function($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 _m_utils.default.setEmptyText($container)\r\n }\r\n },\r\n _renderSelectCheckBox: function(container, options) {\r\n var groupElement = (0, _renderer.default)(\"
    \").addClass(SELECT_CHECKBOX_CLASS).appendTo(container);\r\n this.setAria(\"label\", _message.default.format(\"dxDataGrid-ariaSelectRow\"), groupElement);\r\n this.getController(\"editorFactory\").createEditor(groupElement, (0, _extend.extend)({}, options.column, {\r\n parentType: \"dataRow\",\r\n dataType: \"boolean\",\r\n lookup: null,\r\n value: options.value,\r\n setValue: function(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 _events_engine.default.trigger(e.element, _click.name, e)\r\n }\r\n },\r\n row: options.row\r\n }));\r\n return groupElement\r\n },\r\n _attachCheckBoxClickEvent: function($element) {\r\n _events_engine.default.on($element, _click.name, this.createAction((function(e) {\r\n var selectionController = this.getController(\"selection\");\r\n var event = e.event;\r\n var rowIndex = this.getRowIndex((0, _renderer.default)(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 ((0, _renderer.default)(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: function(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 (0, _iterator.each)(tableElements, (function(_, tableElement) {\r\n (0, _iterator.each)(change.itemIndexes || [], (function(_, index) {\r\n var $row;\r\n if (change.items[index]) {\r\n $row = that._getRowElements((0, _renderer.default)(tableElement)).eq(index);\r\n if ($row.length) {\r\n var isSelected = change.items[index].isSelected;\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: function() {\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) || !_support.touch) {\r\n _events_engine.default.on($table, (0, _index.addNamespace)(_hold.default.name, \"dxDataGridRowsView\"), \".\".concat(DATA_ROW_CLASS), that.createAction((function(e) {\r\n processLongTap(that.component, e.event);\r\n e.event.stopPropagation()\r\n })))\r\n }\r\n _events_engine.default.on($table, \"mousedown selectstart\", that.createAction((function(e) {\r\n var event = e.event;\r\n if (event.shiftKey) {\r\n event.preventDefault()\r\n }\r\n })))\r\n }\r\n return $table\r\n },\r\n _createRow: function(row) {\r\n var $row = this.callBase.apply(this, arguments);\r\n if (row) {\r\n var isSelected = row.isSelected;\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: function(e) {\r\n var dxEvent = e.event;\r\n var isSelectionDisabled = (0, _renderer.default)(dxEvent.target).closest(\".\".concat(SELECTION_DISABLED_CLASS)).length;\r\n if (!this.isClickableElement((0, _renderer.default)(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: (0, _index.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: function($target) {\r\n var isCommandSelect = $target.closest(\".\".concat(COMMAND_SELECT_CLASS)).length;\r\n return !!isCommandSelect\r\n },\r\n _renderCore: function(change) {\r\n var deferred = this.callBase(change);\r\n this._updateCheckboxesClass();\r\n return deferred\r\n },\r\n _updateCheckboxesClass: function() {\r\n var tableElements = this.getTableElements();\r\n var selectionController = this.getController(\"selection\");\r\n var isCheckBoxesHidden = selectionController.isSelectColumnVisible() && !selectionController.isSelectionWithCheckboxes();\r\n (0, _iterator.each)(tableElements, (function(_, tableElement) {\r\n (0, _renderer.default)(tableElement).toggleClass(CHECKBOXES_HIDDEN_CLASS, isCheckBoxesHidden)\r\n }))\r\n }\r\n }\r\n }\r\n }\r\n};\r\nexports.selectionModule = selectionModule;\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/grid_core/sorting/m_sorting.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.sortingModule = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../../../core/renderer\"));\r\nvar _extend = require(\"../../../../core/utils/extend\");\r\nvar _type = require(\"../../../../core/utils/type\");\r\nvar _click = require(\"../../../../events/click\");\r\nvar _events_engine = _interopRequireDefault(require(\"../../../../events/core/events_engine\"));\r\nvar _index = require(\"../../../../events/utils/index\");\r\nvar _message = _interopRequireDefault(require(\"../../../../localization/message\"));\r\nvar _m_sorting_mixin = _interopRequireDefault(require(\"./m_sorting_mixin\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar COLUMN_HEADERS_VIEW_NAMESPACE = \"dxDataGridColumnHeadersView\";\r\nvar ColumnHeadersViewSortingExtender = (0, _extend.extend)({}, _m_sorting_mixin.default, {\r\n _createRow: function(row) {\r\n var _this = this;\r\n var $row = this.callBase(row);\r\n if (\"header\" === row.rowType) {\r\n _events_engine.default.on($row, (0, _index.addNamespace)(_click.name, COLUMN_HEADERS_VIEW_NAMESPACE), \"td\", this.createAction((function(e) {\r\n _this._processHeaderAction(e.event, $row)\r\n })))\r\n }\r\n return $row\r\n },\r\n _processHeaderAction: function(event, $row) {\r\n if ((0, _renderer.default)(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 = (0, _renderer.default)(event.currentTarget);\r\n var rowIndex = $cellElementFromEvent.parent().index();\r\n var columnIndex = -1;\r\n [].slice.call(that.getCellElements(rowIndex)).some((function($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((0, _renderer.default)(event.target))) {\r\n return\r\n }\r\n if (column && !(0, _type.isDefined)(column.groupIndex) && !column.command) {\r\n if (event.shiftKey) {\r\n keyName = \"shift\"\r\n } else if ((0, _index.isCommandKeyPressed)(event)) {\r\n keyName = \"ctrl\"\r\n }\r\n setTimeout((function() {\r\n that._columnsController.changeSortOrder(column.index, keyName)\r\n }))\r\n }\r\n },\r\n _renderCellContent: function($cell, options) {\r\n var that = this;\r\n var column = options.column;\r\n if (!column.command && \"header\" === options.rowType) {\r\n that._applyColumnState({\r\n name: \"sort\",\r\n rootElement: $cell,\r\n column: column,\r\n showColumnLines: that.option(\"showColumnLines\")\r\n })\r\n }\r\n this.callBase.apply(this, arguments)\r\n },\r\n _columnOptionChanged: function(e) {\r\n var changeTypes = e.changeTypes;\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: function(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 = (0, _extend.extend)({}, _m_sorting_mixin.default, {\r\n _createGroupPanelItem: function($rootElement, groupColumn) {\r\n var that = this;\r\n var $item = that.callBase.apply(that, arguments);\r\n _events_engine.default.on($item, (0, _index.addNamespace)(_click.name, \"dxDataGridHeaderPanel\"), that.createAction((function() {\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: function(groupColumnIndex) {\r\n var _this2 = this;\r\n setTimeout((function() {\r\n return _this2.getController(\"columns\").changeSortOrder(groupColumnIndex)\r\n }))\r\n },\r\n optionChanged: function(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 sortingModule = {\r\n defaultOptions: function() {\r\n return {\r\n sorting: {\r\n mode: \"single\",\r\n ascendingText: _message.default.format(\"dxDataGrid-sortingAscendingText\"),\r\n descendingText: _message.default.format(\"dxDataGrid-sortingDescendingText\"),\r\n clearText: _message.default.format(\"dxDataGrid-sortingClearText\"),\r\n showSortIndexes: true\r\n }\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\nexports.sortingModule = sortingModule;\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/grid_core/sorting/m_sorting_mixin.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../../../core/renderer\"));\r\nvar _type = require(\"../../../../core/utils/type\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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\nvar _default = {\r\n _applyColumnState: function(options) {\r\n var ariaSortState;\r\n var $sortIndicator;\r\n var sortingMode = this.option(\"sorting.mode\");\r\n var rootElement = options.rootElement;\r\n var column = options.column;\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 (!(0, _type.isDefined)(column.groupIndex) && (isSortingAllowed || (0, _type.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 (0, _renderer.default)(\"\").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 (!(0, _type.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: function(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: function(options) {\r\n var column = options.column;\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 (!(0, _type.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: function($cell, column, indicatorName) {\r\n if (\"sort\" === indicatorName && (0, _type.isDefined)(column.groupIndex)) {\r\n return\r\n }\r\n return this.callBase.apply(this, arguments)\r\n },\r\n _getIndicatorElements: function($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\nexports.default = _default;\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/grid_core/state_storing/m_state_storing.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.stateStoringModule = void 0;\r\nvar _common = require(\"../../../../core/utils/common\");\r\nvar _deferred = require(\"../../../../core/utils/deferred\");\r\nvar _extend = require(\"../../../../core/utils/extend\");\r\nvar _type = require(\"../../../../core/utils/type\");\r\nvar _m_state_storing_core = _interopRequireDefault(require(\"./m_state_storing_core\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar getDataState = function(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 (0, _extend.extend)(state, dataController.getUserState())\r\n};\r\nvar processLoadState = function(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((function() {\r\n that.updateState({\r\n columns: columnsController.getUserState()\r\n })\r\n }))\r\n }\r\n if (selectionController) {\r\n selectionController.selectionChanged.add((function(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((function() {\r\n var state = getDataState(that);\r\n that.updateState(state)\r\n }))\r\n }\r\n if (exportController) {\r\n exportController.selectionOnlyChanged.add((function() {\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 = function(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\nvar stateStoringModule = {\r\n defaultOptions: function() {\r\n return {\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 },\r\n controllers: {\r\n stateStoring: _m_state_storing_core.default.StateStoringController\r\n },\r\n extenders: {\r\n views: {\r\n rowsView: {\r\n init: function() {\r\n var that = this;\r\n var dataController = that.getController(\"data\");\r\n that.callBase();\r\n dataController.stateLoaded.add((function() {\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: function() {\r\n this.callBase.apply(this, arguments);\r\n processLoadState(this)\r\n },\r\n isLoading: function() {\r\n return this.callBase() || this.getController(\"data\").isStateLoading()\r\n },\r\n state: function(_state) {\r\n var result = this.callBase.apply(this, arguments);\r\n if (void 0 !== _state) {\r\n this.applyState((0, _extend.extend)(true, {}, _state))\r\n }\r\n return result\r\n },\r\n updateState: function(state) {\r\n if (this.isEnabled()) {\r\n var oldState = this.state();\r\n var newState = (0, _extend.extend)({}, oldState, state);\r\n var oldStateHash = (0, _common.getKeyHash)(oldState);\r\n var newStateHash = (0, _common.getKeyHash)(newState);\r\n if (!(0, _common.equalByValue)(oldStateHash, newStateHash)) {\r\n state = (0, _extend.extend)(true, {}, state);\r\n (0, _extend.extend)(this._state, state);\r\n this.save()\r\n }\r\n } else {\r\n (0, _extend.extend)(this._state, state)\r\n }\r\n },\r\n applyState: function(state) {\r\n var _a;\r\n var allowedPageSizes = state.allowedPageSizes;\r\n var searchText = state.searchText;\r\n var selectedRowKeys = state.selectedRowKeys;\r\n var selectionFilter = state.selectionFilter;\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) && (0, _type.isDefined)(state.pageSize) ? state.pageSize : this._initialPageSize);\r\n dataController && dataController.reset()\r\n }\r\n },\r\n columns: {\r\n _shouldReturnVisibleColumns: function() {\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: function() {\r\n return this.callBase().concat([\"stateLoaded\"])\r\n },\r\n _refreshDataSource: function() {\r\n var _this = this;\r\n var callBase = this.callBase;\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.Deferred;\r\n this._restoreStateTimeoutID = setTimeout((function() {\r\n stateStoringController.load().always((function() {\r\n _this._restoreStateTimeoutID = null\r\n })).done((function() {\r\n callBase.call(_this);\r\n _this.stateLoaded.fire();\r\n deferred.resolve()\r\n })).fail((function(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: function() {\r\n var stateStoringController = this.getController(\"stateStoring\");\r\n return this.callBase() || stateStoringController.isLoading()\r\n },\r\n isStateLoading: function() {\r\n return (0, _type.isDefined)(this._restoreStateTimeoutID)\r\n },\r\n isLoaded: function() {\r\n return this.callBase() && !this.isStateLoading()\r\n },\r\n dispose: function() {\r\n clearTimeout(this._restoreStateTimeoutID);\r\n this.callBase()\r\n }\r\n },\r\n selection: {\r\n _fireSelectionChanged: function(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\nexports.stateStoringModule = stateStoringModule;\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/grid_core/state_storing/m_state_storing_core.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.default = void 0;\r\nvar _deferred = require(\"../../../../core/utils/deferred\");\r\nvar _extend = require(\"../../../../core/utils/extend\");\r\nvar _iterator = require(\"../../../../core/utils/iterator\");\r\nvar _storage = require(\"../../../../core/utils/storage\");\r\nvar _type = require(\"../../../../core/utils/type\");\r\nvar _window = require(\"../../../../core/utils/window\");\r\nvar _events_engine = _interopRequireDefault(require(\"../../../../events/core/events_engine\"));\r\nvar _ui = _interopRequireDefault(require(\"../../../../ui/widget/ui.errors\"));\r\nvar _m_modules = _interopRequireDefault(require(\"../m_modules\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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 }(0, _iterator.each)(state, (function(key, value) {\r\n if ((0, _type.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 = _m_modules.default.ViewController.inherit(function() {\r\n var getStorage = function(options) {\r\n var storage = \"sessionStorage\" === options.type ? (0, _storage.sessionStorage)() : (0, _window.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 (0, _type.isDefined)(options.storageKey) ? options.storageKey : \"storage\"\r\n };\r\n return {\r\n _loadState: function() {\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 _ui.default.log(\"W1022\", \"State storing\", e.message)\r\n }\r\n },\r\n _saveState: function(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 _ui.default.log(e.message)\r\n }\r\n },\r\n publicMethods: function() {\r\n return [\"state\"]\r\n },\r\n isEnabled: function() {\r\n return this.option(\"stateStoring.enabled\")\r\n },\r\n init: function() {\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 _events_engine.default.on((0, _window.getWindow)(), \"unload\", that._windowUnloadHandler);\r\n return that\r\n },\r\n isLoaded: function() {\r\n return this._isLoaded\r\n },\r\n isLoading: function() {\r\n return this._isLoading\r\n },\r\n load: function() {\r\n var _this = this;\r\n this._isLoading = true;\r\n var loadResult = (0, _deferred.fromPromise)(this._loadState());\r\n loadResult.always((function() {\r\n _this._isLoaded = true;\r\n _this._isLoading = false\r\n })).done((function(state) {\r\n if (null !== state && !(0, _type.isEmptyObject)(state)) {\r\n _this.state(state)\r\n }\r\n }));\r\n return loadResult\r\n },\r\n state: function(_state) {\r\n var that = this;\r\n if (!arguments.length) {\r\n return (0, _extend.extend)(true, {}, that._state)\r\n }\r\n that._state = (0, _extend.extend)({}, _state);\r\n parseDates(that._state)\r\n },\r\n save: function() {\r\n var that = this;\r\n clearTimeout(that._savingTimeoutID);\r\n that._savingTimeoutID = setTimeout((function() {\r\n that._saveState(that.state());\r\n that._savingTimeoutID = void 0\r\n }), that.option(\"stateStoring.savingTimeout\"))\r\n },\r\n optionChanged: function(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: function() {\r\n clearTimeout(this._savingTimeoutID);\r\n _events_engine.default.off((0, _window.getWindow)(), \"unload\", this._windowUnloadHandler)\r\n }\r\n }\r\n}());\r\nvar _default = {\r\n StateStoringController: StateStoringController\r\n};\r\nexports.default = _default;\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/grid_core/validating/m_validating.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.validatingModule = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../../../core/renderer\"));\r\nvar _browser = _interopRequireDefault(require(\"../../../../core/utils/browser\"));\r\nvar _common = require(\"../../../../core/utils/common\");\r\nvar _deferred = require(\"../../../../core/utils/deferred\");\r\nvar _extend = require(\"../../../../core/utils/extend\");\r\nvar _iterator = require(\"../../../../core/utils/iterator\");\r\nvar _size = require(\"../../../../core/utils/size\");\r\nvar _string = require(\"../../../../core/utils/string\");\r\nvar _type = require(\"../../../../core/utils/type\");\r\nvar _array_utils = require(\"../../../../data/array_utils\");\r\nvar _events_engine = _interopRequireDefault(require(\"../../../../events/core/events_engine\"));\r\nvar _pointer = _interopRequireDefault(require(\"../../../../events/pointer\"));\r\nvar _message = _interopRequireDefault(require(\"../../../../localization/message\"));\r\nvar _button = _interopRequireDefault(require(\"../../../../ui/button\"));\r\nvar _load_indicator = _interopRequireDefault(require(\"../../../../ui/load_indicator\"));\r\nvar _ui = _interopRequireDefault(require(\"../../../../ui/overlay/ui.overlay\"));\r\nvar _validation_engine = _interopRequireDefault(require(\"../../../../ui/validation_engine\"));\r\nvar _validator = _interopRequireDefault(require(\"../../../../ui/validator\"));\r\nvar _selectors = require(\"../../../../ui/widget/selectors\");\r\nvar _ui2 = _interopRequireDefault(require(\"../../../../ui/widget/ui.errors\"));\r\nvar _m_modules = _interopRequireDefault(require(\"../m_modules\"));\r\nvar _m_utils = _interopRequireDefault(require(\"../m_utils\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _toConsumableArray(arr) {\r\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread()\r\n}\r\n\r\nfunction _nonIterableSpread() {\r\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _unsupportedIterableToArray(o, minLen) {\r\n if (!o) {\r\n return\r\n }\r\n if (\"string\" === typeof o) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n var n = Object.prototype.toString.call(o).slice(8, -1);\r\n if (\"Object\" === n && o.constructor) {\r\n n = o.constructor.name\r\n }\r\n if (\"Map\" === n || \"Set\" === n) {\r\n return Array.from(o)\r\n }\r\n if (\"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n}\r\n\r\nfunction _iterableToArray(iter) {\r\n if (\"undefined\" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter[\"@@iterator\"]) {\r\n return Array.from(iter)\r\n }\r\n}\r\n\r\nfunction _arrayWithoutHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return _arrayLikeToArray(arr)\r\n }\r\n}\r\n\r\nfunction _arrayLikeToArray(arr, len) {\r\n if (null == len || len > arr.length) {\r\n len = arr.length\r\n }\r\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\r\n arr2[i] = arr[i]\r\n }\r\n return arr2\r\n}\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 (0, _type.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 = _m_modules.default.Controller.inherit({\r\n init: function() {\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: function() {\r\n this._validationState = [];\r\n this._validationStateCache = {}\r\n },\r\n _rowIsValidated: function(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: function(key, create) {\r\n var keyHash = (0, _common.getKeyHash)(key);\r\n var isObjectKeyHash = (0, _type.isObject)(keyHash);\r\n var validationData;\r\n if (isObjectKeyHash) {\r\n validationData = this._validationState.filter((function(data) {\r\n return (0, _common.equalByValue)(data.key, key)\r\n }))[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: function(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: function(validationData, validationResults) {\r\n var deferred = new _deferred.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 (0, _deferred.when)((0, _deferred.fromPromise)(parameters.promise)).always((function() {\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: function(brokenRules) {\r\n var brokenRulesMessages = [];\r\n (0, _iterator.each)(brokenRules, (function(_, brokenRule) {\r\n var column = brokenRule.column;\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: function(isFull) {\r\n var _this = this;\r\n var isValid = true;\r\n var editingController = this._editingController;\r\n var deferred = new _deferred.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 (0, _iterator.each)(changes, (function(index, _ref) {\r\n var type = _ref.type,\r\n key = _ref.key;\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((function(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((function(validationResult) {\r\n isValid = validationResult.isValid\r\n }))\r\n }\r\n _deferred.when.apply(void 0, completeList).done((function() {\r\n _this._isValidationInProgress = false;\r\n deferred.resolve(isValid)\r\n }));\r\n return deferred.promise()\r\n },\r\n validateGroup: function(validationData) {\r\n var _this2 = this;\r\n var result = new _deferred.Deferred;\r\n var validateGroup = validationData && _validation_engine.default.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 = _validation_engine.default.validateGroup(validationData)\r\n }(0, _deferred.when)((null === validationResult || void 0 === validationResult ? void 0 : validationResult.complete) || validationResult).done((function(validationResult) {\r\n (0, _deferred.when)(_this2._rowValidating(validationData, validationResult)).done(result.resolve)\r\n }));\r\n return result.promise()\r\n },\r\n isRowDataModified: function(change) {\r\n return !(0, _type.isEmptyObject)(change.data)\r\n },\r\n updateValidationState: function(change) {\r\n var editMode = this._editingController.getEditMode();\r\n var key = change.key;\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 = _validation_engine.default.getGroupConfig(validationData);\r\n if (groupConfig) {\r\n var validationResult = _validation_engine.default.validateGroup(validationData);\r\n (0, _deferred.when)(validationResult.complete || validationResult).done((function(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: function(validator) {\r\n this._currentCellValidator = validator\r\n },\r\n renderCellPendingIndicator: function($container) {\r\n var $indicator = $container.find(\".\".concat(PENDING_INDICATOR_CLASS));\r\n if (!$indicator.length) {\r\n var $indicatorContainer = $container;\r\n $indicator = (0, _renderer.default)(\"
    \").appendTo($indicatorContainer).addClass(PENDING_INDICATOR_CLASS);\r\n this._createComponent($indicator, _load_indicator.default);\r\n $container.addClass(VALIDATION_PENDING_CLASS)\r\n }\r\n },\r\n disposeCellPendingIndicator: function($container) {\r\n var $indicator = $container.find(\".\".concat(PENDING_INDICATOR_CLASS));\r\n if ($indicator.length) {\r\n var indicator = _load_indicator.default.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: function(result) {\r\n var validator = result.validator;\r\n var validationGroup = validator.option(\"validationGroup\");\r\n var _validator$option = validator.option(\"dataGetter\")(),\r\n column = _validator$option.column;\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: function(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: function(arg) {\r\n var validator = arg.component;\r\n var validationGroup = validator.option(\"validationGroup\");\r\n var _validator$option2 = validator.option(\"dataGetter\")(),\r\n column = _validator$option2.column;\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: function($container, result) {\r\n var validator = result.validator;\r\n var validationGroup = validator.option(\"validationGroup\");\r\n var _validator$option3 = validator.option(\"dataGetter\")(),\r\n column = _validator$option3.column;\r\n result.brokenRules && result.brokenRules.forEach((function(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 (!(0, _selectors.focused)($focus)) {\r\n _events_engine.default.trigger($focus, \"focus\");\r\n _events_engine.default.trigger($focus, _pointer.default.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: function(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: function(parameters, $container) {\r\n var _this3 = this;\r\n var _a, _b;\r\n var editingController = this._editingController;\r\n var column = parameters.column;\r\n var showEditorAlways = column.showEditorAlways;\r\n if ((0, _type.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((function(column) {\r\n return column.showEditorAlways\r\n }))\r\n }\r\n var isEditRow = (0, _common.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 _ui2.default.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 = function() {\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.default($container || (0, _renderer.default)(\"
    \"), {\r\n name: column.caption,\r\n validationRules: (0, _extend.extend)(true, [], column.validationRules),\r\n validationGroup: validationData,\r\n adapter: useDefaultValidator ? null : {\r\n getValue: getValue,\r\n applyValidationResults: function(result) {\r\n _this3.applyValidationResult($container, result)\r\n }\r\n },\r\n dataGetter: function() {\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: (0, _array_utils.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 adapter.getValue = getValue;\r\n adapter.validationRequestsCallbacks = [];\r\n adapter.bypass = function() {\r\n return originBypass.call(adapter) || parameters.row.isNewRow && !_this3._isValidationInProgress && !editingController.isCellModified(parameters)\r\n }\r\n }\r\n }\r\n return validator\r\n }\r\n return\r\n },\r\n setDisableApplyValidationResults: function(flag) {\r\n this._disableApplyValidationResults = flag\r\n },\r\n getDisableApplyValidationResults: function() {\r\n return this._disableApplyValidationResults\r\n },\r\n isCurrentValidatorProcessing: function(_ref2) {\r\n var rowKey = _ref2.rowKey,\r\n columnIndex = _ref2.columnIndex;\r\n return this._currentCellValidator && (0, _common.equalByValue)(this._currentCellValidator.option(\"validationGroup\").key, rowKey) && this._currentCellValidator.option(\"dataGetter\")().column.index === columnIndex\r\n },\r\n validateCell: function(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 (!(0, _common.equalByValue)(currentCellValue, validationResult.value)) {\r\n validationResult = validator.validate()\r\n }\r\n }\r\n var deferred = new _deferred.Deferred;\r\n if (stateRestored && validationResult.status === VALIDATION_STATUS.pending) {\r\n this.updateCellValidationResult(cellParams);\r\n adapter.applyValidationResults(validationResult)\r\n }(0, _deferred.when)(validationResult.complete || validationResult).done((function(validationResult) {\r\n stateRestored && adapter.applyValidationResults(validationResult);\r\n deferred.resolve(validationResult)\r\n }));\r\n return deferred.promise()\r\n },\r\n updateCellValidationResult: function(_ref3) {\r\n var rowKey = _ref3.rowKey,\r\n columnIndex = _ref3.columnIndex,\r\n validationResult = _ref3.validationResult;\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 = (0, _extend.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.Deferred;\r\n result.complete.always((function() {\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: function(_ref4) {\r\n var rowKey = _ref4.rowKey,\r\n columnIndex = _ref4.columnIndex;\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: function(_ref5) {\r\n var change = _ref5.change,\r\n columnIndex = _ref5.columnIndex;\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: function(_ref6) {\r\n var change = _ref6.change,\r\n columnIndex = _ref6.columnIndex;\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: function(validationData) {\r\n if (validationData) {\r\n validationData.validationResults && delete validationData.validationResults;\r\n delete validationData.validated\r\n }\r\n },\r\n isInvalidCell: function(_ref7) {\r\n var rowKey = _ref7.rowKey,\r\n columnIndex = _ref7.columnIndex;\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: function(_ref8) {\r\n var rowKey = _ref8.rowKey,\r\n columnIndex = _ref8.columnIndex;\r\n var validationData = this._getValidationData(rowKey);\r\n var groupConfig = validationData && _validation_engine.default.getGroupConfig(validationData);\r\n var validators = groupConfig && groupConfig.validators;\r\n return validators && validators.filter((function(v) {\r\n var _v$option = v.option(\"dataGetter\")(),\r\n column = _v$option.column;\r\n return column ? column.index === columnIndex : false\r\n }))[0]\r\n },\r\n setCellValidationStatus: function(cellOptions) {\r\n var validationResult = this.getCellValidationResult({\r\n rowKey: cellOptions.key,\r\n columnIndex: cellOptions.column.index\r\n });\r\n if ((0, _type.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\nvar validatingModule = {\r\n defaultOptions: function() {\r\n return {\r\n editing: {\r\n texts: {\r\n validationCancelChanges: _message.default.format(\"dxDataGrid-validationCancelChanges\")\r\n }\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: function(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: function(args) {\r\n this.callBase.apply(this, arguments);\r\n var validatingController = this.getController(\"validating\");\r\n args.value.forEach((function(change) {\r\n if (void 0 === validatingController._getValidationData(change.key)) {\r\n validatingController.updateValidationState(change)\r\n }\r\n }))\r\n },\r\n _updateRowAndPageIndices: function() {\r\n var _this4 = this;\r\n var that = this;\r\n var startInsertIndex = that.getView(\"rowsView\").getTopVisibleItemIndex();\r\n var rowIndex = startInsertIndex;\r\n (0, _iterator.each)(that.getChanges(), (function(_, _ref9) {\r\n var key = _ref9.key,\r\n type = _ref9.type;\r\n var validationData = _this4.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: function(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: function(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: function(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: function(items, changeType) {\r\n var _this5 = this;\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 key = change.key;\r\n (0, _iterator.each)(items, (function(i, item) {\r\n if ((0, _common.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 rowIndex = validationData.rowIndex;\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((function(change) {\r\n var key = change.key;\r\n var validationData = validatingController._getValidationData(key);\r\n if (validationData && change.type && validationData.pageIndex === _this5._pageIndex && (null === change || void 0 === change ? void 0 : change.pageIndex) !== _this5._pageIndex) {\r\n addInValidItem(change, validationData)\r\n }\r\n }))\r\n }\r\n return items\r\n },\r\n processDataItem: function(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 = _m_utils.default.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 = (0, _extend.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: function(changes) {\r\n var _this6 = this;\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((function(column) {\r\n return !column.isBand\r\n }));\r\n var groupColumns = columnsController.getGroupColumns().filter((function(column) {\r\n return !column.showWhenGrouped && -1 === invisibleColumns.indexOf(column)\r\n }));\r\n var invisibleColumnValidators = [];\r\n invisibleColumns.push.apply(invisibleColumns, _toConsumableArray(groupColumns));\r\n if (!FORM_BASED_MODES.includes(this.getEditMode())) {\r\n (0, _iterator.each)(columns, (function(_, column) {\r\n changes.forEach((function(change) {\r\n var data;\r\n if (function(column, rowKey) {\r\n return _this6._dataController.getRowIndexByKey(rowKey) >= 0 && invisibleColumns.indexOf(column) < 0\r\n }(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 (!(0, _type.isDefined)(oldData)) {\r\n return\r\n }\r\n data = (0, _array_utils.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((function(validator) {\r\n validator.dispose()\r\n }))\r\n }\r\n },\r\n _beforeSaveEditData: function(change, editIndex) {\r\n var _this7 = this;\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.Deferred;\r\n this.executeOperation(result, (function() {\r\n validatingController.validate(true).done((function(isFullValid) {\r\n disposeValidators();\r\n _this7._updateRowAndPageIndices();\r\n switch (_this7.getEditMode()) {\r\n case EDIT_MODE_CELL:\r\n if (!isFullValid) {\r\n _this7._focusEditingCell()\r\n }\r\n break;\r\n case EDIT_MODE_BATCH:\r\n if (!isFullValid) {\r\n _this7._resetEditRowKey();\r\n _this7._resetEditColumnName();\r\n _this7.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: function(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.Deferred;\r\n (0, _deferred.when)(validatingController.validateCell(validator), result).done((function(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 },\r\n _afterSaveEditData: function(cancel) {\r\n var _this8 = this;\r\n var $firstErrorRow;\r\n var isCellEditMode = this.getEditMode() === EDIT_MODE_CELL;\r\n (0, _iterator.each)(this.getChanges(), (function(_, change) {\r\n var $errorRow = _this8._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((function(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: function(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 (0, _iterator.each)(validationState, (function(_, validationData) {\r\n validationData.rowIndex += args.items.length\r\n }))\r\n }\r\n this.callBase(args)\r\n },\r\n resetRowAndPageIndices: function() {\r\n var _this9 = this;\r\n var validationState = this.getController(\"validating\")._validationState;\r\n (0, _iterator.each)(validationState, (function(_, validationData) {\r\n if (validationData.pageIndex !== _this9._pageIndex) {\r\n delete validationData.pageIndex;\r\n delete validationData.rowIndex\r\n }\r\n }))\r\n },\r\n _beforeCancelEditData: function() {\r\n this.getController(\"validating\").initValidationState();\r\n this.callBase()\r\n },\r\n _showErrorRow: function(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: function(e) {\r\n var _this10 = this;\r\n var validatingController = this.getController(\"validating\");\r\n var deferred = new _deferred.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((function() {\r\n var currentValidator = validatingController.getCellValidator({\r\n rowKey: e.key,\r\n columnIndex: e.column.index\r\n });\r\n (0, _deferred.when)(currentValidator && validatingController.validateCell(currentValidator)).done((function(validationResult) {\r\n _this10.getController(\"editorFactory\").refocus();\r\n deferred.resolve(validationResult)\r\n }))\r\n }));\r\n return deferred.promise()\r\n },\r\n highlightDataCell: function($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 = (0, _type.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 (0, _deferred.when)(this.getController(\"validating\").validateCell(validator)).done((function() {\r\n validatingController.setCellValidationStatus(parameters)\r\n }))\r\n }\r\n }\r\n },\r\n getChangeByKey: function(key) {\r\n var changes = this.getChanges();\r\n return changes[_m_utils.default.getIndexByKey(key, changes)]\r\n },\r\n isCellModified: function(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: function($container) {\r\n var _this11 = this;\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 = (0, _renderer.default)(\"
    \").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: function() {\r\n var $buttonElement = (0, _renderer.default)(\"
    \").addClass(REVERT_BUTTON_CLASS);\r\n var buttonOptions = {\r\n icon: \"revert\",\r\n hint: _this11.option(\"editing.texts.validationCancelChanges\"),\r\n onClick: function() {\r\n _this11._editingController.cancelEditData()\r\n }\r\n };\r\n return new _button.default($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 _ui.default($tooltipElement, tooltipOptions)\r\n },\r\n _hideFixedGroupCell: function($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 = (0, _renderer.default)(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: function(e, isOverlayVisible) {\r\n if (!e.component.__skipPositionProcessing) {\r\n var isRevertButton = (0, _renderer.default)(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: function($cell, messages, alignment) {\r\n var _this12 = this;\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((function(message) {\r\n errorMessageText += (errorMessageText.length ? \"
    \" : \"\") + (0, _string.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 = (0, _renderer.default)(\"
    \").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.default.mozilla ? -1 : 0\r\n },\r\n my: myPosition,\r\n at: atPosition,\r\n of: $cell\r\n },\r\n onPositioned: function(e) {\r\n _this12._positionedHandler(e, isOverlayVisible);\r\n _this12._shiftValidationMessageIfNeed(e.component.$content(), $cell)\r\n }\r\n };\r\n this._hideFixedGroupCell($cell, overlayOptions);\r\n new _ui.default($overlayElement, overlayOptions)\r\n },\r\n _hideValidationMessage: function() {\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: function(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 = (0, _renderer.default)(element).closest(\"tr\").index(), $cellElements = (0, _renderer.default)(that._rowsView.getRowElement(rowIndex)).first().children().filter(\":not(.dx-hidden-cell)\"), that._rowsView._getWidths($cellElements).reduce((function(w1, w2) {\r\n return w1 + w2\r\n }), 0));\r\n var that, element, rowIndex, $cellElements;\r\n var $overlayContentElement = options.component.$content();\r\n var validationMessageWidth = (0, _size.getOuterWidth)($overlayContentElement, true);\r\n var needMaxWidth = !isRevertButton && validationMessageWidth > visibleTableWidth;\r\n var columnIndex = this._rowsView.getCellIndex((0, _renderer.default)(options.element).closest(\"td\"));\r\n var boundaryNonFixedColumnsInfo = function(fixedColumns) {\r\n var firstNonFixedColumnIndex;\r\n var lastNonFixedColumnIndex;\r\n fixedColumns.some((function(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: function($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 + (0, _size.getWidth)($content) > revertContentOffset.left) {\r\n var left = (0, _size.getWidth)($revertContent) + PADDING_BETWEEN_TOOLTIPS;\r\n $content.css(\"left\", revertContentOffset.left < $cell.offset().left ? -left : left)\r\n }\r\n },\r\n _getRevertTooltipsSelector: function() {\r\n var revertTooltipClass = this.addWidgetPrefix(REVERT_TOOLTIP_CLASS);\r\n return \".dx-editor-cell .\".concat(revertTooltipClass)\r\n },\r\n _getValidationMessagesSelector: function() {\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: function() {\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: function(skipValidator) {\r\n if (!skipValidator) {\r\n this.getController(\"validating\").setValidator(null)\r\n }\r\n this.callBase()\r\n },\r\n updateCellState: function($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((function(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: function($element, isHideBorder) {\r\n var _this13 = this;\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 callBase = this.callBase;\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((function() {\r\n (0, _deferred.when)(validatingController.validateCell(validator)).done((function(result) {\r\n validationResult = result;\r\n var _validationResult$val = validationResult.validator.option(\"dataGetter\")(),\r\n column = _validationResult$val.column;\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 _this13.updateCellState($element, validationResult, isHideBorder);\r\n callBase.call(_this13, $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: function($container) {\r\n var $editor = $container.find(\".dx-texteditor\").eq(0);\r\n return _m_utils.default.getWidgetInstance($editor)\r\n }\r\n },\r\n data: {\r\n _getValidationStatus: function(validationResult) {\r\n var validationStatus = validationResultIsValid(validationResult) ? validationResult.status : validationResult;\r\n return validationStatus || VALIDATION_STATUS.valid\r\n },\r\n _isCellChanged: function(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 = (0, _renderer.default)(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: function($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\") || (0, _size.getOuterHeight)($tooltipContent) > (0, _size.getOuterHeight)($freeSpaceRowElement))) {\r\n $freeSpaceRowElements.show();\r\n (0, _size.setHeight)($freeSpaceRowElements, (0, _size.getOuterHeight)($tooltipContent));\r\n return true\r\n }\r\n }\r\n return\r\n },\r\n _formItemPrepared: function(cellOptions, $container) {\r\n var _this14 = this;\r\n this.callBase.apply(this, arguments);\r\n (0, _common.deferUpdate)((function() {\r\n var $editor = $container.find(\".dx-widget\").first();\r\n var isEditorDisposed = $editor.length && !$editor.children().length;\r\n if (!isEditorDisposed) {\r\n _this14.getController(\"validating\").createValidator(cellOptions, $editor)\r\n }\r\n }))\r\n },\r\n _cellPrepared: function($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: function(contentTable) {\r\n var editingController = this.getController(\"editing\");\r\n editingController && editingController.hasChanges() && this._getRowElements(contentTable).each((function(_, item) {\r\n var rowOptions = (0, _renderer.default)(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\nexports.validatingModule = validatingModule;\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/grid_core/views/m_columns_view.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.ColumnsView = void 0;\r\nvar _dom_adapter = _interopRequireDefault(require(\"../../../../core/dom_adapter\"));\r\nvar _element = require(\"../../../../core/element\");\r\nvar _element_data = require(\"../../../../core/element_data\");\r\nvar _renderer = _interopRequireDefault(require(\"../../../../core/renderer\"));\r\nvar _browser = _interopRequireDefault(require(\"../../../../core/utils/browser\"));\r\nvar _common = require(\"../../../../core/utils/common\");\r\nvar _deferred = require(\"../../../../core/utils/deferred\");\r\nvar _extend = require(\"../../../../core/utils/extend\");\r\nvar iteratorUtils = _interopRequireWildcard(require(\"../../../../core/utils/iterator\"));\r\nvar _position = require(\"../../../../core/utils/position\");\r\nvar _size = require(\"../../../../core/utils/size\");\r\nvar _style = require(\"../../../../core/utils/style\");\r\nvar _support = require(\"../../../../core/utils/support\");\r\nvar _type = require(\"../../../../core/utils/type\");\r\nvar _window = require(\"../../../../core/utils/window\");\r\nvar _click = require(\"../../../../events/click\");\r\nvar _events_engine = _interopRequireDefault(require(\"../../../../events/core/events_engine\"));\r\nvar _double_click = require(\"../../../../events/double_click\");\r\nvar _pointer = _interopRequireDefault(require(\"../../../../events/pointer\"));\r\nvar _remove = require(\"../../../../events/remove\");\r\nvar _m_column_state_mixin = _interopRequireDefault(require(\"../../../grids/grid_core/column_state_mixin/m_column_state_mixin\"));\r\nvar _m_modules = _interopRequireDefault(require(\"../m_modules\"));\r\nvar _m_utils = _interopRequireDefault(require(\"../m_utils\"));\r\n\r\nfunction _getRequireWildcardCache(nodeInterop) {\r\n if (\"function\" !== typeof WeakMap) {\r\n return null\r\n }\r\n var cacheBabelInterop = new WeakMap;\r\n var cacheNodeInterop = new WeakMap;\r\n return (_getRequireWildcardCache = function(nodeInterop) {\r\n return nodeInterop ? cacheNodeInterop : cacheBabelInterop\r\n })(nodeInterop)\r\n}\r\n\r\nfunction _interopRequireWildcard(obj, nodeInterop) {\r\n if (!nodeInterop && obj && obj.__esModule) {\r\n return obj\r\n }\r\n if (null === obj || \"object\" !== _typeof(obj) && \"function\" !== typeof obj) {\r\n return {\r\n default: obj\r\n }\r\n }\r\n var cache = _getRequireWildcardCache(nodeInterop);\r\n if (cache && cache.has(obj)) {\r\n return cache.get(obj)\r\n }\r\n var newObj = {};\r\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\r\n for (var key in obj) {\r\n if (\"default\" !== key && Object.prototype.hasOwnProperty.call(obj, key)) {\r\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\r\n if (desc && (desc.get || desc.set)) {\r\n Object.defineProperty(newObj, key, desc)\r\n } else {\r\n newObj[key] = obj[key]\r\n }\r\n }\r\n }\r\n newObj.default = obj;\r\n if (cache) {\r\n cache.set(obj, newObj)\r\n }\r\n return newObj\r\n}\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\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: function(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((function() {\r\n touchTarget = touchCurrentTarget = null\r\n }), timeout)\r\n }\r\n _events_engine.default.on($table, \"touchstart touchend\", \".dx-row\", (function(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 _events_engine.default.on($table, [_click.name, _double_click.name, _pointer.default.down].join(\" \"), \".dx-row\", that.createAction((function(e) {\r\n var event = e.event;\r\n if (touchTarget) {\r\n event.target = touchTarget;\r\n event.currentTarget = touchCurrentTarget\r\n }\r\n if (!(0, _renderer.default)(event.target).closest(\"a\").length) {\r\n e.rowIndex = that.getRowIndex(event.currentTarget);\r\n if (e.rowIndex >= 0) {\r\n e.rowElement = (0, _element.getPublicElement)((0, _renderer.default)(event.currentTarget));\r\n e.columns = that.getColumns();\r\n if (event.type === _pointer.default.down) {\r\n that._rowPointerDown(e)\r\n } else if (event.type === _click.name) {\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 (0, _type.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\nvar viewWithColumnStateMixin = _m_modules.default.View.inherit(_m_column_state_mixin.default);\r\nvar ColumnsView = function(_viewWithColumnStateM) {\r\n _inheritsLoose(ColumnsView, _viewWithColumnStateM);\r\n\r\n function ColumnsView() {\r\n return _viewWithColumnStateM.apply(this, arguments) || this\r\n }\r\n var _proto = ColumnsView.prototype;\r\n _proto._createScrollableOptions = function() {\r\n var scrollingOptions = this.option(\"scrolling\");\r\n var useNativeScrolling = this.option(\"scrolling.useNative\");\r\n var options = (0, _extend.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 _proto._updateCell = function($cell, parameters) {\r\n if (parameters.rowType) {\r\n this._cellPrepared($cell, parameters)\r\n }\r\n };\r\n _proto._createCell = function(options) {\r\n var column = options.column;\r\n var alignment = column.alignment || (0, _position.getDefaultAlignment)(this.option(\"rtlEnabled\"));\r\n var cell = _dom_adapter.default.createElement(\"td\");\r\n cell.style.textAlign = alignment;\r\n var $cell = (0, _renderer.default)(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 (\"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 _proto._createRow = function(rowObject, tagName) {\r\n tagName = tagName || \"tr\";\r\n var $element = (0, _renderer.default)(\"<\".concat(tagName, \">\")).addClass(ROW_CLASS);\r\n this.setAria(\"role\", \"row\", $element);\r\n return $element\r\n };\r\n _proto._isAltRow = function(row) {\r\n return row && row.dataIndex % 2 === 1\r\n };\r\n _proto._createTable = function(columns, isAppend) {\r\n var that = this;\r\n var $table = (0, _renderer.default)(\"\").addClass(that.addWidgetPrefix(TABLE_CLASS)).addClass(that.addWidgetPrefix(TABLE_FIXED_CLASS));\r\n if (columns && !isAppend) {\r\n $table.append(that._createColGroup(columns));\r\n if (_browser.default.safari) {\r\n $table.append((0, _renderer.default)(\"\").append(\"\"))\r\n }\r\n } else {\r\n that.setAria(\"hidden\", true, $table)\r\n }\r\n this.setAria(\"role\", \"presentation\", (0, _renderer.default)(\"\").appendTo($table));\r\n if (isAppend) {\r\n return $table\r\n }\r\n if (_browser.default.mozilla) {\r\n _events_engine.default.on($table, \"mousedown\", \"td\", (function(e) {\r\n if (e.ctrlKey) {\r\n e.preventDefault()\r\n }\r\n }))\r\n }\r\n if (that.option(\"cellHintEnabled\")) {\r\n _events_engine.default.on($table, \"mousemove\", \".dx-row > td\", this.createAction((function(args) {\r\n var e = args.event;\r\n var $element = (0, _renderer.default)(e.target);\r\n var $cell = (0, _renderer.default)(e.currentTarget);\r\n var $row = $cell.parent();\r\n var visibleColumns = that._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(that.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 && !(0, _type.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 = function(event) {\r\n var $cell = (0, _renderer.default)(event.currentTarget);\r\n var $fieldItemContent = (0, _renderer.default)(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 = (0, _extend.extend)({}, options, {\r\n cellElement: (0, _element.getPublicElement)($cell),\r\n event: event,\r\n eventType: event.type\r\n });\r\n resultOptions.rowIndex = that.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 = that._columnsController.getVisibleIndex(resultOptions.column.index)\r\n }\r\n }\r\n return resultOptions\r\n };\r\n _events_engine.default.on($table, \"mouseover\", \".dx-row > td\", (function(e) {\r\n var options = getOptions(e);\r\n options && that.executeAction(\"onCellHoverChanged\", options)\r\n }));\r\n _events_engine.default.on($table, \"mouseout\", \".dx-row > td\", (function(e) {\r\n var options = getOptions(e);\r\n options && that.executeAction(\"onCellHoverChanged\", options)\r\n }));\r\n _events_engine.default.on($table, _click.name, \".dx-row > td\", (function(e) {\r\n var options = getOptions(e);\r\n options && that.executeAction(\"onCellClick\", options)\r\n }));\r\n _events_engine.default.on($table, _double_click.name, \".dx-row > td\", (function(e) {\r\n var options = getOptions(e);\r\n options && that.executeAction(\"onCellDblClick\", options)\r\n }));\r\n subscribeToRowEvents(that, $table);\r\n return $table\r\n };\r\n _proto._rowPointerDown = function() {};\r\n _proto._rowClick = function() {};\r\n _proto._rowDblClick = function() {};\r\n _proto._createColGroup = function(columns) {\r\n var colgroupElement = (0, _renderer.default)(\"\");\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 _proto._createCol = function(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 = (0, _renderer.default)(\"\");\r\n (0, _style.setWidth)(col, width);\r\n return col\r\n };\r\n _proto.renderDelayedTemplates = function(change) {\r\n var delayedTemplates = this._delayedTemplates;\r\n var syncTemplates = delayedTemplates.filter((function(template) {\r\n return !template.async\r\n }));\r\n var asyncTemplates = delayedTemplates.filter((function(template) {\r\n return template.async\r\n }));\r\n this._delayedTemplates = [];\r\n this._renderDelayedTemplatesCore(syncTemplates, false, change);\r\n this._renderDelayedTemplatesCoreAsync(asyncTemplates)\r\n };\r\n _proto._renderDelayedTemplatesCoreAsync = function(templates) {\r\n var _this = this;\r\n if (templates.length) {\r\n var templateTimeout = (0, _window.getWindow)().setTimeout((function() {\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 _proto._renderDelayedTemplatesCore = function(templates, isAsync, change) {\r\n var date = new Date;\r\n while (templates.length) {\r\n var templateParameters = templates.shift();\r\n var options = templateParameters.options;\r\n var doc = _dom_adapter.default.getRootNode((0, _renderer.default)(options.container).get(0));\r\n var needWaitAsyncTemplates = this.needWaitAsyncTemplates();\r\n if (!isAsync || (0, _renderer.default)(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 _proto._processTemplate = function(template, options) {\r\n var renderingTemplate;\r\n if (template && template.render && !(0, _type.isRenderer)(template)) {\r\n renderingTemplate = {\r\n allowRenderToDetachedContainer: template.allowRenderToDetachedContainer,\r\n render: function(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 ((0, _type.isFunction)(template)) {\r\n renderingTemplate = {\r\n render: function(options) {\r\n var renderedTemplate = template((0, _element.getPublicElement)(options.container), options.model, options.change);\r\n if (renderedTemplate && (renderedTemplate.nodeType || (0, _type.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 = (0, _type.isString)(template) ? template : (0, _renderer.default)(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 _proto.renderTemplate = function(container, template, options, allowRenderToDetachedContainer, change) {\r\n var _this2 = this;\r\n var _a;\r\n var renderingTemplate = this._processTemplate(template, options);\r\n var column = options.column;\r\n var isDataRow = \"data\" === options.rowType;\r\n var templateDeferred = new _deferred.Deferred;\r\n var templateOptions = {\r\n container: container,\r\n model: options,\r\n deferred: templateDeferred,\r\n onRendered: function() {\r\n if (_this2.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 _events_engine.default.on(container, _remove.removeEvent, removeHandler.bind(null, templateDeferred))\r\n } else {\r\n templateDeferred.reject()\r\n }\r\n return templateDeferred.promise().always((function() {\r\n _this2._templateDeferreds.delete(templateDeferred)\r\n }))\r\n };\r\n _proto._getBodies = function(tableElement) {\r\n return (0, _renderer.default)(tableElement).children(\"tbody\").not(\".dx-header\").not(\".dx-footer\")\r\n };\r\n _proto._needWrapRow = function($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 _proto._wrapRowIfNeed = function($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 = (0, _renderer.default)(\"\").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 _proto._appendRow = function($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 _proto._resizeCore = function() {\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 _proto._renderCore = function(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 _proto._renderTable = function(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 _proto._renderRows = function($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, (0, _extend.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 _proto._renderRow = function($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 = (0, _extend.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 _proto._needRenderCell = function(columnIndex, columnIndices) {\r\n return !columnIndices || columnIndices.indexOf(columnIndex) >= 0\r\n };\r\n _proto._renderCells = function($row, options) {\r\n var columnIndex = 0;\r\n var row = options.row;\r\n var columns = options.columns;\r\n for (var i = 0; i < columns.length; i++) {\r\n if (this._needRenderCell(i, options.columnIndices)) {\r\n this._renderCell($row, (0, _extend.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 _proto._updateCells = function($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((function(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 _proto._setCellAriaAttributes = function($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 _proto._renderCell = function($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((function(cell) {\r\n return cell.columnIndex === cellOptions.columnIndex\r\n }));\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 _proto._renderCellContent = function($cell, options, renderOptions) {\r\n var _this3 = this;\r\n var template = this._getCellTemplate(options);\r\n (0, _deferred.when)(!template || this.renderTemplate($cell, template, options, void 0, renderOptions.change)).done((function() {\r\n _this3._updateCell($cell, options)\r\n }))\r\n };\r\n _proto._getCellTemplate = function(options) {};\r\n _proto._getRows = function(change) {\r\n return []\r\n };\r\n _proto._getCellOptions = function(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 _proto._addWatchMethod = function(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((function(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 _proto._cellPrepared = function(cell, options) {\r\n options.cellElement = (0, _element.getPublicElement)((0, _renderer.default)(cell));\r\n this.executeAction(\"onCellPrepared\", options)\r\n };\r\n _proto._rowPrepared = function($row, options, row) {\r\n (0, _element_data.data)($row.get(0), \"options\", options);\r\n options.rowElement = (0, _element.getPublicElement)($row);\r\n this.executeAction(\"onRowPrepared\", options)\r\n };\r\n _proto._columnOptionChanged = function(e) {\r\n var optionNames = e.optionNames;\r\n if (_m_utils.default.checkChanges(optionNames, [\"width\", \"visibleWidth\"])) {\r\n var visibleColumns = this._columnsController.getVisibleColumns();\r\n var widths = iteratorUtils.map(visibleColumns, (function(column) {\r\n var width = column.visibleWidth || column.width;\r\n return (0, _type.isDefined)(width) ? width : \"auto\"\r\n }));\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 _proto.getCellIndex = function($cell) {\r\n var cellIndex = $cell.length ? $cell[0].cellIndex : -1;\r\n return cellIndex\r\n };\r\n _proto.getTableElements = function() {\r\n return this._tableElement || (0, _renderer.default)()\r\n };\r\n _proto.getTableElement = function(isFixedTableRendering) {\r\n return this._tableElement\r\n };\r\n _proto.setTableElement = function(tableElement, isFixedTableRendering) {\r\n this._tableElement = tableElement\r\n };\r\n _proto.optionChanged = function(args) {\r\n _viewWithColumnStateM.prototype.optionChanged.call(this, 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 }\r\n };\r\n _proto.init = function() {\r\n var _this4 = this;\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: function(e) {\r\n _this4._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 _proto._afterRowPrepared = function(e) {};\r\n _proto._handleDataChanged = function() {};\r\n _proto.callbackNames = function() {\r\n return [\"scrollChanged\"]\r\n };\r\n _proto._updateScrollLeftPosition = function() {\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 _proto.scrollTo = function(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 ((0, _type.isDefined)(pos) && (0, _type.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 _proto._getContent = function(isFixedTableRendering) {\r\n var _a;\r\n return null === (_a = this._tableElement) || void 0 === _a ? void 0 : _a.parent()\r\n };\r\n _proto._removeContent = function(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 _proto._wrapTableInScrollContainer = function($table, isFixedTableRendering) {\r\n var _this5 = this;\r\n var $scrollContainer = (0, _renderer.default)(\"
    \");\r\n var useNative = this.option(\"scrolling.useNative\");\r\n if (false === useNative || \"auto\" === useNative && !_support.nativeScrolling) {\r\n $scrollContainer.addClass(this.addWidgetPrefix(SCROLLABLE_SIMULATED_CLASS))\r\n }\r\n _events_engine.default.on($scrollContainer, \"scroll\", (function() {\r\n var scrollLeft = $scrollContainer.scrollLeft();\r\n if (scrollLeft !== _this5._scrollLeft) {\r\n _this5.scrollChanged.fire({\r\n left: scrollLeft\r\n }, _this5.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 _proto.needWaitAsyncTemplates = function() {\r\n return this.option(\"templatesRenderAsynchronously\") && false === this.option(\"renderAsync\")\r\n };\r\n _proto.waitAsyncTemplates = function() {\r\n var _this6 = this;\r\n var forceWaiting = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : false;\r\n var result = new _deferred.Deferred;\r\n var needWaitAsyncTemplates = forceWaiting || this.needWaitAsyncTemplates();\r\n if (!needWaitAsyncTemplates) {\r\n return result.resolve()\r\n }\r\n var waitTemplatesRecursion = function waitTemplatesRecursion() {\r\n return _deferred.when.apply(_this6, Array.from(_this6._templateDeferreds)).done((function() {\r\n if (_this6.isDisposed()) {\r\n result.reject()\r\n } else if (_this6._templateDeferreds.size > 0) {\r\n waitTemplatesRecursion()\r\n } else {\r\n result.resolve()\r\n }\r\n })).fail(result.reject)\r\n };\r\n waitTemplatesRecursion();\r\n return result.promise()\r\n };\r\n _proto._updateContent = function($newTableElement, change, isFixedTableRendering) {\r\n var _this7 = this;\r\n return this.waitAsyncTemplates().done((function() {\r\n _this7._removeContent(isFixedTableRendering);\r\n _this7.setTableElement($newTableElement, isFixedTableRendering);\r\n _this7._wrapTableInScrollContainer($newTableElement, isFixedTableRendering)\r\n }))\r\n };\r\n _proto._findContentElement = function() {};\r\n _proto._getWidths = function($cellElements) {\r\n var result = [];\r\n var width;\r\n if ($cellElements) {\r\n iteratorUtils.each($cellElements, (function(index, item) {\r\n width = item.offsetWidth;\r\n if (item.getBoundingClientRect) {\r\n var clientRect = (0, _position.getBoundingRect)(item);\r\n if (clientRect.width > width - 1) {\r\n width = clientRect.width\r\n }\r\n }\r\n result.push(width)\r\n }))\r\n }\r\n return result\r\n };\r\n _proto.getColumnWidths = function($tableElement) {\r\n var result = [];\r\n var $rows;\r\n var $cells;\r\n (this.option(\"forceApplyBindings\") || _common.noop)();\r\n $tableElement = $tableElement || this.getTableElement();\r\n if ($tableElement) {\r\n $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 isRowVisible = \"none\" !== $row.get(0).style.display && !$row.hasClass(\"dx-state-invisible\");\r\n if (!$row.is(\".\".concat(GROUP_ROW_CLASS)) && !$row.is(\".\".concat(DETAIL_ROW_CLASS)) && !$row.is(\".\".concat(ERROR_ROW_CLASS)) && isRowVisible) {\r\n $cells = $row.children(\"td\");\r\n break\r\n }\r\n }\r\n result = this._getWidths($cells)\r\n }\r\n return result\r\n };\r\n _proto.getVisibleColumnIndex = function(columnIndex, rowIndex) {\r\n return columnIndex\r\n };\r\n _proto.setColumnWidths = function(_ref) {\r\n var widths = _ref.widths,\r\n $tableElement = _ref.$tableElement,\r\n columns = _ref.columns,\r\n fixed = _ref.fixed;\r\n var $cols;\r\n var width;\r\n var minWidth;\r\n var columnIndex;\r\n var columnAutoWidth = this.option(\"columnAutoWidth\");\r\n $tableElement = $tableElement || this.getTableElement();\r\n if ($tableElement && $tableElement.length && widths) {\r\n columnIndex = 0;\r\n $cols = $tableElement.children(\"colgroup\").children(\"col\");\r\n (0, _style.setWidth)($cols, \"auto\");\r\n columns = columns || this.getColumns(null, $tableElement);\r\n for (var i = 0; i < columns.length; i++) {\r\n if (columnAutoWidth && !fixed) {\r\n width = columns[i].width;\r\n if (width && !columns[i].command) {\r\n width = columns[i].visibleWidth || width;\r\n width = getWidthStyle(width);\r\n minWidth = getWidthStyle(columns[i].minWidth || width);\r\n var $rows = $rows || $tableElement.children().children(\".dx-row\").not(\".\".concat(DETAIL_ROW_CLASS));\r\n for (var rowIndex = 0; rowIndex < $rows.length; rowIndex++) {\r\n var row = $rows[rowIndex];\r\n var cell = void 0;\r\n var visibleIndex = this.getVisibleColumnIndex(i, rowIndex);\r\n if (row.classList.contains(GROUP_ROW_CLASS)) {\r\n cell = row.querySelector(\"td[aria-colindex='\".concat(visibleIndex + 1, \"']:not(.\").concat(GROUP_CELL_CLASS, \")\"))\r\n } else {\r\n cell = row.cells[visibleIndex]\r\n }\r\n if (cell) {\r\n setCellWidth(cell, columns[i], width);\r\n cell.style.minWidth = minWidth\r\n }\r\n }\r\n }\r\n }\r\n if (columns[i].colspan) {\r\n columnIndex += columns[i].colspan;\r\n continue\r\n }\r\n width = widths[columnIndex];\r\n if (\"adaptiveHidden\" === width) {\r\n width = HIDDEN_COLUMNS_WIDTH\r\n }\r\n if (\"number\" === typeof width) {\r\n width = \"\".concat(width.toFixed(3), \"px\")\r\n }(0, _style.setWidth)($cols.eq(columnIndex), (0, _type.isDefined)(width) ? width : \"auto\");\r\n columnIndex++\r\n }\r\n }\r\n };\r\n _proto.getCellElements = function(rowIndex) {\r\n return this._getCellElementsCore(rowIndex)\r\n };\r\n _proto._getCellElementsCore = function(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 _proto._getCellElement = function(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 _proto._getRowElement = function(rowIndex) {\r\n var that = this;\r\n var $rowElement = (0, _renderer.default)();\r\n var $tableElements = that.getTableElements();\r\n iteratorUtils.each($tableElements, (function(_, tableElement) {\r\n $rowElement = $rowElement.add(that._getRowElements((0, _renderer.default)(tableElement)).eq(rowIndex))\r\n }));\r\n if ($rowElement.length) {\r\n return $rowElement\r\n }\r\n return\r\n };\r\n _proto.getCellElement = function(rowIndex, columnIdentifier) {\r\n var $cell = this._getCellElement(rowIndex, columnIdentifier);\r\n if ($cell) {\r\n return (0, _element.getPublicElement)($cell)\r\n }\r\n return\r\n };\r\n _proto.getRowElement = function(rowIndex) {\r\n var $rows = this._getRowElement(rowIndex);\r\n var elements = [];\r\n if ($rows && !(0, _element.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 _proto._getVisibleColumnIndex = function($cells, rowIndex, columnIdentifier) {\r\n if ((0, _type.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 _proto.getColumnElements = function() {};\r\n _proto.getColumns = function(rowIndex, $tableElement) {\r\n return this._columnsController.getVisibleColumns(rowIndex)\r\n };\r\n _proto.getCell = function(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 _proto.getRowsCount = function() {\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 _proto._getRowElementsCore = function(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 (0, _renderer.default)()\r\n };\r\n _proto._getRowElements = function(tableElement) {\r\n return this._getRowElementsCore(tableElement)\r\n };\r\n _proto.getRowIndex = function($row) {\r\n return this._getRowElements().index($row)\r\n };\r\n _proto.getBoundingRect = function() {};\r\n _proto.getName = function() {};\r\n _proto.setScrollerSpacing = function(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 _proto.isScrollbarVisible = function(isHorizontal) {\r\n var $element = this.element();\r\n var $tableElement = this._tableElement;\r\n if ($element && $tableElement) {\r\n return isHorizontal ? (0, _size.getOuterWidth)($tableElement) - (0, _size.getWidth)($element) > 0 : (0, _size.getOuterHeight)($tableElement) - (0, _size.getHeight)($element) > 0\r\n }\r\n return false\r\n };\r\n _proto.isDisposed = function() {\r\n var _a;\r\n return null === (_a = this.component) || void 0 === _a ? void 0 : _a._disposed\r\n };\r\n _proto.dispose = function() {\r\n var _a, _b;\r\n if ((0, _window.hasWindow)()) {\r\n var window = (0, _window.getWindow)();\r\n null === (_a = this._templateTimeouts) || void 0 === _a ? void 0 : _a.forEach((function(templateTimeout) {\r\n return window.clearTimeout(templateTimeout)\r\n }));\r\n null === (_b = this._templateTimeouts) || void 0 === _b ? void 0 : _b.clear()\r\n }\r\n };\r\n return ColumnsView\r\n}(viewWithColumnStateMixin);\r\nexports.ColumnsView = ColumnsView;\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/grid_core/views/m_grid_view.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.gridViewModule = void 0;\r\nvar _dom_adapter = _interopRequireDefault(require(\"../../../../core/dom_adapter\"));\r\nvar _renderer = _interopRequireDefault(require(\"../../../../core/renderer\"));\r\nvar _browser = _interopRequireDefault(require(\"../../../../core/utils/browser\"));\r\nvar _common = require(\"../../../../core/utils/common\");\r\nvar _deferred = require(\"../../../../core/utils/deferred\");\r\nvar _iterator = require(\"../../../../core/utils/iterator\");\r\nvar _position = require(\"../../../../core/utils/position\");\r\nvar _size = require(\"../../../../core/utils/size\");\r\nvar _type = require(\"../../../../core/utils/type\");\r\nvar _window = require(\"../../../../core/utils/window\");\r\nvar _message = _interopRequireDefault(require(\"../../../../localization/message\"));\r\nvar accessibility = _interopRequireWildcard(require(\"../../../../ui/shared/accessibility\"));\r\nvar _m_modules = _interopRequireDefault(require(\"../m_modules\"));\r\nvar _m_utils = _interopRequireDefault(require(\"../m_utils\"));\r\n\r\nfunction _getRequireWildcardCache(nodeInterop) {\r\n if (\"function\" !== typeof WeakMap) {\r\n return null\r\n }\r\n var cacheBabelInterop = new WeakMap;\r\n var cacheNodeInterop = new WeakMap;\r\n return (_getRequireWildcardCache = function(nodeInterop) {\r\n return nodeInterop ? cacheNodeInterop : cacheBabelInterop\r\n })(nodeInterop)\r\n}\r\n\r\nfunction _interopRequireWildcard(obj, nodeInterop) {\r\n if (!nodeInterop && obj && obj.__esModule) {\r\n return obj\r\n }\r\n if (null === obj || \"object\" !== _typeof(obj) && \"function\" !== typeof obj) {\r\n return {\r\n default: obj\r\n }\r\n }\r\n var cache = _getRequireWildcardCache(nodeInterop);\r\n if (cache && cache.has(obj)) {\r\n return cache.get(obj)\r\n }\r\n var newObj = {};\r\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\r\n for (var key in obj) {\r\n if (\"default\" !== key && Object.prototype.hasOwnProperty.call(obj, key)) {\r\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\r\n if (desc && (desc.get || desc.set)) {\r\n Object.defineProperty(newObj, key, desc)\r\n } else {\r\n newObj[key] = obj[key]\r\n }\r\n }\r\n }\r\n newObj.default = obj;\r\n if (cache) {\r\n cache.set(obj, newObj)\r\n }\r\n return newObj\r\n}\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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 (0, _type.isString)(width) && width.endsWith(\"%\")\r\n};\r\nvar isPixelWidth = function(width) {\r\n return (0, _type.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((function(width, index) {\r\n return index === columnIndex ? currentMinWidth : width\r\n })))\r\n};\r\nvar restoreFocus = function(focusedElement, selectionRange) {\r\n accessibility.hiddenFocus(focusedElement);\r\n _m_utils.default.setSelectionRange(focusedElement, selectionRange)\r\n};\r\nvar resizingControllerMembers = {\r\n _initPostRenderHandlers: function() {\r\n var _this = this;\r\n var dataController = this._dataController;\r\n if (!this._refreshSizesHandler) {\r\n this._refreshSizesHandler = function(e) {\r\n dataController.changed.remove(_this._refreshSizesHandler);\r\n _this._refreshSizes(e)\r\n };\r\n dataController.changed.add((function() {\r\n dataController.changed.add(_this._refreshSizesHandler)\r\n }))\r\n }\r\n },\r\n _refreshSizes: function(e) {\r\n var _a;\r\n var resizeDeferred;\r\n var that = this;\r\n var changeType = e && e.changeType;\r\n var isDelayed = e && e.isDelayed;\r\n var items = that._dataController.items();\r\n if (!e || \"refresh\" === changeType || \"prepend\" === changeType || \"append\" === changeType) {\r\n if (!isDelayed) {\r\n resizeDeferred = that.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\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.Deferred;\r\n this._waitAsyncTemplates().done((function() {\r\n (0, _common.deferUpdate)((function() {\r\n return (0, _common.deferRender)((function() {\r\n return (0, _common.deferUpdate)((function() {\r\n that._setScrollerSpacing();\r\n that._rowsView.resize();\r\n resizeDeferred.resolve()\r\n }))\r\n }))\r\n }))\r\n })).fail(resizeDeferred.reject)\r\n } else {\r\n resizeDeferred = that.resize()\r\n }\r\n }\r\n if (changeType && \"updateSelection\" !== changeType && \"updateFocusedRow\" !== changeType && \"pageIndex\" !== changeType && !isDelayed) {\r\n (0, _deferred.when)(resizeDeferred).done((function() {\r\n that._setAriaLabel();\r\n that.fireContentReadyAction()\r\n }))\r\n }\r\n },\r\n fireContentReadyAction: function() {\r\n this.component._fireContentReadyAction()\r\n },\r\n _getWidgetAriaLabel: function() {\r\n return \"dxDataGrid-ariaDataGrid\"\r\n },\r\n _setAriaLabel: function() {\r\n this.component.setAria(\"label\", _message.default.format(this._getWidgetAriaLabel(), this._dataController.totalItemsCount(), this.component.columnCount()), this.component.$element().children(\".\".concat(GRIDBASE_CONTAINER_CLASS)))\r\n },\r\n _getBestFitWidths: function() {\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: function(visibleColumns, widths) {\r\n var columnsController = this._columnsController;\r\n columnsController.beginUpdate();\r\n (0, _iterator.each)(visibleColumns, (function(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: function(view, className, isBestFit) {\r\n var _this2 = this;\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 (0, _iterator.each)($rowsTables, (function(index, tableElement) {\r\n var $tableBody;\r\n var $rowsTable = (0, _renderer.default)(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(_this2.addWidgetPrefix(\"best-fit\"), isBestFit)\r\n }\r\n }))\r\n },\r\n _toggleBestFitMode: function(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 (0, _iterator.each)($rowsFixedTable.find(GROUP_ROW_SELECTOR), (function(idx, item) {\r\n (0, _renderer.default)(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: function(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 $contentElement.css({\r\n minHeight: value ? _m_utils.default.getContentHeightLimit(_browser.default) : \"\"\r\n })\r\n }\r\n },\r\n _synchronizeColumns: function() {\r\n var _this3 = this;\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 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 && (0, _iterator.each)(visibleColumns, (function(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 (0, _iterator.each)(visibleColumns, (function(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 = _dom_adapter.default.getActiveElement($element.get(0));\r\n selectionRange = _m_utils.default.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 }(0, _common.deferUpdate)((function() {\r\n if (needBestFit) {\r\n resultWidths = _this3._getBestFitWidths();\r\n (0, _iterator.each)(visibleColumns, (function(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 = _this3._getBestFitWidths()\r\n }(0, _iterator.each)(visibleColumns, (function(index) {\r\n var width = this.width;\r\n if (\"auto\" !== width) {\r\n if ((0, _type.isDefined)(width)) {\r\n resultWidths[index] = (0, _type.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 _this3._toggleBestFitMode(false);\r\n resetBestFitMode = false;\r\n if (focusedElement && focusedElement !== _dom_adapter.default.getActiveElement()) {\r\n var isFocusOutsideWindow = (0, _position.getBoundingRect)(focusedElement).bottom < 0;\r\n if (!isFocusOutsideWindow) {\r\n restoreFocus(focusedElement, selectionRange)\r\n }\r\n }\r\n }\r\n isColumnWidthsCorrected = _this3._correctColumnWidths(resultWidths, visibleColumns);\r\n if (columnAutoWidth) {\r\n ! function() {\r\n var expandColumnWidth;\r\n (0, _iterator.each)(visibleColumns, (function(index, column) {\r\n if (\"groupExpand\" === column.type) {\r\n expandColumnWidth = resultWidths[index]\r\n }\r\n }));\r\n (0, _iterator.each)(visibleColumns, (function(index, column) {\r\n if (\"groupExpand\" === column.type && expandColumnWidth) {\r\n resultWidths[index] = expandColumnWidth\r\n }\r\n }))\r\n }();\r\n if (_this3._needStretch()) {\r\n _this3._processStretch(resultWidths, visibleColumns)\r\n }\r\n }(0, _common.deferRender)((function() {\r\n if (needBestFit || isColumnWidthsCorrected) {\r\n _this3._setVisibleWidths(visibleColumns, resultWidths)\r\n }\r\n if (wordWrapEnabled) {\r\n _this3._toggleContentMinHeight(false)\r\n }\r\n }))\r\n }))\r\n },\r\n _needBestFit: function() {\r\n return this.option(\"columnAutoWidth\")\r\n },\r\n _needStretch: function() {\r\n return this._columnsController.getVisibleColumns().some((function(c) {\r\n return \"auto\" === c.width && !c.command\r\n }))\r\n },\r\n _getAverageColumnsWidth: function(resultWidths) {\r\n var freeWidth = calculateFreeWidth(this, resultWidths);\r\n var columnCountWithoutWidth = resultWidths.filter((function(width) {\r\n return void 0 === width\r\n })).length;\r\n return freeWidth / columnCountWithoutWidth\r\n },\r\n _correctColumnWidths: function(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 minWidth = column.minWidth;\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((function(columnWidth, columnIndex) {\r\n return index === columnIndex ? width : columnWidth\r\n })));\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 (!(0, _type.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 = _m_utils.default.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((0, _size.getOuterWidth)($rowsViewElement) - (0, _size.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: function(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 }(0, _iterator.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: function(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((function(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((function(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: function(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: function() {\r\n return this.component.$element().children().get(0)\r\n },\r\n updateSize: function(rootElement) {\r\n var $rootElement = (0, _renderer.default)(rootElement);\r\n var importantMarginClass = this.addWidgetPrefix(IMPORTANT_MARGIN_CLASS);\r\n if (void 0 === this._hasHeight && $rootElement && $rootElement.is(\":visible\") && (0, _size.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 = !!(0, _size.getHeight)($rootElement);\r\n var width = (0, _size.getWidth)($rootElement);\r\n $rootElement.addClass(importantMarginClass);\r\n this._hasWidth = (0, _size.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: function() {\r\n return [\"resize\", \"updateDimensions\"]\r\n },\r\n _waitAsyncTemplates: function() {\r\n var _a, _b, _c;\r\n return (0, _deferred.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: function() {\r\n var _this4 = this;\r\n if (this.component._requireResize) {\r\n return\r\n }\r\n var d = new _deferred.Deferred;\r\n this._waitAsyncTemplates().done((function() {\r\n (0, _deferred.when)(_this4.updateDimensions()).done(d.resolve).fail(d.reject)\r\n })).fail(d.reject);\r\n return d.promise()\r\n },\r\n updateDimensions: function(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.Deferred;\r\n (0, _deferred.when)(prevResult).always((function() {\r\n (0, _common.deferRender)((function() {\r\n if (that._dataController.isLoaded()) {\r\n that._synchronizeColumns()\r\n }\r\n that._resetGroupElementHeight();\r\n (0, _common.deferUpdate)((function() {\r\n (0, _common.deferRender)((function() {\r\n (0, _common.deferUpdate)((function() {\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: function() {\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: function(checkSize) {\r\n var $rootElement = this.component.$element();\r\n if (checkSize && (this._lastWidth === (0, _size.getWidth)($rootElement) && this._lastHeight === (0, _size.getHeight)($rootElement) && this._devicePixelRatio === (0, _window.getWindow)().devicePixelRatio || !$rootElement.is(\":visible\"))) {\r\n return false\r\n }\r\n return true\r\n },\r\n _setScrollerSpacingCore: function() {\r\n var that = this;\r\n var vScrollbarWidth = that._rowsView.getScrollbarWidth();\r\n var hScrollbarWidth = that._rowsView.getScrollbarWidth(true);\r\n (0, _common.deferRender)((function() {\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: function() {\r\n var _this5 = this;\r\n var scrollable = this._rowsView.getScrollable();\r\n var isNativeScrolling = true === this.option(\"scrolling.useNative\");\r\n if (!scrollable || isNativeScrolling) {\r\n (0, _common.deferRender)((function() {\r\n (0, _common.deferUpdate)((function() {\r\n _this5._setScrollerSpacingCore()\r\n }))\r\n }))\r\n } else {\r\n this._setScrollerSpacingCore()\r\n }\r\n },\r\n _updateDimensionsCore: function() {\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 = (0, _size.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 (0, _common.deferRender)((function() {\r\n var hasHeight = that._hasHeight || !!maxHeight || isHeightSpecified;\r\n rowsView.hasHeight(hasHeight);\r\n if (maxHeightHappened && !isMaxHeightApplied) {\r\n (0, _renderer.default)(groupElement).css(\"height\", maxHeight)\r\n }\r\n if (!dataController.isLoaded()) {\r\n rowsView.setLoading(dataController.isLoading());\r\n return\r\n }(0, _common.deferUpdate)((function() {\r\n that._updateLastSizes($rootElement);\r\n that._setScrollerSpacing();\r\n (0, _iterator.each)(VIEW_NAMES, (function(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: function($rootElement) {\r\n this._lastWidth = (0, _size.getWidth)($rootElement);\r\n this._lastHeight = (0, _size.getHeight)($rootElement);\r\n this._devicePixelRatio = (0, _window.getWindow)().devicePixelRatio\r\n },\r\n optionChanged: function(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: function() {\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 = _m_modules.default.ViewController.inherit(resizingControllerMembers);\r\nvar SynchronizeScrollingController = _m_modules.default.ViewController.inherit({\r\n _scrollChangedHandler: function(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: function() {\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 = _m_modules.default.View.inherit({\r\n _endUpdateCore: function() {\r\n if (this.component._requireResize) {\r\n this.component._requireResize = false;\r\n this._resizingController.resize()\r\n }\r\n },\r\n init: function() {\r\n this._resizingController = this.getController(\"resizing\");\r\n this._dataController = this.getController(\"data\")\r\n },\r\n getView: function(name) {\r\n return this.component._views[name]\r\n },\r\n element: function() {\r\n return this._groupElement\r\n },\r\n optionChanged: function(args) {\r\n if ((0, _type.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: function($groupElement) {\r\n var that = this;\r\n (0, _iterator.each)(VIEW_NAMES, (function(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: function() {\r\n return \"group\"\r\n },\r\n render: function($rootElement) {\r\n var isFirstRender = !this._groupElement;\r\n var $groupElement = this._groupElement || (0, _renderer.default)(\"
    \").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 (0, _window.hasWindow)() && this.getController(\"resizing\").updateSize($rootElement);\r\n $groupElement.appendTo($rootElement)\r\n }\r\n this._renderViews($groupElement)\r\n },\r\n update: function() {\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\nvar gridViewModule = {\r\n defaultOptions: function() {\r\n return {\r\n showBorders: false,\r\n renderAsync: false\r\n }\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\nexports.gridViewModule = gridViewModule;\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/grid_core/views/m_rows_view.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.rowsModule = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../../../core/renderer\"));\r\nvar _browser = _interopRequireDefault(require(\"../../../../core/utils/browser\"));\r\nvar _common = require(\"../../../../core/utils/common\");\r\nvar _data = require(\"../../../../core/utils/data\");\r\nvar _extend = require(\"../../../../core/utils/extend\");\r\nvar _iterator = require(\"../../../../core/utils/iterator\");\r\nvar _position = require(\"../../../../core/utils/position\");\r\nvar _size = require(\"../../../../core/utils/size\");\r\nvar _string = require(\"../../../../core/utils/string\");\r\nvar _style = require(\"../../../../core/utils/style\");\r\nvar _type = require(\"../../../../core/utils/type\");\r\nvar _window = require(\"../../../../core/utils/window\");\r\nvar _events_engine = _interopRequireDefault(require(\"../../../../events/core/events_engine\"));\r\nvar _remove = require(\"../../../../events/remove\");\r\nvar _message = _interopRequireDefault(require(\"../../../../localization/message\"));\r\nvar _ui = _interopRequireDefault(require(\"../../../../ui/scroll_view/ui.scrollable\"));\r\nvar _m_utils = _interopRequireDefault(require(\"../m_utils\"));\r\nvar _m_columns_view = require(\"./m_columns_view\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\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 rowType = _ref.rowType,\r\n column = _ref.column;\r\n return \"group\" === rowType && (0, _type.isDefined)(column.groupIndex) && !column.showWhenGrouped && !column.command\r\n}\r\nvar defaultCellTemplate = function($container, options) {\r\n var isDataTextEmpty = (0, _string.isEmpty)(options.text) && \"data\" === options.rowType;\r\n var text = options.text;\r\n var container = $container.get(0);\r\n if (isDataTextEmpty) {\r\n _m_utils.default.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((0, _renderer.default)(scrollable.content()).css(\"paddingBottom\"))) : 0\r\n};\r\nvar RowsView = function(_ColumnsView) {\r\n _inheritsLoose(RowsView, _ColumnsView);\r\n\r\n function RowsView() {\r\n return _ColumnsView.apply(this, arguments) || this\r\n }\r\n var _proto = RowsView.prototype;\r\n _proto._getDefaultTemplate = function(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 _proto._getDefaultGroupTemplate = function(column) {\r\n var summaryTexts = this.option(\"summary.texts\");\r\n return function($container, options) {\r\n var data = options.data;\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(_m_utils.default.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 _proto._update = function(change) {};\r\n _proto._updateCell = function($cell, options) {\r\n if (isGroupRow(options)) {\r\n $cell.addClass(GROUP_CELL_CLASS)\r\n }\r\n _ColumnsView.prototype._updateCell.apply(this, arguments)\r\n };\r\n _proto._getCellTemplate = function(options) {\r\n var column = options.column;\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 _proto._createRow = function(row, tag) {\r\n var $row = _ColumnsView.prototype._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\", (0, _type.isDefined)(isRowExpanded) && isRowExpanded.toString(), $row)\r\n }\r\n }\r\n return $row\r\n };\r\n _proto._rowPrepared = function($row, rowOptions, row) {\r\n var _this = this;\r\n if (\"data\" === rowOptions.rowType) {\r\n if (this.option(\"rowAlternationEnabled\")) {\r\n this._isAltRow(row) && $row.addClass(ROW_ALTERNATION_CLASS);\r\n rowOptions.watch && rowOptions.watch((function() {\r\n return _this._isAltRow(row)\r\n }), (function(value) {\r\n $row.toggleClass(ROW_ALTERNATION_CLASS, value)\r\n }))\r\n }\r\n this._setAriaRowIndex(rowOptions, $row);\r\n rowOptions.watch && rowOptions.watch((function() {\r\n return rowOptions.rowIndex\r\n }), (function() {\r\n return _this._setAriaRowIndex(rowOptions, $row)\r\n }))\r\n }\r\n _ColumnsView.prototype._rowPrepared.apply(this, arguments)\r\n };\r\n _proto._setAriaRowIndex = function(row, $row) {\r\n var component = this.component;\r\n var isPagerMode = \"standard\" === component.option(\"scrolling.mode\") && !_m_utils.default.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 _proto._afterRowPrepared = function(e) {\r\n var _this2 = this;\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((function() {\r\n return dataController.generateDataValues(arg.data, arg.columns)\r\n }), (function() {\r\n dataController.repaintRows([row.rowIndex], _this2.option(\"repaintChangesOnly\"))\r\n }), {\r\n deep: true,\r\n skipImmediate: true\r\n });\r\n _events_engine.default.on(arg.rowElement, _remove.removeEvent, dispose)\r\n };\r\n _proto._renderScrollable = function(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 _proto._handleScroll = function(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 _proto._renderScrollableCore = function($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, _ui.default, dxScrollableOptions);\r\n this._scrollableContainer = this._scrollable && (0, _renderer.default)(this._scrollable.container())\r\n };\r\n _proto._renderLoadPanel = 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 _m_utils.default.renderLoadPanel.apply(this, arguments)\r\n };\r\n _proto._renderContent = function(contentElement, tableElement, isFixedTableRendering) {\r\n contentElement.empty().append(tableElement);\r\n return this._findContentElement()\r\n };\r\n _proto._updateContent = function(newTableElement, change, isFixedTableRendering) {\r\n var _this3 = this;\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((function() {\r\n var contentChanges = _this3._contentChanges;\r\n _this3._contentChanges = [];\r\n contentChanges.forEach((function(_ref2) {\r\n var newTableElement = _ref2.newTableElement,\r\n change = _ref2.change,\r\n isFixedTableRendering = _ref2.isFixedTableRendering;\r\n var tableElement = _this3.getTableElement(isFixedTableRendering);\r\n var contentElement = _this3._findContentElement(isFixedTableRendering);\r\n var changeType = null === change || void 0 === change ? void 0 : change.changeType;\r\n var executors = [];\r\n var highlightChanges = _this3.option(\"highlightChanges\");\r\n var rowInsertedClass = _this3.addWidgetPrefix(ROW_INSERTED_ANIMATION_CLASS);\r\n switch (changeType) {\r\n case \"update\":\r\n (0, _iterator.each)(change.rowIndices, (function(index, rowIndex) {\r\n var _a;\r\n var $newRowElement = _this3._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((function() {\r\n var _a;\r\n var $rowElements = _this3._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 ((0, _type.isDefined)(item.visible) && item.visible !== $rowElement.is(\":visible\")) {\r\n $rowElement.toggle(item.visible)\r\n } else if (columnIndices) {\r\n _this3._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 (0, _iterator.each)(executors, (function() {\r\n this()\r\n }));\r\n newTableElement.remove();\r\n break;\r\n default:\r\n _this3.setTableElement(newTableElement, isFixedTableRendering);\r\n contentElement.addClass(_this3.addWidgetPrefix(CONTENT_CLASS));\r\n _this3._renderContent(contentElement, newTableElement, isFixedTableRendering)\r\n }\r\n }))\r\n })).fail((function() {\r\n _this3._contentChanges = []\r\n }))\r\n };\r\n _proto._createEmptyRow = function(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 (0, _type.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 _proto.getFixedColumns = function() {\r\n throw new Error(\"Method not implemented.\")\r\n };\r\n _proto._appendEmptyRow = function($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 _proto._renderFreeSpaceRow = function($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 _proto._checkRowKeys = function(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((function(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 _proto._needUpdateRowHeight = function(itemsCount) {\r\n return itemsCount > 0 && !this._rowHeight\r\n };\r\n _proto._getRowsHeight = function($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((function(sum, row) {\r\n return sum + (0, _position.getBoundingRect)(row).height\r\n }), 0)\r\n };\r\n _proto._updateRowHeight = function() {\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 _proto._findContentElement = function(isFixedTableRendering) {\r\n var $content = this.element();\r\n var scrollable = this.getScrollable();\r\n if ($content) {\r\n if (scrollable) {\r\n $content = (0, _renderer.default)(scrollable.content())\r\n }\r\n return $content.children().first()\r\n }\r\n };\r\n _proto._getRowElements = function(tableElement) {\r\n var $rows = _ColumnsView.prototype._getRowElements.call(this, tableElement);\r\n return $rows && $rows.not(\".\".concat(FREE_SPACE_CLASS))\r\n };\r\n _proto._getFreeSpaceRowElements = function($table) {\r\n var tableElements = $table || this.getTableElements();\r\n return tableElements && tableElements.children(\"tbody\").children(\".\".concat(FREE_SPACE_CLASS))\r\n };\r\n _proto._getNoDataText = function() {\r\n return this.option(\"noDataText\")\r\n };\r\n _proto._rowClick = function(e) {\r\n var item = this._dataController.items()[e.rowIndex] || {};\r\n this.executeAction(\"onRowClick\", (0, _extend.extend)({\r\n evaluate: function(expr) {\r\n var getter = (0, _data.compileGetter)(expr);\r\n return getter(item.data)\r\n }\r\n }, e, item))\r\n };\r\n _proto._rowDblClick = function(e) {\r\n var item = this._dataController.items()[e.rowIndex] || {};\r\n this.executeAction(\"onRowDblClick\", (0, _extend.extend)({}, e, item))\r\n };\r\n _proto._getColumnsCountBeforeGroups = function(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 _proto._getGroupCellOptions = function(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 _proto._needWrapRow = function() {\r\n return _ColumnsView.prototype._needWrapRow.apply(this, arguments) || !!this.option(\"dataRowTemplate\")\r\n };\r\n _proto._renderCells = function($row, options) {\r\n if (\"group\" === options.row.rowType) {\r\n this._renderGroupedCells($row, options)\r\n } else if (options.row.values) {\r\n _ColumnsView.prototype._renderCells.call(this, $row, options)\r\n }\r\n };\r\n _proto._renderGroupedCells = function($row, options) {\r\n var row = options.row;\r\n var expandColumn;\r\n var columns = options.columns;\r\n var rowIndex = row.rowIndex;\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 = (0, _position.getDefaultAlignment)(this.option(\"rtlEnabled\"));\r\n var groupColumn = (0, _extend.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 _proto._renderRows = function($table, options) {\r\n var scrollingMode = this.option(\"scrolling.mode\");\r\n _ColumnsView.prototype._renderRows.call(this, $table, (0, _extend.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 _proto._renderDataRowByTemplate = function($table, options, dataRowTemplate) {\r\n var row = options.row;\r\n var rowOptions = (0, _extend.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 _proto._renderRow = function($table, options) {\r\n var row = options.row;\r\n var _this$option = this.option(),\r\n rowTemplate = _this$option.rowTemplate;\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) && !(0, _type.isDefined)(row.groupIndex) && rowTemplate) {\r\n this.renderTemplate($table, rowTemplate, (0, _extend.extend)({\r\n columns: options.columns\r\n }, row), true)\r\n } else {\r\n _ColumnsView.prototype._renderRow.call(this, $table, options)\r\n }\r\n };\r\n _proto._renderTable = function(options) {\r\n var that = this;\r\n var $table = _ColumnsView.prototype._renderTable.call(this, options);\r\n if (!(0, _type.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((0, _window.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 _proto._createTable = function() {\r\n var $table = _ColumnsView.prototype._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 _proto._renderCore = function(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 _ColumnsView.prototype._renderCore.call(this, change);\r\n this._lastColumnWidths = null;\r\n return deferred\r\n };\r\n _proto._getRows = function(change) {\r\n return change && change.items || this._dataController.items()\r\n };\r\n _proto._getCellOptions = function(options) {\r\n var column = options.column;\r\n var row = options.row;\r\n var data = row.data;\r\n var summaryCells = row && row.summaryCells;\r\n var value = options.value;\r\n var displayValue = _m_utils.default.getDisplayValue(column, value, data, row.rowType);\r\n var parameters = _ColumnsView.prototype._getCellOptions.call(this, 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 ? _m_utils.default.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 ((0, _type.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 _proto._setRowsOpacityCore = function($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 (0, _iterator.each)($rows, (function(rowIndex, row) {\r\n if (!(0, _renderer.default)(row).hasClass(GROUP_ROW_CLASS)) {\r\n for (var i = 0; i < visibleColumns.length; i++) {\r\n if ((0, _type.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 (!(0, _type.isNumeric)(columnID)) {\r\n break\r\n }\r\n }\r\n }\r\n }\r\n }))\r\n };\r\n _proto._getDevicePixelRatio = function() {\r\n return (0, _window.getWindow)().devicePixelRatio\r\n };\r\n _proto.renderNoDataText = function() {\r\n return _m_utils.default.renderNoDataText.apply(this, arguments)\r\n };\r\n _proto.getCellOptions = function(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 ((0, _type.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 _proto.getRow = function(index) {\r\n if (index >= 0) {\r\n var rows = this._getRowElements();\r\n if (rows.length > index) {\r\n return (0, _renderer.default)(rows[index])\r\n }\r\n }\r\n return\r\n };\r\n _proto.updateFreeSpaceRowHeight = function($table) {\r\n var _this4 = this;\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 (0, _style.setHeight)(freeSpaceRowElements, freeSpaceRowCount * this._rowHeight);\r\n isFreeSpaceRowVisible = true\r\n }\r\n if (!isFreeSpaceRowVisible && $table) {\r\n (0, _style.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 (0, _common.deferUpdate)((function() {\r\n var scrollbarWidth = _this4.getScrollbarWidth(true);\r\n var elementHeightWithoutScrollbar = (0, _size.getHeight)(_this4.element()) - scrollbarWidth;\r\n var contentHeight = (0, _size.getOuterHeight)(contentElement);\r\n var showFreeSpaceRow = elementHeightWithoutScrollbar - contentHeight > 0;\r\n var rowsHeight = _this4._getRowsHeight(contentElement.children().first());\r\n var $tableElement = $table || _this4.getTableElements();\r\n var borderTopWidth = Math.ceil(parseFloat($tableElement.css(\"borderTopWidth\")));\r\n var heightCorrection = _this4._getHeightCorrection();\r\n var resultHeight = elementHeightWithoutScrollbar - rowsHeight - borderTopWidth - heightCorrection;\r\n if (showFreeSpaceRow) {\r\n (0, _common.deferRender)((function() {\r\n freeSpaceRowElements.css(\"height\", resultHeight);\r\n isFreeSpaceRowVisible = true;\r\n freeSpaceRowElements.show()\r\n }))\r\n }(0, _common.deferRender)((function() {\r\n return _this4._updateLastRowBorder(isFreeSpaceRowVisible)\r\n }))\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 _proto._getHeightCorrection = function() {\r\n var isZoomedWebkit = _browser.default.webkit && this._getDevicePixelRatio() >= 2;\r\n var isChromeLatest = _browser.default.chrome && _browser.default.version >= 91;\r\n var hasExtraBorderTop = _browser.default.mozilla && _browser.default.version >= 70 && !this.option(\"showRowLines\");\r\n return isZoomedWebkit || hasExtraBorderTop || isChromeLatest ? 1 : 0\r\n };\r\n _proto._columnOptionChanged = function(e) {\r\n var optionNames = e.optionNames;\r\n if (e.changeTypes.grouping) {\r\n return\r\n }\r\n if (optionNames.width || optionNames.visibleWidth) {\r\n _ColumnsView.prototype._columnOptionChanged.call(this, e);\r\n this._fireColumnResizedCallbacks()\r\n }\r\n };\r\n _proto.getScrollable = function() {\r\n return this._scrollable\r\n };\r\n _proto.init = function() {\r\n var _this5 = this;\r\n var that = this;\r\n var dataController = that.getController(\"data\");\r\n _ColumnsView.prototype.init.call(this);\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 = false;\r\n that._contentChanges = [];\r\n dataController.loadingChanged.add((function(isLoading, messageText) {\r\n that.setLoading(isLoading, messageText)\r\n }));\r\n dataController.dataSourceChanged.add((function() {\r\n if (_this5._scrollLeft >= 0 && !_this5._dataController.isLoading()) {\r\n _this5._handleScroll({\r\n component: _this5.getScrollable(),\r\n forceUpdateScrollPosition: true,\r\n scrollOffset: {\r\n top: _this5._scrollTop,\r\n left: _this5._scrollLeft\r\n }\r\n })\r\n }\r\n }))\r\n };\r\n _proto._handleDataChanged = function(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 _proto.publicMethods = function() {\r\n return [\"isScrollbarVisible\", \"getTopVisibleRowData\", \"getScrollbarWidth\", \"getCellElement\", \"getRowElement\", \"getScrollable\"]\r\n };\r\n _proto.contentWidth = function() {\r\n return (0, _size.getWidth)(this.element()) - this.getScrollbarWidth()\r\n };\r\n _proto.getScrollbarWidth = function(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 _proto._fireColumnResizedCallbacks = function() {\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 && !(0, _type.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 _proto._updateLastRowBorder = function(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 _proto._updateScrollable = function() {\r\n var scrollable = _ui.default.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 _proto._updateHorizontalScrollPosition = function() {\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 _proto._resizeCore = function() {\r\n var that = this;\r\n that._fireColumnResizedCallbacks();\r\n that._updateRowHeight();\r\n (0, _common.deferRender)((function() {\r\n that._renderScrollable();\r\n that.renderNoDataText();\r\n that.updateFreeSpaceRowHeight();\r\n (0, _common.deferUpdate)((function() {\r\n that._updateScrollable()\r\n }))\r\n }))\r\n };\r\n _proto.scrollTo = function(location) {\r\n var $element = this.element();\r\n var dxScrollable = $element && _ui.default.getInstance($element);\r\n if (dxScrollable) {\r\n dxScrollable.scrollTo(location)\r\n }\r\n };\r\n _proto.height = function(_height) {\r\n var that = this;\r\n var $element = this.element();\r\n if (0 === arguments.length) {\r\n return $element ? (0, _size.getOuterHeight)($element, true) : 0\r\n }\r\n if ((0, _type.isDefined)(_height) && $element) {\r\n that.hasHeight(\"auto\" !== _height);\r\n (0, _style.setHeight)($element, _height)\r\n }\r\n };\r\n _proto.hasHeight = function(_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 _proto.setLoading = function(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 (!(0, _window.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 = _m_utils.default.calculateLoadPanelPosition($element)\r\n }\r\n clearTimeout(this._hideLoadingTimeoutID);\r\n if (loadPanel.option(\"visible\") && !isLoading) {\r\n this._hideLoadingTimeoutID = setTimeout((function() {\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 _proto.setRowsOpacity = function(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 _proto._getCellElementsCore = function(rowIndex) {\r\n var $cells = _ColumnsView.prototype._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 _proto._getBoundaryVisibleItemIndex = function(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 = (0, _size.getOuterHeight)(this._hasHeight ? this.element() : (0, _window.getWindow)());\r\n viewportBoundary += height\r\n }\r\n for (itemIndex = 0; itemIndex < items.length; itemIndex++) {\r\n prevOffset = offset;\r\n var $rowElement = (0, _renderer.default)(rowElements).eq(itemIndex);\r\n if ($rowElement.length) {\r\n offset = $rowElement.offset();\r\n offset = (isTop ? offset.top : offset.top + (0, _size.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 _proto.getTopVisibleItemIndex = function(isFloor) {\r\n return this._getBoundaryVisibleItemIndex(true, isFloor)\r\n };\r\n _proto.getBottomVisibleItemIndex = function(isFloor) {\r\n return this._getBoundaryVisibleItemIndex(false, isFloor)\r\n };\r\n _proto.getTopVisibleRowData = function() {\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 _proto._scrollToElement = function($element, offset) {\r\n var scrollable = this.getScrollable();\r\n scrollable && scrollable.scrollToElement($element, offset)\r\n };\r\n _proto.optionChanged = function(args) {\r\n _ColumnsView.prototype.optionChanged.call(this, 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 _proto.dispose = function() {\r\n _ColumnsView.prototype.dispose.call(this);\r\n clearTimeout(this._hideLoadingTimeoutID);\r\n this._scrollable && this._scrollable.dispose()\r\n };\r\n _proto.setScrollerSpacing = function() {};\r\n _proto._restoreErrorRow = function() {};\r\n return RowsView\r\n}(_m_columns_view.ColumnsView);\r\nvar rowsModule = {\r\n defaultOptions: function() {\r\n return {\r\n hoverStateEnabled: false,\r\n scrolling: {\r\n useNative: \"auto\"\r\n },\r\n loadPanel: {\r\n enabled: \"auto\",\r\n text: _message.default.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: _message.default.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 },\r\n views: {\r\n rowsView: RowsView\r\n }\r\n};\r\nexports.rowsModule = rowsModule;\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/grid_core/virtual_columns/m_virtual_columns.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.virtualColumnsModule = void 0;\r\nvar _size = require(\"../../../../core/utils/size\");\r\nvar _type = require(\"../../../../core/utils/type\");\r\nvar _window = require(\"../../../../core/utils/window\");\r\nvar _m_virtual_columns_core = require(\"./m_virtual_columns_core\");\r\nvar DEFAULT_COLUMN_WIDTH = 50;\r\nvar VirtualScrollingRowsViewExtender = {\r\n _resizeCore: function() {\r\n this.callBase.apply(this, arguments);\r\n this._columnsController.resize()\r\n },\r\n _handleScroll: function(e) {\r\n var that = this;\r\n var scrollable = this.getScrollable();\r\n var left = e.scrollOffset.left;\r\n that.callBase.apply(that, arguments);\r\n if (that.option(\"rtlEnabled\") && scrollable) {\r\n left = (0, _size.getWidth)(scrollable.$content()) - (0, _size.getWidth)(scrollable.$element()) - left\r\n }\r\n that._columnsController.setScrollPosition(left)\r\n },\r\n _restoreScrollTop: function() {\r\n var scrollable = this.getScrollable();\r\n var scrollTop = null === scrollable || void 0 === scrollable ? void 0 : scrollable.scrollTop();\r\n if (this._scrollTop > 0 && scrollTop !== this._scrollTop) {\r\n scrollable.scrollTo({\r\n y: this._scrollTop\r\n })\r\n }\r\n },\r\n _renderCore: function(e) {\r\n var _this = this;\r\n if (null === e || void 0 === e ? void 0 : e.virtualColumnsScrolling) {\r\n var resizeCompletedHandler = function resizeCompletedHandler() {\r\n _this.resizeCompleted.remove(resizeCompletedHandler);\r\n _this._restoreScrollTop()\r\n };\r\n this.resizeCompleted.add(resizeCompletedHandler)\r\n }\r\n return this.callBase.apply(this, arguments)\r\n }\r\n};\r\nvar HeaderViewExtender = {\r\n _renderCore: function() {\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((function(column) {\r\n return column.visibleWidth || parseFloat(column.width) || DEFAULT_COLUMN_WIDTH\r\n }))\r\n };\r\n var members = {\r\n init: function() {\r\n var that = this;\r\n that.callBase.apply(this, arguments);\r\n that._beginPageIndex = null;\r\n that._endPageIndex = null;\r\n that._position = 0;\r\n that._virtualVisibleColumns = {}\r\n },\r\n resetColumnsCache: function() {\r\n this.callBase();\r\n this._virtualVisibleColumns = {}\r\n },\r\n getBeginPageIndex: function(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: function() {\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 || (0, _size.getOuterWidth)(this.component.$element())\r\n },\r\n getEndPageIndex: function(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: function() {\r\n return this.option(\"scrolling.columnPageSize\")\r\n },\r\n _fireColumnsChanged: function() {\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: function() {\r\n var renderingThreshold = this.option(\"scrolling.columnRenderingThreshold\");\r\n var renderAsync = this.option(\"scrolling.renderAsync\");\r\n var scrollingTimeout = 0;\r\n if (!(0, _type.isDefined)(renderAsync) && this._renderTime > renderingThreshold || renderAsync) {\r\n scrollingTimeout = this.option(\"scrolling.timeout\")\r\n }\r\n return scrollingTimeout\r\n },\r\n setScrollPosition: function(position) {\r\n var _this2 = this;\r\n var scrollingTimeout = this.getScrollingTimeout();\r\n if (scrollingTimeout > 0) {\r\n clearTimeout(this._changedTimeout);\r\n this._changedTimeout = setTimeout((function() {\r\n _this2._setScrollPositionCore(position)\r\n }), scrollingTimeout)\r\n } else {\r\n this._setScrollPositionCore(position)\r\n }\r\n },\r\n isVirtualMode: function() {\r\n return (0, _window.hasWindow)() && \"virtual\" === this.option(\"scrolling.columnRenderingMode\")\r\n },\r\n resize: function() {\r\n this._setScrollPositionCore(this._position)\r\n },\r\n _setScrollPositionCore: function(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: function(rowIndex, isBase) {\r\n var fixedColumns = this.callBase(rowIndex);\r\n if (this.isVirtualMode() && !isBase && fixedColumns.length) {\r\n var transparentColumnIndex = fixedColumns.map((function(c) {\r\n return c.command\r\n })).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: function(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) && !(0, _type.isDefined)(this._beginPageIndex) && !(0, _type.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((function(c) {\r\n return c.command\r\n })).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((function(a, b) {\r\n return a + b\r\n }), 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((function(a, b) {\r\n return a + b\r\n }), 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 = (0, _m_virtual_columns_core.createColumnsInfo)(columnsInfo, 0, beginFixedColumns.length)[rowIndex] || [];\r\n endFixedColumns = (0, _m_virtual_columns_core.createColumnsInfo)(columnsInfo, visibleColumns.length - endFixedColumns.length, visibleColumns.length)[rowIndex] || [];\r\n visibleColumns = (0, _m_virtual_columns_core.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: function() {\r\n var offset = 0;\r\n if (this._beginPageIndex > 0) {\r\n var fixedColumns = this.getFixedColumns();\r\n var transparentColumnIndex = fixedColumns.map((function(c) {\r\n return c.command\r\n })).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: function() {\r\n clearTimeout(this._changedTimeout);\r\n this.callBase.apply(this, arguments)\r\n }\r\n };\r\n return members\r\n}();\r\nvar virtualColumnsModule = {\r\n defaultOptions: function() {\r\n return {\r\n scrolling: {\r\n columnRenderingMode: \"standard\",\r\n columnPageSize: 5,\r\n columnRenderingThreshold: 300\r\n }\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\nexports.virtualColumnsModule = virtualColumnsModule;\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/grid_core/virtual_columns/m_virtual_columns_core.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.createColumnsInfo = createColumnsInfo;\r\nexports.foreachColumnInfo = foreachColumnInfo;\r\nvar _extend = require(\"../../../../core/utils/extend\");\r\n\r\nfunction 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\n\r\nfunction createColumnsInfo(info, startIndex, endIndex) {\r\n var newInfo = [];\r\n foreachColumnInfo(info, (function(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 = (0, _extend.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 (cjs/__internal/grids/grid_core/virtual_data_loader/m_virtual_data_loader.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.VirtualDataLoader = void 0;\r\nvar _deferred = require(\"../../../../core/utils/deferred\");\r\nvar _type = require(\"../../../../core/utils/type\");\r\nvar LEGACY_SCROLLING_MODE = \"scrolling.legacyMode\";\r\nvar needTwoPagesLoading = function(that) {\r\n return that.option(\"scrolling.loadTwoPagesOnStart\") || that._controller.isVirtual() || that._controller.getViewportItemIndex() > 0\r\n};\r\nvar getBeginPageIndex = function(that) {\r\n return that._cache.length ? that._cache[0].pageIndex : -1\r\n};\r\nvar getEndPageIndex = function(that) {\r\n return that._cache.length ? that._cache[that._cache.length - 1].pageIndex : -1\r\n};\r\nvar fireChanged = function(that, changed, args) {\r\n that._isChangedFiring = true;\r\n changed(args);\r\n that._isChangedFiring = false\r\n};\r\nvar processDelayChanged = function(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 = function(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 = function(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 = function(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 = function(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 (0, _deferred.when)(dataOptions.load()).always((function() {\r\n that._loadingPageIndexes[pageIndex] = false\r\n }))\r\n }\r\n};\r\nvar processChanged = function(that, changed, changeType, isDelayChanged, removeCacheItem) {\r\n var dataOptions = that._dataOptions;\r\n var items = dataOptions.items().slice();\r\n var change = (0, _type.isObject)(changeType) ? changeType : void 0;\r\n var isPrepend = \"prepend\" === changeType;\r\n var viewportItems = dataOptions.viewportItems();\r\n if (changeType && (0, _type.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\nvar VirtualDataLoader = function() {\r\n function VirtualDataLoader(controller, dataOptions) {\r\n this._dataOptions = dataOptions;\r\n this._controller = controller;\r\n this._pageIndex = this._lastPageIndex = dataOptions.pageIndex();\r\n this._cache = [];\r\n this._loadingPageIndexes = {}\r\n }\r\n var _proto = VirtualDataLoader.prototype;\r\n _proto.option = function() {\r\n return this._controller.option.apply(this._controller, arguments)\r\n };\r\n _proto.viewportItemIndexChanged = function(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 _proto.pageIndex = function(_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 _proto.beginPageIndex = function(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 _proto.endPageIndex = function() {\r\n var endPageIndex = getEndPageIndex(this);\r\n return endPageIndex > 0 ? endPageIndex : this._lastPageIndex\r\n };\r\n _proto.pageSize = function() {\r\n return this._dataOptions.pageSize()\r\n };\r\n _proto.load = function() {\r\n var _this = this;\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.Deferred;\r\n loadResult.done((function() {\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.Deferred).resolve()\r\n };\r\n _proto.loadIfNeed = function() {\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 _proto.handleDataChanged = function(callBase, e) {\r\n var _this2 = this;\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((function() {\r\n if (processDelayChanged(_this2, callBase)) {\r\n _this2.load()\r\n }\r\n }))\r\n } else {\r\n processChanged(this, callBase, e)\r\n }\r\n };\r\n _proto.getDelayDeferred = function() {\r\n return this._delayDeferred\r\n };\r\n _proto.itemsCount = function(isBase) {\r\n var itemsCount = 0;\r\n var isVirtualMode = this._controller.isVirtualMode();\r\n if (!isBase && isVirtualMode) {\r\n this._cache.forEach((function(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 _proto.virtualItemsCount = function() {\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 _proto.reset = function() {\r\n this._loadingPageIndexes = {};\r\n this._cache = []\r\n };\r\n return VirtualDataLoader\r\n}();\r\nexports.VirtualDataLoader = VirtualDataLoader;\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/grid_core/virtual_scrolling/m_virtual_scrolling.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.virtualScrollingModule = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../../../core/renderer\"));\r\nvar _browser = _interopRequireDefault(require(\"../../../../core/utils/browser\"));\r\nvar _deferred = require(\"../../../../core/utils/deferred\");\r\nvar _dom = require(\"../../../../core/utils/dom\");\r\nvar _iterator = require(\"../../../../core/utils/iterator\");\r\nvar _position = require(\"../../../../core/utils/position\");\r\nvar _size = require(\"../../../../core/utils/size\");\r\nvar _type = require(\"../../../../core/utils/type\");\r\nvar _window = require(\"../../../../core/utils/window\");\r\nvar _load_indicator = _interopRequireDefault(require(\"../../../../ui/load_indicator\"));\r\nvar _m_utils = _interopRequireDefault(require(\"../m_utils\"));\r\nvar _m_virtual_scrolling_core = require(\"./m_virtual_scrolling_core\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar BOTTOM_LOAD_PANEL_CLASS = \"bottom-load-panel\";\r\nvar TABLE_CONTENT_CLASS = \"table-content\";\r\nvar GROUP_SPACE_CLASS = \"group-space\";\r\nvar CONTENT_CLASS = \"content\";\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((function(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: function() {\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 _m_virtual_scrolling_core.VirtualScrollController(this.component, this._getVirtualScrollDataOptions())\r\n },\r\n _getVirtualScrollDataOptions: function() {\r\n var that = this;\r\n return {\r\n pageSize: function() {\r\n return that.pageSize()\r\n },\r\n totalItemsCount: function() {\r\n return that.totalItemsCount()\r\n },\r\n hasKnownLastPage: function() {\r\n return that.hasKnownLastPage()\r\n },\r\n pageIndex: function(index) {\r\n return that._dataSource.pageIndex(index)\r\n },\r\n isLoading: function() {\r\n return that._dataSource.isLoading() && !that.isCustomLoading()\r\n },\r\n pageCount: function() {\r\n return that.pageCount()\r\n },\r\n load: function() {\r\n return that._dataSource.load()\r\n },\r\n updateLoading: function() {\r\n _updateLoading(that)\r\n },\r\n itemsCount: function() {\r\n return that.itemsCount(true)\r\n },\r\n items: function() {\r\n return that._dataSource.items()\r\n },\r\n viewportItems: function(items) {\r\n if (items) {\r\n that._items = items\r\n }\r\n return that._items\r\n },\r\n onChanged: function(e) {\r\n that.changed.fire(e)\r\n },\r\n changingDuration: function() {\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: function(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: function() {\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: function(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: function(options, operationTypes) {\r\n var newMode = false === this.option(LEGACY_SCROLLING_MODE);\r\n var renderAsync = this.option(\"scrolling.renderAsync\");\r\n if (!(0, _type.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: function() {\r\n return this._items\r\n },\r\n _dataSourceTotalCount: function(isBase) {\r\n return false === this.option(LEGACY_SCROLLING_MODE) && isVirtualMode(this) && !isBase ? this._totalCount : this.callBase()\r\n },\r\n itemsCount: function(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: function(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: function() {\r\n return false === this.option(LEGACY_SCROLLING_MODE) ? this._dataSource.isLoading() : this._isLoading\r\n },\r\n isLoaded: function() {\r\n return this._dataSource.isLoaded() && this._isLoaded\r\n },\r\n resetPagesCache: function(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: function() {\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: function() {\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.Deferred;\r\n this.callBase.apply(this, arguments).done((function(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: function(options, operationTypes) {\r\n if (false !== this.option(LEGACY_SCROLLING_MODE)) {\r\n var storeLoadOptions = options.storeLoadOptions;\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: function() {\r\n this._virtualScrollController.dispose();\r\n this.callBase.apply(this, arguments)\r\n },\r\n loadPageCount: function(count) {\r\n if (!(0, _type.isDefined)(count)) {\r\n return this._loadPageCount\r\n }\r\n this._loadPageCount = count\r\n },\r\n _handleDataLoading: function(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 storeLoadOptions = options.storeLoadOptions;\r\n var takeIsDefined = (0, _type.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: function() {\r\n return this.callBase.apply(this, arguments) * this.loadPageCount()\r\n }\r\n };\r\n [\"beginPageIndex\", \"endPageIndex\", \"pageIndex\"].forEach((function(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((function(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((function(row) {\r\n return (0, _renderer.default)(row).parent(\".\".concat(className)).get(0)\r\n })).filter((function(row) {\r\n return row\r\n }));\r\n if (tBodies.length) {\r\n $emptyRows = (0, _renderer.default)(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: function() {\r\n var _this = this;\r\n var _a;\r\n var dataController = this.getController(\"data\");\r\n this.callBase();\r\n dataController.pageChanged.add((function(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((function() {\r\n !_this._scrollTop && _this._scrollToCurrentPageOnResize()\r\n }));\r\n null === (_a = dataController.stateLoaded) || void 0 === _a ? void 0 : _a.add((function() {\r\n _this._scrollToCurrentPageOnResize()\r\n }));\r\n this._scrollToCurrentPageOnResize()\r\n },\r\n _scrollToCurrentPageOnResize: function() {\r\n var _this2 = this;\r\n var dataController = this.getController(\"data\");\r\n if (dataController.pageIndex() > 0) {\r\n this.resizeCompleted.add((function resizeHandler() {\r\n _this2.resizeCompleted.remove(resizeHandler);\r\n _this2.scrollToPage(dataController.pageIndex())\r\n }))\r\n }\r\n },\r\n scrollToPage: function(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: function() {\r\n var _this3 = this;\r\n this.waitAsyncTemplates().done((function() {\r\n _this3._updateContentPosition(true)\r\n }));\r\n this.callBase.apply(this, arguments)\r\n },\r\n _renderCore: function(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 (_m_utils.default.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: function(tableElement) {\r\n var $rows = this.callBase(tableElement);\r\n return $rows && $rows.not(\".\".concat(VIRTUAL_ROW_CLASS))\r\n },\r\n _removeRowsElements: function(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((function(rowElement) {\r\n var $rowElement = (0, _renderer.default)(rowElement);\r\n errorHandlingController && errorHandlingController.removeErrorRow($rowElement.next());\r\n $rowElement.remove()\r\n }))\r\n },\r\n _updateContent: function(tableElement, change) {\r\n var _this4 = this;\r\n var $freeSpaceRowElements;\r\n var contentElement = this._findContentElement();\r\n var changeType = change && change.changeType;\r\n var d = (0, _deferred.Deferred)();\r\n var contentTable = contentElement.children().first();\r\n if (\"append\" === changeType || \"prepend\" === changeType) {\r\n this.waitAsyncTemplates().done((function() {\r\n var $tBodies = _this4._getBodies(tableElement);\r\n if (1 === $tBodies.length) {\r\n _this4._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 = _this4._getFreeSpaceRowElements(contentTable);\r\n removeEmptyRows($freeSpaceRowElements, FREESPACE_CLASS);\r\n if (change.removeCount) {\r\n _this4._removeRowsElements(contentTable, change.removeCount, changeType)\r\n }\r\n _this4._restoreErrorRow(contentTable);\r\n d.resolve()\r\n })).fail(d.reject)\r\n } else {\r\n this.callBase.apply(this, arguments).done((function() {\r\n if (\"update\" === changeType) {\r\n _this4._restoreErrorRow(contentTable)\r\n }\r\n d.resolve()\r\n })).fail(d.reject)\r\n }\r\n return d.promise().done((function() {\r\n _this4._updateBottomLoading()\r\n }))\r\n },\r\n _addVirtualRow: function($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: function() {\r\n var rowHeights = this._getRowHeights();\r\n var correctedRowHeights = this._correctRowHeights(rowHeights);\r\n this._dataController.setContentItemSizes(correctedRowHeights)\r\n },\r\n _updateViewportSize: function(viewportHeight, scrollTop) {\r\n if (!(0, _type.isDefined)(viewportHeight)) {\r\n viewportHeight = this._hasHeight ? (0, _size.getOuterHeight)(this.element()) : (0, _size.getOuterHeight)((0, _window.getWindow)())\r\n }\r\n this._dataController.viewportHeight(viewportHeight, scrollTop)\r\n },\r\n _getRowHeights: function() {\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((function(row) {\r\n return !(0, _renderer.default)(row).hasClass(ROW_INSERTED)\r\n }))\r\n }\r\n return rowElements.map((function(row) {\r\n return (0, _position.getBoundingRect)(row).height\r\n }))\r\n },\r\n _correctRowHeights: function(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 (!(0, _type.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: function(isRender) {\r\n var _this5 = this;\r\n var dataController = this._dataController;\r\n var rowHeight = this._rowHeight || 20;\r\n dataController.viewportItemSize(rowHeight);\r\n if (isVirtualMode(this) || _m_utils.default.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((function(index, element) {\r\n var isFixed = index > 0;\r\n var prevFixed = _this5._isFixedTableRendering;\r\n _this5._isFixedTableRendering = isFixed;\r\n _this5._addVirtualRow((0, _renderer.default)(element), isFixed, \"top\", top);\r\n _this5._addVirtualRow((0, _renderer.default)(element), isFixed, \"bottom\", bottom);\r\n _this5._isFixedTableRendering = prevFixed\r\n }))\r\n }\r\n },\r\n _isTableLinesDisplaysCorrect: function(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: function($columns, $virtualColumns) {\r\n var result = $columns.length === $virtualColumns.length;\r\n if (result) {\r\n (0, _iterator.each)($columns, (function(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: function(column) {\r\n var classes = [];\r\n var cssClass = column.cssClass;\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: function($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: function() {\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 (0, _renderer.default)(\"
    \").addClass(this.addWidgetPrefix(BOTTOM_LOAD_PANEL_CLASS)).append(this._createComponent((0, _renderer.default)(\"
    \"), _load_indicator.default).$element()).appendTo($contentElement)\r\n }\r\n } else if (bottomLoadPanelElement) {\r\n bottomLoadPanelElement.remove()\r\n }\r\n },\r\n _handleScroll: function(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: function(itemsCount) {\r\n return this.callBase.apply(this, arguments) || itemsCount > 0 && isAppendMode(this) && !_m_utils.default.isVirtualRowRendering(this)\r\n },\r\n _updateRowHeight: function() {\r\n this.callBase.apply(this, arguments);\r\n if (this._rowHeight) {\r\n this._updateContentPosition();\r\n var viewportHeight = this._hasHeight ? (0, _size.getOuterHeight)(this.element()) : (0, _size.getOuterHeight)((0, _window.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: function() {\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: function(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 _resizeCore: function() {\r\n var that = this;\r\n var $element = that.element();\r\n that.callBase();\r\n if (that.component.$element() && !that._windowScroll && (0, _dom.isElementInDom)($element)) {\r\n that._windowScroll = (0, _m_virtual_scrolling_core.subscribeToExternalScrollers)($element, (function(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\", (function() {\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: function() {\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 setColumnWidths: function(widths) {\r\n var scrollable = this.getScrollable();\r\n var $content;\r\n this.callBase.apply(this, arguments);\r\n if (\"virtual\" === this.option(\"scrolling.mode\")) {\r\n $content = scrollable ? (0, _renderer.default)(scrollable.content()) : this.element();\r\n this.callBase(widths, $content.children(\".\".concat(this.addWidgetPrefix(CONTENT_CLASS))).children(\":not(.\".concat(this.addWidgetPrefix(TABLE_CONTENT_CLASS), \")\")))\r\n }\r\n },\r\n _restoreErrorRow: function() {\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: function() {\r\n clearTimeout(this._scrollTimeoutID);\r\n this.callBase()\r\n }\r\n }\r\n}();\r\nvar virtualScrollingModule = {\r\n defaultOptions: function() {\r\n return {\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 },\r\n extenders: {\r\n dataSourceAdapter: VirtualScrollingDataSourceAdapterExtender,\r\n controllers: {\r\n data: function() {\r\n var members = {\r\n _refreshDataSource: function() {\r\n var baseResult = this.callBase.apply(this, arguments) || (new _deferred.Deferred).resolve().promise();\r\n baseResult.done(this.initVirtualRows.bind(this));\r\n return baseResult\r\n },\r\n _loadDataSource: function() {\r\n var _a;\r\n if (this._rowsScrollController && isVirtualPaging(this)) {\r\n var _ref = (0, _type.isDefined)(this._loadViewportParams) ? this.getLoadPageParams() : {\r\n loadPageCount: void 0\r\n },\r\n loadPageCount = _ref.loadPageCount;\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: function() {\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: function() {\r\n var _this6 = this;\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((function() {\r\n var _a;\r\n if (isVirtualMode(_this6) || _m_utils.default.isVirtualRowRendering(_this6)) {\r\n var rowIndexOffset = _this6.getRowIndexOffset();\r\n var rowIndex = Math.floor(itemIndex) - rowIndexOffset;\r\n var component = _this6.component;\r\n var scrollable = component.getScrollable && component.getScrollable();\r\n var isSortingOperation = _this6.dataSource().operationTypes().sorting;\r\n if (scrollable && !isSortingOperation && rowIndex >= 0) {\r\n var rowElement = component.getRowElement(rowIndex);\r\n var $rowElement = rowElement && rowElement[0] && (0, _renderer.default)(rowElement[0]);\r\n var top = $rowElement && $rowElement.position().top;\r\n var isChromeLatest = _browser.default.chrome && Number(null !== (_a = _browser.default.version) && void 0 !== _a ? _a : 0) >= 91;\r\n var allowedTopOffset = _browser.default.mozilla || isChromeLatest ? 1 : 0;\r\n if (top > allowedTopOffset) {\r\n top = Math.round(top + (0, _size.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: function() {\r\n var _this7 = this;\r\n var virtualRowsRendering = _m_utils.default.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 _m_virtual_scrolling_core.VirtualScrollController(this.component, this._getRowsScrollDataOptions(), true);\r\n this._rowsScrollController.positionChanged.add((function() {\r\n var _a;\r\n if (false === _this7.option(LEGACY_SCROLLING_MODE)) {\r\n _this7._viewportChanging = true;\r\n _this7.loadViewport();\r\n _this7._viewportChanging = false;\r\n return\r\n }\r\n null === (_a = _this7._dataSource) || void 0 === _a ? void 0 : _a.setViewportItemIndex(_this7._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: function() {\r\n return this._viewportChanging\r\n },\r\n _getRowsScrollDataOptions: function() {\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: function() {\r\n return that.getRowPageSize()\r\n },\r\n loadedOffset: function() {\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: function() {\r\n return that._itemCount\r\n },\r\n totalItemsCount: function() {\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: function() {\r\n return false === that.option(LEGACY_SCROLLING_MODE) ? that.hasKnownLastPage() : true\r\n },\r\n pageIndex: function(index) {\r\n if (void 0 !== index) {\r\n that._rowPageIndex = index\r\n }\r\n return that._rowPageIndex\r\n },\r\n isLoading: function() {\r\n return that.isLoading()\r\n },\r\n pageCount: function() {\r\n var pageCount = Math.ceil(this.totalItemsCount() / this.pageSize());\r\n return pageCount || 1\r\n },\r\n load: function() {\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((function(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((function(item, index) {\r\n item.rowIndex = index\r\n }));\r\n that._fireChanged(change)\r\n }))\r\n },\r\n updateLoading: function() {},\r\n itemsCount: function() {\r\n return this.items(true).length\r\n },\r\n correctCount: function(items, count, fromEnd) {\r\n return _correctCount(items, count, fromEnd, (function(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 },\r\n items: function(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: function(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: function() {},\r\n changingDuration: function() {\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: function(change) {\r\n var _this8 = this;\r\n var delta = this.getRowIndexDelta();\r\n this.callBase.apply(this, arguments);\r\n if (false === this.option(LEGACY_SCROLLING_MODE) && _m_utils.default.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((function(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((function(item, index) {\r\n visibleItems[index] = _this8._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: function() {\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: function() {\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((function(item) {\r\n var rowType = item.rowType;\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 && (0, _type.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((function(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((function(it) {\r\n it.loadIndex = currentIndex\r\n }))\r\n }\r\n return resultItems\r\n },\r\n _afterProcessItems: function(items) {\r\n var _this9 = this;\r\n this._itemCount = items.filter((function(item) {\r\n return isItemCountableByDataSource(item, _this9._dataSource)\r\n })).length;\r\n if ((0, _type.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 _this$getLoadPagePara = this.getLoadPageParams(true),\r\n skipForCurrentPage = _this$getLoadPagePara.skipForCurrentPage;\r\n var skip = items[0].loadIndex + skipForCurrentPage;\r\n var take = this._loadViewportParams.take;\r\n result = items.filter((function(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: function(change) {\r\n var that = this;\r\n var items = change.items;\r\n var changeType = change.changeType;\r\n var removeCount = change.removeCount;\r\n if (removeCount) {\r\n var fromEnd = \"prepend\" === changeType;\r\n removeCount = _correctCount(that._items, removeCount, fromEnd, (function(item, isNextAfterLast) {\r\n return \"data\" === item.rowType && !item.isNewRow || \"group\" === item.rowType && (that._dataSource.isGroupItemCountable(item.data) || isNextAfterLast)\r\n }));\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: function(allItems) {\r\n return allItems ? this._allItems || this._items : this._visibleItems || this._items\r\n },\r\n getRowIndexDelta: function() {\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: function(byLoadedRows) {\r\n var _a;\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 && (0, _type.isDefined)(this._loadViewportParams)) {\r\n var _this$getLoadPagePara2 = this.getLoadPageParams(true),\r\n skipForCurrentPage = _this$getLoadPagePara2.skipForCurrentPage,\r\n pageIndex = _this$getLoadPagePara2.pageIndex;\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((function(item) {\r\n return item.loadIndex < firstLoadIndex + skipForCurrentPage\r\n })).length\r\n }\r\n } else {\r\n offset = rowsScrollController.beginPageIndex() * rowsScrollController.pageSize()\r\n }\r\n } else if (virtualPaging && newMode && dataSource) {\r\n offset = null !== (_a = dataSource.lastLoadOptions().skip) && void 0 !== _a ? _a : 0\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: function() {\r\n if (false === this.option(LEGACY_SCROLLING_MODE)) {\r\n return this.getRowIndexOffset(true)\r\n }\r\n return this.callBase.apply(this, arguments)\r\n },\r\n viewportSize: function() {\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: function(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: function() {\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: function() {\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: function(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: function() {\r\n var preloadCount = this.option(\"scrolling.preloadedRowCount\");\r\n var preloadEnabled = this.option(\"scrolling.preloadEnabled\");\r\n if ((0, _type.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: function(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: function(currentPageIndex) {\r\n if (!this._rowsScrollController) {\r\n return\r\n }\r\n if ((0, _type.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: function() {\r\n var loadedPageParams = this.getLoadPageParams(true);\r\n var _this$getLoadPagePara3 = this.getLoadPageParams(),\r\n pageIndex = _this$getLoadPagePara3.pageIndex,\r\n loadPageCount = _this$getLoadPagePara3.loadPageCount;\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: function(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: function(checkLoading, viewportIsFilled) {\r\n var _this10 = this;\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((function() {\r\n _this10._repaintChangesOnly = void 0;\r\n _this10._needUpdateDimensions = void 0\r\n })).done((function() {\r\n var isLastPage = _this10.pageCount() > 0 && _this10.pageIndex() === _this10.pageCount() - 1;\r\n (viewportChanging || isLastPage) && _this10._updateVisiblePageIndex();\r\n if (_this10._needUpdateViewportAfterLoading) {\r\n _this10._needUpdateViewportAfterLoading = false;\r\n _this10.loadViewport({\r\n checkLoadedParamsOnly: true\r\n })\r\n }\r\n }))\r\n }\r\n return result\r\n },\r\n loadViewport: function(params) {\r\n var _a, _b;\r\n var _ref2 = null !== params && void 0 !== params ? params : {},\r\n checkLoadedParamsOnly = _ref2.checkLoadedParamsOnly,\r\n checkLoading = _ref2.checkLoading,\r\n viewportIsNotFilled = _ref2.viewportIsNotFilled;\r\n var virtualPaging = isVirtualPaging(this);\r\n if (virtualPaging || _m_utils.default.isVirtualRowRendering(this)) {\r\n this._updateLoadViewportParams();\r\n var loadingItemsStarted = this._loadItems(checkLoading, !viewportIsNotFilled);\r\n var needToUpdateItems = !(loadingItemsStarted || this._isLoading && checkLoading || checkLoadedParamsOnly);\r\n if (needToUpdateItems) {\r\n var noPendingChangesInEditing = !(null === (_b = null === (_a = this.getController(\"editing\")) || void 0 === _a ? void 0 : _a.getChanges()) || void 0 === _b ? void 0 : _b.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: function() {\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: function() {\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: function() {\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: function() {\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: function() {\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: function(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: function() {\r\n var rowsScrollController = this._rowsScrollController;\r\n rowsScrollController && rowsScrollController.dispose();\r\n this.callBase.apply(this, arguments)\r\n },\r\n topItemIndex: function() {\r\n var _a;\r\n return null === (_a = this._loadViewportParams) || void 0 === _a ? void 0 : _a.skip\r\n },\r\n bottomItemIndex: function() {\r\n var viewportParams = this._loadViewportParams;\r\n return viewportParams && viewportParams.skip + viewportParams.take\r\n },\r\n virtualItemsCount: function() {\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: function(_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: function(e) {\r\n this.callBase.apply(this, arguments);\r\n var operationTypes = e.operationTypes;\r\n if (false === this.option(LEGACY_SCROLLING_MODE) && isVirtualPaging(this) && operationTypes) {\r\n var fullReload = operationTypes.fullReload,\r\n pageIndex = operationTypes.pageIndex;\r\n if (e.isDataChanged && !fullReload && pageIndex) {\r\n this._updateVisiblePageIndex(this._dataSource.pageIndex())\r\n }\r\n }\r\n },\r\n _getPagingOptionValue: function(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: function() {\r\n return false === this.option(LEGACY_SCROLLING_MODE) ? !this.items(true).length : this.callBase(this, arguments)\r\n },\r\n isLastPageLoaded: function() {\r\n var result = false;\r\n if (false === this.option(LEGACY_SCROLLING_MODE) && isVirtualPaging(this)) {\r\n var _this$getLoadPagePara4 = this.getLoadPageParams(true),\r\n pageIndex = _this$getLoadPagePara4.pageIndex,\r\n loadPageCount = _this$getLoadPagePara4.loadPageCount;\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: function() {\r\n this._itemCount = 0;\r\n this._allItems = null;\r\n this.callBase.apply(this, arguments)\r\n },\r\n _applyFilter: function() {\r\n var _a;\r\n null === (_a = this._dataSource) || void 0 === _a ? void 0 : _a.loadPageCount(1);\r\n this.callBase.apply(this, arguments)\r\n }\r\n };\r\n _m_utils.default.proxyMethod(members, \"getVirtualContentSize\");\r\n _m_utils.default.proxyMethod(members, \"setViewportItemIndex\");\r\n return members\r\n }(),\r\n resizing: {\r\n _updateMasterDataGridCore: function(masterDataGrid) {\r\n return (0, _deferred.when)(this.callBase.apply(this, arguments)).done((function(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: function() {\r\n return !!this._resizeTimeout\r\n },\r\n resize: function() {\r\n var _this11 = this;\r\n var callBase = this.callBase;\r\n var result;\r\n if (isVirtualMode(this) || _m_utils.default.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.Deferred;\r\n this._resizeTimeout = setTimeout((function() {\r\n _this11._resizeTimeout = null;\r\n callBase.apply(_this11).done(result.resolve).fail(result.reject);\r\n _this11._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: function() {\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\nexports.virtualScrollingModule = virtualScrollingModule;\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/grid_core/virtual_scrolling/m_virtual_scrolling_core.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.default = exports.VirtualScrollController = void 0;\r\nexports.subscribeToExternalScrollers = subscribeToExternalScrollers;\r\nvar _position = _interopRequireDefault(require(\"../../../../animation/position\"));\r\nvar _class = _interopRequireDefault(require(\"../../../../core/class\"));\r\nvar _renderer = _interopRequireDefault(require(\"../../../../core/renderer\"));\r\nvar _browser = _interopRequireDefault(require(\"../../../../core/utils/browser\"));\r\nvar _callbacks = _interopRequireDefault(require(\"../../../../core/utils/callbacks\"));\r\nvar _deferred = require(\"../../../../core/utils/deferred\");\r\nvar _iterator = require(\"../../../../core/utils/iterator\");\r\nvar _type = require(\"../../../../core/utils/type\");\r\nvar _window = require(\"../../../../core/utils/window\");\r\nvar _events_engine = _interopRequireDefault(require(\"../../../../events/core/events_engine\"));\r\nvar _m_utils = _interopRequireDefault(require(\"../m_utils\"));\r\nvar _m_virtual_data_loader = require(\"../virtual_data_loader/m_virtual_data_loader\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar SCROLLING_MODE_INFINITE = \"infinite\";\r\nvar SCROLLING_MODE_VIRTUAL = \"virtual\";\r\nvar LEGACY_SCROLLING_MODE = \"scrolling.legacyMode\";\r\nvar _isVirtualMode = function(that) {\r\n return that.option(\"scrolling.mode\") === SCROLLING_MODE_VIRTUAL || that._isVirtual\r\n};\r\nvar _isAppendMode = function(that) {\r\n return that.option(\"scrolling.mode\") === SCROLLING_MODE_INFINITE && !that._isVirtual\r\n};\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 = _position.default.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: function(scrollable, eventName, handler) {\r\n scrollable.on(\"scroll\", handler)\r\n },\r\n off: function(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 === (0, _window.getWindow)().Node.ELEMENT_NODE;\r\n var scrollable = $scrollElement.data(\"dxScrollable\");\r\n var eventsStrategy = widgetScrollStrategy;\r\n if (!scrollable) {\r\n scrollable = isDocument && (0, _renderer.default)((0, _window.getWindow)()) || isElement && \"auto\" === $scrollElement.css(\"overflowY\") && $scrollElement;\r\n eventsStrategy = _events_engine.default;\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((function(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((function() {\r\n eventsStrategy.off(scrollable, \"scroll\", handler)\r\n }))\r\n }\r\n var getScrollElementParent = function($element) {\r\n var _a;\r\n return (0, _renderer.default)(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: function(pos) {\r\n (0, _iterator.each)(scrollToArray, (function(_, scrollTo) {\r\n scrollTo(pos)\r\n }))\r\n },\r\n dispose: function() {\r\n (0, _iterator.each)(disposeArray, (function(_, dispose) {\r\n dispose()\r\n }))\r\n }\r\n }\r\n}\r\nvar VirtualScrollController = _class.default.inherit(function() {\r\n var members = {\r\n ctor: function(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 = (0, _callbacks.default)();\r\n this._dataLoader = new _m_virtual_data_loader.VirtualDataLoader(this, this._dataOptions)\r\n },\r\n getItemSizes: function() {\r\n return this._itemSizes\r\n },\r\n option: function() {\r\n return this.component.option.apply(this.component, arguments)\r\n },\r\n isVirtual: function() {\r\n return this._isVirtual\r\n },\r\n virtualItemsCount: function() {\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: function() {\r\n var _a;\r\n var renderAsync = this.option(\"scrolling.renderAsync\");\r\n var scrollingTimeout = 0;\r\n if (!(0, _type.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: function(position) {\r\n var _this = this;\r\n var result = new _deferred.Deferred;\r\n var scrollingTimeout = this.getScrollingTimeout();\r\n clearTimeout(this._scrollTimeoutID);\r\n if (scrollingTimeout > 0) {\r\n this._scrollTimeoutID = setTimeout((function() {\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: function() {\r\n return this._position\r\n },\r\n getItemIndexByPosition: function(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 && (0, _type.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: function() {\r\n return this._isScrollingBack\r\n },\r\n _setViewportPositionCore: function(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: function(sizes) {\r\n var _this2 = this;\r\n var virtualItemsCount = this.virtualItemsCount();\r\n this._contentSize = sizes.reduce((function(a, b) {\r\n return a + b\r\n }), 0);\r\n if (virtualItemsCount) {\r\n sizes.forEach((function(size, index) {\r\n _this2._itemSizes[virtualItemsCount.begin + index] = size\r\n }));\r\n var virtualContentSize = (virtualItemsCount.begin + virtualItemsCount.end + this.itemsCount()) * this._viewportItemSize;\r\n var contentHeightLimit = _m_utils.default.getContentHeightLimit(_browser.default);\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: function() {\r\n return this._viewportItemSize * this._sizeRatio\r\n },\r\n getItemOffset: function(itemIndex, isEnd) {\r\n var _this3 = this;\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((function(currentItemIndex) {\r\n if (!itemCount) {\r\n return\r\n }\r\n if (isEnd ? currentItemIndex >= totalItemsCount - itemIndex : currentItemIndex < itemIndex) {\r\n offset += _this3._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: function(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: function() {\r\n var virtualItemsCount = this.virtualItemsCount();\r\n return virtualItemsCount ? this.getContentOffset(\"begin\") + this.getContentOffset(\"end\") + this._contentSize : 0\r\n },\r\n getViewportItemIndex: function() {\r\n return this._viewportItemIndex\r\n },\r\n setViewportItemIndex: function(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: function(size) {\r\n if (void 0 !== size) {\r\n this._viewportItemSize = size\r\n }\r\n return this._viewportItemSize\r\n },\r\n viewportSize: function(size) {\r\n if (void 0 !== size) {\r\n this._viewportSize = size\r\n }\r\n return this._viewportSize\r\n },\r\n viewportHeight: function(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 (!(0, _type.isDefined)(scrollTop) && this._viewportItemIndex !== begin) {\r\n this._setViewportPositionCore(position)\r\n }\r\n },\r\n reset: function(isRefresh) {\r\n this._dataLoader.reset();\r\n if (!isRefresh) {\r\n this._itemSizes = {}\r\n }\r\n },\r\n subscribeToWindowScrollEvents: function($element) {\r\n var _this4 = this;\r\n this._windowScroll = this._windowScroll || subscribeToExternalScrollers($element, (function(scrollTop) {\r\n if (_this4.viewportItemSize()) {\r\n _this4.setViewportPosition(scrollTop)\r\n }\r\n }))\r\n },\r\n dispose: function() {\r\n clearTimeout(this._scrollTimeoutID);\r\n this._windowScroll && this._windowScroll.dispose();\r\n this._windowScroll = null\r\n },\r\n scrollTo: function(pos) {\r\n this._windowScroll && this._windowScroll.scrollTo(pos)\r\n },\r\n isVirtualMode: function() {\r\n return _isVirtualMode(this)\r\n },\r\n isAppendMode: function() {\r\n return _isAppendMode(this)\r\n },\r\n getViewportParams: function() {\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: function() {\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((function(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\nexports.VirtualScrollController = VirtualScrollController;\r\nvar _default = {\r\n VirtualScrollController: VirtualScrollController\r\n};\r\nexports.default = _default;\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/pivot_grid/area_item/m_area_item.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.getRealElementWidth = exports.default = exports.AreaItem = void 0;\r\nvar _class = _interopRequireDefault(require(\"../../../../core/class\"));\r\nvar _dom_adapter = _interopRequireDefault(require(\"../../../../core/dom_adapter\"));\r\nvar _element = require(\"../../../../core/element\");\r\nvar _renderer = _interopRequireDefault(require(\"../../../../core/renderer\"));\r\nvar _extend = require(\"../../../../core/utils/extend\");\r\nvar _position = require(\"../../../../core/utils/position\");\r\nvar _size = require(\"../../../../core/utils/size\");\r\nvar _style = require(\"../../../../core/utils/style\");\r\nvar _type = require(\"../../../../core/utils/type\");\r\nvar _getMemoizeScrollTo2 = require(\"../../../../renovation/ui/common/utils/scroll/getMemoizeScrollTo\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\nvar PIVOTGRID_EXPAND_CLASS = \"dx-expand\";\r\nvar getRealElementWidth = function(element) {\r\n var width = 0;\r\n var offsetWidth = element.offsetWidth;\r\n if (element.getBoundingClientRect) {\r\n var clientRect = (0, _position.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\nexports.getRealElementWidth = getRealElementWidth;\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.default.inherit({\r\n ctor: function(component) {\r\n this.component = component\r\n },\r\n option: function() {\r\n return this.component.option.apply(this.component, arguments)\r\n },\r\n _getRowElement: function(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: function() {\r\n return (0, _renderer.default)(\"
    \")\r\n },\r\n _createTableElement: function() {\r\n return (0, _renderer.default)(\"
    \")\r\n },\r\n _getCellText: function(cell, encodeHtml) {\r\n var cellText = cell.isWhiteSpace ? \" \" : cell.text || \" \";\r\n if (encodeHtml && (-1 !== cellText.indexOf(\"<\") || -1 !== cellText.indexOf(\">\"))) {\r\n cellText = (0, _renderer.default)(\"
    \").text(cellText).html()\r\n }\r\n return cellText\r\n },\r\n _getRowClassNames: function() {},\r\n _applyCustomStyles: function(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: function() {\r\n return _dom_adapter.default.createElement(\"tbody\")\r\n },\r\n _getCloseMainElementMarkup: function() {\r\n return \"\"\r\n },\r\n _renderTableContent: function(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 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 var tbody = this._getMainElementMarkup();\r\n for (i = 0; i < rowsCount; i += 1) {\r\n row = data[i];\r\n rowClassNames = [];\r\n var tr = _dom_adapter.default.createElement(\"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 var td = _dom_adapter.default.createElement(\"td\");\r\n if (cell) {\r\n cell.rowspan && td.setAttribute(\"rowspan\", cell.rowspan || 1);\r\n cell.colspan && td.setAttribute(\"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 (0, _style.setStyle)(td, styleOptions.cssArray.join(\";\"))\r\n }\r\n if (styleOptions.classArray.length) {\r\n td.setAttribute(\"class\", styleOptions.classArray.join(\" \"))\r\n }\r\n if ((0, _type.isDefined)(cell.expanded)) {\r\n var div = _dom_adapter.default.createElement(\"div\");\r\n div.classList.add(\"dx-expand-icon-container\");\r\n var _span = _dom_adapter.default.createElement(\"span\");\r\n _span.classList.add(PIVOTGRID_EXPAND_CLASS);\r\n div.appendChild(_span);\r\n td.appendChild(div)\r\n }\r\n cellText = this._getCellText(cell, encodeHtml)\r\n } else {\r\n cellText = \"\"\r\n }\r\n var span = _dom_adapter.default.createElement(\"span\");\r\n if ((0, _type.isDefined)(cell.wordWrapEnabled)) {\r\n span.style.whiteSpace = cell.wordWrapEnabled ? \"normal\" : \"nowrap\"\r\n }\r\n span.innerHTML = cellText;\r\n td.appendChild(span);\r\n if (cell.sorted) {\r\n var _span2 = _dom_adapter.default.createElement(\"span\");\r\n _span2.classList.add(\"dx-icon-sorted\");\r\n td.appendChild(_span2)\r\n }\r\n tr.appendChild(td)\r\n }\r\n if (rowClassNames.length) {\r\n tr.setAttribute(\"class\", rowClassNames.join(\" \"))\r\n }\r\n tbody.appendChild(tr)\r\n }\r\n tableElement.append(tbody);\r\n this._triggerOnCellPrepared(tableElement, data)\r\n },\r\n _triggerOnCellPrepared: function(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: (0, _element.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((0, _extend.extend)(onCellPreparedArgs, defaultActionArgs))\r\n }\r\n }\r\n }\r\n }\r\n },\r\n _getRowHeight: function(index) {\r\n var row = this._getRowElement(index);\r\n var height = 0;\r\n var offsetHeight = row.offsetHeight;\r\n if (row && row.lastChild) {\r\n if (row.getBoundingClientRect) {\r\n var clientRect = (0, _position.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: function(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: function() {\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: function() {\r\n var result = [];\r\n var rowsLength = this.getRowsLength();\r\n for (var i = 0; i < rowsLength; i += 1) {\r\n result.push(this._getRowHeight(i))\r\n }\r\n return result\r\n },\r\n setRowsHeight: function(values) {\r\n var totalHeight = 0;\r\n var valuesLength = values.length;\r\n for (var 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: function() {\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: function(values) {\r\n var i;\r\n var tableElement = this._tableElement[0];\r\n this._colgroupElement.html(\"\");\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 var col = _dom_adapter.default.createElement(\"col\");\r\n col.style.width = \"\".concat(columnWidth[i], \"px\");\r\n this._colgroupElement.append(col)\r\n }\r\n this._tableWidth = columnWidth.reduce((function(sum, width) {\r\n return sum + width\r\n }), 0);\r\n tableElement.style.width = \"\".concat(this._tableWidth, \"px\");\r\n tableElement.style.tableLayout = \"fixed\"\r\n },\r\n resetColumnsWidth: function() {\r\n (0, _size.setWidth)(this._colgroupElement.find(\"col\"), \"auto\");\r\n this._tableElement.css({\r\n width: \"\",\r\n tableLayout: \"\"\r\n })\r\n },\r\n setGroupWidth: function(value) {\r\n this._getScrollable().option(\"width\", value)\r\n },\r\n setGroupHeight: function(value) {\r\n this._getScrollable().option(\"height\", value)\r\n },\r\n getGroupHeight: function() {\r\n return this._getGroupElementSize(\"height\")\r\n },\r\n getGroupWidth: function() {\r\n return this._getGroupElementSize(\"width\")\r\n },\r\n _getGroupElementSize: function(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: function() {\r\n return this._groupElement\r\n },\r\n tableElement: function() {\r\n return this._tableElement\r\n },\r\n element: function() {\r\n return this._rootElement\r\n },\r\n headElement: function() {\r\n return this._tableElement.find(\"thead\")\r\n },\r\n _setTableCss: function(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: function(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: function() {\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: function() {\r\n if (!this._virtualContent && \"virtual\" === this.option(\"scrolling.mode\")) {\r\n this._virtualContent = (0, _renderer.default)(\"
    \").addClass(\"dx-virtual-content\").insertBefore(this._tableElement)\r\n }\r\n },\r\n reset: function() {\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: function() {\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: function(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: function(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: function() {\r\n this._updateFakeTableVisibility()\r\n },\r\n _createFakeTable: function() {\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: function(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.attr(\"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 = (0, _renderer.default)(\"
    \").appendTo(this._tableElement);\r\n this._renderTableContent(this._tableElement, data);\r\n this._renderVirtualContent()\r\n },\r\n _getScrollable: function() {\r\n return this.groupElement().data(\"dxScrollable\")\r\n },\r\n _getMemoizeScrollTo: function() {\r\n var _this = this;\r\n var _a;\r\n this._memoizeScrollTo = null !== (_a = this._memoizeScrollTo) && void 0 !== _a ? _a : (0, _getMemoizeScrollTo2.getMemoizeScrollTo)((function() {\r\n return _this._getScrollable()\r\n }));\r\n return this._memoizeScrollTo\r\n },\r\n _getMaxLeftOffset: function(scrollable) {\r\n var containerElement = (0, _renderer.default)(scrollable.container()).get(0);\r\n return containerElement.scrollWidth - containerElement.clientWidth\r\n },\r\n on: function(eventName, handler) {\r\n var that = this;\r\n var scrollable = that._getScrollable();\r\n if (scrollable) {\r\n scrollable.on(eventName, (function(e) {\r\n if (that.option(\"rtlEnabled\") && (0, _type.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: function(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: function(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: function() {\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: function() {\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: function() {\r\n var tableElement = this._tableElement;\r\n return tableElement ? tableElement.data(\"data\") : []\r\n }\r\n});\r\nexports.AreaItem = AreaItem;\r\nvar _default = {\r\n AreaItem: AreaItem,\r\n getRealElementWidth: getRealElementWidth\r\n};\r\nexports.default = _default;\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/pivot_grid/chart_integration/m_chart_integration.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.default = exports.ChartIntegrationMixin = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../../../core/renderer\"));\r\nvar _extend = require(\"../../../../core/utils/extend\");\r\nvar _iterator = require(\"../../../../core/utils/iterator\");\r\nvar _m_widget_utils = require(\"../m_widget_utils\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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 (0, _iterator.each)(path, (function(i, item) {\r\n value.push(item.text || (0, _m_widget_utils.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 (0, _m_widget_utils.foreachTree)(node, (function(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 chartDataItem = processCellArgs.chartDataItem;\r\n var processedCell = processCell && processCell(processCellArgs);\r\n if (processedCell) {\r\n chartDataItem = (0, _extend.extend)({}, chartDataItem, processedCell.chartDataItem);\r\n processedCell = (0, _extend.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 (0, _m_widget_utils.foreachTree)(rowElements, (function(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 = (0, _m_widget_utils.createPath)(rowMembers);\r\n rowPathFormatted = getFormattedValue(rowMembers, rowFields);\r\n if (0 === rowPath.length) {\r\n rowPathFormatted = [mapOptions.grandTotalText]\r\n }(0, _m_widget_utils.foreachTree)(columnElements, (function(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 = (0, _m_widget_utils.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 (0, _iterator.each)(dataFields, (function(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((function() {\r\n foreachRowColumn(createDataItem)\r\n }))\r\n } else {\r\n foreachRowColumn((function() {\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 (0, _iterator.each)(dataFields, (function(_, 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 (0, _iterator.each)(dataFields, (function(_, 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 _customizeSeries = options.customizeSeries;\r\n var customizeChart = options.customizeChart;\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 = (0, _extend.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: function(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 = (0, _extend.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 = (0, _renderer.default)(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: function(chart, integrationOptions) {\r\n integrationOptions = (0, _extend.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\nexports.ChartIntegrationMixin = ChartIntegrationMixin;\r\nvar _default = {\r\n ChartIntegrationMixin: ChartIntegrationMixin\r\n};\r\nexports.default = _default;\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/pivot_grid/const.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.CLASSES = void 0;\r\nvar CLASSES = {\r\n scrollBarMeasureElement: \"dx-pivotgrid-scrollbar-measure-element\"\r\n};\r\nexports.CLASSES = CLASSES;\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/pivot_grid/data_area/m_data_area.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.default = exports.DataArea = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../../../core/renderer\"));\r\nvar _support = require(\"../../../../core/utils/support\");\r\nvar _m_area_item = require(\"../area_item/m_area_item\");\r\nvar _m_widget_utils = require(\"../m_widget_utils\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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 = _m_area_item.AreaItem.inherit({\r\n _getAreaName: function() {\r\n return \"data\"\r\n },\r\n _createGroupElement: function() {\r\n return (0, _renderer.default)(\"
    \").addClass(PIVOTGRID_AREA_CLASS).addClass(PIVOTGRID_AREA_DATA_CLASS).css(\"borderTopWidth\", 0)\r\n },\r\n _applyCustomStyles: function(options) {\r\n var cell = options.cell;\r\n var classArray = options.classArray;\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: function(scrollPos) {\r\n this._moveFakeTableHorizontally(scrollPos.x);\r\n this._moveFakeTableTop(scrollPos.y);\r\n this.callBase()\r\n },\r\n renderScrollable: function() {\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: function() {\r\n var _this$component$optio = this.component.option(\"scrolling\"),\r\n useNative = _this$component$optio.useNative;\r\n return \"auto\" === useNative ? !!_support.nativeScrolling : !!useNative\r\n },\r\n getScrollbarWidth: function() {\r\n return this.getUseNativeValue() ? (0, _m_widget_utils.calculateScrollbarWidth)() : 0\r\n },\r\n updateScrollableOptions: function(_ref) {\r\n var direction = _ref.direction,\r\n rtlEnabled = _ref.rtlEnabled;\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: function(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: function() {\r\n this.callBase();\r\n if (this._virtualContent) {\r\n this._virtualContent.parent().css(\"height\", \"auto\")\r\n }\r\n },\r\n setVirtualContentParams: function(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\nexports.DataArea = DataArea;\r\nvar _default = {\r\n DataArea: DataArea\r\n};\r\nexports.default = _default;\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/pivot_grid/data_controller/m_data_controller.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.default = exports.DataController__internals = exports.DataController = void 0;\r\nvar _class = _interopRequireDefault(require(\"../../../../core/class\"));\r\nvar _callbacks = _interopRequireDefault(require(\"../../../../core/utils/callbacks\"));\r\nvar _common = require(\"../../../../core/utils/common\");\r\nvar _deferred = require(\"../../../../core/utils/deferred\");\r\nvar _extend2 = require(\"../../../../core/utils/extend\");\r\nvar _iterator = require(\"../../../../core/utils/iterator\");\r\nvar _string = require(\"../../../../core/utils/string\");\r\nvar _type = require(\"../../../../core/utils/type\");\r\nvar _m_state_storing_core = _interopRequireDefault(require(\"../../../grids/grid_core/state_storing/m_state_storing_core\"));\r\nvar _m_virtual_columns_core = require(\"../../../grids/grid_core/virtual_columns/m_virtual_columns_core\");\r\nvar _m_virtual_scrolling_core = _interopRequireDefault(require(\"../../../grids/grid_core/virtual_scrolling/m_virtual_scrolling_core\"));\r\nvar _m_data_source = require(\"../data_source/m_data_source\");\r\nvar _m_widget_utils = require(\"../m_widget_utils\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\n\r\nfunction _defineProperty(obj, key, value) {\r\n key = _toPropertyKey(key);\r\n if (key in obj) {\r\n Object.defineProperty(obj, key, {\r\n value: value,\r\n enumerable: true,\r\n configurable: true,\r\n writable: true\r\n })\r\n } else {\r\n obj[key] = value\r\n }\r\n return obj\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\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.default.inherit(function() {\r\n function formatCellValue(value, dataField, errorText) {\r\n return value === NOT_AVAILABLE ? errorText : (0, _m_widget_utils.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 ((0, _type.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 ((0, _type.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.Deferred;\r\n var headerItem;\r\n (0, _deferred.when)((0, _m_widget_utils.foreachTreeAsync)(headerItems, (function(items, index) {\r\n var item = items[0];\r\n var path = (0, _m_widget_utils.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((function() {\r\n d.resolve(createHeaderItem(childrenStack, 0, 0).children || [])\r\n }));\r\n return d\r\n }(headerItems, headerDescriptions);\r\n var dataFields = options.dataFields;\r\n var d = new _deferred.Deferred;\r\n (0, _deferred.when)(viewHeaderItems).done((function(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 (0, _m_widget_utils.foreachTree)(headerItems, (function(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, (0, _extend2.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 }(0, _deferred.when)((0, _m_widget_utils.foreachTreeAsync)(viewHeaderItems, (function(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((function() {\r\n if (cellDescriptionsCount > 1) {\r\n ! function(headerItems, cellDescriptions, options) {\r\n (0, _m_widget_utils.foreachTree)(headerItems, (function(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 (0, _m_widget_utils.foreachTree)([{\r\n children: headerItems\r\n }], (function(items, index) {\r\n var item = items[0];\r\n var parentChildren = (items[1] ? items[1].children : headerItems) || [];\r\n var isEmpty = item.isEmpty;\r\n if (isEmpty && isEmpty.length) {\r\n isEmpty = item.isEmpty.filter((function(isEmpty) {\r\n return isEmpty\r\n })).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 (0, _deferred.when)((0, _m_widget_utils.foreachTreeAsync)(viewHeaderItems, (function(items) {\r\n var item = items[0];\r\n var isMetric = item.isMetric;\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 (0, _iterator.each)(options.sortBySummaryPaths, (function(_, sortBySummaryPath) {\r\n if (!(0, _type.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 = (0, _type.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 = (0, _m_widget_utils.createPath)(items)\r\n } else {\r\n path = (0, _iterator.map)(items, (function(item) {\r\n return item.dataIndex >= 0 ? item.value : item.text\r\n })).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 text = item.text;\r\n if ((0, _type.isDefined)(item.displayText)) {\r\n text = item.displayText\r\n } else if ((0, _type.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 = (0, _string.format)(options.texts.total || \"\", text)\r\n }\r\n return text\r\n }(item, 0, options)\r\n }))).done((function() {\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 (0, _m_widget_utils.foreachTree)(headerItems, (function(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.Deferred;\r\n getViewHeaderItems(headerItems, headerDescriptions, cellDescriptions, depthSize, options).done((function(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 (0, _m_widget_utils.foreachTree)(viewHeaderItems, (function(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 (0, _iterator.each)(headerFields, (function(_, headerField) {\r\n var fieldIndex = (0, _m_widget_utils.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 (0, _m_widget_utils.foreachTree)(headerItems, (function(items) {\r\n var headerItem = items[0];\r\n var path = (0, _m_widget_utils.createPath)(items);\r\n if (headerItem.children && false === options.showTotals) {\r\n return\r\n }\r\n var indexedItem = (0, _extend2.extend)(true, {}, headerItem, {\r\n visibleIndex: visibleIndex += 1,\r\n path: path\r\n });\r\n if ((0, _type.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 _m_virtual_scrolling_core.default.VirtualScrollController(component, (0, _extend2.extend)({\r\n hasKnownLastPage: function() {\r\n return true\r\n },\r\n pageCount: function() {\r\n return math.ceil(this.totalItemsCount() / this.pageSize())\r\n },\r\n updateLoading: function() {},\r\n itemsCount: function() {\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: function() {\r\n return []\r\n },\r\n viewportItems: function() {\r\n return []\r\n },\r\n onChanged: function() {},\r\n isLoading: function() {\r\n return dataController.isLoading()\r\n },\r\n changingDuration: function() {\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: function(options) {\r\n var that = this;\r\n var virtualScrollControllerChanged = that._fireChanged.bind(that);\r\n options = that._options = options || {};\r\n that.dataSourceChanged = (0, _callbacks.default)();\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: function() {\r\n return that.totalRowCount()\r\n },\r\n pageIndex: function(index) {\r\n return that.rowPageIndex(index)\r\n },\r\n pageSize: function() {\r\n return that.rowPageSize()\r\n },\r\n load: function() {\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: function() {\r\n return that.totalColumnCount()\r\n },\r\n pageIndex: function(index) {\r\n return that.columnPageIndex(index)\r\n },\r\n pageSize: function() {\r\n return that.columnPageSize()\r\n },\r\n load: function() {\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 _m_state_storing_core.default.StateStoringController(options.component).init();\r\n that._columnsInfo = [];\r\n that._rowsInfo = [];\r\n that._cellsInfo = [];\r\n that.expandValueChanging = (0, _callbacks.default)();\r\n that.loadingChanged = (0, _callbacks.default)();\r\n that.progressChanged = (0, _callbacks.default)();\r\n that.scrollChanged = (0, _callbacks.default)();\r\n that.load();\r\n that._update();\r\n that.changed = (0, _callbacks.default)()\r\n },\r\n _fireChanged: function() {\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: function(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: function(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 rowExpandedPaths = options.rowExpandedPaths;\r\n var levels = [];\r\n var expandedPathIndexes = {};\r\n var i;\r\n var j;\r\n var path;\r\n rowExpandedPaths.forEach((function(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((function(level) {\r\n return level - 1\r\n })).filter((function(level) {\r\n return level > 0\r\n }))\r\n }\r\n },\r\n _calculatePagingForColumnExpandedPaths: function(options, skips, takes, expandedSkips, expandedTakes) {\r\n var skipByPath = {};\r\n var takeByPath = {};\r\n (0, _m_virtual_columns_core.foreachColumnInfo)(this._columnsInfo, (function(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((function(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: function(options, area, storeLoadOptions, reload) {\r\n var expandedPaths = options[\"\".concat(area, \"ExpandedPaths\")];\r\n var expandedSkips = expandedPaths.map((function() {\r\n return 0\r\n }));\r\n var expandedTakes = expandedPaths.map((function() {\r\n return reload ? options.pageSize : 0\r\n }));\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: function(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 _extend;\r\n var isOppositeArea = options.area && options.area !== area;\r\n storeLoadOptions.push((0, _extend2.extend)({\r\n area: area,\r\n headerName: \"\".concat(area, \"s\")\r\n }, options, (_extend = {}, _defineProperty(_extend, \"\".concat(area, \"Skip\"), expandedSkips[i]), _defineProperty(_extend, \"\".concat(area, \"Take\"), expandedTakes[i]), _defineProperty(_extend, isOppositeArea ? \"oppositePath\" : \"path\", expandedPaths[i]), _extend)))\r\n }\r\n }\r\n },\r\n _handleCustomizeStoreLoadOptions: function(storeLoadOptions, reload) {\r\n var _this = this;\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((function(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: function() {\r\n var that = this;\r\n var stateStoringController = this._stateStoringController;\r\n if (stateStoringController.isEnabled() && !stateStoringController.isLoaded()) {\r\n stateStoringController.load().always((function(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: function(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 (0, _common.deferUpdate)((function() {\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: function(left, top) {\r\n this._rowsScrollController.setViewportPosition(top || 0);\r\n this._columnsScrollController.setViewportPosition(left || 0)\r\n },\r\n subscribeToWindowScrollEvents: function($element) {\r\n var _a;\r\n null === (_a = this._rowsScrollController) || void 0 === _a ? void 0 : _a.subscribeToWindowScrollEvents($element)\r\n },\r\n updateWindowScrollPosition: function(position) {\r\n var _a;\r\n null === (_a = this._rowsScrollController) || void 0 === _a ? void 0 : _a.scrollTo(position)\r\n },\r\n updateViewOptions: function(options) {\r\n (0, _extend2.extend)(this._options, options);\r\n this._update()\r\n },\r\n _handleExpandValueChanging: function(e) {\r\n this.expandValueChanging.fire(e)\r\n },\r\n _handleLoadingChanged: function(isLoading) {\r\n this.loadingChanged.fire(isLoading)\r\n },\r\n _handleProgressChanged: function(progress) {\r\n this.progressChanged.fire(progress)\r\n },\r\n _handleFieldsPrepared: function(e) {\r\n this._options.onFieldsPrepared && this._options.onFieldsPrepared(e)\r\n },\r\n _createDataSource: function(options) {\r\n var that = this;\r\n var dataSourceOptions = options.dataSource;\r\n var dataSource;\r\n that._isSharedDataSource = dataSourceOptions instanceof _m_data_source.PivotGridDataSource;\r\n if (that._isSharedDataSource) {\r\n dataSource = dataSourceOptions\r\n } else {\r\n dataSource = new _m_data_source.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: function() {\r\n return this._dataSource\r\n },\r\n isLoading: function() {\r\n return this._dataSource.isLoading()\r\n },\r\n beginLoading: function() {\r\n this._dataSource.beginLoading()\r\n },\r\n endLoading: function() {\r\n this._dataSource.endLoading()\r\n },\r\n _update: function() {\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 (0, _iterator.each)(dataFields, (function(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((function(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 (0, _iterator.each)(dataFields, (function(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 (!(0, _type.isDefined)(data.grandTotalRowIndex)) {\r\n data.grandTotalRowIndex = getHeaderIndexedItems(data.rows, rowOptions).length\r\n }\r\n if (!(0, _type.isDefined)(data.grandTotalColumnIndex)) {\r\n data.grandTotalColumnIndex = getHeaderIndexedItems(data.columns, columnOptions).length\r\n }\r\n dataSource._changeLoadingCount(1);\r\n (0, _deferred.when)(createHeaderInfo(data.columns, columnFields, dataFieldsForColumns, true, columnOptions), createHeaderInfo(data.rows, rowFields, dataFieldsForRows, false, rowOptions)).always((function() {\r\n dataSource._changeLoadingCount(-1)\r\n })).done((function(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((function() {\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: function(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, (function(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 = (0, _extend2.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, (function(rowInfo, visibleIndex, rowIndex, columnIndex, realColumnIndex) {\r\n var colspan = rowInfo.colspan || 1;\r\n if (realColumnIndex + colspan > maxDepth) {\r\n newRowsInfo[rowIndex][columnIndex] = (0, _extend2.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: function(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 = (0, _m_virtual_columns_core.createColumnsInfo)(info, startIndex, endIndex)\r\n }\r\n return info\r\n },\r\n totalRowCount: function() {\r\n return this._rowsInfo.length\r\n },\r\n rowPageIndex: function(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: function() {\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: function(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: function(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: function(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: function(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, (function(rowInfo, rowIndex) {\r\n var row = info[rowIndex] = [];\r\n var dataRow = dataSourceCells[rowInfo.dataSourceIndex >= 0 ? rowInfo.dataSourceIndex : data.grandTotalRowIndex] || [];\r\n rowInfo.isLast && (0, _m_virtual_columns_core.foreachColumnInfo)(columnsInfo, (function(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: function() {\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\nexports.DataController = DataController;\r\nvar DataController__internals = {\r\n NO_DATA_AVAILABLE_TEXT: NOT_AVAILABLE\r\n};\r\nexports.DataController__internals = DataController__internals;\r\nvar _default = {\r\n DataController: DataController,\r\n DataController__internals: DataController__internals\r\n};\r\nexports.default = _default;\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/pivot_grid/data_source/m_data_source.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.default = exports.PivotGridDataSource = void 0;\r\nvar _class = _interopRequireDefault(require(\"../../../../core/class\"));\r\nvar _events_strategy = require(\"../../../../core/events_strategy\");\r\nvar _array = require(\"../../../../core/utils/array\");\r\nvar _common = require(\"../../../../core/utils/common\");\r\nvar _deferred = require(\"../../../../core/utils/deferred\");\r\nvar _extend = require(\"../../../../core/utils/extend\");\r\nvar _inflector = require(\"../../../../core/utils/inflector\");\r\nvar _iterator = require(\"../../../../core/utils/iterator\");\r\nvar _type = require(\"../../../../core/utils/type\");\r\nvar _abstract_store = _interopRequireDefault(require(\"../../../../data/abstract_store\"));\r\nvar _utils = require(\"../../../../data/data_source/utils\");\r\nvar _m_local_store = require(\"../local_store/m_local_store\");\r\nvar _m_widget_utils = require(\"../m_widget_utils\");\r\nvar _m_remote_store = require(\"../remote_store/m_remote_store\");\r\nvar _m_summary_display_modes = _interopRequireDefault(require(\"../summary_display_modes/m_summary_display_modes\"));\r\nvar _m_xmla_store = _interopRequireDefault(require(\"../xmla_store/m_xmla_store\"));\r\nvar _m_data_source_utils = require(\"./m_data_source_utils\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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 ((0, _type.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 (0, _inflector.titleize)(caption) + summaryType\r\n}\r\n\r\nfunction resetFieldState(field, properties) {\r\n var initialProperties = field._initProperties || {};\r\n (0, _iterator.each)(properties, (function(_, 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 (!(0, _type.isDefined)(field.caption)) {\r\n (0, _m_widget_utils.setFieldProperty)(field, \"caption\", createCaption(field))\r\n }\r\n}\r\n\r\nfunction areExpressionsUsed(dataFields) {\r\n return dataFields.some((function(field) {\r\n return field.summaryDisplayMode || field.calculateSummaryValue\r\n }))\r\n}\r\n\r\nfunction isRunningTotalUsed(dataFields) {\r\n return dataFields.some((function(field) {\r\n return !!field.runningTotal\r\n }))\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.default.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 ((0, _type.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.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 }(0, _deferred.when)((0, _m_widget_utils.foreachTreeAsync)(headerItem.children, (function(items) {\r\n if (needIndexUpdate) {\r\n items[0].index = applyingItemIndexesToCurrent[items[0].index]\r\n }\r\n }))).done((function() {\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.Deferred;\r\n var emptyIndex = grandTotalIndex >= 0 && getHeaderItemsLastIndex(headerItems, grandTotalIndex) + 1;\r\n var applyingItemIndexesToCurrent = [];\r\n (0, _deferred.when)((0, _m_widget_utils.foreachTreeAsync)(headerItems, (function(items) {\r\n delete items[0].collapsedChildren\r\n }))).done((function() {\r\n (0, _deferred.when)((0, _m_widget_utils.foreachTreeAsync)(newHeaderItems, (function(newItems, index) {\r\n var newItem = newItems[0];\r\n if (newItem.index >= 0) {\r\n var headerItem = findHeaderItem(headerItems, (0, _m_widget_utils.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 = (0, _m_widget_utils.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((function() {\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 (!(0, _type.isDefined)(rowIndex)) {\r\n rowIndex = dataSource.grandTotalRowIndex\r\n }\r\n if (newRowCells && (0, _type.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 (!(0, _type.isDefined)(columnIndex)) {\r\n columnIndex = dataSource.grandTotalColumnIndex\r\n }\r\n if ((0, _type.isDefined)(newCell) && (0, _type.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 ? _m_remote_store.RemoteStore : _m_local_store.LocalStore;\r\n return new StoreConstructor((0, _extend.extend)((0, _utils.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 (0, _m_widget_utils.foreachTree)(dataSource[dimensionName], (function(items) {\r\n var item = items[0];\r\n var path = (0, _m_widget_utils.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 (0, _iterator.each)(properties, (function(_, 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 }(0, _m_widget_utils.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 (0, _iterator.each)(fields, (function(_, 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 (0, _iterator.each)(fields || [], (function(_, 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 (0, _iterator.each)(fields, (function(_, 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 (0, _iterator.each)(fieldsById, (function(id, fields) {\r\n ! function(stateFields, fields) {\r\n stateFields = stateFields || [];\r\n (0, _iterator.each)(fields, (function(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((function(field1, field2) {\r\n return field1.areaIndex - field2.areaIndex || field1.groupIndex - field2.groupIndex\r\n }))\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 = (0, _m_widget_utils.getFieldsDataType)(fields);\r\n if (storeFields) {\r\n (0, _iterator.each)(storeFields, (function(_, field) {\r\n fieldsDictionary[getFieldId(field, retrieveFieldsOptionValue)] = field\r\n }));\r\n (0, _iterator.each)(fields, (function(_, 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 = (0, _extend.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 (0, _iterator.each)(fieldsDictionary, (function(_, 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((function(field) {\r\n if (field.groupName && field.groupInterval && void 0 === field.groupIndex) {\r\n var maxGroupIndex = fields.filter((function(f) {\r\n return f.groupName === field.groupName && (0, _type.isNumeric)(f.groupIndex)\r\n })).map((function(f) {\r\n return f.groupIndex\r\n })).reduce((function(prev, current) {\r\n return Math.max(prev, current)\r\n }), -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.Deferred;\r\n var store = that._store;\r\n var storeFields = store && store.getFields(that._fields);\r\n var mergedFields;\r\n (0, _deferred.when)(storeFields).done((function(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 (0, _m_widget_utils.foreachTreeAsync)(data[headerName], (function(items) {\r\n var item = items[0];\r\n item.text = item.text || (0, _m_widget_utils.formatValue)(item.value, loadOptions[headerName][(0, _m_widget_utils.createPath)(items).length - 1])\r\n }))\r\n }\r\n\r\n function formatHeaders(loadOptions, data) {\r\n return (0, _deferred.when)(formatHeaderItems(data, loadOptions, \"columns\"), formatHeaderItems(data, loadOptions, \"rows\"))\r\n }\r\n\r\n function updateCache(headerItems) {\r\n var d = new _deferred.Deferred;\r\n var cacheByPath = {};\r\n (0, _deferred.when)((0, _m_widget_utils.foreachTreeAsync)(headerItems, (function(items) {\r\n var path = (0, _m_widget_utils.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 (0, _iterator.each)(fields, (function() {\r\n if (function(field, area) {\r\n var canAddFieldInArea = \"data\" === area || false !== field.visible;\r\n return field.area === area && !(0, _type.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: function(options) {\r\n var _this = this;\r\n options = options || {};\r\n this._eventsStrategy = new _events_strategy.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 ((0, _type.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 _m_xmla_store.default.XmlaStore(storeOptions)\r\n } else if ((0, _type.isPlainObject)(storeOptions) && storeOptions.type || storeOptions instanceof _abstract_store.default || Array.isArray(storeOptions)) {\r\n store = createLocalOrRemoteStore(dataSourceOptions, notifyProgress)\r\n } else if (storeOptions instanceof _class.default) {\r\n store = storeOptions\r\n }\r\n }\r\n return store\r\n }(options, (function(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 (0, _iterator.each)([\"changed\", \"loadError\", \"loadingChanged\", \"progressChanged\", \"fieldsPrepared\", \"expandValueChanging\"], (function(_, 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 = (0, _type.isDefined)(options.retrieveFields) ? options.retrieveFields : true;\r\n that._fields = options.fields || [];\r\n that._descriptions = options.descriptions ? (0, _extend.extend)(that._createDescriptions(), options.descriptions) : void 0;\r\n if (!store) {\r\n (0, _extend.extend)(true, that._data, options.store || options)\r\n }\r\n },\r\n getData: function() {\r\n return this._data\r\n },\r\n getAreaFields: function(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: function(_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: function(id, options) {\r\n var fields = this._fields;\r\n var field = fields && fields[(0, _type.isNumeric)(id) ? id : (0, _m_widget_utils.findField)(fields, id)];\r\n var levels;\r\n if (field && options) {\r\n (0, _iterator.each)(options, (function(optionName, optionValue) {\r\n var isInitialization = !STATE_PROPERTIES.includes(optionName);\r\n (0, _m_widget_utils.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: function(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((function(f) {\r\n return f !== field && f.area && f.filterValues && f.filterValues.length\r\n })) : [],\r\n skipValues: true\r\n };\r\n var searchValue;\r\n var d = new _deferred.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 (0, _iterator.each)(field.levels || [field], (function() {\r\n loadFields.push((0, _extend.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((function(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: function() {\r\n return this.load({\r\n reload: true\r\n })\r\n },\r\n filter: function() {\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.Deferred;\r\n options = options || {};\r\n that.beginLoading();\r\n d.fail((function(e) {\r\n that._eventsStrategy.fireEvent(\"loadError\", [e])\r\n })).always((function() {\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 (0, _deferred.when)(getFields(that)).done((function(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 = (0, _common.executeAsync)(loadTask)\r\n } else {\r\n loadTask()\r\n }\r\n return d\r\n },\r\n createDrillDownDataSource: function(params) {\r\n return this._store.createDrillDownDataSource(this._descriptions, params)\r\n },\r\n _createDescriptions: function(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 (0, _iterator.each)([\"row\", \"column\", \"data\", \"filter\"], (function(_, areaName) {\r\n (0, _array.normalizeIndexes)(_getAreaFields(fields, areaName), \"areaIndex\", currentField)\r\n }));\r\n (0, _iterator.each)(fields || [], (function(_, field) {\r\n var descriptionName = DESCRIPTION_NAME_BY_AREA[field.area];\r\n var dimension = descriptions[descriptionName];\r\n var groupName = field.groupName;\r\n if (groupName && !(0, _type.isNumeric)(field.groupIndex)) {\r\n field.levels = function(fields, groupingField) {\r\n return fields.filter((function(field) {\r\n return field.groupName === groupingField.groupName && (0, _type.isNumeric)(field.groupIndex) && false !== field.visible\r\n })).map((function(field) {\r\n return (0, _extend.extend)(field, {\r\n areaIndex: groupingField.areaIndex,\r\n area: groupingField.area,\r\n expanded: (0, _type.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: (0, _type.isDefined)(field.showTotals) ? field.showTotals : groupingField.showTotals,\r\n showGrandTotals: (0, _type.isDefined)(field.showGrandTotals) ? field.showGrandTotals : groupingField.showGrandTotals\r\n })\r\n })).sort((function(a, b) {\r\n return a.groupIndex - b.groupIndex\r\n }))\r\n }(fields, field)\r\n }\r\n if (!dimension || groupName && (0, _type.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 (0, _iterator.each)(descriptions, (function(_, fields) {\r\n sortFieldsByAreaIndex(fields)\r\n }));\r\n var indices = {};\r\n (0, _iterator.each)(descriptions.values, (function(_, field) {\r\n var expression = field.calculateSummaryValue;\r\n if ((0, _type.isFunction)(expression)) {\r\n var summaryCell = _m_summary_display_modes.default.createMockSummaryCell(descriptions, fields, indices);\r\n expression(summaryCell)\r\n }\r\n }));\r\n return descriptions\r\n },\r\n _fieldsPrepared: function(fields) {\r\n this._fields = fields;\r\n (0, _iterator.each)(fields, (function(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 (0, _m_widget_utils.setFieldProperty)(fields[i], \"caption\", fields[i].caption, true)\r\n }\r\n }\r\n this._descriptions = this._createDescriptions()\r\n },\r\n isLoading: function() {\r\n return this._loadingCount > 0\r\n },\r\n state: function(_state, skipLoading) {\r\n var that = this;\r\n if (arguments.length) {\r\n _state = (0, _extend.extend)({\r\n rowExpandedPaths: [],\r\n columnExpandedPaths: []\r\n }, _state);\r\n if (!that._descriptions) {\r\n that.beginLoading();\r\n (0, _deferred.when)(getFields(that)).done((function(fields) {\r\n that._fields = setFieldsState(_state.fields, fields);\r\n that._fieldsPrepared(fields);\r\n !skipLoading && that.load(_state)\r\n })).always((function() {\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: function() {\r\n this._changeLoadingCount(1)\r\n },\r\n endLoading: function() {\r\n this._changeLoadingCount(-1)\r\n },\r\n _changeLoadingCount: function(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: function(options, area, oppositeIndex) {\r\n var takeField = \"\".concat(area, \"Take\");\r\n var skipField = \"\".concat(area, \"Skip\");\r\n var values = this._data.values;\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((function(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: function(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: function(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: function(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 (0, _extend.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((function() {\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((function(options) {\r\n return !(options.rows.length && 0 === options.rowTake) && !(options.columns.length && 0 === options.columnTake)\r\n }));\r\n if (!storeLoadOptions.length) {\r\n that._update(deferred);\r\n return\r\n }\r\n var results = storeLoadOptions.map((function(options) {\r\n return store.load(options)\r\n }));\r\n _deferred.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 (0, _extend.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: function(descriptions, data, getAscOrder) {\r\n var store = this._store;\r\n if (store && !this._paginate) {\r\n (0, _m_data_source_utils.sort)(descriptions, data, getAscOrder)\r\n }\r\n },\r\n sortLocal: function() {\r\n this._sort(this._descriptions, this._data);\r\n this._eventsStrategy.fireEvent(\"changed\")\r\n },\r\n paginate: function() {\r\n return this._paginate && this._store && this._store.supportPaging()\r\n },\r\n isEmpty: function() {\r\n var dataFields = this.getAreaFields(\"data\").filter((function(f) {\r\n return false !== f.visible\r\n }));\r\n var data = this.getData();\r\n return !dataFields.length || !data.values.length\r\n },\r\n _update: function(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 (0, _deferred.when)(formatHeaders(descriptions, loadedData), updateCache(loadedData.rows), updateCache(loadedData.columns)).done((function() {\r\n if (expressionsUsed) {\r\n that._sort(descriptions, loadedData, expressionsUsed);\r\n !that.isEmpty() && _m_summary_display_modes.default.applyDisplaySummaryMode(descriptions, loadedData)\r\n }\r\n that._sort(descriptions, loadedData);\r\n !that.isEmpty() && isRunningTotalUsed(dataFields) && _m_summary_display_modes.default.applyRunningTotal(descriptions, loadedData);\r\n that._data = loadedData;\r\n false !== deferred && (0, _deferred.when)(deferred).done((function() {\r\n that._isFieldsModified = false;\r\n that._eventsStrategy.fireEvent(\"changed\");\r\n if ((0, _type.isDefined)(that._data.grandTotalRowIndex)) {\r\n loadedData.grandTotalRowIndex = that._data.grandTotalRowIndex\r\n }\r\n if ((0, _type.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: function() {\r\n return this._store\r\n },\r\n collapseHeaderItem: function(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: function(id) {\r\n var _this2 = this;\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((function(f) {\r\n areaOffsets.push(_this2.getAreaFields(field.area).indexOf(f));\r\n f.expanded = false\r\n }))\r\n }(0, _m_widget_utils.foreachTree)(this._data[\"\".concat(field.area, \"s\")], (function(items) {\r\n var item = items[0];\r\n var path = (0, _m_widget_utils.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: function(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((function(f) {\r\n f.expanded = true\r\n }))\r\n }\r\n this.load()\r\n }\r\n },\r\n expandHeaderItem: function(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: function(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 (0, _deferred.when)(newRowItemIndexesToCurrent, newColumnItemIndexesToCurrent).done((function(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: function(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 }(0, _deferred.when)(newRowItemIndexesToCurrent, newColumnItemIndexesToCurrent).done((function(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: function(eventName, eventHandler) {\r\n this._eventsStrategy.on(eventName, eventHandler);\r\n return this\r\n },\r\n off: function(eventName, eventHandler) {\r\n this._eventsStrategy.off(eventName, eventHandler);\r\n return this\r\n },\r\n dispose: function() {\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: function() {\r\n return !!this._isDisposed\r\n }\r\n }\r\n}());\r\nexports.PivotGridDataSource = PivotGridDataSource;\r\nvar _default = {\r\n PivotGridDataSource: PivotGridDataSource\r\n};\r\nexports.default = _default;\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/pivot_grid/data_source/m_data_source_utils.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.default = void 0;\r\nexports.sort = sort;\r\nvar _iterator = require(\"../../../../core/utils/iterator\");\r\nvar _type = require(\"../../../../core/utils/type\");\r\nvar _m_widget_utils = require(\"../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 (0, _m_widget_utils.foreachDataLevel)(dataSource[dimensionName], (function(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 } : (0, _m_widget_utils.getCompareFunction)((function(item) {\r\n return item[sortBy]\r\n }));\r\n var summaryValueSelector = !getAscOrder && getFieldSummaryValueSelector(field, dataSource, loadOptions, dimensionName);\r\n var summaryCompare = summaryValueSelector && (0, _m_widget_utils.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 values = dataSource.values;\r\n var sortBySummaryFieldIndex = (0, _m_widget_utils.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 && (0, _type.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 (0, _type.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 (0, _m_widget_utils.foreachTree)(items, (function(items) {\r\n var item = items[0];\r\n var itemPath = (0, _m_widget_utils.createPath)(items).join(\".\");\r\n var textPath = (0, _iterator.map)(items, (function(item) {\r\n return item.text\r\n })).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\nvar _default = {\r\n sort: sort\r\n};\r\nexports.default = _default;\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/pivot_grid/export/m_export.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.default = exports.PivotGridExport = exports.ExportController = exports.DataProvider = void 0;\r\nvar _class = _interopRequireDefault(require(\"../../../../core/class\"));\r\nvar _deferred = require(\"../../../../core/utils/deferred\");\r\nvar _extend = require(\"../../../../core/utils/extend\");\r\nvar _iterator = require(\"../../../../core/utils/iterator\");\r\nvar _position = require(\"../../../../core/utils/position\");\r\nvar _type = require(\"../../../../core/utils/type\");\r\nvar _window = require(\"../../../../core/utils/window\");\r\nvar _format_helper = _interopRequireDefault(require(\"../../../../format_helper\"));\r\nvar _number = _interopRequireDefault(require(\"../../../../localization/number\"));\r\nvar _m_export = require(\"../../../grids/grid_core/m_export\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _toConsumableArray(arr) {\r\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread()\r\n}\r\n\r\nfunction _nonIterableSpread() {\r\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _unsupportedIterableToArray(o, minLen) {\r\n if (!o) {\r\n return\r\n }\r\n if (\"string\" === typeof o) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n var n = Object.prototype.toString.call(o).slice(8, -1);\r\n if (\"Object\" === n && o.constructor) {\r\n n = o.constructor.name\r\n }\r\n if (\"Map\" === n || \"Set\" === n) {\r\n return Array.from(o)\r\n }\r\n if (\"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n}\r\n\r\nfunction _iterableToArray(iter) {\r\n if (\"undefined\" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter[\"@@iterator\"]) {\r\n return Array.from(iter)\r\n }\r\n}\r\n\r\nfunction _arrayWithoutHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return _arrayLikeToArray(arr)\r\n }\r\n}\r\n\r\nfunction _arrayLikeToArray(arr, len) {\r\n if (null == len || len > arr.length) {\r\n len = arr.length\r\n }\r\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\r\n arr2[i] = arr[i]\r\n }\r\n return arr2\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\nvar DEFAULT_DATA_TYPE = \"string\";\r\nvar DEFAUL_COLUMN_WIDTH = 100;\r\nvar ExportController = {\r\n exportTo: function() {\r\n var onExporting = this._createActionByOption(\"onExporting\");\r\n var eventArgs = {\r\n rtlEnabled: this.option(\"rtlEnabled\"),\r\n fileName: \"PivotGrid\",\r\n cancel: false\r\n };\r\n (0, _type.isFunction)(onExporting) && onExporting(eventArgs)\r\n },\r\n _getLength: function(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: function(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: function(columnsRow) {\r\n var result = 0;\r\n for (var columnIndex = 0; columnIndex < columnsRow.length; columnIndex += 1) {\r\n result += (0, _type.isDefined)(columnsRow[columnIndex].colspan) ? columnsRow[columnIndex].colspan : 1\r\n }\r\n return result\r\n },\r\n _getEmptyCell: function() {\r\n return {\r\n text: \"\",\r\n value: void 0,\r\n colspan: 1,\r\n rowspan: 1\r\n }\r\n },\r\n _getAllItems: function(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((function(headerRowWithColumns) {\r\n return headerRowWithColumns.filter((function(row) {\r\n return !row.expanded\r\n })).length\r\n })).reduce((function(result, collapsedCount) {\r\n return result + collapsedCount\r\n }), 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 (!(0, _type.isDefined)(sourceItems[rowIndex + headerRowsCount])) {\r\n sourceItems[rowIndex + headerRowsCount] = []\r\n }\r\n sourceItems[rowIndex + headerRowsCount].splice(0, 0, (0, _extend.extend)({}, rowsInfoItems[rowIndex][cellIndex]))\r\n }\r\n }\r\n sourceItems[0].splice(0, 0, (0, _extend.extend)({}, this._getEmptyCell(), {\r\n alignment: (0, _position.getDefaultAlignment)(this._options.rtlEnabled),\r\n colspan: rowsLength,\r\n rowspan: headerRowsCount\r\n }));\r\n return (0, _m_export.prepareItems)(sourceItems, this._getEmptyCell())\r\n },\r\n getDataProvider: function() {\r\n return new DataProvider(this)\r\n }\r\n};\r\nexports.ExportController = ExportController;\r\nvar DataProvider = _class.default.inherit({\r\n ctor: function(exportController) {\r\n this._exportController = exportController\r\n },\r\n ready: function() {\r\n this._initOptions();\r\n var options = this._options;\r\n return (0, _deferred.when)(options.items).done((function(items) {\r\n var headerSize = items[0][0].rowspan;\r\n var columns = items[headerSize - 1];\r\n (0, _iterator.each)(columns, (function(_, 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: function() {\r\n var exportController = this._exportController;\r\n var dataController = exportController._dataController;\r\n var items = new _deferred.Deferred;\r\n dataController.beginLoading();\r\n setTimeout((function() {\r\n var columnsInfo = (0, _extend.extend)(true, [], dataController.getColumnsInfo(true));\r\n var rowsInfoItems = (0, _extend.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 rowsArea: exportController._rowsArea,\r\n columnsArea: exportController._columnsArea\r\n }\r\n },\r\n getColumns: function() {\r\n return this._options.columns\r\n },\r\n getColumnsWidths: function() {\r\n var colsArea = this._options.columnsArea;\r\n var rowsArea = this._options.rowsArea;\r\n var columns = this._options.columns;\r\n var useDefaultWidth = !(0, _window.hasWindow)() || \"virtual\" === colsArea.option(\"scrolling.mode\") || colsArea.element().is(\":hidden\");\r\n return useDefaultWidth ? columns.map((function() {\r\n return DEFAUL_COLUMN_WIDTH\r\n })) : rowsArea.getColumnsWidth().concat(colsArea.getColumnsWidth())\r\n },\r\n getRowsCount: function() {\r\n return this._options.items.length\r\n },\r\n getGroupLevel: function() {\r\n return 0\r\n },\r\n getCellMerging: function(rowIndex, cellIndex) {\r\n var items = this._options.items;\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: function() {\r\n return {\r\n x: this.getRowAreaColCount(),\r\n y: this.getColumnAreaRowCount()\r\n }\r\n },\r\n getCellType: function(rowIndex, cellIndex) {\r\n var style = this.getStyles()[this.getStyleId(rowIndex, cellIndex)];\r\n return style && style.dataType || \"string\"\r\n },\r\n getCellData: function(rowIndex, cellIndex, isExcelJS) {\r\n var result = {};\r\n var items = this._options.items;\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: function(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 ((0, _type.isDefined)(item.dataIndex)) {\r\n return \"data\"\r\n }\r\n return\r\n },\r\n isRowAreaCell: function(rowIndex, cellIndex) {\r\n return rowIndex >= this.getColumnAreaRowCount() && cellIndex < this.getRowAreaColCount()\r\n },\r\n isColumnAreaCell: function(rowIndex, cellIndex) {\r\n return cellIndex >= this.getRowAreaColCount() && rowIndex < this.getColumnAreaRowCount()\r\n },\r\n getColumnAreaRowCount: function() {\r\n return this._options.items[0][0].rowspan\r\n },\r\n getRowAreaColCount: function() {\r\n return this._options.items[0][0].colspan\r\n },\r\n getHeaderStyles: function() {\r\n return [{\r\n alignment: \"center\",\r\n dataType: \"string\"\r\n }, {\r\n alignment: (0, _position.getDefaultAlignment)(this._options.rtlEnabled),\r\n dataType: \"string\"\r\n }]\r\n },\r\n getDataFieldStyles: function() {\r\n var _this = this;\r\n var dataFields = this._options.dataFields;\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((function(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: function() {\r\n if (this._styles) {\r\n return this._styles\r\n }\r\n this._styles = [].concat(_toConsumableArray(this.getHeaderStyles()), _toConsumableArray(this.getDataFieldStyles()));\r\n return this._styles\r\n },\r\n getCellDataType: function(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 === _number.default.parse(_format_helper.default.format(1, field.format))) {\r\n return \"number\"\r\n }\r\n if (_format_helper.default.format(new Date, field.format)) {\r\n return \"date\"\r\n }\r\n }\r\n return DEFAULT_DATA_TYPE\r\n },\r\n getStyleId: function(rowIndex, cellIndex) {\r\n var items = this._options.items;\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});\r\nexports.DataProvider = DataProvider;\r\nvar PivotGridExport = {\r\n DEFAUL_COLUMN_WIDTH: DEFAUL_COLUMN_WIDTH\r\n};\r\nexports.PivotGridExport = PivotGridExport;\r\nvar _default = {\r\n ExportController: ExportController,\r\n PivotGridExport: PivotGridExport,\r\n DataProvider: DataProvider\r\n};\r\nexports.default = _default;\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/pivot_grid/field_chooser/const.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.SORT_ORDER = exports.SORTABLE_CONST = exports.ICONS = exports.CLASSES = exports.ATTRIBUTES = void 0;\r\nvar ATTRIBUTES = {\r\n treeViewItem: \"tree-view-item\",\r\n allowScrolling: \"allow-scrolling\",\r\n itemGroup: \"item-group\"\r\n};\r\nexports.ATTRIBUTES = ATTRIBUTES;\r\nvar 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\nexports.CLASSES = CLASSES;\r\nvar ICONS = {\r\n measure: \"measure\",\r\n hierarchy: \"hierarchy\",\r\n dimension: \"dimension\"\r\n};\r\nexports.ICONS = ICONS;\r\nvar SORTABLE_CONST = {\r\n targets: {\r\n drag: \"drag\"\r\n }\r\n};\r\nexports.SORTABLE_CONST = SORTABLE_CONST;\r\nvar SORT_ORDER = {\r\n descending: \"desc\",\r\n ascending: \"asc\"\r\n};\r\nexports.SORT_ORDER = SORT_ORDER;\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/pivot_grid/field_chooser/dom.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.dragAndDropItemRender = dragAndDropItemRender;\r\nvar _renderer = _interopRequireDefault(require(\"../../../../core/renderer\"));\r\nvar _size = require(\"../../../../core/utils/size\");\r\nvar _const = require(\"./const\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction getTreeViewItem($sourceItem) {\r\n return $sourceItem.clone().addClass(_const.CLASSES.area.box).css(\"width\", parseFloat((0, _size.getOuterWidth)($sourceItem)))\r\n}\r\n\r\nfunction getAreaBoxItemArray($sourceItem, target) {\r\n var $itemArray = $sourceItem.clone();\r\n if (target === _const.SORTABLE_CONST.targets.drag) {\r\n $sourceItem.each((function(idx, sourceItem) {\r\n var width = parseFloat((0, _size.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 (0, _renderer.default)(\"
    \").addClass(_const.CLASSES.area.field).addClass(_const.CLASSES.area.box).text($sourceItem.text())\r\n}\r\n\r\nfunction getItemArray($sourceItem, target) {\r\n var isAreaBox = $sourceItem.hasClass(_const.CLASSES.area.box);\r\n var isTreeList = $sourceItem.attr(_const.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 = (0, _renderer.default)(\"
    \");\r\n $itemArray.each((function(_, item) {\r\n var $wrappedItem = (0, _renderer.default)(\"
    \").addClass(_const.CLASSES.pivotGrid.fieldsContainer).addClass(_const.CLASSES.widget).append((0, _renderer.default)(item));\r\n $wrappedTmpContainer.append($wrappedItem);\r\n return true\r\n }));\r\n return $wrappedTmpContainer.children()\r\n}\r\n\r\nfunction dragAndDropItemRender($sourceItem, target) {\r\n var $itemArray = getItemArray($sourceItem, target);\r\n if (target === _const.SORTABLE_CONST.targets.drag) {\r\n return wrapItemsInFieldsContainer($itemArray)\r\n }\r\n return $itemArray\r\n}\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/pivot_grid/field_chooser/m_field_chooser.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.default = exports.FieldChooser = void 0;\r\nrequire(\"../data_source/m_data_source\");\r\nvar _component_registrator = _interopRequireDefault(require(\"../../../../core/component_registrator\"));\r\nvar _renderer = _interopRequireDefault(require(\"../../../../core/renderer\"));\r\nvar _extend = require(\"../../../../core/utils/extend\");\r\nvar _icon = require(\"../../../../core/utils/icon\");\r\nvar _iterator = require(\"../../../../core/utils/iterator\");\r\nvar _type = require(\"../../../../core/utils/type\");\r\nvar _window = require(\"../../../../core/utils/window\");\r\nvar _message = _interopRequireDefault(require(\"../../../../localization/message\"));\r\nvar _context_menu = _interopRequireDefault(require(\"../../../../ui/context_menu\"));\r\nvar _tree_view = _interopRequireDefault(require(\"../../../../ui/tree_view\"));\r\nvar _m_widget_utils = require(\"../m_widget_utils\");\r\nvar _const = require(\"./const\");\r\nvar _m_field_chooser_base = require(\"./m_field_chooser_base\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar DIV = \"
    \";\r\nvar hasWindow = (0, _window.hasWindow)();\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 ((0, _type.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}, (0, _m_widget_utils.getCompareFunction)((function(item) {\r\n return item.text\r\n}))];\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(_const.CLASSES.scrollable.self)).dxScrollable(\"instance\")\r\n}\r\nvar FieldChooser = _m_field_chooser_base.FieldChooserBase.inherit({\r\n _getDefaultOptions: function() {\r\n return (0, _extend.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: _message.default.format(\"dxPivotGrid-columnFields\"),\r\n rowFields: _message.default.format(\"dxPivotGrid-rowFields\"),\r\n dataFields: _message.default.format(\"dxPivotGrid-dataFields\"),\r\n filterFields: _message.default.format(\"dxPivotGrid-filterFields\"),\r\n allFields: _message.default.format(\"dxPivotGrid-allFields\")\r\n }\r\n })\r\n },\r\n _refreshDataSource: function() {\r\n var that = this;\r\n that._expandedPaths = [];\r\n that._changedHandler = that._changedHandler || function() {\r\n (0, _iterator.each)(that._dataChangedHandlers, (function(_, 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: function() {\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: function() {\r\n this._disposeDataSource();\r\n this.callBase.apply(this, arguments)\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this._refreshDataSource();\r\n this._dataChangedHandlers = [];\r\n this._initActions()\r\n },\r\n _initActions: function() {\r\n this._actions = {\r\n onContextMenuPreparing: this._createActionByOption(\"onContextMenuPreparing\")\r\n }\r\n },\r\n _trigger: function(eventName, eventArg) {\r\n this._actions[eventName](eventArg)\r\n },\r\n _setOptionsByReference: function() {\r\n this.callBase();\r\n (0, _extend.extend)(this._optionsByReference, {\r\n dataSource: true\r\n })\r\n },\r\n _optionChanged: function(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: function(skipStateSetting) {\r\n !skipStateSetting && this._dataSource && this.option(\"state\", this._dataSource.state());\r\n this.$element().children(\".\".concat(_const.CLASSES.fieldChooser.container)).remove()\r\n },\r\n _renderLayout0: function($container) {\r\n $container.addClass(_const.CLASSES.layout.zero);\r\n var $row1 = (0, _renderer.default)(DIV).addClass(_const.CLASSES.row).appendTo($container);\r\n var $row2 = (0, _renderer.default)(DIV).addClass(_const.CLASSES.row).appendTo($container);\r\n var $col1 = (0, _renderer.default)(DIV).addClass(_const.CLASSES.col).appendTo($row1);\r\n var $col2 = (0, _renderer.default)(DIV).addClass(_const.CLASSES.col).appendTo($row1);\r\n var $col3 = (0, _renderer.default)(DIV).addClass(_const.CLASSES.col).appendTo($row2);\r\n var $col4 = (0, _renderer.default)(DIV).addClass(_const.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: function($container) {\r\n var $col1 = (0, _renderer.default)(DIV).addClass(_const.CLASSES.col).appendTo($container);\r\n var $col2 = (0, _renderer.default)(DIV).addClass(_const.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: function($container) {\r\n $container.addClass(_const.CLASSES.layout.second);\r\n var $row1 = (0, _renderer.default)(DIV).addClass(_const.CLASSES.row).appendTo($container);\r\n this._renderArea($row1, \"all\");\r\n var $row2 = (0, _renderer.default)(DIV).addClass(_const.CLASSES.row).appendTo($container);\r\n var $col1 = (0, _renderer.default)(DIV).addClass(_const.CLASSES.col).appendTo($row2);\r\n var $col2 = (0, _renderer.default)(DIV).addClass(_const.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: function() {\r\n var $element = this.$element();\r\n var $container = (0, _renderer.default)(DIV).addClass(_const.CLASSES.fieldChooser.container).appendTo($element);\r\n var layout = this.option(\"layout\");\r\n this.callBase();\r\n $element.addClass(_const.CLASSES.fieldChooser.self).addClass(_const.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: function() {\r\n this.callBase();\r\n this.renderSortable();\r\n this._renderContextMenu();\r\n this.updateDimensions()\r\n },\r\n _fireContentReadyAction: function() {\r\n if (!this._dataSource || !this._dataSource.isLoading()) {\r\n this.callBase()\r\n }\r\n },\r\n _getContextMenuArgs: function(dxEvent) {\r\n var targetFieldElement = (0, _renderer.default)(dxEvent.target).closest(\".\".concat(_const.CLASSES.area.field));\r\n var targetGroupElement = (0, _renderer.default)(dxEvent.target).closest(\".\".concat(_const.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: function() {\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((0, _renderer.default)(DIV).appendTo($container), _context_menu.default, {\r\n onPositioning: function(actionArgs) {\r\n var event = actionArgs.event;\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: function(params) {\r\n params.itemData.onItemClick && params.itemData.onItemClick(params)\r\n },\r\n cssClass: _const.CLASSES.fieldChooser.contextMenu\r\n })\r\n },\r\n _createTreeItems: function(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 (0, _iterator.each)(fields, (function(_, field) {\r\n var icon;\r\n if (true === field.isMeasure) {\r\n icon = _const.ICONS.measure\r\n }\r\n if (false === field.isMeasure) {\r\n icon = field.groupName ? _const.ICONS.hierarchy : _const.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: (0, _type.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 (0, _iterator.each)(fields, (function(_, 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 (0, _iterator.each)(fieldsByGroup, (function(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: function(dataSource) {\r\n var fields = dataSource && dataSource.fields() || [];\r\n fields = fields.filter((function(field) {\r\n return false !== field.visible && !(0, _type.isDefined)(field.groupIndex)\r\n }));\r\n var treeItems = this._createTreeItems(fields, [\"dimension\", \"displayFolder\"]);\r\n (0, _m_widget_utils.foreachDataLevel)(treeItems, (function(items) {\r\n items.sort(compareItems)\r\n }), 0, \"items\");\r\n return treeItems\r\n },\r\n _renderFieldsTreeView: function(container) {\r\n var that = this;\r\n var dataSource = that._dataSource;\r\n var treeView = that._createComponent(container, _tree_view.default, {\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: function(itemData, itemIndex, itemElement) {\r\n var _a;\r\n var $item = (0, _renderer.default)(\"
    \").toggleClass(_const.CLASSES.area.field, !itemData.items).attr(_const.ATTRIBUTES.treeViewItem, true).data(\"field\", itemData.field).appendTo(itemElement);\r\n if (itemData.icon) {\r\n null === (_a = (0, _icon.getImageContainer)(itemData.icon)) || void 0 === _a ? void 0 : _a.appendTo($item)\r\n }(0, _renderer.default)(\"\").text(itemData.text).appendTo($item)\r\n },\r\n onItemCollapsed: function(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: function(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: function(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((function() {\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, (function(item) {\r\n return item.isDefault\r\n })) || getFirstItem(data, (function(item) {\r\n return (0, _type.isDefined)(item.index)\r\n }));\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: function($container, area) {\r\n var that = this;\r\n var dataSource = that._dataSource;\r\n var fields = dataSource ? (0, _extend.extend)(true, [], dataSource.getAreaFields(area, true)) : [];\r\n $container.empty();\r\n (0, _iterator.each)(fields, (function(_, field) {\r\n if (false !== field.visible) {\r\n that.renderField(field, true).appendTo($container)\r\n }\r\n }))\r\n },\r\n _renderArea: function(container, area) {\r\n var that = this;\r\n var $areaContainer = (0, _renderer.default)(DIV).addClass(_const.CLASSES.area.self).appendTo(container);\r\n var $fieldsHeaderContainer = (0, _renderer.default)(DIV).addClass(_const.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 (0, _renderer.default)(\"\").addClass(_const.CLASSES.area.icon).addClass(\"dx-area-icon-\".concat(area)).appendTo($fieldsHeaderContainer);\r\n (0, _renderer.default)(\"\").html(\" \").appendTo($fieldsHeaderContainer);\r\n (0, _renderer.default)(\"\").addClass(_const.CLASSES.area.caption).text(caption).appendTo($fieldsHeaderContainer);\r\n var $fieldsContainer = (0, _renderer.default)(DIV).addClass(_const.CLASSES.area.fieldList).addClass(_const.CLASSES.pivotGrid.dragAction).appendTo($areaContainer);\r\n if (\"all\" !== area) {\r\n $fieldsContainer.attr(\"group\", area).attr(_const.ATTRIBUTES.allowScrolling, true);\r\n $fieldsContent = (0, _renderer.default)(DIV).addClass(_const.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(_const.CLASSES.allFields);\r\n $fieldsContainer.addClass(_const.CLASSES.treeView.borderVisible);\r\n that._renderFieldsTreeView($fieldsContainer)\r\n }\r\n },\r\n _getSortableOptions: function() {\r\n return {}\r\n },\r\n _adjustSortableOnChangedArgs: function() {},\r\n resetTreeView: function() {\r\n var treeView = this.$element().find(\".\".concat(_const.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: function() {\r\n var state = this.option(\"state\");\r\n if ((0, _type.isDefined)(state)) {\r\n this._dataSource.state(state)\r\n }\r\n },\r\n cancelChanges: function() {\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: function() {\r\n return this._dataSource\r\n },\r\n updateDimensions: function() {\r\n var $scrollableElements = this.$element().find(\".\".concat(_const.CLASSES.area.self, \" .\").concat(_const.CLASSES.scrollable.self));\r\n $scrollableElements.dxScrollable(\"update\")\r\n },\r\n _visibilityChanged: function(visible) {\r\n if (visible && hasWindow) {\r\n this.updateDimensions()\r\n }\r\n }\r\n});\r\nexports.FieldChooser = FieldChooser;\r\n(0, _component_registrator.default)(\"dxPivotGridFieldChooser\", FieldChooser);\r\nvar _default = {\r\n FieldChooser: FieldChooser\r\n};\r\nexports.default = _default;\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/pivot_grid/field_chooser/m_field_chooser_base.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.default = exports.FieldChooserBase = void 0;\r\nvar _component_registrator = _interopRequireDefault(require(\"../../../../core/component_registrator\"));\r\nvar _renderer = _interopRequireDefault(require(\"../../../../core/renderer\"));\r\nvar _common = require(\"../../../../core/utils/common\");\r\nvar _deferred = require(\"../../../../core/utils/deferred\");\r\nvar _extend = require(\"../../../../core/utils/extend\");\r\nvar _iterator = require(\"../../../../core/utils/iterator\");\r\nvar _type = require(\"../../../../core/utils/type\");\r\nvar _array_store = _interopRequireDefault(require(\"../../../../data/array_store\"));\r\nvar _click = require(\"../../../../events/click\");\r\nvar _events_engine = _interopRequireDefault(require(\"../../../../events/core/events_engine\"));\r\nvar _message = _interopRequireDefault(require(\"../../../../localization/message\"));\r\nvar _ui = _interopRequireDefault(require(\"../../../../ui/widget/ui.widget\"));\r\nvar _m_column_state_mixin = _interopRequireDefault(require(\"../../../grids/grid_core/column_state_mixin/m_column_state_mixin\"));\r\nvar _m_header_filter_core = require(\"../../../grids/grid_core/header_filter/m_header_filter_core\");\r\nvar _m_utils = _interopRequireDefault(require(\"../../../grids/grid_core/m_utils\"));\r\nvar _m_sorting_mixin = _interopRequireDefault(require(\"../../../grids/grid_core/sorting/m_sorting_mixin\"));\r\nvar _m_widget_utils = require(\"../m_widget_utils\");\r\nvar _m_sortable = require(\"../sortable/m_sortable\");\r\nvar _const = require(\"./const\");\r\nvar _dom = require(\"./dom\");\r\nvar _utils = require(\"./utils\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar DIV = \"
    \";\r\nvar HeaderFilterView = _m_header_filter_core.HeaderFilterView.inherit({\r\n _getSearchExpr: function(options, headerFilterOptions) {\r\n options.useDefaultSearchExpr = true;\r\n return this.callBase(options, headerFilterOptions)\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 (0, _iterator.each)(field.filterValues, (function(_, filterValue) {\r\n filterValues.push(Array.isArray(filterValue) ? filterValue.join(\"/\") : filterValue && filterValue.valueOf())\r\n }))\r\n }(0, _m_widget_utils.foreachTree)(groupItems, (function(items) {\r\n var item = items[0];\r\n var path = (0, _m_widget_utils.createPath)(items);\r\n var preparedFilterValueByText = isTree ? (0, _iterator.map)(items, (function(item) {\r\n return item.text\r\n })).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 }(0, _m_header_filter_core.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 ((0, _type.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 = _ui.default.inherit(_m_column_state_mixin.default).inherit(_m_sorting_mixin.default).inherit(_m_header_filter_core.headerFilterMixin).inherit({\r\n _getDefaultOptions: function() {\r\n return (0, _extend.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 allowSelectAll: true,\r\n showRelevantValues: false,\r\n search: {\r\n enabled: false,\r\n timeout: 500,\r\n editorOptions: {},\r\n mode: \"contains\"\r\n },\r\n texts: {\r\n emptyValue: _message.default.format(\"dxDataGrid-headerFilterEmptyValue\"),\r\n ok: _message.default.format(\"dxDataGrid-headerFilterOK\"),\r\n cancel: _message.default.format(\"dxDataGrid-headerFilterCancel\")\r\n }\r\n },\r\n remoteSort: false\r\n })\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this._headerFilterView = new HeaderFilterView(this);\r\n this._refreshDataSource();\r\n this.subscribeToEvents();\r\n _m_utils.default.logHeaderFilterDeprecatedWarningIfNeed(this)\r\n },\r\n _refreshDataSource: function() {\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: function(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: function(field, showColumnLines) {\r\n var $fieldContent = (0, _renderer.default)(DIV).addClass(_const.CLASSES.area.fieldContent).text(field.caption || field.dataField);\r\n var $fieldElement = (0, _renderer.default)(DIV).addClass(_const.CLASSES.area.field).addClass(_const.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(_const.ATTRIBUTES.itemGroup, field.groupName)\r\n }\r\n return $fieldElement\r\n },\r\n _clean: function() {},\r\n _render: function() {\r\n this.callBase();\r\n this._headerFilterView.render(this.$element())\r\n },\r\n renderSortable: function() {\r\n var that = this;\r\n that._createComponent(that.$element(), _m_sortable.Sortable, (0, _extend.extend)({\r\n allowDragging: that.option(\"allowFieldDragging\"),\r\n itemSelector: \".\".concat(_const.CLASSES.area.field),\r\n itemContainerSelector: \".\".concat(_const.CLASSES.area.fieldContainer),\r\n groupSelector: \".\".concat(_const.CLASSES.area.fieldList),\r\n groupFilter: function() {\r\n var dataSource = that._dataSource;\r\n var $sortable = (0, _renderer.default)(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: _dom.dragAndDropItemRender,\r\n onDragging: function(e) {\r\n var field = e.sourceElement.data(\"field\");\r\n var targetGroup = e.targetGroup;\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: function(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 targetIndex = e.targetIndex;\r\n var mainGroupField;\r\n var invisibleFieldsIndexOffset = 0;\r\n that._processDemandState((function(dataSource) {\r\n var fields = dataSource.getAreaFields(field.area, true);\r\n mainGroupField = getMainGroupField(dataSource, field);\r\n var visibleFields = fields.filter((function(f) {\r\n return false !== f.visible\r\n }));\r\n var fieldBeforeTarget = visibleFields[targetIndex - 1];\r\n if (fieldBeforeTarget) {\r\n invisibleFieldsIndexOffset = fields.filter((function(f) {\r\n return false === f.visible && f.areaIndex <= fieldBeforeTarget.areaIndex\r\n })).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: function(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: function(fields, props) {\r\n var that = this;\r\n that._processDemandState((function(dataSource, isInstantlyMode) {\r\n fields.forEach((function(_ref) {\r\n var index = _ref.index;\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: function(fieldIdx, sortOrder) {\r\n this._processDemandState((function(dataSource) {\r\n dataSource.field(fieldIdx, {\r\n sortOrder: sortOrder\r\n });\r\n dataSource.sortLocal()\r\n }))\r\n },\r\n _adjustSortableOnChangedArgs: function(e) {\r\n e.removeSourceElement = false;\r\n e.removeTargetElement = true;\r\n e.removeSourceClass = false\r\n },\r\n _getSortableOptions: function() {\r\n return {\r\n direction: \"auto\"\r\n }\r\n },\r\n subscribeToEvents: function(element) {\r\n var that = this;\r\n var func = function(e) {\r\n var field = (0, _renderer.default)(e.currentTarget).data(\"field\");\r\n var mainGroupField = (0, _extend.extend)(true, {}, getMainGroupField(that._dataSource, field));\r\n var isHeaderFilter = (0, _renderer.default)(e.target).hasClass(_const.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((0, _renderer.default)(e.currentTarget), (0, _extend.extend)(mainGroupField, {\r\n type: type,\r\n encodeHtml: that.option(\"encodeHtml\"),\r\n dataSource: {\r\n useDefaultSearch: !paginate,\r\n load: function(options) {\r\n var userData = options.userData;\r\n if (userData.store) {\r\n return userData.store.load(options)\r\n }\r\n var d = new _deferred.Deferred;\r\n dataSource.getFieldValues(mainGroupField.index, that.option(\"headerFilter.showRelevantValues\"), paginate ? options : void 0).done((function(data) {\r\n var emptyValue = that.option(\"headerFilter.texts.emptyValue\");\r\n data.forEach((function(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 _array_store.default(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: function(data) {\r\n processItems(data, mainGroupField);\r\n return data\r\n }\r\n },\r\n apply: function() {\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 = (0, _utils.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 _events_engine.default.on(element, _click.name, \".\".concat(_const.CLASSES.area.field, \".\").concat(_const.CLASSES.area.box), func);\r\n return\r\n }\r\n _events_engine.default.on(that.$element(), _click.name, \".\".concat(_const.CLASSES.area.field, \".\").concat(_const.CLASSES.area.box), func)\r\n },\r\n _initTemplates: _common.noop,\r\n addWidgetPrefix: function(className) {\r\n return \"dx-pivotgrid-\".concat(className)\r\n }\r\n});\r\nexports.FieldChooserBase = FieldChooserBase;\r\n(0, _component_registrator.default)(\"dxPivotGridFieldChooserBase\", FieldChooserBase);\r\nvar _default = {\r\n FieldChooserBase: FieldChooserBase\r\n};\r\nexports.default = _default;\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/pivot_grid/field_chooser/utils.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.reverseSortOrder = void 0;\r\nvar _const = require(\"./const\");\r\nvar reverseSortOrder = function(sortOrder) {\r\n return sortOrder === _const.SORT_ORDER.descending ? _const.SORT_ORDER.ascending : _const.SORT_ORDER.descending\r\n};\r\nexports.reverseSortOrder = reverseSortOrder;\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/pivot_grid/fields_area/m_fields_area.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.default = exports.FieldsArea = void 0;\r\nrequire(\"../field_chooser/m_field_chooser_base\");\r\nvar _renderer = _interopRequireDefault(require(\"../../../../core/renderer\"));\r\nvar _common = require(\"../../../../core/utils/common\");\r\nvar _iterator = require(\"../../../../core/utils/iterator\");\r\nvar _style = require(\"../../../../core/utils/style\");\r\nvar _button = _interopRequireDefault(require(\"../../../../ui/button\"));\r\nvar _ui = _interopRequireDefault(require(\"../../../../ui/popup/ui.popup\"));\r\nvar _m_area_item = require(\"../area_item/m_area_item\");\r\nvar _m_widget_utils = require(\"../m_widget_utils\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar 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 (0, _renderer.default)(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 (0, _renderer.default)(DIV).addClass(\"dx-group-connector\").addClass(\"dx-group-connector-next\").appendTo($container)\r\n }\r\n}\r\nvar FieldsArea = _m_area_item.AreaItem.inherit({\r\n ctor: function(component, area) {\r\n this.callBase(component);\r\n this._area = area\r\n },\r\n _getAreaName: function() {\r\n return \"fields\"\r\n },\r\n _createGroupElement: function() {\r\n return (0, _renderer.default)(DIV).addClass(\"dx-pivotgrid-fields-area\").addClass(\"dx-area-fields\").addClass(AREA_DRAG_CLASS).attr(\"group\", this._area)\r\n },\r\n isVisible: function() {\r\n return !!this.option(\"fieldPanel.visible\") && this.option(\"fieldPanel.show\".concat((0, _m_widget_utils.capitalizeFirstLetter)(this._area), \"Fields\"))\r\n },\r\n _renderButton: function(element) {\r\n var that = this;\r\n var container = (0, _renderer.default)(\"
    \").appendTo(element));\r\n var button = that.component._createComponent((0, _renderer.default)(DIV).appendTo(container), _button.default, {\r\n text: \"Fields\",\r\n icon: \"menu\",\r\n width: \"auto\",\r\n onClick: function() {\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: function(row, button) {\r\n return {\r\n contentTemplate: function() {\r\n return (0, _renderer.default)(\"
    \").appendTo((0, _renderer.default)(\"
    \").addClass(\"dx-area-field-container\").append((0, _renderer.default)(\"\").addClass(\"dx-pivotgrid-fields-area-head\").append(row))\r\n },\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 },\r\n _renderPopup: function(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((0, _renderer.default)(DIV).appendTo(tableElement), _ui.default, 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: function() {\r\n return false\r\n },\r\n _renderTableContent: function(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 = (0, _renderer.default)(\"\").addClass(\"dx-pivotgrid-fields-area-head\").appendTo(tableElement);\r\n var area = that._area;\r\n var row = (0, _renderer.default)(\"\");\r\n groupElement.toggleClass(\"dx-hidden\", !isVisible);\r\n tableElement.addClass(\"dx-area-field-container\");\r\n if (!isVisible) {\r\n return\r\n }(0, _iterator.each)(data, (function(index, field) {\r\n if (field.area === area && false !== field.visible) {\r\n var td = (0, _renderer.default)(\"\"\r\n },\r\n setVirtualContentParams: function(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: function() {\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: function() {\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: function(_ref) {\r\n var rtlEnabled = _ref.rtlEnabled;\r\n var scrollable = this._getScrollable();\r\n isRenovatedScrollable && scrollable.option({\r\n rtlEnabled: rtlEnabled\r\n })\r\n },\r\n processScrollBarSpacing: function(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 (0, _size.setWidth)(this._groupElement.css(\"float\", groupAlignment), this.getGroupHeight());\r\n this._scrollBarWidth = scrollBarWidth\r\n },\r\n getScrollPath: function(offset) {\r\n var tableElement = this.tableElement();\r\n var cell;\r\n offset -= parseInt(tableElement[0].style.left, 10) || 0;\r\n (0, _iterator.each)(tableElement.find(\"td\"), (function(_, 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: function(scrollPos) {\r\n this._moveFakeTableHorizontally(scrollPos);\r\n this.callBase()\r\n }\r\n});\r\nexports.HorizontalHeadersArea = HorizontalHeadersArea;\r\nvar VerticalHeadersArea = HorizontalHeadersArea.inherit({\r\n _getAreaClassName: function() {\r\n return PIVOTGRID_AREA_ROW_CLASS\r\n },\r\n _applyCustomStyles: function(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: function() {\r\n return \"row\"\r\n },\r\n setVirtualContentParams: function(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: function() {\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: function() {\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: function(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 = (0, _renderer.default)(\"
    \");\r\n (0, _size.setWidth)($div, \"100%\");\r\n (0, _size.setHeight)($div, scrollBarWidth - 1);\r\n this._groupElement.after($div)\r\n }\r\n this._scrollBarWidth = scrollBarWidth\r\n },\r\n getScrollPath: function(offset) {\r\n var tableElement = this.tableElement();\r\n var cell;\r\n offset -= parseInt(tableElement[0].style.top, 10) || 0;\r\n (0, _iterator.each)(tableElement.find(\"tr\"), (function(_, 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: function(scrollPos) {\r\n this._moveFakeTableTop(scrollPos);\r\n this.callBase()\r\n },\r\n _getRowClassNames: function(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: function() {\r\n var tbody = _dom_adapter.default.createElement(\"tbody\");\r\n tbody.classList.add(this._getAreaClassName());\r\n return tbody\r\n },\r\n _getCloseMainElementMarkup: function() {\r\n return \"\"\r\n },\r\n updateColspans: function(columnCount) {\r\n var rows = this.tableElement()[0].rows;\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 rowSpan = cell.rowSpan;\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\nexports.VerticalHeadersArea = VerticalHeadersArea;\r\nvar _default = {\r\n HorizontalHeadersArea: HorizontalHeadersArea,\r\n VerticalHeadersArea: VerticalHeadersArea\r\n};\r\nexports.default = _default;\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/pivot_grid/local_store/m_local_store.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.default = exports.LocalStore = void 0;\r\nvar _class = _interopRequireDefault(require(\"../../../../core/class\"));\r\nvar _common = require(\"../../../../core/utils/common\");\r\nvar _data = require(\"../../../../core/utils/data\");\r\nvar _date_serialization = _interopRequireDefault(require(\"../../../../core/utils/date_serialization\"));\r\nvar _deferred = require(\"../../../../core/utils/deferred\");\r\nvar _iterator = require(\"../../../../core/utils/iterator\");\r\nvar _type = require(\"../../../../core/utils/type\");\r\nvar _array_store = _interopRequireDefault(require(\"../../../../data/array_store\"));\r\nvar _custom_store = _interopRequireDefault(require(\"../../../../data/custom_store\"));\r\nvar _data_source = require(\"../../../../data/data_source/data_source\");\r\nvar _query = _interopRequireDefault(require(\"../../../../data/query\"));\r\nvar _utils = require(\"../../../../data/utils\");\r\nvar _m_widget_utils = require(\"../m_widget_utils\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar PATH_DELIMETER = \"/./\";\r\nvar LocalStore = _class.default.inherit(function() {\r\n var DATE_INTERVAL_SELECTORS = {\r\n year: function(date) {\r\n return date && date.getFullYear()\r\n },\r\n quarter: function(date) {\r\n return date && Math.floor(date.getMonth() / 3) + 1\r\n },\r\n month: function(date) {\r\n return date && date.getMonth() + 1\r\n },\r\n day: function(date) {\r\n return date && date.getDate()\r\n },\r\n dayOfWeek: function(date) {\r\n return date && date.getDay()\r\n }\r\n };\r\n\r\n function getDataSelector(dataField) {\r\n return -1 !== dataField.indexOf(\".\") ? (0, _data.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 = _date_serialization.default.deserializeDate(value)\r\n }\r\n return value\r\n }\r\n }\r\n\r\n function prepareFields(fields) {\r\n (0, _iterator.each)(fields || [], (function(_, field) {\r\n var fieldSelector;\r\n var intervalSelector;\r\n var dataField = field.dataField;\r\n var groupInterval;\r\n var levels = field.levels;\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 = (0, _type.isNumeric)(field.groupInterval) && field.groupInterval > 0 && field.groupInterval;\r\n fieldSelector = function(data) {\r\n var value = dataSelector(data);\r\n if ((0, _type.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 }(0, _m_widget_utils.setDefaultFieldValueFormatting)(field);\r\n (0, _m_widget_utils.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 expandedPathsHash = options.expandedPathsHash;\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((function(path) {\r\n var pathValue = path.map((function(value) {\r\n return \"\".concat(value)\r\n })).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 || _common.noop;\r\n return {\r\n seed: function() {\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: function(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: function(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 _utils.aggregators[field.summaryType] || _utils.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 ((0, _type.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 (0, _iterator.each)(dimension, (function(_, field) {\r\n var filterValues = field.filterValues || [];\r\n var groupName = field.groupName;\r\n if (groupName && (0, _type.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 (0, _iterator.each)(levels, (function(_, 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 path = options.path;\r\n if (expandedDimensions) {\r\n filters.push((function(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 ((0, _data.toComparable)(expandValue, true) !== (0, _data.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.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(0, _iterator.each)(measures, (function(aggregatorIndex, cellField) {\r\n var aggregator = getAggregator(cellField);\r\n if (aggregator.finalize) {\r\n (0, _iterator.each)(cells, (function(_, row) {\r\n (0, _iterator.each)(row, (function(_, 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 _custom_store.default && filter) {\r\n filter = processFilter(filter, fieldSelectors);\r\n return (0, _query.default)(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.Deferred;\r\n var customizeStoreLoadOptionsHandler = function(options) {\r\n if (dataSource.store() instanceof _array_store.default) {\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 (0, _deferred.when)(loadDeferred).done((function() {\r\n loadDataSource(dataSource, fieldSelectors).done((function() {\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((function() {\r\n dataSource.off(\"customizeStoreLoadOptions\", customizeStoreLoadOptionsHandler)\r\n }))\r\n }\r\n\r\n function fillSelectorsByFields(selectors, fields) {\r\n fields.forEach((function(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((function(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 ((0, _type.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: function(options) {\r\n this._progressChanged = options.onProgressChanged || _common.noop;\r\n this._dataSource = new _data_source.DataSource(options);\r\n this._dataSource.paginate(false)\r\n },\r\n getFields: function(fields) {\r\n var dataSource = this._dataSource;\r\n var d = new _deferred.Deferred;\r\n loadDataSource(dataSource, getFieldSelectors(fields)).done((function(data) {\r\n d.resolve((0, _m_widget_utils.discoverObjectFields)(data, fields))\r\n })).fail(d.reject);\r\n return d\r\n },\r\n key: function() {\r\n return this._dataSource.key()\r\n },\r\n load: function(options) {\r\n var that = this;\r\n var dataSource = that._dataSource;\r\n var d = new _deferred.Deferred;\r\n prepareLoadOption(options);\r\n loadDataSource(dataSource, getFieldSelectors(options), options.reload).done((function(data) {\r\n (0, _deferred.when)(loadCore(data, options, that._progressChanged)).done(d.resolve)\r\n })).fail(d.reject);\r\n return d\r\n },\r\n filter: function() {\r\n var dataSource = this._dataSource;\r\n return dataSource.filter.apply(dataSource, arguments)\r\n },\r\n supportPaging: function() {\r\n return false\r\n },\r\n getDrillDownItems: function(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 _params = params,\r\n maxRowCount = _params.maxRowCount;\r\n var _params2 = params,\r\n customColumns = _params2.customColumns;\r\n var filter = createFilter(loadOptions);\r\n var pathFilter = createFilter({\r\n rows: (0, _m_widget_utils.getFiltersByPath)(loadOptions.rows, params.rowPath),\r\n columns: (0, _m_widget_utils.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(_m_widget_utils.storeDrillDownMixin);\r\nexports.LocalStore = LocalStore;\r\nvar _default = {\r\n LocalStore: LocalStore\r\n};\r\nexports.default = _default;\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/pivot_grid/m_widget.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.default = exports.PivotGrid = void 0;\r\nvar _component_registrator = _interopRequireDefault(require(\"../../../core/component_registrator\"));\r\nvar _element = require(\"../../../core/element\");\r\nvar _renderer = _interopRequireDefault(require(\"../../../core/renderer\"));\r\nvar _common = require(\"../../../core/utils/common\");\r\nvar _deferred = require(\"../../../core/utils/deferred\");\r\nvar _extend = require(\"../../../core/utils/extend\");\r\nvar _iterator = require(\"../../../core/utils/iterator\");\r\nvar _size = require(\"../../../core/utils/size\");\r\nvar _string = require(\"../../../core/utils/string\");\r\nvar _type = require(\"../../../core/utils/type\");\r\nvar _window = require(\"../../../core/utils/window\");\r\nvar _click = require(\"../../../events/click\");\r\nvar _events_engine = _interopRequireDefault(require(\"../../../events/core/events_engine\"));\r\nvar _index = require(\"../../../events/utils/index\");\r\nvar _message = _interopRequireDefault(require(\"../../../localization/message\"));\r\nvar _context_menu = _interopRequireDefault(require(\"../../../ui/context_menu\"));\r\nvar _ui = _interopRequireDefault(require(\"../../../ui/popup/ui.popup\"));\r\nvar _ui2 = _interopRequireDefault(require(\"../../../ui/widget/ui.widget\"));\r\nvar _m_utils = _interopRequireDefault(require(\"../../grids/grid_core/m_utils\"));\r\nvar _m_chart_integration = require(\"./chart_integration/m_chart_integration\");\r\nvar _m_data_area = _interopRequireDefault(require(\"./data_area/m_data_area\"));\r\nvar _m_data_controller = _interopRequireDefault(require(\"./data_controller/m_data_controller\"));\r\nvar _m_export = require(\"./export/m_export\");\r\nvar _m_field_chooser = require(\"./field_chooser/m_field_chooser\");\r\nvar _m_field_chooser_base = require(\"./field_chooser/m_field_chooser_base\");\r\nvar _m_fields_area = require(\"./fields_area/m_fields_area\");\r\nvar _m_headers_area = _interopRequireDefault(require(\"./headers_area/m_headers_area\"));\r\nvar _m_widget_utils = require(\"./m_widget_utils\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar window = (0, _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 = \"
    \";\r\nvar 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 (0, _renderer.default)(\"\").append((0, _renderer.default)(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: function(value) {\r\n (0, _style.setWidth)(this.groupElement(), value)\r\n },\r\n setGroupHeight: function(value) {\r\n (0, _style.setHeight)(this.groupElement(), value)\r\n },\r\n reset: function() {\r\n this.callBase();\r\n this.groupElement().css(\"marginTop\", 0)\r\n },\r\n _renderVirtualContent: _common.noop\r\n});\r\nexports.FieldsArea = FieldsArea;\r\nvar _default = {\r\n FieldsArea: FieldsArea\r\n};\r\nexports.default = _default;\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/pivot_grid/headers_area/m_headers_area.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.default = exports.VerticalHeadersArea = exports.HorizontalHeadersArea = void 0;\r\nvar _dom_adapter = _interopRequireDefault(require(\"../../../../core/dom_adapter\"));\r\nvar _renderer = _interopRequireDefault(require(\"../../../../core/renderer\"));\r\nvar _iterator = require(\"../../../../core/utils/iterator\");\r\nvar _size = require(\"../../../../core/utils/size\");\r\nvar _type = require(\"../../../../core/utils/type\");\r\nvar _ui = _interopRequireDefault(require(\"../../../../ui/scroll_view/ui.scrollable\"));\r\nvar _m_area_item = require(\"../area_item/m_area_item\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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 = !!_ui.default.IS_RENOVATED_WIDGET;\r\n\r\nfunction getCellPath(tableElement, cell) {\r\n if (cell) {\r\n var _tableElement$data = tableElement.data(),\r\n data = _tableElement$data.data;\r\n var rowIndex = cell.parentNode.rowIndex;\r\n var cellIndex = cell.cellIndex;\r\n return data[rowIndex] && data[rowIndex][cellIndex] && data[rowIndex][cellIndex].path\r\n }\r\n return\r\n}\r\nvar HorizontalHeadersArea = _m_area_item.AreaItem.inherit({\r\n ctor: function(component) {\r\n this.callBase(component);\r\n this._scrollBarWidth = 0\r\n },\r\n _getAreaName: function() {\r\n return \"column\"\r\n },\r\n _getAreaClassName: function() {\r\n return PIVOTGRID_AREA_COLUMN_CLASS\r\n },\r\n _createGroupElement: function() {\r\n return (0, _renderer.default)(\"
    \").addClass(this._getAreaClassName()).addClass(PIVOTGRID_AREA_CLASS)\r\n },\r\n _applyCustomStyles: function(options) {\r\n var cssArray = options.cssArray;\r\n var cell = options.cell;\r\n var rowsCount = options.rowsCount;\r\n var classArray = options.classArray;\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 ((0, _type.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: function() {\r\n var thead = _dom_adapter.default.createElement(\"thead\");\r\n thead.setAttribute(\"class\", this._getAreaClassName());\r\n return thead\r\n },\r\n _getCloseMainElementMarkup: function() {\r\n return \"
    \";\r\nvar 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 (0, _iterator.each)(array, (function(_, 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 (0, _iterator.each)(elements, (function(_, elem) {\r\n var computedStyle = window.getComputedStyle(elem.get(0));\r\n borderStyleNames.forEach((function(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 = _ui2.default.inherit({\r\n _getDefaultOptions: function() {\r\n return (0, _extend.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: _message.default.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: _message.default.format(\"dxPivotGrid-columnFieldArea\"),\r\n rowFieldArea: _message.default.format(\"dxPivotGrid-rowFieldArea\"),\r\n filterFieldArea: _message.default.format(\"dxPivotGrid-filterFieldArea\"),\r\n dataFieldArea: _message.default.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: _message.default.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: _message.default.format(\"dxPivotGrid-grandTotal\"),\r\n total: _message.default.getFormatter(\"dxPivotGrid-total\"),\r\n noData: _message.default.format(\"dxDataGrid-noDataText\"),\r\n showFieldChooser: _message.default.format(\"dxPivotGrid-showFieldChooser\"),\r\n expandAll: _message.default.format(\"dxPivotGrid-expandAll\"),\r\n collapseAll: _message.default.format(\"dxPivotGrid-collapseAll\"),\r\n sortColumnBySummary: _message.default.getFormatter(\"dxPivotGrid-sortColumnBySummary\"),\r\n sortRowBySummary: _message.default.getFormatter(\"dxPivotGrid-sortRowBySummary\"),\r\n removeAllSorting: _message.default.format(\"dxPivotGrid-removeAllSorting\"),\r\n exportToExcel: _message.default.format(\"dxDataGrid-exportToExcel\"),\r\n dataNotAvailable: _message.default.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 headerFilter: {\r\n width: 252,\r\n height: 325,\r\n allowSelectAll: true,\r\n showRelevantValues: false,\r\n search: {\r\n enabled: false,\r\n timeout: 500,\r\n editorOptions: {},\r\n mode: \"contains\"\r\n },\r\n texts: {\r\n emptyValue: _message.default.format(\"dxDataGrid-headerFilterEmptyValue\"),\r\n ok: _message.default.format(\"dxDataGrid-headerFilterOK\"),\r\n cancel: _message.default.format(\"dxDataGrid-headerFilterCancel\")\r\n }\r\n }\r\n })\r\n },\r\n _updateCalculatedOptions: function(fields) {\r\n var that = this;\r\n (0, _iterator.each)(fields, (function(_, field) {\r\n (0, _iterator.each)(FIELD_CALCULATED_OPTIONS, (function(_, 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 (0, _m_widget_utils.setFieldProperty)(field, optionName, that.option(optionName))\r\n }\r\n }))\r\n }))\r\n },\r\n _getDataControllerOptions: function() {\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: function(fields) {\r\n that._updateCalculatedOptions(fields)\r\n }\r\n }\r\n },\r\n _initDataController: function() {\r\n var that = this;\r\n that._dataController && that._dataController.dispose();\r\n that._dataController = new _m_data_controller.default.DataController(that._getDataControllerOptions());\r\n if ((0, _window.hasWindow)()) {\r\n that._dataController.changed.add((function() {\r\n that._render()\r\n }))\r\n }\r\n that._dataController.scrollChanged.add((function(options) {\r\n that._scrollLeft = options.left;\r\n that._scrollTop = options.top\r\n }));\r\n that._dataController.loadingChanged.add((function() {\r\n that._updateLoading()\r\n }));\r\n that._dataController.progressChanged.add(that._updateLoading.bind(that));\r\n that._dataController.dataSourceChanged.add((function() {\r\n that._trigger(\"onChanged\")\r\n }));\r\n var expandValueChanging = that.option(\"onExpandValueChanging\");\r\n if (expandValueChanging) {\r\n that._dataController.expandValueChanging.add((function(e) {\r\n expandValueChanging(e)\r\n }))\r\n }\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this._initDataController();\r\n _m_utils.default.logHeaderFilterDeprecatedWarningIfNeed(this);\r\n this._scrollLeft = this._scrollTop = null;\r\n this._initActions()\r\n },\r\n _initActions: function() {\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 onCellPrepared: this._createActionByOption(\"onCellPrepared\")\r\n }\r\n },\r\n _trigger: function(eventName, eventArg) {\r\n this._actions[eventName](eventArg)\r\n },\r\n _optionChanged: function(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 (0, _window.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 ((0, _window.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: function(columnsArea, rowsArea, dataArea) {\r\n var force = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : false;\r\n var that = this;\r\n var scrollTop;\r\n var scrollLeft;\r\n var scrolled = that._scrollTop || that._scrollLeft;\r\n if (that._scrollUpdating) {\r\n return\r\n }\r\n that._scrollUpdating = true;\r\n if (rowsArea && !rowsArea.hasScroll() && that._hasHeight) {\r\n that._scrollTop = null\r\n }\r\n if (columnsArea && !columnsArea.hasScroll()) {\r\n that._scrollLeft = null\r\n }\r\n if (null !== that._scrollTop || null !== that._scrollLeft || scrolled || that.option(\"rtlEnabled\")) {\r\n scrollTop = that._scrollTop || 0;\r\n scrollLeft = that._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 that._dataController.updateWindowScrollPosition(that._scrollTop)\r\n }\r\n that._scrollUpdating = false\r\n },\r\n _subscribeToEvents: function(columnsArea, rowsArea, dataArea) {\r\n var that = this;\r\n (0, _iterator.each)([columnsArea, rowsArea, dataArea], (function(_, area) {\r\n subscribeToScrollEvent(area, (function(e) {\r\n return function(e, area) {\r\n var scrollOffset = e.scrollOffset;\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 }));\r\n !that._hasHeight && that._dataController.subscribeToWindowScrollEvents(dataArea.groupElement())\r\n },\r\n _clean: _common.noop,\r\n _needDelayResizing: function(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: function() {\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: _message.default.format(\"OK\"),\r\n onClick: function() {\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: _message.default.format(\"Cancel\"),\r\n onClick: function() {\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: function(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: function(e) {\r\n e.component.$content().dxPivotGridFieldChooser(\"updateDimensions\")\r\n },\r\n onShown: function(e) {\r\n that._createComponent(e.component.content(), _m_field_chooser.FieldChooser, fieldChooserComponentOptions)\r\n },\r\n onHidden: function(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((0, _renderer.default)(DIV).addClass(FIELD_CHOOSER_POPUP_CLASS).appendTo(container), _ui.default, popupOptions)\r\n }\r\n },\r\n _renderContextMenu: function() {\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((0, _renderer.default)(DIV).appendTo($container), _context_menu.default, {\r\n onPositioning: function(actionArgs) {\r\n var event = actionArgs.event;\r\n actionArgs.cancel = true;\r\n if (!event) {\r\n return\r\n }\r\n var targetElement = event.target.cellIndex >= 0 ? event.target : (0, _renderer.default)(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: function(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: function(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: function() {\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: function() {\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 (0, _iterator.each)(oppositeAreaFields, (function(_, field) {\r\n if (!field.allowSortingBySummary) {\r\n return\r\n }(0, _iterator.each)(e.dataFields, (function(dataIndex, dataField) {\r\n if ((0, _type.isDefined)(e.cell.dataIndex) && e.cell.dataIndex !== dataIndex) {\r\n return\r\n }\r\n var showDataFieldCaption = !(0, _type.isDefined)(e.cell.dataIndex) && e.dataFields.length > 1;\r\n var textFormat = \"column\" === e.area ? texts.sortColumnBySummary : texts.sortRowBySummary;\r\n var checked = (0, _m_widget_utils.findField)(e.dataFields, field.sortBySummaryField) === dataIndex && (e.cell.path || []).join(\"/\") === (field.sortBySummaryPath || []).join(\"/\");\r\n var text = (0, _string.format)(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: function() {\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 (0, _iterator.each)(oppositeAreaFields, (function(_, field) {\r\n if (!field.allowSortingBySummary || !(0, _type.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: function() {\r\n (0, _iterator.each)(oppositeAreaFields, (function(_, 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: function() {\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: function() {\r\n that.exportTo()\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: function(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((0, _renderer.default)(targetElement))) {\r\n return (0, _extend.extend)(this._createFieldArgs(targetElement), args)\r\n }\r\n return (0, _extend.extend)(this._createCellArgs(targetElement), args)\r\n },\r\n _createFieldArgs: function(targetElement) {\r\n var field = (0, _renderer.default)(targetElement).children().data(\"field\");\r\n var args = {\r\n field: field\r\n };\r\n return (0, _type.isDefined)(field) ? args : {}\r\n },\r\n _createCellArgs: function(cellElement) {\r\n var $cellElement = (0, _renderer.default)(cellElement);\r\n var columnIndex = cellElement.cellIndex;\r\n var rowIndex = cellElement.parentElement.rowIndex;\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: (0, _element.getPublicElement)($cellElement),\r\n cell: cell\r\n };\r\n return args\r\n },\r\n _handleCellClick: function(e) {\r\n var that = this;\r\n var args = that._createEventArgs(e.currentTarget, e);\r\n var cell = args.cell;\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 && (0, _type.isDefined)(cell.expanded) && setTimeout((function() {\r\n that._dataController[cell.expanded ? \"collapseHeaderItem\" : \"expandHeaderItem\"](args.area, cell.path)\r\n }))\r\n },\r\n _getNoDataText: function() {\r\n return this.option(\"texts.noData\")\r\n },\r\n _renderNoDataText: _m_utils.default.renderNoDataText,\r\n _renderLoadPanel: _m_utils.default.renderLoadPanel,\r\n _updateLoading: function(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((function() {\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 = _m_utils.default.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: function() {\r\n var _this = this;\r\n var $element = this.$element();\r\n var $descriptionCell = $element.find(\".\".concat(DESCRIPTION_AREA_CELL_CLASS));\r\n var $toolbarContainer = (0, _renderer.default)(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 = (0, _renderer.default)(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: function() {\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 = (0, _renderer.default)(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: function() {\r\n _this.exportTo()\r\n }\r\n };\r\n this._createComponent(_$buttonElement, \"dxButton\", _buttonOptions)\r\n }\r\n },\r\n _detectHasContainerHeight: function() {\r\n var element = this.$element();\r\n if ((0, _type.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 ((0, _type.isDefined)(this._hasHeight) || element.is(\":hidden\")) {\r\n return\r\n }\r\n this._pivotGridContainer.addClass(\"dx-hidden\");\r\n var testElement = (0, _renderer.default)(DIV);\r\n (0, _size.setHeight)(testElement, TEST_HEIGHT);\r\n element.append(testElement);\r\n this._hasHeight = (0, _size.getHeight)(element) !== TEST_HEIGHT;\r\n this._pivotGridContainer.removeClass(\"dx-hidden\");\r\n testElement.remove()\r\n },\r\n _renderHeaders: function(rowHeaderContainer, columnHeaderContainer, filterHeaderContainer, dataHeaderContainer) {\r\n var dataSource = this.getDataSource();\r\n this._rowFields = this._rowFields || new _m_fields_area.FieldsArea(this, \"row\");\r\n this._rowFields.render(rowHeaderContainer, dataSource.getAreaFields(\"row\"));\r\n this._columnFields = this._columnFields || new _m_fields_area.FieldsArea(this, \"column\");\r\n this._columnFields.render(columnHeaderContainer, dataSource.getAreaFields(\"column\"));\r\n this._filterFields = this._filterFields || new _m_fields_area.FieldsArea(this, \"filter\");\r\n this._filterFields.render(filterHeaderContainer, dataSource.getAreaFields(\"filter\"));\r\n this._dataFields = this._dataFields || new _m_fields_area.FieldsArea(this, \"data\");\r\n this._dataFields.render(dataHeaderContainer, dataSource.getAreaFields(\"data\"));\r\n this.$element().dxPivotGridFieldChooserBase(\"instance\").renderSortable()\r\n },\r\n _createTableElement: function() {\r\n var $table = (0, _renderer.default)(\"\").css({\r\n width: \"100%\"\r\n }).toggleClass(BORDERS_CLASS, !!this.option(\"showBorders\")).toggleClass(\"dx-word-wrap\", !!this.option(\"wordWrapEnabled\"));\r\n _events_engine.default.on($table, (0, _index.addNamespace)(_click.name, \"dxPivotGrid\"), \"td\", this._handleCellClick.bind(this));\r\n return $table\r\n },\r\n _renderDataArea: function(dataAreaElement) {\r\n var dataArea = this._dataArea || new _m_data_area.default.DataArea(this);\r\n this._dataArea = dataArea;\r\n dataArea.render(dataAreaElement, this._dataController.getCellsInfo());\r\n return dataArea\r\n },\r\n _renderRowsArea: function(rowsAreaElement) {\r\n var rowsArea = this._rowsArea || new _m_headers_area.default.VerticalHeadersArea(this);\r\n this._rowsArea = rowsArea;\r\n rowsArea.render(rowsAreaElement, this._dataController.getRowsInfo());\r\n return rowsArea\r\n },\r\n _renderColumnsArea: function(columnsAreaElement) {\r\n var columnsArea = this._columnsArea || new _m_headers_area.default.HorizontalHeadersArea(this);\r\n this._columnsArea = columnsArea;\r\n columnsArea.render(columnsAreaElement, this._dataController.getColumnsInfo());\r\n return columnsArea\r\n },\r\n _initMarkup: function() {\r\n var that = this;\r\n that.callBase.apply(this, arguments);\r\n that.$element().addClass(PIVOTGRID_CLASS)\r\n },\r\n _renderContentImpl: function() {\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 = (0, _renderer.default)(DIV).addClass(\"dx-pivotgrid-container\");\r\n this._renderFieldChooser();\r\n this._renderContextMenu();\r\n columnsAreaElement = (0, _renderer.default)(TD).addClass(COLUMN_AREA_CELL_CLASS);\r\n rowsAreaElement = (0, _renderer.default)(TD).addClass(ROW_AREA_CELL_CLASS);\r\n dataAreaElement = (0, _renderer.default)(TD).addClass(DATA_AREA_CELL_CLASS);\r\n tableElement = this._createTableElement();\r\n dataHeaderContainer = (0, _renderer.default)(TD).addClass(\"dx-data-header\");\r\n filterHeaderContainer = (0, _renderer.default)(\"
    \").attr(\"colspan\", \"2\").addClass(\"dx-filter-header\");\r\n columnHeaderContainer = (0, _renderer.default)(TD).addClass(\"dx-column-header\");\r\n rowHeaderContainer = (0, _renderer.default)(TD).addClass(DESCRIPTION_AREA_CELL_CLASS);\r\n (0, _renderer.default)(TR).append(filterHeaderContainer).appendTo(tableElement);\r\n (0, _renderer.default)(TR).append(dataHeaderContainer).append(columnHeaderContainer).appendTo(tableElement);\r\n (0, _renderer.default)(TR).append(rowHeaderContainer).append(columnsAreaElement).appendTo(tableElement);\r\n (0, _renderer.default)(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(), _m_field_chooser_base.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((function(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: function(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: function() {\r\n if (!this._dataController.isLoading()) {\r\n this.callBase()\r\n }\r\n },\r\n getScrollPath: function(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: function() {\r\n return this._dataController.getDataSource()\r\n },\r\n getFieldChooserPopup: function() {\r\n return this._fieldChooserPopup\r\n },\r\n hasScroll: function(area) {\r\n return \"column\" === area ? this._columnsArea.hasScroll() : this._rowsArea.hasScroll()\r\n },\r\n _dimensionChanged: function() {\r\n this.updateDimensions()\r\n },\r\n _visibilityChanged: function(visible) {\r\n if (visible) {\r\n this.updateDimensions()\r\n }\r\n },\r\n _dispose: function() {\r\n var that = this;\r\n clearTimeout(that._hideLoadingTimeoutID);\r\n that.callBase.apply(that, arguments);\r\n if (that._dataController) {\r\n that._dataController.dispose()\r\n }\r\n },\r\n _tableElement: function() {\r\n return this.$element().find(\"table\").first()\r\n },\r\n addWidgetPrefix: function(className) {\r\n return \"dx-pivotgrid-\".concat(className)\r\n },\r\n resize: function() {\r\n this.updateDimensions()\r\n },\r\n isReady: function() {\r\n return this.callBase() && !this._dataController.isLoading()\r\n },\r\n updateDimensions: function() {\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.Deferred;\r\n if (!(0, _window.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 = function(areaSize, totalSize) {\r\n return totalSize - areaSize >= 1\r\n };\r\n var calculateGroupHeight = function(dataAreaHeight, totalHeight, hasRowsScroll, hasColumnsScroll, scrollBarWidth) {\r\n return hasRowsScroll ? dataAreaHeight : totalHeight + (hasColumnsScroll ? scrollBarWidth : 0)\r\n };\r\n (0, _common.deferUpdate)((function() {\r\n var rowHeights = that._rowsArea.getRowsHeight();\r\n var descriptionCellHeight = (0, _size.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 = (0, _size.getHeight)(filterHeaderCell);\r\n var $dataHeader = tableElement.find(\".dx-data-header\");\r\n var dataHeaderHeight = (0, _size.getHeight)($dataHeader);\r\n bordersWidth = getCommonBorderWidth([columnAreaCell, dataAreaCell, tableElement, columnHeaderCell, filterHeaderCell], \"height\");\r\n dataAreaHeight = (0, _size.getHeight)(that.$element()) - filterAreaHeight - dataHeaderHeight - (Math.max((0, _size.getHeight)(that._dataArea.headElement()), (0, _size.getHeight)(columnAreaCell), descriptionCellHeight) + bordersWidth)\r\n }\r\n var scrollBarWidth = that._dataArea.getScrollbarWidth();\r\n var hasVerticalScrollbar = calculateHasScroll(dataAreaHeight, (0, _size.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 = (0, _m_widget_utils.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 = (0, _size.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 = (0, _size.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 (0, _common.deferRender)((function() {\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 !== (0, _size.getWidth)(that.$element())) {\r\n var _diff = elementWidth - (0, _size.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() && (0, _size.getHeight)(filterHeaderCell) !== filterAreaHeight) {\r\n var _diff2 = (0, _size.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 (0, _iterator.each)([that._columnsArea, that._rowsArea, that._dataArea], (function(_, area) {\r\n updateScrollableResults.push(area && area.updateScrollable())\r\n }));\r\n that._updateLoading();\r\n that._renderNoDataText(dataAreaCell);\r\n _deferred.when.apply(_renderer.default, updateScrollableResults).done((function() {\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 }));\r\n return d\r\n },\r\n _setVirtualContentParams: function(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 : (0, _size.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: (0, _size.getHeight)(this._columnsArea.groupElement())\r\n })\r\n },\r\n applyPartialDataSource: function(area, path, dataSource) {\r\n this._dataController.applyPartialDataSource(area, path, dataSource)\r\n }\r\n}).inherit(_m_export.ExportController).include(_m_chart_integration.ChartIntegrationMixin);\r\nexports.PivotGrid = PivotGrid;\r\n(0, _component_registrator.default)(\"dxPivotGrid\", PivotGrid);\r\nvar _default = {\r\n PivotGrid: PivotGrid\r\n};\r\nexports.default = _default;\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/pivot_grid/m_widget_utils.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.calculateScrollbarWidth = void 0;\r\nexports.capitalizeFirstLetter = capitalizeFirstLetter;\r\nexports.createPath = createPath;\r\nexports.default = void 0;\r\nexports.discoverObjectFields = discoverObjectFields;\r\nexports.findField = findField;\r\nexports.foreachDataLevel = foreachDataLevel;\r\nexports.foreachTreeAsync = exports.foreachTree = void 0;\r\nexports.formatValue = formatValue;\r\nexports.getCompareFunction = getCompareFunction;\r\nexports.getExpandedLevel = getExpandedLevel;\r\nexports.getFieldsDataType = getFieldsDataType;\r\nexports.getFiltersByPath = getFiltersByPath;\r\nexports.getScrollbarWidth = void 0;\r\nexports.mergeArraysByMaxValue = mergeArraysByMaxValue;\r\nexports.sendRequest = sendRequest;\r\nexports.setDefaultFieldValueFormatting = setDefaultFieldValueFormatting;\r\nexports.storeDrillDownMixin = exports.setFieldProperty = void 0;\r\nvar _dom_adapter = _interopRequireDefault(require(\"../../../core/dom_adapter\"));\r\nvar _ajax = _interopRequireDefault(require(\"../../../core/utils/ajax\"));\r\nvar _call_once = _interopRequireDefault(require(\"../../../core/utils/call_once\"));\r\nvar _data = require(\"../../../core/utils/data\");\r\nvar _deferred = require(\"../../../core/utils/deferred\");\r\nvar _extend = require(\"../../../core/utils/extend\");\r\nvar _iterator = require(\"../../../core/utils/iterator\");\r\nvar _type = require(\"../../../core/utils/type\");\r\nvar _array_store = _interopRequireDefault(require(\"../../../data/array_store\"));\r\nvar _data_source = require(\"../../../data/data_source/data_source\");\r\nvar _format_helper = _interopRequireDefault(require(\"../../../format_helper\"));\r\nvar _date = _interopRequireDefault(require(\"../../../localization/date\"));\r\nvar _const = require(\"./const\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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\nexports.setFieldProperty = setFieldProperty;\r\n\r\nfunction sendRequest(options) {\r\n return _ajax.default.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 (0, _deferred.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.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.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\nexports.foreachTree = foreachTree;\r\nvar foreachTreeAsync = createForeachTreeFunc(true);\r\nexports.foreachTreeAsync = foreachTreeAsync;\r\n\r\nfunction findField(fields, id) {\r\n if (fields && (0, _type.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 && _format_helper.default.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 = (0, _type.isDefined)(valueA);\r\n var bIsDefined = (0, _type.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 (0, _iterator.each)(expandedPaths, (function(_, 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 (0, _iterator.map)([\"year\", \"quarter\", \"month\"], (function(value, index) {\r\n return (0, _extend.extend)({}, item, {\r\n groupInterval: value,\r\n groupIndex: index\r\n })\r\n }))\r\n}\r\n\r\nfunction parseFields(dataSource, fieldsList, path, fieldsDataType) {\r\n var result = [];\r\n Object.keys(fieldsList || []).forEach((function(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 = (0, _data.compileGetter)(currentPath);\r\n var value = fieldsList[field];\r\n var items;\r\n while (!(0, _type.isDefined)(value) && dataSource[dataIndex]) {\r\n value = getter(dataSource[dataIndex]);\r\n dataIndex += 1\r\n }\r\n if (!dataType && (0, _type.isDefined)(value)) {\r\n dataType = (0, _type.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 (0, _iterator.each)(fields, (function(_, 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: function(value) {\r\n return _date.default.getMonthNames()[value - 1]\r\n },\r\n quarter: function(value) {\r\n return _date.default.format(new Date(2e3, 3 * value - 1), \"quarter\")\r\n },\r\n dayOfWeek: function(value) {\r\n return _date.default.getDayNames()[value]\r\n }\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 = (0, _type.isNumeric)(field.groupInterval) && field.groupInterval > 0 && field.groupInterval;\r\n if (groupInterval && !field.customizeText) {\r\n setFieldProperty(field, \"customizeText\", (function(formatObject) {\r\n var secondValue = formatObject.value + groupInterval;\r\n var secondValueText = _format_helper.default.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((0, _extend.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: function(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.Deferred;\r\n (0, _deferred.when)(items).done((function(data) {\r\n var arrayStore = new _array_store.default(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 _data_source.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\nexports.storeDrillDownMixin = storeDrillDownMixin;\r\n\r\nfunction capitalizeFirstLetter(string) {\r\n return string.charAt(0).toUpperCase() + string.slice(1)\r\n}\r\nvar getScrollbarWidth = function(containerElement) {\r\n return containerElement.offsetWidth - containerElement.clientWidth\r\n};\r\nexports.getScrollbarWidth = getScrollbarWidth;\r\nvar calculateScrollbarWidth = (0, _call_once.default)((function() {\r\n var document = _dom_adapter.default.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\nexports.calculateScrollbarWidth = calculateScrollbarWidth;\r\nvar _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\nexports.default = _default;\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/pivot_grid/remote_store/m_remote_store.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.default = exports.RemoteStore = void 0;\r\nvar _class = _interopRequireDefault(require(\"../../../../core/class\"));\r\nvar _date_serialization = _interopRequireDefault(require(\"../../../../core/utils/date_serialization\"));\r\nvar _deferred = require(\"../../../../core/utils/deferred\");\r\nvar _extend = require(\"../../../../core/utils/extend\");\r\nvar _iterator = require(\"../../../../core/utils/iterator\");\r\nvar _type = require(\"../../../../core/utils/type\");\r\nvar _data_source = require(\"../../../../data/data_source/data_source\");\r\nvar _utils = require(\"../../../../data/data_source/utils\");\r\nvar _m_widget_utils = _interopRequireWildcard(require(\"../m_widget_utils\"));\r\nvar _m_remote_store_utils = require(\"./m_remote_store_utils\");\r\n\r\nfunction _getRequireWildcardCache(nodeInterop) {\r\n if (\"function\" !== typeof WeakMap) {\r\n return null\r\n }\r\n var cacheBabelInterop = new WeakMap;\r\n var cacheNodeInterop = new WeakMap;\r\n return (_getRequireWildcardCache = function(nodeInterop) {\r\n return nodeInterop ? cacheNodeInterop : cacheBabelInterop\r\n })(nodeInterop)\r\n}\r\n\r\nfunction _interopRequireWildcard(obj, nodeInterop) {\r\n if (!nodeInterop && obj && obj.__esModule) {\r\n return obj\r\n }\r\n if (null === obj || \"object\" !== _typeof(obj) && \"function\" !== typeof obj) {\r\n return {\r\n default: obj\r\n }\r\n }\r\n var cache = _getRequireWildcardCache(nodeInterop);\r\n if (cache && cache.has(obj)) {\r\n return cache.get(obj)\r\n }\r\n var newObj = {};\r\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\r\n for (var key in obj) {\r\n if (\"default\" !== key && Object.prototype.hasOwnProperty.call(obj, key)) {\r\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\r\n if (desc && (desc.get || desc.set)) {\r\n Object.defineProperty(newObj, key, desc)\r\n } else {\r\n newObj[key] = obj[key]\r\n }\r\n }\r\n }\r\n newObj.default = obj;\r\n if (cache) {\r\n cache.set(obj, newObj)\r\n }\r\n return newObj\r\n}\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _toConsumableArray(arr) {\r\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread()\r\n}\r\n\r\nfunction _nonIterableSpread() {\r\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _unsupportedIterableToArray(o, minLen) {\r\n if (!o) {\r\n return\r\n }\r\n if (\"string\" === typeof o) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n var n = Object.prototype.toString.call(o).slice(8, -1);\r\n if (\"Object\" === n && o.constructor) {\r\n n = o.constructor.name\r\n }\r\n if (\"Map\" === n || \"Set\" === n) {\r\n return Array.from(o)\r\n }\r\n if (\"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n}\r\n\r\nfunction _iterableToArray(iter) {\r\n if (\"undefined\" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter[\"@@iterator\"]) {\r\n return Array.from(iter)\r\n }\r\n}\r\n\r\nfunction _arrayWithoutHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return _arrayLikeToArray(arr)\r\n }\r\n}\r\n\r\nfunction _arrayLikeToArray(arr, len) {\r\n if (null == len || len > arr.length) {\r\n len = arr.length\r\n }\r\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\r\n arr2[i] = arr[i]\r\n }\r\n return arr2\r\n}\r\n\r\nfunction createGroupingOptions(dimensionOptions, useSortOrder) {\r\n var groupingOptions = [];\r\n (0, _iterator.each)(dimensionOptions, (function(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 groupInterval = field.groupInterval;\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((0, _m_widget_utils.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 ((0, _type.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 }(0, _iterator.each)(field.filterValues, (function(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 (0, _iterator.each)(fields, (function(_, 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 }(0, _iterator.each)(options.values, (function(_, 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 (!(0, _type.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 && (0, _type.isString)(value)) {\r\n return Number(value)\r\n }\r\n if (field && \"date\" === field.dataType && !field.groupInterval && !(value instanceof Date)) {\r\n return _date_serialization.default.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 rowHash = result.rowHash;\r\n var columnHash = result.columnHash;\r\n if (total && total.summary) {\r\n (0, _iterator.each)(total.summary, (function(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 = _toConsumableArray(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 }(0, _m_remote_store_utils.forEachGroup)(data, (function(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 (0, _iterator.each)(item && item.summary || [], (function(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((function(f) {\r\n return f.filterValues && f.filterValues.length || f.searchValue\r\n }))\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 (0, _m_widget_utils.getFiltersByPath)(options[options.headerName], options.path).concat((0, _m_widget_utils.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 (0, _iterator.each)(fields, (function(index, field) {\r\n var filterValues = [];\r\n (0, _iterator.each)(paths, (function(_, 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((0, _extend.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((0, _extend.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((0, _extend.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 (0, _iterator.each)(fields, (function(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 = (0, _m_widget_utils.getExpandedLevel)(options, \"rows\");\r\n var columnExpandedLevel = (0, _m_widget_utils.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 = (0, _extend.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 (0, _iterator.each)(fields || [], (function(_, field) {\r\n var levels = field.levels;\r\n if (levels) {\r\n prepareFields(levels)\r\n }(0, _m_widget_utils.setDefaultFieldValueFormatting)(field)\r\n }))\r\n}\r\nvar RemoteStore = _class.default.inherit({\r\n ctor: function(options) {\r\n this._dataSource = new _data_source.DataSource(options);\r\n this._store = this._dataSource.store()\r\n },\r\n getFields: function(fields) {\r\n var d = new _deferred.Deferred;\r\n this._store.load({\r\n skip: 0,\r\n take: 20\r\n }).done((function(data) {\r\n var normalizedArguments = (0, _utils.normalizeLoadResult)(data);\r\n d.resolve(_m_widget_utils.default.discoverObjectFields(normalizedArguments.data, fields))\r\n })).fail(d.reject);\r\n return d\r\n },\r\n key: function() {\r\n return this._store.key()\r\n },\r\n load: function(options) {\r\n var that = this;\r\n var d = new _deferred.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 (0, _iterator.each)(requestsData, (function(_, dataItem) {\r\n deferreds.push(that._store.load(createLoadOptions(dataItem, that.filter(), options.rows.length)))\r\n }));\r\n _deferred.when.apply(null, deferreds).done((function() {\r\n var args = deferreds.length > 1 ? arguments : [arguments];\r\n (0, _iterator.each)(args, (function(index, argument) {\r\n var normalizedArguments = (0, _utils.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: function() {\r\n return this._dataSource.filter.apply(this._dataSource, arguments)\r\n },\r\n supportPaging: function() {\r\n return false\r\n },\r\n createDrillDownDataSource: function(loadOptions, params) {\r\n loadOptions = loadOptions || {};\r\n params = params || {};\r\n var store = this._store;\r\n var filters = (0, _m_widget_utils.getFiltersByPath)(loadOptions.rows, params.rowPath).concat((0, _m_widget_utils.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 _data_source.DataSource({\r\n load: function(loadOptions) {\r\n return store.load((0, _extend.extend)({}, loadOptions, {\r\n filter: mergeFilters(filterExp, loadOptions.filter),\r\n select: params.customColumns\r\n }))\r\n }\r\n })\r\n }\r\n});\r\nexports.RemoteStore = RemoteStore;\r\nvar _default = {\r\n RemoteStore: RemoteStore\r\n};\r\nexports.default = _default;\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/pivot_grid/remote_store/m_remote_store_utils.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.forEachGroup = exports.default = void 0;\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\nexports.forEachGroup = forEachGroup;\r\nvar _default = {\r\n forEachGroup: forEachGroup\r\n};\r\nexports.default = _default;\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/pivot_grid/sortable/m_sortable.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.default = exports.Sortable = void 0;\r\nvar _component_registrator = _interopRequireDefault(require(\"../../../../core/component_registrator\"));\r\nvar _dom_adapter = _interopRequireDefault(require(\"../../../../core/dom_adapter\"));\r\nvar _dom_component = _interopRequireDefault(require(\"../../../../core/dom_component\"));\r\nvar _renderer = _interopRequireDefault(require(\"../../../../core/renderer\"));\r\nvar _extend = require(\"../../../../core/utils/extend\");\r\nvar _iterator = require(\"../../../../core/utils/iterator\");\r\nvar _size = require(\"../../../../core/utils/size\");\r\nvar _type = require(\"../../../../core/utils/type\");\r\nvar _events_engine = _interopRequireDefault(require(\"../../../../events/core/events_engine\"));\r\nvar _drag = require(\"../../../../events/drag\");\r\nvar _index = require(\"../../../../events/utils/index\");\r\nvar _swatch_container = _interopRequireDefault(require(\"../../../../ui/widget/swatch_container\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar getSwatchContainer = _swatch_container.default.getSwatchContainer;\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 = (0, _renderer.default)(element);\r\n var offset = $item.offset();\r\n if (x >= offset.left && x <= offset.left + (0, _size.getOuterWidth)($item, true)) {\r\n if (y >= offset.top && y <= offset.top + (0, _size.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 ((0, _type.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 (0, _iterator.each)($items, (function(elementIndex, element) {\r\n var $element = (0, _renderer.default)(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 (0, _iterator.each)($groups, (function() {\r\n if (elementHasPoint(this, e.pageX, e.pageY)) {\r\n result = (0, _renderer.default)(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 + (0, _size.getOuterHeight)($item.last(), true)) / 2 : (0, _size.getOuterHeight)($item.last(), true) + $item.last().offset().top,\r\n posHorizontal: isVertical ? void 0 : ((0, _size.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 _$element$offset = $element.offset(),\r\n top = _$element$offset.top;\r\n var height = (0, _size.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: function() {\r\n return $element\r\n },\r\n dispose: function() {\r\n stop();\r\n scrollable.off(\"scroll\", onScroll)\r\n }\r\n }\r\n}\r\nvar Sortable = _dom_component.default.inherit({\r\n _getDefaultOptions: function() {\r\n return (0, _extend.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: function($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: (0, _size.getWidth)($sourceItem),\r\n height: (0, _size.getHeight)($sourceItem)\r\n })\r\n }\r\n return $item\r\n },\r\n _renderIndicator: function($item, isVertical, $targetGroup, isLast) {\r\n var height = (0, _size.getOuterHeight)($item, true);\r\n var width = (0, _size.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 (0, _size.setHeight)(this._indicator, \"\");\r\n (0, _size.setWidth)(this._indicator, \"\");\r\n if (isVertical) {\r\n (0, _size.setWidth)(this._indicator, width)\r\n } else {\r\n (0, _size.setHeight)(this._indicator, height)\r\n }\r\n },\r\n _renderDraggable: function($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: function() {\r\n var dragEventsString = [_drag.move, _drag.start, _drag.end, _drag.enter, _drag.leave, _drag.drop].join(\" \");\r\n _events_engine.default.off(this._getEventListener(), (0, _index.addNamespace)(dragEventsString, SORTABLE_NAMESPACE), void 0)\r\n },\r\n _getItemOffset: function(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: function() {\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: function() {\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 _events_engine.default.on($eventListener, (0, _index.addNamespace)(_drag.start, SORTABLE_NAMESPACE), itemSelector, (function(e) {\r\n $sourceItem = (0, _renderer.default)(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 (0, _iterator.each)($sourceItem, (function(_, item) {\r\n startPositions.push((0, _renderer.default)(item).offset())\r\n }))\r\n }();\r\n $groups = function() {\r\n var root = _dom_adapter.default.getRootNode(that.$element().get(0));\r\n if (!groupSelector) {\r\n return element\r\n }\r\n return groupFilter ? (0, _renderer.default)(root).find(groupSelector).filter(groupFilter) : element.find(groupSelector)\r\n }();\r\n that._indicator = (0, _renderer.default)(\"
    \").addClass(\"dx-position-indicator\")\r\n }));\r\n _events_engine.default.on($eventListener, (0, _index.addNamespace)(_drag.move, SORTABLE_NAMESPACE), (function(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 (0, _iterator.each)(that._$draggable, (function(index, draggableElement) {\r\n (0, _renderer.default)(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 _events_engine.default.on($eventListener, (0, _index.addNamespace)(_drag.end, SORTABLE_NAMESPACE), (function() {\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: function() {\r\n this.callBase();\r\n this._attachEventHandlers()\r\n },\r\n _render: function() {\r\n this.callBase();\r\n this.$element().addClass(SORTABLE_CLASS)\r\n },\r\n _dispose: function() {\r\n var that = this;\r\n that.callBase.apply(that, arguments);\r\n that._$draggable && that._$draggable.detach();\r\n that._indicator && that._indicator.detach()\r\n },\r\n _optionChanged: function(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: function() {\r\n return false\r\n }\r\n});\r\nexports.Sortable = Sortable;\r\n(0, _component_registrator.default)(\"dxSortableOld\", Sortable);\r\nvar _default = {\r\n Sortable: Sortable\r\n};\r\nexports.default = _default;\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/pivot_grid/summary_display_modes/m_summary_display_modes.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.Cell = void 0;\r\nexports.applyDisplaySummaryMode = applyDisplaySummaryMode;\r\nexports.applyRunningTotal = applyRunningTotal;\r\nexports.createMockSummaryCell = createMockSummaryCell;\r\nexports.default = void 0;\r\nexports.getExpression = getExpression;\r\nexports.summaryDictionary = void 0;\r\nvar _extend = require(\"../../../../core/utils/extend\");\r\nvar _type = require(\"../../../../core/utils/type\");\r\nvar _m_widget_utils = _interopRequireWildcard(require(\"../m_widget_utils\"));\r\n\r\nfunction _getRequireWildcardCache(nodeInterop) {\r\n if (\"function\" !== typeof WeakMap) {\r\n return null\r\n }\r\n var cacheBabelInterop = new WeakMap;\r\n var cacheNodeInterop = new WeakMap;\r\n return (_getRequireWildcardCache = function(nodeInterop) {\r\n return nodeInterop ? cacheNodeInterop : cacheBabelInterop\r\n })(nodeInterop)\r\n}\r\n\r\nfunction _interopRequireWildcard(obj, nodeInterop) {\r\n if (!nodeInterop && obj && obj.__esModule) {\r\n return obj\r\n }\r\n if (null === obj || \"object\" !== _typeof(obj) && \"function\" !== typeof obj) {\r\n return {\r\n default: obj\r\n }\r\n }\r\n var cache = _getRequireWildcardCache(nodeInterop);\r\n if (cache && cache.has(obj)) {\r\n return cache.get(obj)\r\n }\r\n var newObj = {};\r\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\r\n for (var key in obj) {\r\n if (\"default\" !== key && Object.prototype.hasOwnProperty.call(obj, key)) {\r\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\r\n if (desc && (desc.get || desc.set)) {\r\n Object.defineProperty(newObj, key, desc)\r\n } else {\r\n newObj[key] = obj[key]\r\n }\r\n }\r\n }\r\n newObj.default = obj;\r\n if (cache) {\r\n cache.set(obj, newObj)\r\n }\r\n return newObj\r\n}\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 (!(0, _type.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 ((0, _type.isDefined)(prevValue) && (0, _type.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: function(e) {\r\n return percentOfParent(e, ROW)\r\n },\r\n percentOfRowTotal: function(e) {\r\n return percentOfParent(e, COLUMN)\r\n },\r\n percentOfColumnGrandTotal: function(e) {\r\n return _percentOfGrandTotal(e, ROW)\r\n },\r\n percentOfRowGrandTotal: function(e) {\r\n return _percentOfGrandTotal(e, COLUMN)\r\n },\r\n percentOfGrandTotal: function(e) {\r\n return _percentOfGrandTotal(e)\r\n }\r\n};\r\nexports.summaryDictionary = summaryDictionary;\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 ((0, _type.isDefined)(prevValue) && (0, _type.isDefined)(value)) {\r\n value = prevValue + value\r\n } else if ((0, _type.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 (!(0, _type.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 = (0, _m_widget_utils.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\nexports.Cell = SummaryCell;\r\nSummaryCell.prototype = (0, _extend.extend)(SummaryCell.prototype, {\r\n _getPath: function(dimension) {\r\n return this[getPathFieldName(dimension)]\r\n },\r\n _getDimension: function(dimension) {\r\n dimension = dimension === ROW ? \"rows\" : \"columns\";\r\n return this._descriptions[dimension]\r\n },\r\n _createCell: function(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: function(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: function(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: function(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: function(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: function(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: function() {\r\n return this._cell\r\n },\r\n field: function(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: function(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: function(field, value) {\r\n var config = {};\r\n var fieldPos = getFieldPos(this._descriptions, field, this._fieldsCache);\r\n var area = fieldPos.area;\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: function(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 ((0, _type.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: function(field) {\r\n var fieldIndex = this._fieldIndex;\r\n if ((0, _type.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 summaryDisplayMode = field.summaryDisplayMode;\r\n var crossGroupCalculation = field.allowCrossGroupCalculation;\r\n var expression = NULL;\r\n if ((0, _type.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 _m_widget_utils.default.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 originalCell = values.originalCell;\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 (0, _m_widget_utils.foreachTree)(columnElements, (function(columnPath) {\r\n columnPath[0].isEmpty = []\r\n }), false);\r\n (0, _m_widget_utils.foreachTree)(rowElements, (function(rowPath) {\r\n var rowItem = rowPath[0];\r\n rowItem.isEmpty = [];\r\n data.values[rowItem.index] = data.values[rowItem.index] || [];\r\n (0, _m_widget_utils.foreachTree)(columnElements, (function(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 (0, _m_widget_utils.foreachTree)(rowElements, (function(rowPath) {\r\n var rowItem = rowPath[0];\r\n data.values[rowItem.index] = data.values[rowItem.index] || [];\r\n (0, _m_widget_utils.foreachTree)(columnElements, (function(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 ((0, _type.isDefined)(fieldId)) {\r\n var index = (0, _m_widget_utils.findField)(fields, fieldId);\r\n var field = fields[index];\r\n if (!indices[index] && field && !(0, _type.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\nvar _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\nexports.default = _default;\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/pivot_grid/xmla_store/m_xmla_store.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.default = exports.XmlaStore = void 0;\r\nvar _class = _interopRequireDefault(require(\"../../../../core/class\"));\r\nvar _renderer = _interopRequireDefault(require(\"../../../../core/renderer\"));\r\nvar _common = require(\"../../../../core/utils/common\");\r\nvar _deferred = require(\"../../../../core/utils/deferred\");\r\nvar _extend = require(\"../../../../core/utils/extend\");\r\nvar _iterator = require(\"../../../../core/utils/iterator\");\r\nvar _string = require(\"../../../../core/utils/string\");\r\nvar _type = require(\"../../../../core/utils/type\");\r\nvar _window = require(\"../../../../core/utils/window\");\r\nvar _errors = require(\"../../../../data/errors\");\r\nvar _language_codes = require(\"../../../../localization/language_codes\");\r\nvar _m_widget_utils = _interopRequireWildcard(require(\"../m_widget_utils\"));\r\n\r\nfunction _getRequireWildcardCache(nodeInterop) {\r\n if (\"function\" !== typeof WeakMap) {\r\n return null\r\n }\r\n var cacheBabelInterop = new WeakMap;\r\n var cacheNodeInterop = new WeakMap;\r\n return (_getRequireWildcardCache = function(nodeInterop) {\r\n return nodeInterop ? cacheNodeInterop : cacheBabelInterop\r\n })(nodeInterop)\r\n}\r\n\r\nfunction _interopRequireWildcard(obj, nodeInterop) {\r\n if (!nodeInterop && obj && obj.__esModule) {\r\n return obj\r\n }\r\n if (null === obj || \"object\" !== _typeof(obj) && \"function\" !== typeof obj) {\r\n return {\r\n default: obj\r\n }\r\n }\r\n var cache = _getRequireWildcardCache(nodeInterop);\r\n if (cache && cache.has(obj)) {\r\n return cache.get(obj)\r\n }\r\n var newObj = {};\r\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\r\n for (var key in obj) {\r\n if (\"default\" !== key && Object.prototype.hasOwnProperty.call(obj, key)) {\r\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\r\n if (desc && (desc.get || desc.set)) {\r\n Object.defineProperty(newObj, key, desc)\r\n } else {\r\n newObj[key] = obj[key]\r\n }\r\n }\r\n }\r\n newObj.default = obj;\r\n if (cache) {\r\n cache.set(obj, newObj)\r\n }\r\n return newObj\r\n}\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _toConsumableArray(arr) {\r\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread()\r\n}\r\n\r\nfunction _nonIterableSpread() {\r\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _unsupportedIterableToArray(o, minLen) {\r\n if (!o) {\r\n return\r\n }\r\n if (\"string\" === typeof o) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n var n = Object.prototype.toString.call(o).slice(8, -1);\r\n if (\"Object\" === n && o.constructor) {\r\n n = o.constructor.name\r\n }\r\n if (\"Map\" === n || \"Set\" === n) {\r\n return Array.from(o)\r\n }\r\n if (\"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n}\r\n\r\nfunction _iterableToArray(iter) {\r\n if (\"undefined\" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter[\"@@iterator\"]) {\r\n return Array.from(iter)\r\n }\r\n}\r\n\r\nfunction _arrayWithoutHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return _arrayLikeToArray(arr)\r\n }\r\n}\r\n\r\nfunction _arrayLikeToArray(arr, len) {\r\n if (null == len || len > arr.length) {\r\n len = arr.length\r\n }\r\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\r\n arr2[i] = arr[i]\r\n }\r\n return arr2\r\n}\r\nvar window = (0, _window.getWindow)();\r\nvar XmlaStore = _class.default.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.Deferred;\r\n var beforeSend = requestOptions.beforeSend;\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 ((0, _type.isFunction)(beforeSend)) {\r\n beforeSend(ajaxSettings)\r\n }\r\n _m_widget_utils.default.sendRequest(ajaxSettings).fail((function() {\r\n deferred.reject(arguments)\r\n })).done((function(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.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 = (0, _language_codes.getLanguageId)();\r\n if (void 0 !== languageId) {\r\n return (0, _string.format)(\"{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 searchValue = field.searchValue;\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 ? (0, _string.format)(\"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 dataField = field.dataField;\r\n var prevHierarchyName = dimensions[i - 1] && dimensions[i - 1].hierarchyName;\r\n var hierarchyName = field.hierarchyName;\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 = (0, _string.format)(\"{{0}}\", arg);\r\n if (take) {\r\n var sortBy = (field.hierarchyName || field.dataField) + (\"displayText\" === field.sortBy ? \".MEMBER_CAPTION\" : \".MEMBER_VALUE\");\r\n arg = (0, _string.format)(\"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 = (0, _string.format)(\"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((0, _string.format)(\"{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 = (0, _string.format)(\"{{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 = (0, _m_widget_utils.getExpandedLevel)(options, axisName);\r\n fillCrossJoins(crossJoins, [], expandLevel, expandIndex, path, options, axisName, cellsString, \"rows\" === axisName ? options.rowTake : options.columnTake, options.totalsOnly);\r\n (0, _iterator.each)(expandedPaths, (function(_, 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 = (0, _string.format)(\"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 = (0, _string.format)(\"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 (0, _string.format)(\"{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 (0, _iterator.each)(fields, (function(_, field) {\r\n var dataField = field.dataField;\r\n var filterExpression = [];\r\n var filterValues = field.filterValues || [];\r\n var filterStringExpression;\r\n if (field.hierarchyName && (0, _type.isNumeric)(field.groupIndex)) {\r\n return\r\n }(0, _iterator.each)(filterValues, (function(_, 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 = (0, _string.format)(\"{{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 (0, _iterator.each)([columnsFilter, rowsFilter, filter], (function(_, filter) {\r\n if (filter) {\r\n from = (0, _string.format)(\"(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 + (0, _string.format)(mdx, generateFrom(generateAxisFieldsFilter(columns), generateAxisFieldsFilter(rows), generateAxisFieldsFilter(filters || []), cubeName), slice.length ? (0, _string.format)(\"WHERE ({0})\", slice.join(\",\")) : \"\", select)\r\n }\r\n return mdxString\r\n }\r\n\r\n function prepareDataFields(withArray, valueFields) {\r\n return (0, _iterator.map)(valueFields, (function(cell) {\r\n if ((0, _type.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 (0, _iterator.each)(path, (function(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 (0, _iterator.each)(path, (function(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 }(0, _iterator.each)(axes[1], (function() {\r\n var row = [];\r\n cells.push(row);\r\n (0, _iterator.each)(axes[0], (function() {\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((function(key) {\r\n _errors.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 = (0, _type.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 (!(0, _type.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((function(result, name) {\r\n return result.concat(item.children.grandTotalHash[name].children)\r\n }), []));\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((function(child) {\r\n return child.hierarchyName === firstChild.hierarchyName\r\n }));\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 (0, _iterator.each)(axisTuples, (function(tupleIndex, members) {\r\n var parentItem = {\r\n children: result\r\n };\r\n var dataIndex = (0, _type.isDefined)(measureCount) ? Math.floor(tupleIndex / measureCount) : tupleIndex;\r\n (0, _iterator.each)(members, (function(_, 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 grandTotalHash = parentItem.children.grandTotalHash;\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 (0, _m_widget_utils.foreachTree)(parentItem.children, (function(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 (0, _iterator.each)(parentItem.children || [], (function(_, 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 = (0, _renderer.default)([].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.errors.Error(\"E4000\", description);\r\n _errors.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 measureCount = parseOptions.measureCount;\r\n var axes = function(xml, skipValues) {\r\n var axes = [];\r\n (0, _iterator.each)(xml.getElementsByTagName(\"Axis\"), (function(_, axisElement) {\r\n var name = axisElement.getAttribute(\"name\");\r\n var axis = [];\r\n var index = 0;\r\n if (0 === name.indexOf(\"Axis\") && (0, _type.isNumeric)(getNumber(name.substr(4)))) {\r\n axes.push(axis);\r\n (0, _iterator.each)(axisElement.getElementsByTagName(\"Tuple\"), (function(_, 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\"), (0, _type.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 (0, _iterator.each)(xml.getElementsByTagName(\"row\"), (function(_, 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, (function(_, group1) {\r\n return String.fromCharCode(parseInt(group1, 16))\r\n }));\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 = (0, _renderer.default)(\"
    \").text(mdxString).html();\r\n return execXMLA(storeOptions, (0, _string.format)('{0}{1}TrueMicrosoft SQL Server Management Studio3600{2}', mdxString, storeOptions.catalog, getLocaleIdProperty()))\r\n }\r\n return {\r\n ctor: function(options) {\r\n this._options = options\r\n },\r\n getFields: function() {\r\n var options = this._options;\r\n var catalog = options.catalog;\r\n var cube = options.cube;\r\n var localeIdProperty = getLocaleIdProperty();\r\n var dimensionsRequest = execXMLA(options, (0, _string.format)(discover, catalog, cube, \"MDSCHEMA_DIMENSIONS\", localeIdProperty));\r\n var measuresRequest = execXMLA(options, (0, _string.format)(discover, catalog, cube, \"MDSCHEMA_MEASURES\", localeIdProperty));\r\n var hierarchiesRequest = execXMLA(options, (0, _string.format)(discover, catalog, cube, \"MDSCHEMA_HIERARCHIES\", localeIdProperty));\r\n var levelsRequest = execXMLA(options, (0, _string.format)(discover, catalog, cube, \"MDSCHEMA_LEVELS\", localeIdProperty));\r\n var result = new _deferred.Deferred;\r\n (0, _deferred.when)(dimensionsRequest, measuresRequest, hierarchiesRequest, levelsRequest).then((function(dimensionsResponse, measuresResponse, hierarchiesResponse, levelsResponse) {\r\n execXMLA(options, (0, _string.format)(discover, catalog, cube, \"MDSCHEMA_MEASUREGROUPS\", localeIdProperty)).done((function(measureGroupsResponse) {\r\n var dimensions = function(xml) {\r\n var result = {\r\n names: {},\r\n defaultHierarchies: {}\r\n };\r\n (0, _iterator.each)((0, _renderer.default)(xml).find(\"row\"), (function() {\r\n var $row = (0, _renderer.default)(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 (0, _iterator.each)(xml.getElementsByTagName(\"row\"), (function(_, 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 (0, _iterator.each)(levels, (function(_, level) {\r\n levelsByHierarchy[level.hierarchyName] = levelsByHierarchy[level.hierarchyName] || [];\r\n levelsByHierarchy[level.hierarchyName].push(level)\r\n }));\r\n (0, _iterator.each)(hierarchies, (function(_, 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: function(options) {\r\n var result = new _deferred.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((0, _extend.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 = function() {\r\n if (mdxString) {\r\n (0, _deferred.when)(sendQuery(storeOptions, mdxString), rowCountMdx && sendQuery(storeOptions, rowCountMdx)).done((function(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 = _toConsumableArray(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 = _toConsumableArray(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: function() {\r\n return true\r\n },\r\n getDrillDownItems: function(options, params) {\r\n var result = new _deferred.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 maxRowCount = params.maxRowCount;\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 (0, _deferred.when)(sendQuery(storeOptions, mdxString)).done((function(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 tagName = children[j].tagName;\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: _common.noop,\r\n filter: _common.noop\r\n }\r\n}()).include(_m_widget_utils.storeDrillDownMixin);\r\nexports.XmlaStore = XmlaStore;\r\nvar _default = {\r\n XmlaStore: XmlaStore\r\n};\r\nexports.default = _default;\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/tree_list/data_controller/m_data_controller.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.DataController = void 0;\r\nvar _common = require(\"../../../../core/utils/common\");\r\nvar _deferred = require(\"../../../../core/utils/deferred\");\r\nvar _extend = require(\"../../../../core/utils/extend\");\r\nvar _m_data_controller = require(\"../../../grids/grid_core/data_controller/m_data_controller\");\r\nvar _m_data_source_adapter = _interopRequireDefault(require(\"../data_source_adapter/m_data_source_adapter\"));\r\nvar _m_core = _interopRequireDefault(require(\"../m_core\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar DataController = _m_data_controller.dataControllerModule.controllers.data.inherit({\r\n _getDataSourceAdapter: function() {\r\n return _m_data_source_adapter.default\r\n },\r\n _getNodeLevel: function(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: function(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: function() {\r\n this._dataSource.load()\r\n },\r\n _isItemEquals: function(item1, item2) {\r\n if (!this.callBase.apply(this, arguments)) {\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 true\r\n },\r\n init: function() {\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: function(data) {\r\n var dataSource = this._dataSource;\r\n if (dataSource) {\r\n return dataSource.keyOf(data)\r\n }\r\n },\r\n key: function() {\r\n var dataSource = this._dataSource;\r\n if (dataSource) {\r\n return dataSource.getKeyExpr()\r\n }\r\n },\r\n publicMethods: function() {\r\n return this.callBase().concat([\"expandRow\", \"collapseRow\", \"isRowExpanded\", \"getRootNode\", \"getNodeByKey\", \"loadDescendants\", \"forEachNode\"])\r\n },\r\n changeRowExpand: function(key) {\r\n var _this = this;\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((function() {\r\n _this.executeAction(isExpanded ? \"onRowCollapsed\" : \"onRowExpanded\", args)\r\n }))\r\n }\r\n }\r\n return (new _deferred.Deferred).resolve()\r\n },\r\n isRowExpanded: function(key, cache) {\r\n return this._dataSource && this._dataSource.isRowExpanded(key, cache)\r\n },\r\n expandRow: function(key) {\r\n if (!this.isRowExpanded(key)) {\r\n return this.changeRowExpand(key)\r\n }\r\n return (new _deferred.Deferred).resolve()\r\n },\r\n collapseRow: function(key) {\r\n if (this.isRowExpanded(key)) {\r\n return this.changeRowExpand(key)\r\n }\r\n return (new _deferred.Deferred).resolve()\r\n },\r\n getRootNode: function() {\r\n return this._dataSource && this._dataSource.getRootNode()\r\n },\r\n optionChanged: function(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 && !(0, _common.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: function(key) {\r\n if (!this._dataSource) {\r\n return\r\n }\r\n return this._dataSource.getNodeByKey(key)\r\n },\r\n getChildNodeKeys: function(parentKey) {\r\n if (!this._dataSource) {\r\n return\r\n }\r\n return this._dataSource.getChildNodeKeys(parentKey)\r\n },\r\n loadDescendants: function(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: function() {\r\n this._dataSource.forEachNode.apply(this, arguments)\r\n }\r\n});\r\nexports.DataController = DataController;\r\n_m_core.default.registerModule(\"data\", {\r\n defaultOptions: function() {\r\n return (0, _extend.extend)({}, _m_data_controller.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 },\r\n controllers: {\r\n data: DataController\r\n }\r\n});\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/tree_list/data_source_adapter/m_data_source_adapter.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.default = void 0;\r\nvar _common = require(\"../../../../core/utils/common\");\r\nvar _data = require(\"../../../../core/utils/data\");\r\nvar _deferred = require(\"../../../../core/utils/deferred\");\r\nvar _extend = require(\"../../../../core/utils/extend\");\r\nvar _iterator = require(\"../../../../core/utils/iterator\");\r\nvar _type = require(\"../../../../core/utils/type\");\r\nvar _array_store = _interopRequireDefault(require(\"../../../../data/array_store\"));\r\nvar _array_utils = require(\"../../../../data/array_utils\");\r\nvar _query = _interopRequireDefault(require(\"../../../../data/query\"));\r\nvar _store_helper = _interopRequireDefault(require(\"../../../../data/store_helper\"));\r\nvar _ui = _interopRequireDefault(require(\"../../../../ui/widget/ui.errors\"));\r\nvar _m_data_source_adapter = _interopRequireDefault(require(\"../../../grids/grid_core/data_source_adapter/m_data_source_adapter\"));\r\nvar _m_utils = _interopRequireDefault(require(\"../../../grids/grid_core/m_utils\"));\r\nvar _m_core = _interopRequireDefault(require(\"../m_core\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar queryByOptions = _store_helper.default.queryByOptions;\r\nvar DEFAULT_KEY_EXPRESSION = \"id\";\r\nvar isFullBranchFilterMode = function(that) {\r\n return \"fullBranch\" === that.option(\"filterMode\")\r\n};\r\nvar DataSourceAdapterTreeList = _m_data_source_adapter.default.inherit({\r\n _createKeyGetter: function() {\r\n var keyExpr = this.getKeyExpr();\r\n return (0, _data.compileGetter)(keyExpr)\r\n },\r\n _createKeySetter: function() {\r\n var keyExpr = this.getKeyExpr();\r\n if ((0, _type.isFunction)(keyExpr)) {\r\n return keyExpr\r\n }\r\n return (0, _data.compileSetter)(keyExpr)\r\n },\r\n createParentIdGetter: function() {\r\n return (0, _data.compileGetter)(this.option(\"parentIdExpr\"))\r\n },\r\n createParentIdSetter: function() {\r\n var parentIdExpr = this.option(\"parentIdExpr\");\r\n if ((0, _type.isFunction)(parentIdExpr)) {\r\n return parentIdExpr\r\n }\r\n return (0, _data.compileSetter)(parentIdExpr)\r\n },\r\n _createItemsGetter: function() {\r\n return (0, _data.compileGetter)(this.option(\"itemsExpr\"))\r\n },\r\n _createHasItemsGetter: function() {\r\n var hasItemsExpr = this.option(\"hasItemsExpr\");\r\n return hasItemsExpr && (0, _data.compileGetter)(hasItemsExpr)\r\n },\r\n _createHasItemsSetter: function() {\r\n var hasItemsExpr = this.option(\"hasItemsExpr\");\r\n if ((0, _type.isFunction)(hasItemsExpr)) {\r\n return hasItemsExpr\r\n }\r\n return hasItemsExpr && (0, _data.compileSetter)(hasItemsExpr)\r\n },\r\n _updateIndexByKeyObject: function(items) {\r\n var that = this;\r\n that._indexByKey = {};\r\n (0, _iterator.each)(items, (function(index, item) {\r\n that._indexByKey[item.key] = index\r\n }))\r\n },\r\n _calculateHasItems: function(node, options) {\r\n var parentIds = options.storeLoadOptions.parentIds;\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: function(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: function(item, rootValue, nodeByKey) {\r\n var key = this._keyGetter(item);\r\n var parentId = this._parentIdGetter(item);\r\n parentId = (0, _type.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: function(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: function(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 = (0, _array_utils.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 (!(0, _type.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: function(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 _m_utils.default.combineFilters(parentIdFilters, \"or\")\r\n },\r\n _customizeRemoteOperations: function(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: function(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: function(options) {\r\n var rootValue = this.option(\"rootValue\");\r\n var parentIdExpr = this.option(\"parentIdExpr\");\r\n var parentIds = options.storeLoadOptions.parentIds;\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: function(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: function(data, options, needChildren) {\r\n var _this = this;\r\n var that = this;\r\n var filter;\r\n var needLocalFiltering;\r\n var _that$_generateInfoTo = that._generateInfoToLoad(data, needChildren),\r\n keys = _that$_generateInfoTo.keys,\r\n keyMap = _that$_generateInfoTo.keyMap;\r\n var d = new _deferred.Deferred;\r\n var isRemoteFiltering = options.remoteOperations.filtering;\r\n var maxFilterLengthInRequest = that.option(\"maxFilterLengthInRequest\");\r\n var loadOptions = isRemoteFiltering ? options.storeLoadOptions : options.loadOptions;\r\n\r\n function concatLoadedData(loadedData) {\r\n if (isRemoteFiltering) {\r\n that._cachedStoreData = that._cachedStoreData.concat(loadedData)\r\n }\r\n return data.concat(loadedData)\r\n }\r\n if (!keys.length) {\r\n return d.resolve(data)\r\n }\r\n var cachedNodes = keys.map((function(id) {\r\n return _this.getNodeByKey(id)\r\n })).filter((function(node) {\r\n return node && node.data\r\n }));\r\n if (cachedNodes.length === keys.length) {\r\n if (needChildren) {\r\n cachedNodes = cachedNodes.reduce((function(result, node) {\r\n return result.concat(node.children)\r\n }), [])\r\n }\r\n if (cachedNodes.length) {\r\n return that._loadParentsOrChildren(concatLoadedData(cachedNodes.map((function(node) {\r\n return node.data\r\n }))), options, needChildren)\r\n }\r\n }\r\n var keyExpr = needChildren ? that.option(\"parentIdExpr\") : that.getKeyExpr();\r\n filter = that._createIdFilter(keyExpr, keys);\r\n var filterLength = encodeURI(JSON.stringify(filter)).length;\r\n if (filterLength > maxFilterLengthInRequest) {\r\n filter = function(itemData) {\r\n return keyMap[needChildren ? that._parentIdGetter(itemData) : that._keyGetter(itemData)]\r\n };\r\n needLocalFiltering = isRemoteFiltering\r\n }\r\n loadOptions = (0, _extend.extend)({}, loadOptions, {\r\n filter: !needLocalFiltering ? filter : null\r\n });\r\n var store = options.fullData ? new _array_store.default(options.fullData) : that._dataSource.store();\r\n that.loadFromStore(loadOptions, store).done((function(loadedData) {\r\n if (loadedData.length) {\r\n if (needLocalFiltering) {\r\n loadedData = (0, _query.default)(loadedData).filter(filter).toArray()\r\n }\r\n that._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: function(data, options) {\r\n return this._loadParentsOrChildren(data, options)\r\n },\r\n _loadChildrenIfNeed: function(data, options) {\r\n if (isFullBranchFilterMode(this)) {\r\n return this._loadParentsOrChildren(data, options, true)\r\n }\r\n return (0, _deferred.when)(data)\r\n },\r\n _updateHasItemsMap: function(options) {\r\n var parentIds = options.storeLoadOptions.parentIds;\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: function() {\r\n return {\r\n key: function() {\r\n return \"key\"\r\n },\r\n keyOf: function(data) {\r\n return data.key\r\n }\r\n }\r\n },\r\n _processChanges: function(changes) {\r\n var _this2 = this;\r\n var processedChanges = [];\r\n changes.forEach((function(change) {\r\n if (\"insert\" === change.type) {\r\n processedChanges = processedChanges.concat(_this2._applyInsert(change))\r\n } else if (\"remove\" === change.type) {\r\n processedChanges = processedChanges.concat(_this2._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: function(e) {\r\n var _this3 = this;\r\n this.callBase.apply(this, arguments);\r\n var processChanges = function(changes) {\r\n var changesToProcess = changes.filter((function(item) {\r\n return \"update\" === item.type\r\n }));\r\n return _this3._processChanges(changesToProcess)\r\n };\r\n e.postProcessChanges = processChanges\r\n },\r\n _applyBatch: function(changes) {\r\n var processedChanges = this._processChanges(changes);\r\n this.callBase(processedChanges)\r\n },\r\n _setHasItems: function(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: function(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: function() {\r\n return false\r\n },\r\n _applyRemove: function(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((function(key) {\r\n return {\r\n type: change.type,\r\n key: key\r\n }\r\n })))\r\n }\r\n }\r\n return baseChanges\r\n },\r\n _handleDataLoaded: function(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((0, _query.default)(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: function(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((function(node) {\r\n return node.visible\r\n })).length) {\r\n needToExpand = true\r\n } else if (node.children.length) {\r\n _m_core.default.foreachNodes(node.children, (function(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: function(options, visibleItems) {\r\n var data = options.data;\r\n var parentIds = options.storeLoadOptions.parentIds;\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.Deferred).reject(_ui.default.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: function(options) {\r\n var that = this;\r\n var data = options.data;\r\n var callBase = that.callBase;\r\n var filter = options.storeLoadOptions.filter || options.loadOptions.filter;\r\n var filterMode = that.option(\"filterMode\");\r\n var visibleItems;\r\n var parentIds = options.storeLoadOptions.parentIds;\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.Deferred;\r\n if (\"matchOnly\" === filterMode) {\r\n visibleItems = data\r\n }\r\n return that._loadParents(data, options).done((function(data) {\r\n that._loadChildrenIfNeed(data, options).done((function(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: function(_ref) {\r\n var changes = _ref.changes;\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((function(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: function(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: function() {\r\n var store = this.store();\r\n var key = store && store.key();\r\n var keyExpr = this.option(\"keyExpr\");\r\n if ((0, _type.isDefined)(key) && (0, _type.isDefined)(keyExpr)) {\r\n if (!(0, _common.equalByValue)(key, keyExpr)) {\r\n throw _ui.default.Error(\"E1044\")\r\n }\r\n }\r\n return key || keyExpr || DEFAULT_KEY_EXPRESSION\r\n },\r\n keyOf: function(data) {\r\n return this._keyGetter && this._keyGetter(data)\r\n },\r\n parentKeyOf: function(data) {\r\n return this._parentIdGetter && this._parentIdGetter(data)\r\n },\r\n getRootNode: function() {\r\n return this._rootNode\r\n },\r\n totalItemsCount: function() {\r\n return this._totalItemsCount + this._totalCountCorrection\r\n },\r\n isRowExpanded: function(key, cache) {\r\n if (cache) {\r\n var isExpandedByKey = cache.isExpandedByKey;\r\n if (!isExpandedByKey) {\r\n isExpandedByKey = cache.isExpandedByKey = {};\r\n this.option(\"expandedRowKeys\").forEach((function(key) {\r\n isExpandedByKey[key] = true\r\n }))\r\n }\r\n return !!isExpandedByKey[key]\r\n }\r\n var indexExpandedNodeKey = _m_utils.default.getIndexByKey(key, this.option(\"expandedRowKeys\"), null);\r\n return indexExpandedNodeKey >= 0\r\n },\r\n _changeRowExpandCore: function(key) {\r\n var expandedRowKeys = this.option(\"expandedRowKeys\").slice();\r\n var indexExpandedNodeKey = _m_utils.default.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: function(key) {\r\n this._changeRowExpandCore(key);\r\n return this._isNodesInitializing ? (new _deferred.Deferred).resolve() : this.load()\r\n },\r\n getNodeByKey: function(key) {\r\n if (this._nodeByKey) {\r\n return this._nodeByKey[key]\r\n }\r\n },\r\n getNodeLeafKeys: function() {\r\n var that = this;\r\n var result = [];\r\n var keys = that._rootNode ? [that._rootNode.key] : [];\r\n keys.forEach((function(key) {\r\n var node = that.getNodeByKey(key);\r\n node && _m_core.default.foreachNodes([node], (function(childNode) {\r\n !childNode.children.length && result.push(childNode.key)\r\n }))\r\n }));\r\n return result\r\n },\r\n getChildNodeKeys: function(parentKey) {\r\n var node = this.getNodeByKey(parentKey);\r\n var childrenKeys = [];\r\n node && _m_core.default.foreachNodes(node.children, (function(childNode) {\r\n childrenKeys.push(childNode.key)\r\n }));\r\n return childrenKeys\r\n },\r\n loadDescendants: function(keys, childrenOnly) {\r\n var that = this;\r\n var d = new _deferred.Deferred;\r\n var remoteOperations = that.remoteOperations();\r\n if ((0, _type.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((function() {\r\n if (!childrenOnly) {\r\n var childKeys = function(that, keys) {\r\n var childKeys = [];\r\n keys.forEach((function(key) {\r\n var node = that.getNodeByKey(key);\r\n node && node.children.forEach((function(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: function() {\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 _m_core.default.foreachNodes(nodes, callback)\r\n }\r\n});\r\nvar _default = {\r\n extend: function(extender) {\r\n DataSourceAdapterTreeList = DataSourceAdapterTreeList.inherit(extender)\r\n },\r\n create: function(component) {\r\n return new DataSourceAdapterTreeList(component)\r\n }\r\n};\r\nexports.default = _default;\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/tree_list/editing/m_editing.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nrequire(\"../module_not_extended/editor_factory\");\r\nvar _renderer = _interopRequireDefault(require(\"../../../../core/renderer\"));\r\nvar _deferred = require(\"../../../../core/utils/deferred\");\r\nvar _extend = require(\"../../../../core/utils/extend\");\r\nvar _type = require(\"../../../../core/utils/type\");\r\nvar _message = _interopRequireDefault(require(\"../../../../localization/message\"));\r\nvar _ui = _interopRequireDefault(require(\"../../../../ui/widget/ui.errors\"));\r\nvar _m_editing = require(\"../../../grids/grid_core/editing/m_editing\");\r\nvar _m_utils = _interopRequireDefault(require(\"../../../grids/grid_core/m_utils\"));\r\nvar _m_core = _interopRequireDefault(require(\"../m_core\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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 = _m_editing.editingModule.controllers.editing.inherit({\r\n _generateNewItem: function(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: function() {\r\n return true\r\n },\r\n _setInsertAfterOrBeforeKey: function(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: function(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 = _m_utils.default.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: function() {\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: function(button, options) {\r\n var result = this.callBase.apply(this, arguments);\r\n var row = options.row;\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: function(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: function(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 (!(0, _type.isDefined)(key)) {\r\n throw _ui.default.Error(\"E1045\")\r\n }\r\n }\r\n return result\r\n },\r\n addRowByRowIndex: function(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: function(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: function(data, parentKey, oldEditRowIndex) {\r\n var _this = this;\r\n var callBase = this.callBase;\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.Deferred;\r\n dataController.expandRow(parentKey).done((function() {\r\n setTimeout((function() {\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: function(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: function(options) {\r\n return this._allowEditAction(\"allowAdding\", options)\r\n },\r\n _needToCloseEditableCell: function($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: function() {\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 = _m_editing.editingModule.extenders.views.rowsView._rowClick;\r\nvar originalRowDblClick = _m_editing.editingModule.extenders.views.rowsView._rowDblClick;\r\nvar validateClick = function(e) {\r\n var $targetElement = (0, _renderer.default)(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 = (0, _renderer.default)(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 = (0, _extend.extend)({}, _m_editing.editingModule.extenders.views.rowsView, {\r\n _renderCellCommandContent: function($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: function(e) {\r\n if (validateClick.call(this, e)) {\r\n this.callBase.apply(this, arguments)\r\n }\r\n },\r\n _rowDblClick: function(e) {\r\n if (validateClick.call(this, e)) {\r\n this.callBase.apply(this, arguments)\r\n }\r\n }\r\n});\r\n_m_core.default.registerModule(\"editing\", {\r\n defaultOptions: function() {\r\n return (0, _extend.extend)(true, _m_editing.editingModule.defaultOptions(), {\r\n editing: {\r\n texts: {\r\n addRowToNode: _message.default.format(\"dxTreeList-editingAddRowToNode\")\r\n }\r\n }\r\n })\r\n },\r\n controllers: {\r\n editing: EditingController\r\n },\r\n extenders: {\r\n controllers: (0, _extend.extend)(true, {}, _m_editing.editingModule.extenders.controllers, {\r\n data: {\r\n changeRowExpand: function() {\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: _m_editing.editingModule.extenders.views.headerPanel\r\n }\r\n }\r\n});\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/tree_list/m_columns_controller.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.ColumnsController = void 0;\r\nvar _type = require(\"../../../core/utils/type\");\r\nvar _m_columns_controller = require(\"../../grids/grid_core/columns_controller/m_columns_controller\");\r\nvar _m_core = _interopRequireDefault(require(\"./m_core\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar ColumnsController = _m_columns_controller.columnsControllerModule.controllers.columns.inherit({\r\n _getFirstItems: function(dataSourceAdapter) {\r\n return this.callBase(dataSourceAdapter).map((function(node) {\r\n return node.data\r\n }))\r\n },\r\n getFirstDataColumnIndex: function() {\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 (!(0, _type.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\nexports.ColumnsController = ColumnsController;\r\n_m_core.default.registerModule(\"columns\", {\r\n defaultOptions: _m_columns_controller.columnsControllerModule.defaultOptions,\r\n controllers: {\r\n columns: ColumnsController\r\n }\r\n});\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/tree_list/m_core.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.default = void 0;\r\nvar _extend = require(\"../../../core/utils/extend\");\r\nvar _m_modules = _interopRequireDefault(require(\"../../grids/grid_core/m_modules\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar _default = (0, _extend.extend)({}, _m_modules.default, {\r\n modules: [],\r\n foreachNodes: function(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\nexports.default = _default;\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/tree_list/m_focus.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _deferred = require(\"../../../core/utils/deferred\");\r\nvar _extend = require(\"../../../core/utils/extend\");\r\nvar _m_focus = require(\"../../grids/grid_core/focus/m_focus\");\r\nvar _m_core = _interopRequireDefault(require(\"./m_core\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction findIndex(items, callback) {\r\n var result = -1;\r\n items.forEach((function(node, index) {\r\n if (callback(node)) {\r\n result = index\r\n }\r\n }));\r\n return result\r\n}\r\n_m_core.default.registerModule(\"focus\", (0, _extend.extend)(true, {}, _m_focus.focusModule, {\r\n extenders: {\r\n controllers: {\r\n data: {\r\n changeRowExpand: function(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: function(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: function(key) {\r\n var dataSource = this._dataSource;\r\n var node = this.getNodeByKey(key);\r\n var d = new _deferred.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((function(items) {\r\n var parentData = items[0];\r\n if (parentData) {\r\n d.resolve(dataSource.parentKeyOf(parentData))\r\n } else {\r\n d.reject()\r\n }\r\n })).fail(d.reject)\r\n }\r\n return d.promise()\r\n },\r\n expandAscendants: function(key) {\r\n var that = this;\r\n var dataSource = that._dataSource;\r\n var d = new _deferred.Deferred;\r\n that.getParentKey(key).done((function(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: function(key) {\r\n var that = this;\r\n var dataSource = that._dataSource;\r\n var d = new _deferred.Deferred;\r\n that.expandAscendants(key).done((function() {\r\n dataSource.load({\r\n parentIds: []\r\n }).done((function(nodes) {\r\n var offset = findIndex(nodes, (function(node) {\r\n return that.keyOf(node.data) === key\r\n }));\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 (cjs/__internal/grids/tree_list/m_grid_view.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _m_grid_view = require(\"../../grids/grid_core/views/m_grid_view\");\r\nvar _m_core = _interopRequireDefault(require(\"./m_core\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar GridView = _m_grid_view.gridViewModule.views.gridView.inherit({\r\n _getWidgetAriaLabel: function() {\r\n return \"dxTreeList-ariaTreeList\"\r\n },\r\n _getTableRoleName: function() {\r\n return \"treegrid\"\r\n }\r\n});\r\n_m_core.default.registerModule(\"gridView\", {\r\n defaultOptions: _m_grid_view.gridViewModule.defaultOptions,\r\n controllers: _m_grid_view.gridViewModule.controllers,\r\n views: {\r\n gridView: GridView\r\n },\r\n extenders: {\r\n controllers: {\r\n resizing: {\r\n _toggleBestFitMode: function(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\n }\r\n }\r\n});\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/tree_list/m_keyboard_navigation.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _extend = require(\"../../../core/utils/extend\");\r\nvar _m_keyboard_navigation = require(\"../../grids/grid_core/keyboard_navigation/m_keyboard_navigation\");\r\nvar _m_core = _interopRequireDefault(require(\"./m_core\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n_m_core.default.registerModule(\"keyboardNavigation\", (0, _extend.extend)(true, {}, _m_keyboard_navigation.keyboardNavigationModule, {\r\n extenders: {\r\n controllers: {\r\n keyboardNavigation: {\r\n _leftRightKeysHandler: function(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 (cjs/__internal/grids/tree_list/m_master_detail.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _extend = require(\"../../../core/utils/extend\");\r\nvar _m_master_detail = require(\"../../grids/grid_core/master_detail/m_master_detail\");\r\nvar _m_core = _interopRequireDefault(require(\"./m_core\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n_m_core.default.registerModule(\"masterDetail\", (0, _extend.extend)(true, {}, _m_master_detail.masterDetailModule, {\r\n extenders: {\r\n controllers: {\r\n data: {\r\n isRowExpanded: function() {\r\n return this.callBase.apply(this, arguments)\r\n },\r\n _processItems: function() {\r\n return this.callBase.apply(this, arguments)\r\n },\r\n _processDataItem: function() {\r\n return this.callBase.apply(this, arguments)\r\n }\r\n }\r\n }\r\n }\r\n}));\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/tree_list/m_state_storing.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _extend = require(\"../../../core/utils/extend\");\r\nvar _m_state_storing = require(\"../../grids/grid_core/state_storing/m_state_storing\");\r\nvar _m_core = _interopRequireDefault(require(\"./m_core\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar origApplyState = _m_state_storing.stateStoringModule.extenders.controllers.stateStoring.applyState;\r\n_m_core.default.registerModule(\"stateStoring\", (0, _extend.extend)(true, {}, _m_state_storing.stateStoringModule, {\r\n extenders: {\r\n controllers: {\r\n stateStoring: {\r\n applyState: function(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: function() {\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 (cjs/__internal/grids/tree_list/m_validating.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _extend = require(\"../../../core/utils/extend\");\r\nvar _m_validating = require(\"../../grids/grid_core/validating/m_validating\");\r\nvar _m_core = _interopRequireDefault(require(\"./m_core\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar EditingControllerExtender = (0, _extend.extend)({}, _m_validating.validatingModule.extenders.controllers.editing);\r\ndelete EditingControllerExtender.processItems;\r\ndelete EditingControllerExtender.processDataItem;\r\n_m_core.default.registerModule(\"validating\", {\r\n defaultOptions: _m_validating.validatingModule.defaultOptions,\r\n controllers: _m_validating.validatingModule.controllers,\r\n extenders: {\r\n controllers: {\r\n editing: EditingControllerExtender,\r\n editorFactory: _m_validating.validatingModule.extenders.controllers.editorFactory\r\n },\r\n views: _m_validating.validatingModule.extenders.views\r\n }\r\n});\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/tree_list/m_virtual_scrolling.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _extend = require(\"../../../core/utils/extend\");\r\nvar _m_virtual_scrolling = require(\"../../grids/grid_core/virtual_scrolling/m_virtual_scrolling\");\r\nvar _m_data_source_adapter = _interopRequireDefault(require(\"./data_source_adapter/m_data_source_adapter\"));\r\nvar _m_core = _interopRequireDefault(require(\"./m_core\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar oldDefaultOptions = _m_virtual_scrolling.virtualScrollingModule.defaultOptions;\r\nvar originalDataControllerExtender = _m_virtual_scrolling.virtualScrollingModule.extenders.controllers.data;\r\nvar originalDataSourceAdapterExtender = _m_virtual_scrolling.virtualScrollingModule.extenders.dataSourceAdapter;\r\n_m_virtual_scrolling.virtualScrollingModule.extenders.controllers.data = (0, _extend.extend)({}, originalDataControllerExtender, {\r\n _loadOnOptionChange: function() {\r\n var virtualScrollController = this._dataSource && this._dataSource._virtualScrollController;\r\n virtualScrollController && virtualScrollController.reset();\r\n this.callBase()\r\n }\r\n});\r\n_m_virtual_scrolling.virtualScrollingModule.extenders.dataSourceAdapter = (0, _extend.extend)({}, originalDataSourceAdapterExtender, {\r\n changeRowExpand: function() {\r\n var _this = this;\r\n return this.callBase.apply(this, arguments).done((function() {\r\n var viewportItemIndex = _this.getViewportItemIndex();\r\n viewportItemIndex >= 0 && _this.setViewportItemIndex(viewportItemIndex)\r\n }))\r\n }\r\n});\r\n_m_core.default.registerModule(\"virtualScrolling\", (0, _extend.extend)({}, _m_virtual_scrolling.virtualScrollingModule, {\r\n defaultOptions: function() {\r\n return (0, _extend.extend)(true, oldDefaultOptions(), {\r\n scrolling: {\r\n mode: \"virtual\"\r\n }\r\n })\r\n }\r\n}));\r\n_m_data_source_adapter.default.extend(_m_virtual_scrolling.virtualScrollingModule.extenders.dataSourceAdapter);\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/tree_list/m_widget.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.default = void 0;\r\nvar _m_widget_base = _interopRequireDefault(require(\"./m_widget_base\"));\r\nrequire(\"./m_state_storing\");\r\nrequire(\"./module_not_extended/column_chooser\");\r\nrequire(\"./m_master_detail\");\r\nrequire(\"./editing/m_editing\");\r\nrequire(\"./module_not_extended/editing_row_based\");\r\nrequire(\"./module_not_extended/editing_form_based\");\r\nrequire(\"./module_not_extended/editing_cell_based\");\r\nrequire(\"./m_validating\");\r\nrequire(\"./m_virtual_scrolling\");\r\nrequire(\"./module_not_extended/filter_row\");\r\nrequire(\"./module_not_extended/header_filter\");\r\nrequire(\"./module_not_extended/filter_sync\");\r\nrequire(\"./module_not_extended/filter_builder\");\r\nrequire(\"./module_not_extended/filter_panel\");\r\nrequire(\"./module_not_extended/pager\");\r\nrequire(\"./module_not_extended/columns_resizing_reordering\");\r\nrequire(\"./module_not_extended/column_fixing\");\r\nrequire(\"./module_not_extended/adaptivity\");\r\nrequire(\"./selection/m_selection\");\r\nrequire(\"./module_not_extended/search\");\r\nrequire(\"./m_keyboard_navigation\");\r\nrequire(\"./module_not_extended/virtual_columns\");\r\nrequire(\"./m_focus\");\r\nrequire(\"./module_not_extended/row_dragging\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar _default = _m_widget_base.default;\r\nexports.default = _default;\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/tree_list/m_widget_base.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.default = void 0;\r\nrequire(\"./module_not_extended/column_headers\");\r\nrequire(\"./m_columns_controller\");\r\nrequire(\"./data_controller/m_data_controller\");\r\nrequire(\"./module_not_extended/sorting\");\r\nrequire(\"./rows/m_rows\");\r\nrequire(\"./module_not_extended/context_menu\");\r\nrequire(\"./module_not_extended/error_handling\");\r\nrequire(\"./m_grid_view\");\r\nrequire(\"./module_not_extended/header_panel\");\r\nvar _component_registrator = _interopRequireDefault(require(\"../../../core/component_registrator\"));\r\nvar _common = require(\"../../../core/utils/common\");\r\nvar _extend = require(\"../../../core/utils/extend\");\r\nvar _iterator = require(\"../../../core/utils/iterator\");\r\nvar _type = require(\"../../../core/utils/type\");\r\nvar _themes = require(\"../../../ui/themes\");\r\nvar _ui = _interopRequireDefault(require(\"../../../ui/widget/ui.widget\"));\r\nvar _m_utils = _interopRequireDefault(require(\"../../grids/grid_core/m_utils\"));\r\nvar _m_core = _interopRequireDefault(require(\"./m_core\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar callModuleItemsMethod = _m_core.default.callModuleItemsMethod;\r\nvar DATAGRID_ROW_SELECTOR = \".dx-row\";\r\nvar TREELIST_CLASS = \"dx-treelist\";\r\n_m_core.default.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 = _ui.default.inherit({\r\n _activeStateUnit: DATAGRID_ROW_SELECTOR,\r\n _getDefaultOptions: function() {\r\n var result = this.callBase();\r\n (0, _iterator.each)(_m_core.default.modules, (function() {\r\n if ((0, _type.isFunction)(this.defaultOptions)) {\r\n (0, _extend.extend)(true, result, this.defaultOptions())\r\n }\r\n }));\r\n return result\r\n },\r\n _setDeprecatedOptions: function() {\r\n this.callBase();\r\n (0, _extend.extend)(this._deprecatedOptions, {\r\n \"columnChooser.allowSearch\": {\r\n since: \"23.1\",\r\n message: 'Use the \"columnChooser.search.enabled\" option instead'\r\n },\r\n \"columnChooser.searchTimeout\": {\r\n since: \"23.1\",\r\n message: 'Use the \"columnChooser.search.timeout\" option instead'\r\n }\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: function() {\r\n return (0, _themes.isMaterial)()\r\n },\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: function() {\r\n this.callBase();\r\n if (!this.option(\"_disableDeprecationWarnings\")) {\r\n _m_utils.default.logHeaderFilterDeprecatedWarningIfNeed(this)\r\n }\r\n _m_core.default.processModules(this, _m_core.default);\r\n callModuleItemsMethod(this, \"init\")\r\n },\r\n _clean: _common.noop,\r\n _optionChanged: function(args) {\r\n callModuleItemsMethod(this, \"optionChanged\", [args]);\r\n if (!args.handled) {\r\n this.callBase(args)\r\n }\r\n },\r\n _dimensionChanged: function() {\r\n this.updateDimensions(true)\r\n },\r\n _visibilityChanged: function(visible) {\r\n if (visible) {\r\n this.updateDimensions()\r\n }\r\n },\r\n _initMarkup: function() {\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: function() {\r\n this.getView(\"gridView\").update()\r\n },\r\n _renderContent: function() {\r\n var that = this;\r\n (0, _common.deferRender)((function() {\r\n that._renderContentImpl()\r\n }))\r\n },\r\n _dispose: function() {\r\n this.callBase();\r\n callModuleItemsMethod(this, \"dispose\")\r\n },\r\n isReady: function() {\r\n return this.getController(\"data\").isReady()\r\n },\r\n beginUpdate: function() {\r\n this.callBase();\r\n callModuleItemsMethod(this, \"beginUpdate\")\r\n },\r\n endUpdate: function() {\r\n callModuleItemsMethod(this, \"endUpdate\");\r\n this.callBase()\r\n },\r\n getController: function(name) {\r\n return this._controllers[name]\r\n },\r\n getView: function(name) {\r\n return this._views[name]\r\n },\r\n focus: function(element) {\r\n this.callBase();\r\n if ((0, _type.isDefined)(element)) {\r\n this.getController(\"keyboardNavigation\").focus(element)\r\n }\r\n }\r\n});\r\nTreeList.registerModule = _m_core.default.registerModule.bind(_m_core.default);\r\n(0, _component_registrator.default)(\"dxTreeList\", TreeList);\r\nvar _default = TreeList;\r\nexports.default = _default;\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/tree_list/module_not_extended/adaptivity.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _m_adaptivity = require(\"../../../grids/grid_core/adaptivity/m_adaptivity\");\r\nvar _m_core = _interopRequireDefault(require(\"../m_core\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n_m_core.default.registerModule(\"adaptivity\", _m_adaptivity.adaptivityModule);\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/tree_list/module_not_extended/column_chooser.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _m_column_chooser = require(\"../../../grids/grid_core/column_chooser/m_column_chooser\");\r\nvar _m_core = _interopRequireDefault(require(\"../m_core\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n_m_core.default.registerModule(\"columnChooser\", _m_column_chooser.columnChooserModule);\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/tree_list/module_not_extended/column_fixing.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _m_column_fixing = require(\"../../../grids/grid_core/column_fixing/m_column_fixing\");\r\nvar _m_core = _interopRequireDefault(require(\"../m_core\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n_m_core.default.registerModule(\"columnFixing\", _m_column_fixing.columnFixingModule);\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/tree_list/module_not_extended/column_headers.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _m_column_headers = require(\"../../../grids/grid_core/column_headers/m_column_headers\");\r\nvar _m_core = _interopRequireDefault(require(\"../m_core\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n_m_core.default.registerModule(\"columnHeaders\", _m_column_headers.columnHeadersModule);\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/tree_list/module_not_extended/columns_resizing_reordering.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _m_columns_resizing_reordering = require(\"../../../grids/grid_core/columns_resizing_reordering/m_columns_resizing_reordering\");\r\nvar _m_core = _interopRequireDefault(require(\"../m_core\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n_m_core.default.registerModule(\"columnsResizingReordering\", _m_columns_resizing_reordering.columnsResizingReorderingModule);\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/tree_list/module_not_extended/context_menu.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _m_context_menu = require(\"../../../grids/grid_core/context_menu/m_context_menu\");\r\nvar _m_core = _interopRequireDefault(require(\"../m_core\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n_m_core.default.registerModule(\"contextMenu\", _m_context_menu.contextMenuModule);\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/tree_list/module_not_extended/editing_cell_based.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _m_editing_cell_based = require(\"../../../grids/grid_core/editing/m_editing_cell_based\");\r\nvar _m_core = _interopRequireDefault(require(\"../m_core\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n_m_core.default.registerModule(\"editingCellBased\", _m_editing_cell_based.editingCellBasedModule);\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/tree_list/module_not_extended/editing_form_based.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _m_editing_form_based = require(\"../../../grids/grid_core/editing/m_editing_form_based\");\r\nvar _m_core = _interopRequireDefault(require(\"../m_core\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n_m_core.default.registerModule(\"editingFormBased\", _m_editing_form_based.editingFormBasedModule);\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/tree_list/module_not_extended/editing_row_based.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _m_editing_row_based = require(\"../../../grids/grid_core/editing/m_editing_row_based\");\r\nvar _m_core = _interopRequireDefault(require(\"../m_core\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n_m_core.default.registerModule(\"editingRowBased\", _m_editing_row_based.editingRowBasedModule);\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/tree_list/module_not_extended/editor_factory.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _m_editor_factory = require(\"../../../grids/grid_core/editor_factory/m_editor_factory\");\r\nvar _m_core = _interopRequireDefault(require(\"../m_core\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n_m_core.default.registerModule(\"editorFactory\", _m_editor_factory.editorFactoryModule);\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/tree_list/module_not_extended/error_handling.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _m_error_handling = require(\"../../../grids/grid_core/error_handling/m_error_handling\");\r\nvar _m_core = _interopRequireDefault(require(\"../m_core\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n_m_core.default.registerModule(\"errorHandling\", _m_error_handling.errorHandlingModule);\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/tree_list/module_not_extended/filter_builder.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _m_filter_builder = require(\"../../../grids/grid_core/filter/m_filter_builder\");\r\nvar _m_core = _interopRequireDefault(require(\"../m_core\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n_m_core.default.registerModule(\"filterBuilder\", _m_filter_builder.filterBuilderModule);\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/tree_list/module_not_extended/filter_panel.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _m_filter_panel = require(\"../../../grids/grid_core/filter/m_filter_panel\");\r\nvar _m_core = _interopRequireDefault(require(\"../m_core\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n_m_core.default.registerModule(\"filterPanel\", _m_filter_panel.filterPanelModule);\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/tree_list/module_not_extended/filter_row.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _m_filter_row = require(\"../../../grids/grid_core/filter/m_filter_row\");\r\nvar _m_core = _interopRequireDefault(require(\"../m_core\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n_m_core.default.registerModule(\"filterRow\", _m_filter_row.filterRowModule);\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/tree_list/module_not_extended/filter_sync.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _m_filter_sync = require(\"../../../grids/grid_core/filter/m_filter_sync\");\r\nvar _m_core = _interopRequireDefault(require(\"../m_core\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n_m_core.default.registerModule(\"filterSync\", _m_filter_sync.filterSyncModule);\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/tree_list/module_not_extended/header_filter.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _m_header_filter = require(\"../../../grids/grid_core/header_filter/m_header_filter\");\r\nvar _m_core = _interopRequireDefault(require(\"../m_core\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n_m_core.default.registerModule(\"headerFilter\", _m_header_filter.headerFilterModule);\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/tree_list/module_not_extended/header_panel.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _m_header_panel = require(\"../../../grids/grid_core/header_panel/m_header_panel\");\r\nvar _m_core = _interopRequireDefault(require(\"../m_core\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n_m_core.default.registerModule(\"headerPanel\", _m_header_panel.headerPanelModule);\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/tree_list/module_not_extended/pager.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _m_pager = require(\"../../../grids/grid_core/pager/m_pager\");\r\nvar _m_core = _interopRequireDefault(require(\"../m_core\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n_m_core.default.registerModule(\"pager\", _m_pager.pagerModule);\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/tree_list/module_not_extended/row_dragging.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _m_row_dragging = require(\"../../../grids/grid_core/row_dragging/m_row_dragging\");\r\nvar _m_core = _interopRequireDefault(require(\"../m_core\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n_m_core.default.registerModule(\"rowDragging\", _m_row_dragging.rowDraggingModule);\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/tree_list/module_not_extended/search.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _m_search = require(\"../../../grids/grid_core/search/m_search\");\r\nvar _m_core = _interopRequireDefault(require(\"../m_core\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n_m_core.default.registerModule(\"search\", _m_search.searchModule);\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/tree_list/module_not_extended/sorting.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _m_sorting = require(\"../../../grids/grid_core/sorting/m_sorting\");\r\nvar _m_core = _interopRequireDefault(require(\"../m_core\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n_m_core.default.registerModule(\"sorting\", _m_sorting.sortingModule);\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/tree_list/module_not_extended/virtual_columns.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _m_virtual_columns = require(\"../../../grids/grid_core/virtual_columns/m_virtual_columns\");\r\nvar _m_core = _interopRequireDefault(require(\"../m_core\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n_m_core.default.registerModule(\"virtualColumns\", _m_virtual_columns.virtualColumnsModule);\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/tree_list/rows/m_rows.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.RowsView = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../../../core/renderer\"));\r\nvar _m_rows_view = require(\"../../../grids/grid_core/views/m_rows_view\");\r\nvar _m_core = _interopRequireDefault(require(\"../m_core\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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\nvar RowsView = _m_rows_view.rowsModule.views.rowsView.inherit(function() {\r\n var createIcon = function(hasIcon, isExpanded) {\r\n var $iconElement = (0, _renderer.default)(\"
    \").addClass(TREELIST_EMPTY_SPACE);\r\n if (hasIcon) {\r\n $iconElement.toggleClass(TREELIST_EXPANDED_CLASS, isExpanded).toggleClass(TREELIST_COLLAPSED_CLASS, !isExpanded).append((0, _renderer.default)(\"\"))\r\n }\r\n return $iconElement\r\n };\r\n return {\r\n _renderIconContainer: function($container, options) {\r\n var _this = this;\r\n var $iconContainer = (0, _renderer.default)(\"
    \").addClass(TREELIST_EXPAND_ICON_CONTAINER_CLASS).appendTo($container);\r\n options.watch && options.watch((function() {\r\n return [options.row.level, options.row.isExpanded, options.row.node.hasChildren]\r\n }), (function() {\r\n $iconContainer.empty();\r\n _this._renderIcons($iconContainer, options)\r\n }));\r\n $container.addClass(TREELIST_CELL_EXPANDABLE_CLASS);\r\n return this._renderIcons($iconContainer, options)\r\n },\r\n _renderIcons: function($iconContainer, options) {\r\n var row = options.row;\r\n var level = row.level;\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: function(container, model) {\r\n this._renderIconContainer(container, model);\r\n return true\r\n },\r\n _processTemplate: function(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: function(options) {\r\n var $container = options.container;\r\n if (that._renderCellCommandContent($container, options.model)) {\r\n options.container = function($container) {\r\n return (0, _renderer.default)(\"
    \").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: function($cell, options) {\r\n $cell = $cell.hasClass(TREELIST_TEXT_CONTENT) ? $cell.parent() : $cell;\r\n this.callBase($cell, options)\r\n },\r\n _rowClick: function(e) {\r\n var dataController = this._dataController;\r\n var $targetElement = (0, _renderer.default)(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: function(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: function($targetElement) {\r\n return !!$targetElement.closest(\".\".concat(TREELIST_EXPANDED_CLASS, \", .\").concat(TREELIST_COLLAPSED_CLASS)).length\r\n }\r\n }\r\n}());\r\nexports.RowsView = RowsView;\r\n_m_core.default.registerModule(\"rows\", {\r\n defaultOptions: _m_rows_view.rowsModule.defaultOptions,\r\n views: {\r\n rowsView: RowsView\r\n }\r\n});\r\n","/**\r\n * DevExtreme (cjs/__internal/grids/tree_list/selection/m_selection.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _renderer = _interopRequireDefault(require(\"../../../../core/renderer\"));\r\nvar _common = require(\"../../../../core/utils/common\");\r\nvar _extend = require(\"../../../../core/utils/extend\");\r\nvar _type = require(\"../../../../core/utils/type\");\r\nvar _m_selection = require(\"../../../grids/grid_core/selection/m_selection\");\r\nvar _m_core = _interopRequireDefault(require(\"../m_core\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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 = _m_selection.selectionModule.extenders.views.rowsView._rowClick;\r\nvar originalHandleDataChanged = _m_selection.selectionModule.extenders.controllers.data._handleDataChanged;\r\nvar nodeExists = function(array, currentKey) {\r\n return !!array.filter((function(key) {\r\n return key === currentKey\r\n })).length\r\n};\r\n_m_core.default.registerModule(\"selection\", (0, _extend.extend)(true, {}, _m_selection.selectionModule, {\r\n defaultOptions: function() {\r\n return (0, _extend.extend)(true, _m_selection.selectionModule.defaultOptions(), {\r\n selection: {\r\n showCheckBoxesMode: \"always\",\r\n recursive: false\r\n }\r\n })\r\n },\r\n extenders: {\r\n controllers: {\r\n data: {\r\n _handleDataChanged: function(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: function() {\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((function() {\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: function() {\r\n this.callBase.apply(this, arguments);\r\n this._selectionStateByKey = {}\r\n },\r\n _getSelectionConfig: function() {\r\n var _arguments = arguments,\r\n _this = this;\r\n var config = this.callBase.apply(this, arguments);\r\n var plainItems = config.plainItems;\r\n config.plainItems = function(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((function(item) {\r\n return item.data\r\n })));\r\n return result || []\r\n };\r\n config.isItemSelected = function(item) {\r\n var key = _this._dataController.keyOf(item);\r\n return _this.isRowSelected(key)\r\n };\r\n config.isSelectableItem = function(item) {\r\n return !!item\r\n };\r\n config.getItemData = function(item) {\r\n return item\r\n };\r\n config.allowLoadByRange = function() {\r\n return false\r\n };\r\n return config\r\n },\r\n renderSelectCheckBoxContainer: function($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: _common.noop,\r\n _getSelectAllNodeKeys: function() {\r\n var component = this.component;\r\n var root = component.getRootNode();\r\n var cache = {};\r\n var keys = [];\r\n var isRecursiveSelection = this.isRecursiveSelection();\r\n root && _m_core.default.foreachNodes(root.children, (function(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: function() {\r\n var selectedRowKeys = this.option(\"selectedRowKeys\") || [];\r\n if (0 === selectedRowKeys.length) {\r\n return false\r\n }\r\n var component = this.component;\r\n var visibleKeys = this._getSelectAllNodeKeys();\r\n var isRecursiveSelection = this.isRecursiveSelection();\r\n var hasIndeterminateState = false;\r\n var selectedVisibleKeys = visibleKeys.filter((function(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: function() {\r\n var _this2 = this;\r\n var visibleKeys = this._getSelectAllNodeKeys().filter((function(key) {\r\n return !_this2.isRowSelected(key)\r\n }));\r\n this.focusedItemIndex(-1);\r\n return this.selectRows(visibleKeys, true)\r\n },\r\n deselectAll: function() {\r\n var visibleKeys = this._getSelectAllNodeKeys();\r\n this.focusedItemIndex(-1);\r\n return this.deselectRows(visibleKeys)\r\n },\r\n selectedItemKeys: function(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: (0, _type.isDefined)(value) ? value : []\r\n }, preserve, !isDeselect);\r\n if (normalizedArgs && !(0, _common.equalByValue)(normalizedArgs.selectedRowKeys, selectedRowKeys)) {\r\n that._isSelectionNormalizing = true;\r\n return this.callBase(normalizedArgs.selectedRowKeys, false, false, false).always((function() {\r\n that._isSelectionNormalizing = false\r\n })).done((function(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: function(itemIndex, keyboardKeys) {\r\n var _this3 = this;\r\n var isRecursiveSelection = this.isRecursiveSelection();\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((function() {\r\n _this3.isRowSelected(key) && _this3.callBase(itemIndex, keyboardKeys, true)\r\n }))\r\n }\r\n return this.callBase.apply(this, arguments)\r\n },\r\n _updateParentSelectionState: function(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((function(childNode) {\r\n return that._selectionStateByKey[childNode.key]\r\n }));\r\n state = hasSelectedState ? void 0 : false\r\n } else if (true === isSelected) {\r\n var hasNonSelectedState = parentNode.children.some((function(childNode) {\r\n return !that._selectionStateByKey[childNode.key]\r\n }));\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: function(node, isSelected) {\r\n var that = this;\r\n var children = node.children;\r\n children && children.forEach((function(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: function(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: function(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: function(key, keysToIgnore) {\r\n var _this4 = this;\r\n var childKeys = [];\r\n var node = this._dataController.getNodeByKey(key);\r\n node && _m_core.default.foreachNodes(node.children, (function(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 === _this4._selectionStateByKey[childNode.key]\r\n }));\r\n return childKeys\r\n },\r\n _normalizeParentKeys: function(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((function(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: function(key, args) {\r\n var _this5 = this;\r\n var node = this._dataController.getNodeByKey(key);\r\n node && node.children.forEach((function(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 _this5._normalizeChildrenKeys(childNode.key, args)\r\n }))\r\n },\r\n _normalizeSelectedRowKeysCore: function(keys, args, preserve, isSelect) {\r\n var that = this;\r\n keys.forEach((function(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: function(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: function(args) {\r\n this.updateSelectionState(args);\r\n this.callBase(args)\r\n },\r\n _fireSelectionChanged: function() {\r\n if (!this._isSelectionNormalizing) {\r\n this.callBase.apply(this, arguments)\r\n }\r\n },\r\n _isModeLeavesOnly: function(mode) {\r\n return \"leavesOnly\" === mode\r\n },\r\n _removeDuplicatedKeys: function(keys) {\r\n var result = [];\r\n var processedKeys = {};\r\n keys.forEach((function(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: function(key) {\r\n var childKeys = [];\r\n var node = this._dataController.getNodeByKey(key);\r\n node && _m_core.default.foreachNodes(node.children, (function(childNode) {\r\n childKeys.push(childNode.key)\r\n }), true);\r\n return childKeys\r\n },\r\n _getAllSelectedRowKeys: function(keys) {\r\n var _this6 = this;\r\n var result = [];\r\n keys.forEach((function(key) {\r\n var parentKeys = _this6._getSelectedParentKeys(key, [], true);\r\n var childKeys = _this6._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: function(keys) {\r\n var that = this;\r\n var result = [];\r\n keys.forEach((function(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: function(keys) {\r\n var result = [];\r\n var dataController = this._dataController;\r\n keys.forEach((function(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: function() {\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: function(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: function(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: function(mode) {\r\n var that = this;\r\n if (!that._dataController) {\r\n return []\r\n }\r\n var selectedRowKeys = that.callBase.apply(that, 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 = that._getParentSelectedRowKeys(selectedRowKeys)\r\n } else if (that._isModeLeavesOnly(mode)) {\r\n selectedRowKeys = that._getLeafSelectedRowKeys(selectedRowKeys)\r\n }\r\n }\r\n }\r\n return selectedRowKeys\r\n },\r\n getSelectedRowsData: function(mode) {\r\n var dataController = this._dataController;\r\n var selectedKeys = this.getSelectedRowKeys(mode) || [];\r\n var selectedRowsData = [];\r\n selectedKeys.forEach((function(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: function() {\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: function(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: function(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: function($cell, options) {\r\n $cell.addClass(TREELIST_SELECT_ALL_CLASS);\r\n this._renderSelectAllCheckBox($cell)\r\n },\r\n _isSortableElement: function($target) {\r\n return this.callBase($target) && !$target.closest(\".\".concat(SELECT_CHECKBOX_CLASS)).length\r\n }\r\n },\r\n rowsView: {\r\n _renderIcons: function($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: function(e) {\r\n var $targetElement = (0, _renderer.default)(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 (cjs/__internal/m_draggable.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.default = void 0;\r\nvar _position = _interopRequireDefault(require(\"../animation/position\"));\r\nvar _translator = require(\"../animation/translator\");\r\nvar _component_registrator = _interopRequireDefault(require(\"../core/component_registrator\"));\r\nvar _dom_adapter = _interopRequireDefault(require(\"../core/dom_adapter\"));\r\nvar _dom_component = _interopRequireDefault(require(\"../core/dom_component\"));\r\nvar _element = require(\"../core/element\");\r\nvar _renderer = _interopRequireDefault(require(\"../core/renderer\"));\r\nvar _empty_template = require(\"../core/templates/empty_template\");\r\nvar _common = require(\"../core/utils/common\");\r\nvar _deferred = require(\"../core/utils/deferred\");\r\nvar _extend = require(\"../core/utils/extend\");\r\nvar _inflector = require(\"../core/utils/inflector\");\r\nvar _position2 = require(\"../core/utils/position\");\r\nvar _size = require(\"../core/utils/size\");\r\nvar _string = require(\"../core/utils/string\");\r\nvar _type = require(\"../core/utils/type\");\r\nvar _view_port = require(\"../core/utils/view_port\");\r\nvar _window = require(\"../core/utils/window\");\r\nvar _events_engine = _interopRequireDefault(require(\"../events/core/events_engine\"));\r\nvar _drag = require(\"../events/drag\");\r\nvar _pointer = _interopRequireDefault(require(\"../events/pointer\"));\r\nvar _index = require(\"../events/utils/index\");\r\nvar _animator = _interopRequireDefault(require(\"../ui/scroll_view/animator\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\n\r\nfunction _defineProperty(obj, key, value) {\r\n key = _toPropertyKey(key);\r\n if (key in obj) {\r\n Object.defineProperty(obj, key, {\r\n value: value,\r\n enumerable: true,\r\n configurable: true,\r\n writable: true\r\n })\r\n } else {\r\n obj[key] = value\r\n }\r\n return obj\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\nvar window = (0, _window.getWindow)();\r\nvar KEYDOWN_EVENT = \"keydown\";\r\nvar DRAGGABLE = \"dxDraggable\";\r\nvar DRAGSTART_EVENT_NAME = (0, _index.addNamespace)(_drag.start, DRAGGABLE);\r\nvar DRAG_EVENT_NAME = (0, _index.addNamespace)(_drag.move, DRAGGABLE);\r\nvar DRAGEND_EVENT_NAME = (0, _index.addNamespace)(_drag.end, DRAGGABLE);\r\nvar DRAG_ENTER_EVENT_NAME = (0, _index.addNamespace)(_drag.enter, DRAGGABLE);\r\nvar DRAGEND_LEAVE_EVENT_NAME = (0, _index.addNamespace)(_drag.leave, DRAGGABLE);\r\nvar POINTERDOWN_EVENT_NAME = (0, _index.addNamespace)(_pointer.default.down, DRAGGABLE);\r\nvar KEYDOWN_EVENT_NAME = (0, _index.addNamespace)(KEYDOWN_EVENT, DRAGGABLE);\r\nvar CLONE_CLASS = \"clone\";\r\nvar targetDraggable;\r\nvar sourceDraggable;\r\nvar ANONYMOUS_TEMPLATE_NAME = \"content\";\r\nvar getMousePosition = function(event) {\r\n return {\r\n x: event.pageX - (0, _renderer.default)(window).scrollLeft(),\r\n y: event.pageY - (0, _renderer.default)(window).scrollTop()\r\n }\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\nvar ScrollHelper = function() {\r\n function ScrollHelper(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 var _proto = ScrollHelper.prototype;\r\n _proto.updateScrollable = function(elements, mousePosition) {\r\n var _this = this;\r\n var isScrollableFound = false;\r\n elements.some((function(element) {\r\n var $element = (0, _renderer.default)(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 _proto.isScrolling = function() {\r\n return !!this._scrollSpeed\r\n };\r\n _proto.isScrollable = function($element) {\r\n return (\"auto\" === $element.css(this._overFlowAttr) || $element.hasClass(\"dx-scrollable-container\")) && $element.prop(this._scrollSizeProp) > Math.ceil(\"width\" === this._sizeAttr ? (0, _size.getWidth)($element) : (0, _size.getHeight)($element))\r\n };\r\n _proto._trySetScrollable = function(element, mousePosition) {\r\n var $element = (0, _renderer.default)(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 _proto._calculateDistanceToBorders = function($area, mousePosition) {\r\n var area = $area.get(0);\r\n var areaBoundingRect;\r\n if (area) {\r\n areaBoundingRect = (0, _position2.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 _proto._calculateScrollSpeed = function(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 _proto.scrollByStep = function() {\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(_defineProperty({}, this._limitProps.start, nextScrollPosition))\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 _proto.reset = function() {\r\n this._$scrollableAtPointer = null;\r\n this._scrollSpeed = 0;\r\n this._preventScroll = true\r\n };\r\n _proto.isOutsideScrollable = function($scrollable, event) {\r\n if (!$scrollable) {\r\n return false\r\n }\r\n var scrollableSize = (0, _position2.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 return ScrollHelper\r\n}();\r\nvar ScrollAnimator = _animator.default.inherit({\r\n ctor: function(strategy) {\r\n this.callBase();\r\n this._strategy = strategy\r\n },\r\n _step: function() {\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 = _dom_component.default.inherit({\r\n reset: _common.noop,\r\n dragMove: _common.noop,\r\n dragEnter: _common.noop,\r\n dragLeave: _common.noop,\r\n dragEnd: function(sourceEvent) {\r\n var sourceDraggable = this._getSourceDraggable();\r\n sourceDraggable._fireRemoveEvent(sourceEvent);\r\n return (0, _deferred.Deferred)().resolve()\r\n },\r\n _fireRemoveEvent: _common.noop,\r\n _getDefaultOptions: function() {\r\n return (0, _extend.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: function() {\r\n this.callBase.apply(this, arguments);\r\n (0, _extend.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: function() {\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: function(offset) {\r\n if ((0, _type.isObject)(offset)) {\r\n offset = {\r\n h: offset.x,\r\n v: offset.y\r\n }\r\n }\r\n offset = (0, _common.splitPair)(offset).map((function(value) {\r\n return parseFloat(value)\r\n }));\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: function(offset, options) {\r\n if ((0, _type.isFunction)(offset)) {\r\n offset = offset.call(this, options)\r\n }\r\n return this._normalizeCursorOffset(offset)\r\n },\r\n _calculateElementOffset: function(options) {\r\n var elementOffset;\r\n var dragElementOffset;\r\n var event = options.event;\r\n var $element = (0, _renderer.default)(options.itemElement);\r\n var $dragElement = (0, _renderer.default)(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 = (0, _translator.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: function(options) {\r\n var $dragElement = (0, _renderer.default)(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 = (0, _translator.locate)($dragElement)\r\n },\r\n _startAnimator: function() {\r\n if (!this._scrollAnimator.inProgress()) {\r\n this._scrollAnimator.start()\r\n }\r\n },\r\n _stopAnimator: function() {\r\n this._scrollAnimator.stop()\r\n },\r\n _addWidgetPrefix: function(className) {\r\n var componentName = this.NAME;\r\n return (0, _inflector.dasherize)(componentName) + (className ? \"-\".concat(className) : \"\")\r\n },\r\n _getItemsSelector: function() {\r\n return this.option(\"filter\") || \"\"\r\n },\r\n _$content: function() {\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: function() {\r\n var _this2 = this;\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: function($target, event) {\r\n var targetGroup = _this2.option(\"group\");\r\n var sourceGroup = _this2._getSourceDraggable().option(\"group\");\r\n var $scrollable = _this2._getScrollable($target);\r\n if (_this2._verticalScrollHelper.isOutsideScrollable($scrollable, event) || _this2._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 _events_engine.default.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 _events_engine.default.on($element, DRAGSTART_EVENT_NAME, itemsSelector, data, this._dragStartHandler.bind(this));\r\n _events_engine.default.on($element, DRAG_EVENT_NAME, data, this._dragMoveHandler.bind(this));\r\n _events_engine.default.on($element, DRAGEND_EVENT_NAME, data, this._dragEndHandler.bind(this));\r\n _events_engine.default.on($element, DRAG_ENTER_EVENT_NAME, data, this._dragEnterHandler.bind(this));\r\n _events_engine.default.on($element, DRAGEND_LEAVE_EVENT_NAME, data, this._dragLeaveHandler.bind(this));\r\n if (this.option(\"onCancelByEsc\")) {\r\n _events_engine.default.on($element, KEYDOWN_EVENT_NAME, this._keydownHandler.bind(this))\r\n }\r\n },\r\n _dragElementIsCloned: function() {\r\n return this._$dragElement && this._$dragElement.hasClass(this._addWidgetPrefix(CLONE_CLASS))\r\n },\r\n _getDragTemplateArgs: function($element, $container) {\r\n return {\r\n container: (0, _element.getPublicElement)($container),\r\n model: {\r\n itemData: this.option(\"itemData\"),\r\n itemElement: (0, _element.getPublicElement)($element)\r\n }\r\n }\r\n },\r\n _createDragElement: function($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 = (0, _renderer.default)(\"
    \").appendTo($container);\r\n template.render(this._getDragTemplateArgs($element, result))\r\n } else if (clone) {\r\n result = (0, _renderer.default)(\"
    \").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: function() {\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: function() {\r\n this._toggleDragSourceClass(false);\r\n this._$sourceElement = null\r\n },\r\n _detachEventHandlers: function() {\r\n _events_engine.default.off(this._$content(), \".\".concat(DRAGGABLE));\r\n _events_engine.default.off(this._getArea(), \".\".concat(DRAGGABLE))\r\n },\r\n _move: function(position, $element) {\r\n (0, _translator.move)($element || this._$dragElement, position)\r\n },\r\n _getDraggableElement: function(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 = (0, _renderer.default)(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: function() {\r\n var draggable = this._getSourceDraggable();\r\n return draggable._$sourceElement\r\n },\r\n _pointerDownHandler: function(e) {\r\n if ((0, _index.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 + (0, _translator.locate)($element).left - (0, _size.getWidth)($element) / 2\r\n }\r\n if (\"vertical\" === dragDirection || \"both\" === dragDirection) {\r\n position.top = e.pageY - $element.offset().top + (0, _translator.locate)($element).top - (0, _size.getHeight)($element) / 2\r\n }\r\n this._move(position, $element);\r\n this._getAction(\"onDragMove\")(this._getEventArgs(e))\r\n },\r\n _isValidElement: function(event, $element) {\r\n var handle = this.option(\"handle\");\r\n var $target = (0, _renderer.default)(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: function(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((0, _extend.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 = (0, _size.getOuterWidth)($area);\r\n var areaHeight = (0, _size.getOuterHeight)($area);\r\n var elementWidth = (0, _size.getWidth)($dragElement);\r\n var elementHeight = (0, _size.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: function($area) {\r\n var offset = $area && _position.default.offset($area);\r\n return offset || {\r\n left: 0,\r\n top: 0\r\n }\r\n },\r\n _toggleDraggingClass: function(value) {\r\n this._$dragElement && this._$dragElement.toggleClass(this._addWidgetPrefix(\"dragging\"), value)\r\n },\r\n _toggleDragSourceClass: function(value, $element) {\r\n var $sourceElement = $element || this._$sourceElement;\r\n $sourceElement && $sourceElement.toggleClass(this._addWidgetPrefix(\"source\"), value)\r\n },\r\n _setGestureCoverCursor: function($element) {\r\n (0, _renderer.default)(\".\".concat(GESTURE_COVER_CLASS)).css(\"cursor\", $element.css(\"cursor\"))\r\n },\r\n _getBoundOffset: function() {\r\n var boundOffset = this.option(\"boundOffset\");\r\n if ((0, _type.isFunction)(boundOffset)) {\r\n boundOffset = boundOffset.call(this)\r\n }\r\n return (0, _string.quadToObject)(boundOffset)\r\n },\r\n _getArea: function() {\r\n var area = this.option(\"boundary\");\r\n if ((0, _type.isFunction)(area)) {\r\n area = area.call(this)\r\n }\r\n return (0, _renderer.default)(area)\r\n },\r\n _getContainer: function() {\r\n var container = this.option(\"container\");\r\n if (void 0 === container) {\r\n container = (0, _view_port.value)()\r\n }\r\n return (0, _renderer.default)(container)\r\n },\r\n _getDraggableElementOffset: function(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 = (0, _renderer.default)(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: (0, _type.isNumeric)(scrollLeft) ? result.left + scrollLeft - initScrollLeft : result.left,\r\n top: (0, _type.isNumeric)(scrollTop) ? result.top + scrollTop - initScrollTop : result.top\r\n }\r\n },\r\n _hasClonedDraggable: function() {\r\n return this.option(\"clone\") || this.option(\"dragTemplate\")\r\n },\r\n _dragMoveHandler: function(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: function(e) {\r\n if (this.option(\"autoScroll\")) {\r\n var mousePosition = getMousePosition(e);\r\n var allObjects = _dom_adapter.default.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: function($element) {\r\n var _this3 = this;\r\n var $scrollable;\r\n $element.parents().toArray().some((function(parent) {\r\n var $parent = (0, _renderer.default)(parent);\r\n if (_this3._horizontalScrollHelper.isScrollable($parent) || _this3._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: function() {\r\n var _a, _b;\r\n return null !== (_b = null === (_a = this._getScrollable((0, _renderer.default)(this.element()))) || void 0 === _a ? void 0 : _a.scrollTop()) && void 0 !== _b ? _b : 0\r\n },\r\n _getScrollableScrollLeft: function() {\r\n var _a, _b;\r\n return null !== (_b = null === (_a = this._getScrollable((0, _renderer.default)(this.element()))) || void 0 === _a ? void 0 : _a.scrollLeft()) && void 0 !== _b ? _b : 0\r\n },\r\n _defaultActionArgs: function() {\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: function(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: (0, _element.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: function(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: function() {\r\n !this._dragElementIsCloned() && this._move(this._initialLocate, this._$sourceElement)\r\n },\r\n _dragEndHandler: function(e) {\r\n var _this4 = this;\r\n var d = (0, _deferred.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 (0, _deferred.when)((0, _deferred.fromPromise)(dragEndEventArgs.cancel)).done((function(cancel) {\r\n if (!cancel) {\r\n if (targetDraggable !== _this4) {\r\n targetDraggable._getAction(\"onDrop\")(dropEventArgs)\r\n }\r\n if (!dropEventArgs.cancel) {\r\n needRevertPosition = false;\r\n (0, _deferred.when)((0, _deferred.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((function() {\r\n if (needRevertPosition) {\r\n _this4._revertItemToInitialPosition()\r\n }\r\n _this4._resetDragOptions(targetDraggable)\r\n }))\r\n }\r\n },\r\n _isTargetOverAnotherDraggable: function(e) {\r\n var _this5 = this;\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 = _dom_adapter.default.elementsFromPoint(mousePosition.x, mousePosition.y, this.element());\r\n var firstWidgetElement = elements.filter((function(element) {\r\n var $element = (0, _renderer.default)(element);\r\n if ($element.hasClass(_this5._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 = (0, _renderer.default)(firstWidgetElement).closest($sourceElement).length;\r\n return !firstWidgetElement || firstWidgetElement === $targetDraggableElement.get(0) && !isTargetOverItself && !isTargetOverNestedDraggable\r\n },\r\n _dragEnterHandler: function(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: function(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: function(e) {\r\n if (this.dragInProgress && \"Escape\" === e.key) {\r\n this._keydownEscapeHandler(e)\r\n }\r\n },\r\n _keydownEscapeHandler: function(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: function(name) {\r\n return this[\"_\".concat(name, \"Action\")] || this._createActionByOption(name)\r\n },\r\n _getAnonymousTemplateName: function() {\r\n return ANONYMOUS_TEMPLATE_NAME\r\n },\r\n _initTemplates: function() {\r\n if (!this.option(\"contentTemplate\")) {\r\n return\r\n }\r\n this._templateManager.addDefaultTemplates({\r\n content: new _empty_template.EmptyTemplate\r\n });\r\n this.callBase.apply(this, arguments)\r\n },\r\n _render: function() {\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 (0, _renderer.default)(template.render({\r\n container: this.element(),\r\n transclude: transclude\r\n }))\r\n }\r\n },\r\n _optionChanged: function(args) {\r\n var name = args.name;\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: function() {\r\n return targetDraggable || this\r\n },\r\n _getSourceDraggable: function() {\r\n return sourceDraggable || this\r\n },\r\n _setTargetDraggable: function() {\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: function() {\r\n sourceDraggable = this\r\n },\r\n _resetSourceDraggable: function() {\r\n sourceDraggable = null\r\n },\r\n _resetTargetDraggable: function() {\r\n targetDraggable = null\r\n },\r\n _resetDragOptions: function(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: function() {\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: function(sourceEvent) {\r\n var args = this._getEventArgs(sourceEvent);\r\n this._getAction(\"onDragEnter\")(args)\r\n },\r\n _fireDragLeaveEvent: function(sourceEvent) {\r\n var args = this._getEventArgs(sourceEvent);\r\n this._getAction(\"onDragLeave\")(args)\r\n }\r\n});\r\n(0, _component_registrator.default)(DRAGGABLE, Draggable);\r\nvar _default = Draggable;\r\nexports.default = _default;\r\n","/**\r\n * DevExtreme (cjs/__internal/m_sortable.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.default = void 0;\r\nvar _fx = _interopRequireDefault(require(\"../animation/fx\"));\r\nvar _translator = require(\"../animation/translator\");\r\nvar _component_registrator = _interopRequireDefault(require(\"../core/component_registrator\"));\r\nvar _element = require(\"../core/element\");\r\nvar _renderer = _interopRequireDefault(require(\"../core/renderer\"));\r\nvar _deferred = require(\"../core/utils/deferred\");\r\nvar _extend = require(\"../core/utils/extend\");\r\nvar _position = require(\"../core/utils/position\");\r\nvar _size = require(\"../core/utils/size\");\r\nvar _window = require(\"../core/utils/window\");\r\nvar _events_engine = _interopRequireDefault(require(\"../events/core/events_engine\"));\r\nvar _m_draggable = _interopRequireDefault(require(\"./m_draggable\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\n\r\nfunction _defineProperty(obj, key, value) {\r\n key = _toPropertyKey(key);\r\n if (key in obj) {\r\n Object.defineProperty(obj, key, {\r\n value: value,\r\n enumerable: true,\r\n configurable: true,\r\n writable: true\r\n })\r\n } else {\r\n obj[key] = value\r\n }\r\n return obj\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\nvar window = (0, _window.getWindow)();\r\nvar SORTABLE = \"dxSortable\";\r\nvar PLACEHOLDER_CLASS = \"placeholder\";\r\nvar CLONE_CLASS = \"clone\";\r\nvar isElementVisible = function(itemElement) {\r\n return (0, _renderer.default)(itemElement).is(\":visible\")\r\n};\r\nvar animate = function(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.default.off ? \"\" : \"transform \".concat(config.duration, \"ms \").concat(config.easing)\r\n};\r\nvar stopAnimation = function(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 style = $scrollable[0].style;\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 = (0, _size.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 = _m_draggable.default.inherit({\r\n _init: function() {\r\n this.callBase();\r\n this._sourceScrollHandler = this._handleSourceScroll.bind(this);\r\n this._sourceScrollableInfo = null\r\n },\r\n _getDefaultOptions: function() {\r\n return (0, _extend.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: function() {\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: function(items, index) {\r\n return items.slice(0, index).reverse().filter(isElementVisible)[0]\r\n },\r\n _dragStartHandler: function(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: function(e) {\r\n var $scrollable = this._getScrollable((0, _renderer.default)(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 _events_engine.default.off($scrollable, \"scroll\", this._sourceScrollHandler);\r\n _events_engine.default.on($scrollable, \"scroll\", this._sourceScrollHandler)\r\n }\r\n },\r\n _unsubscribeFromSourceScroll: function() {\r\n if (this._sourceScrollableInfo) {\r\n _events_engine.default.off(this._sourceScrollableInfo.element, \"scroll\", this._sourceScrollHandler);\r\n this._sourceScrollableInfo = null\r\n }\r\n },\r\n _handleSourceScroll: function(e) {\r\n var _this = this;\r\n var sourceScrollableInfo = this._sourceScrollableInfo;\r\n if (sourceScrollableInfo) {\r\n [\"scrollLeft\", \"scrollTop\"].forEach((function(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: function(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 ? (0, _size.getOuterHeight)($sourceElement, true) : (0, _size.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 = (0, _renderer.default)(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: function() {\r\n this.callBase.apply(this, arguments);\r\n if (this !== this._getSourceDraggable()) {\r\n this._unsubscribeFromSourceScroll()\r\n }\r\n },\r\n dragEnter: function() {\r\n if (this !== this._getTargetDraggable()) {\r\n this.option(\"toIndex\", -1)\r\n }\r\n },\r\n dragLeave: function() {\r\n if (this !== this._getTargetDraggable()) {\r\n this.option(\"toIndex\", this.option(\"fromIndex\"))\r\n }\r\n },\r\n _allowDrop: function(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 _getScrollableBoundar = getScrollableBoundary($scrollable),\r\n left = _getScrollableBoundar.left,\r\n right = _getScrollableBoundar.right,\r\n top = _getScrollableBoundar.top,\r\n bottom = _getScrollableBoundar.bottom;\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((function(item) {\r\n return item.index === toIndex\r\n }))[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: function(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 event = sourceEvent.event;\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 (0, _translator.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 (0, _deferred.Deferred)().resolve()\r\n },\r\n dragMove: function(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: function() {\r\n return \"indicate\" === this.option(\"dropFeedbackMode\") || this.option(\"allowDropInsideItem\")\r\n },\r\n _createPlaceholder: function() {\r\n var $placeholderContainer;\r\n if (this._isIndicateMode()) {\r\n $placeholderContainer = (0, _renderer.default)(\"
    \").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: function() {\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: function() {\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: function(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: function() {\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 = (0, _renderer.default)(visibleItemElements[i]);\r\n offset = $item.offset();\r\n itemWidth = (0, _size.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: (0, _size.getOuterWidth)($item),\r\n height: (0, _size.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((0, _extend.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: function(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: function(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((function(itemPoint) {\r\n itemPoint[positionPropName] -= scrollBy\r\n }))\r\n }\r\n },\r\n _getElementIndex: function($itemElement) {\r\n return this._getItems().indexOf($itemElement.get(0))\r\n },\r\n _getDragTemplateArgs: function($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: function(value) {\r\n this._$placeholderElement && this._$placeholderElement.toggle(value)\r\n },\r\n _isVerticalOrientation: function() {\r\n return \"vertical\" === this.option(\"itemOrientation\")\r\n },\r\n _normalizeToIndex: function(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: function(e, itemPoint) {\r\n var sourceDraggable = this._getSourceDraggable();\r\n var toIndex = this._normalizeToIndex(itemPoint.index, itemPoint.dropInsideItem);\r\n var eventArgs = (0, _extend.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\")((0, _extend.extend)(this._getEventArgs(e), {\r\n placeholderElement: (0, _element.getPublicElement)(this._$placeholderElement),\r\n dragElement: (0, _element.getPublicElement)(sourceDraggable._$dragElement)\r\n }));\r\n this._updateItemPoints()\r\n },\r\n _makeWidthCorrection: function($item, width) {\r\n this._$scrollable = this._getScrollable($item);\r\n if (this._$scrollable) {\r\n var scrollableWidth = (0, _size.getWidth)(this._$scrollable);\r\n var overflowLeft = this._$scrollable.offset().left - $item.offset().left;\r\n var overflowRight = (0, _size.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: function($placeholderElement, itemElement) {\r\n var dropInsideItem = this.option(\"dropInsideItem\");\r\n var $item = (0, _renderer.default)(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 = (0, _size.getOuterWidth)($item)\r\n }\r\n if (!isVertical || dropInsideItem) {\r\n height = (0, _size.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: function($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: function($targetItem, item, prevItem) {\r\n if (!item && !prevItem) {\r\n $targetItem.appendTo(this.$element())\r\n } else if (prevItem) {\r\n $targetItem.insertAfter((0, _renderer.default)(prevItem))\r\n } else {\r\n $targetItem.insertBefore((0, _renderer.default)(item))\r\n }\r\n },\r\n _getDragStartArgs: function(e, $itemElement) {\r\n return (0, _extend.extend)(this.callBase.apply(this, arguments), {\r\n fromIndex: this._getElementIndex($itemElement)\r\n })\r\n },\r\n _getEventArgs: function(e) {\r\n var sourceDraggable = this._getSourceDraggable();\r\n var targetDraggable = this._getTargetDraggable();\r\n var dropInsideItem = targetDraggable.option(\"dropInsideItem\");\r\n return (0, _extend.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: function(args) {\r\n var _this2 = this;\r\n var name = args.name;\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((function(isDragSource) {\r\n var fromIndex = isDragSource ? args.value : args.previousValue;\r\n if (null !== fromIndex) {\r\n var $fromElement = (0, _renderer.default)(_this2._getItems()[fromIndex]);\r\n _this2._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: function() {\r\n if (this._isIndicateMode() && this._$placeholderElement) {\r\n this._movePlaceholder()\r\n }\r\n },\r\n _isPositionVisible: function(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\" !== (0, _renderer.default)(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 = (0, _position.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: function(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: function() {\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: function() {\r\n var fromIndex = this._getActualFromIndex();\r\n var $fromElement = (0, _renderer.default)(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: function(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: function() {\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 = (0, _renderer.default)(itemElement);\r\n position = $itemElement.offset();\r\n if (!isVerticalOrientation && rtlEnabled && !dropInsideItem) {\r\n position.left += (0, _size.getOuterWidth)($itemElement, true)\r\n }\r\n } else {\r\n var prevVisibleItemElement = itemElement = this._getPrevVisibleItem(items, toIndex);\r\n if (prevVisibleItemElement) {\r\n position = (0, _renderer.default)(prevVisibleItemElement).offset();\r\n if (isVerticalOrientation) {\r\n position.top += (0, _size.getOuterHeight)(prevVisibleItemElement, true)\r\n } else if (!rtlEnabled) {\r\n position.left += (0, _size.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 = (0, _size.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: function(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: function(isVerticalOrientation) {\r\n var $draggableItem = this._getDraggableElement();\r\n var size = this.option(\"draggableElementSize\");\r\n if (!size) {\r\n size = isVerticalOrientation ? ((0, _size.getOuterHeight)($draggableItem) + (0, _size.getOuterHeight)($draggableItem, true)) / 2 : ((0, _size.getOuterWidth)($draggableItem) + (0, _size.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: function() {\r\n var _this$option = this.option(),\r\n fromIndex = _this$option.fromIndex,\r\n fromIndexOffset = _this$option.fromIndexOffset,\r\n offset = _this$option.offset;\r\n return null == fromIndex ? null : fromIndex + fromIndexOffset - offset\r\n },\r\n _moveItems: function(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, (0, _extend.extend)({}, animationConfig, {\r\n to: _defineProperty({}, positionPropName, !isVerticalOrientation && rtlEnabled ? -position : position)\r\n }))\r\n }\r\n }\r\n },\r\n _toggleDragSourceClass: function(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: function() {\r\n this.reset();\r\n this.callBase()\r\n },\r\n _fireAddEvent: function(sourceEvent) {\r\n var args = this._getEventArgs(sourceEvent);\r\n this._getAction(\"onAdd\")(args);\r\n return args.cancel\r\n },\r\n _fireRemoveEvent: function(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: function(sourceEvent) {\r\n var args = this._getEventArgs(sourceEvent);\r\n this._getAction(\"onReorder\")(args);\r\n return args.promise || (0, _deferred.Deferred)().resolve()\r\n }\r\n});\r\n(0, _component_registrator.default)(SORTABLE, Sortable);\r\nvar _default = Sortable;\r\nexports.default = _default;\r\n","/**\r\n * DevExtreme (cjs/__internal/utils/memoize.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.memoize = void 0;\r\nvar _common = require(\"../../core/utils/common\");\r\n\r\nfunction _toConsumableArray(arr) {\r\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread()\r\n}\r\n\r\nfunction _nonIterableSpread() {\r\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _unsupportedIterableToArray(o, minLen) {\r\n if (!o) {\r\n return\r\n }\r\n if (\"string\" === typeof o) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n var n = Object.prototype.toString.call(o).slice(8, -1);\r\n if (\"Object\" === n && o.constructor) {\r\n n = o.constructor.name\r\n }\r\n if (\"Map\" === n || \"Set\" === n) {\r\n return Array.from(o)\r\n }\r\n if (\"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n}\r\n\r\nfunction _iterableToArray(iter) {\r\n if (\"undefined\" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter[\"@@iterator\"]) {\r\n return Array.from(iter)\r\n }\r\n}\r\n\r\nfunction _arrayWithoutHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return _arrayLikeToArray(arr)\r\n }\r\n}\r\n\r\nfunction _arrayLikeToArray(arr, len) {\r\n if (null == len || len > arr.length) {\r\n len = arr.length\r\n }\r\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\r\n arr2[i] = arr[i]\r\n }\r\n return arr2\r\n}\r\nvar compareByReference = function(args, lastArgs) {\r\n return args.length === lastArgs.length && !Object.keys(args).some((function(key) {\r\n return args[key] !== lastArgs[key]\r\n }))\r\n};\r\nvar compareByValue = function(args, lastArgs) {\r\n return (0, _common.equalByValue)(args, lastArgs, {\r\n maxDepth: 4\r\n })\r\n};\r\nvar createCacheFunc = function(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.apply(void 0, _toConsumableArray(lastArgs));\r\n return lastResult\r\n }\r\n};\r\nvar MEMOIZE_DEFAULT_OPTIONS = {\r\n compareType: \"reference\"\r\n};\r\nvar memoize = function(func) {\r\n var _ref = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : MEMOIZE_DEFAULT_OPTIONS,\r\n compareType = _ref.compareType;\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.apply(void 0, args);\r\n cachedFunc = createCacheFunc(args, firstResult, func, \"reference\" === compareType ? compareByReference : compareByValue);\r\n return firstResult\r\n }\r\n return cachedFunc.apply(void 0, args)\r\n }\r\n};\r\nexports.memoize = memoize;\r\n","/**\r\n * DevExtreme (cjs/animation/easing.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.convertTransitionTimingFuncToEasing = void 0;\r\nexports.getEasing = getEasing;\r\nexports.setEasing = setEasing;\r\nvar _type = require(\"../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\nvar 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 (!(0, _type.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\nexports.convertTransitionTimingFuncToEasing = convertTransitionTimingFuncToEasing;\r\n\r\nfunction setEasing(value) {\r\n easing = value\r\n}\r\n\r\nfunction getEasing(name) {\r\n return easing[name]\r\n}\r\n","/**\r\n * DevExtreme (cjs/animation/frame.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.cancelAnimationFrame = cancelAnimationFrame;\r\nexports.requestAnimationFrame = requestAnimationFrame;\r\nvar _window = require(\"../core/utils/window\");\r\nvar _call_once = _interopRequireDefault(require(\"../core/utils/call_once\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar window = (0, _window.hasWindow)() ? (0, _window.getWindow)() : {};\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 = (0, _call_once.default)((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\n\r\nfunction requestAnimationFrame() {\r\n setAnimationFrameMethods();\r\n return request.apply(window, arguments)\r\n}\r\n\r\nfunction cancelAnimationFrame() {\r\n setAnimationFrameMethods();\r\n cancel.apply(window, arguments)\r\n}\r\n","/**\r\n * DevExtreme (cjs/animation/fx.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../core/renderer\"));\r\nvar _window = require(\"../core/utils/window\");\r\nvar _events_engine = _interopRequireDefault(require(\"../events/core/events_engine\"));\r\nvar _errors = _interopRequireDefault(require(\"../core/errors\"));\r\nvar _element = require(\"../core/element\");\r\nvar _extend = require(\"../core/utils/extend\");\r\nvar _type = require(\"../core/utils/type\");\r\nvar _iterator = require(\"../core/utils/iterator\");\r\nvar _translator = require(\"./translator\");\r\nvar _easing = require(\"./easing\");\r\nvar _frame = require(\"./frame\");\r\nvar _support = require(\"../core/utils/support\");\r\nvar _position = _interopRequireDefault(require(\"./position\"));\r\nvar _remove = require(\"../events/remove\");\r\nvar _index = require(\"../events/utils/index\");\r\nvar _deferred = require(\"../core/utils/deferred\");\r\nvar _common = require(\"../core/utils/common\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nvar window = (0, _window.getWindow)();\r\nvar removeEventName = (0, _index.addNamespace)(_remove.removeEvent, \"dxFX\");\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.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 (0, _deferred.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.Deferred;\r\n var transitionEndFired = new _deferred.Deferred;\r\n var simulatedTransitionEndFired = new _deferred.Deferred;\r\n var simulatedEndEventTimer;\r\n var transitionEndEventFullName = (0, _support.transitionEndEventName)() + \".dxFX\";\r\n config.transitionAnimation.cleanup = function() {\r\n clearTimeout(simulatedEndEventTimer);\r\n clearTimeout(waitForJSCompleteTimer);\r\n _events_engine.default.off($element, transitionEndEventFullName);\r\n _events_engine.default.off($element, removeEventName)\r\n };\r\n _events_engine.default.one($element, transitionEndEventFullName, (function() {\r\n if (Date.now() - startTime >= config.duration) {\r\n transitionEndFired.reject()\r\n }\r\n }));\r\n _events_engine.default.off($element, removeEventName);\r\n _events_engine.default.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 (0, _deferred.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 ((0, _type.isPlainObject)(config.to)) {\r\n (0, _iterator.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.Deferred;\r\n var that = this;\r\n if (!config) {\r\n return deferred.reject().promise()\r\n }(0, _iterator.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: (0, _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 (0, _frame.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 = (0, _extend.extend)({}, this.currentValue);\r\n if (currentValue[TRANSFORM_PROP]) {\r\n currentValue[TRANSFORM_PROP] = (0, _iterator.map)(currentValue[TRANSFORM_PROP], (function(value, prop) {\r\n if (\"translate\" === prop) {\r\n return (0, _translator.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 _events_engine.default.off($element, removeEventName);\r\n _events_engine.default.on($element, removeEventName, (function() {\r\n if (config.frameAnimation) {\r\n (0, _frame.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 (0, _iterator.each)(transformString.match(/\\w+\\d*\\w*\\([^)]*\\)\\s*/g), (function(i, part) {\r\n var translateData = (0, _translator.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 }(0, _frame.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 = (0, _frame.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 (0, _iterator.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 (0, _easing.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.Deferred).resolve().promise()\r\n },\r\n stop: _common.noop,\r\n isSynchronous: true\r\n};\r\nvar getAnimationStrategy = function(config) {\r\n config = config || {};\r\n var animationStrategies = {\r\n transition: (0, _support.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 && !(0, _support.transition)()) {\r\n strategy = \"noAnimation\"\r\n }\r\n return animationStrategies[strategy]\r\n};\r\nvar baseConfigValidator = function(config, animationType, validate, typeMessage) {\r\n (0, _iterator.each)([\"from\", \"to\"], (function() {\r\n if (!validate(config[this])) {\r\n throw _errors.default.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 (0, _type.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 = (0, _translator.locate)($element);\r\n if (\"slide\" !== config.type) {\r\n var positioningConfig = \"slideIn\" === config.type ? config.from : config.to;\r\n positioningConfig.position = (0, _extend.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 (0, _translator.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] = (0, _translator.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 = (0, _type.isPlainObject)(from) ? String(null !== (_from$opacity = from.opacity) && void 0 !== _from$opacity ? _from$opacity : defaultFromOpacity) : String(from);\r\n var toOpacity = (0, _type.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 = (0, _translator.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 (0, _translator.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.default.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: _common.noop,\r\n complete: _common.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 = (0, _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 = (0, _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 = (0, _index.addNamespace)(_remove.removeEvent, \"dxFXStartAnimation\");\r\nvar subscribeToRemoveEvent = function(animation) {\r\n _events_engine.default.off(animation.element, scopedRemoveEvent);\r\n _events_engine.default.on(animation.element, scopedRemoveEvent, (function() {\r\n fx.stop(animation.element)\r\n }));\r\n animation.deferred.always((function() {\r\n _events_engine.default.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 = (0, _extend.extend)(true, {}, defaultConfig, initialConfig);\r\n var configurator = getAnimationConfigurator(config);\r\n var strategy = getAnimationStrategy(config);\r\n var animation = {\r\n element: (0, _renderer.default)(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.Deferred\r\n };\r\n if ((0, _type.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 = (0, _renderer.default)(element);\r\n if (!$element.length) {\r\n return (new _deferred.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 = (0, _renderer.default)(window);\r\n var left = 0;\r\n var top = 0;\r\n var position = _position.default.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 }(0, _extend.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 (0, _iterator.each)(props, (function(key, value) {\r\n try {\r\n $element.css(key, (0, _type.isFunction)(value) ? value() : value)\r\n } catch (e) {}\r\n }))\r\n}\r\nvar stop = function(element, jumpToEnd) {\r\n var $element = (0, _renderer.default)(element);\r\n var queueData = getAnimQueueData($element);\r\n (0, _iterator.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\nvar _default = fx;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/animation/position.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _size = require(\"../core/utils/size\");\r\nvar _renderer = _interopRequireDefault(require(\"../core/renderer\"));\r\nvar _common = require(\"../core/utils/common\");\r\nvar _iterator = require(\"../core/utils/iterator\");\r\nvar _window = require(\"../core/utils/window\");\r\nvar _dom_adapter = _interopRequireDefault(require(\"../core/dom_adapter\"));\r\nvar _type = require(\"../core/utils/type\");\r\nvar _extend = require(\"../core/utils/extend\");\r\nvar _position = require(\"../core/utils/position\");\r\nvar _browser = _interopRequireDefault(require(\"../core/utils/browser\"));\r\nvar _translator = require(\"./translator\");\r\nvar _support = require(\"../core/utils/support\");\r\nvar _devices = _interopRequireDefault(require(\"../core/devices\"));\r\nvar _style = require(\"../core/utils/style\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar window = (0, _window.getWindow)();\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.default.safari;\r\nvar normalizeAlign = function(raw) {\r\n var result = {\r\n h: \"center\",\r\n v: \"center\"\r\n };\r\n var pair = (0, _common.splitPair)(raw);\r\n if (pair) {\r\n (0, _iterator.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) {\r\n return (0, _common.pairToObject)(raw)\r\n};\r\nvar normalizeCollision = function(raw) {\r\n var pair = (0, _common.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 = (0, _extend.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 = (0, _renderer.default)(\"
    \").css({\r\n width: 100,\r\n height: 100,\r\n overflow: \"scroll\",\r\n position: \"absolute\",\r\n top: -9999\r\n }).appendTo((0, _renderer.default)(\"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 = (0, _renderer.default)(what);\r\n var currentOffset = $what.offset();\r\n var result = (0, _extend.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 = (0, _renderer.default)(options.of).length && options.of || window;\r\n var offset = normalizeOffset(options.offset);\r\n var collision = normalizeCollision(options.collision);\r\n var boundary = options.boundary;\r\n var boundaryOffset = normalizeOffset(options.boundaryOffset);\r\n var h = {\r\n mySize: (0, _size.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: (0, _size.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 = (0, _renderer.default)(of);\r\n if ((0, _type.isWindow)(of [0])) {\r\n h.atLocation = of.scrollLeft();\r\n v.atLocation = of.scrollTop();\r\n if (\"phone\" === _devices.default.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 : (0, _size.getWidth)(of);\r\n v.atSize = of [0].innerHeight > of [0].outerHeight || IS_SAFARI ? of [0].innerHeight : (0, _size.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 = (0, _size.getWidth)(of);\r\n v.atSize = (0, _size.getHeight)(of)\r\n } else {\r\n var ofRect = (0, _position.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, (0, _size.getOuterWidth)(of));\r\n v.atSize = Math.max(ofRect.height, (0, _size.getOuterHeight)(of))\r\n }\r\n }\r\n initMyLocation(h);\r\n initMyLocation(v);\r\n var bounds = function() {\r\n var win = (0, _renderer.default)(window);\r\n var windowWidth = (0, _size.getWidth)(win);\r\n var windowHeight = (0, _size.getHeight)(win);\r\n var left = win.scrollLeft();\r\n var top = win.scrollTop();\r\n var documentElement = _dom_adapter.default.getDocumentElement();\r\n var hZoomLevel = _support.touch ? documentElement.clientWidth / windowWidth : 1;\r\n var vZoomLevel = _support.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 && !(0, _type.isWindow)(boundary)) {\r\n var $boundary = (0, _renderer.default)(boundary);\r\n var boundaryPosition = $boundary.offset();\r\n left = boundaryPosition.left;\r\n top = boundaryPosition.top;\r\n boundaryWidth = (0, _size.getWidth)($boundary);\r\n boundaryHeight = (0, _size.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 (0, _extend.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, styleAttr, isEmpty) {\r\n var stylePropIsValid = (0, _type.isDefined)(element.style) && !_dom_adapter.default.isNode(element.style);\r\n var newStyleValue = isEmpty ? styleAttr.replace(scale, \"\") : styleAttr;\r\n if (stylePropIsValid) {\r\n (0, _style.setStyle)(element, newStyleValue, false)\r\n } else {\r\n var styleAttributeNode = _dom_adapter.default.createAttribute(\"style\");\r\n styleAttributeNode.value = newStyleValue;\r\n element.setAttributeNode(styleAttributeNode)\r\n }\r\n};\r\nvar getOffsetWithoutScale = function getOffsetWithoutScale($startElement) {\r\n var _currentElement$getAt, _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 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, style, true);\r\n offset = getOffsetWithoutScale($startElement, $currentElement.parent());\r\n setScaleProperty(currentElement, scale, 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 = (0, _renderer.default)(what);\r\n if (!options) {\r\n return $what.offset()\r\n }(0, _translator.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 (0, _translator.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 = (0, _renderer.default)(element).get(0);\r\n if ((0, _type.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 (0, _renderer.default)(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\nvar _default = {\r\n calculateScrollbarWidth: calculateScrollbarWidth,\r\n calculate: calculatePosition,\r\n setup: position,\r\n offset: offset\r\n};\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/animation/presets/presets.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.presets = exports.PresetCollection = void 0;\r\nvar _size = require(\"../../core/utils/size\");\r\nvar _component = require(\"../../core/component\");\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _devices = _interopRequireDefault(require(\"../../core/devices\"));\r\nvar _fx = _interopRequireDefault(require(\"../fx\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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.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 (0, _extend.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.default.current().android || _devices.default.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 = (0, _size.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.default.createAnimation($element, config)\r\n },\r\n leave: function($element, configModifier) {\r\n var width = (0, _size.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.default.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.default.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.default.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.default.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.default.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 (0, _iterator.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 (0, _iterator.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.default.current().android || _devices.default.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.default.current().android && !_devices.default.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.default.current().android && !_devices.default.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.default.current().android || _devices.default.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\nexports.PresetCollection = AnimationPresetCollection;\r\nvar animationPresets = new AnimationPresetCollection;\r\nexports.presets = animationPresets;\r\n","/**\r\n * DevExtreme (cjs/animation/transition_executor/transition_executor.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.TransitionExecutor = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _class = _interopRequireDefault(require(\"../../core/class\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _fx = _interopRequireDefault(require(\"../fx\"));\r\nvar _presets = require(\"../presets/presets\");\r\nvar _deferred = require(\"../../core/utils/deferred\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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\nvar TransitionExecutor = _class.default.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 = (0, _renderer.default)($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((0, _renderer.default)(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.presets.getPreset(presetName)\r\n }\r\n if (!config) {\r\n result = void 0\r\n } else if ((0, _type.isFunction)(config[type])) {\r\n result = config[type]\r\n } else {\r\n result = (0, _extend.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 ((0, _type.isPlainObject)(animationConfig)) {\r\n result = _fx.default.createAnimation($element, animationConfig)\r\n } else if ((0, _type.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.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.Deferred).resolve().promise()\r\n } else {\r\n var animationDeferreds = (0, _iterator.map)(this._animations, (function(animation) {\r\n var result = new _deferred.Deferred;\r\n animation.deferred.always((function() {\r\n result.resolve()\r\n }));\r\n return result.promise()\r\n }));\r\n result = _deferred.when.apply(_renderer.default, animationDeferreds).always((function() {\r\n that._completeDeferred.resolve();\r\n that.reset()\r\n }));\r\n (0, _common.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\nexports.TransitionExecutor = TransitionExecutor;\r\n","/**\r\n * DevExtreme (cjs/animation/translator.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.resetPosition = exports.parseTranslate = exports.move = exports.locate = exports.getTranslateCss = exports.getTranslate = exports.clearCache = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../core/renderer\"));\r\nvar _element_data = require(\"../core/element_data\");\r\nvar _type = require(\"../core/utils/type\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar TRANSLATOR_DATA_KEY = \"dxTranslator\";\r\nvar TRANSFORM_MATRIX_REGEX = /matrix(3d)?\\((.+?)\\)/;\r\nvar TRANSLATE_REGEX = /translate(?:3d)?\\((.+?)\\)/;\r\nvar locate = function($element) {\r\n $element = (0, _renderer.default)($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\nexports.locate = locate;\r\n\r\nfunction isPercentValue(value) {\r\n return \"string\" === (0, _type.type)(value) && \"%\" === value[value.length - 1]\r\n}\r\n\r\nfunction cacheTranslate($element, translate) {\r\n if ($element.length) {\r\n (0, _element_data.data)($element.get(0), TRANSLATOR_DATA_KEY, translate)\r\n }\r\n}\r\nvar clearCache = function($element) {\r\n if ($element.length) {\r\n (0, _element_data.removeData)($element.get(0), TRANSLATOR_DATA_KEY)\r\n }\r\n};\r\nexports.clearCache = clearCache;\r\nvar 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\nexports.getTranslateCss = getTranslateCss;\r\nvar getTranslate = function($element) {\r\n var result = $element.length ? (0, _element_data.data)($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\nexports.getTranslate = getTranslate;\r\nvar move = function($element, position) {\r\n $element = (0, _renderer.default)($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\nexports.move = move;\r\nvar resetPosition = function($element, finishTransition) {\r\n $element = (0, _renderer.default)($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\nexports.resetPosition = resetPosition;\r\nvar 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\nexports.parseTranslate = parseTranslate;\r\n","/**\r\n * DevExtreme (cjs/aspnet.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n! function(factory) {\r\n if (\"function\" === typeof define && define.amd) {\r\n define((function(require, exports, module) {\r\n module.exports = factory(require(\"jquery\"), require(\"./core/templates/template_engine_registry\").setTemplateEngine, require(\"./core/templates/template_base\").renderedCallbacks, require(\"./core/guid\"), require(\"./ui/validation_engine\"), require(\"./core/utils/iterator\"), require(\"./core/utils/dom\").extractTemplateMarkup, require(\"./core/utils/string\").encodeHtml, require(\"./core/utils/ajax\"))\r\n }))\r\n } else {\r\n DevExpress.aspnet = factory(window.jQuery, DevExpress.setTemplateEngine, DevExpress.templateRendered, DevExpress.data.Guid, DevExpress.validationEngine, DevExpress.utils.iterator, DevExpress.utils.dom.extractTemplateMarkup, DevExpress.utils.string.encodeHtml, DevExpress.utils.ajax)\r\n }\r\n}((function($, _setTemplateEngine, templateRendered, Guid, validationEngine, iteratorUtils, extractTemplateMarkup, encodeHtml, ajax) {\r\n var templateCompiler = function() {\r\n var EXTENDED_OPEN_TAG = /[<[]%/g,\r\n EXTENDED_CLOSE_TAG = /%[>\\]]/g;\r\n\r\n function acceptText(bag, text) {\r\n if (text) {\r\n bag.push(\"_.push(\", JSON.stringify(text), \");\")\r\n }\r\n }\r\n\r\n function acceptCode(bag, code) {\r\n var encode = \"-\" === code.charAt(0),\r\n value = code.substr(1),\r\n interpolate = \"=\" === code.charAt(0);\r\n if (encode || interpolate) {\r\n bag.push(\"_.push(\");\r\n var expression = value;\r\n if (encode) {\r\n expression = \"encodeHtml((\" + value + \" !== null && \" + value + \" !== undefined) ? \" + value + ' : \"\")';\r\n if (/^\\s*$/.test(value)) {\r\n expression = \"encodeHtml(\" + value + \")\"\r\n }\r\n }\r\n bag.push(expression);\r\n bag.push(\");\")\r\n } else {\r\n bag.push(code + \"\\n\")\r\n }\r\n }\r\n return function(element) {\r\n var text = extractTemplateMarkup(element);\r\n var bag = [\"var _ = [];\", \"with(obj||{}) {\"],\r\n chunks = text.split(EXTENDED_OPEN_TAG);\r\n acceptText(bag, chunks.shift());\r\n for (var i = 0; i < chunks.length; i++) {\r\n var tmp = chunks[i].split(EXTENDED_CLOSE_TAG);\r\n if (2 !== tmp.length) {\r\n throw \"Template syntax error\"\r\n }\r\n acceptCode(bag, tmp[0]);\r\n acceptText(bag, tmp[1])\r\n }\r\n bag.push(\"}\", \"return _.join('')\");\r\n var code = bag.join(\"\");\r\n try {\r\n return new Function(\"obj\", \"encodeHtml\", code)\r\n } catch (e) {\r\n var src = element[0];\r\n if (\"SCRIPT\" === src.tagName) {\r\n var funcName = src.id.replaceAll(\"-\", \"\");\r\n var func = \"function \" + funcName + \"(obj,encodeHtml){\\n\" + code + \"\\n}\";\r\n $.globalEval(func, src, window.document);\r\n return funcName\r\n } else {\r\n return text\r\n }\r\n }\r\n }\r\n }();\r\n var pendingCreateComponentRoutines = [];\r\n\r\n function createComponent(name, options, id, validatorOptions) {\r\n var selector = \"#\" + String(id).replace(/[^\\w-]/g, \"\\\\$&\");\r\n pendingCreateComponentRoutines.push((function() {\r\n var $element = $(selector);\r\n if ($element.length) {\r\n var $component = $(selector)[name](options);\r\n if ($.isPlainObject(validatorOptions)) {\r\n $component.dxValidator(validatorOptions)\r\n }\r\n return true\r\n }\r\n return false\r\n }))\r\n }\r\n templateRendered.add((function() {\r\n var snapshot = pendingCreateComponentRoutines.slice();\r\n var leftover = [];\r\n pendingCreateComponentRoutines = [];\r\n snapshot.forEach((function(func) {\r\n if (!func()) {\r\n leftover.push(func)\r\n }\r\n }));\r\n pendingCreateComponentRoutines = pendingCreateComponentRoutines.concat(leftover)\r\n }));\r\n return {\r\n createComponent: createComponent,\r\n renderComponent: function(name, options, id, validatorOptions) {\r\n id = id || \"dx-\" + new Guid;\r\n createComponent(name, options, id, validatorOptions);\r\n return '
    '\r\n },\r\n getEditorValue: function(inputName) {\r\n var $widget = $(\"input[name='\" + inputName + \"']\").closest(\".dx-widget\");\r\n if ($widget.length) {\r\n var dxComponents = $widget.data(\"dxComponents\"),\r\n widget = $widget.data(dxComponents[0]);\r\n if (widget) {\r\n return widget.option(\"value\")\r\n }\r\n }\r\n },\r\n setTemplateEngine: function() {\r\n if (_setTemplateEngine) {\r\n _setTemplateEngine({\r\n compile: function(element) {\r\n return templateCompiler(element)\r\n },\r\n render: function(template, data) {\r\n if (template instanceof Function) {\r\n var html = template(data, encodeHtml);\r\n var dxMvcExtensionsObj = window.MVCx;\r\n if (dxMvcExtensionsObj && !dxMvcExtensionsObj.isDXScriptInitializedOnLoad) {\r\n html = html.replace(/(]+)id=\"dxss_.+?\"/g, \"$1\")\r\n }\r\n return html\r\n } else if (window[template] instanceof Function) {\r\n return window[template](data, encodeHtml)\r\n } else if (\"string\" === typeof template) {\r\n return template\r\n } else {\r\n throw \"Unknown template type\"\r\n }\r\n }\r\n })\r\n }\r\n },\r\n createValidationSummaryItems: function(validationGroup, editorNames) {\r\n var groupConfig, items, summary = function(validationGroup) {\r\n var result;\r\n $(\".dx-validationsummary\").each((function(_, element) {\r\n var summary = $(element).data(\"dxValidationSummary\");\r\n if (summary && summary.option(\"validationGroup\") === validationGroup) {\r\n result = summary;\r\n return false\r\n }\r\n }));\r\n return result\r\n }(validationGroup);\r\n if (summary) {\r\n groupConfig = validationEngine.getGroupConfig(validationGroup);\r\n if (groupConfig) {\r\n items = function(validators, editorNames) {\r\n var items = [];\r\n iteratorUtils.each(validators, (function(_, validator) {\r\n var widget = validator.$element().data(\"dx-validation-target\");\r\n if (widget && $.inArray(widget.option(\"name\"), editorNames) > -1) {\r\n items.push({\r\n text: widget.option(\"validationError.message\"),\r\n validator: validator\r\n })\r\n }\r\n }));\r\n return items\r\n }(groupConfig.validators, editorNames);\r\n items.length && summary.option(\"items\", items)\r\n }\r\n }\r\n },\r\n sendValidationRequest: function(propertyName, propertyValue, url, method) {\r\n var d = $.Deferred();\r\n var data = {};\r\n data[propertyName] = propertyValue;\r\n ajax.sendRequest({\r\n url: url,\r\n dataType: \"json\",\r\n method: method || \"GET\",\r\n data: data\r\n }).then((function(response) {\r\n if (\"string\" === typeof response) {\r\n d.resolve({\r\n isValid: false,\r\n message: response\r\n })\r\n } else {\r\n d.resolve(response)\r\n }\r\n }), (function(xhr) {\r\n d.reject({\r\n isValid: false,\r\n message: xhr.responseText\r\n })\r\n }));\r\n return d.promise()\r\n }\r\n }\r\n}));\r\n","/**\r\n * DevExtreme (cjs/color.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\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]{2})([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), Number((parseInt(colorString[4], 16) / 255).toFixed(2))]\r\n }\r\n}, {\r\n re: /^#([a-f0-9]{1})([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), Number((parseInt(colorString[4] + colorString[4], 16) / 255).toFixed(2))]\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\nvar _default = Color;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/common/charts.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.registerPattern = exports.registerGradient = exports.getGraphicObjects = void 0;\r\nvar _utils = require(\"../viz/core/utils\");\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\nvar graphicObjects = {};\r\nvar registerPattern = function(options) {\r\n var id = (0, _utils.getNextDefsSvgId)();\r\n graphicObjects[id] = _extends({\r\n type: \"pattern\"\r\n }, options);\r\n return id\r\n};\r\nexports.registerPattern = registerPattern;\r\nvar registerGradient = function(type, options) {\r\n var id = (0, _utils.getNextDefsSvgId)();\r\n graphicObjects[id] = _extends({\r\n type: type\r\n }, options);\r\n return id\r\n};\r\nexports.registerGradient = registerGradient;\r\nvar getGraphicObjects = function() {\r\n return graphicObjects\r\n};\r\nexports.getGraphicObjects = getGraphicObjects;\r\n","/**\r\n * DevExtreme (cjs/core/action.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"./renderer\"));\r\nvar _window = require(\"./utils/window\");\r\nvar _type = require(\"./utils/type\");\r\nvar _iterator = require(\"./utils/iterator\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar Action = function() {\r\n function Action(action, config) {\r\n config = config || {};\r\n this._action = action;\r\n this._context = config.context || (0, _window.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 var _proto = Action.prototype;\r\n _proto.execute = function() {\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 _proto._validateAction = function(e) {\r\n var excludeValidators = this._excludeValidators;\r\n var executors = Action.executors;\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 _proto._executeAction = function(e) {\r\n var result;\r\n var executors = Action.executors;\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 Action.registerExecutor = function(name, executor) {\r\n if ((0, _type.isPlainObject)(name)) {\r\n (0, _iterator.each)(name, Action.registerExecutor);\r\n return\r\n }\r\n Action.executors[name] = executor\r\n };\r\n Action.unregisterExecutor = 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 }(0, _iterator.each)(args, (function() {\r\n delete Action.executors[this]\r\n }))\r\n };\r\n return Action\r\n}();\r\nexports.default = Action;\r\nAction.executors = {};\r\nvar createValidatorByTargetElement = function(condition) {\r\n return function(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((0, _renderer.default)(element))) {\r\n e.cancel = true\r\n }\r\n }\r\n};\r\nAction.registerExecutor({\r\n disabled: {\r\n validate: createValidatorByTargetElement((function($target) {\r\n return $target.is(\".dx-state-disabled, .dx-state-disabled *\")\r\n }))\r\n },\r\n readOnly: {\r\n validate: createValidatorByTargetElement((function($target) {\r\n return $target.is(\".dx-state-readonly, .dx-state-readonly *:not(.dx-state-independent)\")\r\n }))\r\n },\r\n undefined: {\r\n execute: function(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: function(e) {\r\n if ((0, _type.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\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/core/class.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _errors = _interopRequireDefault(require(\"./errors\"));\r\nvar _type = require(\"./utils/type\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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.default.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 || (0, _type.isWindow)(this) || \"function\" !== typeof this.constructor) {\r\n throw _errors.default.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\nvar _default = classImpl;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/core/component.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.Component = void 0;\r\nvar _config = _interopRequireDefault(require(\"./config\"));\r\nvar _extend = require(\"./utils/extend\");\r\nvar _index = require(\"./options/index\");\r\nvar _utils = require(\"./options/utils\");\r\nvar _class = _interopRequireDefault(require(\"./class\"));\r\nvar _action = _interopRequireDefault(require(\"./action\"));\r\nvar _errors = _interopRequireDefault(require(\"./errors\"));\r\nvar _callbacks = _interopRequireDefault(require(\"./utils/callbacks\"));\r\nvar _events_strategy = require(\"./events_strategy\");\r\nvar _public_component = require(\"./utils/public_component\");\r\nvar _postponed_operations = require(\"./postponed_operations\");\r\nvar _type = require(\"./utils/type\");\r\nvar _common = require(\"./utils/common\");\r\nvar _data = require(\"./utils/data\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar getEventName = function(actionName) {\r\n return actionName.charAt(2).toLowerCase() + actionName.substr(3)\r\n};\r\nvar isInnerOption = function(optionName) {\r\n return 0 === optionName.indexOf(\"_\", 0)\r\n};\r\nvar Component = _class.default.inherit({\r\n _setDeprecatedOptions: function() {\r\n this._deprecatedOptions = {}\r\n },\r\n _getDeprecatedOptions: function() {\r\n return this._deprecatedOptions\r\n },\r\n _getDefaultOptions: function() {\r\n return {\r\n onInitialized: null,\r\n onOptionChanged: null,\r\n onDisposing: null,\r\n defaultOptionsRules: null\r\n }\r\n },\r\n _defaultOptionsRules: function() {\r\n return []\r\n },\r\n _setOptionsByDevice: function(rules) {\r\n this._options.applyRules(rules)\r\n },\r\n _convertRulesToOptions: function(rules) {\r\n return (0, _utils.convertRulesToOptions)(rules)\r\n },\r\n _isInitialOptionValue: function(name) {\r\n return this._options.isInitial(name)\r\n },\r\n _setOptionsByReference: function() {\r\n this._optionsByReference = {}\r\n },\r\n _getOptionsByReference: function() {\r\n return this._optionsByReference\r\n },\r\n ctor: function() {\r\n var options = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};\r\n var _optionChangedCallbacks = options._optionChangedCallbacks,\r\n _disposingCallbacks = options._disposingCallbacks;\r\n this.NAME = (0, _public_component.name)(this.constructor);\r\n this._eventsStrategy = _events_strategy.EventsStrategy.create(this, options.eventsStrategy);\r\n this._updateLockCount = 0;\r\n this._optionChangedCallbacks = _optionChangedCallbacks || (0, _callbacks.default)();\r\n this._disposingCallbacks = _disposingCallbacks || (0, _callbacks.default)();\r\n this.postponedOperations = new _postponed_operations.PostponedOperations;\r\n this._createOptions(options)\r\n },\r\n _createOptions: function(options) {\r\n var _this = this;\r\n this.beginUpdate();\r\n try {\r\n this._setOptionsByReference();\r\n this._setDeprecatedOptions();\r\n this._options = new _index.Options(this._getDefaultOptions(), this._getDefaultOptions(), this._getOptionsByReference(), this._getDeprecatedOptions());\r\n this._options.onChanging((function(name, previousValue, value) {\r\n return _this._initialized && _this._optionChanging(name, previousValue, value)\r\n }));\r\n this._options.onDeprecated((function(option, info) {\r\n return _this._logDeprecatedOptionWarning(option, info)\r\n }));\r\n this._options.onChanged((function(name, value, previousValue) {\r\n return _this._notifyOptionChanged(name, value, previousValue)\r\n }));\r\n this._options.onStartChange((function() {\r\n return _this.beginUpdate()\r\n }));\r\n this._options.onEndChange((function() {\r\n return _this.endUpdate()\r\n }));\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: function(options) {\r\n this.option(options)\r\n },\r\n _init: function() {\r\n var _this2 = this;\r\n this._createOptionChangedAction();\r\n this.on(\"disposing\", (function(args) {\r\n _this2._disposingCallbacks.fireWith(_this2, [args])\r\n }))\r\n },\r\n _logDeprecatedOptionWarning: function(option, info) {\r\n var message = info.message || \"Use the '\".concat(info.alias, \"' option instead\");\r\n _errors.default.log(\"W0001\", this.NAME, option, info.since, message)\r\n },\r\n _logDeprecatedComponentWarning: function(since, alias) {\r\n _errors.default.log(\"W0000\", this.NAME, since, \"Use the '\".concat(alias, \"' widget instead\"))\r\n },\r\n _createOptionChangedAction: function() {\r\n this._optionChangedAction = this._createActionByOption(\"onOptionChanged\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n },\r\n _createDisposingAction: function() {\r\n this._disposingAction = this._createActionByOption(\"onDisposing\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n },\r\n _optionChanged: function(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: function() {\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: function() {\r\n this._updateLockCount++\r\n },\r\n _unlockUpdate: function() {\r\n this._updateLockCount = Math.max(this._updateLockCount - 1, 0)\r\n },\r\n _isUpdateAllowed: function() {\r\n return 0 === this._updateLockCount\r\n },\r\n _isInitializingRequired: function() {\r\n return !this._initializing && !this._initialized\r\n },\r\n isInitialized: function() {\r\n return this._initialized\r\n },\r\n _commitUpdate: function() {\r\n this.postponedOperations.callPostponedOperations();\r\n this._isInitializingRequired() && this._initializeComponent()\r\n },\r\n _initializeComponent: function() {\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: function() {\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: _common.noop,\r\n _notifyOptionChanged: function(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: (0, _data.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, [(0, _extend.extend)(this._defaultActionArgs(), args)]);\r\n this._optionChangedAction((0, _extend.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: function(name) {\r\n return this._options.initial(name)\r\n },\r\n _defaultActionConfig: function() {\r\n return {\r\n context: this,\r\n component: this\r\n }\r\n },\r\n _defaultActionArgs: function() {\r\n return {\r\n component: this\r\n }\r\n },\r\n _createAction: function(actionSource, config) {\r\n var _this3 = this;\r\n var action;\r\n return function(e) {\r\n if (!(0, _type.isDefined)(e)) {\r\n e = {}\r\n }\r\n if (!(0, _type.isPlainObject)(e)) {\r\n e = {\r\n actionValue: e\r\n }\r\n }\r\n action = action || new _action.default(actionSource, (0, _extend.extend)(config, _this3._defaultActionConfig()));\r\n return action.execute.call(action, (0, _extend.extend)(e, _this3._defaultActionArgs()))\r\n }\r\n },\r\n _createActionByOption: function(optionName, config) {\r\n var _this4 = this;\r\n var action;\r\n var eventName;\r\n var actionFunc;\r\n var result = function() {\r\n if (!eventName) {\r\n config = config || {};\r\n if (\"string\" !== typeof optionName) {\r\n throw _errors.default.Error(\"E0008\")\r\n }\r\n if (0 === optionName.indexOf(\"on\")) {\r\n eventName = getEventName(optionName)\r\n }\r\n actionFunc = _this4.option(optionName)\r\n }\r\n if (!action && !actionFunc && !config.beforeExecute && !config.afterExecute && !_this4._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(_this4, props);\r\n _this4._eventsStrategy.fireEvent(eventName, props[0].args)\r\n };\r\n action = _this4._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 ((0, _config.default)().wrapActionsBeforeExecute) {\r\n var beforeActionExecute = _this4.option(\"beforeActionExecute\") || _common.noop;\r\n var wrappedAction = beforeActionExecute(_this4, action, config) || action;\r\n return wrappedAction.apply(_this4, args)\r\n }\r\n return action.apply(_this4, args)\r\n };\r\n if ((0, _config.default)().wrapActionsBeforeExecute) {\r\n return result\r\n }\r\n var onActionCreated = this.option(\"onActionCreated\") || _common.noop;\r\n return onActionCreated(this, result, config) || result\r\n },\r\n on: function(eventName, eventHandler) {\r\n this._eventsStrategy.on(eventName, eventHandler);\r\n return this\r\n },\r\n off: function(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: function(name) {\r\n return this._options.isDeprecated(name)\r\n },\r\n _setOptionWithoutOptionChange: function(name, value) {\r\n this._cancelOptionChange = name;\r\n this.option(name, value);\r\n this._cancelOptionChange = false\r\n },\r\n _getOptionValue: function(name, context) {\r\n var value = this.option(name);\r\n if ((0, _type.isFunction)(value)) {\r\n return value.bind(context)()\r\n }\r\n return value\r\n },\r\n option: function() {\r\n var _this$_options;\r\n return (_this$_options = this._options).option.apply(_this$_options, arguments)\r\n },\r\n resetOption: function(name) {\r\n this.beginUpdate();\r\n this._options.reset(name);\r\n this.endUpdate()\r\n }\r\n});\r\nexports.Component = Component;\r\n","/**\r\n * DevExtreme (cjs/core/component_registrator.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"./renderer\"));\r\nvar _component_registrator_callbacks = _interopRequireDefault(require(\"./component_registrator_callbacks\"));\r\nvar _errors = _interopRequireDefault(require(\"./errors\"));\r\nvar _public_component = require(\"./utils/public_component\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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 }(0, _public_component.name)(componentClass, name);\r\n _component_registrator_callbacks.default.fire(name, componentClass)\r\n};\r\nvar registerRendererComponent = function(name, componentClass) {\r\n _renderer.default.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.default.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\n_component_registrator_callbacks.default.add(registerRendererComponent);\r\nvar _default = registerComponent;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/core/component_registrator_callbacks.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _memorized_callbacks = _interopRequireDefault(require(\"./memorized_callbacks\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar _default = new _memorized_callbacks.default;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/core/config.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _extend = require(\"./utils/extend\");\r\nvar _errors = _interopRequireDefault(require(\"./errors\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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: function(optionsString) {\r\n if (\"{\" !== optionsString.trim().charAt(0)) {\r\n optionsString = \"{\" + optionsString + \"}\"\r\n }\r\n try {\r\n return JSON.parse(optionsString)\r\n } catch (ex) {\r\n try {\r\n return JSON.parse(normalizeToJSONString(optionsString))\r\n } catch (exNormalize) {\r\n throw _errors.default.Error(\"E3018\", ex, optionsString)\r\n }\r\n }\r\n }\r\n};\r\nvar normalizeToJSONString = function(optionsString) {\r\n return optionsString.replace(/'/g, '\"').replace(/,\\s*([\\]}])/g, \"$1\").replace(/([{,])\\s*([^\":\\s]+)\\s*:/g, '$1\"$2\":')\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((function(deprecatedField) {\r\n if (newConfig[deprecatedField]) {\r\n var message = \"Now, the \".concat(deprecatedField, \" is selected based on the specified locale.\");\r\n _errors.default.log(\"W0003\", \"config\", deprecatedField, \"19.2\", message)\r\n }\r\n }));\r\n (0, _extend.extend)(config, newConfig)\r\n};\r\nif (\"undefined\" !== typeof DevExpress && DevExpress.config) {\r\n configMethod(DevExpress.config)\r\n}\r\nvar _default = configMethod;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/core/devices.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _size = require(\"./utils/size\");\r\nvar _renderer = _interopRequireDefault(require(\"../core/renderer\"));\r\nvar _window = require(\"./utils/window\");\r\nvar _extend = require(\"./utils/extend\");\r\nvar _type = require(\"./utils/type\");\r\nvar _iterator = require(\"./utils/iterator\");\r\nvar _errors = _interopRequireDefault(require(\"./errors\"));\r\nvar _callbacks = _interopRequireDefault(require(\"./utils/callbacks\"));\r\nvar _ready_callbacks = _interopRequireDefault(require(\"./utils/ready_callbacks\"));\r\nvar _resize_callbacks = _interopRequireDefault(require(\"./utils/resize_callbacks\"));\r\nvar _events_strategy = require(\"./events_strategy\");\r\nvar _storage = require(\"./utils/storage\");\r\nvar _view_port = require(\"./utils/view_port\");\r\nvar _config = _interopRequireDefault(require(\"./config\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar navigator = (0, _window.getNavigator)();\r\nvar window = (0, _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 uaParsers = {\r\n generic: function(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\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 ios: function(userAgent) {\r\n if (!/ip(hone|od|ad)/i.test(userAgent)) {\r\n return\r\n }\r\n var isPhone = /ip(hone|od)/i.test(userAgent);\r\n var matches = userAgent.match(/os (\\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: function(userAgent) {\r\n if (!/android|htc_|silk/i.test(userAgent)) {\r\n return\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 Devices = function() {\r\n function Devices(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 _events_strategy.EventsStrategy(this);\r\n this.changed = (0, _callbacks.default)();\r\n if ((0, _window.hasWindow)()) {\r\n _ready_callbacks.default.add(this._recalculateOrientation.bind(this));\r\n _resize_callbacks.default.add(this._recalculateOrientation.bind(this))\r\n }\r\n }\r\n var _proto = Devices.prototype;\r\n _proto.current = function(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 _proto.real = function(forceDevice) {\r\n return (0, _extend.extend)({}, this._realDevice)\r\n };\r\n _proto.orientation = function() {\r\n return this._currentOrientation\r\n };\r\n _proto.isForced = function() {\r\n return this._forced\r\n };\r\n _proto.isRippleEmulator = function() {\r\n return !!this._window.tinyHippos\r\n };\r\n _proto._getCssClasses = function(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 ((0, _config.default)().rtlEnabled) {\r\n result.push(\"dx-rtl\")\r\n }\r\n return result\r\n };\r\n _proto.attachCssClasses = function(element, device) {\r\n this._deviceClasses = this._getCssClasses(device).join(\" \");\r\n (0, _renderer.default)(element).addClass(this._deviceClasses)\r\n };\r\n _proto.detachCssClasses = function(element) {\r\n (0, _renderer.default)(element).removeClass(this._deviceClasses)\r\n };\r\n _proto.isSimulator = function() {\r\n try {\r\n return this._isSimulator || (0, _window.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 _proto.forceSimulator = function() {\r\n this._isSimulator = true\r\n };\r\n _proto._getDevice = function(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 ((0, _type.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.default.Error(\"E0005\")\r\n }\r\n } else {\r\n ua = navigator.userAgent\r\n }\r\n return this._fromUA(ua)\r\n }\r\n };\r\n _proto._getDeviceOrNameFromWindowScope = function() {\r\n var result;\r\n if ((0, _window.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 _proto._getDeviceNameFromSessionStorage = function() {\r\n var sessionStorage = (0, _storage.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 _proto._fromConfig = function(config) {\r\n var result = (0, _extend.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 (0, _extend.extend)(result, shortcuts)\r\n };\r\n _proto._fromUA = function(ua) {\r\n var config;\r\n (0, _iterator.each)(uaParsers, (function(platform, parser) {\r\n config = parser(ua);\r\n return !config\r\n }));\r\n if (config) {\r\n return this._fromConfig(config)\r\n }\r\n return DEFAULT_DEVICE\r\n };\r\n _proto._changeOrientation = function() {\r\n var $window = (0, _renderer.default)(this._window);\r\n var orientation = (0, _size.getHeight)($window) > (0, _size.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 _proto._recalculateOrientation = function() {\r\n var windowWidth = (0, _size.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 _proto.on = function(eventName, eventHandler) {\r\n this._eventsStrategy.on(eventName, eventHandler);\r\n return this\r\n };\r\n _proto.off = function(eventName, eventHandler) {\r\n this._eventsStrategy.off(eventName, eventHandler);\r\n return this\r\n };\r\n return Devices\r\n}();\r\nvar devices = new Devices;\r\nvar viewPortElement = (0, _view_port.value)();\r\nif (viewPortElement) {\r\n devices.attachCssClasses(viewPortElement)\r\n}\r\n_view_port.changeCallback.add((function(viewPort, prevViewport) {\r\n devices.detachCssClasses(prevViewport);\r\n devices.attachCssClasses(viewPort)\r\n}));\r\nvar _default = devices;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/core/dom_adapter.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _dependency_injector = _interopRequireDefault(require(\"./utils/dependency_injector\"));\r\nvar _common = require(\"./utils/common\");\r\nvar _shadow_dom = require(\"./utils/shadow_dom\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\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: function(element, selector) {\r\n return element.querySelectorAll(selector)\r\n },\r\n elementMatches: function(element, selector) {\r\n var _this = this;\r\n var matches = element.matches || element.matchesSelector || element.mozMatchesSelector || element.msMatchesSelector || element.oMatchesSelector || element.webkitMatchesSelector || function(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: function(tagName, context) {\r\n context = context || this._document;\r\n return context.createElement(tagName)\r\n },\r\n createElementNS: function(ns, tagName, context) {\r\n context = context || this._document;\r\n return context.createElementNS(ns, tagName)\r\n },\r\n createTextNode: function(text, context) {\r\n context = context || this._document;\r\n return context.createTextNode(text)\r\n },\r\n createAttribute: function(text, context) {\r\n context = context || this._document;\r\n return context.createAttribute(text)\r\n },\r\n isNode: function(element) {\r\n return element && \"object\" === _typeof(element) && \"nodeType\" in element && \"nodeName\" in element\r\n },\r\n isElementNode: function(element) {\r\n return element && element.nodeType === ELEMENT_NODE\r\n },\r\n isTextNode: function(element) {\r\n return element && element.nodeType === TEXT_NODE\r\n },\r\n isDocument: function(element) {\r\n return element && element.nodeType === DOCUMENT_NODE\r\n },\r\n isDocumentFragment: function(element) {\r\n return element && element.nodeType === DOCUMENT_FRAGMENT_NODE\r\n },\r\n removeElement: function(element) {\r\n var parentNode = element && element.parentNode;\r\n if (parentNode) {\r\n parentNode.removeChild(element)\r\n }\r\n },\r\n insertElement: function(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: function(element, name) {\r\n return element.getAttribute(name)\r\n },\r\n setAttribute: function(element, name, value) {\r\n if (\"style\" === name) {\r\n element.style.cssText = value\r\n } else {\r\n element.setAttribute(name, value)\r\n }\r\n },\r\n removeAttribute: function(element, name) {\r\n element.removeAttribute(name)\r\n },\r\n setProperty: function(element, name, value) {\r\n element[name] = value\r\n },\r\n setText: function(element, text) {\r\n if (element) {\r\n element.textContent = text\r\n }\r\n },\r\n setClass: function(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: function(element, name, value) {\r\n element.style[name] = value || \"\"\r\n },\r\n _document: \"undefined\" === typeof document ? void 0 : document,\r\n getDocument: function() {\r\n return this._document\r\n },\r\n getActiveElement: function(element) {\r\n var activeElementHolder = this.getRootNode(element);\r\n return activeElementHolder.activeElement\r\n },\r\n getRootNode: function(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: function() {\r\n return this._document.body\r\n },\r\n createDocumentFragment: function() {\r\n return this._document.createDocumentFragment()\r\n },\r\n getDocumentElement: function() {\r\n return this._document.documentElement\r\n },\r\n getLocation: function() {\r\n return this._document.location\r\n },\r\n getSelection: function() {\r\n return this._document.selection\r\n },\r\n getReadyState: function() {\r\n return this._document.readyState\r\n },\r\n getHead: function() {\r\n return this._document.head\r\n },\r\n hasDocumentProperty: function(property) {\r\n return property in this._document\r\n },\r\n listen: function(element, event, callback, options) {\r\n if (!element || !(\"addEventListener\" in element)) {\r\n return _common.noop\r\n }\r\n element.addEventListener(event, callback, options);\r\n return function() {\r\n element.removeEventListener(event, callback)\r\n }\r\n },\r\n elementsFromPoint: function(x, y, element) {\r\n var activeElementHolder = this.getRootNode(element);\r\n if (activeElementHolder.host) {\r\n return (0, _shadow_dom.getShadowElementsFromPoint)(x, y, activeElementHolder)\r\n }\r\n return activeElementHolder.elementsFromPoint(x, y)\r\n }\r\n};\r\nvar _default = (0, _dependency_injector.default)(nativeDOMAdapterStrategy);\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/core/dom_component.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../core/renderer\"));\r\nvar _config = _interopRequireDefault(require(\"./config\"));\r\nvar _errors = _interopRequireDefault(require(\"./errors\"));\r\nvar _resize_callbacks = _interopRequireDefault(require(\"../core/utils/resize_callbacks\"));\r\nvar _component = require(\"./component\");\r\nvar _template_manager = require(\"./template_manager\");\r\nvar _public_component = require(\"./utils/public_component\");\r\nvar _shadow_dom = require(\"./utils/shadow_dom\");\r\nvar _element_data = require(\"./element_data\");\r\nvar _iterator = require(\"./utils/iterator\");\r\nvar _extend = require(\"./utils/extend\");\r\nvar _element = require(\"../core/element\");\r\nvar _common = require(\"./utils/common\");\r\nvar _type = require(\"./utils/type\");\r\nvar _window = require(\"../core/utils/window\");\r\nvar _short = require(\"../events/short\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar abstract = _component.Component.abstract;\r\nvar DOMComponent = _component.Component.inherit({\r\n _getDefaultOptions: function() {\r\n return (0, _extend.extend)(this.callBase(), {\r\n width: void 0,\r\n height: void 0,\r\n rtlEnabled: (0, _config.default)().rtlEnabled,\r\n elementAttr: {},\r\n disabled: false,\r\n integrationOptions: {}\r\n }, this._useTemplates() ? _template_manager.TemplateManager.createDefaultOptions() : {})\r\n },\r\n ctor: function(element, options) {\r\n this._customClass = null;\r\n this._createElement(element);\r\n (0, _public_component.attachInstanceToElement)(this._$element, this, this._dispose);\r\n this.callBase(options)\r\n },\r\n _createElement: function(element) {\r\n this._$element = (0, _renderer.default)(element)\r\n },\r\n _getSynchronizableOptionsForCreateComponent: function() {\r\n return [\"rtlEnabled\", \"disabled\", \"templatesRenderAsynchronously\"]\r\n },\r\n _checkFunctionValueDeprecation: function(optionNames) {\r\n var _this = this;\r\n if (!this.option(\"_ignoreFunctionValueDeprecation\")) {\r\n optionNames.forEach((function(optionName) {\r\n if ((0, _type.isFunction)(_this.option(optionName))) {\r\n _errors.default.log(\"W0017\", optionName)\r\n }\r\n }))\r\n }\r\n },\r\n _visibilityChanged: abstract,\r\n _dimensionChanged: abstract,\r\n _init: function() {\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: function(instanceCustomRules) {\r\n this.callBase([].concat(this.constructor._classCustomRules || [], instanceCustomRules || []))\r\n },\r\n _isInitialOptionValue: function(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: function() {\r\n if (this._isDimensionChangeSupported()) {\r\n var windowResizeCallBack = this._windowResizeCallBack = this._dimensionChanged.bind(this);\r\n _resize_callbacks.default.add(windowResizeCallBack)\r\n }\r\n },\r\n _isDimensionChangeSupported: function() {\r\n return this._dimensionChanged !== abstract\r\n },\r\n _renderComponent: function() {\r\n this._initMarkup();\r\n (0, _window.hasWindow)() && this._render()\r\n },\r\n _initMarkup: function() {\r\n var _ref = this.option() || {},\r\n rtlEnabled = _ref.rtlEnabled;\r\n this._renderElementAttributes();\r\n this._toggleRTLDirection(rtlEnabled);\r\n this._renderVisibilityChange();\r\n this._renderDimensions()\r\n },\r\n _render: function() {\r\n this._attachVisibilityChangeHandlers();\r\n (0, _shadow_dom.addShadowDomStyles)(this.$element())\r\n },\r\n _renderElementAttributes: function() {\r\n var _ref2 = this.option() || {},\r\n elementAttr = _ref2.elementAttr;\r\n var attributes = (0, _extend.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: function() {\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: 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 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: function(element, height, width) {\r\n return !!((0, _type.isDefined)(width) || (0, _type.isDefined)(height) || element.style.width || element.style.height)\r\n },\r\n _attachDimensionChangeHandlers: function() {\r\n var _this2 = this;\r\n var $el = this.$element();\r\n var namespace = \"\".concat(this.NAME, \"VisibilityChange\");\r\n _short.resize.off($el, {\r\n namespace: namespace\r\n });\r\n _short.resize.on($el, (function() {\r\n return _this2._dimensionChanged()\r\n }), {\r\n namespace: namespace\r\n })\r\n },\r\n _attachVisibilityChangeHandlers: function() {\r\n var _this3 = this;\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 _short.visibility.off($el, {\r\n namespace: namespace\r\n });\r\n _short.visibility.on($el, (function() {\r\n return _this3._checkVisibilityChanged(\"shown\")\r\n }), (function() {\r\n return _this3._checkVisibilityChanged(\"hiding\")\r\n }), {\r\n namespace: namespace\r\n })\r\n }\r\n },\r\n _isVisible: function() {\r\n var $element = this.$element();\r\n return $element.is(\":visible\")\r\n },\r\n _checkVisibilityChanged: function(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: function() {\r\n return this._visibilityChanged !== abstract && (0, _window.hasWindow)()\r\n },\r\n _clean: _common.noop,\r\n _modelByElement: function() {\r\n var _this$option = this.option(),\r\n modelByElement = _this$option.modelByElement;\r\n var $element = this.$element();\r\n return modelByElement ? modelByElement($element) : void 0\r\n },\r\n _invalidate: function() {\r\n if (this._isUpdateAllowed()) {\r\n throw _errors.default.Error(\"E0007\")\r\n }\r\n this._requireRefresh = true\r\n },\r\n _refresh: function() {\r\n this._clean();\r\n this._renderComponent()\r\n },\r\n _dispose: function() {\r\n this._templateManager && this._templateManager.dispose();\r\n this.callBase();\r\n this._clean();\r\n this._detachWindowResizeCallback()\r\n },\r\n _detachWindowResizeCallback: function() {\r\n if (this._isDimensionChangeSupported()) {\r\n _resize_callbacks.default.remove(this._windowResizeCallBack)\r\n }\r\n },\r\n _toggleRTLDirection: function(rtl) {\r\n var $element = this.$element();\r\n $element.toggleClass(\"dx-rtl\", rtl)\r\n },\r\n _createComponent: function(element, component) {\r\n var _this4 = this;\r\n var config = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};\r\n var synchronizableOptions = (0, _common.grep)(this._getSynchronizableOptionsForCreateComponent(), (function(value) {\r\n return !(value in config)\r\n }));\r\n var _this$option2 = this.option(),\r\n integrationOptions = _this$option2.integrationOptions;\r\n var _this$option3 = this.option(),\r\n nestedComponentOptions = _this$option3.nestedComponentOptions;\r\n nestedComponentOptions = nestedComponentOptions || _common.noop;\r\n var nestedComponentConfig = (0, _extend.extend)({\r\n integrationOptions: integrationOptions\r\n }, nestedComponentOptions(this));\r\n synchronizableOptions.forEach((function(optionName) {\r\n return nestedComponentConfig[optionName] = _this4.option(optionName)\r\n }));\r\n this._extendConfig(config, nestedComponentConfig);\r\n var instance = void 0;\r\n if ((0, _type.isString)(component)) {\r\n var $element = (0, _renderer.default)(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 = function(_ref3) {\r\n var name = _ref3.name,\r\n value = _ref3.value;\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\", (function() {\r\n return _this4.off(\"optionChanged\", optionChangedHandler)\r\n }))\r\n }\r\n return instance\r\n },\r\n _extendConfig: function(config, extendConfig) {\r\n (0, _iterator.each)(extendConfig, (function(key, value) {\r\n !Object.prototype.hasOwnProperty.call(config, key) && (config[key] = value)\r\n }))\r\n },\r\n _defaultActionConfig: function() {\r\n var $element = this.$element();\r\n var context = this._modelByElement($element);\r\n return (0, _extend.extend)(this.callBase(), {\r\n context: context\r\n })\r\n },\r\n _defaultActionArgs: function() {\r\n var $element = this.$element();\r\n var model = this._modelByElement($element);\r\n var element = this.element();\r\n return (0, _extend.extend)(this.callBase(), {\r\n element: element,\r\n model: model\r\n })\r\n },\r\n _optionChanged: function(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: function(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 name = attr.name;\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: function(element) {\r\n element.className = element.className.split(\" \").filter((function(cssClass) {\r\n return 0 !== cssClass.lastIndexOf(\"dx-\", 0)\r\n })).join(\" \")\r\n },\r\n _updateDOMComponent: function(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: function() {\r\n var renderRequired = this._isInitializingRequired();\r\n this.callBase();\r\n this._isUpdateAllowed() && this._updateDOMComponent(renderRequired)\r\n },\r\n $element: function() {\r\n return this._$element\r\n },\r\n element: function() {\r\n var $element = this.$element();\r\n return (0, _element.getPublicElement)($element)\r\n },\r\n dispose: function() {\r\n var element = this.$element().get(0);\r\n (0, _element_data.cleanDataRecursive)(element, true);\r\n element.textContent = \"\";\r\n this._removeAttributes(element);\r\n this._removeClasses(element)\r\n },\r\n resetOption: function(optionName) {\r\n this.callBase(optionName);\r\n if (\"width\" === optionName || \"height\" === optionName) {\r\n var initialOption = this.initialOption(optionName);\r\n !(0, _type.isDefined)(initialOption) && this.$element().css(optionName, \"\")\r\n }\r\n },\r\n _getAnonymousTemplateName: function() {\r\n return\r\n },\r\n _initTemplateManager: function() {\r\n if (this._templateManager || !this._useTemplates()) {\r\n return\r\n }\r\n var _this$option4 = this.option(),\r\n _this$option4$integra = _this$option4.integrationOptions,\r\n integrationOptions = void 0 === _this$option4$integra ? {} : _this$option4$integra;\r\n var createTemplate = integrationOptions.createTemplate;\r\n this._templateManager = new _template_manager.TemplateManager(createTemplate, this._getAnonymousTemplateName());\r\n this._initTemplates()\r\n },\r\n _initTemplates: function() {\r\n var _this5 = this;\r\n var _this$_templateManage = this._templateManager.extractTemplates(this.$element()),\r\n templates = _this$_templateManage.templates,\r\n anonymousTemplateMeta = _this$_templateManage.anonymousTemplateMeta;\r\n var anonymousTemplate = this.option(\"integrationOptions.templates.\".concat(anonymousTemplateMeta.name));\r\n templates.forEach((function(_ref4) {\r\n var name = _ref4.name,\r\n template = _ref4.template;\r\n _this5._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: function(optionName) {\r\n return this._getTemplate(this.option(optionName))\r\n },\r\n _getTemplate: function(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: function(name, template) {\r\n this._setOptionWithoutOptionChange(\"integrationOptions.templates.\" + name, this._templateManager._createTemplate(template))\r\n },\r\n _useTemplates: function() {\r\n return true\r\n }\r\n});\r\nDOMComponent.getInstance = function(element) {\r\n return (0, _public_component.getInstanceByElement)((0, _renderer.default)(element), this)\r\n};\r\nDOMComponent.defaultOptions = function(rule) {\r\n this._classCustomRules = this._classCustomRules || [];\r\n this._classCustomRules.push(rule)\r\n};\r\nvar _default = DOMComponent;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/core/element.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.getPublicElement = getPublicElement;\r\nexports.setPublicElementWrapper = setPublicElementWrapper;\r\nvar strategy = function(element) {\r\n return element && element.get(0)\r\n};\r\n\r\nfunction getPublicElement(element) {\r\n return strategy(element)\r\n}\r\n\r\nfunction setPublicElementWrapper(newStrategy) {\r\n strategy = newStrategy\r\n}\r\n","/**\r\n * DevExtreme (cjs/core/element_data.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.afterCleanData = afterCleanData;\r\nexports.beforeCleanData = beforeCleanData;\r\nexports.cleanData = cleanData;\r\nexports.cleanDataRecursive = cleanDataRecursive;\r\nexports.data = data;\r\nexports.getDataStrategy = getDataStrategy;\r\nexports.removeData = removeData;\r\nexports.strategyChanging = exports.setDataStrategy = void 0;\r\nvar _dom_adapter = _interopRequireDefault(require(\"./dom_adapter\"));\r\nvar _events_engine = _interopRequireDefault(require(\"../events/core/events_engine\"));\r\nvar _memorized_callbacks = _interopRequireDefault(require(\"./memorized_callbacks\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar dataMap = new WeakMap;\r\nvar strategy;\r\nvar strategyChanging = new _memorized_callbacks.default;\r\nexports.strategyChanging = strategyChanging;\r\nvar beforeCleanDataFunc = function() {};\r\nvar afterCleanDataFunc = function() {};\r\nvar 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\nexports.setDataStrategy = setDataStrategy;\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 _events_engine.default.off(elements[i]);\r\n dataMap.delete(elements[i])\r\n }\r\n }\r\n});\r\n\r\nfunction getDataStrategy() {\r\n return strategy\r\n}\r\n\r\nfunction data() {\r\n return strategy.data.apply(this, arguments)\r\n}\r\n\r\nfunction beforeCleanData(callback) {\r\n beforeCleanDataFunc = callback\r\n}\r\n\r\nfunction afterCleanData(callback) {\r\n afterCleanDataFunc = callback\r\n}\r\n\r\nfunction cleanData(nodes) {\r\n return strategy.cleanData.call(this, nodes)\r\n}\r\n\r\nfunction removeData(element, key) {\r\n return strategy.removeData.call(this, element, key)\r\n}\r\n\r\nfunction cleanDataRecursive(element, cleanSelf) {\r\n if (!_dom_adapter.default.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 (cjs/core/errors.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _error = _interopRequireDefault(require(\"./utils/error\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar _default = (0, _error.default)({\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\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/core/events_strategy.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.EventsStrategy = void 0;\r\nvar _callbacks = _interopRequireDefault(require(\"./utils/callbacks\"));\r\nvar _iterator = require(\"./utils/iterator\");\r\nvar _type = require(\"./utils/type\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar EventsStrategy = function() {\r\n function EventsStrategy(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 EventsStrategy.create = function(owner, strategy) {\r\n if (strategy) {\r\n return (0, _type.isFunction)(strategy) ? strategy(owner) : strategy\r\n } else {\r\n return new EventsStrategy(owner)\r\n }\r\n };\r\n var _proto = EventsStrategy.prototype;\r\n _proto.hasEvent = function(eventName) {\r\n var callbacks = this._events[eventName];\r\n return callbacks ? callbacks.has() : false\r\n };\r\n _proto.fireEvent = function(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 _proto.on = function(eventName, eventHandler) {\r\n var _this = this;\r\n if ((0, _type.isPlainObject)(eventName)) {\r\n (0, _iterator.each)(eventName, (function(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 = (0, _callbacks.default)({\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 _proto.off = function(eventName, eventHandler) {\r\n var callbacks = this._events[eventName];\r\n if (callbacks) {\r\n if ((0, _type.isFunction)(eventHandler)) {\r\n callbacks.remove(eventHandler)\r\n } else {\r\n callbacks.empty()\r\n }\r\n }\r\n };\r\n _proto.dispose = function() {\r\n (0, _iterator.each)(this._events, (function(eventName, event) {\r\n event.empty()\r\n }))\r\n };\r\n return EventsStrategy\r\n}();\r\nexports.EventsStrategy = EventsStrategy;\r\n","/**\r\n * DevExtreme (cjs/core/guid.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _class = _interopRequireDefault(require(\"./class\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar Guid = _class.default.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\nvar _default = Guid;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/core/http_request.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _window = require(\"./utils/window\");\r\nvar _dependency_injector = _interopRequireDefault(require(\"./utils/dependency_injector\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar window = (0, _window.getWindow)();\r\nvar nativeXMLHttpRequest = {\r\n getXhr: function() {\r\n return new window.XMLHttpRequest\r\n }\r\n};\r\nvar _default = (0, _dependency_injector.default)(nativeXMLHttpRequest);\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/core/inferno_renderer.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _inferno = require(\"inferno\");\r\nvar _inferno2 = require(\"@devextreme/runtime/inferno\");\r\nvar _infernoCreateElement = require(\"inferno-create-element\");\r\nvar _dom_adapter = _interopRequireDefault(require(\"./dom_adapter\"));\r\nvar _element_data = require(\"./element_data\");\r\nvar _dependency_injector = _interopRequireDefault(require(\"./utils/dependency_injector\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar remove = function(element) {\r\n var parentNode = element.parentNode;\r\n if (parentNode) {\r\n var nextSibling = element.nextSibling;\r\n (0, _element_data.cleanDataRecursive)(element);\r\n parentNode.$V = element.$V;\r\n (0, _inferno.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\nvar _default = (0, _dependency_injector.default)({\r\n createElement: function(component, props) {\r\n return (0, _infernoCreateElement.createElement)(component, props)\r\n },\r\n remove: remove,\r\n onAfterRender: function() {\r\n _inferno2.InfernoEffectHost.callEffects()\r\n },\r\n onPreRender: function() {\r\n _inferno2.InfernoEffectHost.lock()\r\n },\r\n render: function(component, props, container, replace) {\r\n if (!replace) {\r\n var parentNode = container.parentNode;\r\n var nextNode = null === container || void 0 === container ? void 0 : container.nextSibling;\r\n var rootNode = _dom_adapter.default.createElement(\"div\");\r\n rootNode.appendChild(container);\r\n var mountNode = _dom_adapter.default.createDocumentFragment().appendChild(rootNode);\r\n var vNodeAlreadyExists = !!container.$V;\r\n vNodeAlreadyExists && remove(container);\r\n (0, _inferno2.hydrate)((0, _infernoCreateElement.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 (0, _inferno.render)((0, _infernoCreateElement.createElement)(component, props), container)\r\n }\r\n }\r\n});\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/core/memorized_callbacks.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _iterator = require(\"../core/utils/iterator\");\r\nvar _callbacks = _interopRequireDefault(require(\"./utils/callbacks\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar MemorizedCallbacks = function() {\r\n function MemorizedCallbacks() {\r\n this.memory = [];\r\n this.callbacks = (0, _callbacks.default)()\r\n }\r\n var _proto = MemorizedCallbacks.prototype;\r\n _proto.add = function(fn) {\r\n (0, _iterator.each)(this.memory, (function(_, item) {\r\n return fn.apply(fn, item)\r\n }));\r\n this.callbacks.add(fn)\r\n };\r\n _proto.remove = function(fn) {\r\n this.callbacks.remove(fn)\r\n };\r\n _proto.fire = 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 this.memory.push(args);\r\n this.callbacks.fire.apply(this.callbacks, args)\r\n };\r\n return MemorizedCallbacks\r\n}();\r\nexports.default = MemorizedCallbacks;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/core/options/index.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.Options = void 0;\r\nvar _type = require(\"../utils/type\");\r\nvar _common = require(\"../utils/common\");\r\nvar _option_manager = require(\"./option_manager\");\r\nvar _data = require(\"../utils/data\");\r\nvar _utils = require(\"./utils\");\r\nvar _extend = require(\"../utils/extend\");\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\nvar Options = function() {\r\n function Options(options, defaultOptions, optionsByReference, deprecatedOptions) {\r\n var _this = this;\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 _option_manager.OptionManager(options, optionsByReference);\r\n this._optionManager.onRelevantNamesPrepared((function(options, name, value, silent) {\r\n return _this._setRelevantNames(options, name, value, silent)\r\n }));\r\n this._cachedOptions = {};\r\n this._rules = []\r\n }\r\n var _proto = Options.prototype;\r\n _proto._initDeprecatedNames = function() {\r\n for (var optionName in this._deprecated) {\r\n this._deprecatedNames.push(optionName)\r\n }\r\n };\r\n _proto._getByRules = function(rules) {\r\n rules = Array.isArray(rules) ? this._rules.concat(rules) : this._rules;\r\n return (0, _utils.convertRulesToOptions)(rules)\r\n };\r\n _proto._notifyDeprecated = function(option) {\r\n var info = this._deprecated[option];\r\n if (info) {\r\n this._deprecatedCallback(option, info)\r\n }\r\n };\r\n _proto._setRelevantNames = function(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 _proto._setField = function(options, fullName, value) {\r\n var fieldName = \"\";\r\n var fieldObject = null;\r\n do {\r\n fieldName = fieldName ? \".\".concat(fieldName) : \"\";\r\n fieldName = (0, _utils.getFieldName)(fullName) + fieldName;\r\n fullName = (0, _utils.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 _proto._clearField = function(options, name) {\r\n delete options[name];\r\n var previousFieldName = (0, _utils.getParentName)(name);\r\n var fieldObject = previousFieldName ? this._optionManager.get(options, previousFieldName, false) : options;\r\n if (fieldObject) {\r\n delete fieldObject[(0, _utils.getFieldName)(name)]\r\n }\r\n };\r\n _proto._normalizeName = function(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 _proto.addRules = function(rules) {\r\n this._rules = rules.concat(this._rules)\r\n };\r\n _proto.applyRules = function(rules) {\r\n var options = this._getByRules(rules);\r\n this.silent(options)\r\n };\r\n _proto.dispose = function() {\r\n this._deprecatedCallback = _common.noop;\r\n this._startChangeCallback = _common.noop;\r\n this._endChangeCallback = _common.noop;\r\n this._optionManager.dispose()\r\n };\r\n _proto.onChanging = function(callBack) {\r\n this._optionManager.onChanging(callBack)\r\n };\r\n _proto.onChanged = function(callBack) {\r\n this._optionManager.onChanged(callBack)\r\n };\r\n _proto.onDeprecated = function(callBack) {\r\n this._deprecatedCallback = callBack\r\n };\r\n _proto.onStartChange = function(callBack) {\r\n this._startChangeCallback = callBack\r\n };\r\n _proto.onEndChange = function(callBack) {\r\n this._endChangeCallback = callBack\r\n };\r\n _proto.isInitial = function(name) {\r\n var value = this.silent(name);\r\n var initialValue = this.initial(name);\r\n var areFunctions = (0, _type.isFunction)(value) && (0, _type.isFunction)(initialValue);\r\n return areFunctions ? value.toString() === initialValue.toString() : (0, _common.equalByValue)(value, initialValue)\r\n };\r\n _proto.initial = function(name) {\r\n return (0, _utils.getNestedOptionValue)(this._initial, name)\r\n };\r\n _proto.option = function(options, value) {\r\n var isGetter = arguments.length < 2 && \"object\" !== (0, _type.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 _proto.silent = function(options, value) {\r\n var isGetter = arguments.length < 2 && \"object\" !== (0, _type.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 _proto.reset = function(name) {\r\n var _this2 = this;\r\n if (name) {\r\n var fullPath = (0, _data.getPathParts)(name);\r\n var value = fullPath.reduce((function(value, field) {\r\n return value ? value[field] : _this2.initial(field)\r\n }), null);\r\n var defaultValue = (0, _type.isObject)(value) ? _extends({}, value) : value;\r\n this._optionManager.set(name, defaultValue, false)\r\n }\r\n };\r\n _proto.getAliasesByName = function(name) {\r\n var _this3 = this;\r\n return Object.keys(this._deprecated).filter((function(aliasName) {\r\n return name === _this3._deprecated[aliasName].alias\r\n }))\r\n };\r\n _proto.isDeprecated = function(name) {\r\n return Object.prototype.hasOwnProperty.call(this._deprecated, name)\r\n };\r\n _proto.cache = function(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] = (0, _extend.extend)(this._cachedOptions[name], options)\r\n }\r\n };\r\n _createClass(Options, [{\r\n key: \"_initial\",\r\n get: function() {\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 set: function(value) {\r\n this._initialOptions = value\r\n }\r\n }]);\r\n return Options\r\n}();\r\nexports.Options = Options;\r\n","/**\r\n * DevExtreme (cjs/core/options/option_manager.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.OptionManager = void 0;\r\nvar _data = require(\"../utils/data\");\r\nvar _common = require(\"../utils/common\");\r\nvar _comparator = require(\"../utils/comparator\");\r\nvar _extend = require(\"../utils/extend\");\r\nvar _type = require(\"../utils/type\");\r\nvar _utils = require(\"./utils\");\r\nvar cachedGetters = {};\r\nvar cachedSetters = {};\r\nvar OptionManager = function() {\r\n function OptionManager(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 var _proto = OptionManager.prototype;\r\n _proto._setByReference = function(options, rulesOptions) {\r\n (0, _extend.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 _proto._setPreparedValue = function(name, value, merge, silent) {\r\n var previousValue = this.get(this._options, name, false);\r\n if (!(0, _comparator.equals)(previousValue, value)) {\r\n var path = (0, _data.getPathParts)(name);\r\n !silent && this._changingCallback(name, previousValue, value);\r\n cachedSetters[name] = cachedSetters[name] || (0, _data.compileSetter)(name);\r\n cachedSetters[name](this._options, value, {\r\n functionsAsIs: true,\r\n merge: (0, _type.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 _proto._prepareRelevantNames = function(options, name, value, silent) {\r\n if ((0, _type.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 _proto.get = function() {\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] || (0, _data.compileGetter)(name);\r\n return cachedGetters[name](options, {\r\n functionsAsIs: true,\r\n unwrapObservables: unwrapObservables\r\n })\r\n };\r\n _proto.set = function(options, value, merge, silent) {\r\n options = (0, _utils.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 _proto.onRelevantNamesPrepared = function(callBack) {\r\n this._namePreparedCallbacks = callBack\r\n };\r\n _proto.onChanging = function(callBack) {\r\n this._changingCallback = callBack\r\n };\r\n _proto.onChanged = function(callBack) {\r\n this._changedCallback = callBack\r\n };\r\n _proto.dispose = function() {\r\n this._changingCallback = _common.noop;\r\n this._changedCallback = _common.noop\r\n };\r\n return OptionManager\r\n}();\r\nexports.OptionManager = OptionManager;\r\n","/**\r\n * DevExtreme (cjs/core/options/utils.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.normalizeOptions = exports.getParentName = exports.getNestedOptionValue = exports.getFieldName = exports.deviceMatch = exports.createDefaultOptionRules = exports.convertRulesToOptions = void 0;\r\nvar _devices = _interopRequireDefault(require(\"../devices\"));\r\nvar _type = require(\"../utils/type\");\r\nvar _common = require(\"../utils/common\");\r\nvar _extend = require(\"../utils/extend\");\r\nvar _data = require(\"../utils/data\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\n\r\nfunction _defineProperty(obj, key, value) {\r\n key = _toPropertyKey(key);\r\n if (key in obj) {\r\n Object.defineProperty(obj, key, {\r\n value: value,\r\n enumerable: true,\r\n configurable: true,\r\n writable: true\r\n })\r\n } else {\r\n obj[key] = value\r\n }\r\n return obj\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\nvar cachedGetters = {};\r\nvar convertRulesToOptions = function(rules) {\r\n var currentDevice = _devices.default.current();\r\n return rules.reduce((function(options, _ref) {\r\n var device = _ref.device,\r\n ruleOptions = _ref.options;\r\n var deviceFilter = device || {};\r\n var match = (0, _type.isFunction)(deviceFilter) ? deviceFilter(currentDevice) : deviceMatch(currentDevice, deviceFilter);\r\n if (match) {\r\n (0, _extend.extend)(true, options, ruleOptions)\r\n }\r\n return options\r\n }), {})\r\n};\r\nexports.convertRulesToOptions = convertRulesToOptions;\r\nvar normalizeOptions = function(options, value) {\r\n return \"string\" !== typeof options ? options : _defineProperty({}, options, value)\r\n};\r\nexports.normalizeOptions = normalizeOptions;\r\nvar deviceMatch = function(device, filter) {\r\n return (0, _type.isEmptyObject)(filter) || (0, _common.findBestMatches)(device, [filter]).length > 0\r\n};\r\nexports.deviceMatch = deviceMatch;\r\nvar getFieldName = function(fullName) {\r\n return fullName.substr(fullName.lastIndexOf(\".\") + 1)\r\n};\r\nexports.getFieldName = getFieldName;\r\nvar getParentName = function(fullName) {\r\n return fullName.substr(0, fullName.lastIndexOf(\".\"))\r\n};\r\nexports.getParentName = getParentName;\r\nvar getNestedOptionValue = function(optionsObject, name) {\r\n cachedGetters[name] = cachedGetters[name] || (0, _data.compileGetter)(name);\r\n return cachedGetters[name](optionsObject, {\r\n functionsAsIs: true\r\n })\r\n};\r\nexports.getNestedOptionValue = getNestedOptionValue;\r\nvar createDefaultOptionRules = function() {\r\n var options = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : [];\r\n return options\r\n};\r\nexports.createDefaultOptionRules = createDefaultOptionRules;\r\n","/**\r\n * DevExtreme (cjs/core/postponed_operations.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.PostponedOperations = void 0;\r\nvar _deferred = require(\"./utils/deferred\");\r\nvar _type = require(\"./utils/type\");\r\n\r\nfunction _toConsumableArray(arr) {\r\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread()\r\n}\r\n\r\nfunction _nonIterableSpread() {\r\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _unsupportedIterableToArray(o, minLen) {\r\n if (!o) {\r\n return\r\n }\r\n if (\"string\" === typeof o) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n var n = Object.prototype.toString.call(o).slice(8, -1);\r\n if (\"Object\" === n && o.constructor) {\r\n n = o.constructor.name\r\n }\r\n if (\"Map\" === n || \"Set\" === n) {\r\n return Array.from(o)\r\n }\r\n if (\"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n}\r\n\r\nfunction _iterableToArray(iter) {\r\n if (\"undefined\" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter[\"@@iterator\"]) {\r\n return Array.from(iter)\r\n }\r\n}\r\n\r\nfunction _arrayWithoutHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return _arrayLikeToArray(arr)\r\n }\r\n}\r\n\r\nfunction _arrayLikeToArray(arr, len) {\r\n if (null == len || len > arr.length) {\r\n len = arr.length\r\n }\r\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\r\n arr2[i] = arr[i]\r\n }\r\n return arr2\r\n}\r\nvar PostponedOperations = function() {\r\n function PostponedOperations() {\r\n this._postponedOperations = {}\r\n }\r\n var _proto = PostponedOperations.prototype;\r\n _proto.add = function(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.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 _proto.callPostponedOperations = function() {\r\n for (var key in this._postponedOperations) {\r\n var operation = this._postponedOperations[key];\r\n if ((0, _type.isDefined)(operation)) {\r\n if (operation.promises && operation.promises.length) {\r\n _deferred.when.apply(void 0, _toConsumableArray(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 return PostponedOperations\r\n}();\r\nexports.PostponedOperations = PostponedOperations;\r\n","/**\r\n * DevExtreme (cjs/core/renderer.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer_base = _interopRequireDefault(require(\"./renderer_base\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar _default = _renderer_base.default.get();\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/core/renderer_base.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _element_data = require(\"./element_data\");\r\nvar _dom_adapter = _interopRequireDefault(require(\"./dom_adapter\"));\r\nvar _window = require(\"./utils/window\");\r\nvar _type = require(\"./utils/type\");\r\nvar _style = require(\"./utils/style\");\r\nvar _size = require(\"./utils/size\");\r\nvar _html_parser = require(\"./utils/html_parser\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar window = (0, _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 : _dom_adapter.default.getBody();\r\n this.length = 1;\r\n return this\r\n }\r\n context = context || _dom_adapter.default.getDocument();\r\n if (\"<\" === selector[0]) {\r\n this[0] = _dom_adapter.default.createElement(selector.slice(1, -1), context);\r\n this.length = 1;\r\n return this\r\n } [].push.apply(this, _dom_adapter.default.querySelectorAll(context, selector));\r\n return this\r\n } else if (_dom_adapter.default.isNode(selector) || (0, _type.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 _dom_adapter.default.setAttribute(element, attrName, value)\r\n } else {\r\n _dom_adapter.default.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 ((0, _type.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 ((0, _type.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] && _dom_adapter.default.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 ((0, _type.isPlainObject)(propName)) {\r\n for (var key in propName) {\r\n this.prop(key, propName[key])\r\n }\r\n } else {\r\n _dom_adapter.default.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 = (0, _type.isString)(this[0].className) ? this[0].className : _dom_adapter.default.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 _dom_adapter.default.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 && !(0, _html_parser.isTablePart)(value) || \"number\" === typeof value) {\r\n this[0].innerHTML = value;\r\n return this\r\n }\r\n return this.append((0, _html_parser.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 = (0, _html_parser.parseHTML)(element)\r\n } else if (element.nodeType) {\r\n element = [element]\r\n } else if ((0, _type.isNumeric)(element)) {\r\n element = [_dom_adapter.default.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 _dom_adapter.default.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 = (0, _style.styleProp)(name);\r\n for (var i = 0; i < this.length; i++) {\r\n this[i].style[name] = (0, _style.normalizeStyleProp)(name, value)\r\n }\r\n};\r\ninitRender.prototype.css = function(name, value) {\r\n if ((0, _type.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 = (0, _style.styleProp)(name);\r\n var result = window.getComputedStyle(this[0])[name] || this[0].style[name];\r\n return (0, _type.isNumeric)(result) ? result.toString() : result\r\n }\r\n } else if ((0, _type.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 _dom_adapter.default.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 _dom_adapter.default.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 _dom_adapter.default.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 _dom_adapter.default.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 _dom_adapter.default.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 _dom_adapter.default.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 }(0, _element_data.cleanDataRecursive)(this[0], true);\r\n _dom_adapter.default.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 _dom_adapter.default.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 }(0, _element_data.cleanDataRecursive)(this[0]);\r\n _dom_adapter.default.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 = (0, _type.isFunction)(value) ? value() : value;\r\n (0, _element_data.cleanDataRecursive)(this[0], false);\r\n _dom_adapter.default.setText(this[0], (0, _type.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\", (0, _type.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 (_dom_adapter.default.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, _dom_adapter.default.querySelectorAll(element, querySelector));\r\n setAttributeValue(element, \"id\", elementId)\r\n } else if (_dom_adapter.default.isDocument(element) || _dom_adapter.default.isDocumentFragment(element)) {\r\n nodes.push.apply(nodes, _dom_adapter.default.querySelectorAll(element, selector))\r\n }\r\n }\r\n } else {\r\n for (i = 0; i < this.length; i++) {\r\n selector = _dom_adapter.default.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 (_dom_adapter.default.isElementNode(item) && \"string\" === (0, _type.type)(selector)) {\r\n _dom_adapter.default.elementMatches(item, selector) && result.push(item)\r\n } else if (_dom_adapter.default.isNode(selector) || (0, _type.isWindow)(selector)) {\r\n selector === item && result.push(item)\r\n } else if ((0, _type.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 (_dom_adapter.default.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 (_dom_adapter.default.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] && !_dom_adapter.default.isDocument(parent[0])) {\r\n if (_dom_adapter.default.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 (0, _size.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(_dom_adapter.default.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 = (0, _size.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 _element_data.data.call(renderer, this[0], key)\r\n }\r\n _element_data.data.call(renderer, this[0], key, value);\r\n return this\r\n};\r\ninitRender.prototype.removeData = function(key) {\r\n this[0] && (0, _element_data.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\nvar _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\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/core/resize_observer.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _common = require(\"./utils/common\");\r\nvar _window = require(\"./utils/window\");\r\nvar window = (0, _window.getWindow)();\r\nvar ResizeObserverMock = {\r\n observe: _common.noop,\r\n unobserve: _common.noop,\r\n disconnect: _common.noop\r\n};\r\nvar ResizeObserverSingleton = function() {\r\n function ResizeObserverSingleton() {\r\n var _this = this;\r\n if (!(0, _window.hasWindow)() || !window.ResizeObserver) {\r\n return ResizeObserverMock\r\n }\r\n this._callbacksMap = new Map;\r\n this._observer = new window.ResizeObserver((function(entries) {\r\n entries.forEach((function(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 var _proto = ResizeObserverSingleton.prototype;\r\n _proto.observe = function(element, callback) {\r\n this._callbacksMap.set(element, callback);\r\n this._observer.observe(element)\r\n };\r\n _proto.unobserve = function(element) {\r\n this._callbacksMap.delete(element);\r\n this._observer.unobserve(element)\r\n };\r\n _proto.disconnect = function() {\r\n this._callbacksMap.clear();\r\n this._observer.disconnect()\r\n };\r\n return ResizeObserverSingleton\r\n}();\r\nvar resizeObserverSingleton = new ResizeObserverSingleton;\r\nvar _default = resizeObserverSingleton;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/core/template_manager.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.TemplateManager = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"./renderer\"));\r\nvar _type = require(\"./utils/type\");\r\nvar _common = require(\"./utils/common\");\r\nvar _extend = require(\"./utils/extend\");\r\nvar _function_template = require(\"./templates/function_template\");\r\nvar _empty_template = require(\"./templates/empty_template\");\r\nvar _template_manager = require(\"./utils/template_manager\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\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 _function_template.FunctionTemplate((function(_ref) {\r\n var model = _ref.model,\r\n parent = _ref.parent;\r\n var widgetName = model.widget;\r\n if (!widgetName) {\r\n return (0, _renderer.default)()\r\n }\r\n var widgetElement = (0, _renderer.default)(\"
    \");\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\nvar TemplateManager = function() {\r\n function TemplateManager(createElement, anonymousTemplateName) {\r\n this._tempTemplates = [];\r\n this._defaultTemplates = {};\r\n this._anonymousTemplateName = anonymousTemplateName || ANONYMOUS_TEMPLATE_NAME;\r\n this._createElement = createElement || _template_manager.defaultCreateElement;\r\n this._createTemplateIfNeeded = this._createTemplateIfNeeded.bind(this)\r\n }\r\n TemplateManager.createDefaultOptions = function() {\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 _common.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 var _proto = TemplateManager.prototype;\r\n _proto.addDefaultTemplates = function(templates) {\r\n this._defaultTemplates = (0, _extend.extend)({}, this._defaultTemplates, templates)\r\n };\r\n _proto.dispose = function() {\r\n this._tempTemplates.forEach((function(tempTemplate) {\r\n tempTemplate.template.dispose && tempTemplate.template.dispose()\r\n }));\r\n this._tempTemplates = []\r\n };\r\n _proto.extractTemplates = function($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 _proto._extractTemplates = function($el) {\r\n var _this = this;\r\n var templates = (0, _template_manager.findTemplates)($el, TEMPLATE_OPTIONS_NAME);\r\n var suitableTemplates = (0, _template_manager.suitableTemplatesByName)(templates);\r\n templates.forEach((function(_ref2) {\r\n var element = _ref2.element,\r\n name = _ref2.options.name;\r\n if (element === suitableTemplates[name]) {\r\n (0, _renderer.default)(element).addClass(TEMPLATE_WRAPPER_CLASS).detach()\r\n } else {\r\n (0, _renderer.default)(element).remove()\r\n }\r\n }));\r\n return Object.keys(suitableTemplates).map((function(name) {\r\n return {\r\n name: name,\r\n template: _this._createTemplate(suitableTemplates[name])\r\n }\r\n }))\r\n };\r\n _proto._extractAnonymousTemplate = function($el) {\r\n var $anonymousTemplate = $el.contents().detach();\r\n var $notJunkTemplateContent = $anonymousTemplate.filter((function(_, element) {\r\n var isTextNode = element.nodeType === TEXT_NODE;\r\n var isEmptyText = (0, _renderer.default)(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 _proto._createTemplateIfNeeded = function(templateSource) {\r\n var cachedTemplate = this._tempTemplates.filter((function(tempTemplate) {\r\n return tempTemplate.source === (0, _template_manager.templateKey)(templateSource)\r\n }))[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: (0, _template_manager.templateKey)(templateSource)\r\n });\r\n return template\r\n };\r\n _proto._createTemplate = function(templateSource) {\r\n return this._createElement((0, _template_manager.validateTemplateSource)(templateSource))\r\n };\r\n _proto.getTemplate = function(templateSource, templates, _ref3, context) {\r\n var _this2 = this;\r\n var isAsyncTemplate = _ref3.isAsyncTemplate,\r\n skipTemplates = _ref3.skipTemplates;\r\n if (!(0, _type.isFunction)(templateSource)) {\r\n return (0, _template_manager.acquireTemplate)(templateSource, this._createTemplateIfNeeded, templates, isAsyncTemplate, skipTemplates, this._defaultTemplates)\r\n }\r\n return new _function_template.FunctionTemplate((function(options) {\r\n var templateSourceResult = templateSource.apply(context, (0, _template_manager.getNormalizedTemplateArgs)(options));\r\n if (!(0, _type.isDefined)(templateSourceResult)) {\r\n return new _empty_template.EmptyTemplate\r\n }\r\n var dispose = false;\r\n var template = (0, _template_manager.acquireTemplate)(templateSourceResult, (function(templateSource) {\r\n if (templateSource.nodeType || (0, _type.isRenderer)(templateSource) && !(0, _renderer.default)(templateSource).is(\"script\")) {\r\n return new _function_template.FunctionTemplate((function() {\r\n return templateSource\r\n }))\r\n }\r\n dispose = true;\r\n return _this2._createTemplate(templateSource)\r\n }), templates, isAsyncTemplate, skipTemplates, _this2._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 _createClass(TemplateManager, [{\r\n key: \"anonymousTemplateName\",\r\n get: function() {\r\n return this._anonymousTemplateName\r\n }\r\n }]);\r\n return TemplateManager\r\n}();\r\nexports.TemplateManager = TemplateManager;\r\n","/**\r\n * DevExtreme (cjs/core/templates/bindable_template.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.BindableTemplate = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../renderer\"));\r\nvar _template_base = require(\"./template_base\");\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _remove = require(\"../../events/remove\");\r\nvar _type = require(\"../utils/type\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar watchChanges = function(rawData, watchMethod, fields, fieldsMap, callback) {\r\n var fieldsDispose;\r\n var globalDispose = function(data, watchMethod, callback) {\r\n return watchMethod((function() {\r\n return data\r\n }), callback)\r\n }(rawData, watchMethod, (function(dataWithRawFields) {\r\n fieldsDispose && fieldsDispose();\r\n if ((0, _type.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 ? function() {\r\n return fieldGetter(data)\r\n } : function() {\r\n return data[name]\r\n }, (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((function(dispose) {\r\n return dispose()\r\n }))\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\nvar BindableTemplate = function(_TemplateBase) {\r\n _inheritsLoose(BindableTemplate, _TemplateBase);\r\n\r\n function BindableTemplate(render, fields, watchMethod, fieldsMap) {\r\n var _this;\r\n _this = _TemplateBase.call(this) || this;\r\n _this._render = render;\r\n _this._fields = fields;\r\n _this._fieldsMap = fieldsMap || {};\r\n _this._watchMethod = watchMethod;\r\n return _this\r\n }\r\n var _proto = BindableTemplate.prototype;\r\n _proto._renderCore = function(options) {\r\n var _this2 = this;\r\n var $container = (0, _renderer.default)(options.container);\r\n var dispose = watchChanges(options.model, this._watchMethod, this._fields, this._fieldsMap, (function(data) {\r\n $container.empty();\r\n _this2._render($container, data, options.model)\r\n }));\r\n _events_engine.default.on($container, _remove.removeEvent, dispose);\r\n return $container.contents()\r\n };\r\n return BindableTemplate\r\n}(_template_base.TemplateBase);\r\nexports.BindableTemplate = BindableTemplate;\r\n","/**\r\n * DevExtreme (cjs/core/templates/child_default_template.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.ChildDefaultTemplate = void 0;\r\nvar _template_base = require(\"./template_base\");\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar ChildDefaultTemplate = function(_TemplateBase) {\r\n _inheritsLoose(ChildDefaultTemplate, _TemplateBase);\r\n\r\n function ChildDefaultTemplate(name) {\r\n var _this;\r\n _this = _TemplateBase.call(this) || this;\r\n _this.name = name;\r\n return _this\r\n }\r\n return ChildDefaultTemplate\r\n}(_template_base.TemplateBase);\r\nexports.ChildDefaultTemplate = ChildDefaultTemplate;\r\n","/**\r\n * DevExtreme (cjs/core/templates/empty_template.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.EmptyTemplate = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../renderer\"));\r\nvar _template_base = require(\"./template_base\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar EmptyTemplate = function(_TemplateBase) {\r\n _inheritsLoose(EmptyTemplate, _TemplateBase);\r\n\r\n function EmptyTemplate() {\r\n return _TemplateBase.apply(this, arguments) || this\r\n }\r\n var _proto = EmptyTemplate.prototype;\r\n _proto._renderCore = function() {\r\n return (0, _renderer.default)()\r\n };\r\n return EmptyTemplate\r\n}(_template_base.TemplateBase);\r\nexports.EmptyTemplate = EmptyTemplate;\r\n","/**\r\n * DevExtreme (cjs/core/templates/function_template.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.FunctionTemplate = void 0;\r\nvar _template_base = require(\"./template_base\");\r\nvar _dom = require(\"../utils/dom\");\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar FunctionTemplate = function(_TemplateBase) {\r\n _inheritsLoose(FunctionTemplate, _TemplateBase);\r\n\r\n function FunctionTemplate(render) {\r\n var _this;\r\n _this = _TemplateBase.call(this) || this;\r\n _this._render = render;\r\n return _this\r\n }\r\n var _proto = FunctionTemplate.prototype;\r\n _proto._renderCore = function(options) {\r\n return (0, _dom.normalizeTemplateElement)(this._render(options))\r\n };\r\n return FunctionTemplate\r\n}(_template_base.TemplateBase);\r\nexports.FunctionTemplate = FunctionTemplate;\r\n","/**\r\n * DevExtreme (cjs/core/templates/template.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.Template = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../renderer\"));\r\nvar _template_base = require(\"./template_base\");\r\nvar _dom = require(\"../utils/dom\");\r\nvar _template_engine_registry = require(\"./template_engine_registry\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}(0, _template_engine_registry.registerTemplateEngine)(\"default\", {\r\n compile: function(element) {\r\n return (0, _dom.normalizeTemplateElement)(element)\r\n },\r\n render: function(template, model, index) {\r\n return template.clone()\r\n }\r\n});\r\n(0, _template_engine_registry.setTemplateEngine)(\"default\");\r\nvar Template = function(_TemplateBase) {\r\n _inheritsLoose(Template, _TemplateBase);\r\n\r\n function Template(element) {\r\n var _this;\r\n _this = _TemplateBase.call(this) || this;\r\n _this._element = element;\r\n return _this\r\n }\r\n var _proto = Template.prototype;\r\n _proto._renderCore = function(options) {\r\n var transclude = options.transclude;\r\n if (!transclude && !this._compiledTemplate) {\r\n this._compiledTemplate = (0, _template_engine_registry.getCurrentTemplateEngine)().compile(this._element)\r\n }\r\n return (0, _renderer.default)(\"
    \").append(transclude ? this._element : (0, _template_engine_registry.getCurrentTemplateEngine)().render(this._compiledTemplate, options.model, options.index)).contents()\r\n };\r\n _proto.source = function() {\r\n return (0, _renderer.default)(this._element).clone()\r\n };\r\n return Template\r\n}(_template_base.TemplateBase);\r\nexports.Template = Template;\r\n","/**\r\n * DevExtreme (cjs/core/templates/template_base.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.renderedCallbacks = exports.TemplateBase = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../renderer\"));\r\nvar _dom_adapter = _interopRequireDefault(require(\"../dom_adapter\"));\r\nvar _callbacks = _interopRequireDefault(require(\"../utils/callbacks\"));\r\nvar _dom = require(\"../utils/dom\");\r\nvar _visibility_change = require(\"../../events/visibility_change\");\r\nvar _errors = _interopRequireDefault(require(\"../errors\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar renderedCallbacks = (0, _callbacks.default)({\r\n syncStrategy: true\r\n});\r\nexports.renderedCallbacks = renderedCallbacks;\r\nvar TemplateBase = function() {\r\n function TemplateBase() {}\r\n var _proto = TemplateBase.prototype;\r\n _proto.render = function(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 = (0, _renderer.default)(\"
    \").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 _proto._ensureResultInContainer = function($result, container) {\r\n if (!container) {\r\n return\r\n }\r\n var $container = (0, _renderer.default)(container);\r\n var resultInContainer = (0, _dom.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 = _dom_adapter.default.getBody().contains($container.get(0));\r\n if (!resultInBody) {\r\n return\r\n }(0, _visibility_change.triggerShownEvent)($result)\r\n };\r\n _proto._renderCore = function() {\r\n throw _errors.default.Error(\"E0001\")\r\n };\r\n return TemplateBase\r\n}();\r\nexports.TemplateBase = TemplateBase;\r\n","/**\r\n * DevExtreme (cjs/core/templates/template_engine_registry.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.getCurrentTemplateEngine = getCurrentTemplateEngine;\r\nexports.registerTemplateEngine = registerTemplateEngine;\r\nexports.setTemplateEngine = setTemplateEngine;\r\nvar _type = require(\"../utils/type\");\r\nvar _errors = _interopRequireDefault(require(\"../errors\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar templateEngines = {};\r\nvar currentTemplateEngine;\r\n\r\nfunction registerTemplateEngine(name, templateEngine) {\r\n templateEngines[name] = templateEngine\r\n}\r\n\r\nfunction setTemplateEngine(templateEngine) {\r\n if ((0, _type.isString)(templateEngine)) {\r\n currentTemplateEngine = templateEngines[templateEngine];\r\n if (!currentTemplateEngine) {\r\n throw _errors.default.Error(\"E0020\", templateEngine)\r\n }\r\n } else {\r\n currentTemplateEngine = templateEngine\r\n }\r\n}\r\n\r\nfunction getCurrentTemplateEngine() {\r\n return currentTemplateEngine\r\n}\r\n","/**\r\n * DevExtreme (cjs/core/utils/ajax.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _deferred = require(\"./deferred\");\r\nvar _dom_adapter = _interopRequireDefault(require(\"../../core/dom_adapter\"));\r\nvar _http_request = _interopRequireDefault(require(\"../../core/http_request\"));\r\nvar _window = require(\"../../core/utils/window\");\r\nvar _extend = require(\"./extend\");\r\nvar _type = require(\"./type\");\r\nvar _dependency_injector = _interopRequireDefault(require(\"./dependency_injector\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar window = (0, _window.getWindow)();\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 = _dom_adapter.default.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 _dom_adapter.default.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 _dom_adapter.default.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 (0, _extend.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 (!(0, _window.hasWindow)()) {\r\n return true\r\n }\r\n var crossDomain = false;\r\n var originAnchor = _dom_adapter.default.createElement(\"a\");\r\n var urlAnchor = _dom_adapter.default.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 = _http_request.default.getXhr();\r\n var d = new _deferred.Deferred;\r\n var result = d.promise();\r\n var async = (0, _type.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) && (0, _type.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\nvar _default = (0, _dependency_injector.default)({\r\n sendRequest: sendRequest\r\n});\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/core/utils/array.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.wrapToArray = exports.removeDuplicates = exports.normalizeIndexes = exports.groupBy = exports.getUniqueValues = exports.getIntersection = void 0;\r\nvar _type = require(\"./type\");\r\nvar _object = require(\"./object\");\r\nvar _config2 = _interopRequireDefault(require(\"../config\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _toConsumableArray(arr) {\r\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread()\r\n}\r\n\r\nfunction _nonIterableSpread() {\r\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _unsupportedIterableToArray(o, minLen) {\r\n if (!o) {\r\n return\r\n }\r\n if (\"string\" === typeof o) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n var n = Object.prototype.toString.call(o).slice(8, -1);\r\n if (\"Object\" === n && o.constructor) {\r\n n = o.constructor.name\r\n }\r\n if (\"Map\" === n || \"Set\" === n) {\r\n return Array.from(o)\r\n }\r\n if (\"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n}\r\n\r\nfunction _iterableToArray(iter) {\r\n if (\"undefined\" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter[\"@@iterator\"]) {\r\n return Array.from(iter)\r\n }\r\n}\r\n\r\nfunction _arrayWithoutHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return _arrayLikeToArray(arr)\r\n }\r\n}\r\n\r\nfunction _arrayLikeToArray(arr, len) {\r\n if (null == len || len > arr.length) {\r\n len = arr.length\r\n }\r\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\r\n arr2[i] = arr[i]\r\n }\r\n return arr2\r\n}\r\n\r\nfunction createOccurrenceMap(array) {\r\n return array.reduce((function(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\nvar wrapToArray = function(item) {\r\n return Array.isArray(item) ? item : [item]\r\n};\r\nexports.wrapToArray = wrapToArray;\r\nvar getUniqueValues = function(values) {\r\n return _toConsumableArray(new Set(values))\r\n};\r\nexports.getUniqueValues = getUniqueValues;\r\nvar getIntersection = function(firstArray, secondArray) {\r\n var toRemoveMap = createOccurrenceMap(secondArray);\r\n return firstArray.filter((function(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\nexports.getIntersection = getIntersection;\r\nvar 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((function(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\nexports.removeDuplicates = removeDuplicates;\r\nvar normalizeIndexes = function(items, indexPropName, currentItem, needIndexCallback) {\r\n var indexedItems = {};\r\n var _config = (0, _config2.default)(),\r\n useLegacyVisibleIndex = _config.useLegacyVisibleIndex;\r\n var currentIndex = 0;\r\n var shouldUpdateIndex = function(item) {\r\n return !(0, _type.isDefined)(item[indexPropName]) && (!needIndexCallback || needIndexCallback(item))\r\n };\r\n items.forEach((function(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((function(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 (0, _object.orderEach)(indexedItems, (function(index, items) {\r\n items.forEach((function(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((function(item) {\r\n if (shouldUpdateIndex(item)) {\r\n item[indexPropName] = currentIndex++\r\n }\r\n }))\r\n }\r\n};\r\nexports.normalizeIndexes = normalizeIndexes;\r\nvar groupBy = function(array, getGroupName) {\r\n return array.reduce((function(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\nexports.groupBy = groupBy;\r\n","/**\r\n * DevExtreme (cjs/core/utils/array_compare.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.isKeysEqual = exports.findChanges = void 0;\r\nvar _type = require(\"./type\");\r\nvar getKeyWrapper = function(item, getKey) {\r\n var key = getKey(item);\r\n if ((0, _type.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\nvar 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\nexports.isKeysEqual = isKeysEqual;\r\nvar 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\nexports.findChanges = findChanges;\r\n","/**\r\n * DevExtreme (cjs/core/utils/browser.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _extend = require(\"./extend\");\r\nvar _window = require(\"./window\");\r\nvar navigator = (0, _window.getNavigator)();\r\nvar webkitRegExp = /(webkit)[ /]([\\w.]+)/;\r\nvar mozillaRegExp = /(mozilla)(?:.*? rv:([\\w.]+))/;\r\nvar browserFromUA = function(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\nvar _default = (0, _extend.extend)({\r\n _fromUA: browserFromUA\r\n}, browserFromUA(navigator.userAgent));\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/core/utils/call_once.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\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\nvar _default = callOnce;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/core/utils/callbacks.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\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\nvar _default = Callbacks;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/core/utils/common.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.splitPair = exports.pairToObject = exports.normalizeKey = exports.noop = exports.grep = exports.getKeyHash = exports.findBestMatches = exports.executeAsync = exports.escapeRegExp = exports.equalByValue = exports.ensureDefined = exports.denormalizeKey = exports.deferUpdater = exports.deferUpdate = exports.deferRenderer = exports.deferRender = exports.asyncNoop = exports.applyServerDecimalSeparator = void 0;\r\nvar _config = _interopRequireDefault(require(\"../config\"));\r\nvar _guid = _interopRequireDefault(require(\"../guid\"));\r\nvar _deferred = require(\"../utils/deferred\");\r\nvar _data = require(\"./data\");\r\nvar _iterator = require(\"./iterator\");\r\nvar _type = require(\"./type\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\nvar ensureDefined = function(value, defaultValue) {\r\n return (0, _type.isDefined)(value) ? value : defaultValue\r\n};\r\nexports.ensureDefined = ensureDefined;\r\nvar executeAsync = function(action, context) {\r\n var deferred = new _deferred.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 && (0, _type.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\nexports.executeAsync = executeAsync;\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.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 = _deferred.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 || (0, _deferred.when)()\r\n }\r\n};\r\nvar deferRender = function(func, deferred) {\r\n return deferExecute(\"render\", func, deferred)\r\n};\r\nexports.deferRender = deferRender;\r\nvar deferUpdate = function(func, deferred) {\r\n return deferExecute(\"update\", func, deferred)\r\n};\r\nexports.deferUpdate = deferUpdate;\r\nvar 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\nexports.deferRenderer = deferRenderer;\r\nvar 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\nexports.deferUpdater = deferUpdater;\r\nvar findBestMatches = function(targetFilter, items, mapFn) {\r\n var bestMatches = [];\r\n var maxMatchCount = 0;\r\n (0, _iterator.each)(items, (function(index, itemSrc) {\r\n var matchCount = 0;\r\n var item = mapFn ? mapFn(itemSrc) : itemSrc;\r\n (0, _iterator.each)(targetFilter, (function(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\nexports.findBestMatches = findBestMatches;\r\nvar match = function(value, targetValue) {\r\n if (Array.isArray(value) && Array.isArray(targetValue)) {\r\n var mismatch = false;\r\n (0, _iterator.each)(value, (function(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\nvar splitPair = function(raw) {\r\n var _raw$x, _raw$y;\r\n switch ((0, _type.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\nexports.splitPair = splitPair;\r\nvar normalizeKey = function(id) {\r\n var key = (0, _type.isString)(id) ? id : id.toString();\r\n var arr = key.match(/[^a-zA-Z0-9_]/g);\r\n arr && (0, _iterator.each)(arr, (function(_, sign) {\r\n key = key.replace(sign, \"__\" + sign.charCodeAt() + \"__\")\r\n }));\r\n return key\r\n};\r\nexports.normalizeKey = normalizeKey;\r\nvar denormalizeKey = function(key) {\r\n var arr = key.match(/__\\d+__/g);\r\n arr && arr.forEach((function(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\nexports.denormalizeKey = denormalizeKey;\r\nvar 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\nexports.pairToObject = pairToObject;\r\nvar getKeyHash = function(key) {\r\n if (key instanceof _guid.default) {\r\n return key.toString()\r\n } else if ((0, _type.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\nexports.getKeyHash = getKeyHash;\r\nvar escapeRegExp = function(string) {\r\n return string.replace(/[[\\]{}\\-()*+?.\\\\^$|\\s]/g, \"\\\\$&\")\r\n};\r\nexports.escapeRegExp = escapeRegExp;\r\nvar applyServerDecimalSeparator = function(value) {\r\n var separator = (0, _config.default)().serverDecimalSeparator;\r\n if ((0, _type.isDefined)(value)) {\r\n value = value.toString().replace(\".\", separator)\r\n }\r\n return value\r\n};\r\nexports.applyServerDecimalSeparator = applyServerDecimalSeparator;\r\nvar noop = function() {};\r\nexports.noop = noop;\r\nvar asyncNoop = function() {\r\n return (new _deferred.Deferred).resolve().promise()\r\n};\r\nexports.asyncNoop = asyncNoop;\r\nvar 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\nexports.grep = grep;\r\nvar compareArrays = function(array1, array2, depth, options) {\r\n if (array1.length !== array2.length) {\r\n return false\r\n }\r\n return !array1.some((function(item, idx) {\r\n return !compareByValue(item, array2[idx], depth + 1, _extends({}, options, {\r\n strict: true\r\n }))\r\n }))\r\n};\r\nvar compareObjects = function(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((function(key) {\r\n return !keys2Set.has(key) || !compareByValue(object1[key], object2[key], depth + 1, options)\r\n }))\r\n};\r\nvar DEFAULT_EQUAL_BY_VALUE_OPTS = {\r\n maxDepth: 3,\r\n strict: true\r\n};\r\nvar compareByValue = function(value1, value2, depth, options) {\r\n var strict = options.strict,\r\n maxDepth = options.maxDepth;\r\n var comparable1 = (0, _data.toComparable)(value1, true);\r\n var comparable2 = (0, _data.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 (0, _type.isObject)(comparable1) && (0, _type.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\nvar 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\nexports.equalByValue = equalByValue;\r\n","/**\r\n * DevExtreme (cjs/core/utils/comparator.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.equals = void 0;\r\nvar _dom_adapter = _interopRequireDefault(require(\"../dom_adapter\"));\r\nvar _data = require(\"./data\");\r\nvar _type = require(\"./type\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nvar hasNegation = function(oldValue, newValue) {\r\n return 1 / oldValue === 1 / newValue\r\n};\r\nvar equals = function(oldValue, newValue) {\r\n oldValue = (0, _data.toComparable)(oldValue, true);\r\n newValue = (0, _data.toComparable)(newValue, true);\r\n if (oldValue && newValue && (0, _type.isRenderer)(oldValue) && (0, _type.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) || _dom_adapter.default.isElementNode(oldValue)) {\r\n return oldValue === newValue\r\n }\r\n return false\r\n};\r\nexports.equals = equals;\r\n","/**\r\n * DevExtreme (cjs/core/utils/console.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.logger = exports.debug = void 0;\r\nvar _type = require(\"./type\");\r\nvar noop = function() {};\r\nvar getConsoleMethod = function(method) {\r\n if (\"undefined\" === typeof console || !(0, _type.isFunction)(console[method])) {\r\n return noop\r\n }\r\n return console[method].bind(console)\r\n};\r\nvar logger = {\r\n log: getConsoleMethod(\"log\"),\r\n info: getConsoleMethod(\"info\"),\r\n warn: getConsoleMethod(\"warn\"),\r\n error: getConsoleMethod(\"error\")\r\n};\r\nexports.logger = logger;\r\nvar 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\nexports.debug = debug;\r\n","/**\r\n * DevExtreme (cjs/core/utils/data.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.toComparable = exports.getPathParts = exports.compileSetter = exports.compileGetter = void 0;\r\nvar _errors = _interopRequireDefault(require(\"../errors\"));\r\nvar _class = _interopRequireDefault(require(\"../class\"));\r\nvar _object = require(\"./object\");\r\nvar _type = require(\"./type\");\r\nvar _iterator = require(\"./iterator\");\r\nvar _variable_wrapper = _interopRequireDefault(require(\"./variable_wrapper\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar unwrapVariable = _variable_wrapper.default.unwrap;\r\nvar isWrapped = _variable_wrapper.default.isWrapped;\r\nvar assign = _variable_wrapper.default.assign;\r\nvar bracketsToDots = function(expr) {\r\n return expr.replace(/\\[/g, \".\").replace(/\\]/g, \"\")\r\n};\r\nvar getPathParts = function(name) {\r\n return bracketsToDots(name).split(\".\")\r\n};\r\nexports.getPathParts = getPathParts;\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.default.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\nvar 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 && (0, _type.isObject)(current) && !(pathPart in current)) {\r\n return options.defaultValue\r\n }\r\n var next = unwrap(current[pathPart], options);\r\n if (!functionAsIs && (0, _type.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 ((0, _type.isFunction)(expr)) {\r\n return expr\r\n }\r\n};\r\nexports.compileGetter = compileGetter;\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 (0, _iterator.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 ((0, _type.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\nvar 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 && (0, _type.isFunction)(propertyValue) && !isWrapped(propertyValue);\r\n if (levelIndex === lastLevelIndex) {\r\n if (options.merge && (0, _type.isPlainObject)(value) && (!(0, _type.isDefined)(propertyValue) || (0, _type.isPlainObject)(propertyValue))) {\r\n propertyValue = ensurePropValueDefined(currentValue, propertyName, propertyValue, options);\r\n (0, _object.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\nexports.compileSetter = compileSetter;\r\nvar toComparable = function(value, caseSensitive) {\r\n var options = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};\r\n if (value instanceof Date) {\r\n return value.getTime()\r\n }\r\n if (value && value instanceof _class.default && value.valueOf) {\r\n return value.valueOf()\r\n }\r\n if (!caseSensitive && \"string\" === typeof value) {\r\n var _options$collatorOpti;\r\n if (\"base\" === (null === options || void 0 === options ? void 0 : null === (_options$collatorOpti = options.collatorOptions) || void 0 === _options$collatorOpti ? void 0 : _options$collatorOpti.sensitivity)) {\r\n var REMOVE_DIACRITICAL_MARKS_REGEXP = /[\\u0300-\\u036f]/g;\r\n value = value.normalize(\"NFD\").replace(REMOVE_DIACRITICAL_MARKS_REGEXP, \"\")\r\n }\r\n return null !== options && void 0 !== options && options.locale ? value.toLocaleLowerCase(options.locale) : value.toLowerCase()\r\n }\r\n return value\r\n};\r\nexports.toComparable = toComparable;\r\n","/**\r\n * DevExtreme (cjs/core/utils/date.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _type = require(\"./type\");\r\nvar _math = require(\"./math\");\r\nvar _iterator = require(\"./iterator\");\r\nvar _inflector = require(\"./inflector\");\r\nvar _index = require(\"../../renovation/ui/common/utils/date/index\");\r\n\r\nfunction _construct(Parent, args, Class) {\r\n if (_isNativeReflectConstruct()) {\r\n _construct = Reflect.construct.bind()\r\n } else {\r\n _construct = function(Parent, args, Class) {\r\n var a = [null];\r\n a.push.apply(a, args);\r\n var Constructor = Function.bind.apply(Parent, a);\r\n var instance = new Constructor;\r\n if (Class) {\r\n _setPrototypeOf(instance, Class.prototype)\r\n }\r\n return instance\r\n }\r\n }\r\n return _construct.apply(null, arguments)\r\n}\r\n\r\nfunction _isNativeReflectConstruct() {\r\n if (\"undefined\" === typeof Reflect || !Reflect.construct) {\r\n return false\r\n }\r\n if (Reflect.construct.sham) {\r\n return false\r\n }\r\n if (\"function\" === typeof Proxy) {\r\n return true\r\n }\r\n try {\r\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], (function() {})));\r\n return true\r\n } catch (e) {\r\n return false\r\n }\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\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 = (0, _index.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 / (0, _index.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 ((0, _type.isObject)(tickInterval)) {\r\n (0, _iterator.each)(tickInterval, (function(key, value) {\r\n milliseconds += convertDateUnitToMilliseconds(key.substr(0, key.length - 1), value)\r\n }))\r\n }\r\n if ((0, _type.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 (0, _index.toMilliseconds)(dateUnit) * count\r\n}\r\n\r\nfunction getDateUnitInterval(tickInterval) {\r\n var maxInterval = -1;\r\n var i;\r\n if ((0, _type.isString)(tickInterval)) {\r\n return tickInterval\r\n }\r\n if ((0, _type.isObject)(tickInterval)) {\r\n (0, _iterator.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 (0, _iterator.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 = (0, _type.isString)(interval) ? getDateIntervalByString(interval.toLowerCase()) : (0, _type.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 (0, _type.isDate)(value) ? addDateInterval(value, interval, dir) : (0, _math.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((0, _type.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 (!(0, _type.isDefined)(date1) || !(0, _type.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 (!(0, _type.isDefined)(date1) || !(0, _type.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 (!(0, _type.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 (!(0, _type.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 / (0, _index.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 firstMin = options.firstMin,\r\n firstMax = options.firstMax,\r\n secondMin = options.secondMin,\r\n secondMax = options.secondMax;\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 (!(0, _type.isDefined)(date)) {\r\n return date\r\n }\r\n if ((0, _type.isDefined)(min) && date < min) {\r\n normalizedDate = min\r\n }\r\n if ((0, _type.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 (!(0, _type.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 = _construct(Date, Array.prototype.slice.call(arguments));\r\n result.setFullYear(year);\r\n return result\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};\r\ndateUtils.sameView = function(view, date1, date2) {\r\n return dateUtils[(0, _inflector.camelize)(\"same \" + view)](date1, date2)\r\n};\r\nvar _default = dateUtils;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/core/utils/date_serialization.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _config = _interopRequireDefault(require(\"../config\"));\r\nvar _date = require(\"../../localization/ldml/date.formatter\");\r\nvar _default_date_names = _interopRequireDefault(require(\"../../localization/default_date_names\"));\r\nvar _type = require(\"./type\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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 ((0, _type.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 = !(0, _type.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 (0, _type.isNumeric)(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 = function(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, !(0, _config.default)().forceIsoDateParsing)\r\n};\r\nvar serializeDate = function(value, serializationFormat) {\r\n if (!serializationFormat) {\r\n return value\r\n }\r\n if (!(0, _type.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 (0, _date.getFormatter)(serializationFormat, _default_date_names.default)(value)\r\n};\r\nvar getDateSerializationFormat = function(value) {\r\n if (\"number\" === typeof value) {\r\n return NUMBER_SERIALIZATION_FORMAT\r\n } else if ((0, _type.isString)(value)) {\r\n var format;\r\n if ((0, _config.default)().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\nvar _default = {\r\n dateParser: dateParser,\r\n deserializeDate: deserializeDate,\r\n serializeDate: serializeDate,\r\n getDateSerializationFormat: getDateSerializationFormat\r\n};\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/core/utils/deferred.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.Deferred = Deferred;\r\nexports.fromPromise = fromPromise;\r\nexports.setStrategy = setStrategy;\r\nexports.when = when;\r\nvar _type = require(\"../utils/type\");\r\nvar _extend = require(\"../utils/extend\");\r\nvar _callbacks = _interopRequireDefault(require(\"../utils/callbacks\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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\"] = (0, _callbacks.default)();\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 ((0, _type.isDeferred)(callbackResult)) {\r\n callbackResult.done(result.resolve).fail(result.reject)\r\n } else if ((0, _type.isPromise)(callbackResult)) {\r\n callbackResult.then(result.resolve, result.reject)\r\n } else {\r\n result.resolve.apply(this, (0, _type.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 ? (0, _extend.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\n\r\nfunction fromPromise(promise, context) {\r\n if ((0, _type.isDeferred)(promise)) {\r\n return promise\r\n } else if ((0, _type.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 ((0, _type.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\n\r\nfunction setStrategy(value) {\r\n _DeferredObj = value.Deferred;\r\n whenFunc = value.when\r\n}\r\n\r\nfunction Deferred() {\r\n return new _DeferredObj\r\n}\r\n\r\nfunction when() {\r\n return whenFunc.apply(this, arguments)\r\n}\r\n","/**\r\n * DevExtreme (cjs/core/utils/dependency_injector.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = _default;\r\nvar _extend = require(\"./extend\");\r\nvar _type = require(\"./type\");\r\nvar _iterator = require(\"./iterator\");\r\nvar _class = _interopRequireDefault(require(\"../class\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _default(object) {\r\n var BaseClass = _class.default.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 (0, _iterator.each)(injectionObject, (function(key) {\r\n if ((0, _type.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 (0, _extend.extend)(object, initialFields);\r\n InjectedClass = BaseClass;\r\n instance = new BaseClass\r\n };\r\n return object\r\n}\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/core/utils/dom.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.resetActiveElement = exports.replaceWith = exports.normalizeTemplateElement = exports.isElementInDom = exports.insertBefore = exports.extractTemplateMarkup = exports.createTextElementHiddenCopy = exports.contains = exports.closestCommonParent = exports.clipboardText = exports.clearSelection = void 0;\r\nvar _dom_adapter = _interopRequireDefault(require(\"../../core/dom_adapter\"));\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _iterator = require(\"./iterator\");\r\nvar _type = require(\"./type\");\r\nvar _window = require(\"./window\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar window = (0, _window.getWindow)();\r\nvar getRootNodeHost = function(element) {\r\n if (!element.getRootNode) {\r\n return\r\n }\r\n var host = element.getRootNode().host;\r\n if ((0, _type.isString)(host)) {\r\n return\r\n }\r\n return host\r\n};\r\nvar resetActiveElement = function() {\r\n var activeElement = _dom_adapter.default.getActiveElement();\r\n if (activeElement && activeElement !== _dom_adapter.default.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\nexports.resetActiveElement = resetActiveElement;\r\nvar clearSelection = function() {\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\nexports.clearSelection = clearSelection;\r\nvar closestCommonParent = function(startTarget, endTarget) {\r\n var $startTarget = (0, _renderer.default)(startTarget);\r\n var $endTarget = (0, _renderer.default)(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\nexports.closestCommonParent = closestCommonParent;\r\nvar extractTemplateMarkup = function(element) {\r\n element = (0, _renderer.default)(element);\r\n var templateTag = element.length && element.filter((function() {\r\n var $node = (0, _renderer.default)(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 = (0, _renderer.default)(\"
    \").append(element);\r\n return element.html()\r\n }\r\n};\r\nexports.extractTemplateMarkup = extractTemplateMarkup;\r\nvar normalizeTemplateElement = function normalizeTemplateElement(element) {\r\n var $element = (0, _type.isDefined)(element) && (element.nodeType || (0, _type.isRenderer)(element)) ? (0, _renderer.default)(element) : (0, _renderer.default)(\"
    \").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\nexports.normalizeTemplateElement = normalizeTemplateElement;\r\nvar clipboardText = function(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\nexports.clipboardText = clipboardText;\r\nvar contains = function contains(container, element) {\r\n if (!element) {\r\n return false\r\n }\r\n if ((0, _type.isWindow)(container)) {\r\n return contains(container.document, element)\r\n }\r\n return container.contains(element) || contains(container, getRootNodeHost(element))\r\n};\r\nexports.contains = contains;\r\nvar createTextElementHiddenCopy = function(element, text, options) {\r\n var elementStyles = window.getComputedStyle((0, _renderer.default)(element).get(0));\r\n var includePaddings = options && options.includePaddings;\r\n return (0, _renderer.default)(\"
    \").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\nexports.createTextElementHiddenCopy = createTextElementHiddenCopy;\r\nvar insertBefore = function(element, newElement) {\r\n if (newElement) {\r\n _dom_adapter.default.insertElement(element.parentNode, newElement, element)\r\n }\r\n return element\r\n};\r\nexports.insertBefore = insertBefore;\r\nvar replaceWith = function(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 }(0, _iterator.each)(newElement, (function(_, currentElement) {\r\n insertBefore(element[0], currentElement)\r\n }));\r\n element.remove();\r\n return newElement\r\n};\r\nexports.replaceWith = replaceWith;\r\nvar isElementInDom = function($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 !!(0, _renderer.default)(shadowHost || element).closest((0, _window.getWindow)().document).length\r\n};\r\nexports.isElementInDom = isElementInDom;\r\n","/**\r\n * DevExtreme (cjs/core/utils/error.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = _default;\r\nvar _extend = require(\"./extend\");\r\nvar _console = require(\"./console\");\r\nvar _string = require(\"./string\");\r\nvar _version = require(\"../version\");\r\nvar ERROR_URL = \"http://js.devexpress.com/error/\" + _version.version.split(\".\").slice(0, 2).join(\"_\") + \"/\";\r\n\r\nfunction _default(baseErrors, errors) {\r\n var exports = {\r\n ERROR_MESSAGES: (0, _extend.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 _console.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 _string.format.apply(this, args).replace(/\\.*\\s*?$/, \"\")\r\n }\r\n\r\n function formatMessage(id, details) {\r\n return _string.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 (0, _extend.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\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/core/utils/extend.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.extendFromObject = exports.extend = void 0;\r\nvar _type = require(\"./type\");\r\nvar 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\nexports.extendFromObject = extendFromObject;\r\nvar 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 && ((0, _type.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 && (0, _type.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\nexports.extend = extend;\r\n","/**\r\n * DevExtreme (cjs/core/utils/html_parser.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.parseHTML = exports.isTablePart = void 0;\r\nvar _dom_adapter = _interopRequireDefault(require(\"../dom_adapter\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _toConsumableArray(arr) {\r\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread()\r\n}\r\n\r\nfunction _nonIterableSpread() {\r\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _unsupportedIterableToArray(o, minLen) {\r\n if (!o) {\r\n return\r\n }\r\n if (\"string\" === typeof o) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n var n = Object.prototype.toString.call(o).slice(8, -1);\r\n if (\"Object\" === n && o.constructor) {\r\n n = o.constructor.name\r\n }\r\n if (\"Map\" === n || \"Set\" === n) {\r\n return Array.from(o)\r\n }\r\n if (\"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n}\r\n\r\nfunction _iterableToArray(iter) {\r\n if (\"undefined\" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter[\"@@iterator\"]) {\r\n return Array.from(iter)\r\n }\r\n}\r\n\r\nfunction _arrayWithoutHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return _arrayLikeToArray(arr)\r\n }\r\n}\r\n\r\nfunction _arrayLikeToArray(arr, len) {\r\n if (null == len || len > arr.length) {\r\n len = arr.length\r\n }\r\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\r\n arr2[i] = arr[i]\r\n }\r\n return arr2\r\n}\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\nvar parseHTML = function(html) {\r\n if (\"string\" !== typeof html) {\r\n return null\r\n }\r\n var fragment = _dom_adapter.default.createDocumentFragment();\r\n var container = fragment.appendChild(_dom_adapter.default.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 _toConsumableArray(container.childNodes)\r\n};\r\nexports.parseHTML = parseHTML;\r\nvar isTablePart = function(html) {\r\n var tags = isTagName.exec(html);\r\n return tags && tags[1] in tagWrappers\r\n};\r\nexports.isTablePart = isTablePart;\r\n","/**\r\n * DevExtreme (cjs/core/utils/icon.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.getImageSourceType = exports.getImageContainer = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar ICON_CLASS = \"dx-icon\";\r\nvar SVG_ICON_CLASS = \"dx-svg-icon\";\r\nvar getImageSourceType = function(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\nexports.getImageSourceType = getImageSourceType;\r\nvar getImageContainer = function(source) {\r\n switch (getImageSourceType(source)) {\r\n case \"image\":\r\n return (0, _renderer.default)(\"\").attr(\"src\", source).addClass(ICON_CLASS);\r\n case \"fontIcon\":\r\n return (0, _renderer.default)(\"\").addClass(\"\".concat(ICON_CLASS, \" \").concat(source));\r\n case \"dxIcon\":\r\n return (0, _renderer.default)(\"\").addClass(\"\".concat(ICON_CLASS, \" \").concat(ICON_CLASS, \"-\").concat(source));\r\n case \"svg\":\r\n return (0, _renderer.default)(\"\").addClass(\"\".concat(ICON_CLASS, \" \").concat(SVG_ICON_CLASS)).append(source);\r\n default:\r\n return null\r\n }\r\n};\r\nexports.getImageContainer = getImageContainer;\r\n","/**\r\n * DevExtreme (cjs/core/utils/inflector.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.underscore = exports.titleize = exports.humanize = exports.dasherize = exports.captionize = exports.camelize = void 0;\r\nvar _iterator = require(\"./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\nvar dasherize = function(text) {\r\n return (0, _iterator.map)(_chop(text), (function(p) {\r\n return p.toLowerCase()\r\n })).join(\"-\")\r\n};\r\nexports.dasherize = dasherize;\r\nvar underscore = function(text) {\r\n return dasherize(text).replace(/-/g, \"_\")\r\n};\r\nexports.underscore = underscore;\r\nvar camelize = function(text, upperFirst) {\r\n return (0, _iterator.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\nexports.camelize = camelize;\r\nvar humanize = function(text) {\r\n return _upperCaseFirst(dasherize(text).replace(/-/g, \" \"))\r\n};\r\nexports.humanize = humanize;\r\nvar titleize = function(text) {\r\n return (0, _iterator.map)(_chop(text), (function(p) {\r\n return _upperCaseFirst(p.toLowerCase())\r\n })).join(\" \")\r\n};\r\nexports.titleize = titleize;\r\nvar DIGIT_CHARS = [\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\"];\r\nvar 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\nexports.captionize = captionize;\r\n","/**\r\n * DevExtreme (cjs/core/utils/iterator.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.reverseEach = exports.map = exports.each = void 0;\r\nvar map = function(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\nexports.map = map;\r\nvar each = function(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\nexports.each = each;\r\nvar reverseEach = function(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\nexports.reverseEach = reverseEach;\r\n","/**\r\n * DevExtreme (cjs/core/utils/math.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.adjust = adjust;\r\nexports.fitIntoRange = void 0;\r\nexports.getExponent = getExponent;\r\nexports.getExponentLength = getExponentLength;\r\nexports.getPrecision = getPrecision;\r\nexports.getRemainderByDivision = getRemainderByDivision;\r\nexports.getRoot = getRoot;\r\nexports.inRange = void 0;\r\nexports.multiplyInExponentialForm = multiplyInExponentialForm;\r\nexports.roundFloatPart = roundFloatPart;\r\nexports.sign = void 0;\r\nexports.solveCubicEquation = solveCubicEquation;\r\nexports.trunc = trunc;\r\nvar _type = require(\"./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\nexports.sign = sign;\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\nexports.fitIntoRange = fitIntoRange;\r\nvar inRange = function(value, minValue, maxValue) {\r\n return value >= minValue && value <= maxValue\r\n};\r\nexports.inRange = inRange;\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 = (0, _type.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 ((0, _type.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\n","/**\r\n * DevExtreme (cjs/core/utils/object.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.orderEach = exports.deepExtendArraySafe = exports.clone = void 0;\r\nvar _type = require(\"./type\");\r\nvar _variable_wrapper = _interopRequireDefault(require(\"./variable_wrapper\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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\nexports.clone = clone;\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 = (0, _type.isNumeric)(x);\r\n var isNumberY = (0, _type.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\nexports.orderEach = orderEach;\r\nvar assignValueToProperty = function(target, property, value, assignByReference) {\r\n if (!assignByReference && _variable_wrapper.default.isWrapped(target[property])) {\r\n _variable_wrapper.default.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 ((0, _type.isPlainObject)(newValue)) {\r\n var goDeeper = extendComplexObject ? (0, _type.isObject)(prevValue) : (0, _type.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\nexports.deepExtendArraySafe = deepExtendArraySafe;\r\n","/**\r\n * DevExtreme (cjs/core/utils/position.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.getDefaultAlignment = exports.getBoundingRect = void 0;\r\nvar _config = _interopRequireDefault(require(\"../config\"));\r\nvar _type = require(\"../utils/type\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar getDefaultAlignment = function(isRtlEnabled) {\r\n var rtlEnabled = null !== isRtlEnabled && void 0 !== isRtlEnabled ? isRtlEnabled : (0, _config.default)().rtlEnabled;\r\n return rtlEnabled ? \"right\" : \"left\"\r\n};\r\nexports.getDefaultAlignment = getDefaultAlignment;\r\nvar getBoundingRect = function(element) {\r\n if ((0, _type.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\nexports.getBoundingRect = getBoundingRect;\r\n","/**\r\n * DevExtreme (cjs/core/utils/public_component.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.attachInstanceToElement = attachInstanceToElement;\r\nexports.getInstanceByElement = getInstanceByElement;\r\nexports.name = void 0;\r\nvar _element_data = require(\"../../core/element_data\");\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _type = require(\"./type\");\r\nvar _remove = require(\"../../events/remove\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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 ((0, _type.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\nexports.name = getName;\r\n\r\nfunction attachInstanceToElement($element, componentInstance, disposeFn) {\r\n var data = (0, _element_data.data)($element.get(0));\r\n var name = getName(componentInstance.constructor);\r\n data[name] = componentInstance;\r\n if (disposeFn) {\r\n _events_engine.default.one($element, _remove.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\n\r\nfunction getInstanceByElement($element, componentClass) {\r\n var name = getName(componentClass);\r\n return (0, _element_data.data)($element.get(0), name)\r\n}\r\n","/**\r\n * DevExtreme (cjs/core/utils/queue.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.create = createQueue;\r\nexports.enqueue = void 0;\r\nvar _errors = _interopRequireDefault(require(\"../errors\"));\r\nvar _deferred = require(\"../../core/utils/deferred\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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 (0, _deferred.when)(result).always(exec);\r\n return\r\n }\r\n throw _errors.default.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\nvar enqueue = createQueue().add;\r\nexports.enqueue = enqueue;\r\n","/**\r\n * DevExtreme (cjs/core/utils/ready_callbacks.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _dom_adapter = _interopRequireDefault(require(\"../dom_adapter\"));\r\nvar _dependency_injector = _interopRequireDefault(require(\"./dependency_injector\"));\r\nvar _window = require(\"./window\");\r\nvar _call_once = _interopRequireDefault(require(\"./call_once\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar callbacks = [];\r\nvar subscribeReady = (0, _call_once.default)((function() {\r\n var removeListener = _dom_adapter.default.listen(_dom_adapter.default.getDocument(), \"DOMContentLoaded\", (function() {\r\n readyCallbacks.fire();\r\n removeListener()\r\n }))\r\n}));\r\nvar readyCallbacks = {\r\n add: function(callback) {\r\n var windowExists = (0, _window.hasWindow)();\r\n if (windowExists && \"loading\" !== _dom_adapter.default.getReadyState()) {\r\n callback()\r\n } else {\r\n callbacks.push(callback);\r\n windowExists && subscribeReady()\r\n }\r\n },\r\n fire: function() {\r\n callbacks.forEach((function(callback) {\r\n return callback()\r\n }));\r\n callbacks = []\r\n }\r\n};\r\nvar _default = (0, _dependency_injector.default)(readyCallbacks);\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/core/utils/resize_callbacks.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _window = require(\"./window\");\r\nvar _dom_adapter = _interopRequireDefault(require(\"../dom_adapter\"));\r\nvar _callbacks = _interopRequireDefault(require(\"./callbacks\"));\r\nvar _ready_callbacks = _interopRequireDefault(require(\"./ready_callbacks\"));\r\nvar _call_once = _interopRequireDefault(require(\"./call_once\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar resizeCallbacks = function() {\r\n var prevSize;\r\n var callbacks = (0, _callbacks.default)();\r\n var originalCallbacksAdd = callbacks.add;\r\n var originalCallbacksRemove = callbacks.remove;\r\n if (!(0, _window.hasWindow)()) {\r\n return callbacks\r\n }\r\n var formatSize = function() {\r\n var window = (0, _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 = (0, _call_once.default)((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 _ready_callbacks.default.add((function() {\r\n if (!removeListener && callbacks.has()) {\r\n removeListener = _dom_adapter.default.listen((0, _window.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\nvar _default = resizeCallbacks;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/core/utils/selection_filter.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.SelectionFilterCreator = void 0;\r\nvar _common = require(\"./common\");\r\nvar _type = require(\"./type\");\r\nvar SelectionFilterCreator = function(selectedItemKeys, isSelectAll) {\r\n this.getLocalFilter = function(keyGetter, equalKeys, equalByReference, keyExpr) {\r\n equalKeys = void 0 === equalKeys ? _common.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 ((0, _type.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((function(key) {\r\n return keyOf(key)\r\n })) : 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 = (0, _common.getKeyHash)(key);\r\n if (!(0, _type.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[(0, _common.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\nexports.SelectionFilterCreator = SelectionFilterCreator;\r\n","/**\r\n * DevExtreme (cjs/core/utils/shadow_dom.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.addShadowDomStyles = addShadowDomStyles;\r\nexports.getShadowElementsFromPoint = getShadowElementsFromPoint;\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\n\r\nfunction 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 Object.defineProperties({\r\n push: function(item) {\r\n items.push(item);\r\n return this\r\n },\r\n shift: function() {\r\n shiftIndex++;\r\n return items[shiftIndex - 1]\r\n }\r\n }, {\r\n length: {\r\n get: function() {\r\n return items.length - shiftIndex\r\n },\r\n configurable: true,\r\n enumerable: true\r\n },\r\n items: {\r\n get: function() {\r\n return items\r\n },\r\n configurable: true,\r\n enumerable: true\r\n }\r\n })\r\n}\r\n\r\nfunction 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 (cjs/core/utils/size.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.setWidth = exports.setOuterWidth = exports.setOuterHeight = exports.setInnerWidth = exports.setInnerHeight = exports.setHeight = exports.parseHeight = exports.implementationsMap = exports.getWindowByElement = exports.getWidth = exports.getVisibleHeight = exports.getVerticalOffsets = exports.getSize = exports.getOuterWidth = exports.getOuterHeight = exports.getOffset = exports.getInnerWidth = exports.getInnerHeight = exports.getHeight = exports.getElementBoxParams = exports.addOffsetToMinHeight = exports.addOffsetToMaxHeight = void 0;\r\nvar _window = require(\"../../core/utils/window\");\r\nvar _dom_adapter = _interopRequireDefault(require(\"../../core/dom_adapter\"));\r\nvar _type = require(\"../utils/type\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar window = (0, _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\nvar 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\nexports.getElementBoxParams = getElementBoxParams;\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 = function(elem, styles, field) {\r\n return parseFloat(getCSSProperty(elem, styles, field, \"0\")) || 0\r\n };\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\nvar 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\nexports.getSize = getSize;\r\nvar getContainerHeight = function(container) {\r\n return (0, _type.isWindow)(container) ? container.innerHeight : container.offsetHeight\r\n};\r\nvar 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\nexports.parseHeight = parseHeight;\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 ((0, _type.isString)(value)) {\r\n value = parseHeight(value, container)\r\n }\r\n if ((0, _type.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\nvar addOffsetToMaxHeight = function(value, offset, container) {\r\n var maxHeight = getHeightWithOffset(value, offset, container);\r\n return null !== maxHeight ? maxHeight : \"none\"\r\n};\r\nexports.addOffsetToMaxHeight = addOffsetToMaxHeight;\r\nvar addOffsetToMinHeight = function(value, offset, container) {\r\n var minHeight = getHeightWithOffset(value, offset, container);\r\n return null !== minHeight ? minHeight : 0\r\n};\r\nexports.addOffsetToMinHeight = addOffsetToMinHeight;\r\nvar 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\nexports.getVerticalOffsets = getVerticalOffsets;\r\nvar 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\nexports.getVisibleHeight = getVisibleHeight;\r\nvar 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.apply(void 0, [\"width\"].concat(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.apply(void 0, [\"width\"].concat(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.apply(void 0, [\"height\"].concat(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.apply(void 0, [\"height\"].concat(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.apply(void 0, [\"outerWidth\"].concat(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.apply(void 0, [\"outerWidth\"].concat(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.apply(void 0, [\"outerHeight\"].concat(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.apply(void 0, [\"outerHeight\"].concat(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.apply(void 0, [\"innerWidth\"].concat(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.apply(void 0, [\"innerWidth\"].concat(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.apply(void 0, [\"innerHeight\"].concat(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.apply(void 0, [\"innerHeight\"].concat(args))\r\n }\r\n};\r\nexports.implementationsMap = implementationsMap;\r\n\r\nfunction elementSizeHelper(sizeProperty, el, value) {\r\n return 2 === arguments.length ? elementSize(el, sizeProperty) : elementSize(el, sizeProperty, value)\r\n}\r\nvar getWidth = function(el) {\r\n return implementationsMap.getWidth(el)\r\n};\r\nexports.getWidth = getWidth;\r\nvar setWidth = function(el, value) {\r\n return implementationsMap.setWidth(el, value)\r\n};\r\nexports.setWidth = setWidth;\r\nvar getHeight = function(el) {\r\n return implementationsMap.getHeight(el)\r\n};\r\nexports.getHeight = getHeight;\r\nvar setHeight = function(el, value) {\r\n return implementationsMap.setHeight(el, value)\r\n};\r\nexports.setHeight = setHeight;\r\nvar getOuterWidth = function(el, includeMargin) {\r\n return implementationsMap.getOuterWidth(el, includeMargin || false)\r\n};\r\nexports.getOuterWidth = getOuterWidth;\r\nvar setOuterWidth = function(el, value) {\r\n return implementationsMap.setOuterWidth(el, value)\r\n};\r\nexports.setOuterWidth = setOuterWidth;\r\nvar getOuterHeight = function(el, includeMargin) {\r\n return implementationsMap.getOuterHeight(el, includeMargin || false)\r\n};\r\nexports.getOuterHeight = getOuterHeight;\r\nvar setOuterHeight = function(el, value) {\r\n return implementationsMap.setOuterHeight(el, value)\r\n};\r\nexports.setOuterHeight = setOuterHeight;\r\nvar getInnerWidth = function(el) {\r\n return implementationsMap.getInnerWidth(el)\r\n};\r\nexports.getInnerWidth = getInnerWidth;\r\nvar setInnerWidth = function(el, value) {\r\n return implementationsMap.setInnerWidth(el, value)\r\n};\r\nexports.setInnerWidth = setInnerWidth;\r\nvar getInnerHeight = function(el) {\r\n return implementationsMap.getInnerHeight(el)\r\n};\r\nexports.getInnerHeight = getInnerHeight;\r\nvar setInnerHeight = function(el, value) {\r\n return implementationsMap.setInnerHeight(el, value)\r\n};\r\nexports.setInnerHeight = setInnerHeight;\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 ((0, _type.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 ((0, _type.isWindow)(el)) {\r\n return isOuter ? el[\"inner\" + partialName] : _dom_adapter.default.getDocumentElement()[\"client\" + partialName]\r\n }\r\n if (_dom_adapter.default.isDocument(el)) {\r\n var documentElement = _dom_adapter.default.getDocumentElement();\r\n var body = _dom_adapter.default.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 ((0, _type.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 += (0, _type.isNumeric)(value) ? \"px\" : \"\";\r\n _dom_adapter.default.setStyle(el, propName, value);\r\n return null\r\n};\r\nvar getWindowByElement = function(el) {\r\n return (0, _type.isWindow)(el) ? el : el.defaultView\r\n};\r\nexports.getWindowByElement = getWindowByElement;\r\nvar getOffset = function(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\nexports.getOffset = getOffset;\r\n","/**\r\n * DevExtreme (cjs/core/utils/storage.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.sessionStorage = void 0;\r\nvar _window = require(\"../../core/utils/window\");\r\nvar window = (0, _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\nexports.sessionStorage = getSessionStorage;\r\n","/**\r\n * DevExtreme (cjs/core/utils/string.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.encodeHtml = void 0;\r\nexports.format = format;\r\nexports.replaceAll = exports.quadToObject = exports.isEmpty = void 0;\r\nvar _type = require(\"./type\");\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nvar 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\nexports.encodeHtml = encodeHtml;\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\nvar 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\nexports.quadToObject = quadToObject;\r\n\r\nfunction 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 ((0, _type.isFunction)(template)) {\r\n return template.apply(void 0, values)\r\n }\r\n values.forEach((function(value, index) {\r\n if ((0, _type.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\nvar 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\nexports.replaceAll = replaceAll;\r\nvar 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\nexports.isEmpty = isEmpty;\r\n","/**\r\n * DevExtreme (cjs/core/utils/stubs.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.stubComponent = stubComponent;\r\n\r\nfunction stubComponent(componentName) {\r\n return function() {\r\n function NoComponent() {\r\n throw new Error(\"Module '\".concat(componentName, \"' not found\"))\r\n }\r\n NoComponent.getInstance = function() {};\r\n return NoComponent\r\n }()\r\n}\r\n","/**\r\n * DevExtreme (cjs/core/utils/style.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.stylePropPrefix = exports.styleProp = exports.setWidth = exports.setStyle = exports.setHeight = exports.parsePixelValue = exports.normalizeStyleProp = void 0;\r\nvar _inflector = require(\"./inflector\");\r\nvar _call_once = _interopRequireDefault(require(\"./call_once\"));\r\nvar _type = require(\"./type\");\r\nvar _dom_adapter = _interopRequireDefault(require(\"../dom_adapter\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _slicedToArray(arr, i) {\r\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest()\r\n}\r\n\r\nfunction _nonIterableRest() {\r\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _unsupportedIterableToArray(o, minLen) {\r\n if (!o) {\r\n return\r\n }\r\n if (\"string\" === typeof o) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n var n = Object.prototype.toString.call(o).slice(8, -1);\r\n if (\"Object\" === n && o.constructor) {\r\n n = o.constructor.name\r\n }\r\n if (\"Map\" === n || \"Set\" === n) {\r\n return Array.from(o)\r\n }\r\n if (\"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n}\r\n\r\nfunction _arrayLikeToArray(arr, len) {\r\n if (null == len || len > arr.length) {\r\n len = arr.length\r\n }\r\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\r\n arr2[i] = arr[i]\r\n }\r\n return arr2\r\n}\r\n\r\nfunction _iterableToArrayLimit(arr, i) {\r\n var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"];\r\n if (null != _i) {\r\n var _s, _e, _x, _r, _arr = [],\r\n _n = !0,\r\n _d = !1;\r\n try {\r\n if (_x = (_i = _i.call(arr)).next, 0 === i) {\r\n if (Object(_i) !== _i) {\r\n return\r\n }\r\n _n = !1\r\n } else {\r\n for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) {}\r\n }\r\n } catch (err) {\r\n _d = !0, _e = err\r\n } finally {\r\n try {\r\n if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) {\r\n return\r\n }\r\n } finally {\r\n if (_d) {\r\n throw _e\r\n }\r\n }\r\n }\r\n return _arr\r\n }\r\n}\r\n\r\nfunction _arrayWithHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return arr\r\n }\r\n}\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 = (0, _call_once.default)((function() {\r\n return _dom_adapter.default.createElement(\"dx\").style\r\n}));\r\nvar forEachPrefixes = function(prop, callBack) {\r\n prop = (0, _inflector.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 = (0, _inflector.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\nexports.styleProp = styleProp;\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\nexports.stylePropPrefix = stylePropPrefix;\r\nvar pxExceptions = [\"fillOpacity\", \"columnCount\", \"flexGrow\", \"flexShrink\", \"fontWeight\", \"lineHeight\", \"opacity\", \"zIndex\", \"zoom\"];\r\nvar parsePixelValue = function(value) {\r\n if ((0, _type.isNumeric)(value)) {\r\n return value\r\n } else if ((0, _type.isString)(value)) {\r\n return Number(value.replace(\"px\", \"\"))\r\n }\r\n return NaN\r\n};\r\nexports.parsePixelValue = parsePixelValue;\r\nvar normalizeStyleProp = function(prop, value) {\r\n if ((0, _type.isNumeric)(value) && -1 === pxExceptions.indexOf(prop)) {\r\n value += \"px\"\r\n }\r\n return value\r\n};\r\nexports.normalizeStyleProp = normalizeStyleProp;\r\nvar setDimensionProperty = function(elements, propertyName, value) {\r\n if (elements) {\r\n value = (0, _type.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\nexports.setWidth = setWidth;\r\nvar setHeight = function(elements, value) {\r\n setDimensionProperty(elements, \"height\", value)\r\n};\r\nexports.setHeight = setHeight;\r\nvar setStyle = function(element, styleString) {\r\n var resetStyle = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : true;\r\n if (resetStyle) {\r\n var styleList = [].slice.call(element.style);\r\n styleList.forEach((function(propertyName) {\r\n element.style.removeProperty(propertyName)\r\n }))\r\n }\r\n styleString.split(\";\").forEach((function(style) {\r\n var parts = style.split(\":\").map((function(stylePart) {\r\n return stylePart.trim()\r\n }));\r\n if (2 === parts.length) {\r\n var _parts = _slicedToArray(parts, 2),\r\n property = _parts[0],\r\n value = _parts[1];\r\n element.style[property] = value\r\n }\r\n }))\r\n};\r\nexports.setStyle = setStyle;\r\n","/**\r\n * DevExtreme (cjs/core/utils/support.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.pointerEvents = exports.nativeScrolling = exports.inputType = exports.animation = void 0;\r\nObject.defineProperty(exports, \"styleProp\", {\r\n enumerable: true,\r\n get: function() {\r\n return _style.styleProp\r\n }\r\n});\r\nObject.defineProperty(exports, \"stylePropPrefix\", {\r\n enumerable: true,\r\n get: function() {\r\n return _style.stylePropPrefix\r\n }\r\n});\r\nexports.transitionEndEventName = exports.transition = exports.touchEvents = exports.touch = exports.supportProp = void 0;\r\nvar _dom_adapter = _interopRequireDefault(require(\"../dom_adapter\"));\r\nvar _call_once = _interopRequireDefault(require(\"./call_once\"));\r\nvar _window = require(\"./window\");\r\nvar _devices = _interopRequireDefault(require(\"../devices\"));\r\nvar _style = require(\"./style\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar _getNavigator = (0, _window.getNavigator)(),\r\n maxTouchPoints = _getNavigator.maxTouchPoints;\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 !!(0, _style.styleProp)(prop)\r\n};\r\nexports.supportProp = supportProp;\r\nvar isNativeScrollingSupported = function() {\r\n var _devices$real = _devices.default.real(),\r\n platform = _devices$real.platform,\r\n isMac = _devices$real.mac;\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 = _dom_adapter.default.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\nexports.inputType = inputType;\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(_window.hasProperty, maxTouchPoints);\r\nexports.touchEvents = touchEvents;\r\nvar pointerEvents = detectPointerEvent(_window.hasProperty);\r\nexports.pointerEvents = pointerEvents;\r\nvar touchPointersPresent = !!maxTouchPoints;\r\nvar touch = touchEvents || pointerEvents && touchPointersPresent;\r\nexports.touch = touch;\r\nvar transition = (0, _call_once.default)((function() {\r\n return supportProp(\"transition\")\r\n}));\r\nexports.transition = transition;\r\nvar transitionEndEventName = (0, _call_once.default)((function() {\r\n return transitionEndEventNames[(0, _style.styleProp)(\"transition\")]\r\n}));\r\nexports.transitionEndEventName = transitionEndEventName;\r\nvar animation = (0, _call_once.default)((function() {\r\n return supportProp(\"animation\")\r\n}));\r\nexports.animation = animation;\r\nvar nativeScrolling = isNativeScrollingSupported();\r\nexports.nativeScrolling = nativeScrolling;\r\n","/**\r\n * DevExtreme (cjs/core/utils/svg.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.HIDDEN_FOR_EXPORT = void 0;\r\nexports.getSvgElement = getSvgElement;\r\nexports.getSvgMarkup = getSvgMarkup;\r\nvar _dom_adapter = _interopRequireDefault(require(\"../../core/dom_adapter\"));\r\nvar _window = require(\"./window\");\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar window = (0, _window.getWindow)();\r\n\r\nfunction getMarkup(element, backgroundColor) {\r\n var temp = _dom_adapter.default.createElement(\"div\");\r\n var clone = element.cloneNode(true);\r\n if (backgroundColor) {\r\n (0, _renderer.default)(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(\" yItem) {\r\n return 1\r\n }\r\n }\r\n return 0\r\n}\r\n","/**\r\n * DevExtreme (cjs/core/utils/view_port.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.changeCallback = void 0;\r\nexports.originalViewPort = originalViewPort;\r\nexports.value = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../renderer\"));\r\nvar _ready_callbacks = _interopRequireDefault(require(\"./ready_callbacks\"));\r\nvar _callbacks = _interopRequireDefault(require(\"./callbacks\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar ready = _ready_callbacks.default.add;\r\nvar changeCallback = (0, _callbacks.default)();\r\nexports.changeCallback = changeCallback;\r\nvar $originalViewPort = (0, _renderer.default)();\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 = (0, _renderer.default)(element);\r\n $originalViewPort = $element;\r\n var isNewViewportFound = !!$element.length;\r\n var prevViewPort = value();\r\n $current = isNewViewportFound ? $element : (0, _renderer.default)(\"body\");\r\n changeCallback.fire(isNewViewportFound ? value() : (0, _renderer.default)(), prevViewPort)\r\n }\r\n}();\r\nexports.value = value;\r\nready((function() {\r\n value(\".dx-viewport\")\r\n}));\r\n\r\nfunction originalViewPort() {\r\n return $originalViewPort\r\n}\r\n","/**\r\n * DevExtreme (cjs/core/utils/window.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.setWindow = exports.hasWindow = exports.hasProperty = exports.getWindow = exports.getNavigator = exports.getCurrentScreenFactor = exports.defaultScreenFactorFunc = void 0;\r\nvar _dom_adapter = _interopRequireDefault(require(\"../dom_adapter\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar hasWindowValue = \"undefined\" !== typeof window;\r\nvar hasWindow = function() {\r\n return hasWindowValue\r\n};\r\nexports.hasWindow = hasWindow;\r\nvar windowObject = hasWindow() ? window : void 0;\r\nif (!windowObject) {\r\n windowObject = {};\r\n windowObject.window = windowObject\r\n}\r\nvar getWindow = function() {\r\n return windowObject\r\n};\r\nexports.getWindow = getWindow;\r\nvar setWindow = function(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\nexports.setWindow = setWindow;\r\nvar hasProperty = function(prop) {\r\n return hasWindow() && prop in windowObject\r\n};\r\nexports.hasProperty = hasProperty;\r\nvar defaultScreenFactorFunc = function(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\nexports.defaultScreenFactorFunc = defaultScreenFactorFunc;\r\nvar getCurrentScreenFactor = function(screenFactorCallback) {\r\n var screenFactorFunc = screenFactorCallback || defaultScreenFactorFunc;\r\n var windowWidth = _dom_adapter.default.getDocumentElement().clientWidth;\r\n return screenFactorFunc(windowWidth)\r\n};\r\nexports.getCurrentScreenFactor = getCurrentScreenFactor;\r\nvar getNavigator = function() {\r\n return hasWindow() ? windowObject.navigator : {\r\n userAgent: \"\"\r\n }\r\n};\r\nexports.getNavigator = getNavigator;\r\n","/**\r\n * DevExtreme (cjs/core/version.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.version = void 0;\r\nvar version = \"23.1.4\";\r\nexports.version = version;\r\n","/**\r\n * DevExtreme (cjs/data/abstract_store.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _class = _interopRequireDefault(require(\"../core/class\"));\r\nvar _events_strategy = require(\"../core/events_strategy\");\r\nvar _iterator = require(\"../core/utils/iterator\");\r\nvar _errors = require(\"./errors\");\r\nvar _utils = require(\"./utils\");\r\nvar _data = require(\"../core/utils/data\");\r\nvar _store_helper = _interopRequireDefault(require(\"./store_helper\"));\r\nvar _deferred = require(\"../core/utils/deferred\");\r\nvar _common = require(\"../core/utils/common\");\r\nvar _type = require(\"../core/utils/type\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _toConsumableArray(arr) {\r\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread()\r\n}\r\n\r\nfunction _nonIterableSpread() {\r\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _unsupportedIterableToArray(o, minLen) {\r\n if (!o) {\r\n return\r\n }\r\n if (\"string\" === typeof o) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n var n = Object.prototype.toString.call(o).slice(8, -1);\r\n if (\"Object\" === n && o.constructor) {\r\n n = o.constructor.name\r\n }\r\n if (\"Map\" === n || \"Set\" === n) {\r\n return Array.from(o)\r\n }\r\n if (\"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n}\r\n\r\nfunction _iterableToArray(iter) {\r\n if (\"undefined\" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter[\"@@iterator\"]) {\r\n return Array.from(iter)\r\n }\r\n}\r\n\r\nfunction _arrayWithoutHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return _arrayLikeToArray(arr)\r\n }\r\n}\r\n\r\nfunction _arrayLikeToArray(arr, len) {\r\n if (null == len || len > arr.length) {\r\n len = arr.length\r\n }\r\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\r\n arr2[i] = arr[i]\r\n }\r\n return arr2\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\nvar abstract = _class.default.abstract;\r\nvar queryByOptions = _store_helper.default.queryByOptions;\r\nvar storeImpl = {};\r\nvar Store = _class.default.inherit({\r\n _langParams: {},\r\n ctor: function(options) {\r\n var that = this;\r\n options = options || {};\r\n this._eventsStrategy = new _events_strategy.EventsStrategy(this);\r\n (0, _iterator.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: _common.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 = (0, _data.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.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 if (!(0, _type.isEmptyObject)(this._langParams)) {\r\n options = options || {};\r\n options._langParams = _extends({}, this._langParams, options._langParams)\r\n }\r\n return queryByOptions(this.createQuery(options), options).enumerate()\r\n },\r\n _withLock: function(task) {\r\n var result = new _deferred.Deferred;\r\n task.done((function() {\r\n var that = this;\r\n var args = arguments;\r\n _utils.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 _this = this;\r\n var beforePushArgs = {\r\n changes: changes,\r\n waitFor: []\r\n };\r\n this._eventsStrategy.fireEvent(\"beforePush\", [beforePushArgs]);\r\n _deferred.when.apply(void 0, _toConsumableArray(beforePushArgs.waitFor)).done((function() {\r\n _this._pushImpl(changes);\r\n _this._eventsStrategy.fireEvent(\"push\", [changes])\r\n }))\r\n },\r\n _pushImpl: _common.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(_errors.handleError)\r\n },\r\n on: function(eventName, eventHandler) {\r\n this._eventsStrategy.on(eventName, eventHandler);\r\n return this\r\n },\r\n off: function(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.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\nvar _default = Store;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/data/apply_changes.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _array_utils = require(\"./array_utils\");\r\nvar _default = _array_utils.applyChanges;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/data/array_query.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _class = _interopRequireDefault(require(\"../core/class\"));\r\nvar _type = require(\"../core/utils/type\");\r\nvar _iterator = require(\"../core/utils/iterator\");\r\nvar _data = require(\"../core/utils/data\");\r\nvar _deferred = require(\"../core/utils/deferred\");\r\nvar _errors = require(\"./errors\");\r\nvar _utils = require(\"./utils\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar Iterator = _class.default.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, options) {\r\n if ((0, _type.isString)(xValue) && (0, _type.isString)(yValue) && (null !== options && void 0 !== options && options.locale || null !== options && void 0 !== options && options.collatorOptions)) {\r\n return new Intl.Collator((null === options || void 0 === options ? void 0 : options.locale) || void 0, (null === options || void 0 === options ? void 0 : options.collatorOptions) || void 0).compare(xValue, yValue)\r\n }\r\n xValue = (0, _data.toComparable)(xValue, false, options);\r\n yValue = (0, _data.toComparable)(yValue, false, options);\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 this.langParams = iter.langParams;\r\n if (!(iter instanceof MapIterator)) {\r\n iter = new MapIterator(iter, this._wrap);\r\n iter.langParams = this.langParams\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 langParams: this.langParams\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 }(0, _iterator.each)(that.rules, (function() {\r\n this.getter = (0, _data.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 _getDefaultCompare: function(langParams) {\r\n return function(xValue, yValue) {\r\n return defaultCompare(xValue, yValue, langParams)\r\n }\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 || this._getDefaultCompare(rule.langParams);\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 langParams = {};\r\n var _toComparable = function(value) {\r\n return (0, _data.toComparable)(value, false, langParams)\r\n };\r\n var toString = function(value) {\r\n var _langParams;\r\n return (0, _type.isDefined)(value) ? null !== (_langParams = langParams) && void 0 !== _langParams && _langParams.locale ? value.toLocaleString(langParams.locale) : 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, options) {\r\n langParams = options || {};\r\n if ((0, _type.isFunction)(crit)) {\r\n return crit\r\n }\r\n if ((0, _utils.isGroupCriterion)(crit)) {\r\n return function(crit) {\r\n var ops = [];\r\n var isConjunctiveOperator = false;\r\n var isConjunctiveNextOperator = false;\r\n (0, _iterator.each)(crit, (function() {\r\n if (Array.isArray(this) || (0, _type.isFunction)(this)) {\r\n if (ops.length > 1 && isConjunctiveOperator !== isConjunctiveNextOperator) {\r\n throw new _errors.errors.Error(\"E4019\")\r\n }\r\n ops.push(compileCriteria(this, langParams));\r\n isConjunctiveOperator = isConjunctiveNextOperator;\r\n isConjunctiveNextOperator = true\r\n } else {\r\n isConjunctiveNextOperator = (0, _utils.isConjunctiveOperator)(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 ((0, _utils.isUnaryOperation)(crit)) {\r\n return function(crit) {\r\n var op = crit[0];\r\n var criteria = compileCriteria(crit[1], langParams);\r\n if (\"!\" === op) {\r\n return function(obj) {\r\n return !criteria(obj)\r\n }\r\n }\r\n throw _errors.errors.Error(\"E4003\", op)\r\n }(crit)\r\n }\r\n return function(crit) {\r\n crit = (0, _utils.normalizeBinaryCriterion)(crit);\r\n var getter = (0, _data.compileGetter)(crit[0]);\r\n var op = crit[1];\r\n var value = crit[2];\r\n value = _toComparable(value);\r\n var compare = function(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 function(obj) {\r\n return compare(obj, (function(a, b) {\r\n return a > b\r\n }))\r\n };\r\n case \"<\":\r\n return function(obj) {\r\n return compare(obj, (function(a, b) {\r\n return a < b\r\n }))\r\n };\r\n case \">=\":\r\n return function(obj) {\r\n return compare(obj, (function(a, b) {\r\n return a >= b\r\n }))\r\n };\r\n case \"<=\":\r\n return function(obj) {\r\n return compare(obj, (function(a, b) {\r\n return a <= b\r\n }))\r\n };\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.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.langParams = iter.langParams;\r\n this.criteria = compileCriteria(criteria, this.langParams)\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 = (0, _data.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((0, _iterator.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 = (0, _data.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 if (queryOptions.langParams) {\r\n iter.langParams = queryOptions.langParams\r\n }\r\n var handleError = function(error) {\r\n var handler = queryOptions.errorHandler;\r\n if (handler) {\r\n handler(error)\r\n }(0, _errors.handleError)(error)\r\n };\r\n var aggregateCore = function(aggregator) {\r\n var d = (new _deferred.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(_utils.aggregators[name])\r\n };\r\n var select = function(getter) {\r\n if (!(0, _type.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((0, _data.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.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 setLangParams: function(options) {\r\n iter.langParams = options\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.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.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\nvar _default = arrayQueryImpl;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/data/array_store.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _utils = require(\"./utils\");\r\nvar _query = _interopRequireDefault(require(\"./query\"));\r\nvar _errors = require(\"./errors\");\r\nvar _abstract_store = _interopRequireDefault(require(\"./abstract_store\"));\r\nvar _array_utils = require(\"./array_utils\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar ArrayStore = _abstract_store.default.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.errors.Error(\"E4006\")\r\n }\r\n this._array = initialArray || []\r\n },\r\n createQuery: function() {\r\n return (0, _query.default)(this._array, {\r\n errorHandler: this._errorHandler\r\n })\r\n },\r\n _byKeyImpl: function(key) {\r\n var index = (0, _array_utils.indexByKey)(this, this._array, key);\r\n if (-1 === index) {\r\n return (0, _utils.rejectedPromise)(_errors.errors.Error(\"E4009\"))\r\n }\r\n return (0, _utils.trivialPromise)(this._array[index])\r\n },\r\n _insertImpl: function(values) {\r\n return (0, _array_utils.insert)(this, this._array, values)\r\n },\r\n _pushImpl: function(changes) {\r\n (0, _array_utils.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 (0, _array_utils.update)(this, this._array, key, values)\r\n },\r\n _removeImpl: function(key) {\r\n return (0, _array_utils.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\nvar _default = ArrayStore;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/data/array_utils.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.applyBatch = applyBatch;\r\nexports.applyChanges = applyChanges;\r\nexports.createObjectWithChanges = createObjectWithChanges;\r\nexports.indexByKey = indexByKey;\r\nexports.insert = insert;\r\nexports.remove = remove;\r\nexports.update = update;\r\nvar _type = require(\"../core/utils/type\");\r\nvar _config = _interopRequireDefault(require(\"../core/config\"));\r\nvar _guid = _interopRequireDefault(require(\"../core/guid\"));\r\nvar _extend = require(\"../core/utils/extend\");\r\nvar _errors = require(\"./errors\");\r\nvar _object = require(\"../core/utils/object\");\r\nvar _data = require(\"../core/utils/data\");\r\nvar _utils = require(\"./utils\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\n\r\nfunction _toConsumableArray(arr) {\r\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread()\r\n}\r\n\r\nfunction _nonIterableSpread() {\r\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _unsupportedIterableToArray(o, minLen) {\r\n if (!o) {\r\n return\r\n }\r\n if (\"string\" === typeof o) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n var n = Object.prototype.toString.call(o).slice(8, -1);\r\n if (\"Object\" === n && o.constructor) {\r\n n = o.constructor.name\r\n }\r\n if (\"Map\" === n || \"Set\" === n) {\r\n return Array.from(o)\r\n }\r\n if (\"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n}\r\n\r\nfunction _iterableToArray(iter) {\r\n if (\"undefined\" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter[\"@@iterator\"]) {\r\n return Array.from(iter)\r\n }\r\n}\r\n\r\nfunction _arrayWithoutHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return _arrayLikeToArray(arr)\r\n }\r\n}\r\n\r\nfunction _arrayLikeToArray(arr, len) {\r\n if (null == len || len > arr.length) {\r\n len = arr.length\r\n }\r\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\r\n arr2[i] = arr[i]\r\n }\r\n return arr2\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\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 (0, _object.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 ((0, _type.isObject)(value) && !(0, _type.isPlainObject)(value) && (0, _type.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 ((0, _type.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 (0, _object.deepExtendArraySafe)(result, changes, true, true)\r\n}\r\n\r\nfunction applyBatch(_ref) {\r\n var keyInfo = _ref.keyInfo,\r\n data = _ref.data,\r\n changes = _ref.changes,\r\n groupCount = _ref.groupCount,\r\n useInsertIndex = _ref.useInsertIndex,\r\n immutable = _ref.immutable,\r\n disableCache = _ref.disableCache,\r\n logError = _ref.logError,\r\n skipCopying = _ref.skipCopying;\r\n var resultItems = true === immutable ? _toConsumableArray(data) : data;\r\n changes.forEach((function(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 && (0, _type.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 ? (0, _utils.rejectedPromise)(_errors.errors.Error(errorCode)) : logError && _errors.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 _options$keyExpr = options.keyExpr,\r\n keyExpr = void 0 === _options$keyExpr ? \"id\" : _options$keyExpr,\r\n _options$immutable = options.immutable,\r\n immutable = void 0 === _options$immutable ? true : _options$immutable;\r\n var keyGetter = (0, _data.compileGetter)(keyExpr);\r\n var keyInfo = {\r\n key: function() {\r\n return keyExpr\r\n },\r\n keyOf: function(obj) {\r\n return keyGetter(obj)\r\n }\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) && !(0, _utils.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 && (0, _type.isDefined)(target)) {\r\n var newTarget = createObjectWithChanges(target, data);\r\n array[index] = newTarget;\r\n return !isBatch && (0, _utils.trivialPromise)(newTarget, key)\r\n }\r\n }\r\n } else {\r\n target = key\r\n }(0, _object.deepExtendArraySafe)(target, data, true);\r\n if (!isBatch) {\r\n if ((0, _config.default)().useLegacyStoreResult) {\r\n return (0, _utils.trivialPromise)(key, data)\r\n } else {\r\n return (0, _utils.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 = (0, _type.isPlainObject)(data) && !skipCopying ? (0, _extend.extend)({}, data) : data;\r\n if (keyExpr) {\r\n keyValue = keyInfo.keyOf(obj);\r\n if (void 0 === keyValue || \"object\" === _typeof(keyValue) && (0, _type.isEmptyObject)(keyValue)) {\r\n if (Array.isArray(keyExpr)) {\r\n throw _errors.errors.Error(\"E4007\")\r\n }\r\n keyValue = obj[keyExpr] = String(new _guid.default)\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 (0, _utils.trivialPromise)((0, _config.default)().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 (0, _utils.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 ((0, _utils.keysEqual)(keyExpr, keyInfo.keyOf(array[i]), key)) {\r\n return i\r\n }\r\n }\r\n return -1\r\n}\r\n","/**\r\n * DevExtreme (cjs/data/custom_store.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../core/renderer\"));\r\nvar _utils = require(\"./utils\");\r\nvar _array_utils = require(\"./array_utils\");\r\nvar _type = require(\"../core/utils/type\");\r\nvar _config = _interopRequireDefault(require(\"../core/config\"));\r\nvar _errors = require(\"./errors\");\r\nvar _abstract_store = _interopRequireDefault(require(\"./abstract_store\"));\r\nvar _array_query = _interopRequireDefault(require(\"./array_query\"));\r\nvar _store_helper = _interopRequireDefault(require(\"./store_helper\"));\r\nvar _deferred = require(\"../core/utils/deferred\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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 && (0, _type.isFunction)(obj.then)\r\n}\r\n\r\nfunction trivialPromise(value) {\r\n return (new _deferred.Deferred).resolve(value).promise()\r\n}\r\n\r\nfunction ensureRequiredFuncOption(name, obj) {\r\n if (!(0, _type.isFunction)(obj)) {\r\n throw _errors.errors.Error(\"E4011\", name)\r\n }\r\n}\r\n\r\nfunction throwInvalidUserFuncResult(name) {\r\n throw _errors.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 (0, _utils.errorMessageFromXhr)(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 !== _utils.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 (0, _deferred.fromPromise)(userResult)\r\n}\r\n\r\nfunction invokeUserTotalCountFunc(store, options) {\r\n var userFunc = store._totalCountFunc;\r\n var userResult;\r\n if (!(0, _type.isFunction)(userFunc)) {\r\n throw _errors.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 (0, _deferred.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 (0, _deferred.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 = (0, _array_query.default)(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 = _store_helper.default.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 = _store_helper.default.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 _deferred.when.apply(_renderer.default, 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 ((0, _utils.keysEqual)(keyExpr, store.keyOf(rawData[i]), key)) {\r\n pendingDeferred.resolve(item);\r\n return\r\n }\r\n }\r\n pendingDeferred.reject(_errors.errors.Error(\"E4009\"))\r\n }))\r\n}\r\nvar CustomStore = _abstract_store.default.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: function() {\r\n delete this.__rawData\r\n },\r\n createQuery: function() {\r\n throw _errors.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.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 (0, _array_utils.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.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.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.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 }(0, _deferred.fromPromise)(userResult).done((function(serverResponse) {\r\n if ((0, _config.default)().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.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 }(0, _deferred.fromPromise)(userResult).done((function(serverResponse) {\r\n if ((0, _config.default)().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.Deferred;\r\n ensureRequiredFuncOption(REMOVE, userFunc);\r\n userResult = userFunc.apply(this, [key]);\r\n if (!isPromise(userResult)) {\r\n userResult = trivialPromise()\r\n }(0, _deferred.fromPromise)(userResult).done((function() {\r\n d.resolve(key)\r\n })).fail(createUserFuncFailureHandler(d));\r\n return d.promise()\r\n }\r\n});\r\nvar _default = CustomStore;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/data/data_source.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _data_source = require(\"./data_source/data_source\");\r\nvar _default = _data_source.DataSource;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/data/data_source/data_source.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.DataSource = void 0;\r\nvar _class = _interopRequireDefault(require(\"../../core/class\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _utils = require(\"../utils\");\r\nvar _array_utils = require(\"../array_utils\");\r\nvar _custom_store = _interopRequireDefault(require(\"../custom_store\"));\r\nvar _events_strategy = require(\"../../core/events_strategy\");\r\nvar _errors = require(\"../errors\");\r\nvar _queue = require(\"../../core/utils/queue\");\r\nvar _deferred = require(\"../../core/utils/deferred\");\r\nvar _operation_manager = _interopRequireDefault(require(\"./operation_manager\"));\r\nvar _utils2 = require(\"./utils\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\n\r\nfunction _toConsumableArray(arr) {\r\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread()\r\n}\r\n\r\nfunction _nonIterableSpread() {\r\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _unsupportedIterableToArray(o, minLen) {\r\n if (!o) {\r\n return\r\n }\r\n if (\"string\" === typeof o) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n var n = Object.prototype.toString.call(o).slice(8, -1);\r\n if (\"Object\" === n && o.constructor) {\r\n n = o.constructor.name\r\n }\r\n if (\"Map\" === n || \"Set\" === n) {\r\n return Array.from(o)\r\n }\r\n if (\"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n}\r\n\r\nfunction _iterableToArray(iter) {\r\n if (\"undefined\" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter[\"@@iterator\"]) {\r\n return Array.from(iter)\r\n }\r\n}\r\n\r\nfunction _arrayWithoutHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return _arrayLikeToArray(arr)\r\n }\r\n}\r\n\r\nfunction _arrayLikeToArray(arr, len) {\r\n if (null == len || len > arr.length) {\r\n len = arr.length\r\n }\r\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\r\n arr2[i] = arr[i]\r\n }\r\n return arr2\r\n}\r\nvar DataSource = _class.default.inherit({\r\n ctor: function(options) {\r\n var _options$reshapeOnPus, _this = this;\r\n options = (0, _utils2.normalizeDataSourceOptions)(options);\r\n this._eventsStrategy = new _events_strategy.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 ? function() {\r\n return 5 * _this._changedTime\r\n } : options.pushAggregationTimeout;\r\n var pushDeferred;\r\n var lastPushWaiters;\r\n var throttlingPushHandler = (0, _utils.throttleChanges)((function(changes) {\r\n pushDeferred.resolve();\r\n var storePushPending = _deferred.when.apply(void 0, _toConsumableArray(lastPushWaiters));\r\n storePushPending.done((function() {\r\n return _this._onPush(changes)\r\n }));\r\n lastPushWaiters = void 0;\r\n pushDeferred = void 0\r\n }), throttlingTimeout);\r\n this._onPushHandler = function(args) {\r\n _this._aggregationTimeoutId = throttlingPushHandler(args.changes);\r\n if (!pushDeferred) {\r\n pushDeferred = new _deferred.Deferred\r\n }\r\n lastPushWaiters = args.waitFor;\r\n args.waitFor.push(pushDeferred.promise())\r\n };\r\n this._store.on(\"beforePush\", this._onPushHandler)\r\n } else {\r\n this._onPushHandler = function(changes) {\r\n return _this._onPush(changes)\r\n };\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 (0, _iterator.each)([\"onChanged\", \"onLoadError\", \"onLoadingChanged\", \"onCustomizeLoadResult\", \"onCustomizeStoreLoadOptions\"], (function(_, 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 _operation_manager.default;\r\n this._init()\r\n },\r\n _init: function() {\r\n this._items = [];\r\n this._userData = {};\r\n this._totalCount = -1;\r\n this._isLoaded = false;\r\n if (!(0, _type.isDefined)(this._paginate)) {\r\n this._paginate = !this.group()\r\n }\r\n this._isLastPage = !this._paginate\r\n },\r\n dispose: function() {\r\n var _this$_delayedLoadTas;\r\n this._store.off(\"beforePush\", 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: function(options) {\r\n var result = {};\r\n var names = [\"sort\", \"filter\", \"langParams\", \"select\", \"group\", \"requireTotalCount\"];\r\n var customNames = this._store._customLoadOptions();\r\n if (customNames) {\r\n names = names.concat(customNames)\r\n }(0, _iterator.each)(names, (function() {\r\n result[this] = options[this]\r\n }));\r\n return result\r\n },\r\n loadOptions: function() {\r\n return this._storeLoadOptions\r\n },\r\n items: function() {\r\n return this._items\r\n },\r\n pageIndex: function(newIndex) {\r\n if (!(0, _type.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: function(value) {\r\n if (!(0, _type.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: function(value) {\r\n if (!(0, _type.isNumeric)(value)) {\r\n return this._pageSize\r\n }\r\n this._pageSize = value\r\n },\r\n isLastPage: function() {\r\n return this._isLastPage\r\n },\r\n generateStoreLoadOptionAccessor: function(optionName) {\r\n var _this2 = this;\r\n return function(args) {\r\n var normalizedArgs = (0, _utils2.normalizeStoreLoadOptionAccessorArguments)(args);\r\n if (void 0 === normalizedArgs) {\r\n return _this2._storeLoadOptions[optionName]\r\n }\r\n _this2._storeLoadOptions[optionName] = normalizedArgs\r\n }\r\n },\r\n sort: 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 this.generateStoreLoadOptionAccessor(\"sort\")(args)\r\n },\r\n filter: function() {\r\n var newFilter = (0, _utils2.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: 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 this.generateStoreLoadOptionAccessor(\"group\")(args)\r\n },\r\n select: 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 this.generateStoreLoadOptionAccessor(\"select\")(args)\r\n },\r\n requireTotalCount: function(value) {\r\n if (!(0, _type.isBoolean)(value)) {\r\n return this._storeLoadOptions.requireTotalCount\r\n }\r\n this._storeLoadOptions.requireTotalCount = value\r\n },\r\n searchValue: function(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: function(op) {\r\n if (!(0, _type.isString)(op)) {\r\n return this._searchOperation\r\n }\r\n this._searchOperation = op;\r\n this.pageIndex(0)\r\n },\r\n searchExpr: function(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: function() {\r\n return this._store\r\n },\r\n key: function() {\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: function() {\r\n return this._totalCount\r\n },\r\n isLoaded: function() {\r\n return this._isLoaded\r\n },\r\n isLoading: function() {\r\n return this._loadingCount > 0\r\n },\r\n beginLoading: function() {\r\n this._changeLoadingCount(1)\r\n },\r\n endLoading: function() {\r\n this._changeLoadingCount(-1)\r\n },\r\n _createLoadQueue: function() {\r\n return (0, _queue.create)()\r\n },\r\n _changeLoadingCount: function(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: function(deferred) {\r\n var _this3 = this;\r\n this.beginLoading();\r\n deferred.always((function() {\r\n _this3.endLoading()\r\n }))\r\n },\r\n _scheduleFailCallbacks: function(deferred) {\r\n var _this4 = 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] === _utils2.CANCELED_TOKEN) {\r\n return\r\n }\r\n _this4._eventsStrategy.fireEvent(\"loadError\", args)\r\n }))\r\n },\r\n _fireChanged: function(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: function(deferred) {\r\n var _this5 = this;\r\n deferred.done((function() {\r\n return _this5._fireChanged()\r\n }))\r\n },\r\n loadSingle: function(propName, propValue) {\r\n var _this6 = this;\r\n var d = new _deferred.Deferred;\r\n var key = this.key();\r\n var store = this._store;\r\n var options = this._createStoreLoadOptions();\r\n var handleDone = function(data) {\r\n var isEmptyArray = Array.isArray(data) && !data.length;\r\n if (!(0, _type.isDefined)(data) || isEmptyArray) {\r\n d.reject(new _errors.errors.Error(\"E4009\"))\r\n } else {\r\n if (!Array.isArray(data)) {\r\n data = [data]\r\n }\r\n d.resolve(_this6._applyMapFunction(data)[0])\r\n }\r\n };\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 var shouldForceByKey = function() {\r\n return store instanceof _custom_store.default && !store._byKeyViaLoad()\r\n };\r\n (function() {\r\n if (propName === key || shouldForceByKey()) {\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(handleDone);\r\n return d.promise()\r\n },\r\n load: function() {\r\n var _this7 = this;\r\n var d = new _deferred.Deferred;\r\n var loadTask = function() {\r\n if (_this7._disposed) {\r\n return\r\n }\r\n if (!(0, _utils2.isPending)(d)) {\r\n return\r\n }\r\n return _this7._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((function() {\r\n if (\"number\" === typeof loadOperation.delay) {\r\n _this7._delayedLoadTask = (0, _common.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: function(changes) {\r\n var _this8 = this;\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((function(item) {\r\n return \"update\" === item.type\r\n })) : 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((function(item) {\r\n if (\"insert\" === item.type) {\r\n item.data = _this8._mapFunc(item.data)\r\n }\r\n }))\r\n }\r\n if (changingArgs.postProcessChanges) {\r\n dataSourceChanges = changingArgs.postProcessChanges(dataSourceChanges)\r\n }(0, _array_utils.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: function(deferred) {\r\n var _this9 = this;\r\n var operationId = this._operationManager.add(deferred);\r\n var storeLoadOptions = this._createStoreLoadOptions();\r\n if (this._store && !(0, _type.isEmptyObject)(null === storeLoadOptions || void 0 === storeLoadOptions ? void 0 : storeLoadOptions.langParams)) {\r\n this._store._langParams = _extends({}, this._store._langParams, storeLoadOptions.langParams)\r\n }\r\n deferred.always((function() {\r\n return _this9._operationManager.remove(operationId)\r\n }));\r\n return {\r\n operationId: operationId,\r\n storeLoadOptions: storeLoadOptions\r\n }\r\n },\r\n reload: function() {\r\n var store = this.store();\r\n store._clearCache();\r\n this._init();\r\n return this.load()\r\n },\r\n cancel: function(operationId) {\r\n return this._operationManager.cancel(operationId)\r\n },\r\n cancelAll: function() {\r\n return this._operationManager.cancelAll()\r\n },\r\n _addSearchOptions: function(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: function() {\r\n var result = (0, _extend.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: function(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 }(0, _iterator.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: function(loadOptions, pendingDeferred) {\r\n var _this10 = this;\r\n var handleSuccess = function(data, extra) {\r\n if (_this10._disposed) {\r\n return\r\n }\r\n if (!(0, _utils2.isPending)(pendingDeferred)) {\r\n return\r\n }\r\n var loadResult = (0, _extend.extend)((0, _utils2.normalizeLoadResult)(data, extra), loadOptions);\r\n _this10._eventsStrategy.fireEvent(\"customizeLoadResult\", [loadResult]);\r\n (0, _deferred.when)(loadResult.data).done((function(data) {\r\n loadResult.data = data;\r\n _this10._processStoreLoadResult(loadResult, pendingDeferred)\r\n })).fail(pendingDeferred.reject)\r\n };\r\n if (loadOptions.data) {\r\n return (new _deferred.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: function(loadResult, pendingDeferred) {\r\n var _this11 = this;\r\n var data = loadResult.data;\r\n var extra = loadResult.extra;\r\n var storeLoadOptions = loadResult.storeLoadOptions;\r\n var resolvePendingDeferred = function() {\r\n _this11._isLoaded = true;\r\n _this11._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 (!(0, _type.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 void _this11.store().totalCount(storeLoadOptions).done((function(count) {\r\n extra.totalCount = count;\r\n resolvePendingDeferred()\r\n })).fail(pendingDeferred.reject)\r\n } else {\r\n resolvePendingDeferred()\r\n }\r\n },\r\n _applyMapFunction: function(data) {\r\n if (this._mapFunc) {\r\n return (0, _utils2.mapDataRespectingGrouping)(data, this._mapFunc, this.group())\r\n }\r\n return data\r\n },\r\n _applyPostProcessFunction: function(data) {\r\n if (this._postProcessFunc) {\r\n return this._postProcessFunc(data)\r\n }\r\n return data\r\n },\r\n on: function(eventName, eventHandler) {\r\n this._eventsStrategy.on(eventName, eventHandler);\r\n return this\r\n },\r\n off: function(eventName, eventHandler) {\r\n this._eventsStrategy.off(eventName, eventHandler);\r\n return this\r\n }\r\n});\r\nexports.DataSource = DataSource;\r\n","/**\r\n * DevExtreme (cjs/data/data_source/operation_manager.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _utils = require(\"./utils\");\r\nvar OperationManager = function() {\r\n function OperationManager() {\r\n this._counter = -1;\r\n this._deferreds = {}\r\n }\r\n var _proto = OperationManager.prototype;\r\n _proto.add = function(deferred) {\r\n this._counter++;\r\n this._deferreds[this._counter] = deferred;\r\n return this._counter\r\n };\r\n _proto.remove = function(operationId) {\r\n return delete this._deferreds[operationId]\r\n };\r\n _proto.cancel = function(operationId) {\r\n if (operationId in this._deferreds) {\r\n this._deferreds[operationId].reject(_utils.CANCELED_TOKEN);\r\n return true\r\n }\r\n return false\r\n };\r\n _proto.cancelAll = function() {\r\n while (this._counter > -1) {\r\n this.cancel(this._counter);\r\n this._counter--\r\n }\r\n };\r\n return OperationManager\r\n}();\r\nexports.default = OperationManager;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/data/data_source/utils.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.normalizeStoreLoadOptionAccessorArguments = exports.normalizeLoadResult = exports.normalizeDataSourceOptions = exports.mapDataRespectingGrouping = exports.isPending = exports.CANCELED_TOKEN = void 0;\r\nvar _ajax = _interopRequireDefault(require(\"../../core/utils/ajax\"));\r\nvar _abstract_store = _interopRequireDefault(require(\"../abstract_store\"));\r\nvar _array_store = _interopRequireDefault(require(\"../array_store\"));\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _custom_store = _interopRequireDefault(require(\"../custom_store\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _utils = require(\"../utils\");\r\nvar _excluded = [\"items\"];\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\n\r\nfunction _objectWithoutProperties(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = _objectWithoutPropertiesLoose(source, excluded);\r\n var key, i;\r\n if (Object.getOwnPropertySymbols) {\r\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\r\n for (i = 0; i < sourceSymbolKeys.length; i++) {\r\n key = sourceSymbolKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n }\r\n return target\r\n}\r\n\r\nfunction _objectWithoutPropertiesLoose(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = {};\r\n var sourceKeys = Object.keys(source);\r\n var key, i;\r\n for (i = 0; i < sourceKeys.length; i++) {\r\n key = sourceKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n return target\r\n}\r\nvar CANCELED_TOKEN = \"canceled\";\r\nexports.CANCELED_TOKEN = CANCELED_TOKEN;\r\nvar isPending = function(deferred) {\r\n return \"pending\" === deferred.state()\r\n};\r\nexports.isPending = isPending;\r\nvar normalizeStoreLoadOptionAccessorArguments = function(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\nexports.normalizeStoreLoadOptionAccessorArguments = normalizeStoreLoadOptionAccessorArguments;\r\nvar mapGroup = function(group, level, mapper) {\r\n return (0, _iterator.map)(group, (function(item) {\r\n item.items;\r\n var restItem = _objectWithoutProperties(item, _excluded);\r\n return _extends({}, restItem, {\r\n items: mapRecursive(item.items, level - 1, mapper)\r\n })\r\n }))\r\n};\r\nvar mapRecursive = function(items, level, mapper) {\r\n if (!Array.isArray(items)) {\r\n return items\r\n }\r\n return level ? mapGroup(items, level, mapper) : (0, _iterator.map)(items, mapper)\r\n};\r\nvar mapDataRespectingGrouping = function(items, mapper, groupInfo) {\r\n var level = groupInfo ? (0, _utils.normalizeSortingInfo)(groupInfo).length : 0;\r\n return mapRecursive(items, level, mapper)\r\n};\r\nexports.mapDataRespectingGrouping = mapDataRespectingGrouping;\r\nvar normalizeLoadResult = function(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\nexports.normalizeLoadResult = normalizeLoadResult;\r\nvar createCustomStoreFromLoadFunc = function(options) {\r\n var storeConfig = {};\r\n (0, _iterator.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 _custom_store.default(storeConfig)\r\n};\r\nvar createStoreFromConfig = function(storeConfig) {\r\n var alias = storeConfig.type;\r\n delete storeConfig.type;\r\n return _abstract_store.default.create(alias, storeConfig)\r\n};\r\nvar createCustomStoreFromUrl = function(url, normalizationOptions) {\r\n return new _custom_store.default({\r\n load: function() {\r\n return _ajax.default.sendRequest({\r\n url: url,\r\n dataType: \"json\"\r\n })\r\n },\r\n loadMode: null === normalizationOptions || void 0 === normalizationOptions ? void 0 : normalizationOptions.fromUrlLoadMode\r\n })\r\n};\r\nvar normalizeDataSourceOptions = function(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 _abstract_store.default) {\r\n options = {\r\n store: options\r\n }\r\n } else {\r\n options = (0, _extend.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 _array_store.default(store)\r\n } else if ((0, _type.isPlainObject)(store)) {\r\n store = createStoreFromConfig((0, _extend.extend)({}, store))\r\n }\r\n options.store = store;\r\n return options\r\n};\r\nexports.normalizeDataSourceOptions = normalizeDataSourceOptions;\r\n","/**\r\n * DevExtreme (cjs/data/endpoint_selector.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _errors = _interopRequireDefault(require(\"../core/errors\"));\r\nvar _window = require(\"../core/utils/window\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar window = (0, _window.getWindow)();\r\nvar IS_WINJS_ORIGIN;\r\nvar IS_LOCAL_ORIGIN;\r\n\r\nfunction isLocalHostName(url) {\r\n return /^(localhost$|127\\.)/i.test(url)\r\n}\r\nvar EndpointSelector = function(config) {\r\n this.config = config;\r\n IS_WINJS_ORIGIN = \"ms-appx:\" === window.location.protocol;\r\n IS_LOCAL_ORIGIN = isLocalHostName(window.location.hostname)\r\n};\r\nEndpointSelector.prototype = {\r\n urlFor: function(key) {\r\n var bag = this.config[key];\r\n if (!bag) {\r\n throw _errors.default.Error(\"E0006\")\r\n }\r\n if (bag.production) {\r\n if (IS_WINJS_ORIGIN && !Debug.debuggerEnabled || !IS_WINJS_ORIGIN && !IS_LOCAL_ORIGIN) {\r\n return bag.production\r\n }\r\n }\r\n return bag.local\r\n }\r\n};\r\nvar _default = EndpointSelector;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/data/errors.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.setErrorHandler = exports.handleError = exports.errors = exports.errorHandler = void 0;\r\nvar _error = _interopRequireDefault(require(\"../core/utils/error\"));\r\nvar _errors = _interopRequireDefault(require(\"../core/errors\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar errors = (0, _error.default)(_errors.default.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\nexports.errors = errors;\r\nvar errorHandler = null;\r\nexports.errorHandler = errorHandler;\r\nvar handleError = function(error) {\r\n var _errorHandler;\r\n null === (_errorHandler = errorHandler) || void 0 === _errorHandler ? void 0 : _errorHandler(error)\r\n};\r\nexports.handleError = handleError;\r\nvar setErrorHandler = function(handler) {\r\n return exports.errorHandler = errorHandler = handler\r\n};\r\nexports.setErrorHandler = setErrorHandler;\r\n","/**\r\n * DevExtreme (cjs/data/local_store.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _events_engine = _interopRequireDefault(require(\"../events/core/events_engine\"));\r\nvar _dom_adapter = _interopRequireDefault(require(\"../core/dom_adapter\"));\r\nvar _window = require(\"../core/utils/window\");\r\nvar _class = _interopRequireDefault(require(\"../core/class\"));\r\nvar _errors = require(\"./errors\");\r\nvar _array_store = _interopRequireDefault(require(\"./array_store\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar window = (0, _window.getWindow)();\r\nvar abstract = _class.default.abstract;\r\nvar LocalStoreBackend = _class.default.inherit({\r\n ctor: function(store, storeOptions) {\r\n this._store = store;\r\n this._dirty = !!storeOptions.data;\r\n this.save();\r\n var immediate = this._immediate = storeOptions.immediate;\r\n var flushInterval = Math.max(100, storeOptions.flushInterval || 1e4);\r\n if (!immediate) {\r\n var saveProxy = this.save.bind(this);\r\n setInterval(saveProxy, flushInterval);\r\n _events_engine.default.on(window, \"beforeunload\", saveProxy);\r\n if (window.cordova) {\r\n _dom_adapter.default.listen(_dom_adapter.default.getDocument(), \"pause\", saveProxy, false)\r\n }\r\n }\r\n },\r\n notifyChanged: function() {\r\n this._dirty = true;\r\n if (this._immediate) {\r\n this.save()\r\n }\r\n },\r\n load: function() {\r\n this._store._array = this._loadImpl();\r\n this._dirty = false\r\n },\r\n save: function() {\r\n if (!this._dirty) {\r\n return\r\n }\r\n this._saveImpl(this._store._array);\r\n this._dirty = false\r\n },\r\n _loadImpl: abstract,\r\n _saveImpl: abstract\r\n});\r\nvar DomLocalStoreBackend = LocalStoreBackend.inherit({\r\n ctor: function(store, storeOptions) {\r\n var name = storeOptions.name;\r\n if (!name) {\r\n throw _errors.errors.Error(\"E4013\")\r\n }\r\n this._key = \"dx-data-localStore-\" + name;\r\n this.callBase(store, storeOptions)\r\n },\r\n _loadImpl: function() {\r\n var raw = window.localStorage.getItem(this._key);\r\n if (raw) {\r\n return JSON.parse(raw)\r\n }\r\n return []\r\n },\r\n _saveImpl: function(array) {\r\n if (!array.length) {\r\n window.localStorage.removeItem(this._key)\r\n } else {\r\n window.localStorage.setItem(this._key, JSON.stringify(array))\r\n }\r\n }\r\n});\r\nvar localStoreBackends = {\r\n dom: DomLocalStoreBackend\r\n};\r\nvar LocalStore = _array_store.default.inherit({\r\n ctor: function(options) {\r\n if (\"string\" === typeof options) {\r\n options = {\r\n name: options\r\n }\r\n } else {\r\n options = options || {}\r\n }\r\n this.callBase(options);\r\n this._backend = new localStoreBackends[options.backend || \"dom\"](this, options);\r\n this._backend.load()\r\n },\r\n _clearCache: function() {\r\n this._backend.load()\r\n },\r\n clear: function() {\r\n this.callBase();\r\n this._backend.notifyChanged()\r\n },\r\n _insertImpl: function(values) {\r\n var b = this._backend;\r\n return this.callBase(values).done(b.notifyChanged.bind(b))\r\n },\r\n _updateImpl: function(key, values) {\r\n var b = this._backend;\r\n return this.callBase(key, values).done(b.notifyChanged.bind(b))\r\n },\r\n _removeImpl: function(key) {\r\n var b = this._backend;\r\n return this.callBase(key).done(b.notifyChanged.bind(b))\r\n }\r\n}, \"local\");\r\nvar _default = LocalStore;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/data/odata/context.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _class = _interopRequireDefault(require(\"../../core/class\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _errors = require(\"../errors\");\r\nvar _store = _interopRequireDefault(require(\"./store\"));\r\nvar _request_dispatcher = _interopRequireDefault(require(\"./request_dispatcher\"));\r\nvar _utils = require(\"./utils\");\r\nvar _deferred = require(\"../../core/utils/deferred\");\r\nrequire(\"./query_adapter\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar ODataContext = _class.default.inherit({\r\n ctor: function(options) {\r\n var _this = this;\r\n this._requestDispatcher = new _request_dispatcher.default(options);\r\n this._errorHandler = options.errorHandler;\r\n (0, _iterator.each)(options.entities || [], (function(entityAlias, entityOptions) {\r\n _this[entityAlias] = new _store.default((0, _extend.extend)({}, options, {\r\n url: \"\".concat(_this._requestDispatcher.url, \"/\").concat(encodeURIComponent(entityOptions.name || entityAlias))\r\n }, entityOptions))\r\n }))\r\n },\r\n get: function(operationName, params) {\r\n return this.invoke(operationName, params, \"GET\")\r\n },\r\n invoke: function(operationName) {\r\n var params = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};\r\n var httpMethod = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : \"POST\";\r\n httpMethod = httpMethod.toLowerCase();\r\n var d = new _deferred.Deferred;\r\n var url = \"\".concat(this._requestDispatcher.url, \"/\").concat(encodeURIComponent(operationName));\r\n var payload;\r\n if (4 === this.version()) {\r\n if (\"get\" === httpMethod) {\r\n url = (0, _utils.formatFunctionInvocationUrl)(url, (0, _utils.escapeServiceOperationParams)(params, this.version()));\r\n params = null\r\n } else if (\"post\" === httpMethod) {\r\n payload = params;\r\n params = null\r\n }\r\n }(0, _deferred.when)(this._requestDispatcher.sendRequest(url, httpMethod, (0, _utils.escapeServiceOperationParams)(params, this.version()), payload)).done((function(r) {\r\n if ((0, _type.isPlainObject)(r) && operationName in r) {\r\n r = r[operationName]\r\n }\r\n d.resolve(r)\r\n })).fail(this._errorHandler).fail(_errors.handleError).fail(d.reject);\r\n return d.promise()\r\n },\r\n objectLink: function(entityAlias, key) {\r\n var store = this[entityAlias];\r\n if (!store) {\r\n throw _errors.errors.Error(\"E4015\", entityAlias)\r\n }\r\n if (!(0, _type.isDefined)(key)) {\r\n return null\r\n }\r\n return {\r\n __metadata: {\r\n uri: store._byKeyUrl(key)\r\n }\r\n }\r\n },\r\n version: function() {\r\n return this._requestDispatcher.version\r\n }\r\n});\r\nvar _default = ODataContext;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/data/odata/query_adapter.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.odata = void 0;\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _config = _interopRequireDefault(require(\"../../core/config\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _query_adapters = _interopRequireDefault(require(\"../query_adapters\"));\r\nvar _utils = require(\"./utils\");\r\nvar _errors = require(\"../errors\");\r\nvar _utils2 = require(\"../utils\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar DEFAULT_PROTOCOL_VERSION = 2;\r\nvar STRING_FUNCTIONS = [\"contains\", \"notcontains\", \"startswith\", \"endswith\"];\r\nvar compileCriteria = function() {\r\n var protocolVersion;\r\n var forceLowerCase;\r\n var fieldTypes;\r\n var createBinaryOperationFormatter = function(op) {\r\n return function(prop, val) {\r\n return \"\".concat(prop, \" \").concat(op, \" \").concat(val)\r\n }\r\n };\r\n var createStringFuncFormatter = function(op, reverse) {\r\n return function(prop, val) {\r\n var bag = [op, \"(\"];\r\n if (forceLowerCase) {\r\n prop = -1 === prop.indexOf(\"tolower(\") ? \"tolower(\".concat(prop, \")\") : prop;\r\n val = val.toLowerCase()\r\n }\r\n if (reverse) {\r\n bag.push(val, \",\", prop)\r\n } else {\r\n bag.push(prop, \",\", val)\r\n }\r\n bag.push(\")\");\r\n return bag.join(\"\")\r\n }\r\n };\r\n var formatters = {\r\n \"=\": createBinaryOperationFormatter(\"eq\"),\r\n \"<>\": createBinaryOperationFormatter(\"ne\"),\r\n \">\": createBinaryOperationFormatter(\"gt\"),\r\n \">=\": createBinaryOperationFormatter(\"ge\"),\r\n \"<\": createBinaryOperationFormatter(\"lt\"),\r\n \"<=\": createBinaryOperationFormatter(\"le\"),\r\n startswith: createStringFuncFormatter(\"startswith\"),\r\n endswith: createStringFuncFormatter(\"endswith\")\r\n };\r\n var formattersV2 = (0, _extend.extend)({}, formatters, {\r\n contains: createStringFuncFormatter(\"substringof\", true),\r\n notcontains: createStringFuncFormatter(\"not substringof\", true)\r\n });\r\n var formattersV4 = (0, _extend.extend)({}, formatters, {\r\n contains: createStringFuncFormatter(\"contains\"),\r\n notcontains: createStringFuncFormatter(\"not contains\")\r\n });\r\n var compileBinary = function(criteria) {\r\n var _fieldTypes;\r\n criteria = (0, _utils2.normalizeBinaryCriterion)(criteria);\r\n var op = criteria[1];\r\n var fieldName = criteria[0];\r\n var fieldType = fieldTypes && fieldTypes[fieldName];\r\n if (fieldType && (name = op, STRING_FUNCTIONS.some((function(funcName) {\r\n return funcName === name\r\n }))) && \"String\" !== fieldType) {\r\n throw new _errors.errors.Error(\"E4024\", op, fieldName, fieldType)\r\n }\r\n var name;\r\n var formatters = 4 === protocolVersion ? formattersV4 : formattersV2;\r\n var formatter = formatters[op.toLowerCase()];\r\n if (!formatter) {\r\n throw _errors.errors.Error(\"E4003\", op)\r\n }\r\n var value = criteria[2];\r\n if (null !== (_fieldTypes = fieldTypes) && void 0 !== _fieldTypes && _fieldTypes[fieldName]) {\r\n value = (0, _utils.convertPrimitiveValue)(fieldTypes[fieldName], value)\r\n }\r\n return formatter((0, _utils.serializePropName)(fieldName), (0, _utils.serializeValue)(value, protocolVersion))\r\n };\r\n var compileUnary = function(criteria) {\r\n var op = criteria[0];\r\n var crit = compileCore(criteria[1]);\r\n if (\"!\" === op) {\r\n return \"not (\".concat(crit, \")\")\r\n }\r\n throw _errors.errors.Error(\"E4003\", op)\r\n };\r\n var compileGroup = function(criteria) {\r\n var bag = [];\r\n var groupOperator;\r\n var nextGroupOperator;\r\n (0, _iterator.each)(criteria, (function(index, criterion) {\r\n if (Array.isArray(criterion)) {\r\n if (bag.length > 1 && groupOperator !== nextGroupOperator) {\r\n throw new _errors.errors.Error(\"E4019\")\r\n }\r\n bag.push(\"(\".concat(compileCore(criterion), \")\"));\r\n groupOperator = nextGroupOperator;\r\n nextGroupOperator = \"and\"\r\n } else {\r\n nextGroupOperator = (0, _utils2.isConjunctiveOperator)(this) ? \"and\" : \"or\"\r\n }\r\n }));\r\n return bag.join(\" \".concat(groupOperator, \" \"))\r\n };\r\n var compileCore = function(criteria) {\r\n if (Array.isArray(criteria[0])) {\r\n return compileGroup(criteria)\r\n }\r\n if ((0, _utils2.isUnaryOperation)(criteria)) {\r\n return compileUnary(criteria)\r\n }\r\n return compileBinary(criteria)\r\n };\r\n return function(criteria, version, types, filterToLower) {\r\n fieldTypes = types;\r\n forceLowerCase = null !== filterToLower && void 0 !== filterToLower ? filterToLower : (0, _config.default)().oDataFilterToLower;\r\n protocolVersion = version;\r\n return compileCore(criteria)\r\n }\r\n}();\r\nvar createODataQueryAdapter = function(queryOptions) {\r\n var _sorting = [];\r\n var _criteria = [];\r\n var _expand = queryOptions.expand;\r\n var _select;\r\n var _skip;\r\n var _take;\r\n var _countQuery;\r\n var _oDataVersion = queryOptions.version || DEFAULT_PROTOCOL_VERSION;\r\n var hasSlice = function() {\r\n return _skip || void 0 !== _take\r\n };\r\n var hasFunction = function hasFunction(criterion) {\r\n for (var i = 0; i < criterion.length; i++) {\r\n if ((0, _type.isFunction)(criterion[i])) {\r\n return true\r\n }\r\n if (Array.isArray(criterion[i]) && hasFunction(criterion[i])) {\r\n return true\r\n }\r\n }\r\n return false\r\n };\r\n var requestData = function() {\r\n var result = {};\r\n if (!_countQuery) {\r\n if (_sorting.length) {\r\n result.$orderby = _sorting.join(\",\")\r\n }\r\n if (_skip) {\r\n result.$skip = _skip\r\n }\r\n if (void 0 !== _take) {\r\n result.$top = _take\r\n }\r\n result.$select = (0, _utils.generateSelect)(_oDataVersion, _select) || void 0;\r\n result.$expand = (0, _utils.generateExpand)(_oDataVersion, _expand, _select) || void 0\r\n }\r\n if (_criteria.length) {\r\n var criteria = _criteria.length < 2 ? _criteria[0] : _criteria;\r\n var fieldTypes = null === queryOptions || void 0 === queryOptions ? void 0 : queryOptions.fieldTypes;\r\n var filterToLower = null === queryOptions || void 0 === queryOptions ? void 0 : queryOptions.filterToLower;\r\n result.$filter = compileCriteria(criteria, _oDataVersion, fieldTypes, filterToLower)\r\n }\r\n if (_countQuery) {\r\n result.$top = 0\r\n }\r\n if (queryOptions.requireTotalCount || _countQuery) {\r\n if (4 !== _oDataVersion) {\r\n result.$inlinecount = \"allpages\"\r\n } else {\r\n result.$count = \"true\"\r\n }\r\n }\r\n return result\r\n };\r\n return {\r\n optimize: function(tasks) {\r\n var selectIndex = -1;\r\n for (var i = 0; i < tasks.length; i++) {\r\n if (\"select\" === tasks[i].name) {\r\n selectIndex = i;\r\n break\r\n }\r\n }\r\n if (selectIndex < 0 || !(0, _type.isFunction)(tasks[selectIndex].args[0])) {\r\n return\r\n }\r\n var nextTask = tasks[1 + selectIndex];\r\n if (!nextTask || \"slice\" !== nextTask.name) {\r\n return\r\n }\r\n tasks[1 + selectIndex] = tasks[selectIndex];\r\n tasks[selectIndex] = nextTask\r\n },\r\n exec: function(url) {\r\n return (0, _utils.sendRequest)(_oDataVersion, {\r\n url: url,\r\n params: (0, _extend.extend)(requestData(), null === queryOptions || void 0 === queryOptions ? void 0 : queryOptions.params)\r\n }, {\r\n beforeSend: queryOptions.beforeSend,\r\n jsonp: queryOptions.jsonp,\r\n withCredentials: queryOptions.withCredentials,\r\n countOnly: _countQuery,\r\n deserializeDates: queryOptions.deserializeDates,\r\n fieldTypes: queryOptions.fieldTypes,\r\n isPaged: isFinite(_take)\r\n })\r\n },\r\n multiSort: function(args) {\r\n var rules;\r\n if (hasSlice()) {\r\n return false\r\n }\r\n for (var i = 0; i < args.length; i++) {\r\n var getter = args[i][0];\r\n var desc = !!args[i][1];\r\n var rule = void 0;\r\n if (\"string\" !== typeof getter) {\r\n return false\r\n }\r\n rule = (0, _utils.serializePropName)(getter);\r\n if (desc) {\r\n rule += \" desc\"\r\n }\r\n rules = rules || [];\r\n rules.push(rule)\r\n }\r\n _sorting = rules\r\n },\r\n slice: function(skipCount, takeCount) {\r\n if (hasSlice()) {\r\n return false\r\n }\r\n _skip = skipCount;\r\n _take = takeCount\r\n },\r\n filter: function(criterion) {\r\n if (hasSlice()) {\r\n return false\r\n }\r\n if (!Array.isArray(criterion)) {\r\n criterion = [].slice.call(arguments)\r\n }\r\n if (hasFunction(criterion)) {\r\n return false\r\n }\r\n if (_criteria.length) {\r\n _criteria.push(\"and\")\r\n }\r\n _criteria.push(criterion)\r\n },\r\n select: function(expr) {\r\n if (_select || (0, _type.isFunction)(expr)) {\r\n return false\r\n }\r\n if (!Array.isArray(expr)) {\r\n expr = [].slice.call(arguments)\r\n }\r\n _select = expr\r\n },\r\n count: function() {\r\n return _countQuery = true\r\n }\r\n }\r\n};\r\n_query_adapters.default.odata = createODataQueryAdapter;\r\nvar odata = createODataQueryAdapter;\r\nexports.odata = odata;\r\n","/**\r\n * DevExtreme (cjs/data/odata/request_dispatcher.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _utils = require(\"./utils\");\r\nrequire(\"./query_adapter\");\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\nvar DEFAULT_PROTOCOL_VERSION = 2;\r\nvar RequestDispatcher = function() {\r\n function RequestDispatcher(options) {\r\n options = options || {};\r\n this._url = String(options.url).replace(/\\/+$/, \"\");\r\n this._beforeSend = options.beforeSend;\r\n this._jsonp = options.jsonp;\r\n this._version = options.version || DEFAULT_PROTOCOL_VERSION;\r\n this._withCredentials = options.withCredentials;\r\n this._deserializeDates = options.deserializeDates;\r\n this._filterToLower = options.filterToLower\r\n }\r\n var _proto = RequestDispatcher.prototype;\r\n _proto.sendRequest = function(url, method, params, payload) {\r\n return (0, _utils.sendRequest)(this.version, {\r\n url: url,\r\n method: method,\r\n params: params || {},\r\n payload: payload\r\n }, {\r\n beforeSend: this._beforeSend,\r\n jsonp: this._jsonp,\r\n withCredentials: this._withCredentials,\r\n deserializeDates: this._deserializeDates\r\n })\r\n };\r\n _createClass(RequestDispatcher, [{\r\n key: \"version\",\r\n get: function() {\r\n return this._version\r\n }\r\n }, {\r\n key: \"beforeSend\",\r\n get: function() {\r\n return this._beforeSend\r\n }\r\n }, {\r\n key: \"url\",\r\n get: function() {\r\n return this._url\r\n }\r\n }, {\r\n key: \"jsonp\",\r\n get: function() {\r\n return this._jsonp\r\n }\r\n }, {\r\n key: \"filterToLower\",\r\n get: function() {\r\n return this._filterToLower\r\n }\r\n }]);\r\n return RequestDispatcher\r\n}();\r\nexports.default = RequestDispatcher;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/data/odata/store.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _config = _interopRequireDefault(require(\"../../core/config\"));\r\nvar _utils = require(\"./utils\");\r\nvar _errors = require(\"../errors\");\r\nvar _query = _interopRequireDefault(require(\"../query\"));\r\nvar _abstract_store = _interopRequireDefault(require(\"../abstract_store\"));\r\nvar _request_dispatcher = _interopRequireDefault(require(\"./request_dispatcher\"));\r\nvar _deferred = require(\"../../core/utils/deferred\");\r\nrequire(\"./query_adapter\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\n\r\nfunction _defineProperty(obj, key, value) {\r\n key = _toPropertyKey(key);\r\n if (key in obj) {\r\n Object.defineProperty(obj, key, {\r\n value: value,\r\n enumerable: true,\r\n configurable: true,\r\n writable: true\r\n })\r\n } else {\r\n obj[key] = value\r\n }\r\n return obj\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\nvar ANONYMOUS_KEY_NAME = \"5d46402c-7899-4ea9-bd81-8b73c47c7683\";\r\nvar expandKeyType = function(key, keyType) {\r\n return _defineProperty({}, key, keyType)\r\n};\r\nvar mergeFieldTypesWithKeyType = function(fieldTypes, keyType) {\r\n var result = {};\r\n for (var field in fieldTypes) {\r\n result[field] = fieldTypes[field]\r\n }\r\n for (var keyName in keyType) {\r\n if (keyName in result) {\r\n if (result[keyName] !== keyType[keyName]) {\r\n _errors.errors.log(\"W4001\", keyName)\r\n }\r\n } else {\r\n result[keyName] = keyType[keyName]\r\n }\r\n }\r\n return result\r\n};\r\nvar ODataStore = _abstract_store.default.inherit({\r\n ctor: function(options) {\r\n this.callBase(options);\r\n this._requestDispatcher = new _request_dispatcher.default(options);\r\n var key = this.key();\r\n var fieldTypes = options.fieldTypes;\r\n var keyType = options.keyType;\r\n if (keyType) {\r\n var keyTypeIsString = \"string\" === typeof keyType;\r\n if (!key) {\r\n key = keyTypeIsString ? ANONYMOUS_KEY_NAME : Object.keys(keyType);\r\n this._legacyAnonymousKey = key\r\n }\r\n if (keyTypeIsString) {\r\n keyType = expandKeyType(key, keyType)\r\n }\r\n fieldTypes = mergeFieldTypesWithKeyType(fieldTypes, keyType)\r\n }\r\n this._fieldTypes = fieldTypes || {};\r\n if (2 === this.version()) {\r\n this._updateMethod = \"MERGE\"\r\n } else {\r\n this._updateMethod = \"PATCH\"\r\n }\r\n },\r\n _customLoadOptions: function() {\r\n return [\"expand\", \"customQueryParams\"]\r\n },\r\n _byKeyImpl: function(key, extraOptions) {\r\n var params = {};\r\n if (extraOptions) {\r\n params.$expand = (0, _utils.generateExpand)(this.version(), extraOptions.expand, extraOptions.select) || void 0;\r\n params.$select = (0, _utils.generateSelect)(this.version(), extraOptions.select) || void 0\r\n }\r\n return this._requestDispatcher.sendRequest(this._byKeyUrl(key), \"GET\", params)\r\n },\r\n createQuery: function(loadOptions) {\r\n var _loadOptions$urlOverr;\r\n var url;\r\n var queryOptions = {\r\n adapter: \"odata\",\r\n beforeSend: this._requestDispatcher.beforeSend,\r\n errorHandler: this._errorHandler,\r\n jsonp: this._requestDispatcher.jsonp,\r\n version: this._requestDispatcher.version,\r\n withCredentials: this._requestDispatcher._withCredentials,\r\n expand: null === loadOptions || void 0 === loadOptions ? void 0 : loadOptions.expand,\r\n requireTotalCount: null === loadOptions || void 0 === loadOptions ? void 0 : loadOptions.requireTotalCount,\r\n deserializeDates: this._requestDispatcher._deserializeDates,\r\n fieldTypes: this._fieldTypes\r\n };\r\n url = null !== (_loadOptions$urlOverr = null === loadOptions || void 0 === loadOptions ? void 0 : loadOptions.urlOverride) && void 0 !== _loadOptions$urlOverr ? _loadOptions$urlOverr : this._requestDispatcher.url;\r\n if ((0, _type.isDefined)(this._requestDispatcher.filterToLower)) {\r\n queryOptions.filterToLower = this._requestDispatcher.filterToLower\r\n }\r\n if (null !== loadOptions && void 0 !== loadOptions && loadOptions.customQueryParams) {\r\n var params = (0, _utils.escapeServiceOperationParams)(null === loadOptions || void 0 === loadOptions ? void 0 : loadOptions.customQueryParams, this.version());\r\n if (4 === this.version()) {\r\n url = (0, _utils.formatFunctionInvocationUrl)(url, params)\r\n } else {\r\n queryOptions.params = params\r\n }\r\n }\r\n return (0, _query.default)(url, queryOptions)\r\n },\r\n _insertImpl: function(values) {\r\n var _this = this;\r\n this._requireKey();\r\n var d = new _deferred.Deferred;\r\n (0, _deferred.when)(this._requestDispatcher.sendRequest(this._requestDispatcher.url, \"POST\", null, values)).done((function(serverResponse) {\r\n return d.resolve(serverResponse && !(0, _config.default)().useLegacyStoreResult ? serverResponse : values, _this.keyOf(serverResponse))\r\n })).fail(d.reject);\r\n return d.promise()\r\n },\r\n _updateImpl: function(key, values) {\r\n var d = new _deferred.Deferred;\r\n (0, _deferred.when)(this._requestDispatcher.sendRequest(this._byKeyUrl(key), this._updateMethod, null, values)).done((function(serverResponse) {\r\n return (0, _config.default)().useLegacyStoreResult ? d.resolve(key, values) : d.resolve(serverResponse || values, key)\r\n })).fail(d.reject);\r\n return d.promise()\r\n },\r\n _removeImpl: function(key) {\r\n var d = new _deferred.Deferred;\r\n (0, _deferred.when)(this._requestDispatcher.sendRequest(this._byKeyUrl(key), \"DELETE\")).done((function() {\r\n return d.resolve(key)\r\n })).fail(d.reject);\r\n return d.promise()\r\n },\r\n _convertKey: function(value) {\r\n var result = value;\r\n var fieldTypes = this._fieldTypes;\r\n var key = this.key() || this._legacyAnonymousKey;\r\n if (Array.isArray(key)) {\r\n result = {};\r\n for (var i = 0; i < key.length; i++) {\r\n var keyName = key[i];\r\n result[keyName] = (0, _utils.convertPrimitiveValue)(fieldTypes[keyName], value[keyName])\r\n }\r\n } else if (fieldTypes[key]) {\r\n result = (0, _utils.convertPrimitiveValue)(fieldTypes[key], value)\r\n }\r\n return result\r\n },\r\n _byKeyUrl: function(value) {\r\n var baseUrl = this._requestDispatcher.url;\r\n var convertedKey = this._convertKey(value);\r\n return \"\".concat(baseUrl, \"(\").concat(encodeURIComponent((0, _utils.serializeKey)(convertedKey, this.version())), \")\")\r\n },\r\n version: function() {\r\n return this._requestDispatcher.version\r\n }\r\n}, \"odata\");\r\nvar _default = ODataStore;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/data/odata/utils.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.serializeValue = exports.serializePropName = exports.serializeKey = exports.sendRequest = exports.keyConverters = exports.generateSelect = exports.generateExpand = exports.formatFunctionInvocationUrl = exports.escapeServiceOperationParams = exports.convertPrimitiveValue = exports.EdmLiteral = void 0;\r\nvar _class = _interopRequireDefault(require(\"../../core/class\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _ajax = _interopRequireDefault(require(\"../../core/utils/ajax\"));\r\nvar _guid = _interopRequireDefault(require(\"../../core/guid\"));\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _deferred = require(\"../../core/utils/deferred\");\r\nvar _errors = require(\"../errors\");\r\nvar _utils = require(\"../utils\");\r\nvar _string = require(\"../../core/utils/string\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nvar GUID_REGEX = /^(\\{{0,1}([0-9a-fA-F]){8}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){12}\\}{0,1})$/;\r\nvar VERBOSE_DATE_REGEX = /^\\/Date\\((-?\\d+)((\\+|-)?(\\d+)?)\\)\\/$/;\r\nvar ISO8601_DATE_REGEX = /^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?(Z|[-+]{1}\\d{2}(:?)(\\d{2})?)?$/;\r\nvar JSON_VERBOSE_MIME_TYPE = \"application/json;odata=verbose\";\r\nvar makeArray = function(value) {\r\n return \"string\" === (0, _type.type)(value) ? value.split() : value\r\n};\r\nvar hasDot = function(x) {\r\n return /\\./.test(x)\r\n};\r\nvar pad = function(text, length, right) {\r\n text = String(text);\r\n while (text.length < length) {\r\n text = right ? \"\".concat(text, \"0\") : \"0\".concat(text)\r\n }\r\n return text\r\n};\r\nvar formatISO8601 = function(date, skipZeroTime, skipTimezone) {\r\n var bag = [];\r\n var padLeft2 = function(text) {\r\n return pad(text, 2)\r\n };\r\n bag.push(date.getFullYear());\r\n bag.push(\"-\");\r\n bag.push(padLeft2(date.getMonth() + 1));\r\n bag.push(\"-\");\r\n bag.push(padLeft2(date.getDate()));\r\n if (!(skipZeroTime && date.getHours() + date.getMinutes() + date.getSeconds() + date.getMilliseconds() < 1)) {\r\n bag.push(\"T\");\r\n bag.push(padLeft2(date.getHours()));\r\n bag.push(\":\");\r\n bag.push(padLeft2(date.getMinutes()));\r\n bag.push(\":\");\r\n bag.push(padLeft2(date.getSeconds()));\r\n if (date.getMilliseconds()) {\r\n bag.push(\".\");\r\n bag.push(pad(date.getMilliseconds(), 3))\r\n }\r\n if (!skipTimezone) {\r\n bag.push(\"Z\")\r\n }\r\n }\r\n return bag.join(\"\")\r\n};\r\nvar parseISO8601 = function(isoString) {\r\n var result = new Date(60 * new Date(0).getTimezoneOffset() * 1e3);\r\n var chunks = isoString.replace(\"Z\", \"\").split(\"T\");\r\n var date = /(\\d{4})-(\\d{2})-(\\d{2})/.exec(chunks[0]);\r\n var time = /(\\d{2}):(\\d{2}):(\\d{2})\\.?(\\d{0,7})?/.exec(chunks[1]);\r\n result.setFullYear(Number(date[1]));\r\n result.setMonth(Number(date[2]) - 1);\r\n result.setDate(Number(date[3]));\r\n if (Array.isArray(time) && time.length) {\r\n result.setHours(Number(time[1]));\r\n result.setMinutes(Number(time[2]));\r\n result.setSeconds(Number(time[3]));\r\n var fractional = (time[4] || \"\").slice(0, 3);\r\n fractional = pad(fractional, 3, true);\r\n result.setMilliseconds(Number(fractional))\r\n }\r\n return result\r\n};\r\nvar isAbsoluteUrl = function(url) {\r\n return /^(?:[a-z]+:)?\\/{2,2}/i.test(url)\r\n};\r\nvar stripParams = function(url) {\r\n var index = url.indexOf(\"?\");\r\n if (index > -1) {\r\n return url.substr(0, index)\r\n }\r\n return url\r\n};\r\nvar toAbsoluteUrl = function(basePath, relativePath) {\r\n var part;\r\n var baseParts = stripParams(basePath).split(\"/\");\r\n var relativeParts = relativePath.split(\"/\");\r\n baseParts.pop();\r\n while (relativeParts.length) {\r\n part = relativeParts.shift();\r\n if (\"..\" === part) {\r\n baseParts.pop()\r\n } else {\r\n baseParts.push(part)\r\n }\r\n }\r\n return baseParts.join(\"/\")\r\n};\r\nvar param = function(params) {\r\n var result = [];\r\n for (var name in params) {\r\n result.push(name + \"=\" + params[name])\r\n }\r\n return result.join(\"&\")\r\n};\r\nvar ajaxOptionsForRequest = function(protocolVersion, request) {\r\n var _options$beforeSend;\r\n var options = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};\r\n var formatPayload = function(payload) {\r\n return JSON.stringify(payload, (function(key, value) {\r\n if (!(this[key] instanceof Date)) {\r\n return value\r\n }\r\n value = formatISO8601(this[key]);\r\n switch (protocolVersion) {\r\n case 2:\r\n return value.substr(0, value.length - 1);\r\n case 3:\r\n case 4:\r\n return value;\r\n default:\r\n throw _errors.errors.Error(\"E4002\")\r\n }\r\n }))\r\n };\r\n request = (0, _extend.extend)({\r\n async: true,\r\n method: \"get\",\r\n url: \"\",\r\n params: {},\r\n payload: null,\r\n headers: {},\r\n timeout: 3e4\r\n }, request);\r\n null === (_options$beforeSend = options.beforeSend) || void 0 === _options$beforeSend ? void 0 : _options$beforeSend.call(options, request);\r\n var _request = request,\r\n async = _request.async, timeout = _request.timeout, headers = _request.headers;\r\n var _request2 = request,\r\n url = _request2.url,\r\n method = _request2.method;\r\n var jsonp = options.jsonp,\r\n withCredentials = options.withCredentials;\r\n method = (method || \"get\").toLowerCase();\r\n var isGet = \"get\" === method;\r\n var useJsonp = isGet && jsonp;\r\n var params = (0, _extend.extend)({}, request.params);\r\n var ajaxData = isGet ? params : formatPayload(request.payload);\r\n var qs = !isGet && param(params);\r\n var contentType = !isGet && JSON_VERBOSE_MIME_TYPE;\r\n if (qs) {\r\n url += (url.indexOf(\"?\") > -1 ? \"&\" : \"?\") + qs\r\n }\r\n if (useJsonp) {\r\n ajaxData.$format = \"json\"\r\n }\r\n return {\r\n url: url,\r\n data: ajaxData,\r\n dataType: useJsonp ? \"jsonp\" : \"json\",\r\n jsonp: useJsonp && \"$callback\",\r\n method: method,\r\n async: async,\r\n timeout: timeout,\r\n headers: headers,\r\n contentType: contentType,\r\n accepts: {\r\n json: [JSON_VERBOSE_MIME_TYPE, \"text/plain\"].join()\r\n },\r\n xhrFields: {\r\n withCredentials: withCredentials\r\n }\r\n }\r\n};\r\nvar sendRequest = function sendRequest(protocolVersion, request, options) {\r\n var deserializeDates = options.deserializeDates,\r\n fieldTypes = options.fieldTypes,\r\n countOnly = options.countOnly,\r\n isPaged = options.isPaged;\r\n var d = new _deferred.Deferred;\r\n var ajaxOptions = ajaxOptionsForRequest(protocolVersion, request, options);\r\n _ajax.default.sendRequest(ajaxOptions).always((function(obj, textStatus) {\r\n var transformOptions = {\r\n deserializeDates: deserializeDates,\r\n fieldTypes: fieldTypes\r\n };\r\n var tuple = interpretJsonFormat(obj, textStatus, transformOptions, ajaxOptions);\r\n var error = tuple.error,\r\n data = tuple.data,\r\n count = tuple.count;\r\n var nextUrl = tuple.nextUrl;\r\n if (error) {\r\n if (error.message !== _utils.XHR_ERROR_UNLOAD) {\r\n d.reject(error)\r\n }\r\n } else if (countOnly) {\r\n if (isFinite(count)) {\r\n d.resolve(count)\r\n } else {\r\n d.reject(new _errors.errors.Error(\"E4018\"))\r\n }\r\n } else if (nextUrl && !isPaged) {\r\n if (!isAbsoluteUrl(nextUrl)) {\r\n nextUrl = toAbsoluteUrl(ajaxOptions.url, nextUrl)\r\n }\r\n sendRequest(protocolVersion, {\r\n url: nextUrl\r\n }, options).fail(d.reject).done((function(nextData) {\r\n return d.resolve(data.concat(nextData))\r\n }))\r\n } else {\r\n var extra = isFinite(count) ? {\r\n totalCount: count\r\n } : void 0;\r\n d.resolve(data, extra)\r\n }\r\n }));\r\n return d.promise()\r\n};\r\nexports.sendRequest = sendRequest;\r\nvar formatDotNetError = function(errorObj) {\r\n var message;\r\n var currentMessage;\r\n var currentError = errorObj;\r\n if (\"message\" in errorObj) {\r\n var _errorObj$message;\r\n message = (null === (_errorObj$message = errorObj.message) || void 0 === _errorObj$message ? void 0 : _errorObj$message.value) || errorObj.message\r\n }\r\n while (currentError = currentError.innererror || currentError.internalexception) {\r\n var _currentMessage;\r\n currentMessage = currentError.message;\r\n message = null !== (_currentMessage = currentMessage) && void 0 !== _currentMessage ? _currentMessage : message;\r\n if (currentError.internalexception && -1 === message.indexOf(\"inner exception\")) {\r\n break\r\n }\r\n }\r\n return message\r\n};\r\nvar errorFromResponse = function(obj, textStatus, ajaxOptions) {\r\n var _response, _response2, _response3, _response4;\r\n if (\"nocontent\" === textStatus) {\r\n return null\r\n }\r\n var message = \"Unknown error\";\r\n var response = obj;\r\n var httpStatus = 200;\r\n var errorData = {\r\n requestOptions: ajaxOptions\r\n };\r\n if (\"success\" !== textStatus) {\r\n var status = obj.status,\r\n responseText = obj.responseText;\r\n httpStatus = status;\r\n message = (0, _utils.errorMessageFromXhr)(obj, textStatus);\r\n try {\r\n response = JSON.parse(responseText)\r\n } catch (x) {}\r\n }\r\n var errorObj = (null === (_response = response) || void 0 === _response ? void 0 : _response.then) || (null === (_response2 = response) || void 0 === _response2 ? void 0 : _response2.error) || (null === (_response3 = response) || void 0 === _response3 ? void 0 : _response3[\"odata.error\"]) || (null === (_response4 = response) || void 0 === _response4 ? void 0 : _response4[\"@odata.error\"]);\r\n if (errorObj) {\r\n message = formatDotNetError(errorObj) || message;\r\n errorData.errorDetails = errorObj;\r\n if (200 === httpStatus) {\r\n httpStatus = 500\r\n }\r\n var customCode = Number(errorObj.code);\r\n if (isFinite(customCode) && customCode >= 400) {\r\n httpStatus = customCode\r\n }\r\n }\r\n if (httpStatus >= 400 || 0 === httpStatus) {\r\n errorData.httpStatus = httpStatus;\r\n return (0, _extend.extend)(Error(message), errorData)\r\n }\r\n return null\r\n};\r\nvar interpretJsonFormat = function(obj, textStatus, transformOptions, ajaxOptions) {\r\n var error = errorFromResponse(obj, textStatus, ajaxOptions);\r\n if (error) {\r\n return {\r\n error: error\r\n }\r\n }\r\n if (!(0, _type.isPlainObject)(obj)) {\r\n return {\r\n data: obj\r\n }\r\n }\r\n var value = \"d\" in obj && (Array.isArray(obj.d) || (0, _type.isObject)(obj.d)) ? interpretVerboseJsonFormat(obj) : interpretLightJsonFormat(obj);\r\n transformTypes(value, transformOptions);\r\n return value\r\n};\r\nvar interpretVerboseJsonFormat = function(_ref) {\r\n var _data$results;\r\n var data = _ref.d;\r\n if (!(0, _type.isDefined)(data)) {\r\n return {\r\n error: Error(\"Malformed or unsupported JSON response received\")\r\n }\r\n }\r\n return {\r\n data: null !== (_data$results = data.results) && void 0 !== _data$results ? _data$results : data,\r\n nextUrl: data.__next,\r\n count: parseInt(data.__count, 10)\r\n }\r\n};\r\nvar interpretLightJsonFormat = function(obj) {\r\n var _obj$value;\r\n return {\r\n data: null !== (_obj$value = obj.value) && void 0 !== _obj$value ? _obj$value : obj,\r\n nextUrl: obj[\"@odata.nextLink\"],\r\n count: parseInt(obj[\"@odata.count\"], 10)\r\n }\r\n};\r\nvar EdmLiteral = _class.default.inherit({\r\n ctor: function(value) {\r\n this._value = value\r\n },\r\n valueOf: function() {\r\n return this._value\r\n }\r\n});\r\nexports.EdmLiteral = EdmLiteral;\r\nvar transformTypes = function transformTypes(obj) {\r\n var options = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};\r\n (0, _iterator.each)(obj, (function(key, value) {\r\n if (null !== value && \"object\" === _typeof(value)) {\r\n if (\"results\" in value) {\r\n obj[key] = value.results\r\n }\r\n transformTypes(obj[key], options)\r\n } else if (\"string\" === typeof value) {\r\n var fieldTypes = options.fieldTypes,\r\n deserializeDates = options.deserializeDates;\r\n var canBeGuid = !fieldTypes || \"String\" !== fieldTypes[key];\r\n if (canBeGuid && GUID_REGEX.test(value)) {\r\n obj[key] = new _guid.default(value)\r\n }\r\n if (false !== deserializeDates) {\r\n if (value.match(VERBOSE_DATE_REGEX)) {\r\n var date = new Date(Number(RegExp.$1) + 60 * RegExp.$2 * 1e3);\r\n obj[key] = new Date(date.valueOf() + 60 * date.getTimezoneOffset() * 1e3)\r\n } else if (ISO8601_DATE_REGEX.test(value)) {\r\n obj[key] = new Date(parseISO8601(obj[key]).valueOf())\r\n }\r\n }\r\n }\r\n }))\r\n};\r\nvar serializeDate = function(date) {\r\n return \"datetime'\".concat(formatISO8601(date, true, true), \"'\")\r\n};\r\nvar serializeString = function(value) {\r\n return \"'\".concat(value.replace(/'/g, \"''\"), \"'\")\r\n};\r\nvar serializePropName = function(propName) {\r\n return propName instanceof EdmLiteral ? propName.valueOf() : propName.replace(/\\./g, \"/\")\r\n};\r\nexports.serializePropName = serializePropName;\r\nvar serializeValueV4 = function serializeValueV4(value) {\r\n if (value instanceof Date) {\r\n return formatISO8601(value, false, false)\r\n }\r\n if (value instanceof _guid.default) {\r\n return value.valueOf()\r\n }\r\n if (Array.isArray(value)) {\r\n return \"[\".concat(value.map((function(item) {\r\n return serializeValueV4(item)\r\n })).join(\",\"), \"]\")\r\n }\r\n return serializeValueV2(value)\r\n};\r\nvar serializeValueV2 = function(value) {\r\n if (value instanceof Date) {\r\n return serializeDate(value)\r\n }\r\n if (value instanceof _guid.default) {\r\n return \"guid'\".concat(value, \"'\")\r\n }\r\n if (value instanceof EdmLiteral) {\r\n return value.valueOf()\r\n }\r\n if (\"string\" === typeof value) {\r\n return serializeString(value)\r\n }\r\n return String(value)\r\n};\r\nvar serializeValue = function(value, protocolVersion) {\r\n switch (protocolVersion) {\r\n case 2:\r\n case 3:\r\n return serializeValueV2(value);\r\n case 4:\r\n return serializeValueV4(value);\r\n default:\r\n throw _errors.errors.Error(\"E4002\")\r\n }\r\n};\r\nexports.serializeValue = serializeValue;\r\nvar serializeKey = function(key, protocolVersion) {\r\n if ((0, _type.isPlainObject)(key)) {\r\n var parts = [];\r\n (0, _iterator.each)(key, (function(k, v) {\r\n return parts.push(\"\".concat(serializePropName(k), \"=\").concat(serializeValue(v, protocolVersion)))\r\n }));\r\n return parts.join()\r\n }\r\n return serializeValue(key, protocolVersion)\r\n};\r\nexports.serializeKey = serializeKey;\r\nvar keyConverters = {\r\n String: function(value) {\r\n return \"\".concat(value)\r\n },\r\n Int32: function(value) {\r\n return Math.floor(value)\r\n },\r\n Int64: function(value) {\r\n return value instanceof EdmLiteral ? value : new EdmLiteral(\"\".concat(value, \"L\"))\r\n },\r\n Guid: function(value) {\r\n return value instanceof _guid.default ? value : new _guid.default(value)\r\n },\r\n Boolean: function(value) {\r\n return !!value\r\n },\r\n Single: function(value) {\r\n return value instanceof EdmLiteral ? value : new EdmLiteral(value + \"f\")\r\n },\r\n Decimal: function(value) {\r\n return value instanceof EdmLiteral ? value : new EdmLiteral(value + \"m\")\r\n }\r\n};\r\nexports.keyConverters = keyConverters;\r\nvar convertPrimitiveValue = function(type, value) {\r\n if (null === value) {\r\n return null\r\n }\r\n var converter = keyConverters[type];\r\n if (!converter) {\r\n throw _errors.errors.Error(\"E4014\", type)\r\n }\r\n return converter(value)\r\n};\r\nexports.convertPrimitiveValue = convertPrimitiveValue;\r\nvar generateSelect = function(oDataVersion, select) {\r\n if (!select) {\r\n return\r\n }\r\n return oDataVersion < 4 ? serializePropName(select.join()) : (0, _common.grep)(select, hasDot, true).join()\r\n};\r\nexports.generateSelect = generateSelect;\r\nvar formatCore = function formatCore(hash) {\r\n var result = \"\";\r\n var selectValue = [];\r\n var expandValue = [];\r\n (0, _iterator.each)(hash, (function(key, value) {\r\n if (Array.isArray(value)) {\r\n [].push.apply(selectValue, value)\r\n }\r\n if ((0, _type.isPlainObject)(value)) {\r\n expandValue.push(\"\".concat(key).concat(formatCore(value)))\r\n }\r\n }));\r\n if (selectValue.length || expandValue.length) {\r\n result += \"(\";\r\n if (selectValue.length) {\r\n result += \"$select=\".concat((0, _iterator.map)(selectValue, serializePropName).join())\r\n }\r\n if (expandValue.length) {\r\n if (selectValue.length) {\r\n result += \";\"\r\n }\r\n result += \"$expand=\".concat((0, _iterator.map)(expandValue, serializePropName).join())\r\n }\r\n result += \")\"\r\n }\r\n return result\r\n};\r\nvar format = function(hash) {\r\n var result = [];\r\n (0, _iterator.each)(hash, (function(key, value) {\r\n return result.push(\"\".concat(key).concat(formatCore(value)))\r\n }));\r\n return result.join()\r\n};\r\nvar parseCore = function parseCore(exprParts, root, stepper) {\r\n var result = stepper(root, exprParts.shift(), exprParts);\r\n if (false === result) {\r\n return\r\n }\r\n parseCore(exprParts, result, stepper)\r\n};\r\nvar parseTree = function(exprs, root, stepper) {\r\n return (0, _iterator.each)(exprs, (function(_, x) {\r\n return parseCore(x.split(\".\"), root, stepper)\r\n }))\r\n};\r\nvar generatorV2 = function(expand, select) {\r\n var hash = {};\r\n if (expand) {\r\n (0, _iterator.each)(makeArray(expand), (function() {\r\n hash[serializePropName(this)] = 1\r\n }))\r\n }\r\n if (select) {\r\n (0, _iterator.each)(makeArray(select), (function() {\r\n var path = this.split(\".\");\r\n if (path.length < 2) {\r\n return\r\n }\r\n path.pop();\r\n hash[serializePropName(path.join(\".\"))] = 1\r\n }))\r\n }\r\n return (0, _iterator.map)(hash, (function(_, v) {\r\n return v\r\n })).join()\r\n};\r\nvar generatorV4 = function(expand, select) {\r\n var hash = {};\r\n if (expand || select) {\r\n if (expand) {\r\n parseTree(makeArray(expand), hash, (function(node, key, path) {\r\n node[key] = node[key] || {};\r\n return !path.length ? false : node[key]\r\n }))\r\n }\r\n if (select) {\r\n parseTree((0, _common.grep)(makeArray(select), hasDot), hash, (function(node, key, path) {\r\n if (!path.length) {\r\n node[key] = node[key] || [];\r\n node[key].push(key);\r\n return false\r\n }\r\n return node[key] = node[key] || {}\r\n }))\r\n }\r\n return format(hash)\r\n }\r\n};\r\nvar generateExpand = function(oDataVersion, expand, select) {\r\n return oDataVersion < 4 ? generatorV2(expand, select) : generatorV4(expand, select)\r\n};\r\nexports.generateExpand = generateExpand;\r\nvar formatFunctionInvocationUrl = function(baseUrl, args) {\r\n return (0, _string.format)(\"{0}({1})\", baseUrl, (0, _iterator.map)(args || {}, (function(value, key) {\r\n return (0, _string.format)(\"{0}={1}\", key, value)\r\n })).join(\",\"))\r\n};\r\nexports.formatFunctionInvocationUrl = formatFunctionInvocationUrl;\r\nvar escapeServiceOperationParams = function(params, version) {\r\n if (!params) {\r\n return params\r\n }\r\n var result = {};\r\n (0, _iterator.each)(params, (function(k, v) {\r\n result[k] = serializeValue(v, version)\r\n }));\r\n return result\r\n};\r\nexports.escapeServiceOperationParams = escapeServiceOperationParams;\r\n","/**\r\n * DevExtreme (cjs/data/query.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _query_implementation = require(\"./query_implementation\");\r\nvar query = function() {\r\n var impl = Array.isArray(arguments[0]) ? \"array\" : \"remote\";\r\n return _query_implementation.queryImpl[impl].apply(this, arguments)\r\n};\r\nvar _default = query;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/data/query_adapters.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _default = {};\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/data/query_implementation.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.queryImpl = void 0;\r\nvar _array_query = _interopRequireDefault(require(\"./array_query\"));\r\nvar _remote_query = _interopRequireDefault(require(\"./remote_query\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar queryImpl = {\r\n array: _array_query.default,\r\n remote: _remote_query.default\r\n};\r\nexports.queryImpl = queryImpl;\r\n","/**\r\n * DevExtreme (cjs/data/remote_query.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _query_adapters = _interopRequireDefault(require(\"./query_adapters\"));\r\nvar _errors = require(\"./errors\");\r\nvar _iterator = require(\"../core/utils/iterator\");\r\nvar _type = require(\"../core/utils/type\");\r\nvar _deferred = require(\"../core/utils/deferred\");\r\nvar _array_query = _interopRequireDefault(require(\"./array_query\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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.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 }(0, _errors.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.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 (!(0, _type.isFunction)(_adapterFactory)) {\r\n _adapterFactory = _query_adapters.default[_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 (0, _iterator.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 = (0, _array_query.default)(result, {\r\n errorHandler: queryOptions.errorHandler\r\n });\r\n (0, _iterator.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 (0, _iterator.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 (0, _iterator.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\nvar _default = remoteQueryImpl;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/data/store_helper.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _common = require(\"../core/utils/common\");\r\nvar _extend = require(\"../core/utils/extend\");\r\nvar _iterator = require(\"../core/utils/iterator\");\r\nvar _array_query = _interopRequireDefault(require(\"./array_query\"));\r\nvar _utils = require(\"./utils\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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 (0, _extend.extend)({}, g, {\r\n items: multiLevelGroup((0, _array_query.default)(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 (0, _iterator.each)(groupInfo, (function(_, group) {\r\n var collision = (0, _common.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 var _options;\r\n options = options || {};\r\n var filter = options.filter;\r\n if (null !== (_options = options) && void 0 !== _options && _options.langParams) {\r\n var _query$setLangParams, _query;\r\n null === (_query$setLangParams = (_query = query).setLangParams) || void 0 === _query$setLangParams ? void 0 : _query$setLangParams.call(_query, options.langParams)\r\n }\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 = (0, _utils.normalizeSortingInfo)(group);\r\n group.keepInitialKeyOrder = !!options.group.keepInitialKeyOrder\r\n }\r\n if (sort || group) {\r\n sort = (0, _utils.normalizeSortingInfo)(sort || []);\r\n if (group && !group.keepInitialKeyOrder) {\r\n sort = arrangeSortingInfo(group, sort)\r\n }(0, _iterator.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\nvar _default = {\r\n multiLevelGroup: multiLevelGroup,\r\n arrangeSortingInfo: arrangeSortingInfo,\r\n queryByOptions: queryByOptions\r\n};\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/data/utils.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.errorMessageFromXhr = exports.base64_encode = exports.aggregators = exports.XHR_ERROR_UNLOAD = void 0;\r\nexports.isConjunctiveOperator = isConjunctiveOperator;\r\nexports.isDisjunctiveOperator = isDisjunctiveOperator;\r\nexports.rejectedPromise = exports.processRequestResultLock = exports.normalizeSortingInfo = exports.normalizeBinaryCriterion = exports.keysEqual = exports.isUnaryOperation = exports.isGroupCriterion = void 0;\r\nexports.throttleChanges = throttleChanges;\r\nexports.trivialPromise = void 0;\r\nvar _type = require(\"../core/utils/type\");\r\nvar _dom_adapter = _interopRequireDefault(require(\"../core/dom_adapter\"));\r\nvar _ready_callbacks = _interopRequireDefault(require(\"../core/utils/ready_callbacks\"));\r\nvar _window = require(\"../core/utils/window\");\r\nvar _iterator = require(\"../core/utils/iterator\");\r\nvar _deferred = require(\"../core/utils/deferred\");\r\nvar _common = require(\"../core/utils/common\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _toConsumableArray(arr) {\r\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread()\r\n}\r\n\r\nfunction _nonIterableSpread() {\r\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _unsupportedIterableToArray(o, minLen) {\r\n if (!o) {\r\n return\r\n }\r\n if (\"string\" === typeof o) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n var n = Object.prototype.toString.call(o).slice(8, -1);\r\n if (\"Object\" === n && o.constructor) {\r\n n = o.constructor.name\r\n }\r\n if (\"Map\" === n || \"Set\" === n) {\r\n return Array.from(o)\r\n }\r\n if (\"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n}\r\n\r\nfunction _iterableToArray(iter) {\r\n if (\"undefined\" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter[\"@@iterator\"]) {\r\n return Array.from(iter)\r\n }\r\n}\r\n\r\nfunction _arrayWithoutHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return _arrayLikeToArray(arr)\r\n }\r\n}\r\n\r\nfunction _arrayLikeToArray(arr, len) {\r\n if (null == len || len > arr.length) {\r\n len = arr.length\r\n }\r\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\r\n arr2[i] = arr[i]\r\n }\r\n return arr2\r\n}\r\nvar ready = _ready_callbacks.default.add;\r\nvar XHR_ERROR_UNLOAD = \"DEVEXTREME_XHR_ERROR_UNLOAD\";\r\nexports.XHR_ERROR_UNLOAD = XHR_ERROR_UNLOAD;\r\nvar 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\nexports.normalizeBinaryCriterion = normalizeBinaryCriterion;\r\nvar normalizeSortingInfo = function(info) {\r\n if (!Array.isArray(info)) {\r\n info = [info]\r\n }\r\n return (0, _iterator.map)(info, (function(i) {\r\n var result = {\r\n selector: (0, _type.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\nexports.normalizeSortingInfo = normalizeSortingInfo;\r\nvar 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 = (0, _window.getWindow)();\r\n _dom_adapter.default.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\nexports.errorMessageFromXhr = errorMessageFromXhr;\r\nvar 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\nexports.aggregators = aggregators;\r\nvar 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.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.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\nexports.processRequestResultLock = processRequestResultLock;\r\n\r\nfunction isDisjunctiveOperator(condition) {\r\n return /^(or|\\|\\||\\|)$/i.test(condition)\r\n}\r\n\r\nfunction isConjunctiveOperator(condition) {\r\n return /^(and|&&|&)$/i.test(condition)\r\n}\r\nvar keysEqual = function(keyExpr, key1, key2) {\r\n if (Array.isArray(keyExpr)) {\r\n var names = (0, _iterator.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 (!(0, _common.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 (0, _common.equalByValue)(key1, key2, {\r\n strict: false\r\n })\r\n};\r\nexports.keysEqual = keysEqual;\r\nvar BASE64_CHARS = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\r\nvar 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 += (0, _iterator.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\nexports.base64_encode = base64_encode;\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\nvar isUnaryOperation = function(crit) {\r\n return \"!\" === crit[0] && Array.isArray(crit[1])\r\n};\r\nexports.isUnaryOperation = isUnaryOperation;\r\nvar isGroupOperator = function(value) {\r\n return \"and\" === value || \"or\" === value\r\n};\r\nvar 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 ((0, _type.isFunction)(first)) {\r\n if (Array.isArray(second) || (0, _type.isFunction)(second) || isGroupOperator(second)) {\r\n return true\r\n }\r\n }\r\n return false\r\n};\r\nexports.isGroupCriterion = isGroupCriterion;\r\nvar trivialPromise = function() {\r\n var d = new _deferred.Deferred;\r\n return d.resolve.apply(d, arguments).promise()\r\n};\r\nexports.trivialPromise = trivialPromise;\r\nvar rejectedPromise = function() {\r\n var d = new _deferred.Deferred;\r\n return d.reject.apply(d, arguments).promise()\r\n};\r\nexports.rejectedPromise = rejectedPromise;\r\n\r\nfunction throttle(func, timeout) {\r\n var timeoutId;\r\n return function() {\r\n var _this = this;\r\n if (!timeoutId) {\r\n timeoutId = setTimeout((function() {\r\n timeoutId = void 0;\r\n func.call(_this)\r\n }), (0, _type.isFunction)(timeout) ? timeout() : timeout)\r\n }\r\n return timeoutId\r\n }\r\n}\r\n\r\nfunction 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 var _cache;\r\n (_cache = cache).push.apply(_cache, _toConsumableArray(changes))\r\n }\r\n return throttled.call(this, cache)\r\n }\r\n}\r\n","/**\r\n * DevExtreme (cjs/data_helper.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _data_source = require(\"./data/data_source/data_source\");\r\nvar _extend = require(\"./core/utils/extend\");\r\nvar _utils = require(\"./data/data_source/utils\");\r\nvar _data_controller = _interopRequireDefault(require(\"./ui/collection/data_controller\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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 _data_source.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() : _data_source.DataSource;\r\n dataSourceOptions = (0, _utils.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((0, _extend.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 _data_controller.default(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\nvar _default = DataHelperMixin;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/events/click.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.name = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../core/renderer\"));\r\nvar _events_engine = _interopRequireDefault(require(\"../events/core/events_engine\"));\r\nvar _devices = _interopRequireDefault(require(\"../core/devices\"));\r\nvar _dom_adapter = _interopRequireDefault(require(\"../core/dom_adapter\"));\r\nvar _dom = require(\"../core/utils/dom\");\r\nvar _frame = require(\"../animation/frame\");\r\nvar _index = require(\"./utils/index\");\r\nvar _event_nodes_disposing = require(\"./utils/event_nodes_disposing\");\r\nvar _pointer = _interopRequireDefault(require(\"./pointer\"));\r\nvar _emitter = _interopRequireDefault(require(\"./core/emitter\"));\r\nvar _emitter_registrator = _interopRequireDefault(require(\"./core/emitter_registrator\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar CLICK_EVENT_NAME = \"dxclick\";\r\nexports.name = CLICK_EVENT_NAME;\r\nvar misc = {\r\n requestAnimationFrame: _frame.requestAnimationFrame,\r\n cancelAnimationFrame: _frame.cancelAnimationFrame\r\n};\r\nvar prevented = null;\r\nvar lastFiredEvent = null;\r\nvar onNodeRemove = function() {\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 }(0, _event_nodes_disposing.unsubscribeNodesDisposing)(lastFiredEvent, onNodeRemove);\r\n lastFiredEvent = originalEvent;\r\n (0, _event_nodes_disposing.subscribeNodesDisposing)(lastFiredEvent, onNodeRemove);\r\n (0, _index.fireEvent)({\r\n type: CLICK_EVENT_NAME,\r\n originalEvent: e\r\n })\r\n }\r\n};\r\nvar ClickEmitter = _emitter.default.inherit({\r\n ctor: function(element) {\r\n this.callBase(element);\r\n _events_engine.default.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 _events_engine.default.off(this.getElement(), \"click\", clickHandler)\r\n }\r\n});\r\n! function() {\r\n var desktopDevice = _devices.default.real().generic;\r\n if (!desktopDevice) {\r\n var startTarget = null;\r\n var blurPrevented = false;\r\n var document = _dom_adapter.default.getDocument();\r\n _events_engine.default.subscribeGlobal(document, (0, _index.addNamespace)(_pointer.default.down, \"NATIVE_CLICK_FIXER\"), (function(e) {\r\n startTarget = e.target;\r\n blurPrevented = e.isDefaultPrevented()\r\n }));\r\n _events_engine.default.subscribeGlobal(document, (0, _index.addNamespace)(\"click\", \"NATIVE_CLICK_FIXER\"), (function(e) {\r\n var $target = (0, _renderer.default)(e.target);\r\n if (!blurPrevented && startTarget && !$target.is(startTarget) && !(0, _renderer.default)(startTarget).is(\"label\") && (element = $target, (0, _renderer.default)(element).is(\"input, textarea, select, button ,:focus, :focus *\"))) {\r\n (0, _dom.resetActiveElement)()\r\n }\r\n var element;\r\n startTarget = null;\r\n blurPrevented = false\r\n }))\r\n }\r\n}();\r\n(0, _emitter_registrator.default)({\r\n emitter: ClickEmitter,\r\n bubble: true,\r\n events: [CLICK_EVENT_NAME]\r\n});\r\n","/**\r\n * DevExtreme (cjs/events/contextmenu.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.name = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../core/renderer\"));\r\nvar _events_engine = _interopRequireDefault(require(\"../events/core/events_engine\"));\r\nvar _support = require(\"../core/utils/support\");\r\nvar _devices = _interopRequireDefault(require(\"../core/devices\"));\r\nvar _class = _interopRequireDefault(require(\"../core/class\"));\r\nvar _event_registrator = _interopRequireDefault(require(\"./core/event_registrator\"));\r\nvar _index = require(\"./utils/index\");\r\nvar _hold = _interopRequireDefault(require(\"./hold\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar CONTEXTMENU_NAMESPACE = \"dxContexMenu\";\r\nvar CONTEXTMENU_NAMESPACED_EVENT_NAME = (0, _index.addNamespace)(\"contextmenu\", CONTEXTMENU_NAMESPACE);\r\nvar HOLD_NAMESPACED_EVENT_NAME = (0, _index.addNamespace)(_hold.default.name, CONTEXTMENU_NAMESPACE);\r\nvar CONTEXTMENU_EVENT_NAME = \"dxcontextmenu\";\r\nvar ContextMenu = _class.default.inherit({\r\n setup: function(element) {\r\n var $element = (0, _renderer.default)(element);\r\n _events_engine.default.on($element, CONTEXTMENU_NAMESPACED_EVENT_NAME, this._contextMenuHandler.bind(this));\r\n if (_support.touch || _devices.default.isSimulator()) {\r\n _events_engine.default.on($element, HOLD_NAMESPACED_EVENT_NAME, this._holdHandler.bind(this))\r\n }\r\n },\r\n _holdHandler: function(e) {\r\n if ((0, _index.isMouseEvent)(e) && !_devices.default.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 (0, _index.fireEvent)({\r\n type: CONTEXTMENU_EVENT_NAME,\r\n originalEvent: e\r\n })\r\n },\r\n teardown: function(element) {\r\n _events_engine.default.off(element, \".\" + CONTEXTMENU_NAMESPACE)\r\n }\r\n});\r\n(0, _event_registrator.default)(CONTEXTMENU_EVENT_NAME, new ContextMenu);\r\nvar name = CONTEXTMENU_EVENT_NAME;\r\nexports.name = name;\r\n","/**\r\n * DevExtreme (cjs/events/core/emitter.feedback.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.lock = exports.inactive = exports.active = void 0;\r\nvar _class = _interopRequireDefault(require(\"../../core/class\"));\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _dom = require(\"../../core/utils/dom\");\r\nvar _devices = _interopRequireDefault(require(\"../../core/devices\"));\r\nvar _index = require(\"../utils/index\");\r\nvar _pointer = _interopRequireDefault(require(\"../pointer\"));\r\nvar _emitter = _interopRequireDefault(require(\"./emitter\"));\r\nvar _emitter_registrator = _interopRequireDefault(require(\"./emitter_registrator\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar ACTIVE_EVENT_NAME = \"dxactive\";\r\nexports.active = ACTIVE_EVENT_NAME;\r\nvar INACTIVE_EVENT_NAME = \"dxinactive\";\r\nexports.inactive = INACTIVE_EVENT_NAME;\r\nvar ACTIVE_TIMEOUT = 30;\r\nvar INACTIVE_TIMEOUT = 400;\r\nvar FeedbackEvent = _class.default.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.default.inherit({\r\n ctor: function() {\r\n this.callBase.apply(this, arguments);\r\n this._active = new FeedbackEvent(0, _common.noop);\r\n this._inactive = new FeedbackEvent(0, _common.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 = (0, _dom.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 = (0, _index.isMouseEvent)(e);\r\n var isSimulator = _devices.default.isSimulator();\r\n var deferFeedback = isSimulator || !mouseEvent;\r\n var activeTimeout = (0, _common.ensureDefined)(this.activeTimeout, ACTIVE_TIMEOUT);\r\n var inactiveTimeout = (0, _common.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 !== _pointer.default.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() : _common.noop;\r\n deferred.done(lockInactive)\r\n};\r\n(0, _emitter_registrator.default)({\r\n emitter: FeedbackEmitter,\r\n events: [ACTIVE_EVENT_NAME, INACTIVE_EVENT_NAME]\r\n});\r\nvar lock = FeedbackEmitter.lock;\r\nexports.lock = lock;\r\n","/**\r\n * DevExtreme (cjs/events/core/emitter.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _class = _interopRequireDefault(require(\"../../core/class\"));\r\nvar _callbacks = _interopRequireDefault(require(\"../../core/utils/callbacks\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _index = require(\"../utils/index\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar Emitter = _class.default.inherit({\r\n ctor: function(element) {\r\n this._$element = (0, _renderer.default)(element);\r\n this._cancelCallback = (0, _callbacks.default)();\r\n this._acceptCallback = (0, _callbacks.default)()\r\n },\r\n getElement: function() {\r\n return this._$element\r\n },\r\n validate: function(e) {\r\n return !(0, _index.isDxMouseWheelEvent)(e)\r\n },\r\n validatePointers: function(e) {\r\n return 1 === (0, _index.hasTouches)(e)\r\n },\r\n allowInterruptionByMouseWheel: function() {\r\n return true\r\n },\r\n configure: function(data) {\r\n (0, _extend.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: _common.noop,\r\n move: _common.noop,\r\n end: _common.noop,\r\n cancel: _common.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 = (0, _extend.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 = (0, _index.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 ? (0, _renderer.default)(e.target).closest(this.delegateSelector) : this.getElement()).get(0)\r\n },\r\n dispose: _common.noop\r\n});\r\nvar _default = Emitter;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/events/core/emitter_registrator.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _ready_callbacks = _interopRequireDefault(require(\"../../core/utils/ready_callbacks\"));\r\nvar _dom_adapter = _interopRequireDefault(require(\"../../core/dom_adapter\"));\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _element_data = require(\"../../core/element_data\");\r\nvar _class = _interopRequireDefault(require(\"../../core/class\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _event_registrator = _interopRequireDefault(require(\"./event_registrator\"));\r\nvar _index = require(\"../utils/index\");\r\nvar _pointer = _interopRequireDefault(require(\"../pointer\"));\r\nvar _wheel = require(\"./wheel\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar MANAGER_EVENT = \"dxEventManager\";\r\nvar EMITTER_DATA = \"dxEmitter\";\r\nvar EventManager = _class.default.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 _ready_callbacks.default.add(function() {\r\n var document = _dom_adapter.default.getDocument();\r\n _events_engine.default.subscribeGlobal(document, (0, _index.addNamespace)(_pointer.default.down, MANAGER_EVENT), this._pointerDownHandler.bind(this));\r\n _events_engine.default.subscribeGlobal(document, (0, _index.addNamespace)(_pointer.default.move, MANAGER_EVENT), this._pointerMoveHandler.bind(this));\r\n _events_engine.default.subscribeGlobal(document, (0, _index.addNamespace)([_pointer.default.up, _pointer.default.cancel].join(\" \"), MANAGER_EVENT), this._pointerUpHandler.bind(this));\r\n _events_engine.default.subscribeGlobal(document, (0, _index.addNamespace)(_wheel.name, 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 ((0, _index.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 (0, _iterator.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 = (0, _renderer.default)(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 = (0, _element_data.data)($element.get(0), EMITTER_DATA) || [];\r\n (0, _iterator.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 (0, _iterator.each)(emitterEvents, (function(_, eventName) {\r\n (0, _event_registrator.default)(eventName, {\r\n noBubble: !emitterConfig.bubble,\r\n setup: function(element) {\r\n var subscriptions = (0, _element_data.data)(element, EMITTER_SUBSCRIPTION_DATA) || {};\r\n var emitters = (0, _element_data.data)(element, EMITTER_DATA) || {};\r\n var emitter = emitters[emitterName] || new emitterClass(element);\r\n subscriptions[eventName] = true;\r\n emitters[emitterName] = emitter;\r\n (0, _element_data.data)(element, EMITTER_DATA, emitters);\r\n (0, _element_data.data)(element, EMITTER_SUBSCRIPTION_DATA, subscriptions)\r\n },\r\n add: function(element, handleObj) {\r\n var emitters = (0, _element_data.data)(element, EMITTER_DATA);\r\n var emitter = emitters[emitterName];\r\n emitter.configure((0, _extend.extend)({\r\n delegateSelector: handleObj.selector\r\n }, handleObj.data), handleObj.type)\r\n },\r\n teardown: function(element) {\r\n var subscriptions = (0, _element_data.data)(element, EMITTER_SUBSCRIPTION_DATA);\r\n var emitters = (0, _element_data.data)(element, EMITTER_DATA);\r\n var emitter = emitters[emitterName];\r\n delete subscriptions[eventName];\r\n var disposeEmitter = true;\r\n (0, _iterator.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\nvar _default = registerEmitter;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/events/core/event_registrator.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _event_registrator_callbacks = _interopRequireDefault(require(\"./event_registrator_callbacks\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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 }(0, _iterator.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 _event_registrator_callbacks.default.fire(name, strategy)\r\n};\r\nregisterEvent.callbacks = _event_registrator_callbacks.default;\r\nvar _default = registerEvent;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/events/core/event_registrator_callbacks.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _memorized_callbacks = _interopRequireDefault(require(\"../../core/memorized_callbacks\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar _default = new _memorized_callbacks.default;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/events/core/events_engine.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _event_registrator_callbacks = _interopRequireDefault(require(\"./event_registrator_callbacks\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _dom_adapter = _interopRequireDefault(require(\"../../core/dom_adapter\"));\r\nvar _window = require(\"../../core/utils/window\");\r\nvar _dependency_injector = _interopRequireDefault(require(\"../../core/utils/dependency_injector\"));\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _callbacks = _interopRequireDefault(require(\"../../core/utils/callbacks\"));\r\nvar _errors = _interopRequireDefault(require(\"../../core/errors\"));\r\nvar _hook_touch_props = _interopRequireDefault(require(\"../../events/core/hook_touch_props\"));\r\nvar _call_once = _interopRequireDefault(require(\"../../core/utils/call_once\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\nvar window = (0, _window.getWindow)();\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 !(0, _type.isWindow)(target) && \"#document\" !== target.nodeName && _dom_adapter.default.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 _event_registrator_callbacks.default.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 = (0, _dependency_injector.default)({\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 : element.host;\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((0, _extend.extend)(event, {\r\n currentTarget: parents[i]\r\n }), extraParameters);\r\n i++\r\n }\r\n }\r\n if (element.nodeType || (0, _type.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 (_dom_adapter.default.isNode(element) || (0, _type.isWindow)(element)) {\r\n method.apply(eventsEngine, args)\r\n } else if (!(0, _type.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.default.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 = (0, _call_once.default)(detectPassiveEventHandlersSupport);\r\nvar contains = function contains(container, element) {\r\n if ((0, _type.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 = _dom_adapter.default.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 ((0, _type.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 || (0, _window.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((function(prop) {\r\n return addProperty(prop, (function(event) {\r\n return event[prop]\r\n }))\r\n}));\r\n(0, _hook_touch_props.default)(addProperty);\r\nvar beforeSetStrategy = (0, _callbacks.default)();\r\nvar afterSetStrategy = (0, _callbacks.default)();\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\nvar _default = eventsEngine;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/events/core/hook_touch_props.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = _default;\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\n\r\nfunction _default(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\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/events/core/keyboard_processor.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _class = _interopRequireDefault(require(\"../../core/class\"));\r\nvar _index = require(\"../../events/utils/index\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar COMPOSITION_START_EVENT = \"compositionstart\";\r\nvar COMPOSITION_END_EVENT = \"compositionend\";\r\nvar KEYDOWN_EVENT = \"keydown\";\r\nvar NAMESPACE = \"KeyboardProcessor\";\r\nvar createKeyDownOptions = function(e) {\r\n return {\r\n keyName: (0, _index.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\n};\r\nvar KeyboardProcessor = _class.default.inherit({\r\n _keydown: (0, _index.addNamespace)(KEYDOWN_EVENT, NAMESPACE),\r\n _compositionStart: (0, _index.addNamespace)(COMPOSITION_START_EVENT, NAMESPACE),\r\n _compositionEnd: (0, _index.addNamespace)(COMPOSITION_END_EVENT, NAMESPACE),\r\n ctor: function(options) {\r\n var _this = this;\r\n options = options || {};\r\n if (options.element) {\r\n this._element = (0, _renderer.default)(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 = function(e) {\r\n var focusTargets = (0, _renderer.default)(_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 _events_engine.default.on(this._element, this._keydown, this._processFunction);\r\n _events_engine.default.on(this._element, this._compositionStart, this._toggleProcessingWithContext);\r\n _events_engine.default.on(this._element, this._compositionEnd, this._toggleProcessingWithContext)\r\n }\r\n },\r\n dispose: function() {\r\n if (this._element) {\r\n _events_engine.default.off(this._element, this._keydown, this._processFunction);\r\n _events_engine.default.off(this._element, this._compositionStart, this._toggleProcessingWithContext);\r\n _events_engine.default.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 type = _ref.type;\r\n this._isComposing = type === COMPOSITION_START_EVENT;\r\n this._isComposingJustFinished = !this._isComposing\r\n }\r\n});\r\nKeyboardProcessor.createKeyDownOptions = createKeyDownOptions;\r\nvar _default = KeyboardProcessor;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/events/core/wheel.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.name = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _event_registrator = _interopRequireDefault(require(\"./event_registrator\"));\r\nvar _index = require(\"../utils/index\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar EVENT_NAME = \"dxmousewheel\";\r\nexports.name = EVENT_NAME;\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 = (0, _renderer.default)(element);\r\n _events_engine.default.on($element, (0, _index.addNamespace)(NATIVE_EVENT_NAME, EVENT_NAMESPACE), wheel._wheelHandler.bind(wheel))\r\n },\r\n teardown: function(element) {\r\n _events_engine.default.off(element, \".\".concat(EVENT_NAMESPACE))\r\n },\r\n _wheelHandler: function(e) {\r\n var _e$originalEvent = e.originalEvent,\r\n deltaMode = _e$originalEvent.deltaMode,\r\n deltaY = _e$originalEvent.deltaY,\r\n deltaX = _e$originalEvent.deltaX,\r\n deltaZ = _e$originalEvent.deltaZ;\r\n (0, _index.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: function(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\n(0, _event_registrator.default)(EVENT_NAME, wheel);\r\n","/**\r\n * DevExtreme (cjs/events/double_click.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.name = void 0;\r\nvar _events_engine = _interopRequireDefault(require(\"../events/core/events_engine\"));\r\nvar _dom = require(\"../core/utils/dom\");\r\nvar _dom_adapter = _interopRequireDefault(require(\"../core/dom_adapter\"));\r\nvar _class = _interopRequireDefault(require(\"../core/class\"));\r\nvar _event_registrator = _interopRequireDefault(require(\"./core/event_registrator\"));\r\nvar _click = require(\"./click\");\r\nvar _index = require(\"./utils/index\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar DBLCLICK_EVENT_NAME = \"dxdblclick\";\r\nexports.name = DBLCLICK_EVENT_NAME;\r\nvar DBLCLICK_NAMESPACE = \"dxDblClick\";\r\nvar NAMESPACED_CLICK_EVENT = (0, _index.addNamespace)(_click.name, DBLCLICK_NAMESPACE);\r\nvar DBLCLICK_TIMEOUT = 300;\r\nvar DblClick = _class.default.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 _events_engine.default.on(_dom_adapter.default.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 (0, _index.fireEvent)({\r\n type: DBLCLICK_EVENT_NAME,\r\n target: (0, _dom.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 _events_engine.default.off(_dom_adapter.default.getDocument(), NAMESPACED_CLICK_EVENT)\r\n }\r\n }\r\n});\r\n(0, _event_registrator.default)(DBLCLICK_EVENT_NAME, new DblClick);\r\n","/**\r\n * DevExtreme (cjs/events/drag.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.start = exports.move = exports.leave = exports.enter = exports.end = exports.drop = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../core/renderer\"));\r\nvar _element_data = require(\"../core/element_data\");\r\nvar _array = require(\"../core/utils/array\");\r\nvar iteratorUtils = _interopRequireWildcard(require(\"../core/utils/iterator\"));\r\nvar _dom = require(\"../core/utils/dom\");\r\nvar _event_registrator = _interopRequireDefault(require(\"./core/event_registrator\"));\r\nvar _index = require(\"./utils/index\");\r\nvar _emitter = _interopRequireDefault(require(\"./gesture/emitter.gesture\"));\r\nvar _emitter_registrator = _interopRequireDefault(require(\"./core/emitter_registrator\"));\r\n\r\nfunction _getRequireWildcardCache(nodeInterop) {\r\n if (\"function\" !== typeof WeakMap) {\r\n return null\r\n }\r\n var cacheBabelInterop = new WeakMap;\r\n var cacheNodeInterop = new WeakMap;\r\n return (_getRequireWildcardCache = function(nodeInterop) {\r\n return nodeInterop ? cacheNodeInterop : cacheBabelInterop\r\n })(nodeInterop)\r\n}\r\n\r\nfunction _interopRequireWildcard(obj, nodeInterop) {\r\n if (!nodeInterop && obj && obj.__esModule) {\r\n return obj\r\n }\r\n if (null === obj || \"object\" !== _typeof(obj) && \"function\" !== typeof obj) {\r\n return {\r\n default: obj\r\n }\r\n }\r\n var cache = _getRequireWildcardCache(nodeInterop);\r\n if (cache && cache.has(obj)) {\r\n return cache.get(obj)\r\n }\r\n var newObj = {};\r\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\r\n for (var key in obj) {\r\n if (\"default\" !== key && Object.prototype.hasOwnProperty.call(obj, key)) {\r\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\r\n if (desc && (desc.get || desc.set)) {\r\n Object.defineProperty(newObj, key, desc)\r\n } else {\r\n newObj[key] = obj[key]\r\n }\r\n }\r\n }\r\n newObj.default = obj;\r\n if (cache) {\r\n cache.set(obj, newObj)\r\n }\r\n return newObj\r\n}\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar DRAG_START_EVENT = \"dxdragstart\";\r\nexports.start = DRAG_START_EVENT;\r\nvar DRAG_EVENT = \"dxdrag\";\r\nexports.move = DRAG_EVENT;\r\nvar DRAG_END_EVENT = \"dxdragend\";\r\nexports.end = DRAG_END_EVENT;\r\nvar DRAG_ENTER_EVENT = \"dxdragenter\";\r\nexports.enter = DRAG_ENTER_EVENT;\r\nvar DRAG_LEAVE_EVENT = \"dxdragleave\";\r\nexports.leave = DRAG_LEAVE_EVENT;\r\nvar DROP_EVENT = \"dxdrop\";\r\nexports.drop = DROP_EVENT;\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 = (0, _element_data.data)(element, DX_DRAG_EVENTS_COUNT_KEY) || 0;\r\n (0, _element_data.data)(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 = (0, _element_data.data)(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 (0, _element_data.removeData)(element, DX_DRAG_EVENTS_COUNT_KEY)\r\n }\r\n }\r\n};\r\n(0, _event_registrator.default)(DRAG_ENTER_EVENT, dropTargetRegistration);\r\n(0, _event_registrator.default)(DRAG_LEAVE_EVENT, dropTargetRegistration);\r\n(0, _event_registrator.default)(DROP_EVENT, dropTargetRegistration);\r\nvar getItemDelegatedTargets = function($element) {\r\n var dropTargetIndex = knownDropTargets.indexOf($element.get(0));\r\n var dropTargetSelectors = knownDropTargetSelectors[dropTargetIndex].filter((function(selector) {\r\n return selector\r\n }));\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 = _emitter.default.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 = (0, _array.wrapToArray)(e.targetElements || []);\r\n this._dropTargets = iteratorUtils.map(dropTargets, (function(element) {\r\n return (0, _renderer.default)(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 = (0, _index.eventData)(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 (0, _index.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 = (0, _renderer.default)(target);\r\n iteratorUtils.each(getItemDelegatedTargets($target), (function(_, delegatedTarget) {\r\n var $delegatedTarget = (0, _renderer.default)(delegatedTarget);\r\n if (that._checkDropTarget(getItemConfig($target), $delegatedTarget, (0, _renderer.default)(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 || (0, _dom.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) === (0, _renderer.default)(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 = (0, _index.eventData)(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\n(0, _emitter_registrator.default)({\r\n emitter: DragEmitter,\r\n events: [DRAG_START_EVENT, DRAG_EVENT, DRAG_END_EVENT]\r\n});\r\n","/**\r\n * DevExtreme (cjs/events/gesture/emitter.gesture.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _devices = _interopRequireDefault(require(\"../../core/devices\"));\r\nvar _style = require(\"../../core/utils/style\");\r\nvar _call_once = _interopRequireDefault(require(\"../../core/utils/call_once\"));\r\nvar _dom = require(\"../../core/utils/dom\");\r\nvar _ready_callbacks = _interopRequireDefault(require(\"../../core/utils/ready_callbacks\"));\r\nvar _math = require(\"../../core/utils/math\");\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _index = require(\"../utils/index\");\r\nvar _emitter = _interopRequireDefault(require(\"../core/emitter\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar ready = _ready_callbacks.default.add;\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 (0, _style.styleProp)(\"pointer-events\")\r\n};\r\nvar setGestureCover = (0, _call_once.default)((function() {\r\n var isDesktop = \"desktop\" === _devices.default.real().deviceType;\r\n if (!supportPointerEvents() || !isDesktop) {\r\n return _common.noop\r\n }\r\n var $cover = (0, _renderer.default)(\"
    \").addClass(\"dx-gesture-cover\").css(\"pointerEvents\", \"none\");\r\n _events_engine.default.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.default.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 || (0, _index.needSkipEvent)(e)) {\r\n this._cancel(e);\r\n return\r\n }\r\n this._startEvent = (0, _index.createEvent)(e);\r\n this._startEventData = (0, _index.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 = (0, _index.eventDelta)(this._startEventData, (0, _index.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 || (0, _index.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 = (0, _index.eventDelta)(this._startEventData, (0, _index.eventData)(e));\r\n this._startEvent.pageX += (0, _math.sign)(delta.x) * touchBoundary;\r\n this._startEvent.pageY += (0, _math.sign)(delta.y) * touchBoundary\r\n },\r\n _resetActiveElement: function() {\r\n if (\"ios\" === _devices.default.real().platform && this.getElement().find(\":focus\").length) {\r\n (0, _dom.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 ((0, _index.isDxMouseWheelEvent)(e) || (0, _index.isTouchEvent)(e)) {\r\n return\r\n }(0, _dom.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: _common.noop,\r\n _start: _common.noop,\r\n _move: _common.noop,\r\n _stop: _common.noop,\r\n _end: _common.noop\r\n});\r\nGestureEmitter.initialTouchBoundary = TOUCH_BOUNDARY;\r\nGestureEmitter.touchBoundary = function(newBoundary) {\r\n if ((0, _type.isDefined)(newBoundary)) {\r\n TOUCH_BOUNDARY = newBoundary;\r\n return\r\n }\r\n return TOUCH_BOUNDARY\r\n};\r\nvar _default = GestureEmitter;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/events/gesture/emitter.gesture.scroll.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _class = _interopRequireDefault(require(\"../../core/class\"));\r\nvar _index = require(\"../../events/utils/index\");\r\nvar _emitter = _interopRequireDefault(require(\"../../events/gesture/emitter.gesture\"));\r\nvar _emitter_registrator = _interopRequireDefault(require(\"../../events/core/emitter_registrator\"));\r\nvar _frame = require(\"../../animation/frame\");\r\nvar _devices = _interopRequireDefault(require(\"../../core/devices\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar abstract = _class.default.abstract;\r\nvar realDevice = _devices.default.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.default.inherit(function() {\r\n var NAMESPACED_SCROLL_EVENT = (0, _index.addNamespace)(SCROLL_EVENT, \"dxScrollEmitter\");\r\n return {\r\n ctor: function(element) {\r\n var _this = this;\r\n this._element = element;\r\n this._locked = false;\r\n this._proxiedScroll = function(e) {\r\n if (!_this._disposed) {\r\n _this._scroll(e)\r\n }\r\n };\r\n _events_engine.default.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 _events_engine.default.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 (!(0, _index.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 isIos = realDevice.ios,\r\n isAndroid = realDevice.android;\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 (0, _frame.cancelAnimationFrame)(this._scrollFrame);\r\n this._scrollFrame = (0, _frame.requestAnimationFrame)((function() {\r\n that._locked = false\r\n }))\r\n },\r\n check: function(e, callback) {\r\n (0, _frame.cancelAnimationFrame)(this._scrollFrame);\r\n (0, _frame.cancelAnimationFrame)(this._checkFrame);\r\n var that = this;\r\n var callBase = this.callBase;\r\n this._checkFrame = (0, _frame.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 (0, _frame.cancelAnimationFrame)(this._scrollFrame);\r\n (0, _frame.cancelAnimationFrame)(this._checkFrame)\r\n }\r\n })\r\n}();\r\nvar ScrollEmitter = _emitter.default.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 ((0, _index.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 && (0, _index.isMouseEvent)(e);\r\n if (!(0, _index.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 = (0, _index.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 = (0, _index.eventData)(e);\r\n this._fireEvent(SCROLL_START_EVENT, e);\r\n this._prevEventData = (0, _index.eventData)(e)\r\n },\r\n _move: function(e) {\r\n var currentEventData = (0, _index.eventData)(e);\r\n this._fireEvent(SCROLL_MOVE_EVENT, e, {\r\n delta: (0, _index.eventDelta)(this._prevEventData, currentEventData)\r\n });\r\n var delta = (0, _index.eventDelta)(this._savedEventData, currentEventData);\r\n if (delta.time > 200) {\r\n this._savedEventData = this._prevEventData\r\n }\r\n this._prevEventData = (0, _index.eventData)(e)\r\n },\r\n _end: function(e) {\r\n var endEventDelta = (0, _index.eventDelta)(this._prevEventData, (0, _index.eventData)(e));\r\n var velocity = {\r\n x: 0,\r\n y: 0\r\n };\r\n if (!(0, _index.isDxMouseWheelEvent)(e) && endEventDelta.time < 100) {\r\n var delta = (0, _index.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\n(0, _emitter_registrator.default)({\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\nvar _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\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/events/gesture/swipeable.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _swipe = require(\"../swipe\");\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _dom_component = _interopRequireDefault(require(\"../../core/dom_component\"));\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _index = require(\"../utils/index\");\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _public_component = require(\"../../core/utils/public_component\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar DX_SWIPEABLE = \"dxSwipeable\";\r\nvar SWIPEABLE_CLASS = \"dx-swipeable\";\r\nvar ACTION_TO_EVENT_MAP = {\r\n onStart: _swipe.start,\r\n onUpdated: _swipe.swipe,\r\n onEnd: _swipe.end,\r\n onCancel: \"dxswipecancel\"\r\n};\r\nvar IMMEDIATE_TIMEOUT = 180;\r\nvar Swipeable = _dom_component.default.inherit({\r\n _getDefaultOptions: function() {\r\n return (0, _extend.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 (0, _iterator.each)(ACTION_TO_EVENT_MAP, function(actionName, eventName) {\r\n var action = this._createActionByOption(actionName, {\r\n context: this\r\n });\r\n eventName = (0, _index.addNamespace)(eventName, NAME);\r\n _events_engine.default.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 _events_engine.default.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\n(0, _public_component.name)(Swipeable, DX_SWIPEABLE);\r\nvar _default = Swipeable;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/events/hold.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _index = require(\"./utils/index\");\r\nvar _emitter = _interopRequireDefault(require(\"./core/emitter\"));\r\nvar _emitter_registrator = _interopRequireDefault(require(\"./core/emitter_registrator\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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.default.inherit({\r\n start: function(e) {\r\n this._startEventData = (0, _index.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 = (0, _index.eventDelta)(this._startEventData, (0, _index.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\n(0, _emitter_registrator.default)({\r\n emitter: HoldEmitter,\r\n bubble: true,\r\n events: [HOLD_EVENT_NAME]\r\n});\r\nvar _default = {\r\n name: HOLD_EVENT_NAME\r\n};\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/events/hover.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.start = exports.end = void 0;\r\nvar _events_engine = _interopRequireDefault(require(\"../events/core/events_engine\"));\r\nvar _element_data = require(\"../core/element_data\");\r\nvar _class = _interopRequireDefault(require(\"../core/class\"));\r\nvar _devices = _interopRequireDefault(require(\"../core/devices\"));\r\nvar _event_registrator = _interopRequireDefault(require(\"./core/event_registrator\"));\r\nvar _index = require(\"./utils/index\");\r\nvar _pointer = _interopRequireDefault(require(\"./pointer\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar HOVERSTART_NAMESPACE = \"dxHoverStart\";\r\nvar HOVERSTART = \"dxhoverstart\";\r\nexports.start = HOVERSTART;\r\nvar POINTERENTER_NAMESPACED_EVENT_NAME = (0, _index.addNamespace)(_pointer.default.enter, HOVERSTART_NAMESPACE);\r\nvar HOVEREND_NAMESPACE = \"dxHoverEnd\";\r\nvar HOVEREND = \"dxhoverend\";\r\nexports.end = HOVEREND;\r\nvar POINTERLEAVE_NAMESPACED_EVENT_NAME = (0, _index.addNamespace)(_pointer.default.leave, HOVEREND_NAMESPACE);\r\nvar Hover = _class.default.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 (0, _element_data.data)(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 _events_engine.default.on(element, this._originalEventName, handleObj.selector, handler);\r\n (0, _element_data.data)(element, this._handlerArrayKeyPath)[handleObj.guid] = handler\r\n },\r\n _handler: function(e) {\r\n if ((0, _index.isTouchEvent)(e) || _devices.default.isSimulator()) {\r\n return\r\n }(0, _index.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 = (0, _element_data.data)(element, this._handlerArrayKeyPath)[handleObj.guid];\r\n _events_engine.default.off(element, this._originalEventName, handleObj.selector, handler)\r\n },\r\n teardown: function(element) {\r\n (0, _element_data.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\n(0, _event_registrator.default)(HOVERSTART, new HoverStart);\r\n(0, _event_registrator.default)(HOVEREND, new HoverEnd);\r\n","/**\r\n * DevExtreme (cjs/events/index.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.triggerHandler = exports.trigger = exports.one = exports.on = exports.off = exports.Event = void 0;\r\nvar _events_engine = _interopRequireDefault(require(\"./core/events_engine\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar on = _events_engine.default.on;\r\nexports.on = on;\r\nvar one = _events_engine.default.one;\r\nexports.one = one;\r\nvar off = _events_engine.default.off;\r\nexports.off = off;\r\nvar trigger = _events_engine.default.trigger;\r\nexports.trigger = trigger;\r\nvar triggerHandler = _events_engine.default.triggerHandler;\r\nexports.triggerHandler = triggerHandler;\r\nvar Event = _events_engine.default.Event;\r\nexports.Event = Event;\r\n","/**\r\n * DevExtreme (cjs/events/pointer.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.default = void 0;\r\nvar support = _interopRequireWildcard(require(\"../core/utils/support\"));\r\nvar _iterator = require(\"../core/utils/iterator\");\r\nvar _devices = _interopRequireDefault(require(\"../core/devices\"));\r\nvar _event_registrator = _interopRequireDefault(require(\"./core/event_registrator\"));\r\nvar _touch = _interopRequireDefault(require(\"./pointer/touch\"));\r\nvar _mouse = _interopRequireDefault(require(\"./pointer/mouse\"));\r\nvar _mouse_and_touch = _interopRequireDefault(require(\"./pointer/mouse_and_touch\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _getRequireWildcardCache(nodeInterop) {\r\n if (\"function\" !== typeof WeakMap) {\r\n return null\r\n }\r\n var cacheBabelInterop = new WeakMap;\r\n var cacheNodeInterop = new WeakMap;\r\n return (_getRequireWildcardCache = function(nodeInterop) {\r\n return nodeInterop ? cacheNodeInterop : cacheBabelInterop\r\n })(nodeInterop)\r\n}\r\n\r\nfunction _interopRequireWildcard(obj, nodeInterop) {\r\n if (!nodeInterop && obj && obj.__esModule) {\r\n return obj\r\n }\r\n if (null === obj || \"object\" !== _typeof(obj) && \"function\" !== typeof obj) {\r\n return {\r\n default: obj\r\n }\r\n }\r\n var cache = _getRequireWildcardCache(nodeInterop);\r\n if (cache && cache.has(obj)) {\r\n return cache.get(obj)\r\n }\r\n var newObj = {};\r\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\r\n for (var key in obj) {\r\n if (\"default\" !== key && Object.prototype.hasOwnProperty.call(obj, key)) {\r\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\r\n if (desc && (desc.get || desc.set)) {\r\n Object.defineProperty(newObj, key, desc)\r\n } else {\r\n newObj[key] = obj[key]\r\n }\r\n }\r\n }\r\n newObj.default = obj;\r\n if (cache) {\r\n cache.set(obj, newObj)\r\n }\r\n return newObj\r\n}\r\nvar getStrategy = function(support, device) {\r\n var tablet = device.tablet,\r\n phone = device.phone;\r\n if (support.touch && !(tablet || phone)) {\r\n return _mouse_and_touch.default\r\n }\r\n if (support.touch) {\r\n return _touch.default\r\n }\r\n return _mouse.default\r\n};\r\nvar EventStrategy = getStrategy(support, _devices.default.real());\r\n(0, _iterator.each)(EventStrategy.map, (function(pointerEvent, originalEvents) {\r\n (0, _event_registrator.default)(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\nvar _default = pointer;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/events/pointer/base.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _browser = _interopRequireDefault(require(\"../../core/utils/browser\"));\r\nvar _dom_adapter = _interopRequireDefault(require(\"../../core/dom_adapter\"));\r\nvar _class = _interopRequireDefault(require(\"../../core/class\"));\r\nvar _index = require(\"../utils/index\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar POINTER_EVENTS_NAMESPACE = \"dxPointerEvents\";\r\nvar BaseStrategy = _class.default.inherit({\r\n ctor: function(eventName, originalEvents) {\r\n this._eventName = eventName;\r\n this._originalEvents = (0, _index.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 || (0, _index.eventSource)(e),\r\n originalEvent: e,\r\n delegateTarget: delegateTarget,\r\n timeStamp: _browser.default.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 (0, _index.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 : _dom_adapter.default.getDocument();\r\n this._setSelector(handleObj);\r\n var that = this;\r\n _events_engine.default.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 : _dom_adapter.default.getDocument();\r\n if (this._originalEvents !== \".\" + POINTER_EVENTS_NAMESPACE) {\r\n _events_engine.default.off(element, this._originalEvents, this._getSelector())\r\n }\r\n },\r\n dispose: function(element) {\r\n element = this.noBubble ? element : _dom_adapter.default.getDocument();\r\n _events_engine.default.off(element, this._originalEvents)\r\n }\r\n});\r\nvar _default = BaseStrategy;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/events/pointer/mouse.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _base = _interopRequireDefault(require(\"./base\"));\r\nvar _observer = _interopRequireDefault(require(\"./observer\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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.default(eventMap, (function() {\r\n return true\r\n }));\r\n activated = true\r\n};\r\nvar MouseStrategy = _base.default.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((0, _extend.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\nvar _default = MouseStrategy;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/events/pointer/mouse_and_touch.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _base = _interopRequireDefault(require(\"./base\"));\r\nvar _mouse = _interopRequireDefault(require(\"./mouse\"));\r\nvar _touch = _interopRequireDefault(require(\"./touch\"));\r\nvar _index = require(\"../utils/index\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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 _mouse.default.activate();\r\n activated = true\r\n};\r\nvar MouseAndTouchStrategy = _base.default.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 = (0, _index.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 = (0, _index.isMouseEvent)(args.originalEvent) ? _mouse.default.normalize : _touch.default.normalize;\r\n return this.callBase((0, _extend.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 = _mouse.default.resetObserver;\r\nvar _default = MouseAndTouchStrategy;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/events/pointer/observer.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _ready_callbacks = _interopRequireDefault(require(\"../../core/utils/ready_callbacks\"));\r\nvar _dom_adapter = _interopRequireDefault(require(\"../../core/dom_adapter\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar addEventsListener = function(events, handler) {\r\n _ready_callbacks.default.add((function() {\r\n events.split(\" \").forEach((function(event) {\r\n _dom_adapter.default.listen(_dom_adapter.default.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 (0, _iterator.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\nvar _default = Observer;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/events/pointer/touch.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _devices = _interopRequireDefault(require(\"../../core/devices\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _base = _interopRequireDefault(require(\"./base\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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 (0, _iterator.each)(e.touches, (function(_, touch) {\r\n pointers.push((0, _extend.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.default.real().platform && (\"dxpointerdown\" === pointerEvent || \"dxpointerup\" === pointerEvent)\r\n};\r\nvar TouchStrategy = _base.default.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((0, _extend.extend)(normalizeTouchEvent(args.originalEvent), args))\r\n }\r\n});\r\nTouchStrategy.map = eventMap;\r\nTouchStrategy.normalize = normalizeTouchEvent;\r\nvar _default = TouchStrategy;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/events/remove.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.removeEvent = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../core/renderer\"));\r\nvar _element_data = require(\"../core/element_data\");\r\nvar _events_engine = _interopRequireDefault(require(\"./core/events_engine\"));\r\nvar _event_registrator = _interopRequireDefault(require(\"./core/event_registrator\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar removeEvent = \"dxremove\";\r\nexports.removeEvent = removeEvent;\r\nvar eventPropName = \"dxRemoveEvent\";\r\n(0, _element_data.beforeCleanData)((function(elements) {\r\n elements = [].slice.call(elements);\r\n for (var i = 0; i < elements.length; i++) {\r\n var $element = (0, _renderer.default)(elements[i]);\r\n if ($element.prop(eventPropName)) {\r\n $element[0][eventPropName] = null;\r\n _events_engine.default.triggerHandler($element, removeEvent)\r\n }\r\n }\r\n}));\r\n(0, _event_registrator.default)(removeEvent, {\r\n noBubble: true,\r\n setup: function(element) {\r\n (0, _renderer.default)(element).prop(eventPropName, true)\r\n }\r\n});\r\n","/**\r\n * DevExtreme (cjs/events/short.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.visibility = exports.resize = exports.keyboard = exports.hover = exports.focus = exports.dxClick = exports.click = exports.active = void 0;\r\nvar _events_engine = _interopRequireDefault(require(\"./core/events_engine\"));\r\nvar _keyboard_processor = _interopRequireDefault(require(\"./core/keyboard_processor\"));\r\nvar _index = require(\"./utils/index\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction addNamespace(event, namespace) {\r\n return namespace ? (0, _index.addNamespace)(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\nvar active = {\r\n on: function($el, active, inactive, opts) {\r\n var selector = opts.selector,\r\n showTimeout = opts.showTimeout,\r\n hideTimeout = opts.hideTimeout,\r\n namespace = opts.namespace;\r\n _events_engine.default.on($el, addNamespace(\"dxactive\", namespace), selector, {\r\n timeout: showTimeout\r\n }, (function(event) {\r\n return executeAction(active, {\r\n event: event,\r\n element: event.currentTarget\r\n })\r\n }));\r\n _events_engine.default.on($el, addNamespace(\"dxinactive\", namespace), selector, {\r\n timeout: hideTimeout\r\n }, (function(event) {\r\n return executeAction(inactive, {\r\n event: event,\r\n element: event.currentTarget\r\n })\r\n }))\r\n },\r\n off: function($el, _ref) {\r\n var namespace = _ref.namespace,\r\n selector = _ref.selector;\r\n _events_engine.default.off($el, addNamespace(\"dxactive\", namespace), selector);\r\n _events_engine.default.off($el, addNamespace(\"dxinactive\", namespace), selector)\r\n }\r\n};\r\nexports.active = active;\r\nvar resize = {\r\n on: function($el, resize) {\r\n var _ref2 = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {},\r\n namespace = _ref2.namespace;\r\n _events_engine.default.on($el, addNamespace(\"dxresize\", namespace), resize)\r\n },\r\n off: function($el) {\r\n var _ref3 = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {},\r\n namespace = _ref3.namespace;\r\n _events_engine.default.off($el, addNamespace(\"dxresize\", namespace))\r\n }\r\n};\r\nexports.resize = resize;\r\nvar hover = {\r\n on: function($el, start, end, _ref4) {\r\n var selector = _ref4.selector,\r\n namespace = _ref4.namespace;\r\n _events_engine.default.on($el, addNamespace(\"dxhoverend\", namespace), selector, (function(event) {\r\n return end(event)\r\n }));\r\n _events_engine.default.on($el, addNamespace(\"dxhoverstart\", namespace), selector, (function(event) {\r\n return executeAction(start, {\r\n element: event.target,\r\n event: event\r\n })\r\n }))\r\n },\r\n off: function($el, _ref5) {\r\n var selector = _ref5.selector,\r\n namespace = _ref5.namespace;\r\n _events_engine.default.off($el, addNamespace(\"dxhoverstart\", namespace), selector);\r\n _events_engine.default.off($el, addNamespace(\"dxhoverend\", namespace), selector)\r\n }\r\n};\r\nexports.hover = hover;\r\nvar visibility = {\r\n on: function($el, shown, hiding, _ref6) {\r\n var namespace = _ref6.namespace;\r\n _events_engine.default.on($el, addNamespace(\"dxhiding\", namespace), hiding);\r\n _events_engine.default.on($el, addNamespace(\"dxshown\", namespace), shown)\r\n },\r\n off: function($el, _ref7) {\r\n var namespace = _ref7.namespace;\r\n _events_engine.default.off($el, addNamespace(\"dxhiding\", namespace));\r\n _events_engine.default.off($el, addNamespace(\"dxshown\", namespace))\r\n }\r\n};\r\nexports.visibility = visibility;\r\nvar focus = {\r\n on: function($el, focusIn, focusOut, _ref8) {\r\n var namespace = _ref8.namespace;\r\n _events_engine.default.on($el, addNamespace(\"focusin\", namespace), focusIn);\r\n _events_engine.default.on($el, addNamespace(\"focusout\", namespace), focusOut)\r\n },\r\n off: function($el, _ref9) {\r\n var namespace = _ref9.namespace;\r\n _events_engine.default.off($el, addNamespace(\"focusin\", namespace));\r\n _events_engine.default.off($el, addNamespace(\"focusout\", namespace))\r\n },\r\n trigger: function($el) {\r\n return _events_engine.default.trigger($el, \"focus\")\r\n }\r\n};\r\nexports.focus = focus;\r\nvar dxClick = {\r\n on: function($el, click) {\r\n var _ref10 = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {},\r\n namespace = _ref10.namespace;\r\n _events_engine.default.on($el, addNamespace(\"dxclick\", namespace), click)\r\n },\r\n off: function($el) {\r\n var _ref11 = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {},\r\n namespace = _ref11.namespace;\r\n _events_engine.default.off($el, addNamespace(\"dxclick\", namespace))\r\n }\r\n};\r\nexports.dxClick = dxClick;\r\nvar click = {\r\n on: function($el, click) {\r\n var _ref12 = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {},\r\n namespace = _ref12.namespace;\r\n _events_engine.default.on($el, addNamespace(\"click\", namespace), click)\r\n },\r\n off: function($el) {\r\n var _ref13 = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {},\r\n namespace = _ref13.namespace;\r\n _events_engine.default.off($el, addNamespace(\"click\", namespace))\r\n }\r\n};\r\nexports.click = click;\r\nvar index = 0;\r\nvar keyboardProcessors = {};\r\nvar generateListenerId = function() {\r\n return \"keyboardProcessorId\".concat(index++)\r\n};\r\nvar keyboard = {\r\n on: function(element, focusTarget, handler) {\r\n var listenerId = generateListenerId();\r\n keyboardProcessors[listenerId] = new _keyboard_processor.default({\r\n element: element,\r\n focusTarget: focusTarget,\r\n handler: handler\r\n });\r\n return listenerId\r\n },\r\n off: function(listenerId) {\r\n if (listenerId && keyboardProcessors[listenerId]) {\r\n keyboardProcessors[listenerId].dispose();\r\n delete keyboardProcessors[listenerId]\r\n }\r\n },\r\n _getProcessor: function(listenerId) {\r\n return keyboardProcessors[listenerId]\r\n }\r\n};\r\nexports.keyboard = keyboard;\r\n","/**\r\n * DevExtreme (cjs/events/swipe.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.swipe = exports.start = exports.end = void 0;\r\nvar _size = require(\"../core/utils/size\");\r\nvar _index = require(\"./utils/index\");\r\nvar _emitter = _interopRequireDefault(require(\"./gesture/emitter.gesture\"));\r\nvar _emitter_registrator = _interopRequireDefault(require(\"./core/emitter_registrator\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar SWIPE_START_EVENT = \"dxswipestart\";\r\nexports.start = SWIPE_START_EVENT;\r\nvar SWIPE_EVENT = \"dxswipe\";\r\nexports.swipe = SWIPE_EVENT;\r\nvar SWIPE_END_EVENT = \"dxswipeend\";\r\nexports.end = SWIPE_END_EVENT;\r\nvar HorizontalStrategy = {\r\n defaultItemSizeFunc: function() {\r\n return (0, _size.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 = (0, _index.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 = (0, _index.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 (0, _size.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 = (0, _index.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 = (0, _index.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 = _emitter.default.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 = (0, _index.eventData)(e)\r\n },\r\n _start: function(e) {\r\n this._savedEventData = (0, _index.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 = (0, _index.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\n(0, _emitter_registrator.default)({\r\n emitter: SwipeEmitter,\r\n events: [SWIPE_START_EVENT, SWIPE_EVENT, SWIPE_END_EVENT]\r\n});\r\n","/**\r\n * DevExtreme (cjs/events/transform.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.zoomstart = exports.zoomend = exports.zoom = exports.translatestart = exports.translateend = exports.translate = exports.transformstart = exports.transformend = exports.transform = exports.rotatestart = exports.rotateend = exports.rotate = exports.pinchstart = exports.pinchend = exports.pinch = void 0;\r\nvar _math = require(\"../core/utils/math\");\r\nvar iteratorUtils = _interopRequireWildcard(require(\"../core/utils/iterator\"));\r\nvar _index = require(\"./utils/index\");\r\nvar _emitter = _interopRequireDefault(require(\"./core/emitter\"));\r\nvar _emitter_registrator = _interopRequireDefault(require(\"./core/emitter_registrator\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _getRequireWildcardCache(nodeInterop) {\r\n if (\"function\" !== typeof WeakMap) {\r\n return null\r\n }\r\n var cacheBabelInterop = new WeakMap;\r\n var cacheNodeInterop = new WeakMap;\r\n return (_getRequireWildcardCache = function(nodeInterop) {\r\n return nodeInterop ? cacheNodeInterop : cacheBabelInterop\r\n })(nodeInterop)\r\n}\r\n\r\nfunction _interopRequireWildcard(obj, nodeInterop) {\r\n if (!nodeInterop && obj && obj.__esModule) {\r\n return obj\r\n }\r\n if (null === obj || \"object\" !== _typeof(obj) && \"function\" !== typeof obj) {\r\n return {\r\n default: obj\r\n }\r\n }\r\n var cache = _getRequireWildcardCache(nodeInterop);\r\n if (cache && cache.has(obj)) {\r\n return cache.get(obj)\r\n }\r\n var newObj = {};\r\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\r\n for (var key in obj) {\r\n if (\"default\" !== key && Object.prototype.hasOwnProperty.call(obj, key)) {\r\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\r\n if (desc && (desc.get || desc.set)) {\r\n Object.defineProperty(newObj, key, desc)\r\n } else {\r\n newObj[key] = obj[key]\r\n }\r\n }\r\n }\r\n newObj.default = obj;\r\n if (cache) {\r\n cache.set(obj, newObj)\r\n }\r\n return newObj\r\n}\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 = (0, _math.sign)(firstVector.x * secondVector.y - secondVector.x * firstVector.y);\r\n var angle = Math.acos((0, _math.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.default.inherit({\r\n validatePointers: function(e) {\r\n return (0, _index.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((function(result, eventAlias) {\r\n [START_POSTFIX, UPDATE_POSTFIX, END_POSTFIX].forEach((function(eventPostfix) {\r\n result.push(DX_PREFIX + eventAlias.name + eventPostfix)\r\n }));\r\n return result\r\n}), []);\r\n(0, _emitter_registrator.default)({\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\nvar transformstart = exportNames.transformstart,\r\n transform = exportNames.transform,\r\n transformend = exportNames.transformend,\r\n translatestart = exportNames.translatestart,\r\n translate = exportNames.translate,\r\n translateend = exportNames.translateend,\r\n zoomstart = exportNames.zoomstart,\r\n zoom = exportNames.zoom,\r\n zoomend = exportNames.zoomend,\r\n pinchstart = exportNames.pinchstart,\r\n pinch = exportNames.pinch,\r\n pinchend = exportNames.pinchend,\r\n rotatestart = exportNames.rotatestart,\r\n rotate = exportNames.rotate,\r\n rotateend = exportNames.rotateend;\r\nexports.rotateend = rotateend;\r\nexports.rotate = rotate;\r\nexports.rotatestart = rotatestart;\r\nexports.pinchend = pinchend;\r\nexports.pinch = pinch;\r\nexports.pinchstart = pinchstart;\r\nexports.zoomend = zoomend;\r\nexports.zoom = zoom;\r\nexports.zoomstart = zoomstart;\r\nexports.translateend = translateend;\r\nexports.translate = translate;\r\nexports.translatestart = translatestart;\r\nexports.transformend = transformend;\r\nexports.transform = transform;\r\nexports.transformstart = transformstart;\r\n","/**\r\n * DevExtreme (cjs/events/utils/add_namespace.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _errors = _interopRequireDefault(require(\"../../core/errors\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar addNamespace = function addNamespace(eventNames, namespace) {\r\n if (!namespace) {\r\n throw _errors.default.Error(\"E0017\")\r\n }\r\n if (Array.isArray(eventNames)) {\r\n return eventNames.map((function(eventName) {\r\n return addNamespace(eventName, namespace)\r\n })).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\nvar _default = addNamespace;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/events/utils/event_nodes_disposing.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.unsubscribeNodesDisposing = exports.subscribeNodesDisposing = void 0;\r\nvar _events_engine = _interopRequireDefault(require(\"../core/events_engine\"));\r\nvar _remove = require(\"../remove\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction nodesByEvent(event) {\r\n return event && [event.target, event.delegateTarget, event.relatedTarget, event.currentTarget].filter((function(node) {\r\n return !!node\r\n }))\r\n}\r\nvar subscribeNodesDisposing = function(event, callback) {\r\n _events_engine.default.one(nodesByEvent(event), _remove.removeEvent, callback)\r\n};\r\nexports.subscribeNodesDisposing = subscribeNodesDisposing;\r\nvar unsubscribeNodesDisposing = function(event, callback) {\r\n _events_engine.default.off(nodesByEvent(event), _remove.removeEvent, callback)\r\n};\r\nexports.unsubscribeNodesDisposing = unsubscribeNodesDisposing;\r\n","/**\r\n * DevExtreme (cjs/events/utils/index.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.stopEventsSkipping = exports.setEventFixMethod = exports.normalizeKeyName = exports.needSkipEvent = exports.isTouchEvent = exports.isPointerEvent = exports.isMouseEvent = exports.isKeyboardEvent = exports.isFakeClickEvent = exports.isDxMouseWheelEvent = exports.isCommandKeyPressed = exports.hasTouches = exports.getChar = exports.forceSkipEvents = exports.fireEvent = exports.eventSource = exports.eventDelta = exports.eventData = exports.createEvent = exports.addNamespace = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _add_namespace = _interopRequireDefault(require(\"./add_namespace\"));\r\nvar _events_engine = _interopRequireDefault(require(\"../core/events_engine\"));\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _selectors = require(\"../../ui/widget/selectors\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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 = function(e) {\r\n return e\r\n};\r\nvar copyEvent = function(originalEvent) {\r\n return fixMethod(_events_engine.default.Event(originalEvent, originalEvent), originalEvent)\r\n};\r\nvar isDxEvent = function(e) {\r\n return \"dx\" === eventSource(e)\r\n};\r\nvar isNativeMouseEvent = function(e) {\r\n return \"mouse\" === eventSource(e)\r\n};\r\nvar isNativeTouchEvent = function(e) {\r\n return \"touch\" === eventSource(e)\r\n};\r\nvar eventSource = function(_ref) {\r\n var type = _ref.type;\r\n var result = \"other\";\r\n (0, _iterator.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\nexports.eventSource = eventSource;\r\nvar isPointerEvent = function(e) {\r\n return \"pointer\" === eventSource(e)\r\n};\r\nexports.isPointerEvent = isPointerEvent;\r\nvar isMouseEvent = function(e) {\r\n return isNativeMouseEvent(e) || (isPointerEvent(e) || isDxEvent(e)) && \"mouse\" === e.pointerType\r\n};\r\nexports.isMouseEvent = isMouseEvent;\r\nvar isDxMouseWheelEvent = function(e) {\r\n return e && \"dxmousewheel\" === e.type\r\n};\r\nexports.isDxMouseWheelEvent = isDxMouseWheelEvent;\r\nvar isTouchEvent = function(e) {\r\n return isNativeTouchEvent(e) || (isPointerEvent(e) || isDxEvent(e)) && \"touch\" === e.pointerType\r\n};\r\nexports.isTouchEvent = isTouchEvent;\r\nvar isKeyboardEvent = function(e) {\r\n return \"keyboard\" === eventSource(e)\r\n};\r\nexports.isKeyboardEvent = isKeyboardEvent;\r\nvar isFakeClickEvent = function(_ref2) {\r\n var screenX = _ref2.screenX,\r\n offsetX = _ref2.offsetX,\r\n pageX = _ref2.pageX;\r\n return 0 === screenX && !offsetX && 0 === pageX\r\n};\r\nexports.isFakeClickEvent = isFakeClickEvent;\r\nvar eventData = function(_ref3) {\r\n var pageX = _ref3.pageX,\r\n pageY = _ref3.pageY,\r\n timeStamp = _ref3.timeStamp;\r\n return {\r\n x: pageX,\r\n y: pageY,\r\n time: timeStamp\r\n }\r\n};\r\nexports.eventData = eventData;\r\nvar eventDelta = function(from, to) {\r\n return {\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\n};\r\nexports.eventDelta = eventDelta;\r\nvar hasTouches = function(e) {\r\n var originalEvent = e.originalEvent,\r\n pointers = e.pointers;\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\nexports.hasTouches = hasTouches;\r\nvar skipEvents = false;\r\nvar forceSkipEvents = function() {\r\n return skipEvents = true\r\n};\r\nexports.forceSkipEvents = forceSkipEvents;\r\nvar stopEventsSkipping = function() {\r\n return skipEvents = false\r\n};\r\nexports.stopEventsSkipping = stopEventsSkipping;\r\nvar needSkipEvent = function(e) {\r\n if (skipEvents) {\r\n return true\r\n }\r\n var target = e.target;\r\n var $target = (0, _renderer.default)(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 && (0, _selectors.focused)($target)\r\n }\r\n};\r\nexports.needSkipEvent = needSkipEvent;\r\nvar setEventFixMethod = function(func) {\r\n return fixMethod = func\r\n};\r\nexports.setEventFixMethod = setEventFixMethod;\r\nvar createEvent = function(originalEvent, args) {\r\n var event = copyEvent(originalEvent);\r\n args && (0, _extend.extend)(event, args);\r\n return event\r\n};\r\nexports.createEvent = createEvent;\r\nvar fireEvent = function(props) {\r\n var originalEvent = props.originalEvent,\r\n delegateTarget = props.delegateTarget;\r\n var event = createEvent(originalEvent, props);\r\n _events_engine.default.trigger(delegateTarget || event.target, event);\r\n return event\r\n};\r\nexports.fireEvent = fireEvent;\r\nvar normalizeKeyName = function(_ref4) {\r\n var key = _ref4.key,\r\n which = _ref4.which;\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\nexports.normalizeKeyName = normalizeKeyName;\r\nvar getChar = function(_ref5) {\r\n var key = _ref5.key,\r\n which = _ref5.which;\r\n return key || String.fromCharCode(which)\r\n};\r\nexports.getChar = getChar;\r\nvar addNamespace = _add_namespace.default;\r\nexports.addNamespace = addNamespace;\r\nvar isCommandKeyPressed = function(_ref6) {\r\n var ctrlKey = _ref6.ctrlKey,\r\n metaKey = _ref6.metaKey;\r\n return ctrlKey || metaKey\r\n};\r\nexports.isCommandKeyPressed = isCommandKeyPressed;\r\n","/**\r\n * DevExtreme (cjs/events/visibility_change.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.triggerShownEvent = exports.triggerResizeEvent = exports.triggerHidingEvent = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../core/renderer\"));\r\nvar _events_engine = _interopRequireDefault(require(\"./core/events_engine\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar triggerVisibilityChangeEvent = function(eventName) {\r\n return function(element) {\r\n var $element = (0, _renderer.default)(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 _events_engine.default.triggerHandler(changeHandlers[i], eventName)\r\n }\r\n }\r\n};\r\nvar triggerShownEvent = triggerVisibilityChangeEvent(\"dxshown\");\r\nexports.triggerShownEvent = triggerShownEvent;\r\nvar triggerHidingEvent = triggerVisibilityChangeEvent(\"dxhiding\");\r\nexports.triggerHidingEvent = triggerHidingEvent;\r\nvar triggerResizeEvent = triggerVisibilityChangeEvent(\"dxresize\");\r\nexports.triggerResizeEvent = triggerResizeEvent;\r\n","/**\r\n * DevExtreme (cjs/excel_exporter.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"exportDataGrid\", {\r\n enumerable: true,\r\n get: function() {\r\n return _export_data_grid.exportDataGrid\r\n }\r\n});\r\nObject.defineProperty(exports, \"exportPivotGrid\", {\r\n enumerable: true,\r\n get: function() {\r\n return _export_pivot_grid.exportPivotGrid\r\n }\r\n});\r\nvar _export_data_grid = require(\"./exporter/exceljs/export_data_grid\");\r\nvar _export_pivot_grid = require(\"./exporter/exceljs/export_pivot_grid\");\r\n","/**\r\n * DevExtreme (cjs/exporter.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.export = _export;\r\nObject.defineProperty(exports, \"fileSaver\", {\r\n enumerable: true,\r\n get: function() {\r\n return _file_saver.fileSaver\r\n }\r\n});\r\nexports.svg = exports.pdf = exports.image = void 0;\r\nvar _file_saver = require(\"./exporter/file_saver\");\r\nvar _image_creator = require(\"./exporter/image_creator\");\r\nvar _svg_creator = require(\"./exporter/svg_creator\");\r\nvar _type = require(\"./core/utils/type\");\r\nvar _deferred = require(\"./core/utils/deferred\");\r\nvar _pdf_creator = require(\"./exporter/pdf_creator\");\r\n\r\nfunction _export(data, options, getData) {\r\n if (!data) {\r\n return (new _deferred.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 ((0, _type.isBoolean)(options.selectedRowsOnly)) {\r\n eventArgs.selectedRowsOnly = options.selectedRowsOnly\r\n }(0, _type.isFunction)(exportingAction) && exportingAction(eventArgs);\r\n if (!eventArgs.cancel) {\r\n return getData(data, options).then((function(blob) {\r\n (0, _type.isFunction)(exportedAction) && exportedAction();\r\n if ((0, _type.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 _file_saver.fileSaver.saveAs(eventArgs.fileName, format, blob)\r\n }\r\n }))\r\n }\r\n return (new _deferred.Deferred).resolve()\r\n}\r\nvar image = {\r\n creator: _image_creator.imageCreator,\r\n getData: _image_creator.getData,\r\n testFormats: _image_creator.testFormats\r\n};\r\nexports.image = image;\r\nvar pdf = {\r\n getData: _pdf_creator.getData\r\n};\r\nexports.pdf = pdf;\r\nvar svg = {\r\n creator: _svg_creator.svgCreator,\r\n getData: _svg_creator.getData\r\n};\r\nexports.svg = svg;\r\n","/**\r\n * DevExtreme (cjs/exporter/common/export_load_panel.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.ExportLoadPanel = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _message = _interopRequireDefault(require(\"../../localization/message\"));\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _load_panel = _interopRequireDefault(require(\"../../ui/load_panel\"));\r\nvar _uiGrid_core = _interopRequireDefault(require(\"../../ui/grid_core/ui.grid_core.utils\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar EXPORT_LOAD_PANEL_CLASS = \"dx-export-loadpanel\";\r\nvar ExportLoadPanel = function() {\r\n function ExportLoadPanel(component, $targetElement, $container, options) {\r\n this._$targetElement = $targetElement;\r\n this._$container = $container;\r\n this._loadPanel = component._createComponent((0, _renderer.default)(\"
    \").addClass(EXPORT_LOAD_PANEL_CLASS).appendTo(this._$container), _load_panel.default, this.getOptions(options))\r\n }\r\n var _proto = ExportLoadPanel.prototype;\r\n _proto.getDefaultOptions = function() {\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 _proto.getOptions = function(options) {\r\n if ((0, _type.isDefined)(options.text)) {\r\n options.message = options.text\r\n } else {\r\n options.message = _message.default.format(\"dxDataGrid-exporting\")\r\n }\r\n return (0, _extend.extend)(this.getDefaultOptions(), options)\r\n };\r\n _proto.show = function() {\r\n this._loadPanel.option(\"position\", _uiGrid_core.default.calculateLoadPanelPosition(this._$targetElement));\r\n this._loadPanel.show()\r\n };\r\n _proto.dispose = function() {\r\n (0, _renderer.default)(this._loadPanel.element()).remove();\r\n delete this._loadPanel\r\n };\r\n return ExportLoadPanel\r\n}();\r\nexports.ExportLoadPanel = ExportLoadPanel;\r\n","/**\r\n * DevExtreme (cjs/exporter/exceljs/export.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.Export = void 0;\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _export_format = require(\"./export_format\");\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _export_load_panel = require(\"../common/export_load_panel\");\r\nvar _window = require(\"../../core/utils/window\");\r\nvar MAX_DIGIT_WIDTH_IN_PIXELS = 7;\r\nvar MAX_EXCEL_COLUMN_WIDTH = 255;\r\nvar Export = {\r\n getFullOptions: function(options) {\r\n var fullOptions = (0, _extend.extend)({}, options);\r\n if (!((0, _type.isDefined)(fullOptions.worksheet) && (0, _type.isObject)(fullOptions.worksheet))) {\r\n throw Error('The \"worksheet\" field must contain an object.')\r\n }\r\n if (!(0, _type.isDefined)(fullOptions.topLeftCell)) {\r\n fullOptions.topLeftCell = {\r\n row: 1,\r\n column: 1\r\n }\r\n } else if ((0, _type.isString)(fullOptions.topLeftCell)) {\r\n var _fullOptions$workshee = fullOptions.worksheet.getCell(fullOptions.topLeftCell),\r\n row = _fullOptions$workshee.row,\r\n col = _fullOptions$workshee.col;\r\n fullOptions.topLeftCell = {\r\n row: row,\r\n column: col\r\n }\r\n }\r\n if (!(0, _type.isDefined)(fullOptions.keepColumnWidths)) {\r\n fullOptions.keepColumnWidths = true\r\n }\r\n if (!(0, _type.isDefined)(fullOptions.loadPanel)) {\r\n fullOptions.loadPanel = {}\r\n }\r\n if (!(0, _type.isDefined)(fullOptions.loadPanel.enabled)) {\r\n fullOptions.loadPanel.enabled = true\r\n }\r\n if (!(0, _type.isDefined)(fullOptions.encodeExecutableContent)) {\r\n fullOptions.encodeExecutableContent = false\r\n }\r\n return fullOptions\r\n },\r\n convertDateForExcelJS: function(date) {\r\n return new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds(), date.getMilliseconds()))\r\n },\r\n setNumberFormat: function(excelCell, numberFormat) {\r\n excelCell.numFmt = numberFormat\r\n },\r\n getCellStyles: function(dataProvider) {\r\n var _this = this;\r\n var styles = dataProvider.getStyles();\r\n styles.forEach((function(style) {\r\n var numberFormat = _this.tryConvertToExcelNumberFormat(style.format, style.dataType);\r\n if ((0, _type.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: function(format, dataType) {\r\n var newFormat = _export_format.ExportFormat.formatObjectConverter(format, dataType);\r\n var currency = newFormat.currency;\r\n format = newFormat.format;\r\n dataType = newFormat.dataType;\r\n return _export_format.ExportFormat.convertFormat(format, newFormat.precision, dataType, currency)\r\n },\r\n setAlignment: function(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 ((0, _type.isDefined)(wrapText)) {\r\n excelCell.alignment.wrapText = wrapText\r\n }\r\n if ((0, _type.isDefined)(horizontalAlignment)) {\r\n excelCell.alignment.horizontal = horizontalAlignment\r\n }\r\n excelCell.alignment.vertical = \"top\"\r\n },\r\n setColumnsWidth: function(worksheet, widths, startColumnIndex) {\r\n if (!(0, _type.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: function(options, Helpers, getLoadPanelTargetElement, getLoadPanelContainer) {\r\n var _component$_getIntern, _this2 = this;\r\n var component = options.component,\r\n worksheet = options.worksheet,\r\n topLeftCell = options.topLeftCell,\r\n keepColumnWidths = options.keepColumnWidths,\r\n selectedRowsOnly = options.selectedRowsOnly,\r\n loadPanel = options.loadPanel,\r\n encodeExecutableContent = options.encodeExecutableContent;\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 && (0, _window.hasWindow)()) {\r\n var $targetElement = getLoadPanelTargetElement(component);\r\n var $container = getLoadPanelContainer(component);\r\n exportLoadPanel = new _export_load_panel.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((function(resolve) {\r\n dataProvider.ready().done((function() {\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 _this2.setColumnsWidth(worksheet, dataProvider.getColumnsWidths(), cellRange.from.column)\r\n }\r\n helpers._exportAllFieldHeaders(columns, _this2.setAlignment);\r\n var fieldHeaderRowsCount = helpers._getFieldHeaderRowsCount();\r\n cellRange.to.row = cellRange.from.row + fieldHeaderRowsCount;\r\n var styles = _this2.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, _this2.setAlignment)\r\n }\r\n helpers._trySetOutlineLevel(row, rowIndex);\r\n _this2.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 (0, _extend.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((function() {\r\n if (initialLoadPanelEnabledOption) {\r\n component.option(\"loadPanel.enabled\", initialLoadPanelEnabledOption)\r\n }\r\n if (loadPanel.enabled && (0, _window.hasWindow)()) {\r\n exportLoadPanel.dispose()\r\n }\r\n }))\r\n }))\r\n },\r\n exportRow: function(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 ((0, _type.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 ((0, _type.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 ((0, _type.isDefined)(excelCell.value)) {\r\n var _styles$dataProvider$ = styles[dataProvider.getStyleId(rowIndex, cellIndex)],\r\n bold = _styles$dataProvider$.bold,\r\n horizontalAlignment = _styles$dataProvider$.alignment,\r\n numberFormat = _styles$dataProvider$.numberFormat;\r\n if ((0, _type.isDefined)(numberFormat)) {\r\n this.setNumberFormat(excelCell, numberFormat)\r\n } else if ((0, _type.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 = _export_format.ExportFormat.encode(excelCell.value)\r\n }\r\n }\r\n }\r\n};\r\nexports.Export = Export;\r\n","/**\r\n * DevExtreme (cjs/exporter/exceljs/export_data_grid.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.exportDataGrid = exportDataGrid;\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _export = require(\"./export\");\r\nvar _export_merged_ranges_manager = require(\"./export_merged_ranges_manager\");\r\nvar DataGridHelpers = function() {\r\n function DataGridHelpers(component, dataProvider, worksheet, options) {\r\n this.component = component;\r\n this.dataProvider = dataProvider;\r\n this.worksheet = worksheet;\r\n this.mergedRangesManager = new _export_merged_ranges_manager.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 var _proto = DataGridHelpers.prototype;\r\n _proto._getFirstColumnIndex = function() {\r\n return this.topLeftCell.column\r\n };\r\n _proto._getFieldHeaderRowsCount = function() {\r\n return 0\r\n };\r\n _proto._trySetAutoFilter = function(cellRange) {\r\n if (this.autoFilterEnabled) {\r\n if (!(0, _type.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 _proto._trySetFont = function(excelCell, bold) {\r\n if ((0, _type.isDefined)(bold)) {\r\n excelCell.font = excelCell.font || {};\r\n excelCell.font.bold = bold\r\n }\r\n };\r\n _proto._getWorksheetFrozenState = function(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 _proto._trySetOutlineLevel = function(row, rowIndex) {\r\n if (rowIndex >= this.dataProvider.getHeaderRowCount()) {\r\n row.outlineLevel = this.dataProvider.getGroupLevel(rowIndex)\r\n }\r\n };\r\n _proto._isFrozenZone = function(dataProvider) {\r\n return dataProvider.getHeaderRowCount() > 0\r\n };\r\n _proto._isHeaderCell = function(rowIndex) {\r\n return rowIndex < this.dataProvider.getHeaderRowCount()\r\n };\r\n _proto._isInfoCell = function() {\r\n return false\r\n };\r\n _proto._allowToMergeRange = function() {\r\n return true\r\n };\r\n _proto._getAllFieldHeaders = function() {\r\n return []\r\n };\r\n _proto._customizeCell = function(excelCell, gridCell) {\r\n if ((0, _type.isFunction)(this.customizeCell)) {\r\n this.customizeCell({\r\n excelCell: excelCell,\r\n gridCell: gridCell\r\n })\r\n }\r\n };\r\n _proto._exportFieldHeaders = function() {};\r\n _proto._exportAllFieldHeaders = function() {};\r\n _proto._isRowFieldHeadersRow = function() {};\r\n return DataGridHelpers\r\n}();\r\n\r\nfunction exportDataGrid(options) {\r\n return _export.Export.export(_getFullOptions(options), DataGridHelpers, _getLoadPanelTargetElement, _getLoadPanelContainer)\r\n}\r\n\r\nfunction _getFullOptions(options) {\r\n if (!((0, _type.isDefined)(options) && (0, _type.isObject)(options))) {\r\n throw Error('The \"exportDataGrid\" method requires a configuration object.')\r\n }\r\n if (!((0, _type.isDefined)(options.component) && (0, _type.isObject)(options.component) && \"dxDataGrid\" === options.component.NAME)) {\r\n throw Error('The \"component\" field must contain a DataGrid instance.')\r\n }\r\n if (!(0, _type.isDefined)(options.selectedRowsOnly)) {\r\n options.selectedRowsOnly = false\r\n }\r\n if (!(0, _type.isDefined)(options.autoFilterEnabled)) {\r\n options.autoFilterEnabled = false\r\n }\r\n return _export.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\n","/**\r\n * DevExtreme (cjs/exporter/exceljs/export_format.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.ExportFormat = void 0;\r\nvar _string = require(\"../../core/utils/string\");\r\nvar _number = _interopRequireDefault(require(\"../../localization/number\"));\r\nvar _date = _interopRequireDefault(require(\"../../localization/date\"));\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _date2 = require(\"../../localization/ldml/date.format\");\r\nvar _language_codes = require(\"../../localization/language_codes\");\r\nvar _extend = require(\"../../core/utils/extend\");\r\nrequire(\"../../localization/currency\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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 = (_date.default.format(new Date(2009, 8, 8, 6, 5, 4), format) || \"\").toString();\r\n var result = (0, _date2.getFormat)((function(value) {\r\n return _date.default.format(value, format)\r\n }));\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 = (0, _language_codes.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 = _number.default.getOpenXmlCurrencyFormat(currency)\r\n } else {\r\n excelFormat = DEFINED_NUMBER_FORMTATS[format.toLowerCase()]\r\n }\r\n if (excelFormat) {\r\n result = (0, _string.format)(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 !(0, _type.isNumeric)(value)\r\n}\r\nvar ExportFormat = {\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 ((0, _type.isObject)(format)) {\r\n return (0, _extend.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: function(format, precision, type, currency) {\r\n if ((0, _type.isDefined)(format)) {\r\n if (\"date\" === type) {\r\n return _convertDateFormat(format)\r\n } else if ((0, _type.isString)(format) && DEFINED_NUMBER_FORMTATS[format.toLowerCase()]) {\r\n return _convertNumberFormat(format, precision, currency)\r\n }\r\n }\r\n },\r\n encode: function(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\nexports.ExportFormat = ExportFormat;\r\n","/**\r\n * DevExtreme (cjs/exporter/exceljs/export_merged_ranges_manager.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.MergedRangesManager = void 0;\r\nvar MergedRangesManager = function() {\r\n function MergedRangesManager(dataProvider, worksheet) {\r\n this.dataProvider = dataProvider;\r\n this.worksheet = worksheet;\r\n this.mergedCells = [];\r\n this.mergedRanges = []\r\n }\r\n var _proto = MergedRangesManager.prototype;\r\n _proto.updateMergedRanges = function(excelCell, rowIndex, cellIndex, helpers) {\r\n if (helpers._isHeaderCell(rowIndex, cellIndex) && !this.isCellInMergedRanges(rowIndex, cellIndex)) {\r\n var _this$dataProvider$ge = this.dataProvider.getCellMerging(rowIndex, cellIndex),\r\n rowspan = _this$dataProvider$ge.rowspan,\r\n colspan = _this$dataProvider$ge.colspan;\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 _proto.isCellInMergedRanges = function(rowIndex, cellIndex) {\r\n return this.mergedCells[rowIndex] && this.mergedCells[rowIndex][cellIndex]\r\n };\r\n _proto.findMergedCellInfo = function(rowIndex, cellIndex, isHeaderCell) {\r\n if (isHeaderCell && this.isCellInMergedRanges(rowIndex, cellIndex)) {\r\n return this.mergedCells[rowIndex][cellIndex]\r\n }\r\n };\r\n _proto.updateMergedCells = function(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 _proto.addMergedRange = function(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 _proto.applyMergedRages = function() {\r\n var _this = this;\r\n this.mergedRanges.forEach((function(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 return MergedRangesManager\r\n}();\r\nexports.MergedRangesManager = MergedRangesManager;\r\n","/**\r\n * DevExtreme (cjs/exporter/exceljs/export_pivot_grid.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.exportPivotGrid = exportPivotGrid;\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _export = require(\"./export\");\r\nvar _position = require(\"../../core/utils/position\");\r\nvar _inflector = require(\"../../core/utils/inflector\");\r\nvar _export_merged_ranges_manager = require(\"./export_merged_ranges_manager\");\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\nvar FIELD_HEADERS_SEPARATOR = \", \";\r\nvar PivotGridHelpers = function() {\r\n function PivotGridHelpers(component, dataProvider, worksheet, options) {\r\n this.component = component;\r\n this.dataProvider = dataProvider;\r\n this.worksheet = worksheet;\r\n this.mergedRangesManager = new _export_merged_ranges_manager.MergedRangesManager(dataProvider, worksheet);\r\n this.topLeftCell = options.topLeftCell;\r\n this.customizeCell = options.customizeCell;\r\n this.mergeColumnFieldValues = options.mergeColumnFieldValues;\r\n this.mergeRowFieldValues = options.mergeRowFieldValues;\r\n this.exportFilterFieldHeaders = options.exportFilterFieldHeaders;\r\n this.exportDataFieldHeaders = options.exportDataFieldHeaders;\r\n this.exportColumnFieldHeaders = options.exportColumnFieldHeaders;\r\n this.exportRowFieldHeaders = options.exportRowFieldHeaders;\r\n this.rtlEnabled = component.option(\"rtlEnabled\");\r\n this.rowHeaderLayout = component.option(\"rowHeaderLayout\");\r\n this.wrapText = !!component.option(\"wordWrapEnabled\");\r\n this.filterFieldHeaders = this._tryGetFieldHeaders(\"filter\");\r\n this.dataFieldHeaders = this._tryGetFieldHeaders(\"data\");\r\n this.columnFieldHeaders = this._tryGetFieldHeaders(\"column\");\r\n this.rowFieldHeaders = this._tryGetFieldHeaders(\"row\")\r\n }\r\n var _proto = PivotGridHelpers.prototype;\r\n _proto._getFirstColumnIndex = function() {\r\n return this.topLeftCell.column\r\n };\r\n _proto._getWorksheetFrozenState = function(cellRange) {\r\n var _this$dataProvider$ge = this.dataProvider.getFrozenArea(),\r\n x = _this$dataProvider$ge.x,\r\n y = _this$dataProvider$ge.y;\r\n return {\r\n state: \"frozen\",\r\n xSplit: cellRange.from.column + x - 1,\r\n ySplit: cellRange.from.row + y + this._getFieldHeaderRowsCount() - 1\r\n }\r\n };\r\n _proto._getFieldHeaderRowsCount = function() {\r\n return 0 + this._allowExportFilterFieldHeaders() + (this._allowExportDataFieldHeaders() || this._allowExportColumnFieldHeaders())\r\n };\r\n _proto._isFrozenZone = function() {\r\n return true\r\n };\r\n _proto._isHeaderCell = function(rowIndex, cellIndex) {\r\n return rowIndex < this.dataProvider.getColumnAreaRowCount() || cellIndex < this.dataProvider.getRowAreaColCount()\r\n };\r\n _proto._getDefaultFieldHeaderCellsData = function(value) {\r\n return {\r\n text: value,\r\n value: value\r\n }\r\n };\r\n _proto._isInfoCell = function(rowIndex, cellIndex) {\r\n return rowIndex < this.dataProvider.getColumnAreaRowCount() && cellIndex < this.dataProvider.getRowAreaColCount()\r\n };\r\n _proto._allowToMergeRange = function(rowIndex, cellIndex, rowspan, colspan) {\r\n return !(this.dataProvider.isColumnAreaCell(rowIndex, cellIndex) && !this.mergeColumnFieldValues && !!colspan || this.dataProvider.isRowAreaCell(rowIndex, cellIndex) && !this.mergeRowFieldValues && !!rowspan)\r\n };\r\n _proto._trySetAutoFilter = function() {};\r\n _proto._trySetFont = function(excelCell, bold) {\r\n if ((0, _type.isDefined)(bold)) {\r\n excelCell.font = excelCell.font || {};\r\n excelCell.font.bold = bold\r\n }\r\n };\r\n _proto._getFieldHeaderStyles = function() {\r\n var borderStyle = {\r\n style: \"thin\",\r\n color: {\r\n argb: \"FF7E7E7E\"\r\n }\r\n };\r\n return {\r\n alignment: (0, _position.getDefaultAlignment)(this.rtlEnabled),\r\n bold: true,\r\n border: {\r\n bottom: borderStyle,\r\n left: borderStyle,\r\n right: borderStyle,\r\n top: borderStyle\r\n }\r\n }\r\n };\r\n _proto._trySetOutlineLevel = function() {};\r\n _proto._getAllFieldHeaders = function() {\r\n return this.dataProvider._exportController.getDataSource()._descriptions\r\n };\r\n _proto._tryGetFieldHeaders = function(area) {\r\n if (!this[\"export\".concat((0, _inflector.camelize)(area, true), \"FieldHeaders\")]) {\r\n return []\r\n }\r\n var fields = this._getAllFieldHeaders()[\"data\" === area ? \"values\" : \"\".concat(area, \"s\")].filter((function(fieldHeader) {\r\n return fieldHeader.area === area\r\n }));\r\n if (\"right\" === (0, _position.getDefaultAlignment)(this.rtlEnabled)) {\r\n fields.sort((function(a, b) {\r\n return b.areaIndex - a.areaIndex\r\n }))\r\n }\r\n return fields.map((function(field) {\r\n return field.caption\r\n }))\r\n };\r\n _proto._customizeCell = function(excelCell, pivotCell, shouldPreventCall) {\r\n if ((0, _type.isFunction)(this.customizeCell) && !shouldPreventCall) {\r\n this.customizeCell({\r\n excelCell: excelCell,\r\n pivotCell: pivotCell\r\n })\r\n }\r\n };\r\n _proto._isRowFieldHeadersRow = function(rowIndex) {\r\n var isLastInfoRangeCell = this._isInfoCell(rowIndex, 0) && \"row\" === this.dataProvider.getCellData(rowIndex + 1, 0, true).cellSourceData.area;\r\n return this._allowExportRowFieldHeaders() && isLastInfoRangeCell\r\n };\r\n _proto._exportAllFieldHeaders = function(columns, setAlignment) {\r\n var totalCellsCount = columns.length;\r\n var rowAreaColCount = this.dataProvider.getRowAreaColCount();\r\n var rowIndex = this.topLeftCell.row;\r\n if (this._allowExportFilterFieldHeaders()) {\r\n this._exportFieldHeaders(\"filter\", rowIndex, 0, totalCellsCount, setAlignment);\r\n rowIndex++\r\n }\r\n if (this._allowExportDataFieldHeaders()) {\r\n this._exportFieldHeaders(\"data\", rowIndex, 0, rowAreaColCount, setAlignment);\r\n if (!this._allowExportColumnFieldHeaders()) {\r\n this._exportFieldHeaders(\"column\", rowIndex, rowAreaColCount, totalCellsCount - rowAreaColCount, setAlignment)\r\n }\r\n }\r\n if (this._allowExportColumnFieldHeaders()) {\r\n if (!this._allowExportDataFieldHeaders()) {\r\n this._exportFieldHeaders(\"data\", rowIndex, 0, rowAreaColCount, setAlignment)\r\n }\r\n this._exportFieldHeaders(\"column\", rowIndex, rowAreaColCount, totalCellsCount - rowAreaColCount, setAlignment)\r\n }\r\n };\r\n _proto._exportFieldHeaders = function(area, rowIndex, startColumnIndex, totalColumnsCount, setAlignment) {\r\n var fieldHeaders = this[\"\".concat(area, \"FieldHeaders\")];\r\n var row = this.worksheet.getRow(rowIndex);\r\n var shouldMergeHeaderField = \"row\" !== area || \"row\" === area && \"tree\" === this.rowHeaderLayout;\r\n if (shouldMergeHeaderField) {\r\n this.mergedRangesManager.addMergedRange(row.getCell(this.topLeftCell.column + startColumnIndex), 0, totalColumnsCount - 1)\r\n }\r\n for (var cellIndex = 0; cellIndex < totalColumnsCount; cellIndex++) {\r\n var excelCell = row.getCell(this.topLeftCell.column + startColumnIndex + cellIndex);\r\n var values = fieldHeaders;\r\n var cellData;\r\n var value = values.length > totalColumnsCount || shouldMergeHeaderField ? values.join(FIELD_HEADERS_SEPARATOR) : values[cellIndex];\r\n cellData = _extends({}, this._getDefaultFieldHeaderCellsData(value), {\r\n headerType: area\r\n });\r\n excelCell.value = value;\r\n this._applyHeaderStyles(excelCell, setAlignment);\r\n this._customizeCell(excelCell, cellData)\r\n }\r\n };\r\n _proto._applyHeaderStyles = function(excelCell, setAlignment) {\r\n var _this$_getFieldHeader = this._getFieldHeaderStyles(),\r\n bold = _this$_getFieldHeader.bold,\r\n alignment = _this$_getFieldHeader.alignment,\r\n border = _this$_getFieldHeader.border;\r\n this._trySetFont(excelCell, bold);\r\n setAlignment(excelCell, this.wrapText, alignment);\r\n excelCell.border = border\r\n };\r\n _proto._allowExportRowFieldHeaders = function() {\r\n return this.rowFieldHeaders.length > 0\r\n };\r\n _proto._allowExportFilterFieldHeaders = function() {\r\n return this.filterFieldHeaders.length > 0\r\n };\r\n _proto._allowExportDataFieldHeaders = function() {\r\n return this.dataFieldHeaders.length > 0\r\n };\r\n _proto._allowExportColumnFieldHeaders = function() {\r\n return this.columnFieldHeaders.length > 0\r\n };\r\n return PivotGridHelpers\r\n}();\r\n\r\nfunction exportPivotGrid(options) {\r\n return _export.Export.export(_getFullOptions(options), PivotGridHelpers, _getLoadPanelTargetElement, _getLoadPanelContainer)\r\n}\r\n\r\nfunction _getFullOptions(options) {\r\n if (!((0, _type.isDefined)(options) && (0, _type.isObject)(options))) {\r\n throw Error('The \"exportPivotGrid\" method requires a configuration object.')\r\n }\r\n if (!((0, _type.isDefined)(options.component) && (0, _type.isObject)(options.component) && \"dxPivotGrid\" === options.component.NAME)) {\r\n throw Error('The \"component\" field must contain a PivotGrid instance.')\r\n }\r\n if (!(0, _type.isDefined)(options.mergeRowFieldValues)) {\r\n options.mergeRowFieldValues = true\r\n }\r\n if (!(0, _type.isDefined)(options.mergeColumnFieldValues)) {\r\n options.mergeColumnFieldValues = true\r\n }\r\n if (!(0, _type.isDefined)(options.exportDataFieldHeaders)) {\r\n options.exportDataFieldHeaders = false\r\n }\r\n if (!(0, _type.isDefined)(options.exportRowFieldHeaders)) {\r\n options.exportRowFieldHeaders = false\r\n }\r\n if (!(0, _type.isDefined)(options.exportColumnFieldHeaders)) {\r\n options.exportColumnFieldHeaders = false\r\n }\r\n if (!(0, _type.isDefined)(options.exportFilterFieldHeaders)) {\r\n options.exportFilterFieldHeaders = false\r\n }\r\n return _export.Export.getFullOptions(options)\r\n}\r\n\r\nfunction _getLoadPanelTargetElement(component) {\r\n return component._dataArea.groupElement()\r\n}\r\n\r\nfunction _getLoadPanelContainer(component) {\r\n return component.$element()\r\n}\r\n","/**\r\n * DevExtreme (cjs/exporter/file_saver.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.fileSaver = exports.MIME_TYPES = void 0;\r\nvar _dom_adapter = _interopRequireDefault(require(\"../core/dom_adapter\"));\r\nvar _window = require(\"../core/utils/window\");\r\nvar _ui = _interopRequireDefault(require(\"../ui/widget/ui.errors\"));\r\nvar _type = require(\"../core/utils/type\");\r\nvar _console = require(\"../core/utils/console\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar window = (0, _window.getWindow)();\r\nvar navigator = (0, _window.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\nvar 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\nexports.MIME_TYPES = MIME_TYPES;\r\nvar 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 = _dom_adapter.default.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 = _dom_adapter.default.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 var _this = this;\r\n this._blobSaved = false;\r\n if ((0, _type.isDefined)(navigator.msSaveOrOpenBlob)) {\r\n navigator.msSaveOrOpenBlob(data, fileName);\r\n this._blobSaved = true\r\n } else if ((0, _type.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 ((0, _type.isDefined)(URL)) {\r\n var objectURL = URL.createObjectURL(data);\r\n var downloadLink = this._linkDownloader(fileName, objectURL);\r\n setTimeout((function() {\r\n URL.revokeObjectURL(objectURL);\r\n _this._objectUrlRevoked = true\r\n }), this._revokeObjectURLTimeout);\r\n this._click(downloadLink)\r\n } else {\r\n _console.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 ((0, _type.isFunction)(window.Blob)) {\r\n this._saveBlobAs(fileName, format, data)\r\n } else {\r\n if (!(0, _type.isDefined)(navigator.userAgent.match(/iPad/i))) {\r\n _ui.default.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\nexports.fileSaver = fileSaver;\r\n","/**\r\n * DevExtreme (cjs/exporter/image_creator.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.calcScaledInfo = calcScaledInfo;\r\nexports.getData = getData;\r\nexports.imageCreator = void 0;\r\nexports.testFormats = testFormats;\r\nvar _renderer = _interopRequireDefault(require(\"../core/renderer\"));\r\nvar _color = _interopRequireDefault(require(\"../color\"));\r\nvar _type = require(\"../core/utils/type\");\r\nvar _svg = require(\"../core/utils/svg\");\r\nvar _iterator = require(\"../core/utils/iterator\");\r\nvar _extend = require(\"../core/utils/extend\");\r\nvar _dom_adapter = _interopRequireDefault(require(\"../core/dom_adapter\"));\r\nvar _dom = require(\"../core/utils/dom\");\r\nvar _window = require(\"../core/utils/window\");\r\nvar _inflector = require(\"../core/utils/inflector\");\r\nvar _deferred = require(\"../core/utils/deferred\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar window = (0, _window.getWindow)();\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 = (0, _extend.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.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((function(item) {\r\n return \"\" !== item.trim()\r\n }));\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[(0, _inflector.camelize)(field)] = style[field]\r\n }\r\n }\r\n if (rootAppended && _dom_adapter.default.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[(0, _inflector.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 = (0, _type.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 = (0, _extend.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 = (0, _extend.extend)({}, parentOptions, getElementOptions(element, shared.rootAppended));\r\n if (\"hidden\" === options.visibility || options[_svg.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 if (!isImage) {\r\n promise = fillElement(context, options, shared)\r\n }\r\n strokeElement(context, options)\r\n }\r\n applyGradient(context, options, shared, element, \"linear\");\r\n applyGradient(context, options, shared, element, \"radial\");\r\n context.restore();\r\n return promise\r\n}\r\n\r\nfunction applyGradient(context, options, _ref, element, type) {\r\n var linearGradients = _ref.linearGradients,\r\n radialGradients = _ref.radialGradients;\r\n var gradients = \"linear\" === type ? linearGradients : radialGradients;\r\n if (0 === Object.keys(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 horizontalCenter = box.x + box.width / 2;\r\n var verticalCenter = box.y + box.height / 2;\r\n var maxRadius = Math.max(box.height / 2, box.width / 2);\r\n var gradient = \"linear\" === type ? context.createLinearGradient(box.x, 0, box.x + box.width, 0) : context.createRadialGradient(horizontalCenter, verticalCenter, 0, horizontalCenter, verticalCenter, maxRadius);\r\n gradients[id].colors.forEach((function(opt) {\r\n var offset = parseInt(opt.offset.replace(/%/, \"\"));\r\n gradient.addColorStop(offset / 100, opt.stopColor)\r\n }));\r\n if (\"linear\" === type) {\r\n var _ref2, _gradients$id$transfo;\r\n var angle = null !== (_ref2 = (null === (_gradients$id$transfo = gradients[id].transform) || void 0 === _gradients$id$transfo ? void 0 : _gradients$id$transfo.replace(/\\D/g, \"\")) * Math.PI / 180) && void 0 !== _ref2 ? _ref2 : 0;\r\n context.translate(horizontalCenter, verticalCenter);\r\n context.rotate(angle);\r\n context.translate(-horizontalCenter, -verticalCenter)\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.default(hexColor);\r\n return \"rgba(\" + color.r + \",\" + color.g + \",\" + color.b + \",\" + alpha + \")\"\r\n}\r\n\r\nfunction createGradient(element) {\r\n var _element$attributes$g;\r\n var options = {\r\n colors: [],\r\n transform: null === (_element$attributes$g = element.attributes.gradientTransform) || void 0 === _element$attributes$g ? void 0 : _element$attributes$g.textContent\r\n };\r\n (0, _iterator.each)(element.childNodes, (function(_, _ref3) {\r\n var attributes = _ref3.attributes;\r\n options.colors.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 (0, _iterator.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.Deferred;\r\n var i = 0;\r\n for (; i < array.length; i++) {\r\n var result = callback(array[i]);\r\n if ((0, _type.isPromise)(result)) {\r\n result.then((function() {\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 = (0, _extend.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 = function() {\r\n context.restore()\r\n };\r\n var promise = drawCanvasElements(element.childNodes, context, options, shared);\r\n if ((0, _type.isPromise)(promise)) {\r\n promise.then(onDone)\r\n } else {\r\n onDone()\r\n }\r\n return promise;\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.linearGradients[element.attributes.id.textContent] = createGradient(element);\r\n break;\r\n case \"radialgradient\":\r\n shared.radialGradients[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 = (0, _iterator.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, parentOptions) {\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 var promise = drawCanvasElements(pattern.childNodes, patternContext, options, shared);\r\n var onDone = function() {\r\n context.fillStyle = context.createPattern(patternCanvas, \"repeat\");\r\n context.globalAlpha = parentOptions.fillOpacity;\r\n context.fill();\r\n context.globalAlpha = 1\r\n };\r\n if ((0, _type.isPromise)(promise)) {\r\n promise.then(onDone)\r\n } else {\r\n onDone()\r\n }\r\n return promise\r\n}\r\n\r\nfunction fillElement(context, options, shared) {\r\n var fill = options.fill;\r\n var promise;\r\n if (fill && \"none\" !== fill) {\r\n if (-1 === fill.search(/url/)) {\r\n context.fillStyle = fill;\r\n context.globalAlpha = options.fillOpacity;\r\n context.fill();\r\n context.globalAlpha = 1\r\n } else {\r\n var pattern = shared.patterns[parseUrl(fill)];\r\n if (!pattern) {\r\n return\r\n }\r\n promise = getPattern(context, pattern, shared, options)\r\n }\r\n }\r\n return promise\r\n}\r\nparseAttributes = function(attributes) {\r\n var newAttributes = {};\r\n var attr;\r\n (0, _iterator.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 = _dom_adapter.default.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 linearGradients: {},\r\n radialGradients: {},\r\n rootAppended: rootAppended\r\n })\r\n}\r\n\r\nfunction getCanvasFromSvg(markup, _ref4) {\r\n var width = _ref4.width,\r\n height = _ref4.height,\r\n backgroundColor = _ref4.backgroundColor,\r\n margin = _ref4.margin,\r\n _ref4$svgToCanvas = _ref4.svgToCanvas,\r\n svgToCanvas = void 0 === _ref4$svgToCanvas ? convertSvgToCanvas : _ref4$svgToCanvas;\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 = (0, _svg.getSvgElement)(markup);\r\n var invisibleDiv;\r\n var markupIsDomElement = _dom_adapter.default.isElementNode(markup);\r\n context.translate(margin, margin);\r\n _dom_adapter.default.getBody().appendChild(canvas);\r\n if (!markupIsDomElement) {\r\n invisibleDiv = createInvisibleDiv();\r\n invisibleDiv.appendChild(svgElem);\r\n _dom_adapter.default.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 (0, _deferred.fromPromise)(svgToCanvas(svgElem, canvas, markupIsDomElement && (0, _dom.contains)(_dom_adapter.default.getBody(), markup))).then((function() {\r\n return canvas\r\n })).always((function() {\r\n invisibleDiv && _dom_adapter.default.getBody().removeChild(invisibleDiv);\r\n _dom_adapter.default.getBody().removeChild(canvas)\r\n }))\r\n}\r\nvar imageCreator = {\r\n getImageData: function(markup, options) {\r\n var mimeType = \"image/\" + options.format;\r\n if ((0, _type.isFunction)(options.__parseAttributesFn)) {\r\n parseAttributes = options.__parseAttributesFn\r\n }\r\n return getCanvasFromSvg(markup, options).then((function(canvas) {\r\n return getStringFromCanvas(canvas, mimeType)\r\n }))\r\n },\r\n getData: function(markup, options) {\r\n var that = this;\r\n return imageCreator.getImageData(markup, options).then((function(binaryData) {\r\n var mimeType = \"image/\" + options.format;\r\n var data = (0, _type.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: function(width, height, margin) {\r\n var canvas = (0, _renderer.default)(\"\")[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\nexports.imageCreator = imageCreator;\r\n\r\nfunction getData(data, options) {\r\n return imageCreator.getData(data, options)\r\n}\r\n\r\nfunction 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\n\r\nfunction 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 (cjs/exporter/jspdf/autotable/export.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.Export = void 0;\r\nvar _type = require(\"../../../core/utils/type\");\r\nvar _extend = require(\"../../../core/utils/extend\");\r\nvar _date = _interopRequireDefault(require(\"../../../localization/date\"));\r\nvar _number = _interopRequireDefault(require(\"../../../localization/number\"));\r\nvar _message = _interopRequireDefault(require(\"../../../localization/message\"));\r\nvar _export_load_panel = require(\"../../common/export_load_panel\");\r\nvar _window = require(\"../../../core/utils/window\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar Export = {\r\n getFullOptions: function(options) {\r\n var fullOptions = (0, _extend.extend)({}, options);\r\n if (!((0, _type.isDefined)(fullOptions.jsPDFDocument) && (0, _type.isObject)(fullOptions.jsPDFDocument))) {\r\n throw Error('The \"jsPDFDocument\" field must contain a jsPDF instance.')\r\n }\r\n if (!((0, _type.isDefined)(fullOptions.jsPDFDocument.autoTable) && (0, _type.isFunction)(fullOptions.jsPDFDocument.autoTable))) {\r\n throw Error('The \"exportDataGrid\" method requires a autoTable plugin for jsPDF object.')\r\n }\r\n if (!(0, _type.isDefined)(fullOptions.keepColumnWidths)) {\r\n fullOptions.keepColumnWidths = true\r\n }\r\n if (!(0, _type.isDefined)(fullOptions.autoTableOptions)) {\r\n fullOptions.autoTableOptions = this._getDefaultAutoTableOptions()\r\n } else {\r\n if (!(0, _type.isObject)(fullOptions.autoTableOptions)) {\r\n throw Error('The \"autoTableOptions\" option must be of object type.')\r\n }\r\n fullOptions.autoTableOptions = (0, _extend.extend)(true, {}, this._getDefaultAutoTableOptions(), fullOptions.autoTableOptions)\r\n }\r\n if (!(0, _type.isDefined)(fullOptions.loadPanel)) {\r\n fullOptions.loadPanel = {}\r\n }\r\n if (!(0, _type.isDefined)(fullOptions.loadPanel.enabled)) {\r\n fullOptions.loadPanel.enabled = true\r\n }\r\n if (!(0, _type.isDefined)(fullOptions.loadPanel.text)) {\r\n fullOptions.loadPanel.text = _message.default.format(\"dxDataGrid-exporting\")\r\n }\r\n return fullOptions\r\n },\r\n _getDefaultAutoTableOptions: function() {\r\n return {\r\n theme: \"plain\",\r\n tableLineColor: 149,\r\n tableLineWidth: .1,\r\n styles: {\r\n textColor: 51,\r\n lineColor: 149,\r\n lineWidth: 0\r\n },\r\n columnStyles: {},\r\n headStyles: {\r\n fontStyle: \"normal\",\r\n textColor: 149,\r\n lineWidth: .1\r\n },\r\n bodyStyles: {\r\n lineWidth: .1\r\n },\r\n head: [],\r\n body: []\r\n }\r\n },\r\n export: function(options) {\r\n var _component$_getIntern, _this = this;\r\n var jsPDFDocument = options.jsPDFDocument,\r\n autoTableOptions = options.autoTableOptions,\r\n component = options.component,\r\n customizeCell = options.customizeCell,\r\n keepColumnWidths = options.keepColumnWidths,\r\n selectedRowsOnly = options.selectedRowsOnly,\r\n loadPanel = options.loadPanel;\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 && (0, _window.hasWindow)()) {\r\n var rowsView = component.getView(\"rowsView\");\r\n exportLoadPanel = new _export_load_panel.ExportLoadPanel(component, rowsView.element(), rowsView.element().parent(), loadPanel);\r\n exportLoadPanel.show()\r\n }\r\n var dataProvider = component.getDataProvider(selectedRowsOnly);\r\n var wrapText = !!component.option(\"wordWrapEnabled\");\r\n return new Promise((function(resolve) {\r\n dataProvider.ready().done((function() {\r\n var columns = dataProvider.getColumns();\r\n var styles = dataProvider.getStyles();\r\n var dataRowsCount = dataProvider.getRowsCount();\r\n var headerRowCount = dataProvider.getHeaderRowCount();\r\n var mergedCells = [];\r\n if (keepColumnWidths) {\r\n var pdfColumnWidths = _this._tryGetPdfColumnWidths(autoTableOptions.tableWidth, dataProvider.getColumnsWidths());\r\n if ((0, _type.isDefined)(pdfColumnWidths) && (0, _type.isDefined)(autoTableOptions.columnStyles)) {\r\n _this._setColumnWidths(autoTableOptions.columnStyles, pdfColumnWidths)\r\n }\r\n }\r\n for (var rowIndex = 0; rowIndex < dataRowsCount; rowIndex++) {\r\n var row = [];\r\n for (var cellIndex = 0; cellIndex < columns.length; cellIndex++) {\r\n var _dataProvider$getCell = dataProvider.getCellData(rowIndex, cellIndex, true),\r\n value = _dataProvider$getCell.value,\r\n gridCell = _dataProvider$getCell.cellSourceData;\r\n var cellStyle = styles[dataProvider.getStyleId(rowIndex, cellIndex)];\r\n var pdfCell = {\r\n content: _this._getFormattedValue(value, cellStyle.format),\r\n styles: _this._getPDFCellStyles(gridCell.rowType, columns[cellIndex].alignment, cellStyle, wrapText)\r\n };\r\n if (\"header\" === gridCell.rowType) {\r\n var mergedRange = _this._tryGetMergeRange(rowIndex, cellIndex, mergedCells, dataProvider);\r\n if (mergedRange && mergedRange.rowSpan > 0) {\r\n pdfCell.rowSpan = mergedRange.rowSpan + 1\r\n }\r\n if (mergedRange && mergedRange.colSpan > 0) {\r\n pdfCell.colSpan = mergedRange.colSpan + 1\r\n }\r\n var isMergedCell = mergedCells[rowIndex] && mergedCells[rowIndex][cellIndex];\r\n if (!isMergedCell || pdfCell.rowSpan > 1 || pdfCell.colSpan > 1) {\r\n if ((0, _type.isFunction)(customizeCell)) {\r\n customizeCell({\r\n gridCell: gridCell,\r\n pdfCell: pdfCell\r\n })\r\n }\r\n row.push(pdfCell)\r\n }\r\n } else if (\"group\" === gridCell.rowType && !(0, _type.isDefined)(pdfCell.content) && 1 === row.length) {\r\n var _row$0$colSpan;\r\n row[0].colSpan = null !== (_row$0$colSpan = row[0].colSpan) && void 0 !== _row$0$colSpan ? _row$0$colSpan : 1;\r\n row[0].colSpan++\r\n } else {\r\n var _pdfCell$content;\r\n pdfCell.content = null !== (_pdfCell$content = pdfCell.content) && void 0 !== _pdfCell$content ? _pdfCell$content : \"\";\r\n if ((0, _type.isFunction)(customizeCell)) {\r\n customizeCell({\r\n gridCell: gridCell,\r\n pdfCell: pdfCell\r\n })\r\n }\r\n row.push(pdfCell)\r\n }\r\n }\r\n if (rowIndex < headerRowCount) {\r\n autoTableOptions.head.push(row)\r\n } else {\r\n autoTableOptions.body.push(row)\r\n }\r\n }\r\n jsPDFDocument.autoTable(autoTableOptions);\r\n resolve()\r\n })).always((function() {\r\n if (initialLoadPanelEnabledOption) {\r\n component.option(\"loadPanel.enabled\", initialLoadPanelEnabledOption)\r\n }\r\n if (loadPanel.enabled && (0, _window.hasWindow)()) {\r\n exportLoadPanel.dispose()\r\n }\r\n }))\r\n }))\r\n },\r\n _getFormattedValue: function(value, format) {\r\n if ((0, _type.isDefined)(format)) {\r\n if ((0, _type.isDate)(value)) {\r\n return _date.default.format(value, format)\r\n }\r\n if ((0, _type.isNumeric)(value)) {\r\n return _number.default.format(value, format)\r\n }\r\n }\r\n return value\r\n },\r\n _getPDFCellStyles: function(rowType, columnAlignment, cellStyle, wrapText) {\r\n var cellAlignment = cellStyle.alignment,\r\n bold = cellStyle.bold;\r\n var align = \"header\" === rowType ? columnAlignment : cellAlignment;\r\n var pdfCellStyle = {};\r\n if (align) {\r\n pdfCellStyle.halign = align\r\n }\r\n if (bold && \"header\" !== rowType) {\r\n pdfCellStyle.fontStyle = \"bold\"\r\n }\r\n if (wrapText) {\r\n pdfCellStyle.cellWidth = \"wrap\"\r\n }\r\n return pdfCellStyle\r\n },\r\n _tryGetMergeRange: function(rowIndex, cellIndex, mergedCells, dataProvider) {\r\n if (!mergedCells[rowIndex] || !mergedCells[rowIndex][cellIndex]) {\r\n var _dataProvider$getCell2 = dataProvider.getCellMerging(rowIndex, cellIndex),\r\n colspan = _dataProvider$getCell2.colspan,\r\n rowspan = _dataProvider$getCell2.rowspan;\r\n if (colspan || rowspan) {\r\n for (var i = rowIndex; i <= rowIndex + rowspan || 0; i++) {\r\n for (var j = cellIndex; j <= cellIndex + colspan || 0; j++) {\r\n if (!mergedCells[i]) {\r\n mergedCells[i] = []\r\n }\r\n mergedCells[i][j] = true\r\n }\r\n }\r\n return {\r\n rowSpan: rowspan,\r\n colSpan: colspan\r\n }\r\n }\r\n }\r\n },\r\n _tryGetPdfColumnWidths: function(autoTableWidth, columnWidths) {\r\n if ((0, _type.isNumeric)(autoTableWidth) && (0, _type.isDefined)(columnWidths)) {\r\n var tableWidth = columnWidths.reduce((function(a, b) {\r\n return a + b\r\n }), 0);\r\n return columnWidths.map((function(columnWidth) {\r\n return autoTableWidth * columnWidth / tableWidth\r\n }))\r\n }\r\n },\r\n _setColumnWidths: function(autoTableColumnStyles, pdfColumnWidths) {\r\n pdfColumnWidths.forEach((function(width, index) {\r\n autoTableColumnStyles[index] = autoTableColumnStyles[index] || {};\r\n autoTableColumnStyles[index].cellWidth = width\r\n }))\r\n }\r\n};\r\nexports.Export = Export;\r\n","/**\r\n * DevExtreme (cjs/exporter/jspdf/autotable/export_data_grid.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.exportDataGrid = exportDataGrid;\r\nvar _type = require(\"../../../core/utils/type\");\r\nvar _export = require(\"./export\");\r\n\r\nfunction _getFullOptions(options) {\r\n if (!((0, _type.isDefined)(options) && (0, _type.isObject)(options))) {\r\n throw Error('The \"exportDataGrid\" method requires a configuration object.')\r\n }\r\n if (!((0, _type.isDefined)(options.component) && (0, _type.isObject)(options.component) && \"dxDataGrid\" === options.component.NAME)) {\r\n throw Error('The \"component\" field must contain a DataGrid instance.')\r\n }\r\n if (!(0, _type.isDefined)(options.selectedRowsOnly)) {\r\n options.selectedRowsOnly = false\r\n }\r\n return _export.Export.getFullOptions(options)\r\n}\r\n\r\nfunction exportDataGrid(options) {\r\n return _export.Export.export(_getFullOptions(options))\r\n}\r\n","/**\r\n * DevExtreme (cjs/exporter/jspdf/common/draw_utils.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.addNewPage = addNewPage;\r\nexports.drawCellsContent = drawCellsContent;\r\nexports.drawCellsLines = drawCellsLines;\r\nexports.drawGridLines = drawGridLines;\r\nexports.drawLine = drawLine;\r\nexports.drawRect = drawRect;\r\nexports.drawTextInRect = drawTextInRect;\r\nexports.getDocumentStyles = getDocumentStyles;\r\nexports.roundToThreeDecimals = roundToThreeDecimals;\r\nexports.setDocumentStyles = setDocumentStyles;\r\nvar _type = require(\"../../../core/utils/type\");\r\nvar _extend = require(\"../../../core/utils/extend\");\r\nvar _pdf_utils = require(\"./pdf_utils\");\r\nvar _excluded = [\"_rect\", \"gridCell\"];\r\n\r\nfunction _objectWithoutProperties(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = _objectWithoutPropertiesLoose(source, excluded);\r\n var key, i;\r\n if (Object.getOwnPropertySymbols) {\r\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\r\n for (i = 0; i < sourceSymbolKeys.length; i++) {\r\n key = sourceSymbolKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n }\r\n return target\r\n}\r\n\r\nfunction _objectWithoutPropertiesLoose(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = {};\r\n var sourceKeys = Object.keys(source);\r\n var key, i;\r\n for (i = 0; i < sourceKeys.length; i++) {\r\n key = sourceKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n return target\r\n}\r\n\r\nfunction capitalizeFirstLetter(string) {\r\n return string.charAt(0).toUpperCase() + string.slice(1)\r\n}\r\n\r\nfunction roundToThreeDecimals(value) {\r\n return Math.round(1e3 * value) / 1e3\r\n}\r\n\r\nfunction drawCellsContent(doc, customDrawCell, cellsArray, docStyles) {\r\n cellsArray.forEach((function(cell) {\r\n var _rect = cell._rect,\r\n gridCell = cell.gridCell,\r\n pdfCell = _objectWithoutProperties(cell, _excluded);\r\n var x = _rect.x,\r\n y = _rect.y,\r\n w = _rect.w,\r\n h = _rect.h;\r\n var rect = {\r\n x: x,\r\n y: y,\r\n w: w,\r\n h: h\r\n };\r\n var eventArg = {\r\n doc: doc,\r\n rect: rect,\r\n pdfCell: pdfCell,\r\n gridCell: gridCell,\r\n cancel: false\r\n };\r\n null === customDrawCell || void 0 === customDrawCell ? void 0 : customDrawCell(eventArg);\r\n if (!eventArg.cancel) {\r\n drawCellBackground(doc, cell);\r\n drawCellText(doc, cell, docStyles)\r\n }\r\n }))\r\n}\r\n\r\nfunction drawLine(doc, startX, startY, endX, endY) {\r\n doc.line(roundToThreeDecimals(startX), roundToThreeDecimals(startY), roundToThreeDecimals(endX), roundToThreeDecimals(endY))\r\n}\r\n\r\nfunction drawRect(doc, x, y, width, height, style) {\r\n if ((0, _type.isDefined)(style)) {\r\n doc.rect(roundToThreeDecimals(x), roundToThreeDecimals(y), roundToThreeDecimals(width), roundToThreeDecimals(height), style)\r\n } else {\r\n doc.rect(roundToThreeDecimals(x), roundToThreeDecimals(y), roundToThreeDecimals(width), roundToThreeDecimals(height))\r\n }\r\n}\r\n\r\nfunction getLineHeightShift(doc) {\r\n return (doc.getLineHeightFactor() - 1.15) * doc.getFontSize()\r\n}\r\n\r\nfunction drawTextInRect(doc, text, rect, verticalAlign, horizontalAlign, jsPDFTextOptions) {\r\n var textArray = text.split(\"\\n\");\r\n var linesCount = textArray.length;\r\n var heightOfOneLine = (0, _pdf_utils.calculateTextHeight)(doc, textArray[0], doc.getFont(), {\r\n wordWrapEnabled: false,\r\n targetRectWidth: 1e9\r\n });\r\n var vAlign = null !== verticalAlign && void 0 !== verticalAlign ? verticalAlign : \"middle\";\r\n var hAlign = null !== horizontalAlign && void 0 !== horizontalAlign ? horizontalAlign : \"left\";\r\n var verticalAlignCoefficientsMap = {\r\n top: 0,\r\n middle: .5,\r\n bottom: 1\r\n };\r\n var y = rect.y + rect.h * verticalAlignCoefficientsMap[vAlign] - heightOfOneLine * (linesCount - 1) * verticalAlignCoefficientsMap[vAlign] + getLineHeightShift(doc);\r\n var x = rect.x + rect.w * {\r\n left: 0,\r\n center: .5,\r\n right: 1\r\n } [hAlign];\r\n var textOptions = (0, _extend.extend)({\r\n baseline: vAlign,\r\n align: hAlign\r\n }, jsPDFTextOptions);\r\n doc.text(textArray.join(\"\\n\"), roundToThreeDecimals(x), roundToThreeDecimals(y), textOptions)\r\n}\r\n\r\nfunction drawCellBackground(doc, cell) {\r\n if ((0, _type.isDefined)(cell.backgroundColor)) {\r\n trySetColor(doc, \"fill\", cell.backgroundColor);\r\n drawRect(doc, cell._rect.x, cell._rect.y, cell._rect.w, cell._rect.h, \"F\")\r\n }\r\n}\r\n\r\nfunction drawCellText(doc, cell, docStyles) {\r\n if ((0, _type.isDefined)(cell.text) && \"\" !== cell.text) {\r\n var textColor = cell.textColor,\r\n font = cell.font,\r\n _rect = cell._rect,\r\n padding = cell.padding;\r\n setTextStyles(doc, {\r\n textColor: textColor,\r\n font: font\r\n }, docStyles);\r\n var textRect = {\r\n x: _rect.x + padding.left,\r\n y: _rect.y + padding.top,\r\n w: _rect.w - (padding.left + padding.right),\r\n h: _rect.h - (padding.top + padding.bottom)\r\n };\r\n if ((0, _type.isDefined)(cell._textLeftOffset) || (0, _type.isDefined)(cell._textTopOffset)) {\r\n var _cell$_textLeftOffset, _cell$_textTopOffset;\r\n textRect.x = textRect.x + (null !== (_cell$_textLeftOffset = cell._textLeftOffset) && void 0 !== _cell$_textLeftOffset ? _cell$_textLeftOffset : 0);\r\n textRect.y = textRect.y + (null !== (_cell$_textTopOffset = cell._textTopOffset) && void 0 !== _cell$_textTopOffset ? _cell$_textTopOffset : 0);\r\n doc.saveGraphicsState();\r\n clipOutsideRectContent(doc, cell._rect.x, cell._rect.y, cell._rect.w, cell._rect.h)\r\n }\r\n drawTextInRect(doc, cell.text, textRect, cell.verticalAlign, cell.horizontalAlign, cell._internalTextOptions);\r\n if ((0, _type.isDefined)(cell._textLeftOffset) || (0, _type.isDefined)(cell._textTopOffset)) {\r\n doc.restoreGraphicsState()\r\n }\r\n }\r\n}\r\n\r\nfunction drawCellsLines(doc, cellsArray, docStyles) {\r\n cellsArray.filter((function(cell) {\r\n return !(0, _type.isDefined)(cell.borderColor)\r\n })).forEach((function(cell) {\r\n drawBorders(doc, cell._rect, cell, docStyles)\r\n }));\r\n cellsArray.filter((function(cell) {\r\n return (0, _type.isDefined)(cell.borderColor)\r\n })).forEach((function(cell) {\r\n drawBorders(doc, cell._rect, cell, docStyles)\r\n }))\r\n}\r\n\r\nfunction drawGridLines(doc, rect, options, docStyles) {\r\n drawBorders(doc, rect, options, docStyles)\r\n}\r\n\r\nfunction drawBorders(doc, rect, _ref, docStyles) {\r\n var borderWidth = _ref.borderWidth,\r\n borderColor = _ref.borderColor,\r\n _ref$drawLeftBorder = _ref.drawLeftBorder,\r\n drawLeftBorder = void 0 === _ref$drawLeftBorder ? true : _ref$drawLeftBorder,\r\n _ref$drawRightBorder = _ref.drawRightBorder,\r\n drawRightBorder = void 0 === _ref$drawRightBorder ? true : _ref$drawRightBorder,\r\n _ref$drawTopBorder = _ref.drawTopBorder,\r\n drawTopBorder = void 0 === _ref$drawTopBorder ? true : _ref$drawTopBorder,\r\n _ref$drawBottomBorder = _ref.drawBottomBorder,\r\n drawBottomBorder = void 0 === _ref$drawBottomBorder ? true : _ref$drawBottomBorder;\r\n if (!(0, _type.isDefined)(rect)) {\r\n throw \"rect is required\"\r\n }\r\n if (!drawLeftBorder && !drawRightBorder && !drawTopBorder && !drawBottomBorder) {\r\n return\r\n } else if (drawLeftBorder && drawRightBorder && drawTopBorder && drawBottomBorder) {\r\n setLinesStyles(doc, {\r\n borderWidth: borderWidth,\r\n borderColor: borderColor\r\n }, docStyles);\r\n drawRect(doc, rect.x, rect.y, rect.w, rect.h)\r\n } else {\r\n setLinesStyles(doc, {\r\n borderWidth: borderWidth,\r\n borderColor: borderColor\r\n }, docStyles);\r\n if (drawTopBorder) {\r\n drawLine(doc, rect.x, rect.y, rect.x + rect.w, rect.y)\r\n }\r\n if (drawLeftBorder) {\r\n drawLine(doc, rect.x, rect.y, rect.x, rect.y + rect.h)\r\n }\r\n if (drawRightBorder) {\r\n drawLine(doc, rect.x + rect.w, rect.y, rect.x + rect.w, rect.y + rect.h)\r\n }\r\n if (drawBottomBorder) {\r\n drawLine(doc, rect.x, rect.y + rect.h, rect.x + rect.w, rect.y + rect.h)\r\n }\r\n }\r\n}\r\n\r\nfunction setTextStyles(doc, _ref2, docStyles) {\r\n var textColor = _ref2.textColor,\r\n font = _ref2.font;\r\n trySetColor(doc, \"text\", (0, _type.isDefined)(textColor) ? textColor : docStyles.textColor);\r\n var currentFont = (0, _type.isDefined)(font) ? (0, _extend.extend)({}, docStyles.font, font) : docStyles.font;\r\n var docFont = doc.getFont();\r\n if (currentFont.name !== docFont.fontName || currentFont.style !== docFont.fontStyle || (0, _type.isDefined)(currentFont.weight)) {\r\n doc.setFont(currentFont.name, currentFont.style, currentFont.weight)\r\n }\r\n if (currentFont.size !== doc.getFontSize()) {\r\n doc.setFontSize(currentFont.size)\r\n }\r\n}\r\n\r\nfunction setLinesStyles(doc, _ref3, docStyles) {\r\n var borderWidth = _ref3.borderWidth,\r\n borderColor = _ref3.borderColor;\r\n var currentBorderWidth = (0, _type.isDefined)(borderWidth) ? borderWidth : docStyles.borderWidth;\r\n if (currentBorderWidth !== getDocBorderWidth(doc)) {\r\n setDocBorderWidth(doc, (0, _pdf_utils.toPdfUnit)(doc, currentBorderWidth))\r\n }\r\n trySetColor(doc, \"draw\", (0, _type.isDefined)(borderColor) ? borderColor : docStyles.borderColor)\r\n}\r\n\r\nfunction trySetColor(doc, target, color) {\r\n var getterName = \"get\".concat(capitalizeFirstLetter(target), \"Color\");\r\n var setterName = \"set\".concat(capitalizeFirstLetter(target), \"Color\");\r\n var _color$ch = color.ch1,\r\n ch1 = void 0 === _color$ch ? color : _color$ch,\r\n ch2 = color.ch2,\r\n ch3 = color.ch3,\r\n ch4 = color.ch4;\r\n var normalizedColor = doc.__private__.decodeColorString(doc.__private__.encodeColorString({\r\n ch1: ch1,\r\n ch2: ch2,\r\n ch3: ch3,\r\n ch4: ch4,\r\n precision: \"text\" === target ? 3 : 2\r\n }));\r\n if (normalizedColor !== doc[getterName]() || \"fill\" === target) {\r\n doc[setterName].apply(doc, [ch1, ch2, ch3, ch4].filter((function(item) {\r\n return void 0 !== item\r\n })))\r\n }\r\n}\r\n\r\nfunction getDocumentStyles(doc) {\r\n var docFont = doc.getFont();\r\n return {\r\n borderWidth: getDocBorderWidth(doc),\r\n borderColor: doc.getDrawColor(),\r\n font: {\r\n name: docFont.fontName,\r\n style: docFont.fontStyle,\r\n size: doc.getFontSize()\r\n },\r\n textColor: doc.getTextColor()\r\n }\r\n}\r\n\r\nfunction setDocumentStyles(doc, styles) {\r\n var borderWidth = styles.borderWidth,\r\n borderColor = styles.borderColor,\r\n font = styles.font,\r\n textColor = styles.textColor;\r\n var docFont = doc.getFont();\r\n if (docFont.fontName !== font.name || docFont.fontStyle !== font.style) {\r\n doc.setFont(font.name, font.style, void 0)\r\n }\r\n var docFontSize = doc.getFontSize();\r\n if (docFontSize !== font.size) {\r\n doc.setFontSize(font.size)\r\n }\r\n if (getDocBorderWidth(doc) !== borderWidth) {\r\n setDocBorderWidth(doc, borderWidth)\r\n }\r\n if (doc.getDrawColor() !== borderColor) {\r\n doc.setDrawColor(borderColor)\r\n }\r\n if (doc.getTextColor() !== textColor) {\r\n doc.setTextColor(textColor)\r\n }\r\n}\r\n\r\nfunction addNewPage(doc) {\r\n doc.addPage();\r\n resetDocBorderWidth(doc)\r\n}\r\n\r\nfunction getDocBorderWidth(doc) {\r\n var _doc$__borderWidth;\r\n if ((0, _type.isDefined)(doc.getLineWidth)) {\r\n return doc.getLineWidth()\r\n }\r\n return null !== (_doc$__borderWidth = doc.__borderWidth) && void 0 !== _doc$__borderWidth ? _doc$__borderWidth : .200025\r\n}\r\n\r\nfunction setDocBorderWidth(doc, width) {\r\n doc.setLineWidth(width);\r\n if (!(0, _type.isDefined)(doc.getLineWidth)) {\r\n doc.__borderWidth = width\r\n }\r\n}\r\n\r\nfunction resetDocBorderWidth(doc) {\r\n if (!(0, _type.isDefined)(doc.getLineWidth)) {\r\n doc.__borderWidth = null\r\n }\r\n}\r\n\r\nfunction clipOutsideRectContent(doc, x, y, w, h) {\r\n doc.moveTo(roundToThreeDecimals(x), roundToThreeDecimals(y));\r\n doc.lineTo(roundToThreeDecimals(x + w), roundToThreeDecimals(y));\r\n doc.lineTo(roundToThreeDecimals(x + w), roundToThreeDecimals(y + h));\r\n doc.lineTo(roundToThreeDecimals(x), roundToThreeDecimals(y + h));\r\n doc.clip();\r\n doc.discardPath()\r\n}\r\n","/**\r\n * DevExtreme (cjs/exporter/jspdf/common/export.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.Export = void 0;\r\nvar _type = require(\"../../../core/utils/type\");\r\nvar _extend = require(\"../../../core/utils/extend\");\r\nvar _normalizeOptions = require(\"./normalizeOptions\");\r\nvar _row_utils = require(\"./row_utils\");\r\nvar _height_updater = require(\"./height_updater\");\r\nvar _rows_generator = require(\"./rows_generator\");\r\nvar _rows_splitting = require(\"./rows_splitting\");\r\nvar _draw_utils = require(\"./draw_utils\");\r\nvar _pdf_utils = require(\"./pdf_utils\");\r\nvar _message = _interopRequireDefault(require(\"../../../localization/message\"));\r\nvar _export_load_panel = require(\"../../common/export_load_panel\");\r\nvar _window = require(\"../../../core/utils/window\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\n\r\nfunction _getFullOptions(options) {\r\n var jsPDFDocument = options.jsPDFDocument;\r\n var fullOptions = (0, _extend.extend)({}, options);\r\n if (!(0, _type.isDefined)(fullOptions.topLeft)) {\r\n fullOptions.topLeft = {\r\n x: 0,\r\n y: 0\r\n }\r\n }\r\n if (!(0, _type.isDefined)(fullOptions.indent)) {\r\n fullOptions.indent = 0\r\n }\r\n if (!(0, _type.isDefined)(fullOptions.repeatHeaders)) {\r\n fullOptions.repeatHeaders = true\r\n }\r\n if (!(0, _type.isDefined)(fullOptions.margin)) {\r\n fullOptions.margin = (0, _pdf_utils.toPdfUnit)(jsPDFDocument, 40)\r\n }\r\n fullOptions.margin = (0, _normalizeOptions.normalizeBoundaryValue)(fullOptions.margin);\r\n if (!Array.isArray(fullOptions.columnWidths)) {\r\n fullOptions.columnWidths = []\r\n }\r\n if (!(0, _type.isDefined)(fullOptions.loadPanel)) {\r\n fullOptions.loadPanel = {}\r\n }\r\n if (!(0, _type.isDefined)(fullOptions.loadPanel.enabled)) {\r\n fullOptions.loadPanel.enabled = true\r\n }\r\n if (!(0, _type.isDefined)(fullOptions.loadPanel.text)) {\r\n fullOptions.loadPanel.text = _message.default.format(\"dxDataGrid-exporting\")\r\n }\r\n return fullOptions\r\n}\r\n\r\nfunction exportDataGrid(options) {\r\n var _component$_getIntern;\r\n var jsPDFDocument = options.jsPDFDocument,\r\n component = options.component,\r\n selectedRowsOnly = options.selectedRowsOnly,\r\n loadPanel = options.loadPanel;\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 && (0, _window.hasWindow)()) {\r\n var rowsView = component.getView(\"rowsView\");\r\n exportLoadPanel = new _export_load_panel.ExportLoadPanel(component, rowsView.element(), rowsView.element().parent(), loadPanel);\r\n exportLoadPanel.show()\r\n }\r\n var dataProvider = component.getDataProvider(selectedRowsOnly);\r\n return new Promise((function(resolve) {\r\n dataProvider.ready().done((function() {\r\n var _options$rowOptions, _options$rowOptions$h;\r\n var rowsInfo = (0, _rows_generator.generateRowsInfo)(jsPDFDocument, dataProvider, component, null === (_options$rowOptions = options.rowOptions) || void 0 === _options$rowOptions ? void 0 : null === (_options$rowOptions$h = _options$rowOptions.headerStyles) || void 0 === _options$rowOptions$h ? void 0 : _options$rowOptions$h.backgroundColor);\r\n if (options.customizeCell) {\r\n rowsInfo.forEach((function(rowInfo) {\r\n return rowInfo.cells.forEach((function(cellInfo) {\r\n return options.customizeCell(cellInfo)\r\n }))\r\n }))\r\n }(0, _normalizeOptions.normalizeRowsInfo)(rowsInfo);\r\n (0, _row_utils.initializeCellsWidth)(jsPDFDocument, dataProvider, rowsInfo, options);\r\n (0, _row_utils.resizeFirstColumnByIndentLevel)(rowsInfo, options);\r\n (0, _row_utils.applyColSpans)(rowsInfo);\r\n (0, _row_utils.calculateHeights)(jsPDFDocument, rowsInfo, options);\r\n (0, _row_utils.applyRowSpans)(rowsInfo);\r\n (0, _height_updater.updateRowsAndCellsHeights)(jsPDFDocument, rowsInfo);\r\n (0, _row_utils.calculateCoordinates)(jsPDFDocument, rowsInfo, options);\r\n (0, _row_utils.applyBordersConfig)(rowsInfo);\r\n (0, _pdf_utils.applyWordWrap)(jsPDFDocument, rowsInfo);\r\n var docStyles = (0, _draw_utils.getDocumentStyles)(jsPDFDocument);\r\n var rtlEnabled = !!component.option(\"rtlEnabled\");\r\n var rectsByPages = (0, _rows_splitting.splitByPages)(jsPDFDocument, rowsInfo, options, (function(_ref) {\r\n var _sourceRect$sourceCel;\r\n var sourceRect = _ref.sourceRect,\r\n leftRect = _ref.leftRect,\r\n rightRect = _ref.rightRect;\r\n var leftRectTextOptions = {};\r\n var rightRectTextOptions = {};\r\n var isTextNotEmpty = (null === (_sourceRect$sourceCel = sourceRect.sourceCellInfo.text) || void 0 === _sourceRect$sourceCel ? void 0 : _sourceRect$sourceCel.length) > 0;\r\n if (isTextNotEmpty) {\r\n if (rtlEnabled) {\r\n var isTextWidthGreaterThanRect = jsPDFDocument.getTextWidth(sourceRect.sourceCellInfo.text) > leftRect.w;\r\n var isTextRightAlignment = !(0, _type.isDefined)(sourceRect.sourceCellInfo.horizontalAlign) || \"right\" === sourceRect.sourceCellInfo.horizontalAlign;\r\n if (isTextWidthGreaterThanRect || !isTextRightAlignment) {\r\n var _sourceRect$sourceCel2, _sourceRect$sourceCel4, _sourceRect$sourceCel5;\r\n var rightRectTextOffset;\r\n var leftRectTextOffset;\r\n if (\"right\" === (null === (_sourceRect$sourceCel2 = sourceRect.sourceCellInfo) || void 0 === _sourceRect$sourceCel2 ? void 0 : _sourceRect$sourceCel2.horizontalAlign)) {\r\n var _sourceRect$sourceCel3;\r\n rightRectTextOffset = null !== (_sourceRect$sourceCel3 = sourceRect.sourceCellInfo._textLeftOffset) && void 0 !== _sourceRect$sourceCel3 ? _sourceRect$sourceCel3 : 0;\r\n leftRectTextOffset = rightRectTextOffset + leftRect.w\r\n } else if (\"center\" === (null === (_sourceRect$sourceCel4 = sourceRect.sourceCellInfo) || void 0 === _sourceRect$sourceCel4 ? void 0 : _sourceRect$sourceCel4.horizontalAlign)) {\r\n leftRectTextOffset = sourceRect.x + sourceRect.w - (rightRect.x + rightRect.w) + sourceRect.sourceCellInfo._rect.w / 2 - leftRect.w / 2;\r\n rightRectTextOffset = leftRectTextOffset - rightRect.w\r\n } else if (\"left\" === (null === (_sourceRect$sourceCel5 = sourceRect.sourceCellInfo) || void 0 === _sourceRect$sourceCel5 ? void 0 : _sourceRect$sourceCel5.horizontalAlign)) {\r\n leftRectTextOffset = sourceRect.x + sourceRect.w - (rightRect.x + rightRect.w);\r\n rightRectTextOffset = leftRectTextOffset - rightRect.w\r\n }\r\n leftRectTextOptions = _extends({}, {\r\n _textLeftOffset: rightRectTextOffset\r\n });\r\n rightRectTextOptions = _extends({}, {\r\n _textLeftOffset: leftRectTextOffset\r\n })\r\n } else {\r\n rightRectTextOptions = _extends({}, {\r\n text: \"\"\r\n })\r\n }\r\n } else {\r\n var _isTextWidthGreaterThanRect = jsPDFDocument.getTextWidth(sourceRect.sourceCellInfo.text) > leftRect.w;\r\n var isTextLeftAlignment = !(0, _type.isDefined)(sourceRect.sourceCellInfo.horizontalAlign) || \"left\" === sourceRect.sourceCellInfo.horizontalAlign;\r\n if (_isTextWidthGreaterThanRect || !isTextLeftAlignment) {\r\n var _sourceRect$sourceCel6, _sourceRect$sourceCel8, _sourceRect$sourceCel10;\r\n var leftTextLeftOffset;\r\n var rightTextLeftOffset;\r\n if (\"left\" === (null === (_sourceRect$sourceCel6 = sourceRect.sourceCellInfo) || void 0 === _sourceRect$sourceCel6 ? void 0 : _sourceRect$sourceCel6.horizontalAlign)) {\r\n var _sourceRect$sourceCel7;\r\n leftTextLeftOffset = null !== (_sourceRect$sourceCel7 = sourceRect.sourceCellInfo._textLeftOffset) && void 0 !== _sourceRect$sourceCel7 ? _sourceRect$sourceCel7 : 0;\r\n rightTextLeftOffset = leftTextLeftOffset - leftRect.w\r\n } else if (\"center\" === (null === (_sourceRect$sourceCel8 = sourceRect.sourceCellInfo) || void 0 === _sourceRect$sourceCel8 ? void 0 : _sourceRect$sourceCel8.horizontalAlign)) {\r\n var _sourceRect$sourceCel9;\r\n var offset = null !== (_sourceRect$sourceCel9 = sourceRect.sourceCellInfo._textLeftOffset) && void 0 !== _sourceRect$sourceCel9 ? _sourceRect$sourceCel9 : 0;\r\n leftTextLeftOffset = offset + (sourceRect.x + sourceRect.w / 2) - (leftRect.x + leftRect.w / 2);\r\n rightTextLeftOffset = offset + (sourceRect.x + sourceRect.w / 2) - (rightRect.x + rightRect.w / 2)\r\n } else if (\"right\" === (null === (_sourceRect$sourceCel10 = sourceRect.sourceCellInfo) || void 0 === _sourceRect$sourceCel10 ? void 0 : _sourceRect$sourceCel10.horizontalAlign)) {\r\n leftTextLeftOffset = sourceRect.x + sourceRect.w - (leftRect.x + leftRect.w);\r\n rightTextLeftOffset = sourceRect.x + sourceRect.w - (rightRect.x + rightRect.w)\r\n }\r\n leftRectTextOptions = _extends({}, {\r\n _textLeftOffset: leftTextLeftOffset\r\n });\r\n rightRectTextOptions = _extends({}, {\r\n _textLeftOffset: rightTextLeftOffset\r\n })\r\n } else {\r\n rightRectTextOptions = _extends({}, {\r\n text: \"\"\r\n })\r\n }\r\n }\r\n }\r\n leftRect.sourceCellInfo = _extends({}, sourceRect.sourceCellInfo, {\r\n debugSourceCellInfo: sourceRect.sourceCellInfo\r\n }, leftRectTextOptions);\r\n rightRect.sourceCellInfo = _extends({}, sourceRect.sourceCellInfo, {\r\n debugSourceCellInfo: sourceRect.sourceCellInfo\r\n }, rightRectTextOptions)\r\n }), (function(_ref2) {\r\n var _sourceRect$sourceCel11;\r\n var sourceRect = _ref2.sourceRect,\r\n topRect = _ref2.topRect,\r\n bottomRect = _ref2.bottomRect;\r\n var topRectTextOptions = {};\r\n var bottomRectTextOptions = {};\r\n var isTextNotEmpty = (null === (_sourceRect$sourceCel11 = sourceRect.sourceCellInfo.text) || void 0 === _sourceRect$sourceCel11 ? void 0 : _sourceRect$sourceCel11.length) > 0;\r\n if (isTextNotEmpty) {\r\n var _sourceRect$sourceCel12;\r\n var isTextHeightGreaterThanRect = jsPDFDocument.getTextDimensions(sourceRect.sourceCellInfo.text).h > topRect.h;\r\n var isTextTopAlignment = \"top\" === (null === (_sourceRect$sourceCel12 = sourceRect.sourceCellInfo) || void 0 === _sourceRect$sourceCel12 ? void 0 : _sourceRect$sourceCel12.verticalAlign);\r\n if (isTextHeightGreaterThanRect || !isTextTopAlignment) {\r\n var _sourceRect$sourceCel13, _sourceRect$sourceCel15, _sourceRect$sourceCel17;\r\n var topTextTopOffset;\r\n var bottomTextTopOffset;\r\n if (\"top\" === (null === (_sourceRect$sourceCel13 = sourceRect.sourceCellInfo) || void 0 === _sourceRect$sourceCel13 ? void 0 : _sourceRect$sourceCel13.verticalAlign)) {\r\n var _sourceRect$sourceCel14;\r\n topTextTopOffset = null !== (_sourceRect$sourceCel14 = sourceRect.sourceCellInfo._textTopOffset) && void 0 !== _sourceRect$sourceCel14 ? _sourceRect$sourceCel14 : 0;\r\n bottomTextTopOffset = topTextTopOffset - topRect.h\r\n } else if (\"middle\" === (null === (_sourceRect$sourceCel15 = sourceRect.sourceCellInfo) || void 0 === _sourceRect$sourceCel15 ? void 0 : _sourceRect$sourceCel15.verticalAlign)) {\r\n var _sourceRect$sourceCel16;\r\n var offset = null !== (_sourceRect$sourceCel16 = sourceRect.sourceCellInfo._textTopOffset) && void 0 !== _sourceRect$sourceCel16 ? _sourceRect$sourceCel16 : 0;\r\n topTextTopOffset = offset + (sourceRect.y + sourceRect.h / 2) - (topRect.y + topRect.h / 2);\r\n bottomTextTopOffset = offset + (sourceRect.y + sourceRect.h / 2) - (bottomRect.y + bottomRect.h / 2)\r\n } else if (\"bottom\" === (null === (_sourceRect$sourceCel17 = sourceRect.sourceCellInfo) || void 0 === _sourceRect$sourceCel17 ? void 0 : _sourceRect$sourceCel17.verticalAlign)) {\r\n topTextTopOffset = sourceRect.y + sourceRect.h - (topRect.y + topRect.h);\r\n bottomTextTopOffset = sourceRect.y + sourceRect.h - (bottomRect.y + bottomRect.h)\r\n }\r\n topRectTextOptions = _extends({}, {\r\n _textTopOffset: topTextTopOffset\r\n });\r\n bottomRectTextOptions = _extends({}, {\r\n _textTopOffset: bottomTextTopOffset\r\n })\r\n } else {\r\n bottomRectTextOptions = _extends({}, {\r\n text: \"\"\r\n })\r\n }\r\n }\r\n topRect.sourceCellInfo = _extends({}, sourceRect.sourceCellInfo, {\r\n debugSourceCellInfo: sourceRect.sourceCellInfo\r\n }, topRectTextOptions);\r\n bottomRect.sourceCellInfo = _extends({}, sourceRect.sourceCellInfo, {\r\n debugSourceCellInfo: sourceRect.sourceCellInfo\r\n }, bottomRectTextOptions)\r\n }));\r\n if (rtlEnabled) {\r\n (0, _pdf_utils.applyRtl)(jsPDFDocument, rectsByPages, options)\r\n }\r\n rectsByPages.forEach((function(pdfCellsInfo, index) {\r\n if (index > 0) {\r\n (0, _draw_utils.addNewPage)(jsPDFDocument)\r\n }(0, _draw_utils.drawCellsContent)(jsPDFDocument, options.customDrawCell, pdfCellsInfo, docStyles);\r\n (0, _draw_utils.drawCellsLines)(jsPDFDocument, pdfCellsInfo, docStyles);\r\n var isEmptyPdfCellsInfoSpecified = (0, _type.isDefined)(pdfCellsInfo) && 0 === pdfCellsInfo.length;\r\n if (isEmptyPdfCellsInfoSpecified) {\r\n var tableRect = (0, _row_utils.calculateTableSize)(jsPDFDocument, pdfCellsInfo, options);\r\n var baseStyle = (0, _rows_generator.getBaseTableStyle)();\r\n (0, _draw_utils.drawGridLines)(jsPDFDocument, tableRect, baseStyle, docStyles)\r\n }\r\n }));\r\n (0, _draw_utils.setDocumentStyles)(jsPDFDocument, docStyles);\r\n resolve()\r\n })).always((function() {\r\n if (initialLoadPanelEnabledOption) {\r\n component.option(\"loadPanel.enabled\", initialLoadPanelEnabledOption)\r\n }\r\n if (loadPanel.enabled && (0, _window.hasWindow)()) {\r\n exportLoadPanel.dispose()\r\n }\r\n }))\r\n }))\r\n}\r\nvar Export = {\r\n getFullOptions: _getFullOptions,\r\n export: exportDataGrid\r\n};\r\nexports.Export = Export;\r\n","/**\r\n * DevExtreme (cjs/exporter/jspdf/common/height_updater.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.updateRowsAndCellsHeights = updateRowsAndCellsHeights;\r\nvar _type = require(\"../../../core/utils/type\");\r\nvar _pdf_utils = require(\"./pdf_utils\");\r\n\r\nfunction _toConsumableArray(arr) {\r\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread()\r\n}\r\n\r\nfunction _nonIterableSpread() {\r\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _unsupportedIterableToArray(o, minLen) {\r\n if (!o) {\r\n return\r\n }\r\n if (\"string\" === typeof o) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n var n = Object.prototype.toString.call(o).slice(8, -1);\r\n if (\"Object\" === n && o.constructor) {\r\n n = o.constructor.name\r\n }\r\n if (\"Map\" === n || \"Set\" === n) {\r\n return Array.from(o)\r\n }\r\n if (\"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n}\r\n\r\nfunction _iterableToArray(iter) {\r\n if (\"undefined\" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter[\"@@iterator\"]) {\r\n return Array.from(iter)\r\n }\r\n}\r\n\r\nfunction _arrayWithoutHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return _arrayLikeToArray(arr)\r\n }\r\n}\r\n\r\nfunction _arrayLikeToArray(arr, len) {\r\n if (null == len || len > arr.length) {\r\n len = arr.length\r\n }\r\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\r\n arr2[i] = arr[i]\r\n }\r\n return arr2\r\n}\r\n\r\nfunction updateRowsAndCellsHeights(doc, rows) {\r\n var rowsAdditionalHeights = calculateAdditionalRowsHeights(doc, rows);\r\n rows.forEach((function(row) {\r\n row.height += rowsAdditionalHeights[row.rowIndex]\r\n }));\r\n rows.forEach((function(row) {\r\n row.cells.forEach((function(cell) {\r\n var _cell$rowSpan;\r\n var rowsCount = (null !== (_cell$rowSpan = cell.rowSpan) && void 0 !== _cell$rowSpan ? _cell$rowSpan : 0) + 1;\r\n cell.pdfCell._rect.h = rows.slice(row.rowIndex, row.rowIndex + rowsCount).reduce((function(accumulator, rowInfo) {\r\n return accumulator + rowInfo.height\r\n }), 0)\r\n }))\r\n }))\r\n}\r\n\r\nfunction calculateAdditionalRowsHeights(doc, rows) {\r\n var rowsAdditionalHeights = Array.from({\r\n length: rows.length\r\n }, (function() {\r\n return 0\r\n }));\r\n var sortedRows = sortRowsByMaxRowSpanAsc(rows);\r\n sortedRows.forEach((function(row) {\r\n var cellsWithRowSpan = row.cells.filter((function(cell) {\r\n return (0, _type.isDefined)(cell.rowSpan)\r\n }));\r\n cellsWithRowSpan.forEach((function(cell) {\r\n var targetRectWidth = (0, _pdf_utils.calculateTargetRectWidth)(cell.pdfCell._rect.w, cell.pdfCell.padding);\r\n var textHeight = (0, _pdf_utils.calculateTextHeight)(doc, cell.pdfCell.text, cell.pdfCell.font, {\r\n wordWrapEnabled: cell.pdfCell.wordWrapEnabled,\r\n targetRectWidth: targetRectWidth\r\n });\r\n var cellHeight = textHeight + cell.pdfCell.padding.top + cell.pdfCell.padding.bottom;\r\n var rowsCount = cell.rowSpan + 1;\r\n var currentRowSpanRowsHeight = rows.slice(row.rowIndex, row.rowIndex + rowsCount).reduce((function(accumulator, rowInfo) {\r\n return accumulator + rowInfo.height + rowsAdditionalHeights[rowInfo.rowIndex]\r\n }), 0);\r\n if (cellHeight > currentRowSpanRowsHeight) {\r\n var delta = (cellHeight - currentRowSpanRowsHeight) / rowsCount;\r\n for (var spanIndex = row.rowIndex; spanIndex < row.rowIndex + rowsCount; spanIndex++) {\r\n rowsAdditionalHeights[spanIndex] += delta\r\n }\r\n }\r\n }))\r\n }));\r\n return rowsAdditionalHeights\r\n}\r\n\r\nfunction sortRowsByMaxRowSpanAsc(rows) {\r\n var getMaxRowSpan = function(row) {\r\n var spansArray = row.cells.map((function(cell) {\r\n var _cell$rowSpan2;\r\n return null !== (_cell$rowSpan2 = cell.rowSpan) && void 0 !== _cell$rowSpan2 ? _cell$rowSpan2 : 0\r\n }));\r\n return Math.max.apply(Math, _toConsumableArray(spansArray))\r\n };\r\n return _toConsumableArray(rows).sort((function(row1, row2) {\r\n var row1RowSpan = getMaxRowSpan(row1);\r\n var row2RowSpan = getMaxRowSpan(row2);\r\n if (row1RowSpan > row2RowSpan) {\r\n return 1\r\n }\r\n if (row2RowSpan > row1RowSpan) {\r\n return -1\r\n }\r\n return 0\r\n }))\r\n}\r\n","/**\r\n * DevExtreme (cjs/exporter/jspdf/common/normalizeOptions.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.normalizeBoundaryValue = normalizeBoundaryValue;\r\nexports.normalizeRowsInfo = normalizeRowsInfo;\r\nvar _type = require(\"../../../core/utils/type\");\r\n\r\nfunction normalizeBoundaryValue(value) {\r\n var _value$top, _value$right, _value$bottom, _value$left;\r\n if ((0, _type.isNumeric)(value)) {\r\n return {\r\n top: value,\r\n right: value,\r\n bottom: value,\r\n left: value\r\n }\r\n }\r\n return {\r\n top: null !== (_value$top = null === value || void 0 === value ? void 0 : value.top) && void 0 !== _value$top ? _value$top : 0,\r\n right: null !== (_value$right = null === value || void 0 === value ? void 0 : value.right) && void 0 !== _value$right ? _value$right : 0,\r\n bottom: null !== (_value$bottom = null === value || void 0 === value ? void 0 : value.bottom) && void 0 !== _value$bottom ? _value$bottom : 0,\r\n left: null !== (_value$left = null === value || void 0 === value ? void 0 : value.left) && void 0 !== _value$left ? _value$left : 0\r\n }\r\n}\r\n\r\nfunction normalizeRowsInfo(rowsInfo) {\r\n rowsInfo.forEach((function(row) {\r\n row.cells.forEach((function(_ref) {\r\n var pdfCell = _ref.pdfCell;\r\n pdfCell.padding = normalizeBoundaryValue(pdfCell.padding)\r\n }))\r\n }))\r\n}\r\n","/**\r\n * DevExtreme (cjs/exporter/jspdf/common/pdf_utils.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.applyRtl = applyRtl;\r\nexports.applyWordWrap = applyWordWrap;\r\nexports.calculateRowHeight = calculateRowHeight;\r\nexports.calculateTargetRectWidth = calculateTargetRectWidth;\r\nexports.calculateTextHeight = calculateTextHeight;\r\nexports.getPageHeight = getPageHeight;\r\nexports.getPageWidth = getPageWidth;\r\nexports.getTextDimensions = getTextDimensions;\r\nexports.getTextLines = getTextLines;\r\nexports.toPdfUnit = toPdfUnit;\r\nvar _type = require(\"../../../core/utils/type\");\r\nvar DOTS_TEXT = \"...\";\r\n\r\nfunction toPdfUnit(doc, value) {\r\n var coefficient = 1 / doc.internal.scaleFactor;\r\n return value * coefficient\r\n}\r\n\r\nfunction getPageWidth(doc) {\r\n return doc.internal.pageSize.getWidth()\r\n}\r\n\r\nfunction getPageHeight(doc) {\r\n return doc.internal.pageSize.getHeight()\r\n}\r\n\r\nfunction getTextLines(doc, text, font, _ref) {\r\n var wordWrapEnabled = _ref.wordWrapEnabled,\r\n targetRectWidth = _ref.targetRectWidth;\r\n if (wordWrapEnabled) {\r\n var usedFont = doc.getFont(null === font || void 0 === font ? void 0 : font.name, null === font || void 0 === font ? void 0 : font.style);\r\n return doc.splitTextToSize(text, targetRectWidth, {\r\n fontSize: (null === font || void 0 === font ? void 0 : font.size) || doc.getFontSize(),\r\n fontName: usedFont.fontName,\r\n fontStyle: usedFont.fontStyle\r\n })\r\n }\r\n var textWithoutLineBreak = text.split(\"\\n\").filter((function(ch) {\r\n return \"\" !== ch\r\n })).join(\" \");\r\n if (getTextDimensions(doc, textWithoutLineBreak, font).w <= targetRectWidth) {\r\n return [textWithoutLineBreak]\r\n }\r\n var textWidth = getTextDimensions(doc, textWithoutLineBreak + DOTS_TEXT, font).w;\r\n while (textWithoutLineBreak.length > 0 && textWidth > targetRectWidth) {\r\n var symbolsCountToRemove = 0;\r\n if (textWidth >= 2 * targetRectWidth) {\r\n symbolsCountToRemove = textWithoutLineBreak.length / 2\r\n }\r\n if (symbolsCountToRemove < 1) {\r\n symbolsCountToRemove = 1\r\n }\r\n textWithoutLineBreak = textWithoutLineBreak.substring(0, textWithoutLineBreak.length - symbolsCountToRemove);\r\n textWidth = getTextDimensions(doc, textWithoutLineBreak + DOTS_TEXT, font).w\r\n }\r\n return [textWithoutLineBreak + DOTS_TEXT]\r\n}\r\n\r\nfunction calculateTargetRectWidth(columnWidth, padding) {\r\n var width = columnWidth - (padding.left + padding.right);\r\n return width >= 0 ? width : 0\r\n}\r\n\r\nfunction getTextDimensions(doc, text, font) {\r\n return doc.getTextDimensions(text, {\r\n font: doc.getFont(null === font || void 0 === font ? void 0 : font.name, null === font || void 0 === font ? void 0 : font.style),\r\n fontSize: (null === font || void 0 === font ? void 0 : font.size) || doc.getFontSize()\r\n })\r\n}\r\n\r\nfunction calculateTextHeight(doc, text, font, _ref2) {\r\n var wordWrapEnabled = _ref2.wordWrapEnabled,\r\n targetRectWidth = _ref2.targetRectWidth;\r\n var heightOfOneLine = getTextDimensions(doc, text, font).h;\r\n var linesCount = getTextLines(doc, text, font, {\r\n wordWrapEnabled: wordWrapEnabled,\r\n targetRectWidth: targetRectWidth\r\n }).length;\r\n return heightOfOneLine * linesCount * doc.getLineHeightFactor()\r\n}\r\n\r\nfunction calculateRowHeight(doc, cells, columnWidths) {\r\n if (cells.length !== columnWidths.length) {\r\n throw \"the cells count must be equal to the count of the columns\"\r\n }\r\n var rowHeight = 0;\r\n for (var cellIndex = 0; cellIndex < cells.length; cellIndex++) {\r\n if ((0, _type.isDefined)(cells[cellIndex].rowSpan)) {\r\n continue\r\n }\r\n var cellText = cells[cellIndex].pdfCell.text;\r\n var cellPadding = cells[cellIndex].pdfCell.padding;\r\n var font = cells[cellIndex].pdfCell.font;\r\n var wordWrapEnabled = cells[cellIndex].pdfCell.wordWrapEnabled;\r\n var columnWidth = columnWidths[cellIndex];\r\n var targetRectWidth = calculateTargetRectWidth(columnWidth, cellPadding);\r\n if ((0, _type.isDefined)(cellText)) {\r\n var textHeight = \"\" !== cellText ? calculateTextHeight(doc, cellText, font, {\r\n wordWrapEnabled: wordWrapEnabled,\r\n targetRectWidth: targetRectWidth\r\n }) : 0;\r\n var cellHeight = textHeight + cellPadding.top + cellPadding.bottom;\r\n if (rowHeight < cellHeight) {\r\n rowHeight = cellHeight\r\n }\r\n }\r\n }\r\n return rowHeight\r\n}\r\n\r\nfunction applyWordWrap(doc, rowsInfo) {\r\n rowsInfo.forEach((function(row) {\r\n row.cells.forEach((function(_ref3) {\r\n var pdfCell = _ref3.pdfCell;\r\n if ((0, _type.isDefined)(pdfCell.text)) {\r\n var lines = getTextLines(doc, pdfCell.text, pdfCell.font, {\r\n wordWrapEnabled: pdfCell.wordWrapEnabled,\r\n targetRectWidth: calculateTargetRectWidth(pdfCell._rect.w, pdfCell.padding)\r\n });\r\n pdfCell.text = lines.join(\"\\n\")\r\n }\r\n }))\r\n }))\r\n}\r\n\r\nfunction applyRtl(doc, rectsByPages, options) {\r\n rectsByPages.forEach((function(pageRects) {\r\n pageRects.forEach((function(pdfCell) {\r\n var mirroredX = getPageWidth(doc) - (pdfCell._rect.x + pdfCell._rect.w);\r\n var marginDiff = options.margin.left - options.margin.right;\r\n pdfCell._rect.x = mirroredX + marginDiff\r\n }))\r\n }))\r\n}\r\n","/**\r\n * DevExtreme (cjs/exporter/jspdf/common/row_utils.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.applyBordersConfig = applyBordersConfig;\r\nexports.applyColSpans = applyColSpans;\r\nexports.applyRowSpans = applyRowSpans;\r\nexports.calculateCoordinates = calculateCoordinates;\r\nexports.calculateHeights = calculateHeights;\r\nexports.calculateTableSize = calculateTableSize;\r\nexports.initializeCellsWidth = initializeCellsWidth;\r\nexports.resizeFirstColumnByIndentLevel = resizeFirstColumnByIndentLevel;\r\nvar _type = require(\"../../../core/utils/type\");\r\nvar _pdf_utils = require(\"./pdf_utils\");\r\nvar getSum = function(a, b) {\r\n return a + b\r\n};\r\n\r\nfunction calculateColumnWidths(doc, dataProvider, topLeftX, margin, customerColumnWidths) {\r\n var resultWidths = dataProvider.getColumnsWidths().map((function(width) {\r\n return (0, _pdf_utils.toPdfUnit)(doc, null !== width && void 0 !== width ? width : 150)\r\n }));\r\n var totalAutoColumnsWidth = resultWidths.filter((function(width, index) {\r\n return !(0, _type.isDefined)(customerColumnWidths[index])\r\n })).reduce(getSum, 0);\r\n var totalCustomerColumnsWidth = customerColumnWidths.filter((function(width) {\r\n return (0, _type.isNumeric)(width)\r\n })).reduce(getSum, 0);\r\n var availablePageWidth = getAvailablePageAreaWidth(doc, topLeftX, margin);\r\n var ratio = totalCustomerColumnsWidth < availablePageWidth ? (availablePageWidth - totalCustomerColumnsWidth) / totalAutoColumnsWidth : 1;\r\n return resultWidths.map((function(width, index) {\r\n var _customerColumnWidths;\r\n return null !== (_customerColumnWidths = customerColumnWidths[index]) && void 0 !== _customerColumnWidths ? _customerColumnWidths : width * ratio\r\n }))\r\n}\r\n\r\nfunction getAvailablePageAreaWidth(doc, topLeftX, margin) {\r\n return (0, _pdf_utils.getPageWidth)(doc) - topLeftX - margin.left - margin.right\r\n}\r\n\r\nfunction initializeCellsWidth(doc, dataProvider, rows, options) {\r\n var columnWidths = calculateColumnWidths(doc, dataProvider, options.topLeft.x, options.margin, options.columnWidths);\r\n rows.forEach((function(row) {\r\n row.cells.forEach((function(_ref, index) {\r\n _ref.gridCell;\r\n var pdfCell = _ref.pdfCell;\r\n pdfCell._rect.w = columnWidths[index]\r\n }))\r\n }))\r\n}\r\n\r\nfunction calculateHeights(doc, rows, options) {\r\n rows.forEach((function(row) {\r\n var pdfCells = row.cells.map((function(c) {\r\n return c.pdfCell\r\n }));\r\n var customerHeight;\r\n if (options.onRowExporting) {\r\n var args = {\r\n rowCells: pdfCells\r\n };\r\n options.onRowExporting(args);\r\n if ((0, _type.isDefined)(args.rowHeight)) {\r\n customerHeight = args.rowHeight\r\n }\r\n }\r\n row.height = (0, _type.isDefined)(customerHeight) ? customerHeight : (0, _pdf_utils.calculateRowHeight)(doc, row.cells, pdfCells.map((function(c) {\r\n return c._rect.w\r\n })));\r\n pdfCells.forEach((function(cell) {\r\n cell._rect.h = row.height\r\n }))\r\n }))\r\n}\r\n\r\nfunction applyColSpans(rows) {\r\n for (var rowIndex = 0; rowIndex < rows.length; rowIndex++) {\r\n var row = rows[rowIndex];\r\n for (var cellIndex = 0; cellIndex < row.cells.length; cellIndex++) {\r\n var cell = row.cells[cellIndex];\r\n if ((0, _type.isDefined)(cell.colSpan) && !(0, _type.isDefined)(cell.pdfCell.isMerged)) {\r\n for (var spanIndex = 1; spanIndex <= cell.colSpan; spanIndex++) {\r\n var mergedCell = rows[rowIndex].cells[cellIndex + spanIndex];\r\n cell.pdfCell._rect.w += mergedCell.pdfCell._rect.w;\r\n mergedCell.pdfCell._rect.w = 0;\r\n mergedCell.pdfCell.isMerged = true\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\nfunction applyRowSpans(rows) {\r\n for (var rowIndex = 0; rowIndex < rows.length; rowIndex++) {\r\n var row = rows[rowIndex];\r\n for (var cellIndex = 0; cellIndex < row.cells.length; cellIndex++) {\r\n var cell = row.cells[cellIndex];\r\n if ((0, _type.isDefined)(cell.rowSpan) && !(0, _type.isDefined)(cell.pdfCell.isMerged)) {\r\n for (var spanIndex = 1; spanIndex <= cell.rowSpan; spanIndex++) {\r\n var mergedCell = rows[rowIndex + spanIndex].cells[cellIndex];\r\n cell.pdfCell._rect.h += mergedCell.pdfCell._rect.h;\r\n mergedCell.pdfCell._rect.h = 0;\r\n mergedCell.pdfCell.isMerged = true\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\nfunction resizeFirstColumnByIndentLevel(rows, options) {\r\n rows.forEach((function(row) {\r\n row.cells[0].pdfCell._rect.w -= row.indentLevel * options.indent\r\n }))\r\n}\r\n\r\nfunction applyBordersConfig(rows) {\r\n for (var rowIndex = 0; rowIndex < rows.length; rowIndex++) {\r\n var cells = rows[rowIndex].cells;\r\n for (var columnIndex = 0; columnIndex < cells.length; columnIndex++) {\r\n var pdfCell = cells[columnIndex].pdfCell;\r\n var leftPdfCell = columnIndex >= 1 ? cells[columnIndex - 1].pdfCell : null;\r\n var topPdfCell = rowIndex >= 1 ? rows[rowIndex - 1].cells[columnIndex].pdfCell : null;\r\n if (false === pdfCell.drawLeftBorder && !(0, _type.isDefined)(cells[columnIndex].colSpan)) {\r\n if ((0, _type.isDefined)(leftPdfCell)) {\r\n leftPdfCell.drawRightBorder = false\r\n }\r\n } else if (!(0, _type.isDefined)(pdfCell.drawLeftBorder)) {\r\n if ((0, _type.isDefined)(leftPdfCell) && false === leftPdfCell.drawRightBorder) {\r\n pdfCell.drawLeftBorder = false\r\n }\r\n }\r\n if (false === pdfCell.drawTopBorder) {\r\n if ((0, _type.isDefined)(topPdfCell)) {\r\n topPdfCell.drawBottomBorder = false\r\n }\r\n } else if (!(0, _type.isDefined)(pdfCell.drawTopBorder)) {\r\n if ((0, _type.isDefined)(topPdfCell) && false === topPdfCell.drawBottomBorder) {\r\n pdfCell.drawTopBorder = false\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\nfunction calculateCoordinates(doc, rows, options) {\r\n var _topLeft$y;\r\n var topLeft = null === options || void 0 === options ? void 0 : options.topLeft;\r\n var margin = null === options || void 0 === options ? void 0 : options.margin;\r\n var y = (null !== (_topLeft$y = null === topLeft || void 0 === topLeft ? void 0 : topLeft.y) && void 0 !== _topLeft$y ? _topLeft$y : 0) + margin.top;\r\n rows.forEach((function(row) {\r\n var _topLeft$x;\r\n var x = (null !== (_topLeft$x = null === topLeft || void 0 === topLeft ? void 0 : topLeft.x) && void 0 !== _topLeft$x ? _topLeft$x : 0) + margin.left;\r\n var intend = row.indentLevel * options.indent;\r\n row.cells.forEach((function(cell) {\r\n cell.pdfCell._rect.x = x + intend;\r\n cell.pdfCell._rect.y = y;\r\n x += cell.pdfCell._rect.w\r\n }));\r\n y += row.height\r\n }))\r\n}\r\n\r\nfunction calculateTableSize(doc, cells, options) {\r\n var _ref2, _leftPos, _options$topLeft, _ref3, _topPos, _options$topLeft2;\r\n var leftPos;\r\n var topPos;\r\n var rightPos;\r\n var bottomPos;\r\n cells.forEach((function(cell) {\r\n if (!(0, _type.isDefined)(leftPos) || leftPos > cell._rect.x) {\r\n leftPos = cell._rect.x\r\n }\r\n if (!(0, _type.isDefined)(topPos) || topPos > cell._rect.y) {\r\n topPos = cell._rect.y\r\n }\r\n if (!(0, _type.isDefined)(rightPos) || rightPos < cell._rect.x + cell._rect.w) {\r\n rightPos = cell._rect.x + cell._rect.w\r\n }\r\n if (!(0, _type.isDefined)(bottomPos) || bottomPos < cell._rect.y + cell._rect.h) {\r\n bottomPos = cell._rect.y + cell._rect.h\r\n }\r\n }));\r\n var x = null !== (_ref2 = null !== (_leftPos = leftPos) && void 0 !== _leftPos ? _leftPos : null === options || void 0 === options ? void 0 : null === (_options$topLeft = options.topLeft) || void 0 === _options$topLeft ? void 0 : _options$topLeft.x) && void 0 !== _ref2 ? _ref2 : 0;\r\n var y = null !== (_ref3 = null !== (_topPos = topPos) && void 0 !== _topPos ? _topPos : null === options || void 0 === options ? void 0 : null === (_options$topLeft2 = options.topLeft) || void 0 === _options$topLeft2 ? void 0 : _options$topLeft2.y) && void 0 !== _ref3 ? _ref3 : 0;\r\n var w = (0, _type.isDefined)(rightPos) ? rightPos - x : 0;\r\n var h = (0, _type.isDefined)(bottomPos) ? bottomPos - y : 0;\r\n return {\r\n x: x,\r\n y: y,\r\n w: w,\r\n h: h\r\n }\r\n}\r\n","/**\r\n * DevExtreme (cjs/exporter/jspdf/common/rows_generator.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.generateRowsInfo = generateRowsInfo;\r\nexports.getBaseTableStyle = getBaseTableStyle;\r\nvar _type = require(\"../../../core/utils/type\");\r\nvar _date = _interopRequireDefault(require(\"../../../localization/date\"));\r\nvar _number = _interopRequireDefault(require(\"../../../localization/number\"));\r\nvar _pdf_utils = require(\"./pdf_utils\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\nvar defaultStyles = {\r\n base: {\r\n font: {\r\n size: 10\r\n },\r\n borderWidth: .5,\r\n borderColor: \"#979797\"\r\n },\r\n header: {\r\n textColor: \"#979797\"\r\n },\r\n group: {},\r\n data: {},\r\n groupFooter: {},\r\n totalFooter: {}\r\n};\r\n\r\nfunction generateRowsInfo(doc, dataProvider, dataGrid, headerBackgroundColor) {\r\n var result = [];\r\n var rowsCount = dataProvider.getRowsCount();\r\n var wordWrapEnabled = !!dataGrid.option(\"wordWrapEnabled\");\r\n var rtlEnabled = !!dataGrid.option(\"rtlEnabled\");\r\n var columns = dataProvider.getColumns();\r\n var styles = dataProvider.getStyles();\r\n for (var rowIndex = 0; rowIndex < rowsCount; rowIndex++) {\r\n var rowType = dataProvider.getCellData(rowIndex, 0, true).cellSourceData.rowType;\r\n var indentLevel = \"header\" !== rowType ? dataProvider.getGroupLevel(rowIndex) : 0;\r\n var previousRow = result[rowIndex - 1];\r\n if (\"groupFooter\" === rowType && \"groupFooter\" === (null === previousRow || void 0 === previousRow ? void 0 : previousRow.rowType)) {\r\n indentLevel = previousRow.indentLevel - 1\r\n }\r\n result.push({\r\n rowType: rowType,\r\n indentLevel: indentLevel,\r\n cells: generateRowCells({\r\n doc: doc,\r\n dataProvider: dataProvider,\r\n rowIndex: rowIndex,\r\n wordWrapEnabled: wordWrapEnabled,\r\n columns: columns,\r\n styles: styles,\r\n rowType: rowType,\r\n backgroundColor: \"header\" === rowType ? headerBackgroundColor : void 0,\r\n rtlEnabled: rtlEnabled\r\n }),\r\n rowIndex: rowIndex\r\n })\r\n }\r\n return result\r\n}\r\n\r\nfunction generateRowCells(_ref) {\r\n var doc = _ref.doc,\r\n dataProvider = _ref.dataProvider,\r\n rowIndex = _ref.rowIndex,\r\n wordWrapEnabled = _ref.wordWrapEnabled,\r\n columns = _ref.columns,\r\n styles = _ref.styles,\r\n rowType = _ref.rowType,\r\n backgroundColor = _ref.backgroundColor,\r\n rtlEnabled = _ref.rtlEnabled;\r\n var result = [];\r\n for (var cellIndex = 0; cellIndex < columns.length; cellIndex++) {\r\n var _style$alignment;\r\n var cellData = dataProvider.getCellData(rowIndex, cellIndex, true);\r\n var cellStyle = styles[dataProvider.getStyleId(rowIndex, cellIndex)];\r\n var style = getPdfCellStyle(columns[cellIndex], rowType, cellStyle);\r\n var defaultAlignment = rtlEnabled ? \"right\" : \"left\";\r\n var paddingValue = (0, _pdf_utils.toPdfUnit)(doc, 5);\r\n var pdfCell = {\r\n text: getFormattedValue(cellData.value, cellStyle.format),\r\n verticalAlign: \"middle\",\r\n horizontalAlign: null !== (_style$alignment = style.alignment) && void 0 !== _style$alignment ? _style$alignment : defaultAlignment,\r\n wordWrapEnabled: wordWrapEnabled,\r\n backgroundColor: backgroundColor,\r\n padding: {\r\n top: paddingValue,\r\n right: paddingValue,\r\n bottom: paddingValue,\r\n left: paddingValue\r\n },\r\n _rect: {},\r\n _internalTextOptions: {}\r\n };\r\n if (rtlEnabled) {\r\n pdfCell._internalTextOptions.isInputVisual = false;\r\n pdfCell._internalTextOptions.isOutputVisual = true;\r\n pdfCell._internalTextOptions.isInputRtl = true;\r\n pdfCell._internalTextOptions.isOutputRtl = false\r\n }\r\n var cellInfo = {\r\n gridCell: cellData.cellSourceData,\r\n pdfCell: _extends({}, pdfCell, style)\r\n };\r\n if (\"header\" === rowType) {\r\n var cellMerging = dataProvider.getCellMerging(rowIndex, cellIndex);\r\n if (cellMerging && cellMerging.rowspan > 0) {\r\n cellInfo.rowSpan = cellMerging.rowspan\r\n }\r\n if (cellMerging && cellMerging.colspan > 0) {\r\n cellInfo.colSpan = cellMerging.colspan\r\n }\r\n } else if (\"group\" === rowType) {\r\n var drawLeftBorderField = rtlEnabled ? \"drawRightBorder\" : \"drawLeftBorder\";\r\n var drawRightBorderField = rtlEnabled ? \"drawLeftBorder\" : \"drawRightBorder\";\r\n cellInfo.pdfCell[drawLeftBorderField] = 0 === cellIndex;\r\n cellInfo.pdfCell[drawRightBorderField] = cellIndex === columns.length - 1;\r\n if (cellIndex > 0) {\r\n var isEmptyCellsExceptFirst = result.slice(1).reduce((function(accumulate, cellInfo) {\r\n return accumulate && !(0, _type.isDefined)(cellInfo.pdfCell.text)\r\n }), true);\r\n if (!(0, _type.isDefined)(cellInfo.pdfCell.text) && isEmptyCellsExceptFirst) {\r\n result[0].pdfCell[drawRightBorderField] = true;\r\n for (var i = 0; i < result.length; i++) {\r\n result[i].colSpan = result.length\r\n }\r\n cellInfo.colSpan = result.length\r\n }\r\n }\r\n }\r\n result.push(cellInfo)\r\n }\r\n return result\r\n}\r\n\r\nfunction getBaseTableStyle() {\r\n return defaultStyles.base\r\n}\r\n\r\nfunction getPdfCellStyle(column, rowType, cellStyle) {\r\n var styles = _extends({}, defaultStyles.base, defaultStyles[rowType]);\r\n var alignment = \"header\" === rowType ? column.alignment : cellStyle.alignment;\r\n if (alignment) {\r\n styles.alignment = alignment\r\n }\r\n if (cellStyle.bold && \"header\" !== rowType) {\r\n styles.font = _extends({}, styles.font, {\r\n style: \"bold\"\r\n })\r\n }\r\n return styles\r\n}\r\n\r\nfunction getFormattedValue(value, format) {\r\n if ((0, _type.isDefined)(format)) {\r\n if ((0, _type.isDate)(value)) {\r\n return _date.default.format(value, format)\r\n }\r\n if ((0, _type.isNumeric)(value)) {\r\n return _number.default.format(value, format)\r\n }\r\n }\r\n return null === value || void 0 === value ? void 0 : value.toString()\r\n}\r\n","/**\r\n * DevExtreme (cjs/exporter/jspdf/common/rows_spliting_utils/create_on_split_multipage_row.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.createOnSplitMultiPageRow = void 0;\r\nvar _pdf_utils = require(\"../pdf_utils\");\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\n\r\nfunction createMultiCellRect(rect, text, marginTop) {\r\n return _extends({}, rect, {\r\n sourceCellInfo: _extends({}, rect.sourceCellInfo, {\r\n text: text\r\n }),\r\n y: marginTop\r\n })\r\n}\r\nvar createOnSplitMultiPageRow = function(doc, options, headerHeight, maxBottomRight) {\r\n return function(isFirstPage, pageRects) {\r\n var currentPageRects = [];\r\n var nextPageRects = [];\r\n var maxCurrentPageHeight = 0;\r\n var maxNextPageHeight = 0;\r\n pageRects.forEach((function(rect) {\r\n var w = rect.w,\r\n sourceCellInfo = rect.sourceCellInfo;\r\n var additionalHeight = !isFirstPage && options.repeatHeaders ? headerHeight : headerHeight + options.topLeft.y;\r\n var heightOfOneLine = (0, _pdf_utils.getTextDimensions)(doc, sourceCellInfo.text, sourceCellInfo.font).h;\r\n var paddingHeight = sourceCellInfo.padding.top + sourceCellInfo.padding.bottom;\r\n var fullPageHeight = maxBottomRight.y - additionalHeight - paddingHeight - options.margin.top;\r\n var possibleLinesCount = Math.floor(fullPageHeight / (heightOfOneLine * doc.getLineHeightFactor()));\r\n var allLines = (0, _pdf_utils.getTextLines)(doc, sourceCellInfo.text, sourceCellInfo.font, {\r\n wordWrapEnabled: sourceCellInfo.wordWrapEnabled,\r\n targetRectWidth: w\r\n });\r\n if (possibleLinesCount < allLines.length) {\r\n var currentPageText = allLines.slice(0, possibleLinesCount).join(\"\\n\");\r\n var currentPageHeight = (0, _pdf_utils.calculateTextHeight)(doc, currentPageText, sourceCellInfo.font, {\r\n wordWrapEnabled: sourceCellInfo.wordWrapEnabled,\r\n targetRectWidth: w\r\n });\r\n maxCurrentPageHeight = Math.max(maxCurrentPageHeight, currentPageHeight + paddingHeight);\r\n maxNextPageHeight = rect.h - currentPageHeight;\r\n currentPageRects.push(createMultiCellRect(rect, currentPageText, options.margin.top));\r\n nextPageRects.push(createMultiCellRect(rect, allLines.slice(possibleLinesCount).join(\"\\n\"), options.margin.top))\r\n } else {\r\n var _currentPageHeight = (0, _pdf_utils.calculateTextHeight)(doc, sourceCellInfo.text, sourceCellInfo.font, {\r\n wordWrapEnabled: sourceCellInfo.wordWrapEnabled,\r\n targetRectWidth: w\r\n });\r\n maxCurrentPageHeight = Math.max(maxCurrentPageHeight, _currentPageHeight + paddingHeight);\r\n maxNextPageHeight = Math.max(maxNextPageHeight, _currentPageHeight + paddingHeight);\r\n currentPageRects.push(createMultiCellRect(rect, sourceCellInfo.text, options.margin.top));\r\n nextPageRects.push(createMultiCellRect(rect, \"\", options.margin.top))\r\n }\r\n }));\r\n currentPageRects.forEach((function(rect) {\r\n return rect.h = maxCurrentPageHeight\r\n }));\r\n nextPageRects.forEach((function(rect) {\r\n return rect.h = maxNextPageHeight\r\n }));\r\n return [currentPageRects, nextPageRects]\r\n }\r\n};\r\nexports.createOnSplitMultiPageRow = createOnSplitMultiPageRow;\r\n","/**\r\n * DevExtreme (cjs/exporter/jspdf/common/rows_spliting_utils/get_multipage_row_pages.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.getMultiPageRowPages = exports.checkPageContainsOnlyHeader = void 0;\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\n\r\nfunction _slicedToArray(arr, i) {\r\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest()\r\n}\r\n\r\nfunction _nonIterableRest() {\r\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _unsupportedIterableToArray(o, minLen) {\r\n if (!o) {\r\n return\r\n }\r\n if (\"string\" === typeof o) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n var n = Object.prototype.toString.call(o).slice(8, -1);\r\n if (\"Object\" === n && o.constructor) {\r\n n = o.constructor.name\r\n }\r\n if (\"Map\" === n || \"Set\" === n) {\r\n return Array.from(o)\r\n }\r\n if (\"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n}\r\n\r\nfunction _arrayLikeToArray(arr, len) {\r\n if (null == len || len > arr.length) {\r\n len = arr.length\r\n }\r\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\r\n arr2[i] = arr[i]\r\n }\r\n return arr2\r\n}\r\n\r\nfunction _iterableToArrayLimit(arr, i) {\r\n var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"];\r\n if (null != _i) {\r\n var _s, _e, _x, _r, _arr = [],\r\n _n = !0,\r\n _d = !1;\r\n try {\r\n if (_x = (_i = _i.call(arr)).next, 0 === i) {\r\n if (Object(_i) !== _i) {\r\n return\r\n }\r\n _n = !1\r\n } else {\r\n for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) {}\r\n }\r\n } catch (err) {\r\n _d = !0, _e = err\r\n } finally {\r\n try {\r\n if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) {\r\n return\r\n }\r\n } finally {\r\n if (_d) {\r\n throw _e\r\n }\r\n }\r\n }\r\n return _arr\r\n }\r\n}\r\n\r\nfunction _arrayWithHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return arr\r\n }\r\n}\r\nvar isHeader = function(rect) {\r\n return \"header\" === (null === rect || void 0 === rect ? void 0 : rect.sourceCellInfo.gridCell.rowType)\r\n};\r\nvar spitMultiPageRows = function(rectsToPatch, isCurrentPageContainsOnlyHeader, firstRectYAdjustment, splitMultiPageRowFunc, checkIsFitToPageFunc) {\r\n var _splitMultiPageRowFun = splitMultiPageRowFunc(isCurrentPageContainsOnlyHeader, rectsToPatch),\r\n _splitMultiPageRowFun2 = _slicedToArray(_splitMultiPageRowFun, 2),\r\n newPageRects = _splitMultiPageRowFun2[0],\r\n remainPageRects = _splitMultiPageRowFun2[1];\r\n var newPageRectsArray = [isCurrentPageContainsOnlyHeader ? newPageRects.map((function(rect) {\r\n return _extends({}, rect, {\r\n y: firstRectYAdjustment\r\n })\r\n })) : newPageRects];\r\n while (!checkIsFitToPageFunc(false, remainPageRects[0].h)) {\r\n var _splitMultiPageRowFun3 = splitMultiPageRowFunc(false, remainPageRects);\r\n var _splitMultiPageRowFun4 = _slicedToArray(_splitMultiPageRowFun3, 2);\r\n newPageRects = _splitMultiPageRowFun4[0];\r\n remainPageRects = _splitMultiPageRowFun4[1];\r\n newPageRectsArray.push(newPageRects)\r\n }\r\n return [newPageRectsArray, remainPageRects]\r\n};\r\nvar patchRects = function(rectsToSplit, rectsToPatch, remainPageRects) {\r\n rectsToPatch.forEach((function(rect, rectIndex) {\r\n rect.sourceCellInfo.text = remainPageRects[rectIndex].sourceCellInfo.text;\r\n rect.h = remainPageRects[rectIndex].h\r\n }));\r\n var untouchedRowIdx = rectsToSplit.indexOf(rectsToPatch[rectsToPatch.length - 1]) + 1;\r\n if (untouchedRowIdx >= rectsToSplit.length) {\r\n return\r\n }\r\n var delta = rectsToSplit[untouchedRowIdx].y - (rectsToPatch[0].y + remainPageRects[0].h);\r\n for (var idx = untouchedRowIdx; idx < rectsToSplit.length; idx++) {\r\n rectsToSplit[idx].y = rectsToSplit[idx].y - delta\r\n }\r\n};\r\nvar checkPageContainsOnlyHeader = function(pageRects, isFirstPage) {\r\n return isFirstPage && isHeader(pageRects[pageRects.length - 1])\r\n};\r\nexports.checkPageContainsOnlyHeader = checkPageContainsOnlyHeader;\r\nvar getMultiPageRowPages = function(currentPageRects, rectsToSplit, isCurrentPageContainsOnlyHeader, splitMultiPageRowFunc, checkIsFitToPageFunc) {\r\n if (!splitMultiPageRowFunc) {\r\n return []\r\n }\r\n var currentPageLastRect = currentPageRects[currentPageRects.length - 1];\r\n var nextPageFirstRect = rectsToSplit[currentPageRects.length];\r\n if (!nextPageFirstRect || isHeader(nextPageFirstRect)) {\r\n return []\r\n }\r\n var isRectsFitsToPage = checkIsFitToPageFunc(isCurrentPageContainsOnlyHeader, nextPageFirstRect.h);\r\n if (isRectsFitsToPage && !isCurrentPageContainsOnlyHeader) {\r\n return []\r\n }\r\n var rectsToPatch = rectsToSplit.filter((function(_ref) {\r\n var y = _ref.y;\r\n return y === nextPageFirstRect.y\r\n }));\r\n var firstRectYAdjustment = currentPageLastRect.y + currentPageLastRect.h;\r\n var _spitMultiPageRows = spitMultiPageRows(rectsToPatch, isCurrentPageContainsOnlyHeader, firstRectYAdjustment, splitMultiPageRowFunc, checkIsFitToPageFunc),\r\n _spitMultiPageRows2 = _slicedToArray(_spitMultiPageRows, 2),\r\n multiPageRowPages = _spitMultiPageRows2[0],\r\n remainPageRects = _spitMultiPageRows2[1];\r\n patchRects(rectsToSplit, rectsToPatch, remainPageRects);\r\n return multiPageRowPages\r\n};\r\nexports.getMultiPageRowPages = getMultiPageRowPages;\r\n","/**\r\n * DevExtreme (cjs/exporter/jspdf/common/rows_splitting.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.splitByPages = splitByPages;\r\nvar _type = require(\"../../../core/utils/type\");\r\nvar _pdf_utils = require(\"./pdf_utils\");\r\nvar _draw_utils = require(\"./draw_utils\");\r\nvar _get_multipage_row_pages = require(\"./rows_spliting_utils/get_multipage_row_pages\");\r\nvar _create_on_split_multipage_row = require(\"./rows_spliting_utils/create_on_split_multipage_row\");\r\n\r\nfunction _toArray(arr) {\r\n return _arrayWithHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableRest()\r\n}\r\n\r\nfunction _nonIterableRest() {\r\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _arrayWithHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return arr\r\n }\r\n}\r\n\r\nfunction _toConsumableArray(arr) {\r\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread()\r\n}\r\n\r\nfunction _nonIterableSpread() {\r\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _unsupportedIterableToArray(o, minLen) {\r\n if (!o) {\r\n return\r\n }\r\n if (\"string\" === typeof o) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n var n = Object.prototype.toString.call(o).slice(8, -1);\r\n if (\"Object\" === n && o.constructor) {\r\n n = o.constructor.name\r\n }\r\n if (\"Map\" === n || \"Set\" === n) {\r\n return Array.from(o)\r\n }\r\n if (\"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n}\r\n\r\nfunction _iterableToArray(iter) {\r\n if (\"undefined\" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter[\"@@iterator\"]) {\r\n return Array.from(iter)\r\n }\r\n}\r\n\r\nfunction _arrayWithoutHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return _arrayLikeToArray(arr)\r\n }\r\n}\r\n\r\nfunction _arrayLikeToArray(arr, len) {\r\n if (null == len || len > arr.length) {\r\n len = arr.length\r\n }\r\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\r\n arr2[i] = arr[i]\r\n }\r\n return arr2\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\nvar COORDINATE_EPSILON = .001;\r\n\r\nfunction convertToCellsArray(rows) {\r\n return [].concat.apply([], rows.map((function(rowInfo) {\r\n return rowInfo.cells.filter((function(cell) {\r\n return !(0, _type.isDefined)(cell.pdfCell.isMerged)\r\n })).map((function(cellInfo) {\r\n return _extends({}, cellInfo.pdfCell._rect, {\r\n sourceCellInfo: _extends({}, cellInfo.pdfCell, {\r\n gridCell: cellInfo.gridCell\r\n })\r\n })\r\n }))\r\n })))\r\n}\r\n\r\nfunction splitByPages(doc, rowsInfo, options, onSeparateRectHorizontally, onSeparateRectVertically) {\r\n if (0 === rowsInfo.length) {\r\n return [\r\n []\r\n ]\r\n }\r\n var maxBottomRight = {\r\n x: (0, _pdf_utils.getPageWidth)(doc) - options.margin.right,\r\n y: (0, _pdf_utils.getPageHeight)(doc) - options.margin.bottom\r\n };\r\n var headerRows = rowsInfo.filter((function(r) {\r\n return \"header\" === r.rowType\r\n }));\r\n var headerHeight = headerRows.reduce((function(accumulator, row) {\r\n return accumulator + row.height\r\n }), 0);\r\n var verticallyPages = splitRectsByPages(convertToCellsArray(rowsInfo), options.margin.top, \"y\", \"h\", (function(isFirstPage, currentCoordinate) {\r\n var additionalHeight = !isFirstPage && options.repeatHeaders ? headerHeight : 0;\r\n return (0, _draw_utils.roundToThreeDecimals)(currentCoordinate + additionalHeight) <= (0, _draw_utils.roundToThreeDecimals)(maxBottomRight.y)\r\n }), (function(rect, currentPageMaxRectCoordinate, currentPageRects, rectsToSplit) {\r\n var args = {\r\n sourceRect: rect,\r\n topRect: {\r\n x: rect.x,\r\n y: rect.y,\r\n w: rect.w,\r\n h: currentPageMaxRectCoordinate - rect.y\r\n },\r\n bottomRect: {\r\n x: rect.x,\r\n y: currentPageMaxRectCoordinate,\r\n w: rect.w,\r\n h: rect.h - (currentPageMaxRectCoordinate - rect.y)\r\n }\r\n };\r\n onSeparateRectVertically(args);\r\n currentPageRects.push(args.topRect);\r\n rectsToSplit.push(args.bottomRect)\r\n }), (0, _create_on_split_multipage_row.createOnSplitMultiPageRow)(doc, options, headerHeight, maxBottomRight));\r\n if (options.repeatHeaders) {\r\n for (var i = 1; i < verticallyPages.length; i++) {\r\n verticallyPages[i].forEach((function(rect) {\r\n return rect.y += headerHeight\r\n }));\r\n var headerCells = convertToCellsArray(headerRows);\r\n headerCells.forEach((function(cell) {\r\n cell.y -= options.topLeft.y\r\n }));\r\n verticallyPages[i] = [].concat(_toConsumableArray(headerCells), _toConsumableArray(verticallyPages[i]))\r\n }\r\n }\r\n var pageIndex = 0;\r\n while (pageIndex < verticallyPages.length) {\r\n var horizontallyPages = splitRectsByPages(verticallyPages[pageIndex], options.margin.left, \"x\", \"w\", (function(pagesLength, currentCoordinate) {\r\n return (0, _draw_utils.roundToThreeDecimals)(currentCoordinate) <= (0, _draw_utils.roundToThreeDecimals)(maxBottomRight.x)\r\n }), (function(rect, currentPageMaxRectCoordinate, currentPageRects, rectsToSplit) {\r\n var args = {\r\n sourceRect: rect,\r\n leftRect: {\r\n x: rect.x,\r\n y: rect.y,\r\n w: currentPageMaxRectCoordinate - rect.x,\r\n h: rect.h\r\n },\r\n rightRect: {\r\n x: currentPageMaxRectCoordinate,\r\n y: rect.y,\r\n w: rect.w - (currentPageMaxRectCoordinate - rect.x),\r\n h: rect.h\r\n }\r\n };\r\n onSeparateRectHorizontally(args);\r\n currentPageRects.push(args.leftRect);\r\n rectsToSplit.push(args.rightRect)\r\n }));\r\n if (horizontallyPages.length > 1) {\r\n verticallyPages.splice.apply(verticallyPages, [pageIndex, 1].concat(_toConsumableArray(horizontallyPages)));\r\n pageIndex += horizontallyPages.length\r\n } else {\r\n pageIndex += 1\r\n }\r\n }\r\n return verticallyPages.map((function(rects) {\r\n return rects.map((function(rect) {\r\n return _extends({}, rect.sourceCellInfo, {\r\n _rect: rect\r\n })\r\n }))\r\n }))\r\n}\r\n\r\nfunction splitRectsByPages(rects, marginValue, coordinate, dimension, isFitToPage, onSeparateCallback, onSplitMultiPageRow) {\r\n var pages = [];\r\n var rectsToSplit = _toConsumableArray(rects);\r\n var isFitToPageForMultiPageRow = function(isFirstPage, rectHeight) {\r\n return isFitToPage(isFirstPage, rectHeight + marginValue)\r\n };\r\n var _loop = function() {\r\n var currentPageMaxRectCoordinate = 0;\r\n var currentPageRects = rectsToSplit.filter((function(rect) {\r\n var currentRectCoordinate = rect[coordinate] + rect[dimension];\r\n if (isFitToPage(0 === pages.length, currentRectCoordinate)) {\r\n if (currentPageMaxRectCoordinate <= currentRectCoordinate) {\r\n currentPageMaxRectCoordinate = currentRectCoordinate\r\n }\r\n return true\r\n } else {\r\n return false\r\n }\r\n }));\r\n var isCurrentPageContainsOnlyHeader = (0, _get_multipage_row_pages.checkPageContainsOnlyHeader)(currentPageRects, 0 === pages.length);\r\n var multiPageRowPages = (0, _get_multipage_row_pages.getMultiPageRowPages)(currentPageRects, rectsToSplit, isCurrentPageContainsOnlyHeader, onSplitMultiPageRow, isFitToPageForMultiPageRow);\r\n var rectsToSeparate = rectsToSplit.filter((function(rect) {\r\n var currentRectLeft = rect[coordinate];\r\n var currentRectRight = rect[coordinate] + rect[dimension];\r\n return currentPageMaxRectCoordinate - currentRectLeft > COORDINATE_EPSILON && currentRectRight - currentPageMaxRectCoordinate > COORDINATE_EPSILON\r\n }));\r\n rectsToSeparate.forEach((function(rect) {\r\n onSeparateCallback(rect, currentPageMaxRectCoordinate, currentPageRects, rectsToSplit);\r\n var index = rectsToSplit.indexOf(rect);\r\n if (-1 !== index) {\r\n rectsToSplit.splice(index, 1)\r\n }\r\n }));\r\n currentPageRects.forEach((function(rect) {\r\n var index = rectsToSplit.indexOf(rect);\r\n if (-1 !== index) {\r\n rectsToSplit.splice(index, 1)\r\n }\r\n }));\r\n rectsToSplit.forEach((function(rect) {\r\n rect[coordinate] = (0, _type.isDefined)(currentPageMaxRectCoordinate) ? rect[coordinate] - currentPageMaxRectCoordinate + marginValue : rect[coordinate]\r\n }));\r\n var firstPageContainsHeaderAndMultiPageRow = isCurrentPageContainsOnlyHeader && multiPageRowPages.length > 0;\r\n if (firstPageContainsHeaderAndMultiPageRow) {\r\n var _multiPageRowPages = _toArray(multiPageRowPages),\r\n firstPage = _multiPageRowPages[0],\r\n restOfPages = _multiPageRowPages.slice(1);\r\n pages.push([].concat(_toConsumableArray(currentPageRects), _toConsumableArray(firstPage)));\r\n pages.push.apply(pages, _toConsumableArray(restOfPages))\r\n } else if (currentPageRects.length > 0) {\r\n pages.push(currentPageRects);\r\n pages.push.apply(pages, _toConsumableArray(multiPageRowPages))\r\n } else if (multiPageRowPages.length > 0) {\r\n pages.push.apply(pages, _toConsumableArray(multiPageRowPages));\r\n pages.push(rectsToSplit)\r\n } else {\r\n pages.push(rectsToSplit);\r\n return \"break\"\r\n }\r\n };\r\n while (rectsToSplit.length > 0) {\r\n var _ret = _loop();\r\n if (\"break\" === _ret) {\r\n break\r\n }\r\n }\r\n return pages\r\n}\r\n","/**\r\n * DevExtreme (cjs/exporter/jspdf/export_data_grid.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.exportDataGrid = exportDataGrid;\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _errors = _interopRequireDefault(require(\"../../core/errors\"));\r\nvar _export = require(\"./common/export\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar HOW_TO_MIGRATE_ARTICLE = \"https://supportcenter.devexpress.com/ticket/details/t1077554\";\r\n\r\nfunction _getFullOptions(options) {\r\n if (!((0, _type.isDefined)(options) && (0, _type.isObject)(options))) {\r\n throw Error('The \"exportDataGrid\" method requires a configuration object.')\r\n }\r\n if (!((0, _type.isDefined)(options.component) && (0, _type.isObject)(options.component) && \"dxDataGrid\" === options.component.NAME)) {\r\n throw Error('The \"component\" field must contain a DataGrid instance.')\r\n }\r\n if (!((0, _type.isDefined)(options.jsPDFDocument) && (0, _type.isObject)(options.jsPDFDocument))) {\r\n throw Error('The \"jsPDFDocument\" field must contain a jsPDF instance.')\r\n }\r\n if ((0, _type.isDefined)(options.autoTableOptions)) {\r\n _errors.default.log(\"W0001\", \"Export\", \"autoTableOptions\", \"22.1\", \"You can migrate from exporting to PDF with the AutoTable plugin to a new export system. See the following topic for more information: \".concat(HOW_TO_MIGRATE_ARTICLE))\r\n }\r\n return _export.Export.getFullOptions(options)\r\n}\r\n\r\nfunction exportDataGrid(options) {\r\n return _export.Export.export(_getFullOptions(options))\r\n}\r\n","/**\r\n * DevExtreme (cjs/exporter/jspdf/export_gantt.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.exportGantt = exportGantt;\r\n\r\nfunction exportGantt(options) {\r\n var component = options.component;\r\n return null === component || void 0 === component ? void 0 : component.exportToPdf(options)\r\n}\r\n","/**\r\n * DevExtreme (cjs/exporter/pdf_creator.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.getData = getData;\r\nvar _version = require(\"../core/version\");\r\nvar _window = require(\"../core/utils/window\");\r\nvar _image_creator = require(\"./image_creator\");\r\nvar _type = require(\"../core/utils/type\");\r\nvar _extend = require(\"../core/utils/extend\");\r\nvar window = (0, _window.getWindow)();\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 _calcScaledInfo = (0, _image_creator.calcScaledInfo)(options.width, options.height),\r\n width = _calcScaledInfo.width,\r\n height = _calcScaledInfo.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.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\n\r\nfunction getData(data, options) {\r\n return _image_creator.imageCreator.getImageData(data, (0, _extend.extend)({}, options, {\r\n format: \"JPEG\"\r\n })).then((function(imageString) {\r\n var binaryData = composePdfString(imageString, options, convertToPdfDateFormat(getCurDate()));\r\n var pdfData = (0, _type.isFunction)(window.Blob) ? getBlob(binaryData) : getBase64(binaryData);\r\n return pdfData\r\n }))\r\n}\r\n","/**\r\n * DevExtreme (cjs/exporter/svg_creator.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.getData = getData;\r\nexports.svgCreator = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../core/renderer\"));\r\nvar _ajax = _interopRequireDefault(require(\"../core/utils/ajax\"));\r\nvar _window = require(\"../core/utils/window\");\r\nvar _type = require(\"../core/utils/type\");\r\nvar _iterator = require(\"../core/utils/iterator\");\r\nvar _svg = require(\"../core/utils/svg\");\r\nvar _deferred = require(\"../core/utils/deferred\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar window = (0, _window.getWindow)();\r\nvar svgCreator = {\r\n _markup: \"\",\r\n _imageArray: {},\r\n _imageDeferreds: [],\r\n _getBinaryFile: function(src, callback) {\r\n _ajax.default.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 (0, _iterator.each)(that._imageArray, (function(src) {\r\n var deferred = new _deferred.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 = (0, _renderer.default)(element).attr(\"href\") || (0, _renderer.default)(element).attr(\"xlink:href\");\r\n if (!that._imageArray[href]) {\r\n that._imageArray[href] = \"\"\r\n }\r\n }(0, _iterator.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 _deferred.when.apply(_renderer.default, this._imageDeferreds)\r\n },\r\n getData: function(data, options) {\r\n var markup;\r\n var that = this;\r\n var svgElem = (0, _svg.getSvgElement)(data);\r\n var $svgObject = (0, _renderer.default)(svgElem);\r\n $svgObject.find(\"[\".concat(_svg.HIDDEN_FOR_EXPORT, \"]\")).remove();\r\n markup = '' + (0, _svg.getSvgMarkup)($svgObject.get(0), options.backgroundColor);\r\n return that._prepareImages(svgElem).then((function() {\r\n (0, _iterator.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 (0, _type.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\nexports.svgCreator = svgCreator;\r\n\r\nfunction getData(data, options) {\r\n return svgCreator.getData(data, options)\r\n}\r\n","/**\r\n * DevExtreme (cjs/file_management/custom_provider.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _common = require(\"../core/utils/common\");\r\nvar _type = require(\"../core/utils/type\");\r\nvar _data = require(\"../core/utils/data\");\r\nvar _provider_base = _interopRequireDefault(require(\"./provider_base\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar CustomFileSystemProvider = function(_FileSystemProviderBa) {\r\n _inheritsLoose(CustomFileSystemProvider, _FileSystemProviderBa);\r\n\r\n function CustomFileSystemProvider(options) {\r\n var _this;\r\n options = (0, _common.ensureDefined)(options, {});\r\n _this = _FileSystemProviderBa.call(this, options) || this;\r\n _this._hasSubDirsGetter = (0, _data.compileGetter)(options.hasSubDirectoriesExpr || \"hasSubDirectories\");\r\n _this._getItemsFunction = _this._ensureFunction(options.getItems, (function() {\r\n return []\r\n }));\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 return _this\r\n }\r\n var _proto = CustomFileSystemProvider.prototype;\r\n _proto.getItems = function(parentDir) {\r\n var _this2 = this;\r\n var pathInfo = parentDir.getFullPathInfo();\r\n return this._executeActionAsDeferred((function() {\r\n return _this2._getItemsFunction(parentDir)\r\n }), true).then((function(dataItems) {\r\n return _this2._convertDataObjectsToFileItems(dataItems, pathInfo)\r\n }))\r\n };\r\n _proto.renameItem = function(item, name) {\r\n var _this3 = this;\r\n return this._executeActionAsDeferred((function() {\r\n return _this3._renameItemFunction(item, name)\r\n }))\r\n };\r\n _proto.createDirectory = function(parentDir, name) {\r\n var _this4 = this;\r\n return this._executeActionAsDeferred((function() {\r\n return _this4._createDirectoryFunction(parentDir, name)\r\n }))\r\n };\r\n _proto.deleteItems = function(items) {\r\n var _this5 = this;\r\n return items.map((function(item) {\r\n return _this5._executeActionAsDeferred((function() {\r\n return _this5._deleteItemFunction(item)\r\n }))\r\n }))\r\n };\r\n _proto.moveItems = function(items, destinationDirectory) {\r\n var _this6 = this;\r\n return items.map((function(item) {\r\n return _this6._executeActionAsDeferred((function() {\r\n return _this6._moveItemFunction(item, destinationDirectory)\r\n }))\r\n }))\r\n };\r\n _proto.copyItems = function(items, destinationFolder) {\r\n var _this7 = this;\r\n return items.map((function(item) {\r\n return _this7._executeActionAsDeferred((function() {\r\n return _this7._copyItemFunction(item, destinationFolder)\r\n }))\r\n }))\r\n };\r\n _proto.uploadFileChunk = function(fileData, chunksInfo, destinationDirectory) {\r\n var _this8 = this;\r\n return this._executeActionAsDeferred((function() {\r\n return _this8._uploadFileChunkFunction(fileData, chunksInfo, destinationDirectory)\r\n }))\r\n };\r\n _proto.abortFileUpload = function(fileData, chunksInfo, destinationDirectory) {\r\n var _this9 = this;\r\n return this._executeActionAsDeferred((function() {\r\n return _this9._abortFileUploadFunction(fileData, chunksInfo, destinationDirectory)\r\n }))\r\n };\r\n _proto.downloadItems = function(items) {\r\n var _this10 = this;\r\n return this._executeActionAsDeferred((function() {\r\n return _this10._downloadItemsFunction(items)\r\n }))\r\n };\r\n _proto.getItemsContent = function(items) {\r\n var _this11 = this;\r\n return this._executeActionAsDeferred((function() {\r\n return _this11._getItemsContentFunction(items)\r\n }))\r\n };\r\n _proto._hasSubDirs = function(dataObj) {\r\n var hasSubDirs = this._hasSubDirsGetter(dataObj);\r\n return \"boolean\" === typeof hasSubDirs ? hasSubDirs : true\r\n };\r\n _proto._getKeyExpr = function(options) {\r\n return options.keyExpr || \"key\"\r\n };\r\n _proto._ensureFunction = function(functionObject, defaultFunction) {\r\n defaultFunction = defaultFunction || _common.noop;\r\n return (0, _type.isFunction)(functionObject) ? functionObject : defaultFunction\r\n };\r\n return CustomFileSystemProvider\r\n}(_provider_base.default);\r\nvar _default = CustomFileSystemProvider;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/file_management/error.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar FileSystemError = function(errorCode, fileSystemItem, errorText) {\r\n this.errorCode = errorCode;\r\n this.fileSystemItem = fileSystemItem;\r\n this.errorText = errorText\r\n};\r\nvar _default = FileSystemError;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/file_management/error_codes.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\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\nvar _default = ErrorCode;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/file_management/file_system_item.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _type = require(\"../core/utils/type\");\r\nvar _utils = require(\"./utils\");\r\n\r\nfunction _toConsumableArray(arr) {\r\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread()\r\n}\r\n\r\nfunction _nonIterableSpread() {\r\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _unsupportedIterableToArray(o, minLen) {\r\n if (!o) {\r\n return\r\n }\r\n if (\"string\" === typeof o) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n var n = Object.prototype.toString.call(o).slice(8, -1);\r\n if (\"Object\" === n && o.constructor) {\r\n n = o.constructor.name\r\n }\r\n if (\"Map\" === n || \"Set\" === n) {\r\n return Array.from(o)\r\n }\r\n if (\"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n}\r\n\r\nfunction _iterableToArray(iter) {\r\n if (\"undefined\" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter[\"@@iterator\"]) {\r\n return Array.from(iter)\r\n }\r\n}\r\n\r\nfunction _arrayWithoutHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return _arrayLikeToArray(arr)\r\n }\r\n}\r\n\r\nfunction _arrayLikeToArray(arr, len) {\r\n if (null == len || len > arr.length) {\r\n len = arr.length\r\n }\r\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\r\n arr2[i] = arr[i]\r\n }\r\n return arr2\r\n}\r\nvar FileSystemItem = function() {\r\n function FileSystemItem() {\r\n var ctor = (0, _type.isString)(arguments[0]) ? this._publicCtor : this._internalCtor;\r\n ctor.apply(this, arguments)\r\n }\r\n var _proto = FileSystemItem.prototype;\r\n _proto._internalCtor = function(pathInfo, name, isDirectory, key) {\r\n this.name = name || \"\";\r\n this.pathInfo = pathInfo && _toConsumableArray(pathInfo) || [];\r\n this.parentPath = this._getPathByPathInfo(this.pathInfo);\r\n this.relativeName = (0, _utils.pathCombine)(this.parentPath, name);\r\n this.key = key || this._getPathByPathInfo(this.getFullPathInfo(), true);\r\n this.path = (0, _utils.pathCombine)(this.parentPath, name);\r\n this.pathKeys = this.pathInfo.map((function(_ref) {\r\n var key = _ref.key;\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 _proto._publicCtor = function(path, isDirectory, pathKeys) {\r\n this.path = path || \"\";\r\n this.pathKeys = pathKeys || [];\r\n var pathInfo = [];\r\n var parts = (0, _utils.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: (0, _utils.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 = (0, _utils.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 _proto._initialize = function(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 _proto.getFullPathInfo = function() {\r\n var pathInfo = _toConsumableArray(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 _proto.isRoot = function() {\r\n return \"\" === this.path\r\n };\r\n _proto.getFileExtension = function() {\r\n return this.isDirectory ? \"\" : (0, _utils.getFileExtension)(this.name)\r\n };\r\n _proto.equals = function(item) {\r\n return item && this.key === item.key\r\n };\r\n _proto.createClone = function() {\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 _proto._getPathByPathInfo = function(pathInfo, escape) {\r\n return pathInfo.map((function(info) {\r\n return escape ? (0, _utils.getEscapedFileName)(info.name) : info.name\r\n })).join(_utils.PATH_SEPARATOR)\r\n };\r\n return FileSystemItem\r\n}();\r\nvar _default = FileSystemItem;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/file_management/object_provider.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _common = require(\"../core/utils/common\");\r\nvar _data = require(\"../core/utils/data\");\r\nvar _guid = _interopRequireDefault(require(\"../core/guid\"));\r\nvar _type = require(\"../core/utils/type\");\r\nvar _errors = require(\"../data/errors\");\r\nvar _deferred = require(\"../core/utils/deferred\");\r\nvar _window = require(\"../core/utils/window\");\r\nvar _file_saver = require(\"../exporter/file_saver\");\r\nvar _ui = _interopRequireDefault(require(\"../ui/widget/ui.errors\"));\r\nvar _jszip = _interopRequireDefault(require(\"jszip\"));\r\nvar _provider_base = _interopRequireDefault(require(\"./provider_base\"));\r\nvar _error = _interopRequireDefault(require(\"./error\"));\r\nvar _error_codes = _interopRequireDefault(require(\"./error_codes\"));\r\nvar _utils = require(\"./utils\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar window = (0, _window.getWindow)();\r\nvar ObjectFileSystemProvider = function(_FileSystemProviderBa) {\r\n _inheritsLoose(ObjectFileSystemProvider, _FileSystemProviderBa);\r\n\r\n function ObjectFileSystemProvider(options) {\r\n var _this;\r\n options = (0, _common.ensureDefined)(options, {});\r\n _this = _FileSystemProviderBa.call(this, options) || this;\r\n var initialArray = options.data;\r\n if (initialArray && !Array.isArray(initialArray)) {\r\n throw _errors.errors.Error(\"E4006\")\r\n }\r\n var itemsExpr = options.itemsExpr || \"items\";\r\n _this._subFileItemsGetter = (0, _data.compileGetter)(itemsExpr);\r\n _this._subFileItemsSetter = _this._getSetter(itemsExpr);\r\n var contentExpr = options.contentExpr || \"content\";\r\n _this._contentGetter = (0, _data.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 return _this\r\n }\r\n var _proto = ObjectFileSystemProvider.prototype;\r\n _proto.getItems = function(parentDir) {\r\n var _this2 = this;\r\n return this._executeActionAsDeferred((function() {\r\n return _this2._getItems(parentDir)\r\n }), true)\r\n };\r\n _proto.renameItem = function(item, name) {\r\n var _this3 = this;\r\n return this._executeActionAsDeferred((function() {\r\n return _this3._renameItemCore(item, name)\r\n }))\r\n };\r\n _proto._renameItemCore = function(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 _proto.createDirectory = function(parentDir, name) {\r\n var _this4 = this;\r\n return this._executeActionAsDeferred((function() {\r\n _this4._validateDirectoryExists(parentDir);\r\n _this4._createDataObject(parentDir, name, true)\r\n }))\r\n };\r\n _proto.deleteItems = function(items) {\r\n var _this5 = this;\r\n return items.map((function(item) {\r\n return _this5._executeActionAsDeferred((function() {\r\n return _this5._deleteItem(item)\r\n }))\r\n }))\r\n };\r\n _proto.moveItems = function(items, destinationDir) {\r\n var _this6 = this;\r\n var destinationDataItem = this._findDataObject(destinationDir);\r\n var array = this._getDirectoryDataItems(destinationDataItem);\r\n var deferreds = items.map((function(item) {\r\n return _this6._executeActionAsDeferred((function() {\r\n _this6._checkAbilityToMoveOrCopyItem(item, destinationDir);\r\n var dataItem = _this6._findDataObject(item);\r\n _this6._deleteItem(item);\r\n array.push(dataItem)\r\n }))\r\n }));\r\n return deferreds\r\n };\r\n _proto.copyItems = function(items, destinationDir) {\r\n var _this7 = this;\r\n var destinationDataItem = this._findDataObject(destinationDir);\r\n var array = this._getDirectoryDataItems(destinationDataItem);\r\n var deferreds = items.map((function(item) {\r\n return _this7._executeActionAsDeferred((function() {\r\n _this7._checkAbilityToMoveOrCopyItem(item, destinationDir);\r\n var dataItem = _this7._findDataObject(item);\r\n var copiedItem = _this7._createCopy(dataItem);\r\n array.push(copiedItem)\r\n }))\r\n }));\r\n return deferreds\r\n };\r\n _proto.uploadFileChunk = function(fileData, chunksInfo, destinationDirectory) {\r\n var _this8 = this;\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.Deferred;\r\n var reader = this._createFileReader();\r\n reader.readAsDataURL(fileData);\r\n reader.onload = function() {\r\n var content = reader.result.split(\",\")[1];\r\n var dataObj = _this8._createDataObject(destinationDirectory, fileData.name, false);\r\n _this8._sizeSetter(dataObj, fileData.size);\r\n _this8._dateModifiedSetter(dataObj, fileData.lastModifiedDate);\r\n _this8._contentSetter(dataObj, content);\r\n deferred.resolve()\r\n };\r\n reader.onerror = function(error) {\r\n return deferred.reject(error)\r\n };\r\n return deferred\r\n };\r\n _proto.downloadItems = function(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 _proto._downloadSingleFile = function(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 _file_saver.fileSaver.saveAs(file.name, null, blob)\r\n };\r\n _proto._downloadMultipleFiles = function(files) {\r\n var _this9 = this;\r\n var jsZip = getJSZip();\r\n var zip = new jsZip;\r\n files.forEach((function(file) {\r\n return zip.file(file.name, _this9._getFileContent(file), {\r\n base64: true\r\n })\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.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((function(blob) {\r\n return _file_saver.fileSaver.saveAs(\"files.zip\", null, blob)\r\n }))\r\n };\r\n _proto._getFileContent = function(file) {\r\n var dataItem = this._findDataObject(file);\r\n return this._contentGetter(dataItem) || \"\"\r\n };\r\n _proto._validateDirectoryExists = function(directoryInfo) {\r\n if (!this._isFileItemExists(directoryInfo) || this._isDirGetter(directoryInfo.fileItem)) {\r\n throw new _error.default(_error_codes.default.DirectoryNotFound, directoryInfo)\r\n }\r\n };\r\n _proto._checkAbilityToMoveOrCopyItem = function(item, destinationDir) {\r\n var _this10 = this;\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((function(info) {\r\n currentPath = (0, _utils.pathCombine)(currentPath, info.name);\r\n var pathKey = _this10._getDataObjectKey(info.key, currentPath);\r\n if (pathKey === itemKey) {\r\n throw new _error.default(_error_codes.default.Other, item)\r\n }\r\n }))\r\n };\r\n _proto._createDataObject = function(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.default));\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 _proto._createCopy = function(dataObj) {\r\n var _this11 = this;\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((function(childItem) {\r\n var childCopy = _this11._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 _proto._deleteItem = function(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 _proto._getDirectoryDataItems = function(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 _proto._getItems = function(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 _proto._ensureKeysForDuplicateNameItems = function(dataObjects) {\r\n var _this12 = this;\r\n var names = {};\r\n dataObjects.forEach((function(obj) {\r\n var name = _this12._nameGetter(obj);\r\n if (names[name]) {\r\n _this12._ensureDataObjectKey(obj)\r\n } else {\r\n names[name] = true\r\n }\r\n }))\r\n };\r\n _proto._findDataObject = function(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 ? _error_codes.default.DirectoryNotFound : _error_codes.default.FileNotFound;\r\n throw new _error.default(errorCode, item)\r\n }\r\n return result\r\n };\r\n _proto._findFileItemObj = function(pathInfo) {\r\n var _this13 = 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((function(item) {\r\n var hasCorrectFileItemType = _this13._isDirGetter(item) || i === pathInfo.length - 1;\r\n return _this13._getKeyFromDataObject(item, currentPath) === pathInfo[i].key && _this13._nameGetter(item) === pathInfo[i].name && hasCorrectFileItemType\r\n }));\r\n if (fileItemObj) {\r\n currentPath = (0, _utils.pathCombine)(currentPath, _this13._nameGetter(fileItemObj));\r\n fileItemObjects = _this13._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 _proto._getKeyFromDataObject = function(dataObj, defaultKeyPrefix) {\r\n var key = this._keyGetter(dataObj);\r\n var relativeName = (0, _utils.pathCombine)(defaultKeyPrefix, this._nameGetter(dataObj));\r\n return this._getDataObjectKey(key, relativeName)\r\n };\r\n _proto._getDataObjectKey = function(key, relativeName) {\r\n return key ? key : relativeName\r\n };\r\n _proto._ensureDataObjectKey = function(dataObj) {\r\n var key = this._keyGetter(dataObj);\r\n if (!key) {\r\n key = String(new _guid.default);\r\n this._keySetter(dataObj, key)\r\n }\r\n return key\r\n };\r\n _proto._hasSubDirs = function(dataObj) {\r\n var subItems = (0, _common.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 _proto._getSetter = function(expr) {\r\n return (0, _type.isFunction)(expr) ? expr : (0, _data.compileSetter)(expr)\r\n };\r\n _proto._isFileItemExists = function(fileItem) {\r\n return fileItem.isDirectory && fileItem.isRoot() || !!this._findFileItemObj(fileItem.getFullPathInfo())\r\n };\r\n _proto._createFileReader = function() {\r\n return new window.FileReader\r\n };\r\n return ObjectFileSystemProvider\r\n}(_provider_base.default);\r\n\r\nfunction getJSZip() {\r\n if (!_jszip.default) {\r\n throw _ui.default.Error(\"E1041\", \"JSZip\")\r\n }\r\n return _jszip.default\r\n}\r\nvar _default = ObjectFileSystemProvider;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/file_management/provider_base.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _data = require(\"../core/utils/data\");\r\nvar _common = require(\"../core/utils/common\");\r\nvar _date_serialization = _interopRequireDefault(require(\"../core/utils/date_serialization\"));\r\nvar _iterator = require(\"../core/utils/iterator\");\r\nvar _type = require(\"../core/utils/type\");\r\nvar _deferred = require(\"../core/utils/deferred\");\r\nvar _file_system_item = _interopRequireDefault(require(\"./file_system_item\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar DEFAULT_FILE_UPLOAD_CHUNK_SIZE = 2e5;\r\nvar FileSystemProviderBase = function() {\r\n function FileSystemProviderBase(options) {\r\n options = (0, _common.ensureDefined)(options, {});\r\n this._keyGetter = (0, _data.compileGetter)(this._getKeyExpr(options));\r\n this._nameGetter = (0, _data.compileGetter)(this._getNameExpr(options));\r\n this._isDirGetter = (0, _data.compileGetter)(this._getIsDirExpr(options));\r\n this._sizeGetter = (0, _data.compileGetter)(this._getSizeExpr(options));\r\n this._dateModifiedGetter = (0, _data.compileGetter)(this._getDateModifiedExpr(options));\r\n this._thumbnailGetter = (0, _data.compileGetter)(options.thumbnailExpr || \"thumbnail\")\r\n }\r\n var _proto = FileSystemProviderBase.prototype;\r\n _proto.getItems = function(parentDirectory) {\r\n return []\r\n };\r\n _proto.renameItem = function(item, name) {};\r\n _proto.createDirectory = function(parentDirectory, name) {};\r\n _proto.deleteItems = function(items) {};\r\n _proto.moveItems = function(items, destinationDirectory) {};\r\n _proto.copyItems = function(items, destinationDirectory) {};\r\n _proto.uploadFileChunk = function(fileData, chunksInfo, destinationDirectory) {};\r\n _proto.abortFileUpload = function(fileData, chunksInfo, destinationDirectory) {};\r\n _proto.downloadItems = function(items) {};\r\n _proto.getItemsContent = function(items) {};\r\n _proto.getFileUploadChunkSize = function() {\r\n return DEFAULT_FILE_UPLOAD_CHUNK_SIZE\r\n };\r\n _proto._convertDataObjectsToFileItems = function(entries, pathInfo) {\r\n var _this = this;\r\n var result = [];\r\n (0, _iterator.each)(entries, (function(_, entry) {\r\n var fileItem = _this._createFileItem(entry, pathInfo);\r\n result.push(fileItem)\r\n }));\r\n return result\r\n };\r\n _proto._createFileItem = function(dataObj, pathInfo) {\r\n var key = this._keyGetter(dataObj);\r\n var fileItem = new _file_system_item.default(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 = _date_serialization.default.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 _proto._hasSubDirs = function(dataObj) {\r\n return true\r\n };\r\n _proto._getKeyExpr = function(options) {\r\n return options.keyExpr || this._defaultKeyExpr\r\n };\r\n _proto._defaultKeyExpr = function(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 _proto._getNameExpr = function(options) {\r\n return options.nameExpr || \"name\"\r\n };\r\n _proto._getIsDirExpr = function(options) {\r\n return options.isDirectoryExpr || \"isDirectory\"\r\n };\r\n _proto._getSizeExpr = function(options) {\r\n return options.sizeExpr || \"size\"\r\n };\r\n _proto._getDateModifiedExpr = function(options) {\r\n return options.dateModifiedExpr || \"dateModified\"\r\n };\r\n _proto._executeActionAsDeferred = function(action, keepResult) {\r\n var deferred = new _deferred.Deferred;\r\n try {\r\n var result = action();\r\n if ((0, _type.isPromise)(result)) {\r\n (0, _deferred.fromPromise)(result).done((function(userResult) {\r\n return deferred.resolve(keepResult && userResult || void 0)\r\n })).fail((function(error) {\r\n return deferred.reject(error)\r\n }))\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 return FileSystemProviderBase\r\n}();\r\nvar _default = FileSystemProviderBase;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/file_management/remote_provider.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../core/renderer\"));\r\nvar _ajax = _interopRequireDefault(require(\"../core/utils/ajax\"));\r\nvar _common = require(\"../core/utils/common\");\r\nvar _guid = _interopRequireDefault(require(\"../core/guid\"));\r\nvar _window = require(\"../core/utils/window\");\r\nvar _iterator = require(\"../core/utils/iterator\");\r\nvar _deferred = require(\"../core/utils/deferred\");\r\nvar _events_engine = _interopRequireDefault(require(\"../events/core/events_engine\"));\r\nvar _provider_base = _interopRequireDefault(require(\"./provider_base\"));\r\nvar _data2 = require(\"../core/utils/data\");\r\nvar _type = require(\"../core/utils/type\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _defineProperty(obj, key, value) {\r\n key = _toPropertyKey(key);\r\n if (key in obj) {\r\n Object.defineProperty(obj, key, {\r\n value: value,\r\n enumerable: true,\r\n configurable: true,\r\n writable: true\r\n })\r\n } else {\r\n obj[key] = value\r\n }\r\n return obj\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar window = (0, _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\nvar RemoteFileSystemProvider = function(_FileSystemProviderBa) {\r\n _inheritsLoose(RemoteFileSystemProvider, _FileSystemProviderBa);\r\n\r\n function RemoteFileSystemProvider(options) {\r\n var _this;\r\n options = (0, _common.ensureDefined)(options, {});\r\n _this = _FileSystemProviderBa.call(this, options) || this;\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 = (0, _data2.compileGetter)(options.hasSubDirectoriesExpr || \"hasSubDirectories\");\r\n return _this\r\n }\r\n var _proto = RemoteFileSystemProvider.prototype;\r\n _proto.getItems = function(parentDir) {\r\n var _this2 = this;\r\n var pathInfo = parentDir.getFullPathInfo();\r\n return this._executeRequest(FILE_SYSTEM_COMMNAD.GET_DIR_CONTENTS, {\r\n pathInfo: pathInfo\r\n }).then((function(result) {\r\n return _this2._convertDataObjectsToFileItems(result.result, pathInfo)\r\n }))\r\n };\r\n _proto.renameItem = function(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 _proto.createDirectory = function(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 _proto.deleteItems = function(items) {\r\n var _this3 = this;\r\n return items.map((function(item) {\r\n return _this3._executeRequest(FILE_SYSTEM_COMMNAD.REMOVE, {\r\n pathInfo: item.getFullPathInfo(),\r\n isDirectory: item.isDirectory\r\n })\r\n }))\r\n };\r\n _proto.moveItems = function(items, destinationDirectory) {\r\n var _this4 = this;\r\n return items.map((function(item) {\r\n return _this4._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 };\r\n _proto.copyItems = function(items, destinationFolder) {\r\n var _this5 = this;\r\n return items.map((function(item) {\r\n return _this5._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 };\r\n _proto.uploadFileChunk = function(fileData, chunksInfo, destinationDirectory) {\r\n var _data;\r\n if (0 === chunksInfo.chunkIndex) {\r\n chunksInfo.customData.uploadId = new _guid.default\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: (_data = {}, _defineProperty(_data, FILE_CHUNK_BLOB_NAME, chunksInfo.chunkBlob), _defineProperty(_data, \"arguments\", JSON.stringify(args)), _defineProperty(_data, \"command\", FILE_SYSTEM_COMMNAD.UPLOAD_CHUNK), _data),\r\n upload: {\r\n onprogress: _common.noop,\r\n onloadstart: _common.noop,\r\n onabort: _common.noop\r\n },\r\n xhrFields: {},\r\n cache: false\r\n };\r\n var deferred = new _deferred.Deferred;\r\n this._beforeSendInternal(ajaxSettings);\r\n _ajax.default.sendRequest(ajaxSettings).done((function(result) {\r\n !result.success && deferred.reject(result) || deferred.resolve()\r\n })).fail(deferred.reject);\r\n return deferred.promise()\r\n };\r\n _proto.abortFileUpload = function(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 _proto.downloadItems = function(items) {\r\n var args = this._getDownloadArgs(items);\r\n var $form = (0, _renderer.default)(\"
    \").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 _events_engine.default.trigger($form, \"submit\");\r\n setTimeout((function() {\r\n return $form.remove()\r\n }))\r\n };\r\n _proto.getItemsContent = function(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: _common.noop,\r\n onloadstart: _common.noop,\r\n onabort: _common.noop\r\n },\r\n xhrFields: {},\r\n cache: false\r\n };\r\n this._beforeSendInternal(ajaxSettings);\r\n return _ajax.default.sendRequest(ajaxSettings)\r\n };\r\n _proto._getDownloadArgs = function(items) {\r\n var pathInfoList = items.map((function(item) {\r\n return item.getFullPathInfo()\r\n }));\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 _proto._getItemsIds = function(items) {\r\n return items.map((function(it) {\r\n return it.relativeName\r\n }))\r\n };\r\n _proto._executeRequest = function(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.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.default.sendRequest(ajaxSettings).then((function(result) {\r\n !result.success && deferred.reject(result) || deferred.resolve(result)\r\n }), (function(e) {\r\n return deferred.reject(e)\r\n }));\r\n return deferred.promise()\r\n };\r\n _proto._beforeSubmitInternal = function(formDataEntries) {\r\n if ((0, _type.isFunction)(this._beforeSubmit)) {\r\n this._beforeSubmit({\r\n formData: formDataEntries\r\n })\r\n }\r\n };\r\n _proto._beforeSendInternal = function(ajaxSettings) {\r\n if ((0, _type.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 ((0, _type.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 _proto._createFormData = function(formDataEntries) {\r\n var formData = new window.FormData;\r\n for (var entryName in formDataEntries) {\r\n if (Object.prototype.hasOwnProperty.call(formDataEntries, entryName) && (0, _type.isDefined)(formDataEntries[entryName])) {\r\n formData.append(entryName, formDataEntries[entryName])\r\n }\r\n }\r\n return formData\r\n };\r\n _proto._appendFormDataInputsToForm = function(formDataEntries, formElement) {\r\n for (var entryName in formDataEntries) {\r\n if (Object.prototype.hasOwnProperty.call(formDataEntries, entryName) && (0, _type.isDefined)(formDataEntries[entryName])) {\r\n (0, _renderer.default)(\"\").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 _proto._getEndpointUrl = function(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 _proto._getQueryString = function(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 _proto._processQueryStringArrayParam = function(key, array, pairs) {\r\n var _this6 = this;\r\n (0, _iterator.each)(array, (function(_, item) {\r\n var pair = _this6._getQueryStringPair(key, item);\r\n pairs.push(pair)\r\n }))\r\n };\r\n _proto._getQueryStringPair = function(key, value) {\r\n return encodeURIComponent(key) + \"=\" + encodeURIComponent(value)\r\n };\r\n _proto._hasSubDirs = function(dataObj) {\r\n var hasSubDirs = this._hasSubDirsGetter(dataObj);\r\n return \"boolean\" === typeof hasSubDirs ? hasSubDirs : true\r\n };\r\n _proto._getKeyExpr = function(options) {\r\n return options.keyExpr || \"key\"\r\n };\r\n return RemoteFileSystemProvider\r\n}(_provider_base.default);\r\nvar _default = RemoteFileSystemProvider;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/file_management/utils.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.pathCombine = exports.getPathParts = exports.getParentPath = exports.getName = exports.getFileExtension = exports.getEscapedFileName = exports.PATH_SEPARATOR = void 0;\r\nvar _iterator = require(\"../core/utils/iterator\");\r\nvar PATH_SEPARATOR = \"/\";\r\nexports.PATH_SEPARATOR = PATH_SEPARATOR;\r\nvar getFileExtension = function(path) {\r\n var index = path.lastIndexOf(\".\");\r\n return -1 !== index ? path.substr(index) : \"\"\r\n};\r\nexports.getFileExtension = getFileExtension;\r\nvar getName = function(path) {\r\n var index = path.lastIndexOf(PATH_SEPARATOR);\r\n return -1 !== index ? path.substr(index + PATH_SEPARATOR.length) : path\r\n};\r\nexports.getName = getName;\r\nvar getParentPath = function(path) {\r\n var index = path.lastIndexOf(PATH_SEPARATOR);\r\n return -1 !== index ? path.substr(0, index) : \"\"\r\n};\r\nexports.getParentPath = getParentPath;\r\nvar getPathParts = function(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\nexports.getPathParts = getPathParts;\r\nvar getEscapedFileName = function(fileName) {\r\n return fileName.replace(/\\/{1,1}/g, \"//\")\r\n};\r\nexports.getEscapedFileName = getEscapedFileName;\r\nvar pathCombine = function() {\r\n var result = \"\";\r\n (0, _iterator.each)(arguments, (function(_, 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\nexports.pathCombine = pathCombine;\r\n","/**\r\n * DevExtreme (cjs/format_helper.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _type = require(\"./core/utils/type\");\r\nvar _date = _interopRequireDefault(require(\"./core/utils/date\"));\r\nvar _number = _interopRequireDefault(require(\"./localization/number\"));\r\nvar _date2 = _interopRequireDefault(require(\"./localization/date\"));\r\nvar _dependency_injector = _interopRequireDefault(require(\"./core/utils/dependency_injector\"));\r\nrequire(\"./localization/currency\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar _default = (0, _dependency_injector.default)({\r\n format: function(value, _format) {\r\n var formatIsValid = (0, _type.isString)(_format) && \"\" !== _format || (0, _type.isPlainObject)(_format) || (0, _type.isFunction)(_format);\r\n var valueIsValid = (0, _type.isNumeric)(value) || (0, _type.isDate)(value);\r\n if (!formatIsValid || !valueIsValid) {\r\n return (0, _type.isDefined)(value) ? value.toString() : \"\"\r\n }\r\n if ((0, _type.isFunction)(_format)) {\r\n return _format(value)\r\n }\r\n if ((0, _type.isString)(_format)) {\r\n _format = {\r\n type: _format\r\n }\r\n }\r\n if ((0, _type.isNumeric)(value)) {\r\n return _number.default.format(value, _format)\r\n }\r\n if ((0, _type.isDate)(value)) {\r\n return _date2.default.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 _date2.default.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 _date2.default.getMonthNames(\"abbreviated\")[date.getMonth()] + \" \" + _date2.default.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 _date2.default.format(date, \"dayofweek\") + \", \" + _date2.default.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 = _date.default.getDatesDifferences(ticks[0], ticks[1]);\r\n for (i = 1; i < ticks.length - 1; i++) {\r\n currentDiff = _date.default.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 = (0, _type.isString)(tickInterval) ? tickInterval.toLowerCase() : tickInterval;\r\n var dateDifferences = _date.default.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 = _date.default.getDateUnitInterval(dateDifferences);\r\n correctDateDifferences(dateDifferences, dateUnitInterval, true);\r\n dateUnitInterval = _date.default.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\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/integration/jquery.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _jquery = _interopRequireDefault(require(\"jquery\"));\r\nvar _version = require(\"../core/utils/version\");\r\nvar _error = _interopRequireDefault(require(\"../core/utils/error\"));\r\nvar _use_jquery = _interopRequireDefault(require(\"./jquery/use_jquery\"));\r\nrequire(\"./jquery/renderer\");\r\nrequire(\"./jquery/hooks\");\r\nrequire(\"./jquery/deferred\");\r\nrequire(\"./jquery/hold_ready\");\r\nrequire(\"./jquery/events\");\r\nrequire(\"./jquery/easing\");\r\nrequire(\"./jquery/element_data\");\r\nrequire(\"./jquery/element\");\r\nrequire(\"./jquery/component_registrator\");\r\nrequire(\"./jquery/ajax\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar useJQuery = (0, _use_jquery.default)();\r\nif (useJQuery && (0, _version.compare)(_jquery.default.fn.jquery, [1, 10]) < 0) {\r\n throw _error.default.Error(\"E0012\")\r\n}\r\n","/**\r\n * DevExtreme (cjs/integration/jquery/ajax.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _jquery = _interopRequireDefault(require(\"jquery\"));\r\nvar _ajax = _interopRequireDefault(require(\"../../core/utils/ajax\"));\r\nvar _use_jquery = _interopRequireDefault(require(\"./use_jquery\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar useJQuery = (0, _use_jquery.default)();\r\nif (useJQuery) {\r\n _ajax.default.inject({\r\n sendRequest: function(options) {\r\n if (!options.responseType && !options.upload) {\r\n return _jquery.default.ajax(options)\r\n }\r\n return this.callBase.apply(this, [options])\r\n }\r\n })\r\n}\r\n","/**\r\n * DevExtreme (cjs/integration/jquery/component_registrator.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _jquery = _interopRequireDefault(require(\"jquery\"));\r\nvar _component_registrator_callbacks = _interopRequireDefault(require(\"../../core/component_registrator_callbacks\"));\r\nvar _errors = _interopRequireDefault(require(\"../../core/errors\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nif (_jquery.default) {\r\n var registerJQueryComponent = function(name, componentClass) {\r\n _jquery.default.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.default.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\n _component_registrator_callbacks.default.add(registerJQueryComponent)\r\n}\r\n","/**\r\n * DevExtreme (cjs/integration/jquery/deferred.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _jquery = _interopRequireDefault(require(\"jquery\"));\r\nvar _deferred = require(\"../../core/utils/deferred\");\r\nvar _version = require(\"../../core/utils/version\");\r\nvar _use_jquery = _interopRequireDefault(require(\"./use_jquery\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar useJQuery = (0, _use_jquery.default)();\r\nif (useJQuery) {\r\n var Deferred = _jquery.default.Deferred;\r\n var strategy = {\r\n Deferred: Deferred\r\n };\r\n strategy.when = (0, _version.compare)(_jquery.default.fn.jquery, [3]) < 0 ? _jquery.default.when : function(singleArg) {\r\n if (0 === arguments.length) {\r\n return (new Deferred).resolve()\r\n } else if (1 === arguments.length) {\r\n return singleArg && singleArg.then ? singleArg : (new Deferred).resolve(singleArg)\r\n } else {\r\n return _jquery.default.when.apply(_jquery.default, arguments)\r\n }\r\n };\r\n (0, _deferred.setStrategy)(strategy)\r\n}\r\n","/**\r\n * DevExtreme (cjs/integration/jquery/easing.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _jquery = _interopRequireDefault(require(\"jquery\"));\r\nvar _easing = require(\"../../animation/easing\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nif (_jquery.default) {\r\n (0, _easing.setEasing)(_jquery.default.easing)\r\n}\r\n","/**\r\n * DevExtreme (cjs/integration/jquery/element.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _element = require(\"../../core/element\");\r\nvar _use_jquery = _interopRequireDefault(require(\"./use_jquery\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar useJQuery = (0, _use_jquery.default)();\r\nvar getPublicElement = function($element) {\r\n return $element\r\n};\r\nif (useJQuery) {\r\n (0, _element.setPublicElementWrapper)(getPublicElement)\r\n}\r\n","/**\r\n * DevExtreme (cjs/integration/jquery/element_data.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _jquery = _interopRequireDefault(require(\"jquery\"));\r\nvar _element_data = require(\"../../core/element_data\");\r\nvar _use_jquery = _interopRequireDefault(require(\"./use_jquery\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar useJQuery = (0, _use_jquery.default)();\r\nif (useJQuery) {\r\n (0, _element_data.setDataStrategy)(_jquery.default)\r\n}\r\n","/**\r\n * DevExtreme (cjs/integration/jquery/events.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _jquery = _interopRequireDefault(require(\"jquery\"));\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _use_jquery = _interopRequireDefault(require(\"./use_jquery\"));\r\nvar _event_registrator_callbacks = _interopRequireDefault(require(\"../../events/core/event_registrator_callbacks\"));\r\nvar _dom_adapter = _interopRequireDefault(require(\"../../core/dom_adapter\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar useJQuery = (0, _use_jquery.default)();\r\nif (useJQuery) {\r\n _event_registrator_callbacks.default.add((function(name, eventObject) {\r\n _jquery.default.event.special[name] = eventObject\r\n }));\r\n if (_events_engine.default.passiveEventHandlersSupported()) {\r\n _events_engine.default.forcePassiveFalseEventNames.forEach((function(eventName) {\r\n _jquery.default.event.special[eventName] = {\r\n setup: function(data, namespaces, handler) {\r\n _dom_adapter.default.listen(this, eventName, handler, {\r\n passive: false\r\n })\r\n }\r\n }\r\n }))\r\n }\r\n _events_engine.default.set({\r\n on: function(element) {\r\n (0, _jquery.default)(element).on.apply((0, _jquery.default)(element), Array.prototype.slice.call(arguments, 1))\r\n },\r\n one: function(element) {\r\n (0, _jquery.default)(element).one.apply((0, _jquery.default)(element), Array.prototype.slice.call(arguments, 1))\r\n },\r\n off: function(element) {\r\n (0, _jquery.default)(element).off.apply((0, _jquery.default)(element), Array.prototype.slice.call(arguments, 1))\r\n },\r\n trigger: function(element) {\r\n (0, _jquery.default)(element).trigger.apply((0, _jquery.default)(element), Array.prototype.slice.call(arguments, 1))\r\n },\r\n triggerHandler: function(element) {\r\n (0, _jquery.default)(element).triggerHandler.apply((0, _jquery.default)(element), Array.prototype.slice.call(arguments, 1))\r\n },\r\n Event: _jquery.default.Event\r\n })\r\n}\r\n","/**\r\n * DevExtreme (cjs/integration/jquery/hold_ready.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _jquery = _interopRequireDefault(require(\"jquery\"));\r\nvar _themes_callback = require(\"../../ui/themes_callback\");\r\nvar _ready_callbacks = _interopRequireDefault(require(\"../../core/utils/ready_callbacks\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nif (_jquery.default && !_themes_callback.themeReadyCallback.fired()) {\r\n var holdReady = _jquery.default.holdReady || _jquery.default.fn.holdReady;\r\n holdReady(true);\r\n _themes_callback.themeReadyCallback.add((function() {\r\n _ready_callbacks.default.add((function() {\r\n holdReady(false)\r\n }))\r\n }))\r\n}\r\n","/**\r\n * DevExtreme (cjs/integration/jquery/hooks.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _jquery = _interopRequireDefault(require(\"jquery\"));\r\nvar _use_jquery = _interopRequireDefault(require(\"./use_jquery\"));\r\nvar _version = require(\"../../core/utils/version\");\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _index = require(\"../../events/utils/index\");\r\nvar _event_registrator = _interopRequireDefault(require(\"../../events/core/event_registrator\"));\r\nvar _hook_touch_props = _interopRequireDefault(require(\"../../events/core/hook_touch_props\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar useJQuery = (0, _use_jquery.default)();\r\nif (useJQuery) {\r\n if ((0, _version.compare)(_jquery.default.fn.jquery, [3]) < 0) {\r\n var POINTER_TYPE_MAP = {\r\n 2: \"touch\",\r\n 3: \"pen\",\r\n 4: \"mouse\"\r\n };\r\n (0, _iterator.each)([\"MSPointerDown\", \"MSPointerMove\", \"MSPointerUp\", \"MSPointerCancel\", \"MSPointerOver\", \"MSPointerOut\", \"mouseenter\", \"mouseleave\", \"pointerdown\", \"pointermove\", \"pointerup\", \"pointercancel\", \"pointerover\", \"pointerout\", \"pointerenter\", \"pointerleave\"], (function() {\r\n _jquery.default.event.fixHooks[this] = {\r\n filter: function(event, originalEvent) {\r\n var pointerType = originalEvent.pointerType;\r\n if ((0, _type.isNumeric)(pointerType)) {\r\n event.pointerType = POINTER_TYPE_MAP[pointerType]\r\n }\r\n return event\r\n },\r\n props: _jquery.default.event.mouseHooks.props.concat([\"pointerId\", \"pointerType\", \"originalTarget\", \"width\", \"height\", \"pressure\", \"result\", \"tiltX\", \"charCode\", \"tiltY\", \"detail\", \"isPrimary\", \"prevValue\"])\r\n }\r\n }));\r\n (0, _iterator.each)([\"touchstart\", \"touchmove\", \"touchend\", \"touchcancel\"], (function() {\r\n _jquery.default.event.fixHooks[this] = {\r\n filter: function(event, originalEvent) {\r\n (0, _hook_touch_props.default)((function(name, hook) {\r\n event[name] = hook(originalEvent)\r\n }));\r\n return event\r\n },\r\n props: _jquery.default.event.mouseHooks.props.concat([\"touches\", \"changedTouches\", \"targetTouches\", \"detail\", \"result\", \"originalTarget\", \"charCode\", \"prevValue\"])\r\n }\r\n }));\r\n _jquery.default.event.fixHooks.wheel = _jquery.default.event.mouseHooks;\r\n var DX_EVENT_HOOKS = {\r\n props: _jquery.default.event.mouseHooks.props.concat([\"pointerType\", \"pointerId\", \"pointers\"])\r\n };\r\n _event_registrator.default.callbacks.add((function(name) {\r\n _jquery.default.event.fixHooks[name] = DX_EVENT_HOOKS\r\n }));\r\n var fix = function(event, originalEvent) {\r\n var fixHook = _jquery.default.event.fixHooks[originalEvent.type] || _jquery.default.event.mouseHooks;\r\n var props = fixHook.props ? _jquery.default.event.props.concat(fixHook.props) : _jquery.default.event.props;\r\n var propIndex = props.length;\r\n while (propIndex--) {\r\n var prop = props[propIndex];\r\n event[prop] = originalEvent[prop]\r\n }\r\n return fixHook.filter ? fixHook.filter(event, originalEvent) : event\r\n };\r\n (0, _index.setEventFixMethod)(fix)\r\n } else {\r\n (0, _hook_touch_props.default)((function(name, hook) {\r\n _jquery.default.event.addProp(name, hook)\r\n }))\r\n }\r\n}\r\n","/**\r\n * DevExtreme (cjs/integration/jquery/renderer.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _jquery = _interopRequireDefault(require(\"jquery\"));\r\nvar _renderer_base = _interopRequireDefault(require(\"../../core/renderer_base\"));\r\nvar _use_jquery = _interopRequireDefault(require(\"./use_jquery\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar useJQuery = (0, _use_jquery.default)();\r\nif (useJQuery) {\r\n _renderer_base.default.set(_jquery.default)\r\n}\r\n","/**\r\n * DevExtreme (cjs/integration/jquery/use_jquery.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = _default;\r\nvar _jquery = _interopRequireDefault(require(\"jquery\"));\r\nvar _config = _interopRequireDefault(require(\"../../core/config\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar useJQuery = (0, _config.default)().useJQuery;\r\nif (_jquery.default && false !== useJQuery) {\r\n (0, _config.default)({\r\n useJQuery: true\r\n })\r\n}\r\n\r\nfunction _default() {\r\n return _jquery.default && (0, _config.default)().useJQuery\r\n}\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/localization.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"date\", {\r\n enumerable: true,\r\n get: function() {\r\n return _date.default\r\n }\r\n});\r\nexports.disableIntl = disableIntl;\r\nexports.locale = exports.loadMessages = exports.formatNumber = exports.formatMessage = exports.formatDate = void 0;\r\nObject.defineProperty(exports, \"message\", {\r\n enumerable: true,\r\n get: function() {\r\n return _message.default\r\n }\r\n});\r\nObject.defineProperty(exports, \"number\", {\r\n enumerable: true,\r\n get: function() {\r\n return _number.default\r\n }\r\n});\r\nexports.parseNumber = exports.parseDate = void 0;\r\nvar _core = _interopRequireDefault(require(\"./localization/core\"));\r\nvar _message = _interopRequireDefault(require(\"./localization/message\"));\r\nvar _number = _interopRequireDefault(require(\"./localization/number\"));\r\nvar _date = _interopRequireDefault(require(\"./localization/date\"));\r\nrequire(\"./localization/currency\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar locale = _core.default.locale.bind(_core.default);\r\nexports.locale = locale;\r\nvar loadMessages = _message.default.load.bind(_message.default);\r\nexports.loadMessages = loadMessages;\r\nvar formatMessage = _message.default.format.bind(_message.default);\r\nexports.formatMessage = formatMessage;\r\nvar formatNumber = _number.default.format.bind(_number.default);\r\nexports.formatNumber = formatNumber;\r\nvar parseNumber = _number.default.parse.bind(_number.default);\r\nexports.parseNumber = parseNumber;\r\nvar formatDate = _date.default.format.bind(_date.default);\r\nexports.formatDate = formatDate;\r\nvar parseDate = _date.default.parse.bind(_date.default);\r\nexports.parseDate = parseDate;\r\n\r\nfunction disableIntl() {\r\n if (\"intl\" === _number.default.engine()) {\r\n _number.default.resetInjection()\r\n }\r\n if (\"intl\" === _date.default.engine()) {\r\n _date.default.resetInjection()\r\n }\r\n}\r\n","/**\r\n * DevExtreme (cjs/localization/cldr-data/accounting_formats.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\n// !!! AUTO-GENERATED FILE, DO NOT EDIT\r\nvar _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\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/localization/cldr-data/en.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.enCldr = void 0;\r\n// !!! AUTO-GENERATED FILE, DO NOT EDIT\r\nvar enCldr = {\r\n main: {\r\n en: {\r\n identity: {\r\n version: {\r\n _cldrVersion: \"36\"\r\n }\r\n },\r\n dates: {\r\n calendars: {\r\n gregorian: {\r\n months: {\r\n format: {\r\n abbreviated: {\r\n 1: \"Jan\",\r\n 2: \"Feb\",\r\n 3: \"Mar\",\r\n 4: \"Apr\",\r\n 5: \"May\",\r\n 6: \"Jun\",\r\n 7: \"Jul\",\r\n 8: \"Aug\",\r\n 9: \"Sep\",\r\n 10: \"Oct\",\r\n 11: \"Nov\",\r\n 12: \"Dec\"\r\n },\r\n narrow: {\r\n 1: \"J\",\r\n 2: \"F\",\r\n 3: \"M\",\r\n 4: \"A\",\r\n 5: \"M\",\r\n 6: \"J\",\r\n 7: \"J\",\r\n 8: \"A\",\r\n 9: \"S\",\r\n 10: \"O\",\r\n 11: \"N\",\r\n 12: \"D\"\r\n },\r\n wide: {\r\n 1: \"January\",\r\n 2: \"February\",\r\n 3: \"March\",\r\n 4: \"April\",\r\n 5: \"May\",\r\n 6: \"June\",\r\n 7: \"July\",\r\n 8: \"August\",\r\n 9: \"September\",\r\n 10: \"October\",\r\n 11: \"November\",\r\n 12: \"December\"\r\n }\r\n },\r\n \"stand-alone\": {\r\n abbreviated: {\r\n 1: \"Jan\",\r\n 2: \"Feb\",\r\n 3: \"Mar\",\r\n 4: \"Apr\",\r\n 5: \"May\",\r\n 6: \"Jun\",\r\n 7: \"Jul\",\r\n 8: \"Aug\",\r\n 9: \"Sep\",\r\n 10: \"Oct\",\r\n 11: \"Nov\",\r\n 12: \"Dec\"\r\n },\r\n narrow: {\r\n 1: \"J\",\r\n 2: \"F\",\r\n 3: \"M\",\r\n 4: \"A\",\r\n 5: \"M\",\r\n 6: \"J\",\r\n 7: \"J\",\r\n 8: \"A\",\r\n 9: \"S\",\r\n 10: \"O\",\r\n 11: \"N\",\r\n 12: \"D\"\r\n },\r\n wide: {\r\n 1: \"January\",\r\n 2: \"February\",\r\n 3: \"March\",\r\n 4: \"April\",\r\n 5: \"May\",\r\n 6: \"June\",\r\n 7: \"July\",\r\n 8: \"August\",\r\n 9: \"September\",\r\n 10: \"October\",\r\n 11: \"November\",\r\n 12: \"December\"\r\n }\r\n }\r\n },\r\n days: {\r\n format: {\r\n abbreviated: {\r\n sun: \"Sun\",\r\n mon: \"Mon\",\r\n tue: \"Tue\",\r\n wed: \"Wed\",\r\n thu: \"Thu\",\r\n fri: \"Fri\",\r\n sat: \"Sat\"\r\n },\r\n narrow: {\r\n sun: \"S\",\r\n mon: \"M\",\r\n tue: \"T\",\r\n wed: \"W\",\r\n thu: \"T\",\r\n fri: \"F\",\r\n sat: \"S\"\r\n },\r\n short: {\r\n sun: \"Su\",\r\n mon: \"Mo\",\r\n tue: \"Tu\",\r\n wed: \"We\",\r\n thu: \"Th\",\r\n fri: \"Fr\",\r\n sat: \"Sa\"\r\n },\r\n wide: {\r\n sun: \"Sunday\",\r\n mon: \"Monday\",\r\n tue: \"Tuesday\",\r\n wed: \"Wednesday\",\r\n thu: \"Thursday\",\r\n fri: \"Friday\",\r\n sat: \"Saturday\"\r\n }\r\n },\r\n \"stand-alone\": {\r\n abbreviated: {\r\n sun: \"Sun\",\r\n mon: \"Mon\",\r\n tue: \"Tue\",\r\n wed: \"Wed\",\r\n thu: \"Thu\",\r\n fri: \"Fri\",\r\n sat: \"Sat\"\r\n },\r\n narrow: {\r\n sun: \"S\",\r\n mon: \"M\",\r\n tue: \"T\",\r\n wed: \"W\",\r\n thu: \"T\",\r\n fri: \"F\",\r\n sat: \"S\"\r\n },\r\n short: {\r\n sun: \"Su\",\r\n mon: \"Mo\",\r\n tue: \"Tu\",\r\n wed: \"We\",\r\n thu: \"Th\",\r\n fri: \"Fr\",\r\n sat: \"Sa\"\r\n },\r\n wide: {\r\n sun: \"Sunday\",\r\n mon: \"Monday\",\r\n tue: \"Tuesday\",\r\n wed: \"Wednesday\",\r\n thu: \"Thursday\",\r\n fri: \"Friday\",\r\n sat: \"Saturday\"\r\n }\r\n }\r\n },\r\n quarters: {\r\n format: {\r\n abbreviated: {\r\n 1: \"Q1\",\r\n 2: \"Q2\",\r\n 3: \"Q3\",\r\n 4: \"Q4\"\r\n },\r\n narrow: {\r\n 1: \"1\",\r\n 2: \"2\",\r\n 3: \"3\",\r\n 4: \"4\"\r\n },\r\n wide: {\r\n 1: \"1st quarter\",\r\n 2: \"2nd quarter\",\r\n 3: \"3rd quarter\",\r\n 4: \"4th quarter\"\r\n }\r\n },\r\n \"stand-alone\": {\r\n abbreviated: {\r\n 1: \"Q1\",\r\n 2: \"Q2\",\r\n 3: \"Q3\",\r\n 4: \"Q4\"\r\n },\r\n narrow: {\r\n 1: \"1\",\r\n 2: \"2\",\r\n 3: \"3\",\r\n 4: \"4\"\r\n },\r\n wide: {\r\n 1: \"1st quarter\",\r\n 2: \"2nd quarter\",\r\n 3: \"3rd quarter\",\r\n 4: \"4th quarter\"\r\n }\r\n }\r\n },\r\n dayPeriods: {\r\n format: {\r\n abbreviated: {\r\n midnight: \"midnight\",\r\n am: \"AM\",\r\n \"am-alt-variant\": \"am\",\r\n noon: \"noon\",\r\n pm: \"PM\",\r\n \"pm-alt-variant\": \"pm\",\r\n morning1: \"in the morning\",\r\n afternoon1: \"in the afternoon\",\r\n evening1: \"in the evening\",\r\n night1: \"at night\"\r\n },\r\n narrow: {\r\n midnight: \"mi\",\r\n am: \"a\",\r\n \"am-alt-variant\": \"am\",\r\n noon: \"n\",\r\n pm: \"p\",\r\n \"pm-alt-variant\": \"pm\",\r\n morning1: \"in the morning\",\r\n afternoon1: \"in the afternoon\",\r\n evening1: \"in the evening\",\r\n night1: \"at night\"\r\n },\r\n wide: {\r\n midnight: \"midnight\",\r\n am: \"AM\",\r\n \"am-alt-variant\": \"am\",\r\n noon: \"noon\",\r\n pm: \"PM\",\r\n \"pm-alt-variant\": \"pm\",\r\n morning1: \"in the morning\",\r\n afternoon1: \"in the afternoon\",\r\n evening1: \"in the evening\",\r\n night1: \"at night\"\r\n }\r\n },\r\n \"stand-alone\": {\r\n abbreviated: {\r\n midnight: \"midnight\",\r\n am: \"AM\",\r\n \"am-alt-variant\": \"am\",\r\n noon: \"noon\",\r\n pm: \"PM\",\r\n \"pm-alt-variant\": \"pm\",\r\n morning1: \"morning\",\r\n afternoon1: \"afternoon\",\r\n evening1: \"evening\",\r\n night1: \"night\"\r\n },\r\n narrow: {\r\n midnight: \"midnight\",\r\n am: \"AM\",\r\n \"am-alt-variant\": \"am\",\r\n noon: \"noon\",\r\n pm: \"PM\",\r\n \"pm-alt-variant\": \"pm\",\r\n morning1: \"morning\",\r\n afternoon1: \"afternoon\",\r\n evening1: \"evening\",\r\n night1: \"night\"\r\n },\r\n wide: {\r\n midnight: \"midnight\",\r\n am: \"AM\",\r\n \"am-alt-variant\": \"am\",\r\n noon: \"noon\",\r\n pm: \"PM\",\r\n \"pm-alt-variant\": \"pm\",\r\n morning1: \"morning\",\r\n afternoon1: \"afternoon\",\r\n evening1: \"evening\",\r\n night1: \"night\"\r\n }\r\n }\r\n },\r\n eras: {\r\n eraNames: {\r\n 0: \"Before Christ\",\r\n 1: \"Anno Domini\",\r\n \"0-alt-variant\": \"Before Common Era\",\r\n \"1-alt-variant\": \"Common Era\"\r\n },\r\n eraAbbr: {\r\n 0: \"BC\",\r\n 1: \"AD\",\r\n \"0-alt-variant\": \"BCE\",\r\n \"1-alt-variant\": \"CE\"\r\n },\r\n eraNarrow: {\r\n 0: \"B\",\r\n 1: \"A\",\r\n \"0-alt-variant\": \"BCE\",\r\n \"1-alt-variant\": \"CE\"\r\n }\r\n },\r\n dateFormats: {\r\n full: \"EEEE, MMMM d, y\",\r\n long: \"MMMM d, y\",\r\n medium: \"MMM d, y\",\r\n short: \"M/d/yy\"\r\n },\r\n timeFormats: {\r\n full: \"h:mm:ss a zzzz\",\r\n long: \"h:mm:ss a z\",\r\n medium: \"h:mm:ss a\",\r\n short: \"h:mm a\"\r\n },\r\n dateTimeFormats: {\r\n full: \"{1} 'at' {0}\",\r\n long: \"{1} 'at' {0}\",\r\n medium: \"{1}, {0}\",\r\n short: \"{1}, {0}\",\r\n availableFormats: {\r\n Bh: \"h B\",\r\n Bhm: \"h:mm B\",\r\n Bhms: \"h:mm:ss B\",\r\n d: \"d\",\r\n E: \"ccc\",\r\n EBhm: \"E h:mm B\",\r\n EBhms: \"E h:mm:ss B\",\r\n Ed: \"d E\",\r\n Ehm: \"E h:mm a\",\r\n EHm: \"E HH:mm\",\r\n Ehms: \"E h:mm:ss a\",\r\n EHms: \"E HH:mm:ss\",\r\n Gy: \"y G\",\r\n GyMMM: \"MMM y G\",\r\n GyMMMd: \"MMM d, y G\",\r\n GyMMMEd: \"E, MMM d, y G\",\r\n h: \"h a\",\r\n H: \"HH\",\r\n hm: \"h:mm a\",\r\n Hm: \"HH:mm\",\r\n hms: \"h:mm:ss a\",\r\n Hms: \"HH:mm:ss\",\r\n hmsv: \"h:mm:ss a v\",\r\n Hmsv: \"HH:mm:ss v\",\r\n hmv: \"h:mm a v\",\r\n Hmv: \"HH:mm v\",\r\n M: \"L\",\r\n Md: \"M/d\",\r\n MEd: \"E, M/d\",\r\n MMM: \"LLL\",\r\n MMMd: \"MMM d\",\r\n MMMEd: \"E, MMM d\",\r\n MMMMd: \"MMMM d\",\r\n \"MMMMW-count-one\": \"'week' W 'of' MMMM\",\r\n \"MMMMW-count-other\": \"'week' W 'of' MMMM\",\r\n ms: \"mm:ss\",\r\n y: \"y\",\r\n yM: \"M/y\",\r\n yMd: \"M/d/y\",\r\n yMEd: \"E, M/d/y\",\r\n yMMM: \"MMM y\",\r\n yMMMd: \"MMM d, y\",\r\n yMMMEd: \"E, MMM d, y\",\r\n yMMMM: \"MMMM y\",\r\n yQQQ: \"QQQ y\",\r\n yQQQQ: \"QQQQ y\",\r\n \"yw-count-one\": \"'week' w 'of' Y\",\r\n \"yw-count-other\": \"'week' w 'of' Y\"\r\n }\r\n }\r\n }\r\n }\r\n },\r\n numbers: {\r\n defaultNumberingSystem: \"latn\",\r\n otherNumberingSystems: {\r\n native: \"latn\"\r\n },\r\n minimumGroupingDigits: \"1\",\r\n \"symbols-numberSystem-latn\": {\r\n decimal: \".\",\r\n group: \",\",\r\n list: \";\",\r\n percentSign: \"%\",\r\n plusSign: \"+\",\r\n minusSign: \"-\",\r\n exponential: \"E\",\r\n superscriptingExponent: \"\\xd7\",\r\n perMille: \"\\u2030\",\r\n infinity: \"\\u221e\",\r\n nan: \"NaN\",\r\n timeSeparator: \":\"\r\n },\r\n \"decimalFormats-numberSystem-latn\": {\r\n standard: \"#,##0.###\"\r\n },\r\n \"scientificFormats-numberSystem-latn\": {\r\n standard: \"#E0\"\r\n },\r\n \"percentFormats-numberSystem-latn\": {\r\n standard: \"#,##0%\"\r\n },\r\n \"currencyFormats-numberSystem-latn\": {\r\n currencySpacing: {\r\n beforeCurrency: {\r\n currencyMatch: \"[:^S:]\",\r\n surroundingMatch: \"[:digit:]\",\r\n insertBetween: \"\\xa0\"\r\n },\r\n afterCurrency: {\r\n currencyMatch: \"[:^S:]\",\r\n surroundingMatch: \"[:digit:]\",\r\n insertBetween: \"\\xa0\"\r\n }\r\n },\r\n standard: \"\\xa4#,##0.00\",\r\n accounting: \"\\xa4#,##0.00;(\\xa4#,##0.00)\"\r\n },\r\n currencies: {\r\n ADP: {\r\n symbol: \"ADP\"\r\n },\r\n AED: {\r\n symbol: \"AED\"\r\n },\r\n AFA: {\r\n symbol: \"AFA\"\r\n },\r\n AFN: {\r\n symbol: \"AFN\"\r\n },\r\n ALK: {\r\n symbol: \"ALK\"\r\n },\r\n ALL: {\r\n symbol: \"ALL\"\r\n },\r\n AMD: {\r\n symbol: \"AMD\"\r\n },\r\n ANG: {\r\n symbol: \"ANG\"\r\n },\r\n AOA: {\r\n symbol: \"AOA\",\r\n \"symbol-alt-narrow\": \"Kz\"\r\n },\r\n AOK: {\r\n symbol: \"AOK\"\r\n },\r\n AON: {\r\n symbol: \"AON\"\r\n },\r\n AOR: {\r\n symbol: \"AOR\"\r\n },\r\n ARA: {\r\n symbol: \"ARA\"\r\n },\r\n ARL: {\r\n symbol: \"ARL\"\r\n },\r\n ARM: {\r\n symbol: \"ARM\"\r\n },\r\n ARP: {\r\n symbol: \"ARP\"\r\n },\r\n ARS: {\r\n symbol: \"ARS\",\r\n \"symbol-alt-narrow\": \"$\"\r\n },\r\n ATS: {\r\n symbol: \"ATS\"\r\n },\r\n AUD: {\r\n symbol: \"A$\",\r\n \"symbol-alt-narrow\": \"$\"\r\n },\r\n AWG: {\r\n symbol: \"AWG\"\r\n },\r\n AZM: {\r\n symbol: \"AZM\"\r\n },\r\n AZN: {\r\n symbol: \"AZN\"\r\n },\r\n BAD: {\r\n symbol: \"BAD\"\r\n },\r\n BAM: {\r\n symbol: \"BAM\",\r\n \"symbol-alt-narrow\": \"KM\"\r\n },\r\n BAN: {\r\n symbol: \"BAN\"\r\n },\r\n BBD: {\r\n symbol: \"BBD\",\r\n \"symbol-alt-narrow\": \"$\"\r\n },\r\n BDT: {\r\n symbol: \"BDT\",\r\n \"symbol-alt-narrow\": \"\\u09f3\"\r\n },\r\n BEC: {\r\n symbol: \"BEC\"\r\n },\r\n BEF: {\r\n symbol: \"BEF\"\r\n },\r\n BEL: {\r\n symbol: \"BEL\"\r\n },\r\n BGL: {\r\n symbol: \"BGL\"\r\n },\r\n BGM: {\r\n symbol: \"BGM\"\r\n },\r\n BGN: {\r\n symbol: \"BGN\"\r\n },\r\n BGO: {\r\n symbol: \"BGO\"\r\n },\r\n BHD: {\r\n symbol: \"BHD\"\r\n },\r\n BIF: {\r\n symbol: \"BIF\"\r\n },\r\n BMD: {\r\n symbol: \"BMD\",\r\n \"symbol-alt-narrow\": \"$\"\r\n },\r\n BND: {\r\n symbol: \"BND\",\r\n \"symbol-alt-narrow\": \"$\"\r\n },\r\n BOB: {\r\n symbol: \"BOB\",\r\n \"symbol-alt-narrow\": \"Bs\"\r\n },\r\n BOL: {\r\n symbol: \"BOL\"\r\n },\r\n BOP: {\r\n symbol: \"BOP\"\r\n },\r\n BOV: {\r\n symbol: \"BOV\"\r\n },\r\n BRB: {\r\n symbol: \"BRB\"\r\n },\r\n BRC: {\r\n symbol: \"BRC\"\r\n },\r\n BRE: {\r\n symbol: \"BRE\"\r\n },\r\n BRL: {\r\n symbol: \"R$\",\r\n \"symbol-alt-narrow\": \"R$\"\r\n },\r\n BRN: {\r\n symbol: \"BRN\"\r\n },\r\n BRR: {\r\n symbol: \"BRR\"\r\n },\r\n BRZ: {\r\n symbol: \"BRZ\"\r\n },\r\n BSD: {\r\n symbol: \"BSD\",\r\n \"symbol-alt-narrow\": \"$\"\r\n },\r\n BTN: {\r\n symbol: \"BTN\"\r\n },\r\n BUK: {\r\n symbol: \"BUK\"\r\n },\r\n BWP: {\r\n symbol: \"BWP\",\r\n \"symbol-alt-narrow\": \"P\"\r\n },\r\n BYB: {\r\n symbol: \"BYB\"\r\n },\r\n BYN: {\r\n symbol: \"BYN\",\r\n \"symbol-alt-narrow\": \"\\u0440.\"\r\n },\r\n BYR: {\r\n symbol: \"BYR\"\r\n },\r\n BZD: {\r\n symbol: \"BZD\",\r\n \"symbol-alt-narrow\": \"$\"\r\n },\r\n CAD: {\r\n symbol: \"CA$\",\r\n \"symbol-alt-narrow\": \"$\"\r\n },\r\n CDF: {\r\n symbol: \"CDF\"\r\n },\r\n CHE: {\r\n symbol: \"CHE\"\r\n },\r\n CHF: {\r\n symbol: \"CHF\"\r\n },\r\n CHW: {\r\n symbol: \"CHW\"\r\n },\r\n CLE: {\r\n symbol: \"CLE\"\r\n },\r\n CLF: {\r\n symbol: \"CLF\"\r\n },\r\n CLP: {\r\n symbol: \"CLP\",\r\n \"symbol-alt-narrow\": \"$\"\r\n },\r\n CNH: {\r\n symbol: \"CNH\"\r\n },\r\n CNX: {\r\n symbol: \"CNX\"\r\n },\r\n CNY: {\r\n symbol: \"CN\\xa5\",\r\n \"symbol-alt-narrow\": \"\\xa5\"\r\n },\r\n COP: {\r\n symbol: \"COP\",\r\n \"symbol-alt-narrow\": \"$\"\r\n },\r\n COU: {\r\n symbol: \"COU\"\r\n },\r\n CRC: {\r\n symbol: \"CRC\",\r\n \"symbol-alt-narrow\": \"\\u20a1\"\r\n },\r\n CSD: {\r\n symbol: \"CSD\"\r\n },\r\n CSK: {\r\n symbol: \"CSK\"\r\n },\r\n CUC: {\r\n symbol: \"CUC\",\r\n \"symbol-alt-narrow\": \"$\"\r\n },\r\n CUP: {\r\n symbol: \"CUP\",\r\n \"symbol-alt-narrow\": \"$\"\r\n },\r\n CVE: {\r\n symbol: \"CVE\"\r\n },\r\n CYP: {\r\n symbol: \"CYP\"\r\n },\r\n CZK: {\r\n symbol: \"CZK\",\r\n \"symbol-alt-narrow\": \"K\\u010d\"\r\n },\r\n DDM: {\r\n symbol: \"DDM\"\r\n },\r\n DEM: {\r\n symbol: \"DEM\"\r\n },\r\n DJF: {\r\n symbol: \"DJF\"\r\n },\r\n DKK: {\r\n symbol: \"DKK\",\r\n \"symbol-alt-narrow\": \"kr\"\r\n },\r\n DOP: {\r\n symbol: \"DOP\",\r\n \"symbol-alt-narrow\": \"$\"\r\n },\r\n DZD: {\r\n symbol: \"DZD\"\r\n },\r\n ECS: {\r\n symbol: \"ECS\"\r\n },\r\n ECV: {\r\n symbol: \"ECV\"\r\n },\r\n EEK: {\r\n symbol: \"EEK\"\r\n },\r\n EGP: {\r\n symbol: \"EGP\",\r\n \"symbol-alt-narrow\": \"E\\xa3\"\r\n },\r\n ERN: {\r\n symbol: \"ERN\"\r\n },\r\n ESA: {\r\n symbol: \"ESA\"\r\n },\r\n ESB: {\r\n symbol: \"ESB\"\r\n },\r\n ESP: {\r\n symbol: \"ESP\",\r\n \"symbol-alt-narrow\": \"\\u20a7\"\r\n },\r\n ETB: {\r\n symbol: \"ETB\"\r\n },\r\n EUR: {\r\n symbol: \"\\u20ac\",\r\n \"symbol-alt-narrow\": \"\\u20ac\"\r\n },\r\n FIM: {\r\n symbol: \"FIM\"\r\n },\r\n FJD: {\r\n symbol: \"FJD\",\r\n \"symbol-alt-narrow\": \"$\"\r\n },\r\n FKP: {\r\n symbol: \"FKP\",\r\n \"symbol-alt-narrow\": \"\\xa3\"\r\n },\r\n FRF: {\r\n symbol: \"FRF\"\r\n },\r\n GBP: {\r\n symbol: \"\\xa3\",\r\n \"symbol-alt-narrow\": \"\\xa3\"\r\n },\r\n GEK: {\r\n symbol: \"GEK\"\r\n },\r\n GEL: {\r\n symbol: \"GEL\",\r\n \"symbol-alt-narrow\": \"\\u20be\"\r\n },\r\n GHC: {\r\n symbol: \"GHC\"\r\n },\r\n GHS: {\r\n symbol: \"GHS\"\r\n },\r\n GIP: {\r\n symbol: \"GIP\",\r\n \"symbol-alt-narrow\": \"\\xa3\"\r\n },\r\n GMD: {\r\n symbol: \"GMD\"\r\n },\r\n GNF: {\r\n symbol: \"GNF\",\r\n \"symbol-alt-narrow\": \"FG\"\r\n },\r\n GNS: {\r\n symbol: \"GNS\"\r\n },\r\n GQE: {\r\n symbol: \"GQE\"\r\n },\r\n GRD: {\r\n symbol: \"GRD\"\r\n },\r\n GTQ: {\r\n symbol: \"GTQ\",\r\n \"symbol-alt-narrow\": \"Q\"\r\n },\r\n GWE: {\r\n symbol: \"GWE\"\r\n },\r\n GWP: {\r\n symbol: \"GWP\"\r\n },\r\n GYD: {\r\n symbol: \"GYD\",\r\n \"symbol-alt-narrow\": \"$\"\r\n },\r\n HKD: {\r\n symbol: \"HK$\",\r\n \"symbol-alt-narrow\": \"$\"\r\n },\r\n HNL: {\r\n symbol: \"HNL\",\r\n \"symbol-alt-narrow\": \"L\"\r\n },\r\n HRD: {\r\n symbol: \"HRD\"\r\n },\r\n HRK: {\r\n symbol: \"HRK\",\r\n \"symbol-alt-narrow\": \"kn\"\r\n },\r\n HTG: {\r\n symbol: \"HTG\"\r\n },\r\n HUF: {\r\n symbol: \"HUF\",\r\n \"symbol-alt-narrow\": \"Ft\"\r\n },\r\n IDR: {\r\n symbol: \"IDR\",\r\n \"symbol-alt-narrow\": \"Rp\"\r\n },\r\n IEP: {\r\n symbol: \"IEP\"\r\n },\r\n ILP: {\r\n symbol: \"ILP\"\r\n },\r\n ILR: {\r\n symbol: \"ILR\"\r\n },\r\n ILS: {\r\n symbol: \"\\u20aa\",\r\n \"symbol-alt-narrow\": \"\\u20aa\"\r\n },\r\n INR: {\r\n symbol: \"\\u20b9\",\r\n \"symbol-alt-narrow\": \"\\u20b9\"\r\n },\r\n IQD: {\r\n symbol: \"IQD\"\r\n },\r\n IRR: {\r\n symbol: \"IRR\"\r\n },\r\n ISJ: {\r\n symbol: \"ISJ\"\r\n },\r\n ISK: {\r\n symbol: \"ISK\",\r\n \"symbol-alt-narrow\": \"kr\"\r\n },\r\n ITL: {\r\n symbol: \"ITL\"\r\n },\r\n JMD: {\r\n symbol: \"JMD\",\r\n \"symbol-alt-narrow\": \"$\"\r\n },\r\n JOD: {\r\n symbol: \"JOD\"\r\n },\r\n JPY: {\r\n symbol: \"\\xa5\",\r\n \"symbol-alt-narrow\": \"\\xa5\"\r\n },\r\n KES: {\r\n symbol: \"KES\"\r\n },\r\n KGS: {\r\n symbol: \"KGS\"\r\n },\r\n KHR: {\r\n symbol: \"KHR\",\r\n \"symbol-alt-narrow\": \"\\u17db\"\r\n },\r\n KMF: {\r\n symbol: \"KMF\",\r\n \"symbol-alt-narrow\": \"CF\"\r\n },\r\n KPW: {\r\n symbol: \"KPW\",\r\n \"symbol-alt-narrow\": \"\\u20a9\"\r\n },\r\n KRH: {\r\n symbol: \"KRH\"\r\n },\r\n KRO: {\r\n symbol: \"KRO\"\r\n },\r\n KRW: {\r\n symbol: \"\\u20a9\",\r\n \"symbol-alt-narrow\": \"\\u20a9\"\r\n },\r\n KWD: {\r\n symbol: \"KWD\"\r\n },\r\n KYD: {\r\n symbol: \"KYD\",\r\n \"symbol-alt-narrow\": \"$\"\r\n },\r\n KZT: {\r\n symbol: \"KZT\",\r\n \"symbol-alt-narrow\": \"\\u20b8\"\r\n },\r\n LAK: {\r\n symbol: \"LAK\",\r\n \"symbol-alt-narrow\": \"\\u20ad\"\r\n },\r\n LBP: {\r\n symbol: \"LBP\",\r\n \"symbol-alt-narrow\": \"L\\xa3\"\r\n },\r\n LKR: {\r\n symbol: \"LKR\",\r\n \"symbol-alt-narrow\": \"Rs\"\r\n },\r\n LRD: {\r\n symbol: \"LRD\",\r\n \"symbol-alt-narrow\": \"$\"\r\n },\r\n LSL: {\r\n symbol: \"LSL\"\r\n },\r\n LTL: {\r\n symbol: \"LTL\",\r\n \"symbol-alt-narrow\": \"Lt\"\r\n },\r\n LTT: {\r\n symbol: \"LTT\"\r\n },\r\n LUC: {\r\n symbol: \"LUC\"\r\n },\r\n LUF: {\r\n symbol: \"LUF\"\r\n },\r\n LUL: {\r\n symbol: \"LUL\"\r\n },\r\n LVL: {\r\n symbol: \"LVL\",\r\n \"symbol-alt-narrow\": \"Ls\"\r\n },\r\n LVR: {\r\n symbol: \"LVR\"\r\n },\r\n LYD: {\r\n symbol: \"LYD\"\r\n },\r\n MAD: {\r\n symbol: \"MAD\"\r\n },\r\n MAF: {\r\n symbol: \"MAF\"\r\n },\r\n MCF: {\r\n symbol: \"MCF\"\r\n },\r\n MDC: {\r\n symbol: \"MDC\"\r\n },\r\n MDL: {\r\n symbol: \"MDL\"\r\n },\r\n MGA: {\r\n symbol: \"MGA\",\r\n \"symbol-alt-narrow\": \"Ar\"\r\n },\r\n MGF: {\r\n symbol: \"MGF\"\r\n },\r\n MKD: {\r\n symbol: \"MKD\"\r\n },\r\n MKN: {\r\n symbol: \"MKN\"\r\n },\r\n MLF: {\r\n symbol: \"MLF\"\r\n },\r\n MMK: {\r\n symbol: \"MMK\",\r\n \"symbol-alt-narrow\": \"K\"\r\n },\r\n MNT: {\r\n symbol: \"MNT\",\r\n \"symbol-alt-narrow\": \"\\u20ae\"\r\n },\r\n MOP: {\r\n symbol: \"MOP\"\r\n },\r\n MRO: {\r\n symbol: \"MRO\"\r\n },\r\n MRU: {\r\n symbol: \"MRU\"\r\n },\r\n MTL: {\r\n symbol: \"MTL\"\r\n },\r\n MTP: {\r\n symbol: \"MTP\"\r\n },\r\n MUR: {\r\n symbol: \"MUR\",\r\n \"symbol-alt-narrow\": \"Rs\"\r\n },\r\n MVP: {\r\n symbol: \"MVP\"\r\n },\r\n MVR: {\r\n symbol: \"MVR\"\r\n },\r\n MWK: {\r\n symbol: \"MWK\"\r\n },\r\n MXN: {\r\n symbol: \"MX$\",\r\n \"symbol-alt-narrow\": \"$\"\r\n },\r\n MXP: {\r\n symbol: \"MXP\"\r\n },\r\n MXV: {\r\n symbol: \"MXV\"\r\n },\r\n MYR: {\r\n symbol: \"MYR\",\r\n \"symbol-alt-narrow\": \"RM\"\r\n },\r\n MZE: {\r\n symbol: \"MZE\"\r\n },\r\n MZM: {\r\n symbol: \"MZM\"\r\n },\r\n MZN: {\r\n symbol: \"MZN\"\r\n },\r\n NAD: {\r\n symbol: \"NAD\",\r\n \"symbol-alt-narrow\": \"$\"\r\n },\r\n NGN: {\r\n symbol: \"NGN\",\r\n \"symbol-alt-narrow\": \"\\u20a6\"\r\n },\r\n NIC: {\r\n symbol: \"NIC\"\r\n },\r\n NIO: {\r\n symbol: \"NIO\",\r\n \"symbol-alt-narrow\": \"C$\"\r\n },\r\n NLG: {\r\n symbol: \"NLG\"\r\n },\r\n NOK: {\r\n symbol: \"NOK\",\r\n \"symbol-alt-narrow\": \"kr\"\r\n },\r\n NPR: {\r\n symbol: \"NPR\",\r\n \"symbol-alt-narrow\": \"Rs\"\r\n },\r\n NZD: {\r\n symbol: \"NZ$\",\r\n \"symbol-alt-narrow\": \"$\"\r\n },\r\n OMR: {\r\n symbol: \"OMR\"\r\n },\r\n PAB: {\r\n symbol: \"PAB\"\r\n },\r\n PEI: {\r\n symbol: \"PEI\"\r\n },\r\n PEN: {\r\n symbol: \"PEN\"\r\n },\r\n PES: {\r\n symbol: \"PES\"\r\n },\r\n PGK: {\r\n symbol: \"PGK\"\r\n },\r\n PHP: {\r\n symbol: \"PHP\",\r\n \"symbol-alt-narrow\": \"\\u20b1\"\r\n },\r\n PKR: {\r\n symbol: \"PKR\",\r\n \"symbol-alt-narrow\": \"Rs\"\r\n },\r\n PLN: {\r\n symbol: \"PLN\",\r\n \"symbol-alt-narrow\": \"z\\u0142\"\r\n },\r\n PLZ: {\r\n symbol: \"PLZ\"\r\n },\r\n PTE: {\r\n symbol: \"PTE\"\r\n },\r\n PYG: {\r\n symbol: \"PYG\",\r\n \"symbol-alt-narrow\": \"\\u20b2\"\r\n },\r\n QAR: {\r\n symbol: \"QAR\"\r\n },\r\n RHD: {\r\n symbol: \"RHD\"\r\n },\r\n ROL: {\r\n symbol: \"ROL\"\r\n },\r\n RON: {\r\n symbol: \"RON\",\r\n \"symbol-alt-narrow\": \"lei\"\r\n },\r\n RSD: {\r\n symbol: \"RSD\"\r\n },\r\n RUB: {\r\n symbol: \"RUB\",\r\n \"symbol-alt-narrow\": \"\\u20bd\"\r\n },\r\n RUR: {\r\n symbol: \"RUR\",\r\n \"symbol-alt-narrow\": \"\\u0440.\"\r\n },\r\n RWF: {\r\n symbol: \"RWF\",\r\n \"symbol-alt-narrow\": \"RF\"\r\n },\r\n SAR: {\r\n symbol: \"SAR\"\r\n },\r\n SBD: {\r\n symbol: \"SBD\",\r\n \"symbol-alt-narrow\": \"$\"\r\n },\r\n SCR: {\r\n symbol: \"SCR\"\r\n },\r\n SDD: {\r\n symbol: \"SDD\"\r\n },\r\n SDG: {\r\n symbol: \"SDG\"\r\n },\r\n SDP: {\r\n symbol: \"SDP\"\r\n },\r\n SEK: {\r\n symbol: \"SEK\",\r\n \"symbol-alt-narrow\": \"kr\"\r\n },\r\n SGD: {\r\n symbol: \"SGD\",\r\n \"symbol-alt-narrow\": \"$\"\r\n },\r\n SHP: {\r\n symbol: \"SHP\",\r\n \"symbol-alt-narrow\": \"\\xa3\"\r\n },\r\n SIT: {\r\n symbol: \"SIT\"\r\n },\r\n SKK: {\r\n symbol: \"SKK\"\r\n },\r\n SLL: {\r\n symbol: \"SLL\"\r\n },\r\n SOS: {\r\n symbol: \"SOS\"\r\n },\r\n SRD: {\r\n symbol: \"SRD\",\r\n \"symbol-alt-narrow\": \"$\"\r\n },\r\n SRG: {\r\n symbol: \"SRG\"\r\n },\r\n SSP: {\r\n symbol: \"SSP\",\r\n \"symbol-alt-narrow\": \"\\xa3\"\r\n },\r\n STD: {\r\n symbol: \"STD\"\r\n },\r\n STN: {\r\n symbol: \"STN\",\r\n \"symbol-alt-narrow\": \"Db\"\r\n },\r\n SUR: {\r\n symbol: \"SUR\"\r\n },\r\n SVC: {\r\n symbol: \"SVC\"\r\n },\r\n SYP: {\r\n symbol: \"SYP\",\r\n \"symbol-alt-narrow\": \"\\xa3\"\r\n },\r\n SZL: {\r\n symbol: \"SZL\"\r\n },\r\n THB: {\r\n symbol: \"THB\",\r\n \"symbol-alt-narrow\": \"\\u0e3f\"\r\n },\r\n TJR: {\r\n symbol: \"TJR\"\r\n },\r\n TJS: {\r\n symbol: \"TJS\"\r\n },\r\n TMM: {\r\n symbol: \"TMM\"\r\n },\r\n TMT: {\r\n symbol: \"TMT\"\r\n },\r\n TND: {\r\n symbol: \"TND\"\r\n },\r\n TOP: {\r\n symbol: \"TOP\",\r\n \"symbol-alt-narrow\": \"T$\"\r\n },\r\n TPE: {\r\n symbol: \"TPE\"\r\n },\r\n TRL: {\r\n symbol: \"TRL\"\r\n },\r\n TRY: {\r\n symbol: \"TRY\",\r\n \"symbol-alt-narrow\": \"\\u20ba\"\r\n },\r\n TTD: {\r\n symbol: \"TTD\",\r\n \"symbol-alt-narrow\": \"$\"\r\n },\r\n TWD: {\r\n symbol: \"NT$\",\r\n \"symbol-alt-narrow\": \"$\"\r\n },\r\n TZS: {\r\n symbol: \"TZS\"\r\n },\r\n UAH: {\r\n symbol: \"UAH\",\r\n \"symbol-alt-narrow\": \"\\u20b4\"\r\n },\r\n UAK: {\r\n symbol: \"UAK\"\r\n },\r\n UGS: {\r\n symbol: \"UGS\"\r\n },\r\n UGX: {\r\n symbol: \"UGX\"\r\n },\r\n USD: {\r\n symbol: \"$\",\r\n \"symbol-alt-narrow\": \"$\"\r\n },\r\n USN: {\r\n symbol: \"USN\"\r\n },\r\n USS: {\r\n symbol: \"USS\"\r\n },\r\n UYI: {\r\n symbol: \"UYI\"\r\n },\r\n UYP: {\r\n symbol: \"UYP\"\r\n },\r\n UYU: {\r\n symbol: \"UYU\",\r\n \"symbol-alt-narrow\": \"$\"\r\n },\r\n UYW: {\r\n symbol: \"UYW\"\r\n },\r\n UZS: {\r\n symbol: \"UZS\"\r\n },\r\n VEB: {\r\n symbol: \"VEB\"\r\n },\r\n VEF: {\r\n symbol: \"VEF\",\r\n \"symbol-alt-narrow\": \"Bs\"\r\n },\r\n VES: {\r\n symbol: \"VES\"\r\n },\r\n VND: {\r\n symbol: \"\\u20ab\",\r\n \"symbol-alt-narrow\": \"\\u20ab\"\r\n },\r\n VNN: {\r\n symbol: \"VNN\"\r\n },\r\n VUV: {\r\n symbol: \"VUV\"\r\n },\r\n WST: {\r\n symbol: \"WST\"\r\n },\r\n XAF: {\r\n symbol: \"FCFA\"\r\n },\r\n XAG: {\r\n symbol: \"XAG\"\r\n },\r\n XAU: {\r\n symbol: \"XAU\"\r\n },\r\n XBA: {\r\n symbol: \"XBA\"\r\n },\r\n XBB: {\r\n symbol: \"XBB\"\r\n },\r\n XBC: {\r\n symbol: \"XBC\"\r\n },\r\n XBD: {\r\n symbol: \"XBD\"\r\n },\r\n XCD: {\r\n symbol: \"EC$\",\r\n \"symbol-alt-narrow\": \"$\"\r\n },\r\n XDR: {\r\n symbol: \"XDR\"\r\n },\r\n XEU: {\r\n symbol: \"XEU\"\r\n },\r\n XFO: {\r\n symbol: \"XFO\"\r\n },\r\n XFU: {\r\n symbol: \"XFU\"\r\n },\r\n XOF: {\r\n symbol: \"CFA\"\r\n },\r\n XPD: {\r\n symbol: \"XPD\"\r\n },\r\n XPF: {\r\n symbol: \"CFPF\"\r\n },\r\n XPT: {\r\n symbol: \"XPT\"\r\n },\r\n XRE: {\r\n symbol: \"XRE\"\r\n },\r\n XSU: {\r\n symbol: \"XSU\"\r\n },\r\n XTS: {\r\n symbol: \"XTS\"\r\n },\r\n XUA: {\r\n symbol: \"XUA\"\r\n },\r\n XXX: {\r\n symbol: \"\\xa4\"\r\n },\r\n YDD: {\r\n symbol: \"YDD\"\r\n },\r\n YER: {\r\n symbol: \"YER\"\r\n },\r\n YUD: {\r\n symbol: \"YUD\"\r\n },\r\n YUM: {\r\n symbol: \"YUM\"\r\n },\r\n YUN: {\r\n symbol: \"YUN\"\r\n },\r\n YUR: {\r\n symbol: \"YUR\"\r\n },\r\n ZAL: {\r\n symbol: \"ZAL\"\r\n },\r\n ZAR: {\r\n symbol: \"ZAR\",\r\n \"symbol-alt-narrow\": \"R\"\r\n },\r\n ZMK: {\r\n symbol: \"ZMK\"\r\n },\r\n ZMW: {\r\n symbol: \"ZMW\",\r\n \"symbol-alt-narrow\": \"ZK\"\r\n },\r\n ZRN: {\r\n symbol: \"ZRN\"\r\n },\r\n ZRZ: {\r\n symbol: \"ZRZ\"\r\n },\r\n ZWD: {\r\n symbol: \"ZWD\"\r\n },\r\n ZWL: {\r\n symbol: \"ZWL\"\r\n },\r\n ZWR: {\r\n symbol: \"ZWR\"\r\n }\r\n }\r\n }\r\n }\r\n }\r\n};\r\nexports.enCldr = enCldr;\r\n","/**\r\n * DevExtreme (cjs/localization/cldr-data/first_day_of_week_data.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\n// !!! AUTO-GENERATED FILE, DO NOT EDIT\r\nvar _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\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/localization/cldr-data/parent_locales.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\n// !!! AUTO-GENERATED FILE, DO NOT EDIT\r\nvar _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\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/localization/cldr-data/supplemental.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.supplementalCldr = void 0;\r\n// !!! AUTO-GENERATED FILE, DO NOT EDIT\r\nvar supplementalCldr = {\r\n supplemental: {\r\n version: {\r\n _unicodeVersion: \"12.1.0\",\r\n _cldrVersion: \"36\"\r\n },\r\n likelySubtags: {\r\n aa: \"aa-Latn-ET\",\r\n aai: \"aai-Latn-ZZ\",\r\n aak: \"aak-Latn-ZZ\",\r\n aau: \"aau-Latn-ZZ\",\r\n ab: \"ab-Cyrl-GE\",\r\n abi: \"abi-Latn-ZZ\",\r\n abq: \"abq-Cyrl-ZZ\",\r\n abr: \"abr-Latn-GH\",\r\n abt: \"abt-Latn-ZZ\",\r\n aby: \"aby-Latn-ZZ\",\r\n acd: \"acd-Latn-ZZ\",\r\n ace: \"ace-Latn-ID\",\r\n ach: \"ach-Latn-UG\",\r\n ada: \"ada-Latn-GH\",\r\n ade: \"ade-Latn-ZZ\",\r\n adj: \"adj-Latn-ZZ\",\r\n adp: \"adp-Tibt-BT\",\r\n ady: \"ady-Cyrl-RU\",\r\n adz: \"adz-Latn-ZZ\",\r\n ae: \"ae-Avst-IR\",\r\n aeb: \"aeb-Arab-TN\",\r\n aey: \"aey-Latn-ZZ\",\r\n af: \"af-Latn-ZA\",\r\n agc: \"agc-Latn-ZZ\",\r\n agd: \"agd-Latn-ZZ\",\r\n agg: \"agg-Latn-ZZ\",\r\n agm: \"agm-Latn-ZZ\",\r\n ago: \"ago-Latn-ZZ\",\r\n agq: \"agq-Latn-CM\",\r\n aha: \"aha-Latn-ZZ\",\r\n ahl: \"ahl-Latn-ZZ\",\r\n aho: \"aho-Ahom-IN\",\r\n ajg: \"ajg-Latn-ZZ\",\r\n ak: \"ak-Latn-GH\",\r\n akk: \"akk-Xsux-IQ\",\r\n ala: \"ala-Latn-ZZ\",\r\n ali: \"ali-Latn-ZZ\",\r\n aln: \"aln-Latn-XK\",\r\n alt: \"alt-Cyrl-RU\",\r\n am: \"am-Ethi-ET\",\r\n amm: \"amm-Latn-ZZ\",\r\n amn: \"amn-Latn-ZZ\",\r\n amo: \"amo-Latn-NG\",\r\n amp: \"amp-Latn-ZZ\",\r\n an: \"an-Latn-ES\",\r\n anc: \"anc-Latn-ZZ\",\r\n ank: \"ank-Latn-ZZ\",\r\n ann: \"ann-Latn-ZZ\",\r\n any: \"any-Latn-ZZ\",\r\n aoj: \"aoj-Latn-ZZ\",\r\n aom: \"aom-Latn-ZZ\",\r\n aoz: \"aoz-Latn-ID\",\r\n apc: \"apc-Arab-ZZ\",\r\n apd: \"apd-Arab-TG\",\r\n ape: \"ape-Latn-ZZ\",\r\n apr: \"apr-Latn-ZZ\",\r\n aps: \"aps-Latn-ZZ\",\r\n apz: \"apz-Latn-ZZ\",\r\n ar: \"ar-Arab-EG\",\r\n arc: \"arc-Armi-IR\",\r\n \"arc-Nbat\": \"arc-Nbat-JO\",\r\n \"arc-Palm\": \"arc-Palm-SY\",\r\n arh: \"arh-Latn-ZZ\",\r\n arn: \"arn-Latn-CL\",\r\n aro: \"aro-Latn-BO\",\r\n arq: \"arq-Arab-DZ\",\r\n ars: \"ars-Arab-SA\",\r\n ary: \"ary-Arab-MA\",\r\n arz: \"arz-Arab-EG\",\r\n as: \"as-Beng-IN\",\r\n asa: \"asa-Latn-TZ\",\r\n ase: \"ase-Sgnw-US\",\r\n asg: \"asg-Latn-ZZ\",\r\n aso: \"aso-Latn-ZZ\",\r\n ast: \"ast-Latn-ES\",\r\n ata: \"ata-Latn-ZZ\",\r\n atg: \"atg-Latn-ZZ\",\r\n atj: \"atj-Latn-CA\",\r\n auy: \"auy-Latn-ZZ\",\r\n av: \"av-Cyrl-RU\",\r\n avl: \"avl-Arab-ZZ\",\r\n avn: \"avn-Latn-ZZ\",\r\n avt: \"avt-Latn-ZZ\",\r\n avu: \"avu-Latn-ZZ\",\r\n awa: \"awa-Deva-IN\",\r\n awb: \"awb-Latn-ZZ\",\r\n awo: \"awo-Latn-ZZ\",\r\n awx: \"awx-Latn-ZZ\",\r\n ay: \"ay-Latn-BO\",\r\n ayb: \"ayb-Latn-ZZ\",\r\n az: \"az-Latn-AZ\",\r\n \"az-Arab\": \"az-Arab-IR\",\r\n \"az-IQ\": \"az-Arab-IQ\",\r\n \"az-IR\": \"az-Arab-IR\",\r\n \"az-RU\": \"az-Cyrl-RU\",\r\n ba: \"ba-Cyrl-RU\",\r\n bal: \"bal-Arab-PK\",\r\n ban: \"ban-Latn-ID\",\r\n bap: \"bap-Deva-NP\",\r\n bar: \"bar-Latn-AT\",\r\n bas: \"bas-Latn-CM\",\r\n bav: \"bav-Latn-ZZ\",\r\n bax: \"bax-Bamu-CM\",\r\n bba: \"bba-Latn-ZZ\",\r\n bbb: \"bbb-Latn-ZZ\",\r\n bbc: \"bbc-Latn-ID\",\r\n bbd: \"bbd-Latn-ZZ\",\r\n bbj: \"bbj-Latn-CM\",\r\n bbp: \"bbp-Latn-ZZ\",\r\n bbr: \"bbr-Latn-ZZ\",\r\n bcf: \"bcf-Latn-ZZ\",\r\n bch: \"bch-Latn-ZZ\",\r\n bci: \"bci-Latn-CI\",\r\n bcm: \"bcm-Latn-ZZ\",\r\n bcn: \"bcn-Latn-ZZ\",\r\n bco: \"bco-Latn-ZZ\",\r\n bcq: \"bcq-Ethi-ZZ\",\r\n bcu: \"bcu-Latn-ZZ\",\r\n bdd: \"bdd-Latn-ZZ\",\r\n be: \"be-Cyrl-BY\",\r\n bef: \"bef-Latn-ZZ\",\r\n beh: \"beh-Latn-ZZ\",\r\n bej: \"bej-Arab-SD\",\r\n bem: \"bem-Latn-ZM\",\r\n bet: \"bet-Latn-ZZ\",\r\n bew: \"bew-Latn-ID\",\r\n bex: \"bex-Latn-ZZ\",\r\n bez: \"bez-Latn-TZ\",\r\n bfd: \"bfd-Latn-CM\",\r\n bfq: \"bfq-Taml-IN\",\r\n bft: \"bft-Arab-PK\",\r\n bfy: \"bfy-Deva-IN\",\r\n bg: \"bg-Cyrl-BG\",\r\n bgc: \"bgc-Deva-IN\",\r\n bgn: \"bgn-Arab-PK\",\r\n bgx: \"bgx-Grek-TR\",\r\n bhb: \"bhb-Deva-IN\",\r\n bhg: \"bhg-Latn-ZZ\",\r\n bhi: \"bhi-Deva-IN\",\r\n bhl: \"bhl-Latn-ZZ\",\r\n bho: \"bho-Deva-IN\",\r\n bhy: \"bhy-Latn-ZZ\",\r\n bi: \"bi-Latn-VU\",\r\n bib: \"bib-Latn-ZZ\",\r\n big: \"big-Latn-ZZ\",\r\n bik: \"bik-Latn-PH\",\r\n bim: \"bim-Latn-ZZ\",\r\n bin: \"bin-Latn-NG\",\r\n bio: \"bio-Latn-ZZ\",\r\n biq: \"biq-Latn-ZZ\",\r\n bjh: \"bjh-Latn-ZZ\",\r\n bji: \"bji-Ethi-ZZ\",\r\n bjj: \"bjj-Deva-IN\",\r\n bjn: \"bjn-Latn-ID\",\r\n bjo: \"bjo-Latn-ZZ\",\r\n bjr: \"bjr-Latn-ZZ\",\r\n bjt: \"bjt-Latn-SN\",\r\n bjz: \"bjz-Latn-ZZ\",\r\n bkc: \"bkc-Latn-ZZ\",\r\n bkm: \"bkm-Latn-CM\",\r\n bkq: \"bkq-Latn-ZZ\",\r\n bku: \"bku-Latn-PH\",\r\n bkv: \"bkv-Latn-ZZ\",\r\n blt: \"blt-Tavt-VN\",\r\n bm: \"bm-Latn-ML\",\r\n bmh: \"bmh-Latn-ZZ\",\r\n bmk: \"bmk-Latn-ZZ\",\r\n bmq: \"bmq-Latn-ML\",\r\n bmu: \"bmu-Latn-ZZ\",\r\n bn: \"bn-Beng-BD\",\r\n bng: \"bng-Latn-ZZ\",\r\n bnm: \"bnm-Latn-ZZ\",\r\n bnp: \"bnp-Latn-ZZ\",\r\n bo: \"bo-Tibt-CN\",\r\n boj: \"boj-Latn-ZZ\",\r\n bom: \"bom-Latn-ZZ\",\r\n bon: \"bon-Latn-ZZ\",\r\n bpy: \"bpy-Beng-IN\",\r\n bqc: \"bqc-Latn-ZZ\",\r\n bqi: \"bqi-Arab-IR\",\r\n bqp: \"bqp-Latn-ZZ\",\r\n bqv: \"bqv-Latn-CI\",\r\n br: \"br-Latn-FR\",\r\n bra: \"bra-Deva-IN\",\r\n brh: \"brh-Arab-PK\",\r\n brx: \"brx-Deva-IN\",\r\n brz: \"brz-Latn-ZZ\",\r\n bs: \"bs-Latn-BA\",\r\n bsj: \"bsj-Latn-ZZ\",\r\n bsq: \"bsq-Bass-LR\",\r\n bss: \"bss-Latn-CM\",\r\n bst: \"bst-Ethi-ZZ\",\r\n bto: \"bto-Latn-PH\",\r\n btt: \"btt-Latn-ZZ\",\r\n btv: \"btv-Deva-PK\",\r\n bua: \"bua-Cyrl-RU\",\r\n buc: \"buc-Latn-YT\",\r\n bud: \"bud-Latn-ZZ\",\r\n bug: \"bug-Latn-ID\",\r\n buk: \"buk-Latn-ZZ\",\r\n bum: \"bum-Latn-CM\",\r\n buo: \"buo-Latn-ZZ\",\r\n bus: \"bus-Latn-ZZ\",\r\n buu: \"buu-Latn-ZZ\",\r\n bvb: \"bvb-Latn-GQ\",\r\n bwd: \"bwd-Latn-ZZ\",\r\n bwr: \"bwr-Latn-ZZ\",\r\n bxh: \"bxh-Latn-ZZ\",\r\n bye: \"bye-Latn-ZZ\",\r\n byn: \"byn-Ethi-ER\",\r\n byr: \"byr-Latn-ZZ\",\r\n bys: \"bys-Latn-ZZ\",\r\n byv: \"byv-Latn-CM\",\r\n byx: \"byx-Latn-ZZ\",\r\n bza: \"bza-Latn-ZZ\",\r\n bze: \"bze-Latn-ML\",\r\n bzf: \"bzf-Latn-ZZ\",\r\n bzh: \"bzh-Latn-ZZ\",\r\n bzw: \"bzw-Latn-ZZ\",\r\n ca: \"ca-Latn-ES\",\r\n can: \"can-Latn-ZZ\",\r\n cbj: \"cbj-Latn-ZZ\",\r\n cch: \"cch-Latn-NG\",\r\n ccp: \"ccp-Cakm-BD\",\r\n ce: \"ce-Cyrl-RU\",\r\n ceb: \"ceb-Latn-PH\",\r\n cfa: \"cfa-Latn-ZZ\",\r\n cgg: \"cgg-Latn-UG\",\r\n ch: \"ch-Latn-GU\",\r\n chk: \"chk-Latn-FM\",\r\n chm: \"chm-Cyrl-RU\",\r\n cho: \"cho-Latn-US\",\r\n chp: \"chp-Latn-CA\",\r\n chr: \"chr-Cher-US\",\r\n cic: \"cic-Latn-US\",\r\n cja: \"cja-Arab-KH\",\r\n cjm: \"cjm-Cham-VN\",\r\n cjv: \"cjv-Latn-ZZ\",\r\n ckb: \"ckb-Arab-IQ\",\r\n ckl: \"ckl-Latn-ZZ\",\r\n cko: \"cko-Latn-ZZ\",\r\n cky: \"cky-Latn-ZZ\",\r\n cla: \"cla-Latn-ZZ\",\r\n cme: \"cme-Latn-ZZ\",\r\n cmg: \"cmg-Soyo-MN\",\r\n co: \"co-Latn-FR\",\r\n cop: \"cop-Copt-EG\",\r\n cps: \"cps-Latn-PH\",\r\n cr: \"cr-Cans-CA\",\r\n crh: \"crh-Cyrl-UA\",\r\n crj: \"crj-Cans-CA\",\r\n crk: \"crk-Cans-CA\",\r\n crl: \"crl-Cans-CA\",\r\n crm: \"crm-Cans-CA\",\r\n crs: \"crs-Latn-SC\",\r\n cs: \"cs-Latn-CZ\",\r\n csb: \"csb-Latn-PL\",\r\n csw: \"csw-Cans-CA\",\r\n ctd: \"ctd-Pauc-MM\",\r\n cu: \"cu-Cyrl-RU\",\r\n \"cu-Glag\": \"cu-Glag-BG\",\r\n cv: \"cv-Cyrl-RU\",\r\n cy: \"cy-Latn-GB\",\r\n da: \"da-Latn-DK\",\r\n dad: \"dad-Latn-ZZ\",\r\n daf: \"daf-Latn-ZZ\",\r\n dag: \"dag-Latn-ZZ\",\r\n dah: \"dah-Latn-ZZ\",\r\n dak: \"dak-Latn-US\",\r\n dar: \"dar-Cyrl-RU\",\r\n dav: \"dav-Latn-KE\",\r\n dbd: \"dbd-Latn-ZZ\",\r\n dbq: \"dbq-Latn-ZZ\",\r\n dcc: \"dcc-Arab-IN\",\r\n ddn: \"ddn-Latn-ZZ\",\r\n de: \"de-Latn-DE\",\r\n ded: \"ded-Latn-ZZ\",\r\n den: \"den-Latn-CA\",\r\n dga: \"dga-Latn-ZZ\",\r\n dgh: \"dgh-Latn-ZZ\",\r\n dgi: \"dgi-Latn-ZZ\",\r\n dgl: \"dgl-Arab-ZZ\",\r\n dgr: \"dgr-Latn-CA\",\r\n dgz: \"dgz-Latn-ZZ\",\r\n dia: \"dia-Latn-ZZ\",\r\n dje: \"dje-Latn-NE\",\r\n dnj: \"dnj-Latn-CI\",\r\n dob: \"dob-Latn-ZZ\",\r\n doi: \"doi-Arab-IN\",\r\n dop: \"dop-Latn-ZZ\",\r\n dow: \"dow-Latn-ZZ\",\r\n drh: \"drh-Mong-CN\",\r\n dri: \"dri-Latn-ZZ\",\r\n drs: \"drs-Ethi-ZZ\",\r\n dsb: \"dsb-Latn-DE\",\r\n dtm: \"dtm-Latn-ML\",\r\n dtp: \"dtp-Latn-MY\",\r\n dts: \"dts-Latn-ZZ\",\r\n dty: \"dty-Deva-NP\",\r\n dua: \"dua-Latn-CM\",\r\n duc: \"duc-Latn-ZZ\",\r\n dud: \"dud-Latn-ZZ\",\r\n dug: \"dug-Latn-ZZ\",\r\n dv: \"dv-Thaa-MV\",\r\n dva: \"dva-Latn-ZZ\",\r\n dww: \"dww-Latn-ZZ\",\r\n dyo: \"dyo-Latn-SN\",\r\n dyu: \"dyu-Latn-BF\",\r\n dz: \"dz-Tibt-BT\",\r\n dzg: \"dzg-Latn-ZZ\",\r\n ebu: \"ebu-Latn-KE\",\r\n ee: \"ee-Latn-GH\",\r\n efi: \"efi-Latn-NG\",\r\n egl: \"egl-Latn-IT\",\r\n egy: \"egy-Egyp-EG\",\r\n eka: \"eka-Latn-ZZ\",\r\n eky: \"eky-Kali-MM\",\r\n el: \"el-Grek-GR\",\r\n ema: \"ema-Latn-ZZ\",\r\n emi: \"emi-Latn-ZZ\",\r\n en: \"en-Latn-US\",\r\n \"en-Shaw\": \"en-Shaw-GB\",\r\n enn: \"enn-Latn-ZZ\",\r\n enq: \"enq-Latn-ZZ\",\r\n eo: \"eo-Latn-001\",\r\n eri: \"eri-Latn-ZZ\",\r\n es: \"es-Latn-ES\",\r\n esg: \"esg-Gonm-IN\",\r\n esu: \"esu-Latn-US\",\r\n et: \"et-Latn-EE\",\r\n etr: \"etr-Latn-ZZ\",\r\n ett: \"ett-Ital-IT\",\r\n etu: \"etu-Latn-ZZ\",\r\n etx: \"etx-Latn-ZZ\",\r\n eu: \"eu-Latn-ES\",\r\n ewo: \"ewo-Latn-CM\",\r\n ext: \"ext-Latn-ES\",\r\n fa: \"fa-Arab-IR\",\r\n faa: \"faa-Latn-ZZ\",\r\n fab: \"fab-Latn-ZZ\",\r\n fag: \"fag-Latn-ZZ\",\r\n fai: \"fai-Latn-ZZ\",\r\n fan: \"fan-Latn-GQ\",\r\n ff: \"ff-Latn-SN\",\r\n \"ff-Adlm\": \"ff-Adlm-GN\",\r\n ffi: \"ffi-Latn-ZZ\",\r\n ffm: \"ffm-Latn-ML\",\r\n fi: \"fi-Latn-FI\",\r\n fia: \"fia-Arab-SD\",\r\n fil: \"fil-Latn-PH\",\r\n fit: \"fit-Latn-SE\",\r\n fj: \"fj-Latn-FJ\",\r\n flr: \"flr-Latn-ZZ\",\r\n fmp: \"fmp-Latn-ZZ\",\r\n fo: \"fo-Latn-FO\",\r\n fod: \"fod-Latn-ZZ\",\r\n fon: \"fon-Latn-BJ\",\r\n for: \"for-Latn-ZZ\",\r\n fpe: \"fpe-Latn-ZZ\",\r\n fqs: \"fqs-Latn-ZZ\",\r\n fr: \"fr-Latn-FR\",\r\n frc: \"frc-Latn-US\",\r\n frp: \"frp-Latn-FR\",\r\n frr: \"frr-Latn-DE\",\r\n frs: \"frs-Latn-DE\",\r\n fub: \"fub-Arab-CM\",\r\n fud: \"fud-Latn-WF\",\r\n fue: \"fue-Latn-ZZ\",\r\n fuf: \"fuf-Latn-GN\",\r\n fuh: \"fuh-Latn-ZZ\",\r\n fuq: \"fuq-Latn-NE\",\r\n fur: \"fur-Latn-IT\",\r\n fuv: \"fuv-Latn-NG\",\r\n fuy: \"fuy-Latn-ZZ\",\r\n fvr: \"fvr-Latn-SD\",\r\n fy: \"fy-Latn-NL\",\r\n ga: \"ga-Latn-IE\",\r\n gaa: \"gaa-Latn-GH\",\r\n gaf: \"gaf-Latn-ZZ\",\r\n gag: \"gag-Latn-MD\",\r\n gah: \"gah-Latn-ZZ\",\r\n gaj: \"gaj-Latn-ZZ\",\r\n gam: \"gam-Latn-ZZ\",\r\n gan: \"gan-Hans-CN\",\r\n gaw: \"gaw-Latn-ZZ\",\r\n gay: \"gay-Latn-ID\",\r\n gba: \"gba-Latn-ZZ\",\r\n gbf: \"gbf-Latn-ZZ\",\r\n gbm: \"gbm-Deva-IN\",\r\n gby: \"gby-Latn-ZZ\",\r\n gbz: \"gbz-Arab-IR\",\r\n gcr: \"gcr-Latn-GF\",\r\n gd: \"gd-Latn-GB\",\r\n gde: \"gde-Latn-ZZ\",\r\n gdn: \"gdn-Latn-ZZ\",\r\n gdr: \"gdr-Latn-ZZ\",\r\n geb: \"geb-Latn-ZZ\",\r\n gej: \"gej-Latn-ZZ\",\r\n gel: \"gel-Latn-ZZ\",\r\n gez: \"gez-Ethi-ET\",\r\n gfk: \"gfk-Latn-ZZ\",\r\n ggn: \"ggn-Deva-NP\",\r\n ghs: \"ghs-Latn-ZZ\",\r\n gil: \"gil-Latn-KI\",\r\n gim: \"gim-Latn-ZZ\",\r\n gjk: \"gjk-Arab-PK\",\r\n gjn: \"gjn-Latn-ZZ\",\r\n gju: \"gju-Arab-PK\",\r\n gkn: \"gkn-Latn-ZZ\",\r\n gkp: \"gkp-Latn-ZZ\",\r\n gl: \"gl-Latn-ES\",\r\n glk: \"glk-Arab-IR\",\r\n gmm: \"gmm-Latn-ZZ\",\r\n gmv: \"gmv-Ethi-ZZ\",\r\n gn: \"gn-Latn-PY\",\r\n gnd: \"gnd-Latn-ZZ\",\r\n gng: \"gng-Latn-ZZ\",\r\n god: \"god-Latn-ZZ\",\r\n gof: \"gof-Ethi-ZZ\",\r\n goi: \"goi-Latn-ZZ\",\r\n gom: \"gom-Deva-IN\",\r\n gon: \"gon-Telu-IN\",\r\n gor: \"gor-Latn-ID\",\r\n gos: \"gos-Latn-NL\",\r\n got: \"got-Goth-UA\",\r\n grb: \"grb-Latn-ZZ\",\r\n grc: \"grc-Cprt-CY\",\r\n \"grc-Linb\": \"grc-Linb-GR\",\r\n grt: \"grt-Beng-IN\",\r\n grw: \"grw-Latn-ZZ\",\r\n gsw: \"gsw-Latn-CH\",\r\n gu: \"gu-Gujr-IN\",\r\n gub: \"gub-Latn-BR\",\r\n guc: \"guc-Latn-CO\",\r\n gud: \"gud-Latn-ZZ\",\r\n gur: \"gur-Latn-GH\",\r\n guw: \"guw-Latn-ZZ\",\r\n gux: \"gux-Latn-ZZ\",\r\n guz: \"guz-Latn-KE\",\r\n gv: \"gv-Latn-IM\",\r\n gvf: \"gvf-Latn-ZZ\",\r\n gvr: \"gvr-Deva-NP\",\r\n gvs: \"gvs-Latn-ZZ\",\r\n gwc: \"gwc-Arab-ZZ\",\r\n gwi: \"gwi-Latn-CA\",\r\n gwt: \"gwt-Arab-ZZ\",\r\n gyi: \"gyi-Latn-ZZ\",\r\n ha: \"ha-Latn-NG\",\r\n \"ha-CM\": \"ha-Arab-CM\",\r\n \"ha-SD\": \"ha-Arab-SD\",\r\n hag: \"hag-Latn-ZZ\",\r\n hak: \"hak-Hans-CN\",\r\n ham: \"ham-Latn-ZZ\",\r\n haw: \"haw-Latn-US\",\r\n haz: \"haz-Arab-AF\",\r\n hbb: \"hbb-Latn-ZZ\",\r\n hdy: \"hdy-Ethi-ZZ\",\r\n he: \"he-Hebr-IL\",\r\n hhy: \"hhy-Latn-ZZ\",\r\n hi: \"hi-Deva-IN\",\r\n hia: \"hia-Latn-ZZ\",\r\n hif: \"hif-Latn-FJ\",\r\n hig: \"hig-Latn-ZZ\",\r\n hih: \"hih-Latn-ZZ\",\r\n hil: \"hil-Latn-PH\",\r\n hla: \"hla-Latn-ZZ\",\r\n hlu: \"hlu-Hluw-TR\",\r\n hmd: \"hmd-Plrd-CN\",\r\n hmt: \"hmt-Latn-ZZ\",\r\n hnd: \"hnd-Arab-PK\",\r\n hne: \"hne-Deva-IN\",\r\n hnj: \"hnj-Hmng-LA\",\r\n hnn: \"hnn-Latn-PH\",\r\n hno: \"hno-Arab-PK\",\r\n ho: \"ho-Latn-PG\",\r\n hoc: \"hoc-Deva-IN\",\r\n hoj: \"hoj-Deva-IN\",\r\n hot: \"hot-Latn-ZZ\",\r\n hr: \"hr-Latn-HR\",\r\n hsb: \"hsb-Latn-DE\",\r\n hsn: \"hsn-Hans-CN\",\r\n ht: \"ht-Latn-HT\",\r\n hu: \"hu-Latn-HU\",\r\n hui: \"hui-Latn-ZZ\",\r\n hy: \"hy-Armn-AM\",\r\n hz: \"hz-Latn-NA\",\r\n ia: \"ia-Latn-001\",\r\n ian: \"ian-Latn-ZZ\",\r\n iar: \"iar-Latn-ZZ\",\r\n iba: \"iba-Latn-MY\",\r\n ibb: \"ibb-Latn-NG\",\r\n iby: \"iby-Latn-ZZ\",\r\n ica: \"ica-Latn-ZZ\",\r\n ich: \"ich-Latn-ZZ\",\r\n id: \"id-Latn-ID\",\r\n idd: \"idd-Latn-ZZ\",\r\n idi: \"idi-Latn-ZZ\",\r\n idu: \"idu-Latn-ZZ\",\r\n ife: \"ife-Latn-TG\",\r\n ig: \"ig-Latn-NG\",\r\n igb: \"igb-Latn-ZZ\",\r\n ige: \"ige-Latn-ZZ\",\r\n ii: \"ii-Yiii-CN\",\r\n ijj: \"ijj-Latn-ZZ\",\r\n ik: \"ik-Latn-US\",\r\n ikk: \"ikk-Latn-ZZ\",\r\n ikt: \"ikt-Latn-CA\",\r\n ikw: \"ikw-Latn-ZZ\",\r\n ikx: \"ikx-Latn-ZZ\",\r\n ilo: \"ilo-Latn-PH\",\r\n imo: \"imo-Latn-ZZ\",\r\n in: \"in-Latn-ID\",\r\n inh: \"inh-Cyrl-RU\",\r\n io: \"io-Latn-001\",\r\n iou: \"iou-Latn-ZZ\",\r\n iri: \"iri-Latn-ZZ\",\r\n is: \"is-Latn-IS\",\r\n it: \"it-Latn-IT\",\r\n iu: \"iu-Cans-CA\",\r\n iw: \"iw-Hebr-IL\",\r\n iwm: \"iwm-Latn-ZZ\",\r\n iws: \"iws-Latn-ZZ\",\r\n izh: \"izh-Latn-RU\",\r\n izi: \"izi-Latn-ZZ\",\r\n ja: \"ja-Jpan-JP\",\r\n jab: \"jab-Latn-ZZ\",\r\n jam: \"jam-Latn-JM\",\r\n jbo: \"jbo-Latn-001\",\r\n jbu: \"jbu-Latn-ZZ\",\r\n jen: \"jen-Latn-ZZ\",\r\n jgk: \"jgk-Latn-ZZ\",\r\n jgo: \"jgo-Latn-CM\",\r\n ji: \"ji-Hebr-UA\",\r\n jib: \"jib-Latn-ZZ\",\r\n jmc: \"jmc-Latn-TZ\",\r\n jml: \"jml-Deva-NP\",\r\n jra: \"jra-Latn-ZZ\",\r\n jut: \"jut-Latn-DK\",\r\n jv: \"jv-Latn-ID\",\r\n jw: \"jw-Latn-ID\",\r\n ka: \"ka-Geor-GE\",\r\n kaa: \"kaa-Cyrl-UZ\",\r\n kab: \"kab-Latn-DZ\",\r\n kac: \"kac-Latn-MM\",\r\n kad: \"kad-Latn-ZZ\",\r\n kai: \"kai-Latn-ZZ\",\r\n kaj: \"kaj-Latn-NG\",\r\n kam: \"kam-Latn-KE\",\r\n kao: \"kao-Latn-ML\",\r\n kbd: \"kbd-Cyrl-RU\",\r\n kbm: \"kbm-Latn-ZZ\",\r\n kbp: \"kbp-Latn-ZZ\",\r\n kbq: \"kbq-Latn-ZZ\",\r\n kbx: \"kbx-Latn-ZZ\",\r\n kby: \"kby-Arab-NE\",\r\n kcg: \"kcg-Latn-NG\",\r\n kck: \"kck-Latn-ZW\",\r\n kcl: \"kcl-Latn-ZZ\",\r\n kct: \"kct-Latn-ZZ\",\r\n kde: \"kde-Latn-TZ\",\r\n kdh: \"kdh-Arab-TG\",\r\n kdl: \"kdl-Latn-ZZ\",\r\n kdt: \"kdt-Thai-TH\",\r\n kea: \"kea-Latn-CV\",\r\n ken: \"ken-Latn-CM\",\r\n kez: \"kez-Latn-ZZ\",\r\n kfo: \"kfo-Latn-CI\",\r\n kfr: \"kfr-Deva-IN\",\r\n kfy: \"kfy-Deva-IN\",\r\n kg: \"kg-Latn-CD\",\r\n kge: \"kge-Latn-ID\",\r\n kgf: \"kgf-Latn-ZZ\",\r\n kgp: \"kgp-Latn-BR\",\r\n kha: \"kha-Latn-IN\",\r\n khb: \"khb-Talu-CN\",\r\n khn: \"khn-Deva-IN\",\r\n khq: \"khq-Latn-ML\",\r\n khs: \"khs-Latn-ZZ\",\r\n kht: \"kht-Mymr-IN\",\r\n khw: \"khw-Arab-PK\",\r\n khz: \"khz-Latn-ZZ\",\r\n ki: \"ki-Latn-KE\",\r\n kij: \"kij-Latn-ZZ\",\r\n kiu: \"kiu-Latn-TR\",\r\n kiw: \"kiw-Latn-ZZ\",\r\n kj: \"kj-Latn-NA\",\r\n kjd: \"kjd-Latn-ZZ\",\r\n kjg: \"kjg-Laoo-LA\",\r\n kjs: \"kjs-Latn-ZZ\",\r\n kjy: \"kjy-Latn-ZZ\",\r\n kk: \"kk-Cyrl-KZ\",\r\n \"kk-AF\": \"kk-Arab-AF\",\r\n \"kk-Arab\": \"kk-Arab-CN\",\r\n \"kk-CN\": \"kk-Arab-CN\",\r\n \"kk-IR\": \"kk-Arab-IR\",\r\n \"kk-MN\": \"kk-Arab-MN\",\r\n kkc: \"kkc-Latn-ZZ\",\r\n kkj: \"kkj-Latn-CM\",\r\n kl: \"kl-Latn-GL\",\r\n kln: \"kln-Latn-KE\",\r\n klq: \"klq-Latn-ZZ\",\r\n klt: \"klt-Latn-ZZ\",\r\n klx: \"klx-Latn-ZZ\",\r\n km: \"km-Khmr-KH\",\r\n kmb: \"kmb-Latn-AO\",\r\n kmh: \"kmh-Latn-ZZ\",\r\n kmo: \"kmo-Latn-ZZ\",\r\n kms: \"kms-Latn-ZZ\",\r\n kmu: \"kmu-Latn-ZZ\",\r\n kmw: \"kmw-Latn-ZZ\",\r\n kn: \"kn-Knda-IN\",\r\n knf: \"knf-Latn-GW\",\r\n knp: \"knp-Latn-ZZ\",\r\n ko: \"ko-Kore-KR\",\r\n koi: \"koi-Cyrl-RU\",\r\n kok: \"kok-Deva-IN\",\r\n kol: \"kol-Latn-ZZ\",\r\n kos: \"kos-Latn-FM\",\r\n koz: \"koz-Latn-ZZ\",\r\n kpe: \"kpe-Latn-LR\",\r\n kpf: \"kpf-Latn-ZZ\",\r\n kpo: \"kpo-Latn-ZZ\",\r\n kpr: \"kpr-Latn-ZZ\",\r\n kpx: \"kpx-Latn-ZZ\",\r\n kqb: \"kqb-Latn-ZZ\",\r\n kqf: \"kqf-Latn-ZZ\",\r\n kqs: \"kqs-Latn-ZZ\",\r\n kqy: \"kqy-Ethi-ZZ\",\r\n kr: \"kr-Latn-ZZ\",\r\n krc: \"krc-Cyrl-RU\",\r\n kri: \"kri-Latn-SL\",\r\n krj: \"krj-Latn-PH\",\r\n krl: \"krl-Latn-RU\",\r\n krs: \"krs-Latn-ZZ\",\r\n kru: \"kru-Deva-IN\",\r\n ks: \"ks-Arab-IN\",\r\n ksb: \"ksb-Latn-TZ\",\r\n ksd: \"ksd-Latn-ZZ\",\r\n ksf: \"ksf-Latn-CM\",\r\n ksh: \"ksh-Latn-DE\",\r\n ksj: \"ksj-Latn-ZZ\",\r\n ksr: \"ksr-Latn-ZZ\",\r\n ktb: \"ktb-Ethi-ZZ\",\r\n ktm: \"ktm-Latn-ZZ\",\r\n kto: \"kto-Latn-ZZ\",\r\n ktr: \"ktr-Latn-MY\",\r\n ku: \"ku-Latn-TR\",\r\n \"ku-Arab\": \"ku-Arab-IQ\",\r\n \"ku-LB\": \"ku-Arab-LB\",\r\n kub: \"kub-Latn-ZZ\",\r\n kud: \"kud-Latn-ZZ\",\r\n kue: \"kue-Latn-ZZ\",\r\n kuj: \"kuj-Latn-ZZ\",\r\n kum: \"kum-Cyrl-RU\",\r\n kun: \"kun-Latn-ZZ\",\r\n kup: \"kup-Latn-ZZ\",\r\n kus: \"kus-Latn-ZZ\",\r\n kv: \"kv-Cyrl-RU\",\r\n kvg: \"kvg-Latn-ZZ\",\r\n kvr: \"kvr-Latn-ID\",\r\n kvx: \"kvx-Arab-PK\",\r\n kw: \"kw-Latn-GB\",\r\n kwj: \"kwj-Latn-ZZ\",\r\n kwo: \"kwo-Latn-ZZ\",\r\n kwq: \"kwq-Latn-ZZ\",\r\n kxa: \"kxa-Latn-ZZ\",\r\n kxc: \"kxc-Ethi-ZZ\",\r\n kxe: \"kxe-Latn-ZZ\",\r\n kxm: \"kxm-Thai-TH\",\r\n kxp: \"kxp-Arab-PK\",\r\n kxw: \"kxw-Latn-ZZ\",\r\n kxz: \"kxz-Latn-ZZ\",\r\n ky: \"ky-Cyrl-KG\",\r\n \"ky-Arab\": \"ky-Arab-CN\",\r\n \"ky-CN\": \"ky-Arab-CN\",\r\n \"ky-Latn\": \"ky-Latn-TR\",\r\n \"ky-TR\": \"ky-Latn-TR\",\r\n kye: \"kye-Latn-ZZ\",\r\n kyx: \"kyx-Latn-ZZ\",\r\n kzj: \"kzj-Latn-MY\",\r\n kzr: \"kzr-Latn-ZZ\",\r\n kzt: \"kzt-Latn-MY\",\r\n la: \"la-Latn-VA\",\r\n lab: \"lab-Lina-GR\",\r\n lad: \"lad-Hebr-IL\",\r\n lag: \"lag-Latn-TZ\",\r\n lah: \"lah-Arab-PK\",\r\n laj: \"laj-Latn-UG\",\r\n las: \"las-Latn-ZZ\",\r\n lb: \"lb-Latn-LU\",\r\n lbe: \"lbe-Cyrl-RU\",\r\n lbu: \"lbu-Latn-ZZ\",\r\n lbw: \"lbw-Latn-ID\",\r\n lcm: \"lcm-Latn-ZZ\",\r\n lcp: \"lcp-Thai-CN\",\r\n ldb: \"ldb-Latn-ZZ\",\r\n led: \"led-Latn-ZZ\",\r\n lee: \"lee-Latn-ZZ\",\r\n lem: \"lem-Latn-ZZ\",\r\n lep: \"lep-Lepc-IN\",\r\n leq: \"leq-Latn-ZZ\",\r\n leu: \"leu-Latn-ZZ\",\r\n lez: \"lez-Cyrl-RU\",\r\n lg: \"lg-Latn-UG\",\r\n lgg: \"lgg-Latn-ZZ\",\r\n li: \"li-Latn-NL\",\r\n lia: \"lia-Latn-ZZ\",\r\n lid: \"lid-Latn-ZZ\",\r\n lif: \"lif-Deva-NP\",\r\n \"lif-Limb\": \"lif-Limb-IN\",\r\n lig: \"lig-Latn-ZZ\",\r\n lih: \"lih-Latn-ZZ\",\r\n lij: \"lij-Latn-IT\",\r\n lis: \"lis-Lisu-CN\",\r\n ljp: \"ljp-Latn-ID\",\r\n lki: \"lki-Arab-IR\",\r\n lkt: \"lkt-Latn-US\",\r\n lle: \"lle-Latn-ZZ\",\r\n lln: \"lln-Latn-ZZ\",\r\n lmn: \"lmn-Telu-IN\",\r\n lmo: \"lmo-Latn-IT\",\r\n lmp: \"lmp-Latn-ZZ\",\r\n ln: \"ln-Latn-CD\",\r\n lns: \"lns-Latn-ZZ\",\r\n lnu: \"lnu-Latn-ZZ\",\r\n lo: \"lo-Laoo-LA\",\r\n loj: \"loj-Latn-ZZ\",\r\n lok: \"lok-Latn-ZZ\",\r\n lol: \"lol-Latn-CD\",\r\n lor: \"lor-Latn-ZZ\",\r\n los: \"los-Latn-ZZ\",\r\n loz: \"loz-Latn-ZM\",\r\n lrc: \"lrc-Arab-IR\",\r\n lt: \"lt-Latn-LT\",\r\n ltg: \"ltg-Latn-LV\",\r\n lu: \"lu-Latn-CD\",\r\n lua: \"lua-Latn-CD\",\r\n luo: \"luo-Latn-KE\",\r\n luy: \"luy-Latn-KE\",\r\n luz: \"luz-Arab-IR\",\r\n lv: \"lv-Latn-LV\",\r\n lwl: \"lwl-Thai-TH\",\r\n lzh: \"lzh-Hans-CN\",\r\n lzz: \"lzz-Latn-TR\",\r\n mad: \"mad-Latn-ID\",\r\n maf: \"maf-Latn-CM\",\r\n mag: \"mag-Deva-IN\",\r\n mai: \"mai-Deva-IN\",\r\n mak: \"mak-Latn-ID\",\r\n man: \"man-Latn-GM\",\r\n \"man-GN\": \"man-Nkoo-GN\",\r\n \"man-Nkoo\": \"man-Nkoo-GN\",\r\n mas: \"mas-Latn-KE\",\r\n maw: \"maw-Latn-ZZ\",\r\n maz: \"maz-Latn-MX\",\r\n mbh: \"mbh-Latn-ZZ\",\r\n mbo: \"mbo-Latn-ZZ\",\r\n mbq: \"mbq-Latn-ZZ\",\r\n mbu: \"mbu-Latn-ZZ\",\r\n mbw: \"mbw-Latn-ZZ\",\r\n mci: \"mci-Latn-ZZ\",\r\n mcp: \"mcp-Latn-ZZ\",\r\n mcq: \"mcq-Latn-ZZ\",\r\n mcr: \"mcr-Latn-ZZ\",\r\n mcu: \"mcu-Latn-ZZ\",\r\n mda: \"mda-Latn-ZZ\",\r\n mde: \"mde-Arab-ZZ\",\r\n mdf: \"mdf-Cyrl-RU\",\r\n mdh: \"mdh-Latn-PH\",\r\n mdj: \"mdj-Latn-ZZ\",\r\n mdr: \"mdr-Latn-ID\",\r\n mdx: \"mdx-Ethi-ZZ\",\r\n med: \"med-Latn-ZZ\",\r\n mee: \"mee-Latn-ZZ\",\r\n mek: \"mek-Latn-ZZ\",\r\n men: \"men-Latn-SL\",\r\n mer: \"mer-Latn-KE\",\r\n met: \"met-Latn-ZZ\",\r\n meu: \"meu-Latn-ZZ\",\r\n mfa: \"mfa-Arab-TH\",\r\n mfe: \"mfe-Latn-MU\",\r\n mfn: \"mfn-Latn-ZZ\",\r\n mfo: \"mfo-Latn-ZZ\",\r\n mfq: \"mfq-Latn-ZZ\",\r\n mg: \"mg-Latn-MG\",\r\n mgh: \"mgh-Latn-MZ\",\r\n mgl: \"mgl-Latn-ZZ\",\r\n mgo: \"mgo-Latn-CM\",\r\n mgp: \"mgp-Deva-NP\",\r\n mgy: \"mgy-Latn-TZ\",\r\n mh: \"mh-Latn-MH\",\r\n mhi: \"mhi-Latn-ZZ\",\r\n mhl: \"mhl-Latn-ZZ\",\r\n mi: \"mi-Latn-NZ\",\r\n mif: \"mif-Latn-ZZ\",\r\n min: \"min-Latn-ID\",\r\n mis: \"mis-Hatr-IQ\",\r\n \"mis-Medf\": \"mis-Medf-NG\",\r\n miw: \"miw-Latn-ZZ\",\r\n mk: \"mk-Cyrl-MK\",\r\n mki: \"mki-Arab-ZZ\",\r\n mkl: \"mkl-Latn-ZZ\",\r\n mkp: \"mkp-Latn-ZZ\",\r\n mkw: \"mkw-Latn-ZZ\",\r\n ml: \"ml-Mlym-IN\",\r\n mle: \"mle-Latn-ZZ\",\r\n mlp: \"mlp-Latn-ZZ\",\r\n mls: \"mls-Latn-SD\",\r\n mmo: \"mmo-Latn-ZZ\",\r\n mmu: \"mmu-Latn-ZZ\",\r\n mmx: \"mmx-Latn-ZZ\",\r\n mn: \"mn-Cyrl-MN\",\r\n \"mn-CN\": \"mn-Mong-CN\",\r\n \"mn-Mong\": \"mn-Mong-CN\",\r\n mna: \"mna-Latn-ZZ\",\r\n mnf: \"mnf-Latn-ZZ\",\r\n mni: \"mni-Beng-IN\",\r\n mnw: \"mnw-Mymr-MM\",\r\n mo: \"mo-Latn-RO\",\r\n moa: \"moa-Latn-ZZ\",\r\n moe: \"moe-Latn-CA\",\r\n moh: \"moh-Latn-CA\",\r\n mos: \"mos-Latn-BF\",\r\n mox: \"mox-Latn-ZZ\",\r\n mpp: \"mpp-Latn-ZZ\",\r\n mps: \"mps-Latn-ZZ\",\r\n mpt: \"mpt-Latn-ZZ\",\r\n mpx: \"mpx-Latn-ZZ\",\r\n mql: \"mql-Latn-ZZ\",\r\n mr: \"mr-Deva-IN\",\r\n mrd: \"mrd-Deva-NP\",\r\n mrj: \"mrj-Cyrl-RU\",\r\n mro: \"mro-Mroo-BD\",\r\n ms: \"ms-Latn-MY\",\r\n \"ms-CC\": \"ms-Arab-CC\",\r\n \"ms-ID\": \"ms-Arab-ID\",\r\n mt: \"mt-Latn-MT\",\r\n mtc: \"mtc-Latn-ZZ\",\r\n mtf: \"mtf-Latn-ZZ\",\r\n mti: \"mti-Latn-ZZ\",\r\n mtr: \"mtr-Deva-IN\",\r\n mua: \"mua-Latn-CM\",\r\n mur: \"mur-Latn-ZZ\",\r\n mus: \"mus-Latn-US\",\r\n mva: \"mva-Latn-ZZ\",\r\n mvn: \"mvn-Latn-ZZ\",\r\n mvy: \"mvy-Arab-PK\",\r\n mwk: \"mwk-Latn-ML\",\r\n mwr: \"mwr-Deva-IN\",\r\n mwv: \"mwv-Latn-ID\",\r\n mww: \"mww-Hmnp-US\",\r\n mxc: \"mxc-Latn-ZW\",\r\n mxm: \"mxm-Latn-ZZ\",\r\n my: \"my-Mymr-MM\",\r\n myk: \"myk-Latn-ZZ\",\r\n mym: \"mym-Ethi-ZZ\",\r\n myv: \"myv-Cyrl-RU\",\r\n myw: \"myw-Latn-ZZ\",\r\n myx: \"myx-Latn-UG\",\r\n myz: \"myz-Mand-IR\",\r\n mzk: \"mzk-Latn-ZZ\",\r\n mzm: \"mzm-Latn-ZZ\",\r\n mzn: \"mzn-Arab-IR\",\r\n mzp: \"mzp-Latn-ZZ\",\r\n mzw: \"mzw-Latn-ZZ\",\r\n mzz: \"mzz-Latn-ZZ\",\r\n na: \"na-Latn-NR\",\r\n nac: \"nac-Latn-ZZ\",\r\n naf: \"naf-Latn-ZZ\",\r\n nak: \"nak-Latn-ZZ\",\r\n nan: \"nan-Hans-CN\",\r\n nap: \"nap-Latn-IT\",\r\n naq: \"naq-Latn-NA\",\r\n nas: \"nas-Latn-ZZ\",\r\n nb: \"nb-Latn-NO\",\r\n nca: \"nca-Latn-ZZ\",\r\n nce: \"nce-Latn-ZZ\",\r\n ncf: \"ncf-Latn-ZZ\",\r\n nch: \"nch-Latn-MX\",\r\n nco: \"nco-Latn-ZZ\",\r\n ncu: \"ncu-Latn-ZZ\",\r\n nd: \"nd-Latn-ZW\",\r\n ndc: \"ndc-Latn-MZ\",\r\n nds: \"nds-Latn-DE\",\r\n ne: \"ne-Deva-NP\",\r\n neb: \"neb-Latn-ZZ\",\r\n new: \"new-Deva-NP\",\r\n nex: \"nex-Latn-ZZ\",\r\n nfr: \"nfr-Latn-ZZ\",\r\n ng: \"ng-Latn-NA\",\r\n nga: \"nga-Latn-ZZ\",\r\n ngb: \"ngb-Latn-ZZ\",\r\n ngl: \"ngl-Latn-MZ\",\r\n nhb: \"nhb-Latn-ZZ\",\r\n nhe: \"nhe-Latn-MX\",\r\n nhw: \"nhw-Latn-MX\",\r\n nif: \"nif-Latn-ZZ\",\r\n nii: \"nii-Latn-ZZ\",\r\n nij: \"nij-Latn-ID\",\r\n nin: \"nin-Latn-ZZ\",\r\n niu: \"niu-Latn-NU\",\r\n niy: \"niy-Latn-ZZ\",\r\n niz: \"niz-Latn-ZZ\",\r\n njo: \"njo-Latn-IN\",\r\n nkg: \"nkg-Latn-ZZ\",\r\n nko: \"nko-Latn-ZZ\",\r\n nl: \"nl-Latn-NL\",\r\n nmg: \"nmg-Latn-CM\",\r\n nmz: \"nmz-Latn-ZZ\",\r\n nn: \"nn-Latn-NO\",\r\n nnf: \"nnf-Latn-ZZ\",\r\n nnh: \"nnh-Latn-CM\",\r\n nnk: \"nnk-Latn-ZZ\",\r\n nnm: \"nnm-Latn-ZZ\",\r\n nnp: \"nnp-Wcho-IN\",\r\n no: \"no-Latn-NO\",\r\n nod: \"nod-Lana-TH\",\r\n noe: \"noe-Deva-IN\",\r\n non: \"non-Runr-SE\",\r\n nop: \"nop-Latn-ZZ\",\r\n nou: \"nou-Latn-ZZ\",\r\n nqo: \"nqo-Nkoo-GN\",\r\n nr: \"nr-Latn-ZA\",\r\n nrb: \"nrb-Latn-ZZ\",\r\n nsk: \"nsk-Cans-CA\",\r\n nsn: \"nsn-Latn-ZZ\",\r\n nso: \"nso-Latn-ZA\",\r\n nss: \"nss-Latn-ZZ\",\r\n ntm: \"ntm-Latn-ZZ\",\r\n ntr: \"ntr-Latn-ZZ\",\r\n nui: \"nui-Latn-ZZ\",\r\n nup: \"nup-Latn-ZZ\",\r\n nus: \"nus-Latn-SS\",\r\n nuv: \"nuv-Latn-ZZ\",\r\n nux: \"nux-Latn-ZZ\",\r\n nv: \"nv-Latn-US\",\r\n nwb: \"nwb-Latn-ZZ\",\r\n nxq: \"nxq-Latn-CN\",\r\n nxr: \"nxr-Latn-ZZ\",\r\n ny: \"ny-Latn-MW\",\r\n nym: \"nym-Latn-TZ\",\r\n nyn: \"nyn-Latn-UG\",\r\n nzi: \"nzi-Latn-GH\",\r\n oc: \"oc-Latn-FR\",\r\n ogc: \"ogc-Latn-ZZ\",\r\n okr: \"okr-Latn-ZZ\",\r\n okv: \"okv-Latn-ZZ\",\r\n om: \"om-Latn-ET\",\r\n ong: \"ong-Latn-ZZ\",\r\n onn: \"onn-Latn-ZZ\",\r\n ons: \"ons-Latn-ZZ\",\r\n opm: \"opm-Latn-ZZ\",\r\n or: \"or-Orya-IN\",\r\n oro: \"oro-Latn-ZZ\",\r\n oru: \"oru-Arab-ZZ\",\r\n os: \"os-Cyrl-GE\",\r\n osa: \"osa-Osge-US\",\r\n ota: \"ota-Arab-ZZ\",\r\n otk: \"otk-Orkh-MN\",\r\n ozm: \"ozm-Latn-ZZ\",\r\n pa: \"pa-Guru-IN\",\r\n \"pa-Arab\": \"pa-Arab-PK\",\r\n \"pa-PK\": \"pa-Arab-PK\",\r\n pag: \"pag-Latn-PH\",\r\n pal: \"pal-Phli-IR\",\r\n \"pal-Phlp\": \"pal-Phlp-CN\",\r\n pam: \"pam-Latn-PH\",\r\n pap: \"pap-Latn-AW\",\r\n pau: \"pau-Latn-PW\",\r\n pbi: \"pbi-Latn-ZZ\",\r\n pcd: \"pcd-Latn-FR\",\r\n pcm: \"pcm-Latn-NG\",\r\n pdc: \"pdc-Latn-US\",\r\n pdt: \"pdt-Latn-CA\",\r\n ped: \"ped-Latn-ZZ\",\r\n peo: \"peo-Xpeo-IR\",\r\n pex: \"pex-Latn-ZZ\",\r\n pfl: \"pfl-Latn-DE\",\r\n phl: \"phl-Arab-ZZ\",\r\n phn: \"phn-Phnx-LB\",\r\n pil: \"pil-Latn-ZZ\",\r\n pip: \"pip-Latn-ZZ\",\r\n pka: \"pka-Brah-IN\",\r\n pko: \"pko-Latn-KE\",\r\n pl: \"pl-Latn-PL\",\r\n pla: \"pla-Latn-ZZ\",\r\n pms: \"pms-Latn-IT\",\r\n png: \"png-Latn-ZZ\",\r\n pnn: \"pnn-Latn-ZZ\",\r\n pnt: \"pnt-Grek-GR\",\r\n pon: \"pon-Latn-FM\",\r\n ppa: \"ppa-Deva-IN\",\r\n ppo: \"ppo-Latn-ZZ\",\r\n pra: \"pra-Khar-PK\",\r\n prd: \"prd-Arab-IR\",\r\n prg: \"prg-Latn-001\",\r\n ps: \"ps-Arab-AF\",\r\n pss: \"pss-Latn-ZZ\",\r\n pt: \"pt-Latn-BR\",\r\n ptp: \"ptp-Latn-ZZ\",\r\n puu: \"puu-Latn-GA\",\r\n pwa: \"pwa-Latn-ZZ\",\r\n qu: \"qu-Latn-PE\",\r\n quc: \"quc-Latn-GT\",\r\n qug: \"qug-Latn-EC\",\r\n rai: \"rai-Latn-ZZ\",\r\n raj: \"raj-Deva-IN\",\r\n rao: \"rao-Latn-ZZ\",\r\n rcf: \"rcf-Latn-RE\",\r\n rej: \"rej-Latn-ID\",\r\n rel: \"rel-Latn-ZZ\",\r\n res: \"res-Latn-ZZ\",\r\n rgn: \"rgn-Latn-IT\",\r\n rhg: \"rhg-Arab-MM\",\r\n ria: \"ria-Latn-IN\",\r\n rif: \"rif-Tfng-MA\",\r\n \"rif-NL\": \"rif-Latn-NL\",\r\n rjs: \"rjs-Deva-NP\",\r\n rkt: \"rkt-Beng-BD\",\r\n rm: \"rm-Latn-CH\",\r\n rmf: \"rmf-Latn-FI\",\r\n rmo: \"rmo-Latn-CH\",\r\n rmt: \"rmt-Arab-IR\",\r\n rmu: \"rmu-Latn-SE\",\r\n rn: \"rn-Latn-BI\",\r\n rna: \"rna-Latn-ZZ\",\r\n rng: \"rng-Latn-MZ\",\r\n ro: \"ro-Latn-RO\",\r\n rob: \"rob-Latn-ID\",\r\n rof: \"rof-Latn-TZ\",\r\n roo: \"roo-Latn-ZZ\",\r\n rro: \"rro-Latn-ZZ\",\r\n rtm: \"rtm-Latn-FJ\",\r\n ru: \"ru-Cyrl-RU\",\r\n rue: \"rue-Cyrl-UA\",\r\n rug: \"rug-Latn-SB\",\r\n rw: \"rw-Latn-RW\",\r\n rwk: \"rwk-Latn-TZ\",\r\n rwo: \"rwo-Latn-ZZ\",\r\n ryu: \"ryu-Kana-JP\",\r\n sa: \"sa-Deva-IN\",\r\n saf: \"saf-Latn-GH\",\r\n sah: \"sah-Cyrl-RU\",\r\n saq: \"saq-Latn-KE\",\r\n sas: \"sas-Latn-ID\",\r\n sat: \"sat-Latn-IN\",\r\n sav: \"sav-Latn-SN\",\r\n saz: \"saz-Saur-IN\",\r\n sba: \"sba-Latn-ZZ\",\r\n sbe: \"sbe-Latn-ZZ\",\r\n sbp: \"sbp-Latn-TZ\",\r\n sc: \"sc-Latn-IT\",\r\n sck: \"sck-Deva-IN\",\r\n scl: \"scl-Arab-ZZ\",\r\n scn: \"scn-Latn-IT\",\r\n sco: \"sco-Latn-GB\",\r\n scs: \"scs-Latn-CA\",\r\n sd: \"sd-Arab-PK\",\r\n \"sd-Deva\": \"sd-Deva-IN\",\r\n \"sd-Khoj\": \"sd-Khoj-IN\",\r\n \"sd-Sind\": \"sd-Sind-IN\",\r\n sdc: \"sdc-Latn-IT\",\r\n sdh: \"sdh-Arab-IR\",\r\n se: \"se-Latn-NO\",\r\n sef: \"sef-Latn-CI\",\r\n seh: \"seh-Latn-MZ\",\r\n sei: \"sei-Latn-MX\",\r\n ses: \"ses-Latn-ML\",\r\n sg: \"sg-Latn-CF\",\r\n sga: \"sga-Ogam-IE\",\r\n sgs: \"sgs-Latn-LT\",\r\n sgw: \"sgw-Ethi-ZZ\",\r\n sgz: \"sgz-Latn-ZZ\",\r\n shi: \"shi-Tfng-MA\",\r\n shk: \"shk-Latn-ZZ\",\r\n shn: \"shn-Mymr-MM\",\r\n shu: \"shu-Arab-ZZ\",\r\n si: \"si-Sinh-LK\",\r\n sid: \"sid-Latn-ET\",\r\n sig: \"sig-Latn-ZZ\",\r\n sil: \"sil-Latn-ZZ\",\r\n sim: \"sim-Latn-ZZ\",\r\n sjr: \"sjr-Latn-ZZ\",\r\n sk: \"sk-Latn-SK\",\r\n skc: \"skc-Latn-ZZ\",\r\n skr: \"skr-Arab-PK\",\r\n sks: \"sks-Latn-ZZ\",\r\n sl: \"sl-Latn-SI\",\r\n sld: \"sld-Latn-ZZ\",\r\n sli: \"sli-Latn-PL\",\r\n sll: \"sll-Latn-ZZ\",\r\n sly: \"sly-Latn-ID\",\r\n sm: \"sm-Latn-WS\",\r\n sma: \"sma-Latn-SE\",\r\n smj: \"smj-Latn-SE\",\r\n smn: \"smn-Latn-FI\",\r\n smp: \"smp-Samr-IL\",\r\n smq: \"smq-Latn-ZZ\",\r\n sms: \"sms-Latn-FI\",\r\n sn: \"sn-Latn-ZW\",\r\n snc: \"snc-Latn-ZZ\",\r\n snk: \"snk-Latn-ML\",\r\n snp: \"snp-Latn-ZZ\",\r\n snx: \"snx-Latn-ZZ\",\r\n sny: \"sny-Latn-ZZ\",\r\n so: \"so-Latn-SO\",\r\n sog: \"sog-Sogd-UZ\",\r\n sok: \"sok-Latn-ZZ\",\r\n soq: \"soq-Latn-ZZ\",\r\n sou: \"sou-Thai-TH\",\r\n soy: \"soy-Latn-ZZ\",\r\n spd: \"spd-Latn-ZZ\",\r\n spl: \"spl-Latn-ZZ\",\r\n sps: \"sps-Latn-ZZ\",\r\n sq: \"sq-Latn-AL\",\r\n sr: \"sr-Cyrl-RS\",\r\n \"sr-ME\": \"sr-Latn-ME\",\r\n \"sr-RO\": \"sr-Latn-RO\",\r\n \"sr-RU\": \"sr-Latn-RU\",\r\n \"sr-TR\": \"sr-Latn-TR\",\r\n srb: \"srb-Sora-IN\",\r\n srn: \"srn-Latn-SR\",\r\n srr: \"srr-Latn-SN\",\r\n srx: \"srx-Deva-IN\",\r\n ss: \"ss-Latn-ZA\",\r\n ssd: \"ssd-Latn-ZZ\",\r\n ssg: \"ssg-Latn-ZZ\",\r\n ssy: \"ssy-Latn-ER\",\r\n st: \"st-Latn-ZA\",\r\n stk: \"stk-Latn-ZZ\",\r\n stq: \"stq-Latn-DE\",\r\n su: \"su-Latn-ID\",\r\n sua: \"sua-Latn-ZZ\",\r\n sue: \"sue-Latn-ZZ\",\r\n suk: \"suk-Latn-TZ\",\r\n sur: \"sur-Latn-ZZ\",\r\n sus: \"sus-Latn-GN\",\r\n sv: \"sv-Latn-SE\",\r\n sw: \"sw-Latn-TZ\",\r\n swb: \"swb-Arab-YT\",\r\n swc: \"swc-Latn-CD\",\r\n swg: \"swg-Latn-DE\",\r\n swp: \"swp-Latn-ZZ\",\r\n swv: \"swv-Deva-IN\",\r\n sxn: \"sxn-Latn-ID\",\r\n sxw: \"sxw-Latn-ZZ\",\r\n syl: \"syl-Beng-BD\",\r\n syr: \"syr-Syrc-IQ\",\r\n szl: \"szl-Latn-PL\",\r\n ta: \"ta-Taml-IN\",\r\n taj: \"taj-Deva-NP\",\r\n tal: \"tal-Latn-ZZ\",\r\n tan: \"tan-Latn-ZZ\",\r\n taq: \"taq-Latn-ZZ\",\r\n tbc: \"tbc-Latn-ZZ\",\r\n tbd: \"tbd-Latn-ZZ\",\r\n tbf: \"tbf-Latn-ZZ\",\r\n tbg: \"tbg-Latn-ZZ\",\r\n tbo: \"tbo-Latn-ZZ\",\r\n tbw: \"tbw-Latn-PH\",\r\n tbz: \"tbz-Latn-ZZ\",\r\n tci: \"tci-Latn-ZZ\",\r\n tcy: \"tcy-Knda-IN\",\r\n tdd: \"tdd-Tale-CN\",\r\n tdg: \"tdg-Deva-NP\",\r\n tdh: \"tdh-Deva-NP\",\r\n tdu: \"tdu-Latn-MY\",\r\n te: \"te-Telu-IN\",\r\n ted: \"ted-Latn-ZZ\",\r\n tem: \"tem-Latn-SL\",\r\n teo: \"teo-Latn-UG\",\r\n tet: \"tet-Latn-TL\",\r\n tfi: \"tfi-Latn-ZZ\",\r\n tg: \"tg-Cyrl-TJ\",\r\n \"tg-Arab\": \"tg-Arab-PK\",\r\n \"tg-PK\": \"tg-Arab-PK\",\r\n tgc: \"tgc-Latn-ZZ\",\r\n tgo: \"tgo-Latn-ZZ\",\r\n tgu: \"tgu-Latn-ZZ\",\r\n th: \"th-Thai-TH\",\r\n thl: \"thl-Deva-NP\",\r\n thq: \"thq-Deva-NP\",\r\n thr: \"thr-Deva-NP\",\r\n ti: \"ti-Ethi-ET\",\r\n tif: \"tif-Latn-ZZ\",\r\n tig: \"tig-Ethi-ER\",\r\n tik: \"tik-Latn-ZZ\",\r\n tim: \"tim-Latn-ZZ\",\r\n tio: \"tio-Latn-ZZ\",\r\n tiv: \"tiv-Latn-NG\",\r\n tk: \"tk-Latn-TM\",\r\n tkl: \"tkl-Latn-TK\",\r\n tkr: \"tkr-Latn-AZ\",\r\n tkt: \"tkt-Deva-NP\",\r\n tl: \"tl-Latn-PH\",\r\n tlf: \"tlf-Latn-ZZ\",\r\n tlx: \"tlx-Latn-ZZ\",\r\n tly: \"tly-Latn-AZ\",\r\n tmh: \"tmh-Latn-NE\",\r\n tmy: \"tmy-Latn-ZZ\",\r\n tn: \"tn-Latn-ZA\",\r\n tnh: \"tnh-Latn-ZZ\",\r\n to: \"to-Latn-TO\",\r\n tof: \"tof-Latn-ZZ\",\r\n tog: \"tog-Latn-MW\",\r\n toq: \"toq-Latn-ZZ\",\r\n tpi: \"tpi-Latn-PG\",\r\n tpm: \"tpm-Latn-ZZ\",\r\n tpz: \"tpz-Latn-ZZ\",\r\n tqo: \"tqo-Latn-ZZ\",\r\n tr: \"tr-Latn-TR\",\r\n tru: \"tru-Latn-TR\",\r\n trv: \"trv-Latn-TW\",\r\n trw: \"trw-Arab-ZZ\",\r\n ts: \"ts-Latn-ZA\",\r\n tsd: \"tsd-Grek-GR\",\r\n tsf: \"tsf-Deva-NP\",\r\n tsg: \"tsg-Latn-PH\",\r\n tsj: \"tsj-Tibt-BT\",\r\n tsw: \"tsw-Latn-ZZ\",\r\n tt: \"tt-Cyrl-RU\",\r\n ttd: \"ttd-Latn-ZZ\",\r\n tte: \"tte-Latn-ZZ\",\r\n ttj: \"ttj-Latn-UG\",\r\n ttr: \"ttr-Latn-ZZ\",\r\n tts: \"tts-Thai-TH\",\r\n ttt: \"ttt-Latn-AZ\",\r\n tuh: \"tuh-Latn-ZZ\",\r\n tul: \"tul-Latn-ZZ\",\r\n tum: \"tum-Latn-MW\",\r\n tuq: \"tuq-Latn-ZZ\",\r\n tvd: \"tvd-Latn-ZZ\",\r\n tvl: \"tvl-Latn-TV\",\r\n tvu: \"tvu-Latn-ZZ\",\r\n twh: \"twh-Latn-ZZ\",\r\n twq: \"twq-Latn-NE\",\r\n txg: \"txg-Tang-CN\",\r\n ty: \"ty-Latn-PF\",\r\n tya: \"tya-Latn-ZZ\",\r\n tyv: \"tyv-Cyrl-RU\",\r\n tzm: \"tzm-Latn-MA\",\r\n ubu: \"ubu-Latn-ZZ\",\r\n udm: \"udm-Cyrl-RU\",\r\n ug: \"ug-Arab-CN\",\r\n \"ug-Cyrl\": \"ug-Cyrl-KZ\",\r\n \"ug-KZ\": \"ug-Cyrl-KZ\",\r\n \"ug-MN\": \"ug-Cyrl-MN\",\r\n uga: \"uga-Ugar-SY\",\r\n uk: \"uk-Cyrl-UA\",\r\n uli: \"uli-Latn-FM\",\r\n umb: \"umb-Latn-AO\",\r\n und: \"en-Latn-US\",\r\n \"und-002\": \"en-Latn-NG\",\r\n \"und-003\": \"en-Latn-US\",\r\n \"und-005\": \"pt-Latn-BR\",\r\n \"und-009\": \"en-Latn-AU\",\r\n \"und-011\": \"en-Latn-NG\",\r\n \"und-013\": \"es-Latn-MX\",\r\n \"und-014\": \"sw-Latn-TZ\",\r\n \"und-015\": \"ar-Arab-EG\",\r\n \"und-017\": \"sw-Latn-CD\",\r\n \"und-018\": \"en-Latn-ZA\",\r\n \"und-019\": \"en-Latn-US\",\r\n \"und-021\": \"en-Latn-US\",\r\n \"und-029\": \"es-Latn-CU\",\r\n \"und-030\": \"zh-Hans-CN\",\r\n \"und-034\": \"hi-Deva-IN\",\r\n \"und-035\": \"id-Latn-ID\",\r\n \"und-039\": \"it-Latn-IT\",\r\n \"und-053\": \"en-Latn-AU\",\r\n \"und-054\": \"en-Latn-PG\",\r\n \"und-057\": \"en-Latn-GU\",\r\n \"und-061\": \"sm-Latn-WS\",\r\n \"und-142\": \"zh-Hans-CN\",\r\n \"und-143\": \"uz-Latn-UZ\",\r\n \"und-145\": \"ar-Arab-SA\",\r\n \"und-150\": \"ru-Cyrl-RU\",\r\n \"und-151\": \"ru-Cyrl-RU\",\r\n \"und-154\": \"en-Latn-GB\",\r\n \"und-155\": \"de-Latn-DE\",\r\n \"und-202\": \"en-Latn-NG\",\r\n \"und-419\": \"es-Latn-419\",\r\n \"und-AD\": \"ca-Latn-AD\",\r\n \"und-Adlm\": \"ff-Adlm-GN\",\r\n \"und-AE\": \"ar-Arab-AE\",\r\n \"und-AF\": \"fa-Arab-AF\",\r\n \"und-Aghb\": \"lez-Aghb-RU\",\r\n \"und-Ahom\": \"aho-Ahom-IN\",\r\n \"und-AL\": \"sq-Latn-AL\",\r\n \"und-AM\": \"hy-Armn-AM\",\r\n \"und-AO\": \"pt-Latn-AO\",\r\n \"und-AQ\": \"und-Latn-AQ\",\r\n \"und-AR\": \"es-Latn-AR\",\r\n \"und-Arab\": \"ar-Arab-EG\",\r\n \"und-Arab-CC\": \"ms-Arab-CC\",\r\n \"und-Arab-CN\": \"ug-Arab-CN\",\r\n \"und-Arab-GB\": \"ks-Arab-GB\",\r\n \"und-Arab-ID\": \"ms-Arab-ID\",\r\n \"und-Arab-IN\": \"ur-Arab-IN\",\r\n \"und-Arab-KH\": \"cja-Arab-KH\",\r\n \"und-Arab-MM\": \"rhg-Arab-MM\",\r\n \"und-Arab-MN\": \"kk-Arab-MN\",\r\n \"und-Arab-MU\": \"ur-Arab-MU\",\r\n \"und-Arab-NG\": \"ha-Arab-NG\",\r\n \"und-Arab-PK\": \"ur-Arab-PK\",\r\n \"und-Arab-TG\": \"apd-Arab-TG\",\r\n \"und-Arab-TH\": \"mfa-Arab-TH\",\r\n \"und-Arab-TJ\": \"fa-Arab-TJ\",\r\n \"und-Arab-TR\": \"az-Arab-TR\",\r\n \"und-Arab-YT\": \"swb-Arab-YT\",\r\n \"und-Armi\": \"arc-Armi-IR\",\r\n \"und-Armn\": \"hy-Armn-AM\",\r\n \"und-AS\": \"sm-Latn-AS\",\r\n \"und-AT\": \"de-Latn-AT\",\r\n \"und-Avst\": \"ae-Avst-IR\",\r\n \"und-AW\": \"nl-Latn-AW\",\r\n \"und-AX\": \"sv-Latn-AX\",\r\n \"und-AZ\": \"az-Latn-AZ\",\r\n \"und-BA\": \"bs-Latn-BA\",\r\n \"und-Bali\": \"ban-Bali-ID\",\r\n \"und-Bamu\": \"bax-Bamu-CM\",\r\n \"und-Bass\": \"bsq-Bass-LR\",\r\n \"und-Batk\": \"bbc-Batk-ID\",\r\n \"und-BD\": \"bn-Beng-BD\",\r\n \"und-BE\": \"nl-Latn-BE\",\r\n \"und-Beng\": \"bn-Beng-BD\",\r\n \"und-BF\": \"fr-Latn-BF\",\r\n \"und-BG\": \"bg-Cyrl-BG\",\r\n \"und-BH\": \"ar-Arab-BH\",\r\n \"und-Bhks\": \"sa-Bhks-IN\",\r\n \"und-BI\": \"rn-Latn-BI\",\r\n \"und-BJ\": \"fr-Latn-BJ\",\r\n \"und-BL\": \"fr-Latn-BL\",\r\n \"und-BN\": \"ms-Latn-BN\",\r\n \"und-BO\": \"es-Latn-BO\",\r\n \"und-Bopo\": \"zh-Bopo-TW\",\r\n \"und-BQ\": \"pap-Latn-BQ\",\r\n \"und-BR\": \"pt-Latn-BR\",\r\n \"und-Brah\": \"pka-Brah-IN\",\r\n \"und-Brai\": \"fr-Brai-FR\",\r\n \"und-BT\": \"dz-Tibt-BT\",\r\n \"und-Bugi\": \"bug-Bugi-ID\",\r\n \"und-Buhd\": \"bku-Buhd-PH\",\r\n \"und-BV\": \"und-Latn-BV\",\r\n \"und-BY\": \"be-Cyrl-BY\",\r\n \"und-Cakm\": \"ccp-Cakm-BD\",\r\n \"und-Cans\": \"cr-Cans-CA\",\r\n \"und-Cari\": \"xcr-Cari-TR\",\r\n \"und-CD\": \"sw-Latn-CD\",\r\n \"und-CF\": \"fr-Latn-CF\",\r\n \"und-CG\": \"fr-Latn-CG\",\r\n \"und-CH\": \"de-Latn-CH\",\r\n \"und-Cham\": \"cjm-Cham-VN\",\r\n \"und-Cher\": \"chr-Cher-US\",\r\n \"und-CI\": \"fr-Latn-CI\",\r\n \"und-CL\": \"es-Latn-CL\",\r\n \"und-CM\": \"fr-Latn-CM\",\r\n \"und-CN\": \"zh-Hans-CN\",\r\n \"und-CO\": \"es-Latn-CO\",\r\n \"und-Copt\": \"cop-Copt-EG\",\r\n \"und-CP\": \"und-Latn-CP\",\r\n \"und-Cprt\": \"grc-Cprt-CY\",\r\n \"und-CR\": \"es-Latn-CR\",\r\n \"und-CU\": \"es-Latn-CU\",\r\n \"und-CV\": \"pt-Latn-CV\",\r\n \"und-CW\": \"pap-Latn-CW\",\r\n \"und-CY\": \"el-Grek-CY\",\r\n \"und-Cyrl\": \"ru-Cyrl-RU\",\r\n \"und-Cyrl-AL\": \"mk-Cyrl-AL\",\r\n \"und-Cyrl-BA\": \"sr-Cyrl-BA\",\r\n \"und-Cyrl-GE\": \"ab-Cyrl-GE\",\r\n \"und-Cyrl-GR\": \"mk-Cyrl-GR\",\r\n \"und-Cyrl-MD\": \"uk-Cyrl-MD\",\r\n \"und-Cyrl-RO\": \"bg-Cyrl-RO\",\r\n \"und-Cyrl-SK\": \"uk-Cyrl-SK\",\r\n \"und-Cyrl-TR\": \"kbd-Cyrl-TR\",\r\n \"und-Cyrl-XK\": \"sr-Cyrl-XK\",\r\n \"und-CZ\": \"cs-Latn-CZ\",\r\n \"und-DE\": \"de-Latn-DE\",\r\n \"und-Deva\": \"hi-Deva-IN\",\r\n \"und-Deva-BT\": \"ne-Deva-BT\",\r\n \"und-Deva-FJ\": \"hif-Deva-FJ\",\r\n \"und-Deva-MU\": \"bho-Deva-MU\",\r\n \"und-Deva-PK\": \"btv-Deva-PK\",\r\n \"und-DJ\": \"aa-Latn-DJ\",\r\n \"und-DK\": \"da-Latn-DK\",\r\n \"und-DO\": \"es-Latn-DO\",\r\n \"und-Dogr\": \"doi-Dogr-IN\",\r\n \"und-Dupl\": \"fr-Dupl-FR\",\r\n \"und-DZ\": \"ar-Arab-DZ\",\r\n \"und-EA\": \"es-Latn-EA\",\r\n \"und-EC\": \"es-Latn-EC\",\r\n \"und-EE\": \"et-Latn-EE\",\r\n \"und-EG\": \"ar-Arab-EG\",\r\n \"und-Egyp\": \"egy-Egyp-EG\",\r\n \"und-EH\": \"ar-Arab-EH\",\r\n \"und-Elba\": \"sq-Elba-AL\",\r\n \"und-Elym\": \"arc-Elym-IR\",\r\n \"und-ER\": \"ti-Ethi-ER\",\r\n \"und-ES\": \"es-Latn-ES\",\r\n \"und-ET\": \"am-Ethi-ET\",\r\n \"und-Ethi\": \"am-Ethi-ET\",\r\n \"und-EU\": \"en-Latn-GB\",\r\n \"und-EZ\": \"de-Latn-EZ\",\r\n \"und-FI\": \"fi-Latn-FI\",\r\n \"und-FO\": \"fo-Latn-FO\",\r\n \"und-FR\": \"fr-Latn-FR\",\r\n \"und-GA\": \"fr-Latn-GA\",\r\n \"und-GE\": \"ka-Geor-GE\",\r\n \"und-Geor\": \"ka-Geor-GE\",\r\n \"und-GF\": \"fr-Latn-GF\",\r\n \"und-GH\": \"ak-Latn-GH\",\r\n \"und-GL\": \"kl-Latn-GL\",\r\n \"und-Glag\": \"cu-Glag-BG\",\r\n \"und-GN\": \"fr-Latn-GN\",\r\n \"und-Gong\": \"wsg-Gong-IN\",\r\n \"und-Gonm\": \"esg-Gonm-IN\",\r\n \"und-Goth\": \"got-Goth-UA\",\r\n \"und-GP\": \"fr-Latn-GP\",\r\n \"und-GQ\": \"es-Latn-GQ\",\r\n \"und-GR\": \"el-Grek-GR\",\r\n \"und-Gran\": \"sa-Gran-IN\",\r\n \"und-Grek\": \"el-Grek-GR\",\r\n \"und-Grek-TR\": \"bgx-Grek-TR\",\r\n \"und-GS\": \"und-Latn-GS\",\r\n \"und-GT\": \"es-Latn-GT\",\r\n \"und-Gujr\": \"gu-Gujr-IN\",\r\n \"und-Guru\": \"pa-Guru-IN\",\r\n \"und-GW\": \"pt-Latn-GW\",\r\n \"und-Hanb\": \"zh-Hanb-TW\",\r\n \"und-Hang\": \"ko-Hang-KR\",\r\n \"und-Hani\": \"zh-Hani-CN\",\r\n \"und-Hano\": \"hnn-Hano-PH\",\r\n \"und-Hans\": \"zh-Hans-CN\",\r\n \"und-Hant\": \"zh-Hant-TW\",\r\n \"und-Hatr\": \"mis-Hatr-IQ\",\r\n \"und-Hebr\": \"he-Hebr-IL\",\r\n \"und-Hebr-CA\": \"yi-Hebr-CA\",\r\n \"und-Hebr-GB\": \"yi-Hebr-GB\",\r\n \"und-Hebr-SE\": \"yi-Hebr-SE\",\r\n \"und-Hebr-UA\": \"yi-Hebr-UA\",\r\n \"und-Hebr-US\": \"yi-Hebr-US\",\r\n \"und-Hira\": \"ja-Hira-JP\",\r\n \"und-HK\": \"zh-Hant-HK\",\r\n \"und-Hluw\": \"hlu-Hluw-TR\",\r\n \"und-HM\": \"und-Latn-HM\",\r\n \"und-Hmng\": \"hnj-Hmng-LA\",\r\n \"und-Hmnp\": \"mww-Hmnp-US\",\r\n \"und-HN\": \"es-Latn-HN\",\r\n \"und-HR\": \"hr-Latn-HR\",\r\n \"und-HT\": \"ht-Latn-HT\",\r\n \"und-HU\": \"hu-Latn-HU\",\r\n \"und-Hung\": \"hu-Hung-HU\",\r\n \"und-IC\": \"es-Latn-IC\",\r\n \"und-ID\": \"id-Latn-ID\",\r\n \"und-IL\": \"he-Hebr-IL\",\r\n \"und-IN\": \"hi-Deva-IN\",\r\n \"und-IQ\": \"ar-Arab-IQ\",\r\n \"und-IR\": \"fa-Arab-IR\",\r\n \"und-IS\": \"is-Latn-IS\",\r\n \"und-IT\": \"it-Latn-IT\",\r\n \"und-Ital\": \"ett-Ital-IT\",\r\n \"und-Jamo\": \"ko-Jamo-KR\",\r\n \"und-Java\": \"jv-Java-ID\",\r\n \"und-JO\": \"ar-Arab-JO\",\r\n \"und-JP\": \"ja-Jpan-JP\",\r\n \"und-Jpan\": \"ja-Jpan-JP\",\r\n \"und-Kali\": \"eky-Kali-MM\",\r\n \"und-Kana\": \"ja-Kana-JP\",\r\n \"und-KE\": \"sw-Latn-KE\",\r\n \"und-KG\": \"ky-Cyrl-KG\",\r\n \"und-KH\": \"km-Khmr-KH\",\r\n \"und-Khar\": \"pra-Khar-PK\",\r\n \"und-Khmr\": \"km-Khmr-KH\",\r\n \"und-Khoj\": \"sd-Khoj-IN\",\r\n \"und-KM\": \"ar-Arab-KM\",\r\n \"und-Knda\": \"kn-Knda-IN\",\r\n \"und-Kore\": \"ko-Kore-KR\",\r\n \"und-KP\": \"ko-Kore-KP\",\r\n \"und-KR\": \"ko-Kore-KR\",\r\n \"und-Kthi\": \"bho-Kthi-IN\",\r\n \"und-KW\": \"ar-Arab-KW\",\r\n \"und-KZ\": \"ru-Cyrl-KZ\",\r\n \"und-LA\": \"lo-Laoo-LA\",\r\n \"und-Lana\": \"nod-Lana-TH\",\r\n \"und-Laoo\": \"lo-Laoo-LA\",\r\n \"und-Latn-AF\": \"tk-Latn-AF\",\r\n \"und-Latn-AM\": \"ku-Latn-AM\",\r\n \"und-Latn-CN\": \"za-Latn-CN\",\r\n \"und-Latn-CY\": \"tr-Latn-CY\",\r\n \"und-Latn-DZ\": \"fr-Latn-DZ\",\r\n \"und-Latn-ET\": \"en-Latn-ET\",\r\n \"und-Latn-GE\": \"ku-Latn-GE\",\r\n \"und-Latn-IR\": \"tk-Latn-IR\",\r\n \"und-Latn-KM\": \"fr-Latn-KM\",\r\n \"und-Latn-MA\": \"fr-Latn-MA\",\r\n \"und-Latn-MK\": \"sq-Latn-MK\",\r\n \"und-Latn-MM\": \"kac-Latn-MM\",\r\n \"und-Latn-MO\": \"pt-Latn-MO\",\r\n \"und-Latn-MR\": \"fr-Latn-MR\",\r\n \"und-Latn-RU\": \"krl-Latn-RU\",\r\n \"und-Latn-SY\": \"fr-Latn-SY\",\r\n \"und-Latn-TN\": \"fr-Latn-TN\",\r\n \"und-Latn-TW\": \"trv-Latn-TW\",\r\n \"und-Latn-UA\": \"pl-Latn-UA\",\r\n \"und-LB\": \"ar-Arab-LB\",\r\n \"und-Lepc\": \"lep-Lepc-IN\",\r\n \"und-LI\": \"de-Latn-LI\",\r\n \"und-Limb\": \"lif-Limb-IN\",\r\n \"und-Lina\": \"lab-Lina-GR\",\r\n \"und-Linb\": \"grc-Linb-GR\",\r\n \"und-Lisu\": \"lis-Lisu-CN\",\r\n \"und-LK\": \"si-Sinh-LK\",\r\n \"und-LS\": \"st-Latn-LS\",\r\n \"und-LT\": \"lt-Latn-LT\",\r\n \"und-LU\": \"fr-Latn-LU\",\r\n \"und-LV\": \"lv-Latn-LV\",\r\n \"und-LY\": \"ar-Arab-LY\",\r\n \"und-Lyci\": \"xlc-Lyci-TR\",\r\n \"und-Lydi\": \"xld-Lydi-TR\",\r\n \"und-MA\": \"ar-Arab-MA\",\r\n \"und-Mahj\": \"hi-Mahj-IN\",\r\n \"und-Maka\": \"mak-Maka-ID\",\r\n \"und-Mand\": \"myz-Mand-IR\",\r\n \"und-Mani\": \"xmn-Mani-CN\",\r\n \"und-Marc\": \"bo-Marc-CN\",\r\n \"und-MC\": \"fr-Latn-MC\",\r\n \"und-MD\": \"ro-Latn-MD\",\r\n \"und-ME\": \"sr-Latn-ME\",\r\n \"und-Medf\": \"mis-Medf-NG\",\r\n \"und-Mend\": \"men-Mend-SL\",\r\n \"und-Merc\": \"xmr-Merc-SD\",\r\n \"und-Mero\": \"xmr-Mero-SD\",\r\n \"und-MF\": \"fr-Latn-MF\",\r\n \"und-MG\": \"mg-Latn-MG\",\r\n \"und-MK\": \"mk-Cyrl-MK\",\r\n \"und-ML\": \"bm-Latn-ML\",\r\n \"und-Mlym\": \"ml-Mlym-IN\",\r\n \"und-MM\": \"my-Mymr-MM\",\r\n \"und-MN\": \"mn-Cyrl-MN\",\r\n \"und-MO\": \"zh-Hant-MO\",\r\n \"und-Modi\": \"mr-Modi-IN\",\r\n \"und-Mong\": \"mn-Mong-CN\",\r\n \"und-MQ\": \"fr-Latn-MQ\",\r\n \"und-MR\": \"ar-Arab-MR\",\r\n \"und-Mroo\": \"mro-Mroo-BD\",\r\n \"und-MT\": \"mt-Latn-MT\",\r\n \"und-Mtei\": \"mni-Mtei-IN\",\r\n \"und-MU\": \"mfe-Latn-MU\",\r\n \"und-Mult\": \"skr-Mult-PK\",\r\n \"und-MV\": \"dv-Thaa-MV\",\r\n \"und-MX\": \"es-Latn-MX\",\r\n \"und-MY\": \"ms-Latn-MY\",\r\n \"und-Mymr\": \"my-Mymr-MM\",\r\n \"und-Mymr-IN\": \"kht-Mymr-IN\",\r\n \"und-Mymr-TH\": \"mnw-Mymr-TH\",\r\n \"und-MZ\": \"pt-Latn-MZ\",\r\n \"und-NA\": \"af-Latn-NA\",\r\n \"und-Nand\": \"sa-Nand-IN\",\r\n \"und-Narb\": \"xna-Narb-SA\",\r\n \"und-Nbat\": \"arc-Nbat-JO\",\r\n \"und-NC\": \"fr-Latn-NC\",\r\n \"und-NE\": \"ha-Latn-NE\",\r\n \"und-Newa\": \"new-Newa-NP\",\r\n \"und-NI\": \"es-Latn-NI\",\r\n \"und-Nkoo\": \"man-Nkoo-GN\",\r\n \"und-NL\": \"nl-Latn-NL\",\r\n \"und-NO\": \"nb-Latn-NO\",\r\n \"und-NP\": \"ne-Deva-NP\",\r\n \"und-Nshu\": \"zhx-Nshu-CN\",\r\n \"und-Ogam\": \"sga-Ogam-IE\",\r\n \"und-Olck\": \"sat-Olck-IN\",\r\n \"und-OM\": \"ar-Arab-OM\",\r\n \"und-Orkh\": \"otk-Orkh-MN\",\r\n \"und-Orya\": \"or-Orya-IN\",\r\n \"und-Osge\": \"osa-Osge-US\",\r\n \"und-Osma\": \"so-Osma-SO\",\r\n \"und-PA\": \"es-Latn-PA\",\r\n \"und-Palm\": \"arc-Palm-SY\",\r\n \"und-Pauc\": \"ctd-Pauc-MM\",\r\n \"und-PE\": \"es-Latn-PE\",\r\n \"und-Perm\": \"kv-Perm-RU\",\r\n \"und-PF\": \"fr-Latn-PF\",\r\n \"und-PG\": \"tpi-Latn-PG\",\r\n \"und-PH\": \"fil-Latn-PH\",\r\n \"und-Phag\": \"lzh-Phag-CN\",\r\n \"und-Phli\": \"pal-Phli-IR\",\r\n \"und-Phlp\": \"pal-Phlp-CN\",\r\n \"und-Phnx\": \"phn-Phnx-LB\",\r\n \"und-PK\": \"ur-Arab-PK\",\r\n \"und-PL\": \"pl-Latn-PL\",\r\n \"und-Plrd\": \"hmd-Plrd-CN\",\r\n \"und-PM\": \"fr-Latn-PM\",\r\n \"und-PR\": \"es-Latn-PR\",\r\n \"und-Prti\": \"xpr-Prti-IR\",\r\n \"und-PS\": \"ar-Arab-PS\",\r\n \"und-PT\": \"pt-Latn-PT\",\r\n \"und-PW\": \"pau-Latn-PW\",\r\n \"und-PY\": \"gn-Latn-PY\",\r\n \"und-QA\": \"ar-Arab-QA\",\r\n \"und-QO\": \"en-Latn-DG\",\r\n \"und-RE\": \"fr-Latn-RE\",\r\n \"und-Rjng\": \"rej-Rjng-ID\",\r\n \"und-RO\": \"ro-Latn-RO\",\r\n \"und-Rohg\": \"rhg-Rohg-MM\",\r\n \"und-RS\": \"sr-Cyrl-RS\",\r\n \"und-RU\": \"ru-Cyrl-RU\",\r\n \"und-Runr\": \"non-Runr-SE\",\r\n \"und-RW\": \"rw-Latn-RW\",\r\n \"und-SA\": \"ar-Arab-SA\",\r\n \"und-Samr\": \"smp-Samr-IL\",\r\n \"und-Sarb\": \"xsa-Sarb-YE\",\r\n \"und-Saur\": \"saz-Saur-IN\",\r\n \"und-SC\": \"fr-Latn-SC\",\r\n \"und-SD\": \"ar-Arab-SD\",\r\n \"und-SE\": \"sv-Latn-SE\",\r\n \"und-Sgnw\": \"ase-Sgnw-US\",\r\n \"und-Shaw\": \"en-Shaw-GB\",\r\n \"und-Shrd\": \"sa-Shrd-IN\",\r\n \"und-SI\": \"sl-Latn-SI\",\r\n \"und-Sidd\": \"sa-Sidd-IN\",\r\n \"und-Sind\": \"sd-Sind-IN\",\r\n \"und-Sinh\": \"si-Sinh-LK\",\r\n \"und-SJ\": \"nb-Latn-SJ\",\r\n \"und-SK\": \"sk-Latn-SK\",\r\n \"und-SM\": \"it-Latn-SM\",\r\n \"und-SN\": \"fr-Latn-SN\",\r\n \"und-SO\": \"so-Latn-SO\",\r\n \"und-Sogd\": \"sog-Sogd-UZ\",\r\n \"und-Sogo\": \"sog-Sogo-UZ\",\r\n \"und-Sora\": \"srb-Sora-IN\",\r\n \"und-Soyo\": \"cmg-Soyo-MN\",\r\n \"und-SR\": \"nl-Latn-SR\",\r\n \"und-ST\": \"pt-Latn-ST\",\r\n \"und-Sund\": \"su-Sund-ID\",\r\n \"und-SV\": \"es-Latn-SV\",\r\n \"und-SY\": \"ar-Arab-SY\",\r\n \"und-Sylo\": \"syl-Sylo-BD\",\r\n \"und-Syrc\": \"syr-Syrc-IQ\",\r\n \"und-Tagb\": \"tbw-Tagb-PH\",\r\n \"und-Takr\": \"doi-Takr-IN\",\r\n \"und-Tale\": \"tdd-Tale-CN\",\r\n \"und-Talu\": \"khb-Talu-CN\",\r\n \"und-Taml\": \"ta-Taml-IN\",\r\n \"und-Tang\": \"txg-Tang-CN\",\r\n \"und-Tavt\": \"blt-Tavt-VN\",\r\n \"und-TD\": \"fr-Latn-TD\",\r\n \"und-Telu\": \"te-Telu-IN\",\r\n \"und-TF\": \"fr-Latn-TF\",\r\n \"und-Tfng\": \"zgh-Tfng-MA\",\r\n \"und-TG\": \"fr-Latn-TG\",\r\n \"und-Tglg\": \"fil-Tglg-PH\",\r\n \"und-TH\": \"th-Thai-TH\",\r\n \"und-Thaa\": \"dv-Thaa-MV\",\r\n \"und-Thai\": \"th-Thai-TH\",\r\n \"und-Thai-CN\": \"lcp-Thai-CN\",\r\n \"und-Thai-KH\": \"kdt-Thai-KH\",\r\n \"und-Thai-LA\": \"kdt-Thai-LA\",\r\n \"und-Tibt\": \"bo-Tibt-CN\",\r\n \"und-Tirh\": \"mai-Tirh-IN\",\r\n \"und-TJ\": \"tg-Cyrl-TJ\",\r\n \"und-TK\": \"tkl-Latn-TK\",\r\n \"und-TL\": \"pt-Latn-TL\",\r\n \"und-TM\": \"tk-Latn-TM\",\r\n \"und-TN\": \"ar-Arab-TN\",\r\n \"und-TO\": \"to-Latn-TO\",\r\n \"und-TR\": \"tr-Latn-TR\",\r\n \"und-TV\": \"tvl-Latn-TV\",\r\n \"und-TW\": \"zh-Hant-TW\",\r\n \"und-TZ\": \"sw-Latn-TZ\",\r\n \"und-UA\": \"uk-Cyrl-UA\",\r\n \"und-UG\": \"sw-Latn-UG\",\r\n \"und-Ugar\": \"uga-Ugar-SY\",\r\n \"und-UY\": \"es-Latn-UY\",\r\n \"und-UZ\": \"uz-Latn-UZ\",\r\n \"und-VA\": \"it-Latn-VA\",\r\n \"und-Vaii\": \"vai-Vaii-LR\",\r\n \"und-VE\": \"es-Latn-VE\",\r\n \"und-VN\": \"vi-Latn-VN\",\r\n \"und-VU\": \"bi-Latn-VU\",\r\n \"und-Wara\": \"hoc-Wara-IN\",\r\n \"und-Wcho\": \"nnp-Wcho-IN\",\r\n \"und-WF\": \"fr-Latn-WF\",\r\n \"und-WS\": \"sm-Latn-WS\",\r\n \"und-XK\": \"sq-Latn-XK\",\r\n \"und-Xpeo\": \"peo-Xpeo-IR\",\r\n \"und-Xsux\": \"akk-Xsux-IQ\",\r\n \"und-YE\": \"ar-Arab-YE\",\r\n \"und-Yiii\": \"ii-Yiii-CN\",\r\n \"und-YT\": \"fr-Latn-YT\",\r\n \"und-Zanb\": \"cmg-Zanb-MN\",\r\n \"und-ZW\": \"sn-Latn-ZW\",\r\n unr: \"unr-Beng-IN\",\r\n \"unr-Deva\": \"unr-Deva-NP\",\r\n \"unr-NP\": \"unr-Deva-NP\",\r\n unx: \"unx-Beng-IN\",\r\n uok: \"uok-Latn-ZZ\",\r\n ur: \"ur-Arab-PK\",\r\n uri: \"uri-Latn-ZZ\",\r\n urt: \"urt-Latn-ZZ\",\r\n urw: \"urw-Latn-ZZ\",\r\n usa: \"usa-Latn-ZZ\",\r\n utr: \"utr-Latn-ZZ\",\r\n uvh: \"uvh-Latn-ZZ\",\r\n uvl: \"uvl-Latn-ZZ\",\r\n uz: \"uz-Latn-UZ\",\r\n \"uz-AF\": \"uz-Arab-AF\",\r\n \"uz-Arab\": \"uz-Arab-AF\",\r\n \"uz-CN\": \"uz-Cyrl-CN\",\r\n vag: \"vag-Latn-ZZ\",\r\n vai: \"vai-Vaii-LR\",\r\n van: \"van-Latn-ZZ\",\r\n ve: \"ve-Latn-ZA\",\r\n vec: \"vec-Latn-IT\",\r\n vep: \"vep-Latn-RU\",\r\n vi: \"vi-Latn-VN\",\r\n vic: \"vic-Latn-SX\",\r\n viv: \"viv-Latn-ZZ\",\r\n vls: \"vls-Latn-BE\",\r\n vmf: \"vmf-Latn-DE\",\r\n vmw: \"vmw-Latn-MZ\",\r\n vo: \"vo-Latn-001\",\r\n vot: \"vot-Latn-RU\",\r\n vro: \"vro-Latn-EE\",\r\n vun: \"vun-Latn-TZ\",\r\n vut: \"vut-Latn-ZZ\",\r\n wa: \"wa-Latn-BE\",\r\n wae: \"wae-Latn-CH\",\r\n waj: \"waj-Latn-ZZ\",\r\n wal: \"wal-Ethi-ET\",\r\n wan: \"wan-Latn-ZZ\",\r\n war: \"war-Latn-PH\",\r\n wbp: \"wbp-Latn-AU\",\r\n wbq: \"wbq-Telu-IN\",\r\n wbr: \"wbr-Deva-IN\",\r\n wci: \"wci-Latn-ZZ\",\r\n wer: \"wer-Latn-ZZ\",\r\n wgi: \"wgi-Latn-ZZ\",\r\n whg: \"whg-Latn-ZZ\",\r\n wib: \"wib-Latn-ZZ\",\r\n wiu: \"wiu-Latn-ZZ\",\r\n wiv: \"wiv-Latn-ZZ\",\r\n wja: \"wja-Latn-ZZ\",\r\n wji: \"wji-Latn-ZZ\",\r\n wls: \"wls-Latn-WF\",\r\n wmo: \"wmo-Latn-ZZ\",\r\n wnc: \"wnc-Latn-ZZ\",\r\n wni: \"wni-Arab-KM\",\r\n wnu: \"wnu-Latn-ZZ\",\r\n wo: \"wo-Latn-SN\",\r\n wob: \"wob-Latn-ZZ\",\r\n wos: \"wos-Latn-ZZ\",\r\n wrs: \"wrs-Latn-ZZ\",\r\n wsg: \"wsg-Gong-IN\",\r\n wsk: \"wsk-Latn-ZZ\",\r\n wtm: \"wtm-Deva-IN\",\r\n wuu: \"wuu-Hans-CN\",\r\n wuv: \"wuv-Latn-ZZ\",\r\n wwa: \"wwa-Latn-ZZ\",\r\n xav: \"xav-Latn-BR\",\r\n xbi: \"xbi-Latn-ZZ\",\r\n xcr: \"xcr-Cari-TR\",\r\n xes: \"xes-Latn-ZZ\",\r\n xh: \"xh-Latn-ZA\",\r\n xla: \"xla-Latn-ZZ\",\r\n xlc: \"xlc-Lyci-TR\",\r\n xld: \"xld-Lydi-TR\",\r\n xmf: \"xmf-Geor-GE\",\r\n xmn: \"xmn-Mani-CN\",\r\n xmr: \"xmr-Merc-SD\",\r\n xna: \"xna-Narb-SA\",\r\n xnr: \"xnr-Deva-IN\",\r\n xog: \"xog-Latn-UG\",\r\n xon: \"xon-Latn-ZZ\",\r\n xpr: \"xpr-Prti-IR\",\r\n xrb: \"xrb-Latn-ZZ\",\r\n xsa: \"xsa-Sarb-YE\",\r\n xsi: \"xsi-Latn-ZZ\",\r\n xsm: \"xsm-Latn-ZZ\",\r\n xsr: \"xsr-Deva-NP\",\r\n xwe: \"xwe-Latn-ZZ\",\r\n yam: \"yam-Latn-ZZ\",\r\n yao: \"yao-Latn-MZ\",\r\n yap: \"yap-Latn-FM\",\r\n yas: \"yas-Latn-ZZ\",\r\n yat: \"yat-Latn-ZZ\",\r\n yav: \"yav-Latn-CM\",\r\n yay: \"yay-Latn-ZZ\",\r\n yaz: \"yaz-Latn-ZZ\",\r\n yba: \"yba-Latn-ZZ\",\r\n ybb: \"ybb-Latn-CM\",\r\n yby: \"yby-Latn-ZZ\",\r\n yer: \"yer-Latn-ZZ\",\r\n ygr: \"ygr-Latn-ZZ\",\r\n ygw: \"ygw-Latn-ZZ\",\r\n yi: \"yi-Hebr-001\",\r\n yko: \"yko-Latn-ZZ\",\r\n yle: \"yle-Latn-ZZ\",\r\n ylg: \"ylg-Latn-ZZ\",\r\n yll: \"yll-Latn-ZZ\",\r\n yml: \"yml-Latn-ZZ\",\r\n yo: \"yo-Latn-NG\",\r\n yon: \"yon-Latn-ZZ\",\r\n yrb: \"yrb-Latn-ZZ\",\r\n yre: \"yre-Latn-ZZ\",\r\n yrl: \"yrl-Latn-BR\",\r\n yss: \"yss-Latn-ZZ\",\r\n yua: \"yua-Latn-MX\",\r\n yue: \"yue-Hant-HK\",\r\n \"yue-CN\": \"yue-Hans-CN\",\r\n \"yue-Hans\": \"yue-Hans-CN\",\r\n yuj: \"yuj-Latn-ZZ\",\r\n yut: \"yut-Latn-ZZ\",\r\n yuw: \"yuw-Latn-ZZ\",\r\n za: \"za-Latn-CN\",\r\n zag: \"zag-Latn-SD\",\r\n zdj: \"zdj-Arab-KM\",\r\n zea: \"zea-Latn-NL\",\r\n zgh: \"zgh-Tfng-MA\",\r\n zh: \"zh-Hans-CN\",\r\n \"zh-AU\": \"zh-Hant-AU\",\r\n \"zh-BN\": \"zh-Hant-BN\",\r\n \"zh-Bopo\": \"zh-Bopo-TW\",\r\n \"zh-GB\": \"zh-Hant-GB\",\r\n \"zh-GF\": \"zh-Hant-GF\",\r\n \"zh-Hanb\": \"zh-Hanb-TW\",\r\n \"zh-Hant\": \"zh-Hant-TW\",\r\n \"zh-HK\": \"zh-Hant-HK\",\r\n \"zh-ID\": \"zh-Hant-ID\",\r\n \"zh-MO\": \"zh-Hant-MO\",\r\n \"zh-MY\": \"zh-Hant-MY\",\r\n \"zh-PA\": \"zh-Hant-PA\",\r\n \"zh-PF\": \"zh-Hant-PF\",\r\n \"zh-PH\": \"zh-Hant-PH\",\r\n \"zh-SR\": \"zh-Hant-SR\",\r\n \"zh-TH\": \"zh-Hant-TH\",\r\n \"zh-TW\": \"zh-Hant-TW\",\r\n \"zh-US\": \"zh-Hant-US\",\r\n \"zh-VN\": \"zh-Hant-VN\",\r\n zhx: \"zhx-Nshu-CN\",\r\n zia: \"zia-Latn-ZZ\",\r\n zlm: \"zlm-Latn-TG\",\r\n zmi: \"zmi-Latn-MY\",\r\n zne: \"zne-Latn-ZZ\",\r\n zu: \"zu-Latn-ZA\",\r\n zza: \"zza-Latn-TR\"\r\n },\r\n timeData: {\r\n AX: {\r\n _allowed: \"H\",\r\n _preferred: \"H\"\r\n },\r\n BQ: {\r\n _allowed: \"H\",\r\n _preferred: \"H\"\r\n },\r\n CP: {\r\n _allowed: \"H\",\r\n _preferred: \"H\"\r\n },\r\n CZ: {\r\n _allowed: \"H\",\r\n _preferred: \"H\"\r\n },\r\n DK: {\r\n _allowed: \"H\",\r\n _preferred: \"H\"\r\n },\r\n FI: {\r\n _allowed: \"H\",\r\n _preferred: \"H\"\r\n },\r\n ID: {\r\n _allowed: \"H\",\r\n _preferred: \"H\"\r\n },\r\n IS: {\r\n _allowed: \"H\",\r\n _preferred: \"H\"\r\n },\r\n ML: {\r\n _allowed: \"H\",\r\n _preferred: \"H\"\r\n },\r\n NE: {\r\n _allowed: \"H\",\r\n _preferred: \"H\"\r\n },\r\n RU: {\r\n _allowed: \"H\",\r\n _preferred: \"H\"\r\n },\r\n SE: {\r\n _allowed: \"H\",\r\n _preferred: \"H\"\r\n },\r\n SJ: {\r\n _allowed: \"H\",\r\n _preferred: \"H\"\r\n },\r\n SK: {\r\n _allowed: \"H\",\r\n _preferred: \"H\"\r\n },\r\n AS: {\r\n _allowed: \"h H\",\r\n _preferred: \"h\"\r\n },\r\n BT: {\r\n _allowed: \"h H\",\r\n _preferred: \"h\"\r\n },\r\n DJ: {\r\n _allowed: \"h H\",\r\n _preferred: \"h\"\r\n },\r\n ER: {\r\n _allowed: \"h H\",\r\n _preferred: \"h\"\r\n },\r\n GH: {\r\n _allowed: \"h H\",\r\n _preferred: \"h\"\r\n },\r\n IN: {\r\n _allowed: \"h H\",\r\n _preferred: \"h\"\r\n },\r\n LS: {\r\n _allowed: \"h H\",\r\n _preferred: \"h\"\r\n },\r\n PG: {\r\n _allowed: \"h H\",\r\n _preferred: \"h\"\r\n },\r\n PW: {\r\n _allowed: \"h H\",\r\n _preferred: \"h\"\r\n },\r\n SO: {\r\n _allowed: \"h H\",\r\n _preferred: \"h\"\r\n },\r\n TO: {\r\n _allowed: \"h H\",\r\n _preferred: \"h\"\r\n },\r\n VU: {\r\n _allowed: \"h H\",\r\n _preferred: \"h\"\r\n },\r\n WS: {\r\n _allowed: \"h H\",\r\n _preferred: \"h\"\r\n },\r\n \"001\": {\r\n _allowed: \"H h\",\r\n _preferred: \"H\"\r\n },\r\n AL: {\r\n _allowed: \"h H hB\",\r\n _preferred: \"h\"\r\n },\r\n TD: {\r\n _allowed: \"h H hB\",\r\n _preferred: \"h\"\r\n },\r\n ca_ES: {\r\n _allowed: \"H h hB\",\r\n _preferred: \"H\"\r\n },\r\n CF: {\r\n _allowed: \"H h hB\",\r\n _preferred: \"H\"\r\n },\r\n CM: {\r\n _allowed: \"H h hB\",\r\n _preferred: \"H\"\r\n },\r\n fr_CA: {\r\n _allowed: \"H h hB\",\r\n _preferred: \"H\"\r\n },\r\n gl_ES: {\r\n _allowed: \"H h hB\",\r\n _preferred: \"H\"\r\n },\r\n it_CH: {\r\n _allowed: \"H h hB\",\r\n _preferred: \"H\"\r\n },\r\n it_IT: {\r\n _allowed: \"H h hB\",\r\n _preferred: \"H\"\r\n },\r\n LU: {\r\n _allowed: \"H h hB\",\r\n _preferred: \"H\"\r\n },\r\n NP: {\r\n _allowed: \"H h hB\",\r\n _preferred: \"H\"\r\n },\r\n PF: {\r\n _allowed: \"H h hB\",\r\n _preferred: \"H\"\r\n },\r\n SC: {\r\n _allowed: \"H h hB\",\r\n _preferred: \"H\"\r\n },\r\n SM: {\r\n _allowed: \"H h hB\",\r\n _preferred: \"H\"\r\n },\r\n SN: {\r\n _allowed: \"H h hB\",\r\n _preferred: \"H\"\r\n },\r\n TF: {\r\n _allowed: \"H h hB\",\r\n _preferred: \"H\"\r\n },\r\n VA: {\r\n _allowed: \"H h hB\",\r\n _preferred: \"H\"\r\n },\r\n CY: {\r\n _allowed: \"h H hb hB\",\r\n _preferred: \"h\"\r\n },\r\n GR: {\r\n _allowed: \"h H hb hB\",\r\n _preferred: \"h\"\r\n },\r\n CO: {\r\n _allowed: \"h H hB hb\",\r\n _preferred: \"h\"\r\n },\r\n DO: {\r\n _allowed: \"h H hB hb\",\r\n _preferred: \"h\"\r\n },\r\n KP: {\r\n _allowed: \"h H hB hb\",\r\n _preferred: \"h\"\r\n },\r\n KR: {\r\n _allowed: \"h H hB hb\",\r\n _preferred: \"h\"\r\n },\r\n NA: {\r\n _allowed: \"h H hB hb\",\r\n _preferred: \"h\"\r\n },\r\n PA: {\r\n _allowed: \"h H hB hb\",\r\n _preferred: \"h\"\r\n },\r\n PR: {\r\n _allowed: \"h H hB hb\",\r\n _preferred: \"h\"\r\n },\r\n VE: {\r\n _allowed: \"h H hB hb\",\r\n _preferred: \"h\"\r\n },\r\n AC: {\r\n _allowed: \"H h hb hB\",\r\n _preferred: \"H\"\r\n },\r\n AI: {\r\n _allowed: \"H h hb hB\",\r\n _preferred: \"H\"\r\n },\r\n BW: {\r\n _allowed: \"H h hb hB\",\r\n _preferred: \"H\"\r\n },\r\n BZ: {\r\n _allowed: \"H h hb hB\",\r\n _preferred: \"H\"\r\n },\r\n CC: {\r\n _allowed: \"H h hb hB\",\r\n _preferred: \"H\"\r\n },\r\n CK: {\r\n _allowed: \"H h hb hB\",\r\n _preferred: \"H\"\r\n },\r\n CX: {\r\n _allowed: \"H h hb hB\",\r\n _preferred: \"H\"\r\n },\r\n DG: {\r\n _allowed: \"H h hb hB\",\r\n _preferred: \"H\"\r\n },\r\n FK: {\r\n _allowed: \"H h hb hB\",\r\n _preferred: \"H\"\r\n },\r\n GB: {\r\n _allowed: \"H h hb hB\",\r\n _preferred: \"H\"\r\n },\r\n GG: {\r\n _allowed: \"H h hb hB\",\r\n _preferred: \"H\"\r\n },\r\n GI: {\r\n _allowed: \"H h hb hB\",\r\n _preferred: \"H\"\r\n },\r\n IE: {\r\n _allowed: \"H h hb hB\",\r\n _preferred: \"H\"\r\n },\r\n IM: {\r\n _allowed: \"H h hb hB\",\r\n _preferred: \"H\"\r\n },\r\n IO: {\r\n _allowed: \"H h hb hB\",\r\n _preferred: \"H\"\r\n },\r\n JE: {\r\n _allowed: \"H h hb hB\",\r\n _preferred: \"H\"\r\n },\r\n LT: {\r\n _allowed: \"H h hb hB\",\r\n _preferred: \"H\"\r\n },\r\n MK: {\r\n _allowed: \"H h hb hB\",\r\n _preferred: \"H\"\r\n },\r\n MN: {\r\n _allowed: \"H h hb hB\",\r\n _preferred: \"H\"\r\n },\r\n MS: {\r\n _allowed: \"H h hb hB\",\r\n _preferred: \"H\"\r\n },\r\n NF: {\r\n _allowed: \"H h hb hB\",\r\n _preferred: \"H\"\r\n },\r\n NG: {\r\n _allowed: \"H h hb hB\",\r\n _preferred: \"H\"\r\n },\r\n NR: {\r\n _allowed: \"H h hb hB\",\r\n _preferred: \"H\"\r\n },\r\n NU: {\r\n _allowed: \"H h hb hB\",\r\n _preferred: \"H\"\r\n },\r\n PN: {\r\n _allowed: \"H h hb hB\",\r\n _preferred: \"H\"\r\n },\r\n SH: {\r\n _allowed: \"H h hb hB\",\r\n _preferred: \"H\"\r\n },\r\n SX: {\r\n _allowed: \"H h hb hB\",\r\n _preferred: \"H\"\r\n },\r\n TA: {\r\n _allowed: \"H h hb hB\",\r\n _preferred: \"H\"\r\n },\r\n ZA: {\r\n _allowed: \"H h hb hB\",\r\n _preferred: \"H\"\r\n },\r\n af_ZA: {\r\n _allowed: \"H h hB hb\",\r\n _preferred: \"H\"\r\n },\r\n AR: {\r\n _allowed: \"H h hB hb\",\r\n _preferred: \"H\"\r\n },\r\n CL: {\r\n _allowed: \"H h hB hb\",\r\n _preferred: \"H\"\r\n },\r\n CR: {\r\n _allowed: \"H h hB hb\",\r\n _preferred: \"H\"\r\n },\r\n CU: {\r\n _allowed: \"H h hB hb\",\r\n _preferred: \"H\"\r\n },\r\n EA: {\r\n _allowed: \"H h hB hb\",\r\n _preferred: \"H\"\r\n },\r\n es_BO: {\r\n _allowed: \"H h hB hb\",\r\n _preferred: \"H\"\r\n },\r\n es_BR: {\r\n _allowed: \"H h hB hb\",\r\n _preferred: \"H\"\r\n },\r\n es_EC: {\r\n _allowed: \"H h hB hb\",\r\n _preferred: \"H\"\r\n },\r\n es_ES: {\r\n _allowed: \"H h hB hb\",\r\n _preferred: \"H\"\r\n },\r\n es_GQ: {\r\n _allowed: \"H h hB hb\",\r\n _preferred: \"H\"\r\n },\r\n es_PE: {\r\n _allowed: \"H h hB hb\",\r\n _preferred: \"H\"\r\n },\r\n GT: {\r\n _allowed: \"H h hB hb\",\r\n _preferred: \"H\"\r\n },\r\n HN: {\r\n _allowed: \"H h hB hb\",\r\n _preferred: \"H\"\r\n },\r\n IC: {\r\n _allowed: \"H h hB hb\",\r\n _preferred: \"H\"\r\n },\r\n KG: {\r\n _allowed: \"H h hB hb\",\r\n _preferred: \"H\"\r\n },\r\n KM: {\r\n _allowed: \"H h hB hb\",\r\n _preferred: \"H\"\r\n },\r\n LK: {\r\n _allowed: \"H h hB hb\",\r\n _preferred: \"H\"\r\n },\r\n MA: {\r\n _allowed: \"H h hB hb\",\r\n _preferred: \"H\"\r\n },\r\n MX: {\r\n _allowed: \"H h hB hb\",\r\n _preferred: \"H\"\r\n },\r\n NI: {\r\n _allowed: \"H h hB hb\",\r\n _preferred: \"H\"\r\n },\r\n PY: {\r\n _allowed: \"H h hB hb\",\r\n _preferred: \"H\"\r\n },\r\n SV: {\r\n _allowed: \"H h hB hb\",\r\n _preferred: \"H\"\r\n },\r\n UY: {\r\n _allowed: \"H h hB hb\",\r\n _preferred: \"H\"\r\n },\r\n JP: {\r\n _allowed: \"H h K\",\r\n _preferred: \"H\"\r\n },\r\n AD: {\r\n _allowed: \"H hB\",\r\n _preferred: \"H\"\r\n },\r\n AM: {\r\n _allowed: \"H hB\",\r\n _preferred: \"H\"\r\n },\r\n AO: {\r\n _allowed: \"H hB\",\r\n _preferred: \"H\"\r\n },\r\n AT: {\r\n _allowed: \"H hB\",\r\n _preferred: \"H\"\r\n },\r\n AW: {\r\n _allowed: \"H hB\",\r\n _preferred: \"H\"\r\n },\r\n BE: {\r\n _allowed: \"H hB\",\r\n _preferred: \"H\"\r\n },\r\n BF: {\r\n _allowed: \"H hB\",\r\n _preferred: \"H\"\r\n },\r\n BJ: {\r\n _allowed: \"H hB\",\r\n _preferred: \"H\"\r\n },\r\n BL: {\r\n _allowed: \"H hB\",\r\n _preferred: \"H\"\r\n },\r\n BR: {\r\n _allowed: \"H hB\",\r\n _preferred: \"H\"\r\n },\r\n CG: {\r\n _allowed: \"H hB\",\r\n _preferred: \"H\"\r\n },\r\n CI: {\r\n _allowed: \"H hB\",\r\n _preferred: \"H\"\r\n },\r\n CV: {\r\n _allowed: \"H hB\",\r\n _preferred: \"H\"\r\n },\r\n DE: {\r\n _allowed: \"H hB\",\r\n _preferred: \"H\"\r\n },\r\n EE: {\r\n _allowed: \"H hB\",\r\n _preferred: \"H\"\r\n },\r\n FR: {\r\n _allowed: \"H hB\",\r\n _preferred: \"H\"\r\n },\r\n GA: {\r\n _allowed: \"H hB\",\r\n _preferred: \"H\"\r\n },\r\n GF: {\r\n _allowed: \"H hB\",\r\n _preferred: \"H\"\r\n },\r\n GN: {\r\n _allowed: \"H hB\",\r\n _preferred: \"H\"\r\n },\r\n GP: {\r\n _allowed: \"H hB\",\r\n _preferred: \"H\"\r\n },\r\n GW: {\r\n _allowed: \"H hB\",\r\n _preferred: \"H\"\r\n },\r\n HR: {\r\n _allowed: \"H hB\",\r\n _preferred: \"H\"\r\n },\r\n IL: {\r\n _allowed: \"H hB\",\r\n _preferred: \"H\"\r\n },\r\n IT: {\r\n _allowed: \"H hB\",\r\n _preferred: \"H\"\r\n },\r\n KZ: {\r\n _allowed: \"H hB\",\r\n _preferred: \"H\"\r\n },\r\n MC: {\r\n _allowed: \"H hB\",\r\n _preferred: \"H\"\r\n },\r\n MD: {\r\n _allowed: \"H hB\",\r\n _preferred: \"H\"\r\n },\r\n MF: {\r\n _allowed: \"H hB\",\r\n _preferred: \"H\"\r\n },\r\n MQ: {\r\n _allowed: \"H hB\",\r\n _preferred: \"H\"\r\n },\r\n MZ: {\r\n _allowed: \"H hB\",\r\n _preferred: \"H\"\r\n },\r\n NC: {\r\n _allowed: \"H hB\",\r\n _preferred: \"H\"\r\n },\r\n NL: {\r\n _allowed: \"H hB\",\r\n _preferred: \"H\"\r\n },\r\n PM: {\r\n _allowed: \"H hB\",\r\n _preferred: \"H\"\r\n },\r\n PT: {\r\n _allowed: \"H hB\",\r\n _preferred: \"H\"\r\n },\r\n RE: {\r\n _allowed: \"H hB\",\r\n _preferred: \"H\"\r\n },\r\n RO: {\r\n _allowed: \"H hB\",\r\n _preferred: \"H\"\r\n },\r\n SI: {\r\n _allowed: \"H hB\",\r\n _preferred: \"H\"\r\n },\r\n SR: {\r\n _allowed: \"H hB\",\r\n _preferred: \"H\"\r\n },\r\n ST: {\r\n _allowed: \"H hB\",\r\n _preferred: \"H\"\r\n },\r\n TG: {\r\n _allowed: \"H hB\",\r\n _preferred: \"H\"\r\n },\r\n TR: {\r\n _allowed: \"H hB\",\r\n _preferred: \"H\"\r\n },\r\n WF: {\r\n _allowed: \"H hB\",\r\n _preferred: \"H\"\r\n },\r\n YT: {\r\n _allowed: \"H hB\",\r\n _preferred: \"H\"\r\n },\r\n BD: {\r\n _allowed: \"h hB H\",\r\n _preferred: \"h\"\r\n },\r\n PK: {\r\n _allowed: \"h hB H\",\r\n _preferred: \"h\"\r\n },\r\n AZ: {\r\n _allowed: \"H hB h\",\r\n _preferred: \"H\"\r\n },\r\n BA: {\r\n _allowed: \"H hB h\",\r\n _preferred: \"H\"\r\n },\r\n BG: {\r\n _allowed: \"H hB h\",\r\n _preferred: \"H\"\r\n },\r\n CH: {\r\n _allowed: \"H hB h\",\r\n _preferred: \"H\"\r\n },\r\n GE: {\r\n _allowed: \"H hB h\",\r\n _preferred: \"H\"\r\n },\r\n LI: {\r\n _allowed: \"H hB h\",\r\n _preferred: \"H\"\r\n },\r\n ME: {\r\n _allowed: \"H hB h\",\r\n _preferred: \"H\"\r\n },\r\n RS: {\r\n _allowed: \"H hB h\",\r\n _preferred: \"H\"\r\n },\r\n UA: {\r\n _allowed: \"H hB h\",\r\n _preferred: \"H\"\r\n },\r\n UZ: {\r\n _allowed: \"H hB h\",\r\n _preferred: \"H\"\r\n },\r\n XK: {\r\n _allowed: \"H hB h\",\r\n _preferred: \"H\"\r\n },\r\n AG: {\r\n _allowed: \"h hb H hB\",\r\n _preferred: \"h\"\r\n },\r\n AU: {\r\n _allowed: \"h hb H hB\",\r\n _preferred: \"h\"\r\n },\r\n BB: {\r\n _allowed: \"h hb H hB\",\r\n _preferred: \"h\"\r\n },\r\n BM: {\r\n _allowed: \"h hb H hB\",\r\n _preferred: \"h\"\r\n },\r\n BS: {\r\n _allowed: \"h hb H hB\",\r\n _preferred: \"h\"\r\n },\r\n CA: {\r\n _allowed: \"h hb H hB\",\r\n _preferred: \"h\"\r\n },\r\n DM: {\r\n _allowed: \"h hb H hB\",\r\n _preferred: \"h\"\r\n },\r\n en_001: {\r\n _allowed: \"h hb H hB\",\r\n _preferred: \"h\"\r\n },\r\n FJ: {\r\n _allowed: \"h hb H hB\",\r\n _preferred: \"h\"\r\n },\r\n FM: {\r\n _allowed: \"h hb H hB\",\r\n _preferred: \"h\"\r\n },\r\n GD: {\r\n _allowed: \"h hb H hB\",\r\n _preferred: \"h\"\r\n },\r\n GM: {\r\n _allowed: \"h hb H hB\",\r\n _preferred: \"h\"\r\n },\r\n GU: {\r\n _allowed: \"h hb H hB\",\r\n _preferred: \"h\"\r\n },\r\n GY: {\r\n _allowed: \"h hb H hB\",\r\n _preferred: \"h\"\r\n },\r\n JM: {\r\n _allowed: \"h hb H hB\",\r\n _preferred: \"h\"\r\n },\r\n KI: {\r\n _allowed: \"h hb H hB\",\r\n _preferred: \"h\"\r\n },\r\n KN: {\r\n _allowed: \"h hb H hB\",\r\n _preferred: \"h\"\r\n },\r\n KY: {\r\n _allowed: \"h hb H hB\",\r\n _preferred: \"h\"\r\n },\r\n LC: {\r\n _allowed: \"h hb H hB\",\r\n _preferred: \"h\"\r\n },\r\n LR: {\r\n _allowed: \"h hb H hB\",\r\n _preferred: \"h\"\r\n },\r\n MH: {\r\n _allowed: \"h hb H hB\",\r\n _preferred: \"h\"\r\n },\r\n MP: {\r\n _allowed: \"h hb H hB\",\r\n _preferred: \"h\"\r\n },\r\n MW: {\r\n _allowed: \"h hb H hB\",\r\n _preferred: \"h\"\r\n },\r\n NZ: {\r\n _allowed: \"h hb H hB\",\r\n _preferred: \"h\"\r\n },\r\n SB: {\r\n _allowed: \"h hb H hB\",\r\n _preferred: \"h\"\r\n },\r\n SG: {\r\n _allowed: \"h hb H hB\",\r\n _preferred: \"h\"\r\n },\r\n SL: {\r\n _allowed: \"h hb H hB\",\r\n _preferred: \"h\"\r\n },\r\n SS: {\r\n _allowed: \"h hb H hB\",\r\n _preferred: \"h\"\r\n },\r\n SZ: {\r\n _allowed: \"h hb H hB\",\r\n _preferred: \"h\"\r\n },\r\n TC: {\r\n _allowed: \"h hb H hB\",\r\n _preferred: \"h\"\r\n },\r\n TT: {\r\n _allowed: \"h hb H hB\",\r\n _preferred: \"h\"\r\n },\r\n UM: {\r\n _allowed: \"h hb H hB\",\r\n _preferred: \"h\"\r\n },\r\n US: {\r\n _allowed: \"h hb H hB\",\r\n _preferred: \"h\"\r\n },\r\n VC: {\r\n _allowed: \"h hb H hB\",\r\n _preferred: \"h\"\r\n },\r\n VG: {\r\n _allowed: \"h hb H hB\",\r\n _preferred: \"h\"\r\n },\r\n VI: {\r\n _allowed: \"h hb H hB\",\r\n _preferred: \"h\"\r\n },\r\n ZM: {\r\n _allowed: \"h hb H hB\",\r\n _preferred: \"h\"\r\n },\r\n BO: {\r\n _allowed: \"H hB h hb\",\r\n _preferred: \"H\"\r\n },\r\n EC: {\r\n _allowed: \"H hB h hb\",\r\n _preferred: \"H\"\r\n },\r\n ES: {\r\n _allowed: \"H hB h hb\",\r\n _preferred: \"H\"\r\n },\r\n GQ: {\r\n _allowed: \"H hB h hb\",\r\n _preferred: \"H\"\r\n },\r\n PE: {\r\n _allowed: \"H hB h hb\",\r\n _preferred: \"H\"\r\n },\r\n AE: {\r\n _allowed: \"h hB hb H\",\r\n _preferred: \"h\"\r\n },\r\n ar_001: {\r\n _allowed: \"h hB hb H\",\r\n _preferred: \"h\"\r\n },\r\n BH: {\r\n _allowed: \"h hB hb H\",\r\n _preferred: \"h\"\r\n },\r\n DZ: {\r\n _allowed: \"h hB hb H\",\r\n _preferred: \"h\"\r\n },\r\n EG: {\r\n _allowed: \"h hB hb H\",\r\n _preferred: \"h\"\r\n },\r\n EH: {\r\n _allowed: \"h hB hb H\",\r\n _preferred: \"h\"\r\n },\r\n IQ: {\r\n _allowed: \"h hB hb H\",\r\n _preferred: \"h\"\r\n },\r\n JO: {\r\n _allowed: \"h hB hb H\",\r\n _preferred: \"h\"\r\n },\r\n KW: {\r\n _allowed: \"h hB hb H\",\r\n _preferred: \"h\"\r\n },\r\n LB: {\r\n _allowed: \"h hB hb H\",\r\n _preferred: \"h\"\r\n },\r\n LY: {\r\n _allowed: \"h hB hb H\",\r\n _preferred: \"h\"\r\n },\r\n MR: {\r\n _allowed: \"h hB hb H\",\r\n _preferred: \"h\"\r\n },\r\n OM: {\r\n _allowed: \"h hB hb H\",\r\n _preferred: \"h\"\r\n },\r\n PH: {\r\n _allowed: \"h hB hb H\",\r\n _preferred: \"h\"\r\n },\r\n PS: {\r\n _allowed: \"h hB hb H\",\r\n _preferred: \"h\"\r\n },\r\n QA: {\r\n _allowed: \"h hB hb H\",\r\n _preferred: \"h\"\r\n },\r\n SA: {\r\n _allowed: \"h hB hb H\",\r\n _preferred: \"h\"\r\n },\r\n SD: {\r\n _allowed: \"h hB hb H\",\r\n _preferred: \"h\"\r\n },\r\n SY: {\r\n _allowed: \"h hB hb H\",\r\n _preferred: \"h\"\r\n },\r\n TN: {\r\n _allowed: \"h hB hb H\",\r\n _preferred: \"h\"\r\n },\r\n YE: {\r\n _allowed: \"h hB hb H\",\r\n _preferred: \"h\"\r\n },\r\n AF: {\r\n _allowed: \"H hb hB h\",\r\n _preferred: \"H\"\r\n },\r\n LA: {\r\n _allowed: \"H hb hB h\",\r\n _preferred: \"H\"\r\n },\r\n LV: {\r\n _allowed: \"H hB hb h\",\r\n _preferred: \"H\"\r\n },\r\n TL: {\r\n _allowed: \"H hB hb h\",\r\n _preferred: \"H\"\r\n },\r\n zu_ZA: {\r\n _allowed: \"H hB hb h\",\r\n _preferred: \"H\"\r\n },\r\n CD: {\r\n _allowed: \"hB H\",\r\n _preferred: \"H\"\r\n },\r\n IR: {\r\n _allowed: \"hB H\",\r\n _preferred: \"H\"\r\n },\r\n hi_IN: {\r\n _allowed: \"hB h H\",\r\n _preferred: \"h\"\r\n },\r\n kn_IN: {\r\n _allowed: \"hB h H\",\r\n _preferred: \"h\"\r\n },\r\n ml_IN: {\r\n _allowed: \"hB h H\",\r\n _preferred: \"h\"\r\n },\r\n te_IN: {\r\n _allowed: \"hB h H\",\r\n _preferred: \"h\"\r\n },\r\n KH: {\r\n _allowed: \"hB h H hb\",\r\n _preferred: \"h\"\r\n },\r\n ta_IN: {\r\n _allowed: \"hB h hb H\",\r\n _preferred: \"h\"\r\n },\r\n BN: {\r\n _allowed: \"hb hB h H\",\r\n _preferred: \"h\"\r\n },\r\n MY: {\r\n _allowed: \"hb hB h H\",\r\n _preferred: \"h\"\r\n },\r\n CN: {\r\n _allowed: \"hB hb h H\",\r\n _preferred: \"h\"\r\n },\r\n ET: {\r\n _allowed: \"hB hb h H\",\r\n _preferred: \"h\"\r\n },\r\n gu_IN: {\r\n _allowed: \"hB hb h H\",\r\n _preferred: \"h\"\r\n },\r\n HK: {\r\n _allowed: \"hB hb h H\",\r\n _preferred: \"h\"\r\n },\r\n MO: {\r\n _allowed: \"hB hb h H\",\r\n _preferred: \"h\"\r\n },\r\n mr_IN: {\r\n _allowed: \"hB hb h H\",\r\n _preferred: \"h\"\r\n },\r\n pa_IN: {\r\n _allowed: \"hB hb h H\",\r\n _preferred: \"h\"\r\n },\r\n TW: {\r\n _allowed: \"hB hb h H\",\r\n _preferred: \"h\"\r\n },\r\n KE: {\r\n _allowed: \"hB hb H h\",\r\n _preferred: \"H\"\r\n },\r\n MM: {\r\n _allowed: \"hB hb H h\",\r\n _preferred: \"H\"\r\n },\r\n TZ: {\r\n _allowed: \"hB hb H h\",\r\n _preferred: \"H\"\r\n },\r\n UG: {\r\n _allowed: \"hB hb H h\",\r\n _preferred: \"H\"\r\n }\r\n },\r\n weekData: {\r\n minDays: {\r\n \"001\": \"1\",\r\n AD: \"4\",\r\n AN: \"4\",\r\n AT: \"4\",\r\n AX: \"4\",\r\n BE: \"4\",\r\n BG: \"4\",\r\n CH: \"4\",\r\n CZ: \"4\",\r\n DE: \"4\",\r\n DK: \"4\",\r\n EE: \"4\",\r\n ES: \"4\",\r\n FI: \"4\",\r\n FJ: \"4\",\r\n FO: \"4\",\r\n FR: \"4\",\r\n GB: \"4\",\r\n GF: \"4\",\r\n GG: \"4\",\r\n GI: \"4\",\r\n GP: \"4\",\r\n GR: \"4\",\r\n GU: \"1\",\r\n HU: \"4\",\r\n IE: \"4\",\r\n IM: \"4\",\r\n IS: \"4\",\r\n IT: \"4\",\r\n JE: \"4\",\r\n LI: \"4\",\r\n LT: \"4\",\r\n LU: \"4\",\r\n MC: \"4\",\r\n MQ: \"4\",\r\n NL: \"4\",\r\n NO: \"4\",\r\n PL: \"4\",\r\n PT: \"4\",\r\n RE: \"4\",\r\n RU: \"4\",\r\n SE: \"4\",\r\n SJ: \"4\",\r\n SK: \"4\",\r\n SM: \"4\",\r\n UM: \"1\",\r\n US: \"1\",\r\n VA: \"4\",\r\n VI: \"1\"\r\n },\r\n firstDay: {\r\n \"001\": \"mon\",\r\n AD: \"mon\",\r\n AE: \"sat\",\r\n AF: \"sat\",\r\n AG: \"sun\",\r\n AI: \"mon\",\r\n AL: \"mon\",\r\n AM: \"mon\",\r\n AN: \"mon\",\r\n AR: \"mon\",\r\n AS: \"sun\",\r\n AT: \"mon\",\r\n AU: \"sun\",\r\n AX: \"mon\",\r\n AZ: \"mon\",\r\n BA: \"mon\",\r\n BD: \"sun\",\r\n BE: \"mon\",\r\n BG: \"mon\",\r\n BH: \"sat\",\r\n BM: \"mon\",\r\n BN: \"mon\",\r\n BR: \"sun\",\r\n BS: \"sun\",\r\n BT: \"sun\",\r\n BW: \"sun\",\r\n BY: \"mon\",\r\n BZ: \"sun\",\r\n CA: \"sun\",\r\n CH: \"mon\",\r\n CL: \"mon\",\r\n CM: \"mon\",\r\n CN: \"sun\",\r\n CO: \"sun\",\r\n CR: \"mon\",\r\n CY: \"mon\",\r\n CZ: \"mon\",\r\n DE: \"mon\",\r\n DJ: \"sat\",\r\n DK: \"mon\",\r\n DM: \"sun\",\r\n DO: \"sun\",\r\n DZ: \"sat\",\r\n EC: \"mon\",\r\n EE: \"mon\",\r\n EG: \"sat\",\r\n ES: \"mon\",\r\n ET: \"sun\",\r\n FI: \"mon\",\r\n FJ: \"mon\",\r\n FO: \"mon\",\r\n FR: \"mon\",\r\n GB: \"mon\",\r\n \"GB-alt-variant\": \"sun\",\r\n GE: \"mon\",\r\n GF: \"mon\",\r\n GP: \"mon\",\r\n GR: \"mon\",\r\n GT: \"sun\",\r\n GU: \"sun\",\r\n HK: \"sun\",\r\n HN: \"sun\",\r\n HR: \"mon\",\r\n HU: \"mon\",\r\n ID: \"sun\",\r\n IE: \"mon\",\r\n IL: \"sun\",\r\n IN: \"sun\",\r\n IQ: \"sat\",\r\n IR: \"sat\",\r\n IS: \"mon\",\r\n IT: \"mon\",\r\n JM: \"sun\",\r\n JO: \"sat\",\r\n JP: \"sun\",\r\n KE: \"sun\",\r\n KG: \"mon\",\r\n KH: \"sun\",\r\n KR: \"sun\",\r\n KW: \"sat\",\r\n KZ: \"mon\",\r\n LA: \"sun\",\r\n LB: \"mon\",\r\n LI: \"mon\",\r\n LK: \"mon\",\r\n LT: \"mon\",\r\n LU: \"mon\",\r\n LV: \"mon\",\r\n LY: \"sat\",\r\n MC: \"mon\",\r\n MD: \"mon\",\r\n ME: \"mon\",\r\n MH: \"sun\",\r\n MK: \"mon\",\r\n MM: \"sun\",\r\n MN: \"mon\",\r\n MO: \"sun\",\r\n MQ: \"mon\",\r\n MT: \"sun\",\r\n MV: \"fri\",\r\n MX: \"sun\",\r\n MY: \"mon\",\r\n MZ: \"sun\",\r\n NI: \"sun\",\r\n NL: \"mon\",\r\n NO: \"mon\",\r\n NP: \"sun\",\r\n NZ: \"mon\",\r\n OM: \"sat\",\r\n PA: \"sun\",\r\n PE: \"sun\",\r\n PH: \"sun\",\r\n PK: \"sun\",\r\n PL: \"mon\",\r\n PR: \"sun\",\r\n PT: \"sun\",\r\n PY: \"sun\",\r\n QA: \"sat\",\r\n RE: \"mon\",\r\n RO: \"mon\",\r\n RS: \"mon\",\r\n RU: \"mon\",\r\n SA: \"sun\",\r\n SD: \"sat\",\r\n SE: \"mon\",\r\n SG: \"sun\",\r\n SI: \"mon\",\r\n SK: \"mon\",\r\n SM: \"mon\",\r\n SV: \"sun\",\r\n SY: \"sat\",\r\n TH: \"sun\",\r\n TJ: \"mon\",\r\n TM: \"mon\",\r\n TR: \"mon\",\r\n TT: \"sun\",\r\n TW: \"sun\",\r\n UA: \"mon\",\r\n UM: \"sun\",\r\n US: \"sun\",\r\n UY: \"mon\",\r\n UZ: \"mon\",\r\n VA: \"mon\",\r\n VE: \"sun\",\r\n VI: \"sun\",\r\n VN: \"mon\",\r\n WS: \"sun\",\r\n XK: \"mon\",\r\n YE: \"sun\",\r\n ZA: \"sun\",\r\n ZW: \"sun\"\r\n },\r\n weekendStart: {\r\n \"001\": \"sat\",\r\n AE: \"fri\",\r\n AF: \"thu\",\r\n BH: \"fri\",\r\n DZ: \"fri\",\r\n EG: \"fri\",\r\n IL: \"fri\",\r\n IN: \"sun\",\r\n IQ: \"fri\",\r\n IR: \"fri\",\r\n JO: \"fri\",\r\n KW: \"fri\",\r\n LY: \"fri\",\r\n OM: \"fri\",\r\n QA: \"fri\",\r\n SA: \"fri\",\r\n SD: \"fri\",\r\n SY: \"fri\",\r\n UG: \"sun\",\r\n YE: \"fri\"\r\n },\r\n weekendEnd: {\r\n \"001\": \"sun\",\r\n AE: \"sat\",\r\n AF: \"fri\",\r\n BH: \"sat\",\r\n DZ: \"sat\",\r\n EG: \"sat\",\r\n IL: \"sat\",\r\n IQ: \"sat\",\r\n IR: \"fri\",\r\n JO: \"sat\",\r\n KW: \"sat\",\r\n LY: \"sat\",\r\n OM: \"sat\",\r\n QA: \"sat\",\r\n SA: \"sat\",\r\n SD: \"sat\",\r\n SY: \"sat\",\r\n YE: \"sat\"\r\n },\r\n af: {\r\n _ordering: \"weekOfDate weekOfInterval weekOfMonth\"\r\n },\r\n \"am az bs cs cy da el et hi ky lt mk sk ta th\": {\r\n _ordering: \"weekOfYear weekOfMonth\"\r\n },\r\n \"ar fil gu hu hy id kk ko\": {\r\n _ordering: \"weekOfMonth\"\r\n },\r\n \"be ro ru\": {\r\n _ordering: \"weekOfInterval weekOfMonth\"\r\n },\r\n \"bg de iw pt ur zh\": {\r\n _ordering: \"weekOfDate weekOfMonth weekOfInterval\"\r\n },\r\n \"ca es fr gl\": {\r\n _ordering: \"weekOfDate\"\r\n },\r\n \"en bn ja ka\": {\r\n _ordering: \"weekOfDate weekOfMonth\"\r\n },\r\n eu: {\r\n _ordering: \"weekOfMonth weekOfDate\"\r\n },\r\n \"fa hr it lv pl si sr uk uz\": {\r\n _ordering: \"weekOfMonth weekOfInterval\"\r\n },\r\n \"fi zh-TW\": {\r\n _ordering: \"weekOfYear weekOfDate weekOfMonth\"\r\n },\r\n \"is mn no sv vi\": {\r\n _ordering: \"weekOfYear weekOfMonth weekOfInterval\"\r\n },\r\n \"km mr\": {\r\n _ordering: \"weekOfMonth weekOfYear\"\r\n },\r\n \"kn ml pa\": {\r\n _ordering: \"weekOfMonth weekOfDate weekOfYear\"\r\n },\r\n \"lo sq\": {\r\n _ordering: \"weekOfMonth weekOfInterval weekOfDate weekOfYear\"\r\n },\r\n \"ms tr\": {\r\n _ordering: \"weekOfMonth weekOfYear weekOfInterval weekOfDate\"\r\n },\r\n nl: {\r\n _ordering: \"weekOfDate weekOfYear weekOfMonth\"\r\n },\r\n sl: {\r\n _ordering: \"weekOfInterval\"\r\n },\r\n \"sw te\": {\r\n _ordering: \"weekOfMonth weekOfInterval weekOfYear\"\r\n },\r\n und: {\r\n _ordering: \"weekOfYear\"\r\n },\r\n zu: {\r\n _ordering: \"weekOfYear weekOfInterval\"\r\n }\r\n },\r\n currencyData: {\r\n fractions: {\r\n ADP: {\r\n _rounding: \"0\",\r\n _digits: \"0\"\r\n },\r\n AFN: {\r\n _rounding: \"0\",\r\n _digits: \"0\"\r\n },\r\n ALL: {\r\n _rounding: \"0\",\r\n _digits: \"0\"\r\n },\r\n AMD: {\r\n _rounding: \"0\",\r\n _digits: \"2\",\r\n _cashRounding: \"0\",\r\n _cashDigits: \"0\"\r\n },\r\n BHD: {\r\n _rounding: \"0\",\r\n _digits: \"3\"\r\n },\r\n BIF: {\r\n _rounding: \"0\",\r\n _digits: \"0\"\r\n },\r\n BYN: {\r\n _rounding: \"0\",\r\n _digits: \"2\"\r\n },\r\n BYR: {\r\n _rounding: \"0\",\r\n _digits: \"0\"\r\n },\r\n CAD: {\r\n _rounding: \"0\",\r\n _digits: \"2\",\r\n _cashRounding: \"5\"\r\n },\r\n CHF: {\r\n _rounding: \"0\",\r\n _digits: \"2\",\r\n _cashRounding: \"5\"\r\n },\r\n CLF: {\r\n _rounding: \"0\",\r\n _digits: \"4\"\r\n },\r\n CLP: {\r\n _rounding: \"0\",\r\n _digits: \"0\"\r\n },\r\n COP: {\r\n _rounding: \"0\",\r\n _digits: \"2\",\r\n _cashRounding: \"0\",\r\n _cashDigits: \"0\"\r\n },\r\n CRC: {\r\n _rounding: \"0\",\r\n _digits: \"2\",\r\n _cashRounding: \"0\",\r\n _cashDigits: \"0\"\r\n },\r\n CZK: {\r\n _rounding: \"0\",\r\n _digits: \"2\",\r\n _cashRounding: \"0\",\r\n _cashDigits: \"0\"\r\n },\r\n DEFAULT: {\r\n _rounding: \"0\",\r\n _digits: \"2\"\r\n },\r\n DJF: {\r\n _rounding: \"0\",\r\n _digits: \"0\"\r\n },\r\n DKK: {\r\n _rounding: \"0\",\r\n _digits: \"2\",\r\n _cashRounding: \"50\"\r\n },\r\n ESP: {\r\n _rounding: \"0\",\r\n _digits: \"0\"\r\n },\r\n GNF: {\r\n _rounding: \"0\",\r\n _digits: \"0\"\r\n },\r\n GYD: {\r\n _rounding: \"0\",\r\n _digits: \"2\",\r\n _cashRounding: \"0\",\r\n _cashDigits: \"0\"\r\n },\r\n HUF: {\r\n _rounding: \"0\",\r\n _digits: \"2\",\r\n _cashRounding: \"0\",\r\n _cashDigits: \"0\"\r\n },\r\n IDR: {\r\n _rounding: \"0\",\r\n _digits: \"2\",\r\n _cashRounding: \"0\",\r\n _cashDigits: \"0\"\r\n },\r\n IQD: {\r\n _rounding: \"0\",\r\n _digits: \"0\"\r\n },\r\n IRR: {\r\n _rounding: \"0\",\r\n _digits: \"0\"\r\n },\r\n ISK: {\r\n _rounding: \"0\",\r\n _digits: \"0\"\r\n },\r\n ITL: {\r\n _rounding: \"0\",\r\n _digits: \"0\"\r\n },\r\n JOD: {\r\n _rounding: \"0\",\r\n _digits: \"3\"\r\n },\r\n JPY: {\r\n _rounding: \"0\",\r\n _digits: \"0\"\r\n },\r\n KMF: {\r\n _rounding: \"0\",\r\n _digits: \"0\"\r\n },\r\n KPW: {\r\n _rounding: \"0\",\r\n _digits: \"0\"\r\n },\r\n KRW: {\r\n _rounding: \"0\",\r\n _digits: \"0\"\r\n },\r\n KWD: {\r\n _rounding: \"0\",\r\n _digits: \"3\"\r\n },\r\n LAK: {\r\n _rounding: \"0\",\r\n _digits: \"0\"\r\n },\r\n LBP: {\r\n _rounding: \"0\",\r\n _digits: \"0\"\r\n },\r\n LUF: {\r\n _rounding: \"0\",\r\n _digits: \"0\"\r\n },\r\n LYD: {\r\n _rounding: \"0\",\r\n _digits: \"3\"\r\n },\r\n MGA: {\r\n _rounding: \"0\",\r\n _digits: \"0\"\r\n },\r\n MGF: {\r\n _rounding: \"0\",\r\n _digits: \"0\"\r\n },\r\n MMK: {\r\n _rounding: \"0\",\r\n _digits: \"0\"\r\n },\r\n MNT: {\r\n _rounding: \"0\",\r\n _digits: \"2\",\r\n _cashRounding: \"0\",\r\n _cashDigits: \"0\"\r\n },\r\n MRO: {\r\n _rounding: \"0\",\r\n _digits: \"0\"\r\n },\r\n MUR: {\r\n _rounding: \"0\",\r\n _digits: \"2\",\r\n _cashRounding: \"0\",\r\n _cashDigits: \"0\"\r\n },\r\n NOK: {\r\n _rounding: \"0\",\r\n _digits: \"2\",\r\n _cashRounding: \"0\",\r\n _cashDigits: \"0\"\r\n },\r\n OMR: {\r\n _rounding: \"0\",\r\n _digits: \"3\"\r\n },\r\n PKR: {\r\n _rounding: \"0\",\r\n _digits: \"2\",\r\n _cashRounding: \"0\",\r\n _cashDigits: \"0\"\r\n },\r\n PYG: {\r\n _rounding: \"0\",\r\n _digits: \"0\"\r\n },\r\n RSD: {\r\n _rounding: \"0\",\r\n _digits: \"0\"\r\n },\r\n RWF: {\r\n _rounding: \"0\",\r\n _digits: \"0\"\r\n },\r\n SEK: {\r\n _rounding: \"0\",\r\n _digits: \"2\",\r\n _cashRounding: \"0\",\r\n _cashDigits: \"0\"\r\n },\r\n SLL: {\r\n _rounding: \"0\",\r\n _digits: \"0\"\r\n },\r\n SOS: {\r\n _rounding: \"0\",\r\n _digits: \"0\"\r\n },\r\n STD: {\r\n _rounding: \"0\",\r\n _digits: \"0\"\r\n },\r\n SYP: {\r\n _rounding: \"0\",\r\n _digits: \"0\"\r\n },\r\n TMM: {\r\n _rounding: \"0\",\r\n _digits: \"0\"\r\n },\r\n TND: {\r\n _rounding: \"0\",\r\n _digits: \"3\"\r\n },\r\n TRL: {\r\n _rounding: \"0\",\r\n _digits: \"0\"\r\n },\r\n TWD: {\r\n _rounding: \"0\",\r\n _digits: \"2\",\r\n _cashRounding: \"0\",\r\n _cashDigits: \"0\"\r\n },\r\n TZS: {\r\n _rounding: \"0\",\r\n _digits: \"2\",\r\n _cashRounding: \"0\",\r\n _cashDigits: \"0\"\r\n },\r\n UGX: {\r\n _rounding: \"0\",\r\n _digits: \"0\"\r\n },\r\n UYI: {\r\n _rounding: \"0\",\r\n _digits: \"0\"\r\n },\r\n UYW: {\r\n _rounding: \"0\",\r\n _digits: \"4\"\r\n },\r\n UZS: {\r\n _rounding: \"0\",\r\n _digits: \"2\",\r\n _cashRounding: \"0\",\r\n _cashDigits: \"0\"\r\n },\r\n VEF: {\r\n _rounding: \"0\",\r\n _digits: \"2\",\r\n _cashRounding: \"0\",\r\n _cashDigits: \"0\"\r\n },\r\n VND: {\r\n _rounding: \"0\",\r\n _digits: \"0\"\r\n },\r\n VUV: {\r\n _rounding: \"0\",\r\n _digits: \"0\"\r\n },\r\n XAF: {\r\n _rounding: \"0\",\r\n _digits: \"0\"\r\n },\r\n XOF: {\r\n _rounding: \"0\",\r\n _digits: \"0\"\r\n },\r\n XPF: {\r\n _rounding: \"0\",\r\n _digits: \"0\"\r\n },\r\n YER: {\r\n _rounding: \"0\",\r\n _digits: \"0\"\r\n },\r\n ZMK: {\r\n _rounding: \"0\",\r\n _digits: \"0\"\r\n },\r\n ZWD: {\r\n _rounding: \"0\",\r\n _digits: \"0\"\r\n }\r\n },\r\n region: {\r\n AC: [{\r\n SHP: {\r\n _from: \"1976-01-01\"\r\n }\r\n }],\r\n AD: [{\r\n ESP: {\r\n _from: \"1873-01-01\",\r\n _to: \"2002-02-28\"\r\n }\r\n }, {\r\n ADP: {\r\n _from: \"1936-01-01\",\r\n _to: \"2001-12-31\"\r\n }\r\n }, {\r\n FRF: {\r\n _from: \"1960-01-01\",\r\n _to: \"2002-02-17\"\r\n }\r\n }, {\r\n EUR: {\r\n _from: \"1999-01-01\"\r\n }\r\n }],\r\n AE: [{\r\n AED: {\r\n _from: \"1973-05-19\"\r\n }\r\n }],\r\n AF: [{\r\n AFA: {\r\n _from: \"1927-03-14\",\r\n _to: \"2002-12-31\"\r\n }\r\n }, {\r\n AFN: {\r\n _from: \"2002-10-07\"\r\n }\r\n }],\r\n AG: [{\r\n XCD: {\r\n _from: \"1965-10-06\"\r\n }\r\n }],\r\n AI: [{\r\n XCD: {\r\n _from: \"1965-10-06\"\r\n }\r\n }],\r\n AL: [{\r\n ALK: {\r\n _from: \"1946-11-01\",\r\n _to: \"1965-08-16\"\r\n }\r\n }, {\r\n ALL: {\r\n _from: \"1965-08-16\"\r\n }\r\n }],\r\n AM: [{\r\n SUR: {\r\n _from: \"1961-01-01\",\r\n _to: \"1991-12-25\"\r\n }\r\n }, {\r\n RUR: {\r\n _from: \"1991-12-25\",\r\n _to: \"1993-11-22\"\r\n }\r\n }, {\r\n AMD: {\r\n _from: \"1993-11-22\"\r\n }\r\n }],\r\n AO: [{\r\n AOK: {\r\n _from: \"1977-01-08\",\r\n _to: \"1991-03-01\"\r\n }\r\n }, {\r\n AON: {\r\n _from: \"1990-09-25\",\r\n _to: \"2000-02-01\"\r\n }\r\n }, {\r\n AOR: {\r\n _from: \"1995-07-01\",\r\n _to: \"2000-02-01\"\r\n }\r\n }, {\r\n AOA: {\r\n _from: \"1999-12-13\"\r\n }\r\n }],\r\n AQ: [{\r\n XXX: {\r\n _tender: \"false\"\r\n }\r\n }],\r\n AR: [{\r\n ARM: {\r\n _from: \"1881-11-05\",\r\n _to: \"1970-01-01\"\r\n }\r\n }, {\r\n ARL: {\r\n _from: \"1970-01-01\",\r\n _to: \"1983-06-01\"\r\n }\r\n }, {\r\n ARP: {\r\n _from: \"1983-06-01\",\r\n _to: \"1985-06-14\"\r\n }\r\n }, {\r\n ARA: {\r\n _from: \"1985-06-14\",\r\n _to: \"1992-01-01\"\r\n }\r\n }, {\r\n ARS: {\r\n _from: \"1992-01-01\"\r\n }\r\n }],\r\n AS: [{\r\n USD: {\r\n _from: \"1904-07-16\"\r\n }\r\n }],\r\n AT: [{\r\n ATS: {\r\n _from: \"1947-12-04\",\r\n _to: \"2002-02-28\"\r\n }\r\n }, {\r\n EUR: {\r\n _from: \"1999-01-01\"\r\n }\r\n }],\r\n AU: [{\r\n AUD: {\r\n _from: \"1966-02-14\"\r\n }\r\n }],\r\n AW: [{\r\n ANG: {\r\n _from: \"1940-05-10\",\r\n _to: \"1986-01-01\"\r\n }\r\n }, {\r\n AWG: {\r\n _from: \"1986-01-01\"\r\n }\r\n }],\r\n AX: [{\r\n EUR: {\r\n _from: \"1999-01-01\"\r\n }\r\n }],\r\n AZ: [{\r\n SUR: {\r\n _from: \"1961-01-01\",\r\n _to: \"1991-12-25\"\r\n }\r\n }, {\r\n RUR: {\r\n _from: \"1991-12-25\",\r\n _to: \"1994-01-01\"\r\n }\r\n }, {\r\n AZM: {\r\n _from: \"1993-11-22\",\r\n _to: \"2006-12-31\"\r\n }\r\n }, {\r\n AZN: {\r\n _from: \"2006-01-01\"\r\n }\r\n }],\r\n BA: [{\r\n YUD: {\r\n _from: \"1966-01-01\",\r\n _to: \"1990-01-01\"\r\n }\r\n }, {\r\n YUN: {\r\n _from: \"1990-01-01\",\r\n _to: \"1992-07-01\"\r\n }\r\n }, {\r\n YUR: {\r\n _from: \"1992-07-01\",\r\n _to: \"1993-10-01\"\r\n }\r\n }, {\r\n BAD: {\r\n _from: \"1992-07-01\",\r\n _to: \"1994-08-15\"\r\n }\r\n }, {\r\n BAN: {\r\n _from: \"1994-08-15\",\r\n _to: \"1997-07-01\"\r\n }\r\n }, {\r\n BAM: {\r\n _from: \"1995-01-01\"\r\n }\r\n }],\r\n BB: [{\r\n XCD: {\r\n _from: \"1965-10-06\",\r\n _to: \"1973-12-03\"\r\n }\r\n }, {\r\n BBD: {\r\n _from: \"1973-12-03\"\r\n }\r\n }],\r\n BD: [{\r\n INR: {\r\n _from: \"1835-08-17\",\r\n _to: \"1948-04-01\"\r\n }\r\n }, {\r\n PKR: {\r\n _from: \"1948-04-01\",\r\n _to: \"1972-01-01\"\r\n }\r\n }, {\r\n BDT: {\r\n _from: \"1972-01-01\"\r\n }\r\n }],\r\n BE: [{\r\n NLG: {\r\n _from: \"1816-12-15\",\r\n _to: \"1831-02-07\"\r\n }\r\n }, {\r\n BEF: {\r\n _from: \"1831-02-07\",\r\n _to: \"2002-02-28\"\r\n }\r\n }, {\r\n BEC: {\r\n _tender: \"false\",\r\n _from: \"1970-01-01\",\r\n _to: \"1990-03-05\"\r\n }\r\n }, {\r\n BEL: {\r\n _tender: \"false\",\r\n _from: \"1970-01-01\",\r\n _to: \"1990-03-05\"\r\n }\r\n }, {\r\n EUR: {\r\n _from: \"1999-01-01\"\r\n }\r\n }],\r\n BF: [{\r\n XOF: {\r\n _from: \"1984-08-04\"\r\n }\r\n }],\r\n BG: [{\r\n BGO: {\r\n _from: \"1879-07-08\",\r\n _to: \"1952-05-12\"\r\n }\r\n }, {\r\n BGM: {\r\n _from: \"1952-05-12\",\r\n _to: \"1962-01-01\"\r\n }\r\n }, {\r\n BGL: {\r\n _from: \"1962-01-01\",\r\n _to: \"1999-07-05\"\r\n }\r\n }, {\r\n BGN: {\r\n _from: \"1999-07-05\"\r\n }\r\n }],\r\n BH: [{\r\n BHD: {\r\n _from: \"1965-10-16\"\r\n }\r\n }],\r\n BI: [{\r\n BIF: {\r\n _from: \"1964-05-19\"\r\n }\r\n }],\r\n BJ: [{\r\n XOF: {\r\n _from: \"1975-11-30\"\r\n }\r\n }],\r\n BL: [{\r\n FRF: {\r\n _from: \"1960-01-01\",\r\n _to: \"2002-02-17\"\r\n }\r\n }, {\r\n EUR: {\r\n _from: \"1999-01-01\"\r\n }\r\n }],\r\n BM: [{\r\n BMD: {\r\n _from: \"1970-02-06\"\r\n }\r\n }],\r\n BN: [{\r\n MYR: {\r\n _from: \"1963-09-16\",\r\n _to: \"1967-06-12\"\r\n }\r\n }, {\r\n BND: {\r\n _from: \"1967-06-12\"\r\n }\r\n }],\r\n BO: [{\r\n BOV: {\r\n _tender: \"false\"\r\n }\r\n }, {\r\n BOL: {\r\n _from: \"1863-06-23\",\r\n _to: \"1963-01-01\"\r\n }\r\n }, {\r\n BOP: {\r\n _from: \"1963-01-01\",\r\n _to: \"1986-12-31\"\r\n }\r\n }, {\r\n BOB: {\r\n _from: \"1987-01-01\"\r\n }\r\n }],\r\n BQ: [{\r\n ANG: {\r\n _from: \"2010-10-10\",\r\n _to: \"2011-01-01\"\r\n }\r\n }, {\r\n USD: {\r\n _from: \"2011-01-01\"\r\n }\r\n }],\r\n BR: [{\r\n BRZ: {\r\n _from: \"1942-11-01\",\r\n _to: \"1967-02-13\"\r\n }\r\n }, {\r\n BRB: {\r\n _from: \"1967-02-13\",\r\n _to: \"1986-02-28\"\r\n }\r\n }, {\r\n BRC: {\r\n _from: \"1986-02-28\",\r\n _to: \"1989-01-15\"\r\n }\r\n }, {\r\n BRN: {\r\n _from: \"1989-01-15\",\r\n _to: \"1990-03-16\"\r\n }\r\n }, {\r\n BRE: {\r\n _from: \"1990-03-16\",\r\n _to: \"1993-08-01\"\r\n }\r\n }, {\r\n BRR: {\r\n _from: \"1993-08-01\",\r\n _to: \"1994-07-01\"\r\n }\r\n }, {\r\n BRL: {\r\n _from: \"1994-07-01\"\r\n }\r\n }],\r\n BS: [{\r\n BSD: {\r\n _from: \"1966-05-25\"\r\n }\r\n }],\r\n BT: [{\r\n INR: {\r\n _from: \"1907-01-01\"\r\n }\r\n }, {\r\n BTN: {\r\n _from: \"1974-04-16\"\r\n }\r\n }],\r\n BU: [{\r\n BUK: {\r\n _from: \"1952-07-01\",\r\n _to: \"1989-06-18\"\r\n }\r\n }],\r\n BV: [{\r\n NOK: {\r\n _from: \"1905-06-07\"\r\n }\r\n }],\r\n BW: [{\r\n ZAR: {\r\n _from: \"1961-02-14\",\r\n _to: \"1976-08-23\"\r\n }\r\n }, {\r\n BWP: {\r\n _from: \"1976-08-23\"\r\n }\r\n }],\r\n BY: [{\r\n SUR: {\r\n _from: \"1961-01-01\",\r\n _to: \"1991-12-25\"\r\n }\r\n }, {\r\n RUR: {\r\n _from: \"1991-12-25\",\r\n _to: \"1994-11-08\"\r\n }\r\n }, {\r\n BYB: {\r\n _from: \"1994-08-01\",\r\n _to: \"2000-12-31\"\r\n }\r\n }, {\r\n BYR: {\r\n _from: \"2000-01-01\",\r\n _to: \"2017-01-01\"\r\n }\r\n }, {\r\n BYN: {\r\n _from: \"2016-07-01\"\r\n }\r\n }],\r\n BZ: [{\r\n BZD: {\r\n _from: \"1974-01-01\"\r\n }\r\n }],\r\n CA: [{\r\n CAD: {\r\n _from: \"1858-01-01\"\r\n }\r\n }],\r\n CC: [{\r\n AUD: {\r\n _from: \"1966-02-14\"\r\n }\r\n }],\r\n CD: [{\r\n ZRZ: {\r\n _from: \"1971-10-27\",\r\n _to: \"1993-11-01\"\r\n }\r\n }, {\r\n ZRN: {\r\n _from: \"1993-11-01\",\r\n _to: \"1998-07-01\"\r\n }\r\n }, {\r\n CDF: {\r\n _from: \"1998-07-01\"\r\n }\r\n }],\r\n CF: [{\r\n XAF: {\r\n _from: \"1993-01-01\"\r\n }\r\n }],\r\n CG: [{\r\n XAF: {\r\n _from: \"1993-01-01\"\r\n }\r\n }],\r\n CH: [{\r\n CHE: {\r\n _tender: \"false\"\r\n }\r\n }, {\r\n CHW: {\r\n _tender: \"false\"\r\n }\r\n }, {\r\n CHF: {\r\n _from: \"1799-03-17\"\r\n }\r\n }],\r\n CI: [{\r\n XOF: {\r\n _from: \"1958-12-04\"\r\n }\r\n }],\r\n CK: [{\r\n NZD: {\r\n _from: \"1967-07-10\"\r\n }\r\n }],\r\n CL: [{\r\n CLF: {\r\n _tender: \"false\"\r\n }\r\n }, {\r\n CLE: {\r\n _from: \"1960-01-01\",\r\n _to: \"1975-09-29\"\r\n }\r\n }, {\r\n CLP: {\r\n _from: \"1975-09-29\"\r\n }\r\n }],\r\n CM: [{\r\n XAF: {\r\n _from: \"1973-04-01\"\r\n }\r\n }],\r\n CN: [{\r\n CNY: {\r\n _from: \"1953-03-01\"\r\n }\r\n }, {\r\n CNX: {\r\n _tender: \"false\",\r\n _from: \"1979-01-01\",\r\n _to: \"1998-12-31\"\r\n }\r\n }, {\r\n CNH: {\r\n _tender: \"false\",\r\n _from: \"2010-07-19\"\r\n }\r\n }],\r\n CO: [{\r\n COU: {\r\n _tender: \"false\"\r\n }\r\n }, {\r\n COP: {\r\n _from: \"1905-01-01\"\r\n }\r\n }],\r\n CP: [{\r\n XXX: {\r\n _tender: \"false\"\r\n }\r\n }],\r\n CR: [{\r\n CRC: {\r\n _from: \"1896-10-26\"\r\n }\r\n }],\r\n CS: [{\r\n YUM: {\r\n _from: \"1994-01-24\",\r\n _to: \"2002-05-15\"\r\n }\r\n }, {\r\n CSD: {\r\n _from: \"2002-05-15\",\r\n _to: \"2006-06-03\"\r\n }\r\n }, {\r\n EUR: {\r\n _from: \"2003-02-04\",\r\n _to: \"2006-06-03\"\r\n }\r\n }],\r\n CU: [{\r\n CUP: {\r\n _from: \"1859-01-01\"\r\n }\r\n }, {\r\n USD: {\r\n _from: \"1899-01-01\",\r\n _to: \"1959-01-01\"\r\n }\r\n }, {\r\n CUC: {\r\n _from: \"1994-01-01\"\r\n }\r\n }],\r\n CV: [{\r\n PTE: {\r\n _from: \"1911-05-22\",\r\n _to: \"1975-07-05\"\r\n }\r\n }, {\r\n CVE: {\r\n _from: \"1914-01-01\"\r\n }\r\n }],\r\n CW: [{\r\n ANG: {\r\n _from: \"2010-10-10\"\r\n }\r\n }],\r\n CX: [{\r\n AUD: {\r\n _from: \"1966-02-14\"\r\n }\r\n }],\r\n CY: [{\r\n CYP: {\r\n _from: \"1914-09-10\",\r\n _to: \"2008-01-31\"\r\n }\r\n }, {\r\n EUR: {\r\n _from: \"2008-01-01\"\r\n }\r\n }],\r\n CZ: [{\r\n CSK: {\r\n _from: \"1953-06-01\",\r\n _to: \"1993-03-01\"\r\n }\r\n }, {\r\n CZK: {\r\n _from: \"1993-01-01\"\r\n }\r\n }],\r\n DD: [{\r\n DDM: {\r\n _from: \"1948-07-20\",\r\n _to: \"1990-10-02\"\r\n }\r\n }],\r\n DE: [{\r\n DEM: {\r\n _from: \"1948-06-20\",\r\n _to: \"2002-02-28\"\r\n }\r\n }, {\r\n EUR: {\r\n _from: \"1999-01-01\"\r\n }\r\n }],\r\n DG: [{\r\n USD: {\r\n _from: \"1965-11-08\"\r\n }\r\n }],\r\n DJ: [{\r\n DJF: {\r\n _from: \"1977-06-27\"\r\n }\r\n }],\r\n DK: [{\r\n DKK: {\r\n _from: \"1873-05-27\"\r\n }\r\n }],\r\n DM: [{\r\n XCD: {\r\n _from: \"1965-10-06\"\r\n }\r\n }],\r\n DO: [{\r\n USD: {\r\n _from: \"1905-06-21\",\r\n _to: \"1947-10-01\"\r\n }\r\n }, {\r\n DOP: {\r\n _from: \"1947-10-01\"\r\n }\r\n }],\r\n DZ: [{\r\n DZD: {\r\n _from: \"1964-04-01\"\r\n }\r\n }],\r\n EA: [{\r\n EUR: {\r\n _from: \"1999-01-01\"\r\n }\r\n }],\r\n EC: [{\r\n ECS: {\r\n _from: \"1884-04-01\",\r\n _to: \"2000-10-02\"\r\n }\r\n }, {\r\n ECV: {\r\n _tender: \"false\",\r\n _from: \"1993-05-23\",\r\n _to: \"2000-01-09\"\r\n }\r\n }, {\r\n USD: {\r\n _from: \"2000-10-02\"\r\n }\r\n }],\r\n EE: [{\r\n SUR: {\r\n _from: \"1961-01-01\",\r\n _to: \"1992-06-20\"\r\n }\r\n }, {\r\n EEK: {\r\n _from: \"1992-06-21\",\r\n _to: \"2010-12-31\"\r\n }\r\n }, {\r\n EUR: {\r\n _from: \"2011-01-01\"\r\n }\r\n }],\r\n EG: [{\r\n EGP: {\r\n _from: \"1885-11-14\"\r\n }\r\n }],\r\n EH: [{\r\n MAD: {\r\n _from: \"1976-02-26\"\r\n }\r\n }],\r\n ER: [{\r\n ETB: {\r\n _from: \"1993-05-24\",\r\n _to: \"1997-11-08\"\r\n }\r\n }, {\r\n ERN: {\r\n _from: \"1997-11-08\"\r\n }\r\n }],\r\n ES: [{\r\n ESP: {\r\n _from: \"1868-10-19\",\r\n _to: \"2002-02-28\"\r\n }\r\n }, {\r\n ESB: {\r\n _tender: \"false\",\r\n _from: \"1975-01-01\",\r\n _to: \"1994-12-31\"\r\n }\r\n }, {\r\n ESA: {\r\n _tender: \"false\",\r\n _from: \"1978-01-01\",\r\n _to: \"1981-12-31\"\r\n }\r\n }, {\r\n EUR: {\r\n _from: \"1999-01-01\"\r\n }\r\n }],\r\n ET: [{\r\n ETB: {\r\n _from: \"1976-09-15\"\r\n }\r\n }],\r\n EU: [{\r\n XEU: {\r\n _tender: \"false\",\r\n _from: \"1979-01-01\",\r\n _to: \"1998-12-31\"\r\n }\r\n }, {\r\n EUR: {\r\n _from: \"1999-01-01\"\r\n }\r\n }],\r\n FI: [{\r\n FIM: {\r\n _from: \"1963-01-01\",\r\n _to: \"2002-02-28\"\r\n }\r\n }, {\r\n EUR: {\r\n _from: \"1999-01-01\"\r\n }\r\n }],\r\n FJ: [{\r\n FJD: {\r\n _from: \"1969-01-13\"\r\n }\r\n }],\r\n FK: [{\r\n FKP: {\r\n _from: \"1901-01-01\"\r\n }\r\n }],\r\n FM: [{\r\n JPY: {\r\n _from: \"1914-10-03\",\r\n _to: \"1944-01-01\"\r\n }\r\n }, {\r\n USD: {\r\n _from: \"1944-01-01\"\r\n }\r\n }],\r\n FO: [{\r\n DKK: {\r\n _from: \"1948-01-01\"\r\n }\r\n }],\r\n FR: [{\r\n FRF: {\r\n _from: \"1960-01-01\",\r\n _to: \"2002-02-17\"\r\n }\r\n }, {\r\n EUR: {\r\n _from: \"1999-01-01\"\r\n }\r\n }],\r\n GA: [{\r\n XAF: {\r\n _from: \"1993-01-01\"\r\n }\r\n }],\r\n GB: [{\r\n GBP: {\r\n _from: \"1694-07-27\"\r\n }\r\n }],\r\n GD: [{\r\n XCD: {\r\n _from: \"1967-02-27\"\r\n }\r\n }],\r\n GE: [{\r\n SUR: {\r\n _from: \"1961-01-01\",\r\n _to: \"1991-12-25\"\r\n }\r\n }, {\r\n RUR: {\r\n _from: \"1991-12-25\",\r\n _to: \"1993-06-11\"\r\n }\r\n }, {\r\n GEK: {\r\n _from: \"1993-04-05\",\r\n _to: \"1995-09-25\"\r\n }\r\n }, {\r\n GEL: {\r\n _from: \"1995-09-23\"\r\n }\r\n }],\r\n GF: [{\r\n FRF: {\r\n _from: \"1960-01-01\",\r\n _to: \"2002-02-17\"\r\n }\r\n }, {\r\n EUR: {\r\n _from: \"1999-01-01\"\r\n }\r\n }],\r\n GG: [{\r\n GBP: {\r\n _from: \"1830-01-01\"\r\n }\r\n }],\r\n GH: [{\r\n GHC: {\r\n _from: \"1979-03-09\",\r\n _to: \"2007-12-31\"\r\n }\r\n }, {\r\n GHS: {\r\n _from: \"2007-07-03\"\r\n }\r\n }],\r\n GI: [{\r\n GIP: {\r\n _from: \"1713-01-01\"\r\n }\r\n }],\r\n GL: [{\r\n DKK: {\r\n _from: \"1873-05-27\"\r\n }\r\n }],\r\n GM: [{\r\n GMD: {\r\n _from: \"1971-07-01\"\r\n }\r\n }],\r\n GN: [{\r\n GNS: {\r\n _from: \"1972-10-02\",\r\n _to: \"1986-01-06\"\r\n }\r\n }, {\r\n GNF: {\r\n _from: \"1986-01-06\"\r\n }\r\n }],\r\n GP: [{\r\n FRF: {\r\n _from: \"1960-01-01\",\r\n _to: \"2002-02-17\"\r\n }\r\n }, {\r\n EUR: {\r\n _from: \"1999-01-01\"\r\n }\r\n }],\r\n GQ: [{\r\n GQE: {\r\n _from: \"1975-07-07\",\r\n _to: \"1986-06-01\"\r\n }\r\n }, {\r\n XAF: {\r\n _from: \"1993-01-01\"\r\n }\r\n }],\r\n GR: [{\r\n GRD: {\r\n _from: \"1954-05-01\",\r\n _to: \"2002-02-28\"\r\n }\r\n }, {\r\n EUR: {\r\n _from: \"2001-01-01\"\r\n }\r\n }],\r\n GS: [{\r\n GBP: {\r\n _from: \"1908-01-01\"\r\n }\r\n }],\r\n GT: [{\r\n GTQ: {\r\n _from: \"1925-05-27\"\r\n }\r\n }],\r\n GU: [{\r\n USD: {\r\n _from: \"1944-08-21\"\r\n }\r\n }],\r\n GW: [{\r\n GWE: {\r\n _from: \"1914-01-01\",\r\n _to: \"1976-02-28\"\r\n }\r\n }, {\r\n GWP: {\r\n _from: \"1976-02-28\",\r\n _to: \"1997-03-31\"\r\n }\r\n }, {\r\n XOF: {\r\n _from: \"1997-03-31\"\r\n }\r\n }],\r\n GY: [{\r\n GYD: {\r\n _from: \"1966-05-26\"\r\n }\r\n }],\r\n HK: [{\r\n HKD: {\r\n _from: \"1895-02-02\"\r\n }\r\n }],\r\n HM: [{\r\n AUD: {\r\n _from: \"1967-02-16\"\r\n }\r\n }],\r\n HN: [{\r\n HNL: {\r\n _from: \"1926-04-03\"\r\n }\r\n }],\r\n HR: [{\r\n YUD: {\r\n _from: \"1966-01-01\",\r\n _to: \"1990-01-01\"\r\n }\r\n }, {\r\n YUN: {\r\n _from: \"1990-01-01\",\r\n _to: \"1991-12-23\"\r\n }\r\n }, {\r\n HRD: {\r\n _from: \"1991-12-23\",\r\n _to: \"1995-01-01\"\r\n }\r\n }, {\r\n HRK: {\r\n _from: \"1994-05-30\"\r\n }\r\n }],\r\n HT: [{\r\n HTG: {\r\n _from: \"1872-08-26\"\r\n }\r\n }, {\r\n USD: {\r\n _from: \"1915-01-01\"\r\n }\r\n }],\r\n HU: [{\r\n HUF: {\r\n _from: \"1946-07-23\"\r\n }\r\n }],\r\n IC: [{\r\n EUR: {\r\n _from: \"1999-01-01\"\r\n }\r\n }],\r\n ID: [{\r\n IDR: {\r\n _from: \"1965-12-13\"\r\n }\r\n }],\r\n IE: [{\r\n GBP: {\r\n _from: \"1800-01-01\",\r\n _to: \"1922-01-01\"\r\n }\r\n }, {\r\n IEP: {\r\n _from: \"1922-01-01\",\r\n _to: \"2002-02-09\"\r\n }\r\n }, {\r\n EUR: {\r\n _from: \"1999-01-01\"\r\n }\r\n }],\r\n IL: [{\r\n ILP: {\r\n _from: \"1948-08-16\",\r\n _to: \"1980-02-22\"\r\n }\r\n }, {\r\n ILR: {\r\n _from: \"1980-02-22\",\r\n _to: \"1985-09-04\"\r\n }\r\n }, {\r\n ILS: {\r\n _from: \"1985-09-04\"\r\n }\r\n }],\r\n IM: [{\r\n GBP: {\r\n _from: \"1840-01-03\"\r\n }\r\n }],\r\n IN: [{\r\n INR: {\r\n _from: \"1835-08-17\"\r\n }\r\n }],\r\n IO: [{\r\n USD: {\r\n _from: \"1965-11-08\"\r\n }\r\n }],\r\n IQ: [{\r\n EGP: {\r\n _from: \"1920-11-11\",\r\n _to: \"1931-04-19\"\r\n }\r\n }, {\r\n INR: {\r\n _from: \"1920-11-11\",\r\n _to: \"1931-04-19\"\r\n }\r\n }, {\r\n IQD: {\r\n _from: \"1931-04-19\"\r\n }\r\n }],\r\n IR: [{\r\n IRR: {\r\n _from: \"1932-05-13\"\r\n }\r\n }],\r\n IS: [{\r\n DKK: {\r\n _from: \"1873-05-27\",\r\n _to: \"1918-12-01\"\r\n }\r\n }, {\r\n ISJ: {\r\n _from: \"1918-12-01\",\r\n _to: \"1981-01-01\"\r\n }\r\n }, {\r\n ISK: {\r\n _from: \"1981-01-01\"\r\n }\r\n }],\r\n IT: [{\r\n ITL: {\r\n _from: \"1862-08-24\",\r\n _to: \"2002-02-28\"\r\n }\r\n }, {\r\n EUR: {\r\n _from: \"1999-01-01\"\r\n }\r\n }],\r\n JE: [{\r\n GBP: {\r\n _from: \"1837-01-01\"\r\n }\r\n }],\r\n JM: [{\r\n JMD: {\r\n _from: \"1969-09-08\"\r\n }\r\n }],\r\n JO: [{\r\n JOD: {\r\n _from: \"1950-07-01\"\r\n }\r\n }],\r\n JP: [{\r\n JPY: {\r\n _from: \"1871-06-01\"\r\n }\r\n }],\r\n KE: [{\r\n KES: {\r\n _from: \"1966-09-14\"\r\n }\r\n }],\r\n KG: [{\r\n SUR: {\r\n _from: \"1961-01-01\",\r\n _to: \"1991-12-25\"\r\n }\r\n }, {\r\n RUR: {\r\n _from: \"1991-12-25\",\r\n _to: \"1993-05-10\"\r\n }\r\n }, {\r\n KGS: {\r\n _from: \"1993-05-10\"\r\n }\r\n }],\r\n KH: [{\r\n KHR: {\r\n _from: \"1980-03-20\"\r\n }\r\n }],\r\n KI: [{\r\n AUD: {\r\n _from: \"1966-02-14\"\r\n }\r\n }],\r\n KM: [{\r\n KMF: {\r\n _from: \"1975-07-06\"\r\n }\r\n }],\r\n KN: [{\r\n XCD: {\r\n _from: \"1965-10-06\"\r\n }\r\n }],\r\n KP: [{\r\n KPW: {\r\n _from: \"1959-04-17\"\r\n }\r\n }],\r\n KR: [{\r\n KRO: {\r\n _from: \"1945-08-15\",\r\n _to: \"1953-02-15\"\r\n }\r\n }, {\r\n KRH: {\r\n _from: \"1953-02-15\",\r\n _to: \"1962-06-10\"\r\n }\r\n }, {\r\n KRW: {\r\n _from: \"1962-06-10\"\r\n }\r\n }],\r\n KW: [{\r\n KWD: {\r\n _from: \"1961-04-01\"\r\n }\r\n }],\r\n KY: [{\r\n JMD: {\r\n _from: \"1969-09-08\",\r\n _to: \"1971-01-01\"\r\n }\r\n }, {\r\n KYD: {\r\n _from: \"1971-01-01\"\r\n }\r\n }],\r\n KZ: [{\r\n KZT: {\r\n _from: \"1993-11-05\"\r\n }\r\n }],\r\n LA: [{\r\n LAK: {\r\n _from: \"1979-12-10\"\r\n }\r\n }],\r\n LB: [{\r\n LBP: {\r\n _from: \"1948-02-02\"\r\n }\r\n }],\r\n LC: [{\r\n XCD: {\r\n _from: \"1965-10-06\"\r\n }\r\n }],\r\n LI: [{\r\n CHF: {\r\n _from: \"1921-02-01\"\r\n }\r\n }],\r\n LK: [{\r\n LKR: {\r\n _from: \"1978-05-22\"\r\n }\r\n }],\r\n LR: [{\r\n LRD: {\r\n _from: \"1944-01-01\"\r\n }\r\n }],\r\n LS: [{\r\n ZAR: {\r\n _from: \"1961-02-14\"\r\n }\r\n }, {\r\n LSL: {\r\n _from: \"1980-01-22\"\r\n }\r\n }],\r\n LT: [{\r\n SUR: {\r\n _from: \"1961-01-01\",\r\n _to: \"1992-10-01\"\r\n }\r\n }, {\r\n LTT: {\r\n _from: \"1992-10-01\",\r\n _to: \"1993-06-25\"\r\n }\r\n }, {\r\n LTL: {\r\n _from: \"1993-06-25\",\r\n _to: \"2014-12-31\"\r\n }\r\n }, {\r\n EUR: {\r\n _from: \"2015-01-01\"\r\n }\r\n }],\r\n LU: [{\r\n LUF: {\r\n _from: \"1944-09-04\",\r\n _to: \"2002-02-28\"\r\n }\r\n }, {\r\n LUC: {\r\n _tender: \"false\",\r\n _from: \"1970-01-01\",\r\n _to: \"1990-03-05\"\r\n }\r\n }, {\r\n LUL: {\r\n _tender: \"false\",\r\n _from: \"1970-01-01\",\r\n _to: \"1990-03-05\"\r\n }\r\n }, {\r\n EUR: {\r\n _from: \"1999-01-01\"\r\n }\r\n }],\r\n LV: [{\r\n SUR: {\r\n _from: \"1961-01-01\",\r\n _to: \"1992-07-20\"\r\n }\r\n }, {\r\n LVR: {\r\n _from: \"1992-05-07\",\r\n _to: \"1993-10-17\"\r\n }\r\n }, {\r\n LVL: {\r\n _from: \"1993-06-28\",\r\n _to: \"2013-12-31\"\r\n }\r\n }, {\r\n EUR: {\r\n _from: \"2014-01-01\"\r\n }\r\n }],\r\n LY: [{\r\n LYD: {\r\n _from: \"1971-09-01\"\r\n }\r\n }],\r\n MA: [{\r\n MAF: {\r\n _from: \"1881-01-01\",\r\n _to: \"1959-10-17\"\r\n }\r\n }, {\r\n MAD: {\r\n _from: \"1959-10-17\"\r\n }\r\n }],\r\n MC: [{\r\n FRF: {\r\n _from: \"1960-01-01\",\r\n _to: \"2002-02-17\"\r\n }\r\n }, {\r\n MCF: {\r\n _from: \"1960-01-01\",\r\n _to: \"2002-02-17\"\r\n }\r\n }, {\r\n EUR: {\r\n _from: \"1999-01-01\"\r\n }\r\n }],\r\n MD: [{\r\n MDC: {\r\n _from: \"1992-06-01\",\r\n _to: \"1993-11-29\"\r\n }\r\n }, {\r\n MDL: {\r\n _from: \"1993-11-29\"\r\n }\r\n }],\r\n ME: [{\r\n YUM: {\r\n _from: \"1994-01-24\",\r\n _to: \"2002-05-15\"\r\n }\r\n }, {\r\n DEM: {\r\n _from: \"1999-10-02\",\r\n _to: \"2002-05-15\"\r\n }\r\n }, {\r\n EUR: {\r\n _from: \"2002-01-01\"\r\n }\r\n }],\r\n MF: [{\r\n FRF: {\r\n _from: \"1960-01-01\",\r\n _to: \"2002-02-17\"\r\n }\r\n }, {\r\n EUR: {\r\n _from: \"1999-01-01\"\r\n }\r\n }],\r\n MG: [{\r\n MGF: {\r\n _from: \"1963-07-01\",\r\n _to: \"2004-12-31\"\r\n }\r\n }, {\r\n MGA: {\r\n _from: \"1983-11-01\"\r\n }\r\n }],\r\n MH: [{\r\n USD: {\r\n _from: \"1944-01-01\"\r\n }\r\n }],\r\n MK: [{\r\n MKN: {\r\n _from: \"1992-04-26\",\r\n _to: \"1993-05-20\"\r\n }\r\n }, {\r\n MKD: {\r\n _from: \"1993-05-20\"\r\n }\r\n }],\r\n ML: [{\r\n XOF: {\r\n _from: \"1958-11-24\",\r\n _to: \"1962-07-02\"\r\n }\r\n }, {\r\n MLF: {\r\n _from: \"1962-07-02\",\r\n _to: \"1984-08-31\"\r\n }\r\n }, {\r\n XOF: {\r\n _from: \"1984-06-01\"\r\n }\r\n }],\r\n MM: [{\r\n BUK: {\r\n _from: \"1952-07-01\",\r\n _to: \"1989-06-18\"\r\n }\r\n }, {\r\n MMK: {\r\n _from: \"1989-06-18\"\r\n }\r\n }],\r\n MN: [{\r\n MNT: {\r\n _from: \"1915-03-01\"\r\n }\r\n }],\r\n MO: [{\r\n MOP: {\r\n _from: \"1901-01-01\"\r\n }\r\n }],\r\n MP: [{\r\n USD: {\r\n _from: \"1944-01-01\"\r\n }\r\n }],\r\n MQ: [{\r\n FRF: {\r\n _from: \"1960-01-01\",\r\n _to: \"2002-02-17\"\r\n }\r\n }, {\r\n EUR: {\r\n _from: \"1999-01-01\"\r\n }\r\n }],\r\n MR: [{\r\n XOF: {\r\n _from: \"1958-11-28\",\r\n _to: \"1973-06-29\"\r\n }\r\n }, {\r\n MRO: {\r\n _from: \"1973-06-29\",\r\n _to: \"2018-06-30\"\r\n }\r\n }, {\r\n MRU: {\r\n _from: \"2018-01-01\"\r\n }\r\n }],\r\n MS: [{\r\n XCD: {\r\n _from: \"1967-02-27\"\r\n }\r\n }],\r\n MT: [{\r\n MTP: {\r\n _from: \"1914-08-13\",\r\n _to: \"1968-06-07\"\r\n }\r\n }, {\r\n MTL: {\r\n _from: \"1968-06-07\",\r\n _to: \"2008-01-31\"\r\n }\r\n }, {\r\n EUR: {\r\n _from: \"2008-01-01\"\r\n }\r\n }],\r\n MU: [{\r\n MUR: {\r\n _from: \"1934-04-01\"\r\n }\r\n }],\r\n MV: [{\r\n MVP: {\r\n _from: \"1947-01-01\",\r\n _to: \"1981-07-01\"\r\n }\r\n }, {\r\n MVR: {\r\n _from: \"1981-07-01\"\r\n }\r\n }],\r\n MW: [{\r\n MWK: {\r\n _from: \"1971-02-15\"\r\n }\r\n }],\r\n MX: [{\r\n MXV: {\r\n _tender: \"false\"\r\n }\r\n }, {\r\n MXP: {\r\n _from: \"1822-01-01\",\r\n _to: \"1992-12-31\"\r\n }\r\n }, {\r\n MXN: {\r\n _from: \"1993-01-01\"\r\n }\r\n }],\r\n MY: [{\r\n MYR: {\r\n _from: \"1963-09-16\"\r\n }\r\n }],\r\n MZ: [{\r\n MZE: {\r\n _from: \"1975-06-25\",\r\n _to: \"1980-06-16\"\r\n }\r\n }, {\r\n MZM: {\r\n _from: \"1980-06-16\",\r\n _to: \"2006-12-31\"\r\n }\r\n }, {\r\n MZN: {\r\n _from: \"2006-07-01\"\r\n }\r\n }],\r\n NA: [{\r\n ZAR: {\r\n _from: \"1961-02-14\"\r\n }\r\n }, {\r\n NAD: {\r\n _from: \"1993-01-01\"\r\n }\r\n }],\r\n NC: [{\r\n XPF: {\r\n _from: \"1985-01-01\"\r\n }\r\n }],\r\n NE: [{\r\n XOF: {\r\n _from: \"1958-12-19\"\r\n }\r\n }],\r\n NF: [{\r\n AUD: {\r\n _from: \"1966-02-14\"\r\n }\r\n }],\r\n NG: [{\r\n NGN: {\r\n _from: \"1973-01-01\"\r\n }\r\n }],\r\n NI: [{\r\n NIC: {\r\n _from: \"1988-02-15\",\r\n _to: \"1991-04-30\"\r\n }\r\n }, {\r\n NIO: {\r\n _from: \"1991-04-30\"\r\n }\r\n }],\r\n NL: [{\r\n NLG: {\r\n _from: \"1813-01-01\",\r\n _to: \"2002-02-28\"\r\n }\r\n }, {\r\n EUR: {\r\n _from: \"1999-01-01\"\r\n }\r\n }],\r\n NO: [{\r\n SEK: {\r\n _from: \"1873-05-27\",\r\n _to: \"1905-06-07\"\r\n }\r\n }, {\r\n NOK: {\r\n _from: \"1905-06-07\"\r\n }\r\n }],\r\n NP: [{\r\n INR: {\r\n _from: \"1870-01-01\",\r\n _to: \"1966-10-17\"\r\n }\r\n }, {\r\n NPR: {\r\n _from: \"1933-01-01\"\r\n }\r\n }],\r\n NR: [{\r\n AUD: {\r\n _from: \"1966-02-14\"\r\n }\r\n }],\r\n NU: [{\r\n NZD: {\r\n _from: \"1967-07-10\"\r\n }\r\n }],\r\n NZ: [{\r\n NZD: {\r\n _from: \"1967-07-10\"\r\n }\r\n }],\r\n OM: [{\r\n OMR: {\r\n _from: \"1972-11-11\"\r\n }\r\n }],\r\n PA: [{\r\n PAB: {\r\n _from: \"1903-11-04\"\r\n }\r\n }, {\r\n USD: {\r\n _from: \"1903-11-18\"\r\n }\r\n }],\r\n PE: [{\r\n PES: {\r\n _from: \"1863-02-14\",\r\n _to: \"1985-02-01\"\r\n }\r\n }, {\r\n PEI: {\r\n _from: \"1985-02-01\",\r\n _to: \"1991-07-01\"\r\n }\r\n }, {\r\n PEN: {\r\n _from: \"1991-07-01\"\r\n }\r\n }],\r\n PF: [{\r\n XPF: {\r\n _from: \"1945-12-26\"\r\n }\r\n }],\r\n PG: [{\r\n AUD: {\r\n _from: \"1966-02-14\",\r\n _to: \"1975-09-16\"\r\n }\r\n }, {\r\n PGK: {\r\n _from: \"1975-09-16\"\r\n }\r\n }],\r\n PH: [{\r\n PHP: {\r\n _from: \"1946-07-04\"\r\n }\r\n }],\r\n PK: [{\r\n INR: {\r\n _from: \"1835-08-17\",\r\n _to: \"1947-08-15\"\r\n }\r\n }, {\r\n PKR: {\r\n _from: \"1948-04-01\"\r\n }\r\n }],\r\n PL: [{\r\n PLZ: {\r\n _from: \"1950-10-28\",\r\n _to: \"1994-12-31\"\r\n }\r\n }, {\r\n PLN: {\r\n _from: \"1995-01-01\"\r\n }\r\n }],\r\n PM: [{\r\n FRF: {\r\n _from: \"1972-12-21\",\r\n _to: \"2002-02-17\"\r\n }\r\n }, {\r\n EUR: {\r\n _from: \"1999-01-01\"\r\n }\r\n }],\r\n PN: [{\r\n NZD: {\r\n _from: \"1969-01-13\"\r\n }\r\n }],\r\n PR: [{\r\n ESP: {\r\n _from: \"1800-01-01\",\r\n _to: \"1898-12-10\"\r\n }\r\n }, {\r\n USD: {\r\n _from: \"1898-12-10\"\r\n }\r\n }],\r\n PS: [{\r\n JOD: {\r\n _from: \"1950-07-01\",\r\n _to: \"1967-06-01\"\r\n }\r\n }, {\r\n ILP: {\r\n _from: \"1967-06-01\",\r\n _to: \"1980-02-22\"\r\n }\r\n }, {\r\n ILS: {\r\n _from: \"1985-09-04\"\r\n }\r\n }, {\r\n JOD: {\r\n _from: \"1996-02-12\"\r\n }\r\n }],\r\n PT: [{\r\n PTE: {\r\n _from: \"1911-05-22\",\r\n _to: \"2002-02-28\"\r\n }\r\n }, {\r\n EUR: {\r\n _from: \"1999-01-01\"\r\n }\r\n }],\r\n PW: [{\r\n USD: {\r\n _from: \"1944-01-01\"\r\n }\r\n }],\r\n PY: [{\r\n PYG: {\r\n _from: \"1943-11-01\"\r\n }\r\n }],\r\n QA: [{\r\n QAR: {\r\n _from: \"1973-05-19\"\r\n }\r\n }],\r\n RE: [{\r\n FRF: {\r\n _from: \"1975-01-01\",\r\n _to: \"2002-02-17\"\r\n }\r\n }, {\r\n EUR: {\r\n _from: \"1999-01-01\"\r\n }\r\n }],\r\n RO: [{\r\n ROL: {\r\n _from: \"1952-01-28\",\r\n _to: \"2006-12-31\"\r\n }\r\n }, {\r\n RON: {\r\n _from: \"2005-07-01\"\r\n }\r\n }],\r\n RS: [{\r\n YUM: {\r\n _from: \"1994-01-24\",\r\n _to: \"2002-05-15\"\r\n }\r\n }, {\r\n CSD: {\r\n _from: \"2002-05-15\",\r\n _to: \"2006-10-25\"\r\n }\r\n }, {\r\n RSD: {\r\n _from: \"2006-10-25\"\r\n }\r\n }],\r\n RU: [{\r\n RUR: {\r\n _from: \"1991-12-25\",\r\n _to: \"1998-12-31\"\r\n }\r\n }, {\r\n RUB: {\r\n _from: \"1999-01-01\"\r\n }\r\n }],\r\n RW: [{\r\n RWF: {\r\n _from: \"1964-05-19\"\r\n }\r\n }],\r\n SA: [{\r\n SAR: {\r\n _from: \"1952-10-22\"\r\n }\r\n }],\r\n SB: [{\r\n AUD: {\r\n _from: \"1966-02-14\",\r\n _to: \"1978-06-30\"\r\n }\r\n }, {\r\n SBD: {\r\n _from: \"1977-10-24\"\r\n }\r\n }],\r\n SC: [{\r\n SCR: {\r\n _from: \"1903-11-01\"\r\n }\r\n }],\r\n SD: [{\r\n EGP: {\r\n _from: \"1889-01-19\",\r\n _to: \"1958-01-01\"\r\n }\r\n }, {\r\n GBP: {\r\n _from: \"1889-01-19\",\r\n _to: \"1958-01-01\"\r\n }\r\n }, {\r\n SDP: {\r\n _from: \"1957-04-08\",\r\n _to: \"1998-06-01\"\r\n }\r\n }, {\r\n SDD: {\r\n _from: \"1992-06-08\",\r\n _to: \"2007-06-30\"\r\n }\r\n }, {\r\n SDG: {\r\n _from: \"2007-01-10\"\r\n }\r\n }],\r\n SE: [{\r\n SEK: {\r\n _from: \"1873-05-27\"\r\n }\r\n }],\r\n SG: [{\r\n MYR: {\r\n _from: \"1963-09-16\",\r\n _to: \"1967-06-12\"\r\n }\r\n }, {\r\n SGD: {\r\n _from: \"1967-06-12\"\r\n }\r\n }],\r\n SH: [{\r\n SHP: {\r\n _from: \"1917-02-15\"\r\n }\r\n }],\r\n SI: [{\r\n SIT: {\r\n _from: \"1992-10-07\",\r\n _to: \"2007-01-14\"\r\n }\r\n }, {\r\n EUR: {\r\n _from: \"2007-01-01\"\r\n }\r\n }],\r\n SJ: [{\r\n NOK: {\r\n _from: \"1905-06-07\"\r\n }\r\n }],\r\n SK: [{\r\n CSK: {\r\n _from: \"1953-06-01\",\r\n _to: \"1992-12-31\"\r\n }\r\n }, {\r\n SKK: {\r\n _from: \"1992-12-31\",\r\n _to: \"2009-01-01\"\r\n }\r\n }, {\r\n EUR: {\r\n _from: \"2009-01-01\"\r\n }\r\n }],\r\n SL: [{\r\n GBP: {\r\n _from: \"1808-11-30\",\r\n _to: \"1966-02-04\"\r\n }\r\n }, {\r\n SLL: {\r\n _from: \"1964-08-04\"\r\n }\r\n }],\r\n SM: [{\r\n ITL: {\r\n _from: \"1865-12-23\",\r\n _to: \"2001-02-28\"\r\n }\r\n }, {\r\n EUR: {\r\n _from: \"1999-01-01\"\r\n }\r\n }],\r\n SN: [{\r\n XOF: {\r\n _from: \"1959-04-04\"\r\n }\r\n }],\r\n SO: [{\r\n SOS: {\r\n _from: \"1960-07-01\"\r\n }\r\n }],\r\n SR: [{\r\n NLG: {\r\n _from: \"1815-11-20\",\r\n _to: \"1940-05-10\"\r\n }\r\n }, {\r\n SRG: {\r\n _from: \"1940-05-10\",\r\n _to: \"2003-12-31\"\r\n }\r\n }, {\r\n SRD: {\r\n _from: \"2004-01-01\"\r\n }\r\n }],\r\n SS: [{\r\n SDG: {\r\n _from: \"2007-01-10\",\r\n _to: \"2011-09-01\"\r\n }\r\n }, {\r\n SSP: {\r\n _from: \"2011-07-18\"\r\n }\r\n }],\r\n ST: [{\r\n STD: {\r\n _from: \"1977-09-08\",\r\n _to: \"2017-12-31\"\r\n }\r\n }, {\r\n STN: {\r\n _from: \"2018-01-01\"\r\n }\r\n }],\r\n SU: [{\r\n SUR: {\r\n _from: \"1961-01-01\",\r\n _to: \"1991-12-25\"\r\n }\r\n }],\r\n SV: [{\r\n SVC: {\r\n _from: \"1919-11-11\",\r\n _to: \"2001-01-01\"\r\n }\r\n }, {\r\n USD: {\r\n _from: \"2001-01-01\"\r\n }\r\n }],\r\n SX: [{\r\n ANG: {\r\n _from: \"2010-10-10\"\r\n }\r\n }],\r\n SY: [{\r\n SYP: {\r\n _from: \"1948-01-01\"\r\n }\r\n }],\r\n SZ: [{\r\n SZL: {\r\n _from: \"1974-09-06\"\r\n }\r\n }],\r\n TA: [{\r\n GBP: {\r\n _from: \"1938-01-12\"\r\n }\r\n }],\r\n TC: [{\r\n USD: {\r\n _from: \"1969-09-08\"\r\n }\r\n }],\r\n TD: [{\r\n XAF: {\r\n _from: \"1993-01-01\"\r\n }\r\n }],\r\n TF: [{\r\n FRF: {\r\n _from: \"1959-01-01\",\r\n _to: \"2002-02-17\"\r\n }\r\n }, {\r\n EUR: {\r\n _from: \"1999-01-01\"\r\n }\r\n }],\r\n TG: [{\r\n XOF: {\r\n _from: \"1958-11-28\"\r\n }\r\n }],\r\n TH: [{\r\n THB: {\r\n _from: \"1928-04-15\"\r\n }\r\n }],\r\n TJ: [{\r\n RUR: {\r\n _from: \"1991-12-25\",\r\n _to: \"1995-05-10\"\r\n }\r\n }, {\r\n TJR: {\r\n _from: \"1995-05-10\",\r\n _to: \"2000-10-25\"\r\n }\r\n }, {\r\n TJS: {\r\n _from: \"2000-10-26\"\r\n }\r\n }],\r\n TK: [{\r\n NZD: {\r\n _from: \"1967-07-10\"\r\n }\r\n }],\r\n TL: [{\r\n TPE: {\r\n _from: \"1959-01-02\",\r\n _to: \"2002-05-20\"\r\n }\r\n }, {\r\n IDR: {\r\n _from: \"1975-12-07\",\r\n _to: \"2002-05-20\"\r\n }\r\n }, {\r\n USD: {\r\n _from: \"1999-10-20\"\r\n }\r\n }],\r\n TM: [{\r\n SUR: {\r\n _from: \"1961-01-01\",\r\n _to: \"1991-12-25\"\r\n }\r\n }, {\r\n RUR: {\r\n _from: \"1991-12-25\",\r\n _to: \"1993-11-01\"\r\n }\r\n }, {\r\n TMM: {\r\n _from: \"1993-11-01\",\r\n _to: \"2009-01-01\"\r\n }\r\n }, {\r\n TMT: {\r\n _from: \"2009-01-01\"\r\n }\r\n }],\r\n TN: [{\r\n TND: {\r\n _from: \"1958-11-01\"\r\n }\r\n }],\r\n TO: [{\r\n TOP: {\r\n _from: \"1966-02-14\"\r\n }\r\n }],\r\n TP: [{\r\n TPE: {\r\n _from: \"1959-01-02\",\r\n _to: \"2002-05-20\"\r\n }\r\n }, {\r\n IDR: {\r\n _from: \"1975-12-07\",\r\n _to: \"2002-05-20\"\r\n }\r\n }],\r\n TR: [{\r\n TRL: {\r\n _from: \"1922-11-01\",\r\n _to: \"2005-12-31\"\r\n }\r\n }, {\r\n TRY: {\r\n _from: \"2005-01-01\"\r\n }\r\n }],\r\n TT: [{\r\n TTD: {\r\n _from: \"1964-01-01\"\r\n }\r\n }],\r\n TV: [{\r\n AUD: {\r\n _from: \"1966-02-14\"\r\n }\r\n }],\r\n TW: [{\r\n TWD: {\r\n _from: \"1949-06-15\"\r\n }\r\n }],\r\n TZ: [{\r\n TZS: {\r\n _from: \"1966-06-14\"\r\n }\r\n }],\r\n UA: [{\r\n SUR: {\r\n _from: \"1961-01-01\",\r\n _to: \"1991-12-25\"\r\n }\r\n }, {\r\n RUR: {\r\n _from: \"1991-12-25\",\r\n _to: \"1992-11-13\"\r\n }\r\n }, {\r\n UAK: {\r\n _from: \"1992-11-13\",\r\n _to: \"1993-10-17\"\r\n }\r\n }, {\r\n UAH: {\r\n _from: \"1996-09-02\"\r\n }\r\n }],\r\n UG: [{\r\n UGS: {\r\n _from: \"1966-08-15\",\r\n _to: \"1987-05-15\"\r\n }\r\n }, {\r\n UGX: {\r\n _from: \"1987-05-15\"\r\n }\r\n }],\r\n UM: [{\r\n USD: {\r\n _from: \"1944-01-01\"\r\n }\r\n }],\r\n US: [{\r\n USN: {\r\n _tender: \"false\"\r\n }\r\n }, {\r\n USS: {\r\n _tender: \"false\",\r\n _to: \"2014-03-01\"\r\n }\r\n }, {\r\n USD: {\r\n _from: \"1792-01-01\"\r\n }\r\n }],\r\n UY: [{\r\n UYI: {\r\n _tender: \"false\"\r\n }\r\n }, {\r\n UYW: {\r\n _tender: \"false\"\r\n }\r\n }, {\r\n UYP: {\r\n _from: \"1975-07-01\",\r\n _to: \"1993-03-01\"\r\n }\r\n }, {\r\n UYU: {\r\n _from: \"1993-03-01\"\r\n }\r\n }],\r\n UZ: [{\r\n UZS: {\r\n _from: \"1994-07-01\"\r\n }\r\n }],\r\n VA: [{\r\n ITL: {\r\n _from: \"1870-10-19\",\r\n _to: \"2002-02-28\"\r\n }\r\n }, {\r\n EUR: {\r\n _from: \"1999-01-01\"\r\n }\r\n }],\r\n VC: [{\r\n XCD: {\r\n _from: \"1965-10-06\"\r\n }\r\n }],\r\n VE: [{\r\n VEB: {\r\n _from: \"1871-05-11\",\r\n _to: \"2008-06-30\"\r\n }\r\n }, {\r\n VEF: {\r\n _from: \"2008-01-01\",\r\n _to: \"2018-08-20\"\r\n }\r\n }, {\r\n VES: {\r\n _from: \"2018-08-20\"\r\n }\r\n }],\r\n VG: [{\r\n USD: {\r\n _from: \"1833-01-01\"\r\n }\r\n }, {\r\n GBP: {\r\n _from: \"1833-01-01\",\r\n _to: \"1959-01-01\"\r\n }\r\n }],\r\n VI: [{\r\n USD: {\r\n _from: \"1837-01-01\"\r\n }\r\n }],\r\n VN: [{\r\n VNN: {\r\n _from: \"1978-05-03\",\r\n _to: \"1985-09-14\"\r\n }\r\n }, {\r\n VND: {\r\n _from: \"1985-09-14\"\r\n }\r\n }],\r\n VU: [{\r\n VUV: {\r\n _from: \"1981-01-01\"\r\n }\r\n }],\r\n WF: [{\r\n XPF: {\r\n _from: \"1961-07-30\"\r\n }\r\n }],\r\n WS: [{\r\n WST: {\r\n _from: \"1967-07-10\"\r\n }\r\n }],\r\n XK: [{\r\n YUM: {\r\n _from: \"1994-01-24\",\r\n _to: \"1999-09-30\"\r\n }\r\n }, {\r\n DEM: {\r\n _from: \"1999-09-01\",\r\n _to: \"2002-03-09\"\r\n }\r\n }, {\r\n EUR: {\r\n _from: \"2002-01-01\"\r\n }\r\n }],\r\n YD: [{\r\n YDD: {\r\n _from: \"1965-04-01\",\r\n _to: \"1996-01-01\"\r\n }\r\n }],\r\n YE: [{\r\n YER: {\r\n _from: \"1990-05-22\"\r\n }\r\n }],\r\n YT: [{\r\n KMF: {\r\n _from: \"1975-01-01\",\r\n _to: \"1976-02-23\"\r\n }\r\n }, {\r\n FRF: {\r\n _from: \"1976-02-23\",\r\n _to: \"2002-02-17\"\r\n }\r\n }, {\r\n EUR: {\r\n _from: \"1999-01-01\"\r\n }\r\n }],\r\n YU: [{\r\n YUD: {\r\n _from: \"1966-01-01\",\r\n _to: \"1990-01-01\"\r\n }\r\n }, {\r\n YUN: {\r\n _from: \"1990-01-01\",\r\n _to: \"1992-07-24\"\r\n }\r\n }, {\r\n YUM: {\r\n _from: \"1994-01-24\",\r\n _to: \"2002-05-15\"\r\n }\r\n }],\r\n ZA: [{\r\n ZAR: {\r\n _from: \"1961-02-14\"\r\n }\r\n }, {\r\n ZAL: {\r\n _tender: \"false\",\r\n _from: \"1985-09-01\",\r\n _to: \"1995-03-13\"\r\n }\r\n }],\r\n ZM: [{\r\n ZMK: {\r\n _from: \"1968-01-16\",\r\n _to: \"2013-01-01\"\r\n }\r\n }, {\r\n ZMW: {\r\n _from: \"2013-01-01\"\r\n }\r\n }],\r\n ZR: [{\r\n ZRZ: {\r\n _from: \"1971-10-27\",\r\n _to: \"1993-11-01\"\r\n }\r\n }, {\r\n ZRN: {\r\n _from: \"1993-11-01\",\r\n _to: \"1998-07-31\"\r\n }\r\n }],\r\n ZW: [{\r\n RHD: {\r\n _from: \"1970-02-17\",\r\n _to: \"1980-04-18\"\r\n }\r\n }, {\r\n ZWD: {\r\n _from: \"1980-04-18\",\r\n _to: \"2008-08-01\"\r\n }\r\n }, {\r\n ZWR: {\r\n _from: \"2008-08-01\",\r\n _to: \"2009-02-02\"\r\n }\r\n }, {\r\n ZWL: {\r\n _from: \"2009-02-02\",\r\n _to: \"2009-04-12\"\r\n }\r\n }, {\r\n USD: {\r\n _from: \"2009-04-12\"\r\n }\r\n }],\r\n ZZ: [{\r\n XAG: {\r\n _tender: \"false\"\r\n }\r\n }, {\r\n XAU: {\r\n _tender: \"false\"\r\n }\r\n }, {\r\n XBA: {\r\n _tender: \"false\"\r\n }\r\n }, {\r\n XBB: {\r\n _tender: \"false\"\r\n }\r\n }, {\r\n XBC: {\r\n _tender: \"false\"\r\n }\r\n }, {\r\n XBD: {\r\n _tender: \"false\"\r\n }\r\n }, {\r\n XDR: {\r\n _tender: \"false\"\r\n }\r\n }, {\r\n XPD: {\r\n _tender: \"false\"\r\n }\r\n }, {\r\n XPT: {\r\n _tender: \"false\"\r\n }\r\n }, {\r\n XSU: {\r\n _tender: \"false\"\r\n }\r\n }, {\r\n XTS: {\r\n _tender: \"false\"\r\n }\r\n }, {\r\n XUA: {\r\n _tender: \"false\"\r\n }\r\n }, {\r\n XXX: {\r\n _tender: \"false\"\r\n }\r\n }, {\r\n XRE: {\r\n _tender: \"false\",\r\n _to: \"1999-11-30\"\r\n }\r\n }, {\r\n XFU: {\r\n _tender: \"false\",\r\n _to: \"2013-11-30\"\r\n }\r\n }, {\r\n XFO: {\r\n _tender: \"false\",\r\n _from: \"1930-01-01\",\r\n _to: \"2003-04-01\"\r\n }\r\n }]\r\n }\r\n },\r\n numberingSystems: {\r\n adlm: {\r\n _digits: \"\\ud83a\\udd50\\ud83a\\udd51\\ud83a\\udd52\\ud83a\\udd53\\ud83a\\udd54\\ud83a\\udd55\\ud83a\\udd56\\ud83a\\udd57\\ud83a\\udd58\\ud83a\\udd59\",\r\n _type: \"numeric\"\r\n },\r\n ahom: {\r\n _digits: \"\\ud805\\udf30\\ud805\\udf31\\ud805\\udf32\\ud805\\udf33\\ud805\\udf34\\ud805\\udf35\\ud805\\udf36\\ud805\\udf37\\ud805\\udf38\\ud805\\udf39\",\r\n _type: \"numeric\"\r\n },\r\n arab: {\r\n _digits: \"\\u0660\\u0661\\u0662\\u0663\\u0664\\u0665\\u0666\\u0667\\u0668\\u0669\",\r\n _type: \"numeric\"\r\n },\r\n arabext: {\r\n _digits: \"\\u06f0\\u06f1\\u06f2\\u06f3\\u06f4\\u06f5\\u06f6\\u06f7\\u06f8\\u06f9\",\r\n _type: \"numeric\"\r\n },\r\n armn: {\r\n _rules: \"armenian-upper\",\r\n _type: \"algorithmic\"\r\n },\r\n armnlow: {\r\n _rules: \"armenian-lower\",\r\n _type: \"algorithmic\"\r\n },\r\n bali: {\r\n _digits: \"\\u1b50\\u1b51\\u1b52\\u1b53\\u1b54\\u1b55\\u1b56\\u1b57\\u1b58\\u1b59\",\r\n _type: \"numeric\"\r\n },\r\n beng: {\r\n _digits: \"\\u09e6\\u09e7\\u09e8\\u09e9\\u09ea\\u09eb\\u09ec\\u09ed\\u09ee\\u09ef\",\r\n _type: \"numeric\"\r\n },\r\n bhks: {\r\n _digits: \"\\ud807\\udc50\\ud807\\udc51\\ud807\\udc52\\ud807\\udc53\\ud807\\udc54\\ud807\\udc55\\ud807\\udc56\\ud807\\udc57\\ud807\\udc58\\ud807\\udc59\",\r\n _type: \"numeric\"\r\n },\r\n brah: {\r\n _digits: \"\\ud804\\udc66\\ud804\\udc67\\ud804\\udc68\\ud804\\udc69\\ud804\\udc6a\\ud804\\udc6b\\ud804\\udc6c\\ud804\\udc6d\\ud804\\udc6e\\ud804\\udc6f\",\r\n _type: \"numeric\"\r\n },\r\n cakm: {\r\n _digits: \"\\ud804\\udd36\\ud804\\udd37\\ud804\\udd38\\ud804\\udd39\\ud804\\udd3a\\ud804\\udd3b\\ud804\\udd3c\\ud804\\udd3d\\ud804\\udd3e\\ud804\\udd3f\",\r\n _type: \"numeric\"\r\n },\r\n cham: {\r\n _digits: \"\\uaa50\\uaa51\\uaa52\\uaa53\\uaa54\\uaa55\\uaa56\\uaa57\\uaa58\\uaa59\",\r\n _type: \"numeric\"\r\n },\r\n cyrl: {\r\n _rules: \"cyrillic-lower\",\r\n _type: \"algorithmic\"\r\n },\r\n deva: {\r\n _digits: \"\\u0966\\u0967\\u0968\\u0969\\u096a\\u096b\\u096c\\u096d\\u096e\\u096f\",\r\n _type: \"numeric\"\r\n },\r\n ethi: {\r\n _rules: \"ethiopic\",\r\n _type: \"algorithmic\"\r\n },\r\n fullwide: {\r\n _digits: \"\\uff10\\uff11\\uff12\\uff13\\uff14\\uff15\\uff16\\uff17\\uff18\\uff19\",\r\n _type: \"numeric\"\r\n },\r\n geor: {\r\n _rules: \"georgian\",\r\n _type: \"algorithmic\"\r\n },\r\n gong: {\r\n _digits: \"\\ud807\\udda0\\ud807\\udda1\\ud807\\udda2\\ud807\\udda3\\ud807\\udda4\\ud807\\udda5\\ud807\\udda6\\ud807\\udda7\\ud807\\udda8\\ud807\\udda9\",\r\n _type: \"numeric\"\r\n },\r\n gonm: {\r\n _digits: \"\\ud807\\udd50\\ud807\\udd51\\ud807\\udd52\\ud807\\udd53\\ud807\\udd54\\ud807\\udd55\\ud807\\udd56\\ud807\\udd57\\ud807\\udd58\\ud807\\udd59\",\r\n _type: \"numeric\"\r\n },\r\n grek: {\r\n _rules: \"greek-upper\",\r\n _type: \"algorithmic\"\r\n },\r\n greklow: {\r\n _rules: \"greek-lower\",\r\n _type: \"algorithmic\"\r\n },\r\n gujr: {\r\n _digits: \"\\u0ae6\\u0ae7\\u0ae8\\u0ae9\\u0aea\\u0aeb\\u0aec\\u0aed\\u0aee\\u0aef\",\r\n _type: \"numeric\"\r\n },\r\n guru: {\r\n _digits: \"\\u0a66\\u0a67\\u0a68\\u0a69\\u0a6a\\u0a6b\\u0a6c\\u0a6d\\u0a6e\\u0a6f\",\r\n _type: \"numeric\"\r\n },\r\n hanidays: {\r\n _rules: \"zh/SpelloutRules/spellout-numbering-days\",\r\n _type: \"algorithmic\"\r\n },\r\n hanidec: {\r\n _digits: \"\\u3007\\u4e00\\u4e8c\\u4e09\\u56db\\u4e94\\u516d\\u4e03\\u516b\\u4e5d\",\r\n _type: \"numeric\"\r\n },\r\n hans: {\r\n _rules: \"zh/SpelloutRules/spellout-cardinal\",\r\n _type: \"algorithmic\"\r\n },\r\n hansfin: {\r\n _rules: \"zh/SpelloutRules/spellout-cardinal-financial\",\r\n _type: \"algorithmic\"\r\n },\r\n hant: {\r\n _rules: \"zh_Hant/SpelloutRules/spellout-cardinal\",\r\n _type: \"algorithmic\"\r\n },\r\n hantfin: {\r\n _rules: \"zh_Hant/SpelloutRules/spellout-cardinal-financial\",\r\n _type: \"algorithmic\"\r\n },\r\n hebr: {\r\n _rules: \"hebrew\",\r\n _type: \"algorithmic\"\r\n },\r\n hmng: {\r\n _digits: \"\\ud81a\\udf50\\ud81a\\udf51\\ud81a\\udf52\\ud81a\\udf53\\ud81a\\udf54\\ud81a\\udf55\\ud81a\\udf56\\ud81a\\udf57\\ud81a\\udf58\\ud81a\\udf59\",\r\n _type: \"numeric\"\r\n },\r\n hmnp: {\r\n _digits: \"\\ud838\\udd40\\ud838\\udd41\\ud838\\udd42\\ud838\\udd43\\ud838\\udd44\\ud838\\udd45\\ud838\\udd46\\ud838\\udd47\\ud838\\udd48\\ud838\\udd49\",\r\n _type: \"numeric\"\r\n },\r\n java: {\r\n _digits: \"\\ua9d0\\ua9d1\\ua9d2\\ua9d3\\ua9d4\\ua9d5\\ua9d6\\ua9d7\\ua9d8\\ua9d9\",\r\n _type: \"numeric\"\r\n },\r\n jpan: {\r\n _rules: \"ja/SpelloutRules/spellout-cardinal\",\r\n _type: \"algorithmic\"\r\n },\r\n jpanfin: {\r\n _rules: \"ja/SpelloutRules/spellout-cardinal-financial\",\r\n _type: \"algorithmic\"\r\n },\r\n jpanyear: {\r\n _rules: \"ja/SpelloutRules/spellout-numbering-year-latn\",\r\n _type: \"algorithmic\"\r\n },\r\n kali: {\r\n _digits: \"\\ua900\\ua901\\ua902\\ua903\\ua904\\ua905\\ua906\\ua907\\ua908\\ua909\",\r\n _type: \"numeric\"\r\n },\r\n khmr: {\r\n _digits: \"\\u17e0\\u17e1\\u17e2\\u17e3\\u17e4\\u17e5\\u17e6\\u17e7\\u17e8\\u17e9\",\r\n _type: \"numeric\"\r\n },\r\n knda: {\r\n _digits: \"\\u0ce6\\u0ce7\\u0ce8\\u0ce9\\u0cea\\u0ceb\\u0cec\\u0ced\\u0cee\\u0cef\",\r\n _type: \"numeric\"\r\n },\r\n lana: {\r\n _digits: \"\\u1a80\\u1a81\\u1a82\\u1a83\\u1a84\\u1a85\\u1a86\\u1a87\\u1a88\\u1a89\",\r\n _type: \"numeric\"\r\n },\r\n lanatham: {\r\n _digits: \"\\u1a90\\u1a91\\u1a92\\u1a93\\u1a94\\u1a95\\u1a96\\u1a97\\u1a98\\u1a99\",\r\n _type: \"numeric\"\r\n },\r\n laoo: {\r\n _digits: \"\\u0ed0\\u0ed1\\u0ed2\\u0ed3\\u0ed4\\u0ed5\\u0ed6\\u0ed7\\u0ed8\\u0ed9\",\r\n _type: \"numeric\"\r\n },\r\n latn: {\r\n _digits: \"0123456789\",\r\n _type: \"numeric\"\r\n },\r\n lepc: {\r\n _digits: \"\\u1c40\\u1c41\\u1c42\\u1c43\\u1c44\\u1c45\\u1c46\\u1c47\\u1c48\\u1c49\",\r\n _type: \"numeric\"\r\n },\r\n limb: {\r\n _digits: \"\\u1946\\u1947\\u1948\\u1949\\u194a\\u194b\\u194c\\u194d\\u194e\\u194f\",\r\n _type: \"numeric\"\r\n },\r\n mathbold: {\r\n _digits: \"\\ud835\\udfce\\ud835\\udfcf\\ud835\\udfd0\\ud835\\udfd1\\ud835\\udfd2\\ud835\\udfd3\\ud835\\udfd4\\ud835\\udfd5\\ud835\\udfd6\\ud835\\udfd7\",\r\n _type: \"numeric\"\r\n },\r\n mathdbl: {\r\n _digits: \"\\ud835\\udfd8\\ud835\\udfd9\\ud835\\udfda\\ud835\\udfdb\\ud835\\udfdc\\ud835\\udfdd\\ud835\\udfde\\ud835\\udfdf\\ud835\\udfe0\\ud835\\udfe1\",\r\n _type: \"numeric\"\r\n },\r\n mathmono: {\r\n _digits: \"\\ud835\\udff6\\ud835\\udff7\\ud835\\udff8\\ud835\\udff9\\ud835\\udffa\\ud835\\udffb\\ud835\\udffc\\ud835\\udffd\\ud835\\udffe\\ud835\\udfff\",\r\n _type: \"numeric\"\r\n },\r\n mathsanb: {\r\n _digits: \"\\ud835\\udfec\\ud835\\udfed\\ud835\\udfee\\ud835\\udfef\\ud835\\udff0\\ud835\\udff1\\ud835\\udff2\\ud835\\udff3\\ud835\\udff4\\ud835\\udff5\",\r\n _type: \"numeric\"\r\n },\r\n mathsans: {\r\n _digits: \"\\ud835\\udfe2\\ud835\\udfe3\\ud835\\udfe4\\ud835\\udfe5\\ud835\\udfe6\\ud835\\udfe7\\ud835\\udfe8\\ud835\\udfe9\\ud835\\udfea\\ud835\\udfeb\",\r\n _type: \"numeric\"\r\n },\r\n mlym: {\r\n _digits: \"\\u0d66\\u0d67\\u0d68\\u0d69\\u0d6a\\u0d6b\\u0d6c\\u0d6d\\u0d6e\\u0d6f\",\r\n _type: \"numeric\"\r\n },\r\n modi: {\r\n _digits: \"\\ud805\\ude50\\ud805\\ude51\\ud805\\ude52\\ud805\\ude53\\ud805\\ude54\\ud805\\ude55\\ud805\\ude56\\ud805\\ude57\\ud805\\ude58\\ud805\\ude59\",\r\n _type: \"numeric\"\r\n },\r\n mong: {\r\n _digits: \"\\u1810\\u1811\\u1812\\u1813\\u1814\\u1815\\u1816\\u1817\\u1818\\u1819\",\r\n _type: \"numeric\"\r\n },\r\n mroo: {\r\n _digits: \"\\ud81a\\ude60\\ud81a\\ude61\\ud81a\\ude62\\ud81a\\ude63\\ud81a\\ude64\\ud81a\\ude65\\ud81a\\ude66\\ud81a\\ude67\\ud81a\\ude68\\ud81a\\ude69\",\r\n _type: \"numeric\"\r\n },\r\n mtei: {\r\n _digits: \"\\uabf0\\uabf1\\uabf2\\uabf3\\uabf4\\uabf5\\uabf6\\uabf7\\uabf8\\uabf9\",\r\n _type: \"numeric\"\r\n },\r\n mymr: {\r\n _digits: \"\\u1040\\u1041\\u1042\\u1043\\u1044\\u1045\\u1046\\u1047\\u1048\\u1049\",\r\n _type: \"numeric\"\r\n },\r\n mymrshan: {\r\n _digits: \"\\u1090\\u1091\\u1092\\u1093\\u1094\\u1095\\u1096\\u1097\\u1098\\u1099\",\r\n _type: \"numeric\"\r\n },\r\n mymrtlng: {\r\n _digits: \"\\ua9f0\\ua9f1\\ua9f2\\ua9f3\\ua9f4\\ua9f5\\ua9f6\\ua9f7\\ua9f8\\ua9f9\",\r\n _type: \"numeric\"\r\n },\r\n newa: {\r\n _digits: \"\\ud805\\udc50\\ud805\\udc51\\ud805\\udc52\\ud805\\udc53\\ud805\\udc54\\ud805\\udc55\\ud805\\udc56\\ud805\\udc57\\ud805\\udc58\\ud805\\udc59\",\r\n _type: \"numeric\"\r\n },\r\n nkoo: {\r\n _digits: \"\\u07c0\\u07c1\\u07c2\\u07c3\\u07c4\\u07c5\\u07c6\\u07c7\\u07c8\\u07c9\",\r\n _type: \"numeric\"\r\n },\r\n olck: {\r\n _digits: \"\\u1c50\\u1c51\\u1c52\\u1c53\\u1c54\\u1c55\\u1c56\\u1c57\\u1c58\\u1c59\",\r\n _type: \"numeric\"\r\n },\r\n orya: {\r\n _digits: \"\\u0b66\\u0b67\\u0b68\\u0b69\\u0b6a\\u0b6b\\u0b6c\\u0b6d\\u0b6e\\u0b6f\",\r\n _type: \"numeric\"\r\n },\r\n osma: {\r\n _digits: \"\\ud801\\udca0\\ud801\\udca1\\ud801\\udca2\\ud801\\udca3\\ud801\\udca4\\ud801\\udca5\\ud801\\udca6\\ud801\\udca7\\ud801\\udca8\\ud801\\udca9\",\r\n _type: \"numeric\"\r\n },\r\n rohg: {\r\n _digits: \"\\ud803\\udd30\\ud803\\udd31\\ud803\\udd32\\ud803\\udd33\\ud803\\udd34\\ud803\\udd35\\ud803\\udd36\\ud803\\udd37\\ud803\\udd38\\ud803\\udd39\",\r\n _type: \"numeric\"\r\n },\r\n roman: {\r\n _rules: \"roman-upper\",\r\n _type: \"algorithmic\"\r\n },\r\n romanlow: {\r\n _rules: \"roman-lower\",\r\n _type: \"algorithmic\"\r\n },\r\n saur: {\r\n _digits: \"\\ua8d0\\ua8d1\\ua8d2\\ua8d3\\ua8d4\\ua8d5\\ua8d6\\ua8d7\\ua8d8\\ua8d9\",\r\n _type: \"numeric\"\r\n },\r\n shrd: {\r\n _digits: \"\\ud804\\uddd0\\ud804\\uddd1\\ud804\\uddd2\\ud804\\uddd3\\ud804\\uddd4\\ud804\\uddd5\\ud804\\uddd6\\ud804\\uddd7\\ud804\\uddd8\\ud804\\uddd9\",\r\n _type: \"numeric\"\r\n },\r\n sind: {\r\n _digits: \"\\ud804\\udef0\\ud804\\udef1\\ud804\\udef2\\ud804\\udef3\\ud804\\udef4\\ud804\\udef5\\ud804\\udef6\\ud804\\udef7\\ud804\\udef8\\ud804\\udef9\",\r\n _type: \"numeric\"\r\n },\r\n sinh: {\r\n _digits: \"\\u0de6\\u0de7\\u0de8\\u0de9\\u0dea\\u0deb\\u0dec\\u0ded\\u0dee\\u0def\",\r\n _type: \"numeric\"\r\n },\r\n sora: {\r\n _digits: \"\\ud804\\udcf0\\ud804\\udcf1\\ud804\\udcf2\\ud804\\udcf3\\ud804\\udcf4\\ud804\\udcf5\\ud804\\udcf6\\ud804\\udcf7\\ud804\\udcf8\\ud804\\udcf9\",\r\n _type: \"numeric\"\r\n },\r\n sund: {\r\n _digits: \"\\u1bb0\\u1bb1\\u1bb2\\u1bb3\\u1bb4\\u1bb5\\u1bb6\\u1bb7\\u1bb8\\u1bb9\",\r\n _type: \"numeric\"\r\n },\r\n takr: {\r\n _digits: \"\\ud805\\udec0\\ud805\\udec1\\ud805\\udec2\\ud805\\udec3\\ud805\\udec4\\ud805\\udec5\\ud805\\udec6\\ud805\\udec7\\ud805\\udec8\\ud805\\udec9\",\r\n _type: \"numeric\"\r\n },\r\n talu: {\r\n _digits: \"\\u19d0\\u19d1\\u19d2\\u19d3\\u19d4\\u19d5\\u19d6\\u19d7\\u19d8\\u19d9\",\r\n _type: \"numeric\"\r\n },\r\n taml: {\r\n _rules: \"tamil\",\r\n _type: \"algorithmic\"\r\n },\r\n tamldec: {\r\n _digits: \"\\u0be6\\u0be7\\u0be8\\u0be9\\u0bea\\u0beb\\u0bec\\u0bed\\u0bee\\u0bef\",\r\n _type: \"numeric\"\r\n },\r\n telu: {\r\n _digits: \"\\u0c66\\u0c67\\u0c68\\u0c69\\u0c6a\\u0c6b\\u0c6c\\u0c6d\\u0c6e\\u0c6f\",\r\n _type: \"numeric\"\r\n },\r\n thai: {\r\n _digits: \"\\u0e50\\u0e51\\u0e52\\u0e53\\u0e54\\u0e55\\u0e56\\u0e57\\u0e58\\u0e59\",\r\n _type: \"numeric\"\r\n },\r\n tibt: {\r\n _digits: \"\\u0f20\\u0f21\\u0f22\\u0f23\\u0f24\\u0f25\\u0f26\\u0f27\\u0f28\\u0f29\",\r\n _type: \"numeric\"\r\n },\r\n tirh: {\r\n _digits: \"\\ud805\\udcd0\\ud805\\udcd1\\ud805\\udcd2\\ud805\\udcd3\\ud805\\udcd4\\ud805\\udcd5\\ud805\\udcd6\\ud805\\udcd7\\ud805\\udcd8\\ud805\\udcd9\",\r\n _type: \"numeric\"\r\n },\r\n vaii: {\r\n _digits: \"\\ua620\\ua621\\ua622\\ua623\\ua624\\ua625\\ua626\\ua627\\ua628\\ua629\",\r\n _type: \"numeric\"\r\n },\r\n wara: {\r\n _digits: \"\\ud806\\udce0\\ud806\\udce1\\ud806\\udce2\\ud806\\udce3\\ud806\\udce4\\ud806\\udce5\\ud806\\udce6\\ud806\\udce7\\ud806\\udce8\\ud806\\udce9\",\r\n _type: \"numeric\"\r\n },\r\n wcho: {\r\n _digits: \"\\ud838\\udef0\\ud838\\udef1\\ud838\\udef2\\ud838\\udef3\\ud838\\udef4\\ud838\\udef5\\ud838\\udef6\\ud838\\udef7\\ud838\\udef8\\ud838\\udef9\",\r\n _type: \"numeric\"\r\n }\r\n }\r\n }\r\n};\r\nexports.supplementalCldr = supplementalCldr;\r\n","/**\r\n * DevExtreme (cjs/localization/core.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _dependency_injector = _interopRequireDefault(require(\"../core/utils/dependency_injector\"));\r\nvar _parent_locales = _interopRequireDefault(require(\"./cldr-data/parent_locales\"));\r\nvar _parentLocale = _interopRequireDefault(require(\"./parentLocale\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar DEFAULT_LOCALE = \"en\";\r\nvar _default = (0, _dependency_injector.default)({\r\n locale: function() {\r\n var currentLocale = DEFAULT_LOCALE;\r\n return function(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 = (0, _parentLocale.default)(_parent_locales.default, 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\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/localization/currency.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _extend = require(\"../core/utils/extend\");\r\nvar _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, (0, _extend.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\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/localization/date.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _dependency_injector = _interopRequireDefault(require(\"../core/utils/dependency_injector\"));\r\nvar _type = require(\"../core/utils/type\");\r\nvar _iterator = require(\"../core/utils/iterator\");\r\nvar _errors = _interopRequireDefault(require(\"../core/errors\"));\r\nvar _date = require(\"./ldml/date.formatter\");\r\nvar _date2 = require(\"./ldml/date.format\");\r\nvar _date3 = require(\"./ldml/date.parser\");\r\nvar _default_date_names = _interopRequireDefault(require(\"./default_date_names\"));\r\nvar _first_day_of_week_data = _interopRequireDefault(require(\"./cldr-data/first_day_of_week_data\"));\r\nvar _core = _interopRequireDefault(require(\"./core\"));\r\nvar _number = _interopRequireDefault(require(\"./number\"));\r\nvar _date4 = _interopRequireDefault(require(\"./intl/date\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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 = (0, _dependency_injector.default)({\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 (0, _iterator.each)(pattern.split(/\\W+/), (function(_, formatPart) {\r\n (0, _iterator.each)(possiblePartPatterns, (function(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 _default_date_names.default.getMonthNames(format)\r\n },\r\n getDayNames: function(format) {\r\n return _default_date_names.default.getDayNames(format)\r\n },\r\n getQuarterNames: function(format) {\r\n return _default_date_names.default.getQuarterNames(format)\r\n },\r\n getPeriodNames: function(format) {\r\n return _default_date_names.default.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 ((0, _type.isString)(_format)) {\r\n _format = FORMATS_TO_PATTERN_MAP[_format.toLowerCase()] || _format;\r\n return _number.default.convertDigits((0, _date.getFormatter)(_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 = function(value) {\r\n var text = that.format(value, format);\r\n return _number.default.convertDigits(text, true)\r\n };\r\n try {\r\n ldmlFormat = (0, _date2.getFormat)(formatter)\r\n } catch (e) {}\r\n }\r\n if (ldmlFormat) {\r\n text = _number.default.convertDigits(text, true);\r\n return (0, _date3.getParser)(ldmlFormat, this)(text)\r\n }\r\n _errors.default.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 = _core.default.getValueByClosestLocale((function(locale) {\r\n return _first_day_of_week_data.default[locale]\r\n }));\r\n return void 0 === index ? DEFAULT_DAY_OF_WEEK_INDEX : index\r\n }\r\n});\r\nif (hasIntl) {\r\n dateLocalization.inject(_date4.default)\r\n}\r\nvar _default = dateLocalization;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/localization/default_date_names.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _iterator = require(\"../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 = function(captions, format) {\r\n var lengthByFormat = {\r\n abbreviated: 3,\r\n short: 2,\r\n narrow: 1\r\n };\r\n return (0, _iterator.map)(captions, (function(caption) {\r\n return caption.substr(0, lengthByFormat[format])\r\n }))\r\n};\r\nvar _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\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/localization/default_messages.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.defaultMessages = void 0;\r\n// !!! AUTO-GENERATED FILE, DO NOT EDIT\r\nvar 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 \"dxDateRangeBox-invalidStartDateMessage\": \"Start value must be a date\",\r\n \"dxDateRangeBox-invalidEndDateMessage\": \"End value must be a date\",\r\n \"dxDateRangeBox-startDateOutOfRangeMessage\": \"Start date is out of range\",\r\n \"dxDateRangeBox-endDateOutOfRangeMessage\": \"End date is out of range\",\r\n \"dxDateRangeBox-startDateLabel\": \"Start Date\",\r\n \"dxDateRangeBox-endDateLabel\": \"End Date\",\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-emptyHeaderWithColumnChooserText\": \"Use {0} to display columns\",\r\n \"dxDataGrid-emptyHeaderWithGroupPanelText\": \"Drag a column from the group panel here\",\r\n \"dxDataGrid-emptyHeaderWithColumnChooserAndGroupPanelText\": \"Use {0} or drag a column from the group panel\",\r\n \"dxDataGrid-emptyHeaderColumnChooserText\": \"column chooser\",\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-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\",\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 \"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\nexports.defaultMessages = defaultMessages;\r\n","/**\r\n * DevExtreme (cjs/localization/globalize/core.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _globalize = _interopRequireDefault(require(\"globalize\"));\r\nvar _core = _interopRequireDefault(require(\"../core\"));\r\nvar _en = require(\"../cldr-data/en\");\r\nvar _supplemental = require(\"../cldr-data/supplemental\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nif (_globalize.default && _globalize.default.load) {\r\n if (!_globalize.default.locale()) {\r\n _globalize.default.load(_en.enCldr, _supplemental.supplementalCldr);\r\n _globalize.default.locale(\"en\")\r\n }\r\n _core.default.inject({\r\n locale: function(_locale) {\r\n if (!_locale) {\r\n return _globalize.default.locale().locale\r\n }\r\n _globalize.default.locale(_locale)\r\n }\r\n })\r\n}\r\n","/**\r\n * DevExtreme (cjs/localization/globalize/currency.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _open_xml_currency_format = _interopRequireDefault(require(\"../open_xml_currency_format\"));\r\nrequire(\"./core\");\r\nrequire(\"./number\");\r\nrequire(\"../currency\");\r\nrequire(\"globalize/currency\");\r\nvar _globalize = _interopRequireDefault(require(\"globalize\"));\r\nvar _config = _interopRequireDefault(require(\"../../core/config\"));\r\nvar _number2 = _interopRequireDefault(require(\"../number\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nvar CURRENCY_STYLES = [\"symbol\", \"accounting\"];\r\nif (_globalize.default && _globalize.default.formatCurrency) {\r\n if (\"en\" === _globalize.default.locale().locale) {\r\n _globalize.default.locale(\"en\")\r\n }\r\n var formattersCache = {};\r\n var getFormatter = function(currency, format) {\r\n var formatter;\r\n var formatCacheKey;\r\n if (\"object\" === _typeof(format)) {\r\n formatCacheKey = _globalize.default.locale().locale + \":\" + currency + \":\" + JSON.stringify(format)\r\n } else {\r\n formatCacheKey = _globalize.default.locale().locale + \":\" + currency + \":\" + format\r\n }\r\n formatter = formattersCache[formatCacheKey];\r\n if (!formatter) {\r\n formatter = formattersCache[formatCacheKey] = _globalize.default.currencyFormatter(currency, format)\r\n }\r\n return formatter\r\n };\r\n var globalizeCurrencyLocalization = {\r\n _formatNumberCore: function(value, format, formatConfig) {\r\n if (\"currency\" === format) {\r\n var currency = formatConfig && formatConfig.currency || (0, _config.default)().defaultCurrency;\r\n return getFormatter(currency, this._normalizeFormatConfig(format, formatConfig, value))(value)\r\n }\r\n return this.callBase.apply(this, arguments)\r\n },\r\n _normalizeFormatConfig: function(format, formatConfig, value) {\r\n var normalizedConfig = this.callBase(format, formatConfig, value);\r\n if (\"currency\" === format) {\r\n var _formatConfig$useCurr;\r\n var useAccountingStyle = null !== (_formatConfig$useCurr = formatConfig.useCurrencyAccountingStyle) && void 0 !== _formatConfig$useCurr ? _formatConfig$useCurr : (0, _config.default)().defaultUseCurrencyAccountingStyle;\r\n normalizedConfig.style = CURRENCY_STYLES[+useAccountingStyle]\r\n }\r\n return normalizedConfig\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 (_format) {\r\n if (\"default\" === _format.currency) {\r\n _format.currency = (0, _config.default)().defaultCurrency\r\n }\r\n if (\"currency\" === _format.type) {\r\n return this._formatNumber(value, this._parseNumberFormatString(\"currency\"), _format)\r\n } else if (!_format.type && _format.currency) {\r\n return getFormatter(_format.currency, _format)(value)\r\n }\r\n }\r\n return this.callBase.apply(this, arguments)\r\n },\r\n getCurrencySymbol: function(currency) {\r\n if (!currency) {\r\n currency = (0, _config.default)().defaultCurrency\r\n }\r\n return _globalize.default.cldr.main(\"numbers/currencies/\" + currency)\r\n },\r\n getOpenXmlCurrencyFormat: function(currency) {\r\n var currencySymbol = this.getCurrencySymbol(currency).symbol;\r\n var accountingFormat = _globalize.default.cldr.main(\"numbers/currencyFormats-numberSystem-latn\").accounting;\r\n return (0, _open_xml_currency_format.default)(currencySymbol, accountingFormat)\r\n }\r\n };\r\n _number2.default.inject(globalizeCurrencyLocalization)\r\n}\r\n","/**\r\n * DevExtreme (cjs/localization/globalize/date.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nrequire(\"./core\");\r\nrequire(\"./number\");\r\nrequire(\"globalize/date\");\r\nvar _globalize = _interopRequireDefault(require(\"globalize\"));\r\nvar _date2 = _interopRequireDefault(require(\"../date\"));\r\nvar _type = require(\"../../core/utils/type\");\r\nvar iteratorUtils = _interopRequireWildcard(require(\"../../core/utils/iterator\"));\r\n\r\nfunction _getRequireWildcardCache(nodeInterop) {\r\n if (\"function\" !== typeof WeakMap) {\r\n return null\r\n }\r\n var cacheBabelInterop = new WeakMap;\r\n var cacheNodeInterop = new WeakMap;\r\n return (_getRequireWildcardCache = function(nodeInterop) {\r\n return nodeInterop ? cacheNodeInterop : cacheBabelInterop\r\n })(nodeInterop)\r\n}\r\n\r\nfunction _interopRequireWildcard(obj, nodeInterop) {\r\n if (!nodeInterop && obj && obj.__esModule) {\r\n return obj\r\n }\r\n if (null === obj || \"object\" !== _typeof(obj) && \"function\" !== typeof obj) {\r\n return {\r\n default: obj\r\n }\r\n }\r\n var cache = _getRequireWildcardCache(nodeInterop);\r\n if (cache && cache.has(obj)) {\r\n return cache.get(obj)\r\n }\r\n var newObj = {};\r\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\r\n for (var key in obj) {\r\n if (\"default\" !== key && Object.prototype.hasOwnProperty.call(obj, key)) {\r\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\r\n if (desc && (desc.get || desc.set)) {\r\n Object.defineProperty(newObj, key, desc)\r\n } else {\r\n newObj[key] = obj[key]\r\n }\r\n }\r\n }\r\n newObj.default = obj;\r\n if (cache) {\r\n cache.set(obj, newObj)\r\n }\r\n return newObj\r\n}\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar ACCEPTABLE_JSON_FORMAT_PROPERTIES = [\"skeleton\", \"date\", \"time\", \"datetime\", \"raw\"];\r\nvar RTL_MARKS_REGEX = /[\\u200E\\u200F]/g;\r\nif (_globalize.default && _globalize.default.formatDate) {\r\n if (\"en\" === _globalize.default.locale().locale) {\r\n _globalize.default.locale(\"en\")\r\n }\r\n var formattersCache = {};\r\n var FORMATS_TO_GLOBALIZE_MAP = {\r\n shortdate: {\r\n path: \"dateTimeFormats/availableFormats/yMd\"\r\n },\r\n shorttime: {\r\n path: \"timeFormats/short\"\r\n },\r\n longdate: {\r\n path: \"dateFormats/full\"\r\n },\r\n longtime: {\r\n path: \"timeFormats/medium\"\r\n },\r\n monthandday: {\r\n path: \"dateTimeFormats/availableFormats/MMMMd\"\r\n },\r\n monthandyear: {\r\n path: \"dateTimeFormats/availableFormats/yMMMM\"\r\n },\r\n quarterandyear: {\r\n path: \"dateTimeFormats/availableFormats/yQQQ\"\r\n },\r\n day: {\r\n path: \"dateTimeFormats/availableFormats/d\"\r\n },\r\n year: {\r\n path: \"dateTimeFormats/availableFormats/y\"\r\n },\r\n shortdateshorttime: {\r\n path: \"dateTimeFormats/short\",\r\n parts: [\"shorttime\", \"shortdate\"]\r\n },\r\n longdatelongtime: {\r\n path: \"dateTimeFormats/medium\",\r\n parts: [\"longtime\", \"longdate\"]\r\n },\r\n month: {\r\n pattern: \"LLLL\"\r\n },\r\n shortyear: {\r\n pattern: \"yy\"\r\n },\r\n dayofweek: {\r\n pattern: \"EEEE\"\r\n },\r\n quarter: {\r\n pattern: \"QQQ\"\r\n },\r\n millisecond: {\r\n pattern: \"SSS\"\r\n },\r\n hour: {\r\n pattern: \"HH\"\r\n },\r\n minute: {\r\n pattern: \"mm\"\r\n },\r\n second: {\r\n pattern: \"ss\"\r\n }\r\n };\r\n var globalizeDateLocalization = {\r\n engine: function() {\r\n return \"globalize\"\r\n },\r\n _getPatternByFormat: function(format) {\r\n var that = this;\r\n var lowerFormat = format.toLowerCase();\r\n var globalizeFormat = FORMATS_TO_GLOBALIZE_MAP[lowerFormat];\r\n if (\"datetime-local\" === lowerFormat) {\r\n return \"yyyy-MM-ddTHH':'mm':'ss\"\r\n }\r\n if (!globalizeFormat) {\r\n return\r\n }\r\n var result = globalizeFormat.path && that._getFormatStringByPath(globalizeFormat.path) || globalizeFormat.pattern;\r\n if (globalizeFormat.parts) {\r\n iteratorUtils.each(globalizeFormat.parts, (function(index, part) {\r\n result = result.replace(\"{\" + index + \"}\", that._getPatternByFormat(part))\r\n }))\r\n }\r\n return result\r\n },\r\n _getFormatStringByPath: function(path) {\r\n return _globalize.default.locale().main(\"dates/calendars/gregorian/\" + path)\r\n },\r\n getPeriodNames: function(format, type) {\r\n format = format || \"wide\";\r\n type = \"format\" === type ? type : \"stand-alone\";\r\n var json = _globalize.default.locale().main(\"dates/calendars/gregorian/dayPeriods/\".concat(type, \"/\").concat(format));\r\n return [json.am, json.pm]\r\n },\r\n getMonthNames: function(format, type) {\r\n var months = _globalize.default.locale().main(\"dates/calendars/gregorian/months/\" + (\"format\" === type ? type : \"stand-alone\") + \"/\" + (format || \"wide\"));\r\n return iteratorUtils.map(months, (function(month) {\r\n return month\r\n }))\r\n },\r\n getDayNames: function(format) {\r\n var days = _globalize.default.locale().main(\"dates/calendars/gregorian/days/stand-alone/\" + (format || \"wide\"));\r\n return iteratorUtils.map(days, (function(day) {\r\n return day\r\n }))\r\n },\r\n getTimeSeparator: function() {\r\n return _globalize.default.locale().main(\"numbers/symbols-numberSystem-latn/timeSeparator\")\r\n },\r\n removeRtlMarks: function(text) {\r\n return text.replace(RTL_MARKS_REGEX, \"\")\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 var formatCacheKey;\r\n if (\"function\" === typeof _format) {\r\n return _format(date)\r\n }\r\n if (_format.formatter) {\r\n return _format.formatter(date)\r\n }\r\n _format = _format.type || _format;\r\n if (\"string\" === typeof _format) {\r\n formatCacheKey = _globalize.default.locale().locale + \":\" + _format;\r\n formatter = formattersCache[formatCacheKey];\r\n if (!formatter) {\r\n _format = {\r\n raw: this._getPatternByFormat(_format) || _format\r\n };\r\n formatter = formattersCache[formatCacheKey] = _globalize.default.dateFormatter(_format)\r\n }\r\n } else {\r\n if (!this._isAcceptableFormat(_format)) {\r\n return\r\n }\r\n formatter = _globalize.default.dateFormatter(_format)\r\n }\r\n return this.removeRtlMarks(formatter(date))\r\n },\r\n parse: function(text, format) {\r\n if (!text) {\r\n return\r\n }\r\n if (!format || \"function\" === typeof format || (0, _type.isObject)(format) && !this._isAcceptableFormat(format)) {\r\n if (format) {\r\n var parsedValue = this.callBase(text, format);\r\n if (parsedValue) {\r\n return parsedValue\r\n }\r\n }\r\n return _globalize.default.parseDate(text)\r\n }\r\n if (format.parser) {\r\n return format.parser(text)\r\n }\r\n if (\"string\" === typeof format) {\r\n format = {\r\n raw: this._getPatternByFormat(format) || format\r\n }\r\n }\r\n var parsedDate = _globalize.default.parseDate(text, format);\r\n return parsedDate ? parsedDate : this.callBase(text, format)\r\n },\r\n _isAcceptableFormat: function(format) {\r\n if (format.parser) {\r\n return true\r\n }\r\n for (var i = 0; i < ACCEPTABLE_JSON_FORMAT_PROPERTIES.length; i++) {\r\n if (Object.prototype.hasOwnProperty.call(format, ACCEPTABLE_JSON_FORMAT_PROPERTIES[i])) {\r\n return true\r\n }\r\n }\r\n },\r\n firstDayOfWeekIndex: function() {\r\n var firstDay = _globalize.default.locale().supplemental.weekData.firstDay();\r\n return this._getDayKeys().indexOf(firstDay)\r\n },\r\n _getDayKeys: function() {\r\n var days = _globalize.default.locale().main(\"dates/calendars/gregorian/days/format/short\");\r\n return iteratorUtils.map(days, (function(day, key) {\r\n return key\r\n }))\r\n }\r\n };\r\n _date2.default.resetInjection();\r\n _date2.default.inject(globalizeDateLocalization)\r\n}\r\n","/**\r\n * DevExtreme (cjs/localization/globalize/message.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nrequire(\"./core\");\r\nvar _globalize = _interopRequireDefault(require(\"globalize\"));\r\nvar _message = _interopRequireDefault(require(\"../message\"));\r\nvar _core2 = _interopRequireDefault(require(\"../core\"));\r\nrequire(\"globalize/message\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nif (_globalize.default && _globalize.default.formatMessage) {\r\n var DEFAULT_LOCALE = \"en\";\r\n var originalLoadMessages = _globalize.default.loadMessages;\r\n _globalize.default.loadMessages = function(messages) {\r\n _message.default.load(messages)\r\n };\r\n var globalizeMessageLocalization = {\r\n engine: function() {\r\n return \"globalize\"\r\n },\r\n ctor: function() {\r\n this.load(this._dictionary)\r\n },\r\n load: function(messages) {\r\n this.callBase(messages);\r\n originalLoadMessages(messages)\r\n },\r\n getMessagesByLocales: function() {\r\n return _globalize.default.cldr.get(\"globalize-messages\")\r\n },\r\n getFormatter: function(key, locale) {\r\n var currentLocale = locale || _core2.default.locale();\r\n var formatter = this._getFormatterBase(key, locale);\r\n if (!formatter) {\r\n formatter = this._formatterByGlobalize(key, locale)\r\n }\r\n if (!formatter && currentLocale !== DEFAULT_LOCALE) {\r\n formatter = this.getFormatter(key, DEFAULT_LOCALE)\r\n }\r\n return formatter\r\n },\r\n _formatterByGlobalize: function(key, locale) {\r\n var currentGlobalize = !locale || locale === _core2.default.locale() ? _globalize.default : new _globalize.default(locale);\r\n var result;\r\n if (this._messageLoaded(key, locale)) {\r\n result = currentGlobalize.messageFormatter(key)\r\n }\r\n return result\r\n },\r\n _messageLoaded: function(key, locale) {\r\n var currentCldr = locale ? new _globalize.default(locale).cldr : _globalize.default.locale();\r\n var value = currentCldr.get([\"globalize-messages/{bundle}\", key]);\r\n return !!value\r\n },\r\n _loadSingle: function(key, value, locale) {\r\n var data = {};\r\n data[locale] = {};\r\n data[locale][key] = value;\r\n this.load(data)\r\n }\r\n };\r\n _message.default.inject(globalizeMessageLocalization)\r\n}\r\n","/**\r\n * DevExtreme (cjs/localization/globalize/number.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nrequire(\"./core\");\r\nvar _globalize = _interopRequireDefault(require(\"globalize\"));\r\nvar _number = _interopRequireDefault(require(\"../number\"));\r\nvar _errors = _interopRequireDefault(require(\"../../core/errors\"));\r\nrequire(\"globalize/number\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nvar MAX_FRACTION_DIGITS = 20;\r\nif (_globalize.default && _globalize.default.formatNumber) {\r\n if (\"en\" === _globalize.default.locale().locale) {\r\n _globalize.default.locale(\"en\")\r\n }\r\n var formattersCache = {};\r\n var getFormatter = function(format) {\r\n var formatter;\r\n var formatCacheKey;\r\n if (\"object\" === _typeof(format)) {\r\n formatCacheKey = _globalize.default.locale().locale + \":\" + JSON.stringify(format)\r\n } else {\r\n formatCacheKey = _globalize.default.locale().locale + \":\" + format\r\n }\r\n formatter = formattersCache[formatCacheKey];\r\n if (!formatter) {\r\n formatter = formattersCache[formatCacheKey] = _globalize.default.numberFormatter(format)\r\n }\r\n return formatter\r\n };\r\n var globalizeNumberLocalization = {\r\n engine: function() {\r\n return \"globalize\"\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 config = {\r\n minimumIntegerDigits: formatConfig.precision || 1,\r\n useGrouping: false,\r\n minimumFractionDigits: 0,\r\n maximumFractionDigits: MAX_FRACTION_DIGITS,\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 }\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 (!_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 parse: function(text, format) {\r\n if (!text) {\r\n return\r\n }\r\n if (format && (format.parser || \"string\" === typeof format)) {\r\n return this.callBase.apply(this, arguments)\r\n }\r\n if (format) {\r\n _errors.default.log(\"W0011\")\r\n }\r\n var result = _globalize.default.parseNumber(text);\r\n if (isNaN(result)) {\r\n result = this.callBase.apply(this, arguments)\r\n }\r\n return result\r\n }\r\n };\r\n _number.default.resetInjection();\r\n _number.default.inject(globalizeNumberLocalization)\r\n}\r\n","/**\r\n * DevExtreme (cjs/localization/intl/date.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _core = _interopRequireDefault(require(\"../core\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nvar SYMBOLS_TO_REMOVE_REGEX = /[\\u200E\\u200F]/g;\r\nvar NARROW_NO_BREAK_SPACE_REGEX = /[\\u202F]/g;\r\nvar getIntlFormatter = function(format) {\r\n return function(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 = (0, _extend.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\n};\r\nvar formattersCache = {};\r\nvar getFormatter = function(format) {\r\n var key = _core.default.locale() + \"/\" + JSON.stringify(format);\r\n if (!formattersCache[key]) {\r\n formattersCache[key] = new Intl.DateTimeFormat(_core.default.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 = function(number) {\r\n return new Intl.NumberFormat(_core.default.locale()).format(number)\r\n};\r\nvar getAlternativeNumeralsMap = function() {\r\n var numeralsMapCache = {};\r\n return function(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 = function(dateString) {\r\n var alternativeNumeralsMap = getAlternativeNumeralsMap(_core.default.locale());\r\n if (!alternativeNumeralsMap) {\r\n return dateString\r\n }\r\n return dateString.split(\"\").map((function(sign) {\r\n return sign in alternativeNumeralsMap ? String(alternativeNumeralsMap[sign]) : sign\r\n })).join(\"\")\r\n};\r\nvar removeLeadingZeroes = function(str) {\r\n return str.replace(/(\\D)0+(\\d)/g, \"$1$2\")\r\n};\r\nvar dateStringEquals = function(actual, expected) {\r\n return removeLeadingZeroes(actual) === removeLeadingZeroes(expected)\r\n};\r\nvar normalizeMonth = function(text) {\r\n return text.replace(\"d\\u2019\", \"de \")\r\n};\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(_core.default.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 = function(format) {\r\n return \"string\" === typeof format && intlFormats[format.toLowerCase()]\r\n};\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((function(part) {\r\n return part.indexOf(\"13\") < 0\r\n }));\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\nvar _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((function(_, monthIndex) {\r\n return monthNameStrategies[type](monthIndex, monthFormat)\r\n }))\r\n },\r\n getDayNames: function(format) {\r\n var result = function(format) {\r\n return Array.apply(null, new Array(7)).map((function(_, dayIndex) {\r\n return getIntlFormatter({\r\n weekday: format\r\n })(new Date(0, 0, dayIndex))\r\n }))\r\n }({\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((function(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 _this = this;\r\n var formatter;\r\n if (format && !format.parser && \"string\" === typeof dateString) {\r\n dateString = normalizeMonth(dateString);\r\n formatter = function(date) {\r\n return normalizeMonth(_this.format(date, format))\r\n }\r\n }\r\n return this.callBase(dateString, formatter || format)\r\n },\r\n _parseDateBySimpleFormat: function(dateString, format) {\r\n var _this2 = this;\r\n dateString = normalizeNumerals(dateString);\r\n var formatParts = this.getFormatParts(format);\r\n var dateParts = dateString.split(/\\D+/).filter((function(part) {\r\n return part.length > 0\r\n }));\r\n if (formatParts.length !== dateParts.length) {\r\n return\r\n }\r\n var dateArgs = this._generateDateArgs(formatParts, dateParts);\r\n var constructValidDate = function(ampmShift) {\r\n var parsedDate = function(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(_this2.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((function(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 = (0, _extend.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((function(part) {\r\n return {\r\n name: part.name,\r\n index: formattedDate.indexOf(part.value)\r\n }\r\n })).filter((function(part) {\r\n return part.index > -1\r\n })).sort((function(a, b) {\r\n return a.index - b.index\r\n })).map((function(part) {\r\n return part.name\r\n }))\r\n }\r\n};\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/localization/intl/number.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _config = _interopRequireDefault(require(\"../../core/config\"));\r\nvar _core = _interopRequireDefault(require(\"../core\"));\r\nvar _open_xml_currency_format = _interopRequireDefault(require(\"../open_xml_currency_format\"));\r\nvar _accounting_formats = _interopRequireDefault(require(\"../cldr-data/accounting_formats\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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 = function(format) {\r\n var key = _core.default.locale() + \"/\" + JSON.stringify(format);\r\n if (!formattersCache[key]) {\r\n formattersCache[key] = new Intl.NumberFormat(_core.default.locale(), format).format\r\n }\r\n return formattersCache[key]\r\n};\r\nvar getCurrencyFormatter = function(currency) {\r\n return new Intl.NumberFormat(_core.default.locale(), {\r\n style: \"currency\",\r\n currency: currency\r\n })\r\n};\r\nvar _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 : (0, _config.default)().defaultUseCurrencyAccountingStyle;\r\n config.style = \"currency\";\r\n config.currency = formatConfig.currency || (0, _config.default)().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 = (0, _config.default)().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 = (0, _config.default)().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 || (0, _config.default)().defaultCurrency;\r\n var currencySymbol = this._getCurrencySymbolInfo(targetCurrency).symbol;\r\n var closestAccountingFormat = _core.default.getValueByClosestLocale((function(locale) {\r\n return _accounting_formats.default[locale]\r\n }));\r\n return (0, _open_xml_currency_format.default)(currencySymbol, closestAccountingFormat)\r\n }\r\n};\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/localization/language_codes.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.getLanguageId = getLanguageId;\r\nvar _core = _interopRequireDefault(require(\"./core\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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\n\r\nfunction getLanguageId() {\r\n return LANGUAGE_CODES[_core.default.locale()]\r\n}\r\n","/**\r\n * DevExtreme (cjs/localization/ldml/date.format.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.getFormat = void 0;\r\nvar _number = _interopRequireDefault(require(\"../number\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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 && _number.default.convertDigits(char, false).charCodeAt(0);\r\n var zeroCode = _number.default.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((function(pattern) {\r\n return text[index] !== pattern[index]\r\n }));\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\nvar 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\nexports.getFormat = getFormat;\r\n","/**\r\n * DevExtreme (cjs/localization/ldml/date.formatter.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.getFormatter = void 0;\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\nvar 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\nexports.getFormatter = getFormatter;\r\n","/**\r\n * DevExtreme (cjs/localization/ldml/date.parser.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.isPossibleForParsingFormat = exports.getRegExpInfo = exports.getPatternSetters = exports.getParser = void 0;\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _console = require(\"../../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 = (0, _common.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((function(item) {\r\n return item.toLowerCase()\r\n })).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\nvar 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((0, _common.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 _console.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\nexports.getRegExpInfo = getRegExpInfo;\r\nvar digitFieldSymbols = [\"d\", \"H\", \"h\", \"m\", \"s\", \"w\", \"M\", \"L\", \"Q\"];\r\nvar isPossibleForParsingFormat = function(patterns) {\r\n var isDigitPattern = function(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((function(pattern, index, patterns) {\r\n if (isDigitPattern(pattern)) {\r\n if (function(pattern) {\r\n return \"S\" !== pattern[0] && 2 !== pattern.length\r\n }(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\nexports.isPossibleForParsingFormat = isPossibleForParsingFormat;\r\nvar getPatternSetters = function() {\r\n return PATTERN_SETTERS\r\n};\r\nexports.getPatternSetters = getPatternSetters;\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\nvar 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\nexports.getParser = getParser;\r\n","/**\r\n * DevExtreme (cjs/localization/ldml/number.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.getFormat = getFormat;\r\nexports.getFormatter = getFormatter;\r\nvar _math = require(\"../../core/utils/math\");\r\nvar _utils = require(\"../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\n\r\nfunction 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 = (0, _math.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 = (0, _math.fitIntoRange)(maxFloatPrecision, 0, MAXIMUM_NUMBER_LENGTH - integerLength);\r\n var groupSizes = getGroupSizes(floatFormatParts[0]).reverse();\r\n var valueParts = (0, _utils.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(\"%\", \"'%'\")\r\n }\r\n return format\r\n}\r\n\r\nfunction 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 (cjs/localization/message.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _dependency_injector = _interopRequireDefault(require(\"../core/utils/dependency_injector\"));\r\nvar _extend = require(\"../core/utils/extend\");\r\nvar _string = require(\"../core/utils/string\");\r\nvar _inflector = require(\"../core/utils/inflector\");\r\nvar _core = _interopRequireDefault(require(\"./core\"));\r\nvar _default_messages = require(\"./default_messages\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar baseDictionary = (0, _extend.extend)(true, {}, _default_messages.defaultMessages);\r\nvar getDataByLocale = function(localeData, locale) {\r\n return localeData[locale] || {}\r\n};\r\nvar newMessages = {};\r\nvar messageLocalization = (0, _dependency_injector.default)({\r\n engine: function() {\r\n return \"base\"\r\n },\r\n _dictionary: baseDictionary,\r\n load: function(messages) {\r\n (0, _extend.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, (function(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] = (0, _inflector.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 (0, _extend.extend)({}, newMessages, this.getMessagesByLocales()[_core.default.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 _this = this;\r\n var message = _core.default.getValueByClosestLocale((function(locale) {\r\n return getDataByLocale(_this._dictionary, locale)[key]\r\n }));\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 _string.format.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\nvar _default = messageLocalization;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/localization/number.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _dependency_injector = _interopRequireDefault(require(\"../core/utils/dependency_injector\"));\r\nvar _common = require(\"../core/utils/common\");\r\nvar _iterator = require(\"../core/utils/iterator\");\r\nvar _type = require(\"../core/utils/type\");\r\nvar _number = require(\"./ldml/number\");\r\nvar _config = _interopRequireDefault(require(\"../core/config\"));\r\nvar _errors = _interopRequireDefault(require(\"../core/errors\"));\r\nvar _utils = require(\"./utils\");\r\nvar _currency = _interopRequireDefault(require(\"./currency\"));\r\nvar _number2 = _interopRequireDefault(require(\"./intl/number\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _slicedToArray(arr, i) {\r\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest()\r\n}\r\n\r\nfunction _nonIterableRest() {\r\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _unsupportedIterableToArray(o, minLen) {\r\n if (!o) {\r\n return\r\n }\r\n if (\"string\" === typeof o) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n var n = Object.prototype.toString.call(o).slice(8, -1);\r\n if (\"Object\" === n && o.constructor) {\r\n n = o.constructor.name\r\n }\r\n if (\"Map\" === n || \"Set\" === n) {\r\n return Array.from(o)\r\n }\r\n if (\"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n}\r\n\r\nfunction _arrayLikeToArray(arr, len) {\r\n if (null == len || len > arr.length) {\r\n len = arr.length\r\n }\r\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\r\n arr2[i] = arr[i]\r\n }\r\n return arr2\r\n}\r\n\r\nfunction _iterableToArrayLimit(arr, i) {\r\n var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"];\r\n if (null != _i) {\r\n var _s, _e, _x, _r, _arr = [],\r\n _n = !0,\r\n _d = !1;\r\n try {\r\n if (_x = (_i = _i.call(arr)).next, 0 === i) {\r\n if (Object(_i) !== _i) {\r\n return\r\n }\r\n _n = !1\r\n } else {\r\n for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) {}\r\n }\r\n } catch (err) {\r\n _d = !0, _e = err\r\n } finally {\r\n try {\r\n if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) {\r\n return\r\n }\r\n } finally {\r\n if (_d) {\r\n throw _e\r\n }\r\n }\r\n }\r\n return _arr\r\n }\r\n}\r\n\r\nfunction _arrayWithHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return arr\r\n }\r\n}\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 = (0, _dependency_injector.default)({\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 (0, _iterator.each)(formatList, (function(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, (0, _config.default)().thousandsSeparator) + (parts[1] ? (0, _config.default)().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() : (0, _utils.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(\".\", (0, _config.default)().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 (!(0, _type.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, (function(char) {\r\n return String.fromCharCode(char.charCodeAt(0) + (toFirstDigit.charCodeAt(0) - fromFirstDigit.charCodeAt(0)))\r\n }))\r\n },\r\n getNegativeEtalonRegExp: function(format) {\r\n var separators = this._getSeparators();\r\n var digitalRegExp = new RegExp(\"[0-9\" + (0, _common.escapeRegExp)(separators.decimalSeparator + separators.thousandsSeparator) + \"]+\", \"g\");\r\n var negativeEtalon = this.format(-1, format).replace(digitalRegExp, \"1\");\r\n [\"\\\\\", \"(\", \")\", \"[\", \"]\", \"*\", \"+\", \"$\", \"^\", \"?\", \"|\", \"{\", \"}\"].forEach((function(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((0, _number.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.default.log(\"W0011\")\r\n }\r\n var decimalSeparator = this.getDecimalSeparator();\r\n var regExp = new RegExp(\"[^0-9\" + (0, _common.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((function(power) {\r\n return LargeNumberFormatPostfixes[power] === match[1]\r\n }))\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 _text$split = text.split(\".\"),\r\n _text$split2 = _slicedToArray(_text$split, 2),\r\n integer = _text$split2[0],\r\n fractional = _text$split2[1];\r\n var calcDigitsAfterLeadingZeros = function(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(_currency.default);\r\nif (hasIntl) {\r\n numberLocalization.inject(_number2.default)\r\n}\r\nvar _default = numberLocalization;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/localization/open_xml_currency_format.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _default = function(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\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/localization/parentLocale.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar PARENT_LOCALE_SEPARATOR = \"-\";\r\nvar _default = function(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\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/localization/utils.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.toFixed = toFixed;\r\nvar _math = require(\"../core/utils/math\");\r\nvar DECIMAL_BASE = 10;\r\n\r\nfunction roundByAbs(value) {\r\n var valueSign = (0, _math.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 = (0, _math.multiplyInExponentialForm)(value, precision);\r\n return roundByAbs(intermediateValue) / precisionMultiplier\r\n}\r\n\r\nfunction toFixed(value, precision) {\r\n var valuePrecision = precision || 0;\r\n var adjustedValue = valuePrecision > 0 ? adjustValue.apply(void 0, arguments) : value;\r\n return adjustedValue.toFixed(valuePrecision)\r\n}\r\n","/**\r\n * DevExtreme (cjs/mobile/hide_callback.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.hideCallback = void 0;\r\nvar 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\nexports.hideCallback = hideCallback;\r\n","/**\r\n * DevExtreme (cjs/mobile/hide_top_overlay.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = _default;\r\nvar _hide_callback = require(\"./hide_callback\");\r\n\r\nfunction _default() {\r\n return _hide_callback.hideCallback.fire()\r\n}\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/mobile/init_mobile_viewport/init_mobile_viewport.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.initMobileViewport = void 0;\r\nvar _size = require(\"../../core/utils/size\");\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _dom_adapter = _interopRequireDefault(require(\"../../core/dom_adapter\"));\r\nvar _window = require(\"../../core/utils/window\");\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _resize_callbacks = _interopRequireDefault(require(\"../../core/utils/resize_callbacks\"));\r\nvar _support = require(\"../../core/utils/support\");\r\nvar _style = require(\"../../core/utils/style\");\r\nvar _devices = _interopRequireDefault(require(\"../../core/devices\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar window = (0, _window.getWindow)();\r\nvar initMobileViewport = function(options) {\r\n options = (0, _extend.extend)({}, options);\r\n var realDevice = _devices.default.real();\r\n var allowZoom = options.allowZoom;\r\n var allowPan = options.allowPan;\r\n var allowSelection = \"allowSelection\" in options ? options.allowSelection : \"generic\" === realDevice.platform;\r\n if (!(0, _renderer.default)(\"meta[name=viewport]\").length) {\r\n (0, _renderer.default)(\"\").attr(\"name\", \"viewport\").appendTo(\"head\")\r\n }\r\n var metaVerbs = [\"width=device-width\"];\r\n var msTouchVerbs = [];\r\n if (allowZoom) {\r\n msTouchVerbs.push(\"pinch-zoom\")\r\n } else {\r\n metaVerbs.push(\"initial-scale=1.0\", \"maximum-scale=1.0, user-scalable=no\")\r\n }\r\n if (allowPan) {\r\n msTouchVerbs.push(\"pan-x\", \"pan-y\")\r\n }\r\n if (!allowPan && !allowZoom) {\r\n (0, _renderer.default)(\"html, body\").css({\r\n msContentZooming: \"none\",\r\n msUserSelect: \"none\",\r\n overflow: \"hidden\"\r\n })\r\n } else {\r\n (0, _renderer.default)(\"html\").css(\"msOverflowStyle\", \"-ms-autohiding-scrollbar\")\r\n }\r\n if (!allowSelection && (0, _support.supportProp)(\"userSelect\")) {\r\n (0, _renderer.default)(\".dx-viewport\").css((0, _style.styleProp)(\"userSelect\"), \"none\")\r\n }(0, _renderer.default)(\"meta[name=viewport]\").attr(\"content\", metaVerbs.join());\r\n (0, _renderer.default)(\"html\").css(\"msTouchAction\", msTouchVerbs.join(\" \") || \"none\");\r\n realDevice = _devices.default.real();\r\n if (_support.touch) {\r\n _events_engine.default.off(_dom_adapter.default.getDocument(), \".dxInitMobileViewport\");\r\n _events_engine.default.on(_dom_adapter.default.getDocument(), \"dxpointermove.dxInitMobileViewport\", (function(e) {\r\n var count = e.pointers.length;\r\n var isTouchEvent = \"touch\" === e.pointerType;\r\n var zoomDisabled = !allowZoom && count > 1;\r\n var panDisabled = !allowPan && 1 === count && !e.isScrollingEvent;\r\n if (isTouchEvent && (zoomDisabled || panDisabled)) {\r\n e.preventDefault()\r\n }\r\n }))\r\n }\r\n if (realDevice.ios) {\r\n var isPhoneGap = \"file:\" === _dom_adapter.default.getLocation().protocol;\r\n if (!isPhoneGap) {\r\n _resize_callbacks.default.add((function() {\r\n var windowWidth = (0, _size.getWidth)(window);\r\n (0, _size.setWidth)((0, _renderer.default)(\"body\"), windowWidth)\r\n }))\r\n }\r\n }\r\n if (realDevice.android) {\r\n _resize_callbacks.default.add((function() {\r\n setTimeout((function() {\r\n var activeElement = _dom_adapter.default.getActiveElement();\r\n activeElement.scrollIntoViewIfNeeded ? activeElement.scrollIntoViewIfNeeded() : activeElement.scrollIntoView(false)\r\n }))\r\n }))\r\n }\r\n};\r\nexports.initMobileViewport = initMobileViewport;\r\n","/**\r\n * DevExtreme (cjs/pdf_exporter.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"exportDataGrid\", {\r\n enumerable: true,\r\n get: function() {\r\n return _export_data_grid.exportDataGrid\r\n }\r\n});\r\nObject.defineProperty(exports, \"exportDataGridWithAutoTable\", {\r\n enumerable: true,\r\n get: function() {\r\n return _export_data_grid2.exportDataGrid\r\n }\r\n});\r\nObject.defineProperty(exports, \"exportGantt\", {\r\n enumerable: true,\r\n get: function() {\r\n return _export_gantt.exportGantt\r\n }\r\n});\r\nvar _export_data_grid = require(\"./exporter/jspdf/export_data_grid\");\r\nvar _export_data_grid2 = require(\"./exporter/jspdf/autotable/export_data_grid\");\r\nvar _export_gantt = require(\"./exporter/jspdf/export_gantt\");\r\n","/**\r\n * DevExtreme (cjs/renovation/common/config_context.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.ConfigContext = void 0;\r\nvar _inferno = require(\"@devextreme/runtime/inferno\");\r\nvar ConfigContext = (0, _inferno.createContext)(void 0);\r\nexports.ConfigContext = ConfigContext;\r\n","/**\r\n * DevExtreme (cjs/renovation/common/config_provider.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.viewFunction = exports.ConfigProviderProps = exports.ConfigProvider = void 0;\r\nvar _inferno = require(\"@devextreme/runtime/inferno\");\r\nvar _config_context = require(\"./config_context\");\r\nvar _excluded = [\"children\", \"rtlEnabled\"];\r\n\r\nfunction _objectWithoutProperties(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = _objectWithoutPropertiesLoose(source, excluded);\r\n var key, i;\r\n if (Object.getOwnPropertySymbols) {\r\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\r\n for (i = 0; i < sourceSymbolKeys.length; i++) {\r\n key = sourceSymbolKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n }\r\n return target\r\n}\r\n\r\nfunction _objectWithoutPropertiesLoose(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = {};\r\n var sourceKeys = Object.keys(source);\r\n var key, i;\r\n for (i = 0; i < sourceKeys.length; i++) {\r\n key = sourceKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n return target\r\n}\r\n\r\nfunction _defineProperty(obj, key, value) {\r\n key = _toPropertyKey(key);\r\n if (key in obj) {\r\n Object.defineProperty(obj, key, {\r\n value: value,\r\n enumerable: true,\r\n configurable: true,\r\n writable: true\r\n })\r\n } else {\r\n obj[key] = value\r\n }\r\n return obj\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar viewFunction = function(viewModel) {\r\n return viewModel.props.children\r\n};\r\nexports.viewFunction = viewFunction;\r\nvar ConfigProviderProps = {};\r\nexports.ConfigProviderProps = ConfigProviderProps;\r\nvar ConfigProvider = function(_BaseInfernoComponent) {\r\n _inheritsLoose(ConfigProvider, _BaseInfernoComponent);\r\n\r\n function ConfigProvider(props) {\r\n var _this;\r\n _this = _BaseInfernoComponent.call(this, props) || this;\r\n _this.state = {};\r\n _this.__getterCache = {};\r\n return _this\r\n }\r\n var _proto = ConfigProvider.prototype;\r\n _proto.getChildContext = function() {\r\n return _extends({}, this.context, _defineProperty({}, _config_context.ConfigContext.id, this.config || _config_context.ConfigContext.defaultValue))\r\n };\r\n _proto.componentWillUpdate = function(nextProps, nextState, context) {\r\n if (this.props.rtlEnabled !== nextProps.rtlEnabled) {\r\n this.__getterCache.config = void 0\r\n }\r\n };\r\n _proto.render = function() {\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 _createClass(ConfigProvider, [{\r\n key: \"config\",\r\n get: function() {\r\n var _this2 = this;\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: _this2.props.rtlEnabled\r\n }\r\n }\r\n }, {\r\n key: \"restAttributes\",\r\n get: function() {\r\n var _this$props = this.props,\r\n restProps = (_this$props.children, _this$props.rtlEnabled, _objectWithoutProperties(_this$props, _excluded));\r\n return restProps\r\n }\r\n }]);\r\n return ConfigProvider\r\n}(_inferno.BaseInfernoComponent);\r\nexports.ConfigProvider = ConfigProvider;\r\nConfigProvider.defaultProps = ConfigProviderProps;\r\n","/**\r\n * DevExtreme (cjs/renovation/component_wrapper/button.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.default = void 0;\r\nvar _validation_engine = _interopRequireDefault(require(\"../../ui/validation_engine\"));\r\nvar _component = _interopRequireDefault(require(\"./common/component\"));\r\nvar _icon = require(\"../../core/utils/icon\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar ButtonWrapper = function(_Component) {\r\n _inheritsLoose(ButtonWrapper, _Component);\r\n\r\n function ButtonWrapper() {\r\n return _Component.apply(this, arguments) || this\r\n }\r\n var _proto = ButtonWrapper.prototype;\r\n _proto.getDefaultTemplateNames = function() {\r\n return [\"content\"]\r\n };\r\n _proto.getSupportedKeyNames = function() {\r\n return [\"space\", \"enter\"]\r\n };\r\n _proto.getProps = function() {\r\n var _this = this;\r\n var props = _Component.prototype.getProps.call(this);\r\n props.onClick = function(_ref) {\r\n var event = _ref.event;\r\n _this._clickAction({\r\n event: event,\r\n validationGroup: _this._validationGroupConfig\r\n })\r\n };\r\n var iconType = (0, _icon.getImageSourceType)(props.icon);\r\n if (\"svg\" === iconType) {\r\n props.iconTemplate = this._createTemplateComponent((function() {\r\n return props.icon\r\n }))\r\n }\r\n return props\r\n };\r\n _proto._toggleActiveState = function(_, value) {\r\n var button = this.viewRef;\r\n value ? button.activate() : button.deactivate()\r\n };\r\n _proto._getSubmitAction = function() {\r\n var _this2 = this;\r\n var needValidate = true;\r\n var validationStatus = \"valid\";\r\n return this._createAction((function(_ref2) {\r\n var event = _ref2.event,\r\n submitInput = _ref2.submitInput;\r\n if (needValidate) {\r\n var validationGroup = _this2._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 _this2.option(\"disabled\", true);\r\n validationResult.complete.then((function(_ref3) {\r\n var status = _ref3.status;\r\n _this2.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 _proto._initializeComponent = function() {\r\n _Component.prototype._initializeComponent.call(this);\r\n this._addAction(\"onSubmit\", this._getSubmitAction());\r\n this._clickAction = this._createClickAction()\r\n };\r\n _proto._initMarkup = function() {\r\n _Component.prototype._initMarkup.call(this);\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 _proto._patchOptionValues = function(options) {\r\n return _Component.prototype._patchOptionValues.call(this, _extends({}, options, {\r\n templateData: options._templateData\r\n }))\r\n };\r\n _proto._findGroup = function() {\r\n var $element = this.$element();\r\n var validationGroup = this.option(\"validationGroup\");\r\n return void 0 !== validationGroup && \"\" !== validationGroup ? validationGroup : _validation_engine.default.findGroup($element, this._modelByElement($element))\r\n };\r\n _proto._createClickAction = function() {\r\n return this._createActionByOption(\"onClick\", {\r\n excludeValidators: [\"readOnly\"]\r\n })\r\n };\r\n _proto._optionChanged = function(option) {\r\n switch (option.name) {\r\n case \"onClick\":\r\n this._clickAction = this._createClickAction()\r\n }\r\n _Component.prototype._optionChanged.call(this, option)\r\n };\r\n _createClass(ButtonWrapper, [{\r\n key: \"_validationGroupConfig\",\r\n get: function() {\r\n return _validation_engine.default.getGroupConfig(this._findGroup())\r\n }\r\n }, {\r\n key: \"_templatesInfo\",\r\n get: function() {\r\n return {\r\n template: \"content\"\r\n }\r\n }\r\n }]);\r\n return ButtonWrapper\r\n}(_component.default);\r\nexports.default = ButtonWrapper;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/renovation/component_wrapper/common/component.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.default = void 0;\r\nvar _inferno = require(\"inferno\");\r\nvar _keyboard_processor = _interopRequireDefault(require(\"../../../events/core/keyboard_processor\"));\r\nvar _inferno_renderer = _interopRequireDefault(require(\"../../../core/inferno_renderer\"));\r\nvar _renderer = _interopRequireDefault(require(\"../../../core/renderer\"));\r\nvar _dom_adapter = _interopRequireDefault(require(\"../../../core/dom_adapter\"));\r\nvar _dom_component = _interopRequireDefault(require(\"../../../core/dom_component\"));\r\nvar _extend = require(\"../../../core/utils/extend\");\r\nvar _element = require(\"../../../core/element\");\r\nvar _type = require(\"../../../core/utils/type\");\r\nvar _template_wrapper = require(\"./template_wrapper\");\r\nvar _update_props_immutable = require(\"../utils/update_props_immutable\");\r\nrequire(\"../../../events/click\");\r\nrequire(\"../../../events/core/emitter.feedback\");\r\nrequire(\"../../../events/hover\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _toConsumableArray(arr) {\r\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread()\r\n}\r\n\r\nfunction _nonIterableSpread() {\r\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _iterableToArray(iter) {\r\n if (\"undefined\" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter[\"@@iterator\"]) {\r\n return Array.from(iter)\r\n }\r\n}\r\n\r\nfunction _arrayWithoutHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return _arrayLikeToArray(arr)\r\n }\r\n}\r\n\r\nfunction _defineProperty(obj, key, value) {\r\n key = _toPropertyKey(key);\r\n if (key in obj) {\r\n Object.defineProperty(obj, key, {\r\n value: value,\r\n enumerable: true,\r\n configurable: true,\r\n writable: true\r\n })\r\n } else {\r\n obj[key] = value\r\n }\r\n return obj\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\n\r\nfunction _slicedToArray(arr, i) {\r\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest()\r\n}\r\n\r\nfunction _nonIterableRest() {\r\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _unsupportedIterableToArray(o, minLen) {\r\n if (!o) {\r\n return\r\n }\r\n if (\"string\" === typeof o) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n var n = Object.prototype.toString.call(o).slice(8, -1);\r\n if (\"Object\" === n && o.constructor) {\r\n n = o.constructor.name\r\n }\r\n if (\"Map\" === n || \"Set\" === n) {\r\n return Array.from(o)\r\n }\r\n if (\"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n}\r\n\r\nfunction _arrayLikeToArray(arr, len) {\r\n if (null == len || len > arr.length) {\r\n len = arr.length\r\n }\r\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\r\n arr2[i] = arr[i]\r\n }\r\n return arr2\r\n}\r\n\r\nfunction _iterableToArrayLimit(arr, i) {\r\n var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"];\r\n if (null != _i) {\r\n var _s, _e, _x, _r, _arr = [],\r\n _n = !0,\r\n _d = !1;\r\n try {\r\n if (_x = (_i = _i.call(arr)).next, 0 === i) {\r\n if (Object(_i) !== _i) {\r\n return\r\n }\r\n _n = !1\r\n } else {\r\n for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) {}\r\n }\r\n } catch (err) {\r\n _d = !0, _e = err\r\n } finally {\r\n try {\r\n if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) {\r\n return\r\n }\r\n } finally {\r\n if (_d) {\r\n throw _e\r\n }\r\n }\r\n }\r\n return _arr\r\n }\r\n}\r\n\r\nfunction _arrayWithHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return arr\r\n }\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar setDefaultOptionValue = function(options, defaultValueGetter) {\r\n return function(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\n};\r\nvar ComponentWrapper = function(_DOMComponent) {\r\n _inheritsLoose(ComponentWrapper, _DOMComponent);\r\n\r\n function ComponentWrapper(element, options) {\r\n var _this;\r\n _this = _DOMComponent.call(this, element, options) || this;\r\n _this._shouldRaiseContentReady = false;\r\n _this.validateKeyDownHandler();\r\n return _this\r\n }\r\n var _proto = ComponentWrapper.prototype;\r\n _proto.validateKeyDownHandler = function() {\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 _proto._checkContentReadyOption = function(fullName) {\r\n var contentReadyOptions = this._getContentReadyOptions().reduce((function(options, name) {\r\n options[name] = true;\r\n return options\r\n }), {});\r\n this._checkContentReadyOption = function(optionName) {\r\n return !!contentReadyOptions[optionName]\r\n };\r\n return this._checkContentReadyOption(fullName)\r\n };\r\n _proto._getContentReadyOptions = function() {\r\n return [\"rtlEnabled\"]\r\n };\r\n _proto._fireContentReady = function() {\r\n this._actionsMap.onContentReady({})\r\n };\r\n _proto._getDefaultOptions = function() {\r\n var _this2 = this;\r\n var viewDefaultProps = this._getViewComponentDefaultProps();\r\n return (0, _extend.extend)(true, _DOMComponent.prototype._getDefaultOptions.call(this), viewDefaultProps, this._propsInfo.twoWay.reduce((function(options, _ref) {\r\n var _extends2;\r\n var _ref2 = _slicedToArray(_ref, 3),\r\n name = _ref2[0],\r\n defaultName = _ref2[1],\r\n eventName = _ref2[2];\r\n return _extends({}, options, (_extends2 = {}, _defineProperty(_extends2, name, viewDefaultProps[defaultName]), _defineProperty(_extends2, eventName, (function(value) {\r\n return _this2.option(name, value)\r\n })), _extends2))\r\n }), {}), this._propsInfo.templates.reduce((function(options, name) {\r\n return _extends({}, options, _defineProperty({}, name, null))\r\n }), {}))\r\n };\r\n _proto._getUnwrappedOption = function() {\r\n var _this3 = this;\r\n var unwrappedProps = {};\r\n Object.keys(this.option()).forEach((function(key) {\r\n unwrappedProps[key] = _this3.option(key)\r\n }));\r\n return unwrappedProps\r\n };\r\n _proto._initializeComponent = function() {\r\n var _this$_templateManage, _this4 = this;\r\n _DOMComponent.prototype._initializeComponent.call(this);\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((function(template) {\r\n _this4._componentTemplates[template] = _this4._createTemplateComponent(_this4._props[template])\r\n }));\r\n Object.keys(this._getActionConfigsFull()).forEach((function(name) {\r\n return _this4._addAction(name)\r\n }));\r\n this._viewRef = (0, _inferno.createRef)();\r\n this.defaultKeyHandlers = this._createDefaultKeyHandlers()\r\n };\r\n _proto._initMarkup = function() {\r\n var props = this.getProps();\r\n this._renderWrapper(props)\r\n };\r\n _proto._renderWrapper = function(props) {\r\n var containerNode = this.$element()[0];\r\n if (!this._isNodeReplaced) {\r\n _inferno_renderer.default.onPreRender()\r\n }\r\n _inferno_renderer.default.render(this._viewComponent, props, containerNode, this._isNodeReplaced);\r\n if (!this._isNodeReplaced) {\r\n this._isNodeReplaced = true;\r\n _inferno_renderer.default.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 _proto._silent = function(name, value) {\r\n this._options.silent(name, value)\r\n };\r\n _proto._render = function() {};\r\n _proto._removeWidget = function() {\r\n _inferno_renderer.default.remove(this.$element()[0])\r\n };\r\n _proto._dispose = function() {\r\n this._removeWidget();\r\n _DOMComponent.prototype._dispose.call(this)\r\n };\r\n _proto._getAdditionalActionConfigs = function() {\r\n return {\r\n onContentReady: {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n }\r\n }\r\n };\r\n _proto._getAdditionalProps = function() {\r\n return []\r\n };\r\n _proto._patchOptionValues = function(options) {\r\n var _this5 = this;\r\n var _this$_propsInfo = this._propsInfo,\r\n allowNull = _this$_propsInfo.allowNull,\r\n elements = _this$_propsInfo.elements,\r\n props = _this$_propsInfo.props,\r\n twoWay = _this$_propsInfo.twoWay;\r\n var viewDefaultProps = this._getViewComponentDefaultProps();\r\n var defaultWidgetPropsKeys = Object.keys(viewDefaultProps);\r\n var defaultOptions = this._getDefaultOptions();\r\n var children = options.children,\r\n onKeyboardHandled = options.onKeyboardHandled,\r\n ref = options.ref;\r\n var onKeyDown = onKeyboardHandled ? function(_, 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 [].concat(_toConsumableArray(props), _toConsumableArray(this._getAdditionalProps())).forEach((function(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, (function() {\r\n return null\r\n })));\r\n defaultWidgetPropsKeys.forEach(setDefaultOptionValue(widgetProps, (function(name) {\r\n return defaultOptions[name]\r\n })));\r\n twoWay.forEach((function(_ref3) {\r\n var _ref4 = _slicedToArray(_ref3, 2),\r\n name = _ref4[0],\r\n defaultName = _ref4[1];\r\n setDefaultOptionValue(widgetProps, (function() {\r\n return defaultOptions[defaultName]\r\n }))(name)\r\n }));\r\n elements.forEach((function(name) {\r\n if (name in widgetProps) {\r\n var value = widgetProps[name];\r\n if ((0, _type.isRenderer)(value)) {\r\n widgetProps[name] = _this5._patchElementParam(value)\r\n }\r\n }\r\n }));\r\n return widgetProps\r\n };\r\n _proto.getSupportedKeyNames = function() {\r\n return []\r\n };\r\n _proto.prepareStyleProp = function(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 _proto.getProps = function() {\r\n var _this$elementAttr$cla, _elementAttr$class, _this6 = this;\r\n var _this$option = this.option(),\r\n elementAttr = _this$option.elementAttr;\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((function(template) {\r\n options[template] = _this6._componentTemplates[template]\r\n }));\r\n return this.prepareStyleProp(_extends({}, options, this.elementAttr, elementAttr, {\r\n className: [].concat(_toConsumableArray((null !== (_this$elementAttr$cla = this.elementAttr.class) && void 0 !== _this$elementAttr$cla ? _this$elementAttr$cla : \"\").split(\" \")), _toConsumableArray((null !== (_elementAttr$class = null === elementAttr || void 0 === elementAttr ? void 0 : elementAttr.class) && void 0 !== _elementAttr$class ? _elementAttr$class : \"\").split(\" \"))).filter((function(c, i, a) {\r\n return c && a.indexOf(c) === i\r\n })).join(\" \").trim(),\r\n class: \"\"\r\n }, this._actionsMap))\r\n };\r\n _proto._getActionConfigs = function() {\r\n return {}\r\n };\r\n _proto._getActionConfigsFull = function() {\r\n return _extends({}, this._getActionConfigs(), this._getAdditionalActionConfigs())\r\n };\r\n _proto.getDefaultTemplates = function() {\r\n var defaultTemplates = Object.values(this._templatesInfo);\r\n var result = {};\r\n defaultTemplates.forEach((function(template) {\r\n result[template] = \"dx-renovation-template-mock\"\r\n }));\r\n return result\r\n };\r\n _proto._optionsWithDefaultTemplates = function(options) {\r\n var templateOptions = Object.entries(this._templatesInfo).reduce((function(result, _ref5) {\r\n var _options$templateName;\r\n var _ref6 = _slicedToArray(_ref5, 2),\r\n templateName = _ref6[0],\r\n templateValue = _ref6[1];\r\n return _extends({}, result, _defineProperty({}, templateName, null !== (_options$templateName = options[templateName]) && void 0 !== _options$templateName ? _options$templateName : templateValue))\r\n }), {});\r\n return _extends({}, options, templateOptions)\r\n };\r\n _proto._init = function() {\r\n _DOMComponent.prototype._init.call(this);\r\n this.customKeyHandlers = {};\r\n this._actionsMap = {};\r\n this._aria = {};\r\n this._componentTemplates = {}\r\n };\r\n _proto._createDefaultKeyHandlers = function() {\r\n var _this7 = this;\r\n var result = {};\r\n var keys = this.getSupportedKeyNames();\r\n keys.forEach((function(key) {\r\n result[key] = function(e) {\r\n return _this7.viewRef.keyDown(_keyboard_processor.default.createKeyDownOptions(e))\r\n }\r\n }));\r\n return result\r\n };\r\n _proto._addAction = function(event, actionToAdd) {\r\n var action = actionToAdd;\r\n if (!action) {\r\n var actionByOption = this._createActionByOption(event, this._getActionConfigsFull()[event]);\r\n action = function(actArgs) {\r\n Object.keys(actArgs).forEach((function(name) {\r\n if ((0, _type.isDefined)(actArgs[name]) && _dom_adapter.default.isNode(actArgs[name])) {\r\n actArgs[name] = (0, _element.getPublicElement)((0, _renderer.default)(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 _proto._optionChanged = function(option) {\r\n var fullName = option.fullName,\r\n name = option.name,\r\n previousValue = option.previousValue,\r\n value = option.value;\r\n (0, _update_props_immutable.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 _DOMComponent.prototype._optionChanged.call(this, option);\r\n this._invalidate()\r\n };\r\n _proto._extractDefaultSlot = function() {\r\n if (this.option(\"_hasAnonymousTemplateContent\")) {\r\n return _inferno_renderer.default.createElement(_template_wrapper.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 _proto._createTemplateComponent = function(templateOption) {\r\n if (!templateOption) {\r\n return\r\n }\r\n var template = this._getTemplate(templateOption);\r\n if ((0, _type.isString)(template) && \"dx-renovation-template-mock\" === template) {\r\n return\r\n }\r\n return function(model) {\r\n return _inferno_renderer.default.createElement(_template_wrapper.TemplateWrapper, (0, _template_wrapper.buildTemplateArgs)(model, template))\r\n }\r\n };\r\n _proto._wrapKeyDownHandler = function(initialHandler) {\r\n var _this8 = this;\r\n return function(options) {\r\n var keyName = options.keyName,\r\n originalEvent = options.originalEvent,\r\n which = options.which;\r\n var keys = _this8.customKeyHandlers;\r\n var func = keys[keyName] || keys[which];\r\n if (void 0 !== func) {\r\n var handler = func.bind(_this8);\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 _proto._toPublicElement = function(element) {\r\n return (0, _element.getPublicElement)((0, _renderer.default)(element))\r\n };\r\n _proto._patchElementParam = function(value) {\r\n try {\r\n var result = (0, _renderer.default)(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 _proto.repaint = function() {\r\n this._isNodeReplaced = false;\r\n this._shouldRaiseContentReady = true;\r\n this._removeWidget();\r\n this._refresh()\r\n };\r\n _proto._supportedKeys = function() {\r\n return _extends({}, this.defaultKeyHandlers, this.customKeyHandlers)\r\n };\r\n _proto.registerKeyHandler = function(key, handler) {\r\n this.customKeyHandlers[key] = handler\r\n };\r\n _proto.setAria = function(name, value) {\r\n this._aria[name] = value;\r\n this._initMarkup()\r\n };\r\n _proto._getViewComponentDefaultProps = function() {\r\n return this._viewComponent.defaultProps || {}\r\n };\r\n _createClass(ComponentWrapper, [{\r\n key: \"_propsInfo\",\r\n get: function() {\r\n return {\r\n allowNull: [],\r\n twoWay: [],\r\n elements: [],\r\n templates: [],\r\n props: []\r\n }\r\n }\r\n }, {\r\n key: \"viewRef\",\r\n get: function() {\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 }, {\r\n key: \"elementAttr\",\r\n get: function() {\r\n var _this9 = this;\r\n var element = this.$element()[0];\r\n if (!this._elementAttr) {\r\n var attributes = element.attributes;\r\n var attrs = Array.from(attributes).filter((function(attr) {\r\n var _attributes$attr$name;\r\n return !_this9._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((function(result, _ref7) {\r\n var name = _ref7.name,\r\n value = _ref7.value;\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 }, {\r\n key: \"_templatesInfo\",\r\n get: function() {\r\n return {}\r\n }\r\n }]);\r\n return ComponentWrapper\r\n}(_dom_component.default);\r\nexports.default = ComponentWrapper;\r\nComponentWrapper.IS_RENOVATED_WIDGET = false;\r\nComponentWrapper.IS_RENOVATED_WIDGET = true;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/renovation/component_wrapper/common/mutations_recording.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.recordMutations = recordMutations;\r\n\r\nfunction isChildNode(node) {\r\n return \"function\" === typeof node.remove\r\n}\r\n\r\nfunction revertMutation(_ref) {\r\n var addedNodes = _ref.addedNodes,\r\n type = _ref.type;\r\n switch (type) {\r\n case \"childList\":\r\n addedNodes.forEach((function(n) {\r\n return isChildNode(n) && n.remove()\r\n }))\r\n }\r\n}\r\n\r\nfunction recordMutations(target, func) {\r\n var observer = new MutationObserver((function() {}));\r\n observer.observe(target, {\r\n childList: true,\r\n subtree: false\r\n });\r\n func();\r\n var mutations = observer.takeRecords();\r\n observer.disconnect();\r\n return function() {\r\n return mutations.forEach(revertMutation)\r\n }\r\n}\r\n","/**\r\n * DevExtreme (cjs/renovation/component_wrapper/common/template_wrapper.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.TemplateWrapper = void 0;\r\nexports.buildTemplateArgs = buildTemplateArgs;\r\nvar _inferno = require(\"@devextreme/runtime/inferno\");\r\nvar _inferno2 = require(\"inferno\");\r\nvar _shallow_equals = require(\"../../utils/shallow_equals\");\r\nvar _renderer = _interopRequireDefault(require(\"../../../core/renderer\"));\r\nvar _dom_adapter = _interopRequireDefault(require(\"../../../core/dom_adapter\"));\r\nvar _element = require(\"../../../core/element\");\r\nvar _type = require(\"../../../core/utils/type\");\r\nvar _common = require(\"../../../core/utils/common\");\r\nvar _mutations_recording = require(\"./mutations_recording\");\r\nvar _excluded = [\"isEqual\"];\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _toConsumableArray(arr) {\r\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread()\r\n}\r\n\r\nfunction _nonIterableSpread() {\r\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _unsupportedIterableToArray(o, minLen) {\r\n if (!o) {\r\n return\r\n }\r\n if (\"string\" === typeof o) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n var n = Object.prototype.toString.call(o).slice(8, -1);\r\n if (\"Object\" === n && o.constructor) {\r\n n = o.constructor.name\r\n }\r\n if (\"Map\" === n || \"Set\" === n) {\r\n return Array.from(o)\r\n }\r\n if (\"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n}\r\n\r\nfunction _iterableToArray(iter) {\r\n if (\"undefined\" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter[\"@@iterator\"]) {\r\n return Array.from(iter)\r\n }\r\n}\r\n\r\nfunction _arrayWithoutHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return _arrayLikeToArray(arr)\r\n }\r\n}\r\n\r\nfunction _arrayLikeToArray(arr, len) {\r\n if (null == len || len > arr.length) {\r\n len = arr.length\r\n }\r\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\r\n arr2[i] = arr[i]\r\n }\r\n return arr2\r\n}\r\n\r\nfunction _assertThisInitialized(self) {\r\n if (void 0 === self) {\r\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\")\r\n }\r\n return self\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\n\r\nfunction _objectWithoutProperties(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = _objectWithoutPropertiesLoose(source, excluded);\r\n var key, i;\r\n if (Object.getOwnPropertySymbols) {\r\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\r\n for (i = 0; i < sourceSymbolKeys.length; i++) {\r\n key = sourceSymbolKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n }\r\n return target\r\n}\r\n\r\nfunction _objectWithoutPropertiesLoose(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = {};\r\n var sourceKeys = Object.keys(source);\r\n var key, i;\r\n for (i = 0; i < sourceKeys.length; i++) {\r\n key = sourceKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n return target\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\n\r\nfunction isDxElementWrapper(element) {\r\n return !!element.toArray\r\n}\r\n\r\nfunction buildTemplateArgs(model, template) {\r\n var _model$data;\r\n var args = {\r\n template: template,\r\n model: _extends({}, model)\r\n };\r\n var _ref = null !== (_model$data = model.data) && void 0 !== _model$data ? _model$data : {},\r\n isEqual = _ref.isEqual,\r\n data = _objectWithoutProperties(_ref, _excluded);\r\n if (isEqual) {\r\n args.model.data = data;\r\n args.isEqual = isEqual\r\n }\r\n return args\r\n}\r\n\r\nfunction buildTemplateContent(props, container) {\r\n var _props$model;\r\n var _ref2 = null !== (_props$model = props.model) && void 0 !== _props$model ? _props$model : {\r\n data: {}\r\n },\r\n data = _ref2.data,\r\n index = _ref2.index;\r\n if (data) {\r\n Object.keys(data).forEach((function(name) {\r\n if (data[name] && _dom_adapter.default.isNode(data[name])) {\r\n data[name] = (0, _element.getPublicElement)((0, _renderer.default)(data[name]))\r\n }\r\n }))\r\n }\r\n var rendered = props.template.render(_extends({\r\n container: container,\r\n transclude: props.transclude\r\n }, {\r\n renovated: props.renovated\r\n }, !props.transclude ? {\r\n model: data\r\n } : {}, !props.transclude && Number.isFinite(index) ? {\r\n index: index\r\n } : {}));\r\n if (void 0 === rendered) {\r\n return []\r\n }\r\n return isDxElementWrapper(rendered) ? rendered.toArray() : [(0, _renderer.default)(rendered).get(0)]\r\n}\r\nvar TemplateWrapper = function(_InfernoComponent) {\r\n _inheritsLoose(TemplateWrapper, _InfernoComponent);\r\n\r\n function TemplateWrapper(props) {\r\n var _this;\r\n _this = _InfernoComponent.call(this, props) || this;\r\n _this.cleanParent = _common.noop;\r\n _this.renderTemplate = _this.renderTemplate.bind(_assertThisInitialized(_this));\r\n return _this\r\n }\r\n var _proto = TemplateWrapper.prototype;\r\n _proto.renderTemplate = function() {\r\n var _this2 = this;\r\n var node = (0, _inferno2.findDOMfromVNode)(this.$LI, true);\r\n var container = node.parentElement;\r\n this.cleanParent();\r\n this.cleanParent = (0, _mutations_recording.recordMutations)(container, (function() {\r\n var content = buildTemplateContent(_this2.props, (0, _element.getPublicElement)((0, _renderer.default)(container)));\r\n if (0 !== content.length && !(1 === content.length && content[0] === container)) {\r\n node.after.apply(node, _toConsumableArray(content))\r\n }\r\n }))\r\n };\r\n _proto.shouldComponentUpdate = function(nextProps) {\r\n var _this$props = this.props,\r\n model = _this$props.model,\r\n template = _this$props.template;\r\n var isEqual = nextProps.isEqual,\r\n nextModel = nextProps.model,\r\n nextTemplate = nextProps.template;\r\n var equalityComparer = null !== isEqual && void 0 !== isEqual ? isEqual : _shallow_equals.shallowEquals;\r\n if (template !== nextTemplate) {\r\n return true\r\n }\r\n if (!(0, _type.isDefined)(model) || !(0, _type.isDefined)(nextModel)) {\r\n return model !== nextModel\r\n }\r\n var data = model.data,\r\n index = model.index;\r\n var nextData = nextModel.data,\r\n nextIndex = nextModel.index;\r\n if (index !== nextIndex) {\r\n return true\r\n }\r\n return !equalityComparer(data, nextData)\r\n };\r\n _proto.createEffects = function() {\r\n return [new _inferno.InfernoEffect(this.renderTemplate, [this.props.template, this.props.model])]\r\n };\r\n _proto.updateEffects = function() {\r\n this._effects[0].update([this.props.template, this.props.model])\r\n };\r\n _proto.componentWillUnmount = function() {\r\n this.cleanParent()\r\n };\r\n _proto.render = function() {\r\n return null\r\n };\r\n return TemplateWrapper\r\n}(_inferno.InfernoComponent);\r\nexports.TemplateWrapper = TemplateWrapper;\r\n","/**\r\n * DevExtreme (cjs/renovation/component_wrapper/editors/check_box.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _editor = _interopRequireDefault(require(\"./editor\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar CheckBox = function(_Editor) {\r\n _inheritsLoose(CheckBox, _Editor);\r\n\r\n function CheckBox() {\r\n return _Editor.apply(this, arguments) || this\r\n }\r\n var _proto = CheckBox.prototype;\r\n _proto._useTemplates = function() {\r\n return false\r\n };\r\n _proto._isFocused = function() {\r\n var focusTarget = this.$element()[0];\r\n return focusTarget.classList.contains(\"dx-state-focused\")\r\n };\r\n _proto.getSupportedKeyNames = function() {\r\n return [\"space\"]\r\n };\r\n _proto.getProps = function() {\r\n var props = _Editor.prototype.getProps.call(this);\r\n if (null !== props.value) {\r\n props.value = Boolean(props.value)\r\n }\r\n return props\r\n };\r\n return CheckBox\r\n}(_editor.default);\r\nexports.default = CheckBox;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/renovation/component_wrapper/editors/editor.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _type = require(\"../../../core/utils/type\");\r\nvar _component = _interopRequireDefault(require(\"../common/component\"));\r\nvar _validation_engine = _interopRequireDefault(require(\"../../../ui/validation_engine\"));\r\nvar _extend = require(\"../../../core/utils/extend\");\r\nvar _renderer = _interopRequireDefault(require(\"../../../core/renderer\"));\r\nvar _element_data = require(\"../../../core/element_data\");\r\nvar _callbacks = _interopRequireDefault(require(\"../../../core/utils/callbacks\"));\r\nvar _editor = _interopRequireDefault(require(\"../../../ui/editor/editor\"));\r\nvar _dom = require(\"../../utils/dom\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar INVALID_MESSAGE_AUTO = \"dx-invalid-message-auto\";\r\nvar VALIDATION_TARGET = \"dx-validation-target\";\r\nvar Editor = function(_Component) {\r\n _inheritsLoose(Editor, _Component);\r\n\r\n function Editor() {\r\n return _Component.apply(this, arguments) || this\r\n }\r\n var _proto = Editor.prototype;\r\n _proto.getProps = function() {\r\n var _this = this;\r\n var props = _Component.prototype.getProps.call(this);\r\n props.onFocusIn = function() {\r\n var isValidationMessageShownOnFocus = \"auto\" === _this.option(\"validationMessageMode\");\r\n if (isValidationMessageShownOnFocus) {\r\n var $validationMessageWrapper = (0, _renderer.default)((0, _dom.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((function() {\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 = function(e) {\r\n _this._valueChangeEventInstance = e\r\n };\r\n return props\r\n };\r\n _proto._createElement = function(element) {\r\n _Component.prototype._createElement.call(this, element);\r\n this.showValidationMessageTimeout = void 0;\r\n this.validationRequest = (0, _callbacks.default)();\r\n (0, _element_data.data)(this.$element()[0], VALIDATION_TARGET, this)\r\n };\r\n _proto._render = function() {\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 _proto._initializeComponent = function() {\r\n _Component.prototype._initializeComponent.call(this);\r\n this._valueChangeAction = this._createActionByOption(\"onValueChanged\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n };\r\n _proto._initOptions = function(options) {\r\n _Component.prototype._initOptions.call(this, options);\r\n this.option(_validation_engine.default.initValidationOptions(options))\r\n };\r\n _proto._getDefaultOptions = function() {\r\n return (0, _extend.extend)(_Component.prototype._getDefaultOptions.call(this), {\r\n validationMessageOffset: {\r\n h: 0,\r\n v: 0\r\n },\r\n validationTooltipOptions: {}\r\n })\r\n };\r\n _proto._bindInnerWidgetOptions = function(innerWidget, optionsContainer) {\r\n var _this2 = this;\r\n var innerWidgetOptions = (0, _extend.extend)({}, innerWidget.option());\r\n var syncOptions = function() {\r\n return _this2._silent(optionsContainer, innerWidgetOptions)\r\n };\r\n syncOptions();\r\n innerWidget.on(\"optionChanged\", syncOptions)\r\n };\r\n _proto._raiseValidation = function(value, previousValue) {\r\n var areValuesEmpty = !(0, _type.isDefined)(value) && !(0, _type.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 _proto._raiseValueChangeAction = function(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 _proto._optionChanged = function(option) {\r\n var name = option.name,\r\n previousValue = option.previousValue,\r\n value = option.value;\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(_validation_engine.default.synchronizeValidationOptions(option, this.option()))\r\n }\r\n _Component.prototype._optionChanged.call(this, option)\r\n };\r\n _proto.reset = function() {\r\n var _this$_getDefaultOpti = this._getDefaultOptions(),\r\n value = _this$_getDefaultOpti.value;\r\n this.option({\r\n value: value\r\n })\r\n };\r\n _proto._dispose = function() {\r\n _Component.prototype._dispose.call(this);\r\n (0, _element_data.data)(this.element(), VALIDATION_TARGET, null);\r\n if (this.showValidationMessageTimeout) {\r\n clearTimeout(this.showValidationMessageTimeout)\r\n }\r\n };\r\n return Editor\r\n}(_component.default);\r\nexports.default = Editor;\r\nvar prevIsEditor = _editor.default.isEditor;\r\nvar newIsEditor = function(instance) {\r\n return prevIsEditor(instance) || instance instanceof Editor\r\n};\r\nEditor.isEditor = newIsEditor;\r\n_editor.default.isEditor = newIsEditor;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/renovation/component_wrapper/grid_pager.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.GridPagerWrapper = void 0;\r\nvar _component = _interopRequireDefault(require(\"./common/component\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar GridPagerWrapper = function(_Component) {\r\n _inheritsLoose(GridPagerWrapper, _Component);\r\n\r\n function GridPagerWrapper() {\r\n return _Component.apply(this, arguments) || this\r\n }\r\n var _proto = GridPagerWrapper.prototype;\r\n _proto._optionChanged = function(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 _Component.prototype._optionChanged.call(this, args)\r\n };\r\n return GridPagerWrapper\r\n}(_component.default);\r\nexports.GridPagerWrapper = GridPagerWrapper;\r\n","/**\r\n * DevExtreme (cjs/renovation/component_wrapper/scheduler/date_table.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.DateTable = void 0;\r\nvar _component = _interopRequireDefault(require(\"../common/component\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar DateTable = function(_Component) {\r\n _inheritsLoose(DateTable, _Component);\r\n\r\n function DateTable() {\r\n return _Component.apply(this, arguments) || this\r\n }\r\n var _proto = DateTable.prototype;\r\n _proto._setOptionsByReference = function() {\r\n _Component.prototype._setOptionsByReference.call(this);\r\n this._optionsByReference = _extends({}, this._optionsByReference, {\r\n dataCellTemplate: true\r\n })\r\n };\r\n return DateTable\r\n}(_component.default);\r\nexports.DateTable = DateTable;\r\n","/**\r\n * DevExtreme (cjs/renovation/component_wrapper/scheduler/group_panel.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.GroupPanelWrapper = void 0;\r\nvar _component = _interopRequireDefault(require(\"../common/component\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar GroupPanelWrapper = function(_Component) {\r\n _inheritsLoose(GroupPanelWrapper, _Component);\r\n\r\n function GroupPanelWrapper() {\r\n return _Component.apply(this, arguments) || this\r\n }\r\n var _proto = GroupPanelWrapper.prototype;\r\n _proto._setOptionsByReference = function() {\r\n _Component.prototype._setOptionsByReference.call(this);\r\n this._optionsByReference = _extends({}, this._optionsByReference, {\r\n resourceCellTemplate: true\r\n })\r\n };\r\n return GroupPanelWrapper\r\n}(_component.default);\r\nexports.GroupPanelWrapper = GroupPanelWrapper;\r\n","/**\r\n * DevExtreme (cjs/renovation/component_wrapper/scheduler/header_panel.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.HeaderPanel = void 0;\r\nvar _component = _interopRequireDefault(require(\"../common/component\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar HeaderPanel = function(_Component) {\r\n _inheritsLoose(HeaderPanel, _Component);\r\n\r\n function HeaderPanel() {\r\n return _Component.apply(this, arguments) || this\r\n }\r\n var _proto = HeaderPanel.prototype;\r\n _proto._setOptionsByReference = function() {\r\n _Component.prototype._setOptionsByReference.call(this);\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 return HeaderPanel\r\n}(_component.default);\r\nexports.HeaderPanel = HeaderPanel;\r\n","/**\r\n * DevExtreme (cjs/renovation/component_wrapper/scheduler/time_panel.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.TimePanel = void 0;\r\nvar _component = _interopRequireDefault(require(\"../common/component\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar TimePanel = function(_Component) {\r\n _inheritsLoose(TimePanel, _Component);\r\n\r\n function TimePanel() {\r\n return _Component.apply(this, arguments) || this\r\n }\r\n var _proto = TimePanel.prototype;\r\n _proto._setOptionsByReference = function() {\r\n _Component.prototype._setOptionsByReference.call(this);\r\n this._optionsByReference = _extends({}, this._optionsByReference, {\r\n timeCellTemplate: true\r\n })\r\n };\r\n return TimePanel\r\n}(_component.default);\r\nexports.TimePanel = TimePanel;\r\n","/**\r\n * DevExtreme (cjs/renovation/component_wrapper/utils/update_props_immutable.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.updatePropsImmutable = updatePropsImmutable;\r\nvar _type = require(\"../../../core/utils/type\");\r\nvar _data = require(\"../../../core/utils/data\");\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\n\r\nfunction _toConsumableArray(arr) {\r\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread()\r\n}\r\n\r\nfunction _nonIterableSpread() {\r\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _unsupportedIterableToArray(o, minLen) {\r\n if (!o) {\r\n return\r\n }\r\n if (\"string\" === typeof o) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n var n = Object.prototype.toString.call(o).slice(8, -1);\r\n if (\"Object\" === n && o.constructor) {\r\n n = o.constructor.name\r\n }\r\n if (\"Map\" === n || \"Set\" === n) {\r\n return Array.from(o)\r\n }\r\n if (\"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n}\r\n\r\nfunction _iterableToArray(iter) {\r\n if (\"undefined\" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter[\"@@iterator\"]) {\r\n return Array.from(iter)\r\n }\r\n}\r\n\r\nfunction _arrayWithoutHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return _arrayLikeToArray(arr)\r\n }\r\n}\r\n\r\nfunction _arrayLikeToArray(arr, len) {\r\n if (null == len || len > arr.length) {\r\n len = arr.length\r\n }\r\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\r\n arr2[i] = arr[i]\r\n }\r\n return arr2\r\n}\r\n\r\nfunction cloneObjectValue(value) {\r\n return Array.isArray(value) ? _toConsumableArray(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 ((0, _type.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\n\r\nfunction 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 ((0, _type.isPlainObject)(currentPropsValue) || name !== fullName && Array.isArray(currentPropsValue)) {\r\n result[name] = cloneObjectProp(currentPropsValue, prevPropsValue, (0, _data.getPathParts)(fullName).slice(1))\r\n } else {\r\n result[name] = currentPropsValue\r\n }\r\n}\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/button.j.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.default = void 0;\r\nvar _component_registrator = _interopRequireDefault(require(\"../../core/component_registrator\"));\r\nvar _button = _interopRequireDefault(require(\"../component_wrapper/button\"));\r\nvar _button2 = require(\"./button\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar Button = function(_BaseComponent) {\r\n _inheritsLoose(Button, _BaseComponent);\r\n\r\n function Button() {\r\n return _BaseComponent.apply(this, arguments) || this\r\n }\r\n var _proto = Button.prototype;\r\n _proto.getProps = function() {\r\n var props = _BaseComponent.prototype.getProps.call(this);\r\n props.onKeyDown = this._wrapKeyDownHandler(props.onKeyDown);\r\n return props\r\n };\r\n _proto.focus = function() {\r\n var _this$viewRef;\r\n return null === (_this$viewRef = this.viewRef) || void 0 === _this$viewRef ? void 0 : _this$viewRef.focus.apply(_this$viewRef, arguments)\r\n };\r\n _proto.activate = function() {\r\n var _this$viewRef2;\r\n return null === (_this$viewRef2 = this.viewRef) || void 0 === _this$viewRef2 ? void 0 : _this$viewRef2.activate.apply(_this$viewRef2, arguments)\r\n };\r\n _proto.deactivate = function() {\r\n var _this$viewRef3;\r\n return null === (_this$viewRef3 = this.viewRef) || void 0 === _this$viewRef3 ? void 0 : _this$viewRef3.deactivate.apply(_this$viewRef3, arguments)\r\n };\r\n _proto._getActionConfigs = function() {\r\n return {\r\n onClick: {\r\n excludeValidators: [\"readOnly\"]\r\n },\r\n onSubmit: {}\r\n }\r\n };\r\n _createClass(Button, [{\r\n key: \"_propsInfo\",\r\n get: function() {\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 }, {\r\n key: \"_viewComponent\",\r\n get: function() {\r\n return _button2.Button\r\n }\r\n }]);\r\n return Button\r\n}(_button.default);\r\nexports.default = Button;\r\n(0, _component_registrator.default)(\"dxButton\", Button);\r\nButton.defaultOptions = _button2.defaultOptions;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/button.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.defaultOptionRules = exports.ButtonProps = exports.Button = void 0;\r\nexports.defaultOptions = defaultOptions;\r\nexports.viewFunction = void 0;\r\nvar _inferno = require(\"inferno\");\r\nvar _inferno2 = require(\"@devextreme/runtime/inferno\");\r\nvar _utils = require(\"../../core/options/utils\");\r\nvar _devices = _interopRequireDefault(require(\"../../core/devices\"));\r\nvar _themes = require(\"../../ui/themes\");\r\nvar _short = require(\"../../events/short\");\r\nvar _combine_classes = require(\"../utils/combine_classes\");\r\nvar _icon = require(\"../../core/utils/icon\");\r\nvar _inflector = require(\"../../core/utils/inflector\");\r\nvar _icon2 = require(\"./common/icon\");\r\nvar _errors = _interopRequireDefault(require(\"../../core/errors\"));\r\nvar _ink_ripple = require(\"./common/ink_ripple\");\r\nvar _widget = require(\"./common/widget\");\r\nvar _base_props = require(\"./common/base_props\");\r\nvar _message = _interopRequireDefault(require(\"../../localization/message\"));\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\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\n\r\nfunction _objectWithoutProperties(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = _objectWithoutPropertiesLoose(source, excluded);\r\n var key, i;\r\n if (Object.getOwnPropertySymbols) {\r\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\r\n for (i = 0; i < sourceSymbolKeys.length; i++) {\r\n key = sourceSymbolKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n }\r\n return target\r\n}\r\n\r\nfunction _objectWithoutPropertiesLoose(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = {};\r\n var sourceKeys = Object.keys(source);\r\n var key, i;\r\n for (i = 0; i < sourceKeys.length; i++) {\r\n key = sourceKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n return target\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _assertThisInitialized(self) {\r\n if (void 0 === self) {\r\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\")\r\n }\r\n return self\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\n\r\nfunction _defineProperty(obj, key, value) {\r\n key = _toPropertyKey(key);\r\n if (key in obj) {\r\n Object.defineProperty(obj, key, {\r\n value: value,\r\n enumerable: true,\r\n configurable: true,\r\n writable: true\r\n })\r\n } else {\r\n obj[key] = value\r\n }\r\n return obj\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\nvar stylingModes = [\"outlined\", \"text\", \"contained\"];\r\nvar getCssClasses = function(model) {\r\n var _classesMap;\r\n var icon = model.icon,\r\n iconPosition = model.iconPosition,\r\n stylingMode = model.stylingMode,\r\n text = model.text,\r\n type = model.type;\r\n var isValidStylingMode = stylingMode && stylingModes.includes(stylingMode);\r\n var classesMap = (_classesMap = {\r\n \"dx-button\": true\r\n }, _defineProperty(_classesMap, \"dx-button-mode-\".concat(isValidStylingMode ? stylingMode : \"contained\"), true), _defineProperty(_classesMap, \"dx-button-\".concat(null !== type && void 0 !== type ? type : \"normal\"), true), _defineProperty(_classesMap, \"dx-button-has-text\", !!text), _defineProperty(_classesMap, \"dx-button-has-icon\", !!icon), _defineProperty(_classesMap, \"dx-button-icon-right\", \"left\" !== iconPosition), _classesMap);\r\n return (0, _combine_classes.combineClasses)(classesMap)\r\n};\r\nvar viewFunction = function(viewModel) {\r\n var _viewModel$props = viewModel.props,\r\n children = _viewModel$props.children,\r\n iconPosition = _viewModel$props.iconPosition,\r\n IconTemplate = _viewModel$props.iconTemplate,\r\n ButtonTemplate = _viewModel$props.template,\r\n text = _viewModel$props.text;\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) && (0, _inferno.createComponentVNode)(2, _icon2.Icon, {\r\n source: viewModel.iconSource,\r\n position: iconPosition,\r\n iconTemplate: IconTemplate\r\n });\r\n return (0, _inferno.normalizeProps)((0, _inferno.createComponentVNode)(2, _widget.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: (0, _inferno.createVNode)(1, \"div\", \"dx-button-content\", [viewModel.props.template && ButtonTemplate({\r\n data: viewModel.buttonTemplateData\r\n }), !viewModel.props.template && children, isIconLeft && iconComponent, renderText && (0, _inferno.createVNode)(1, \"span\", \"dx-button-text\", text, 0), !isIconLeft && iconComponent, viewModel.props.useSubmitBehavior && (0, _inferno.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 && (0, _inferno.createComponentVNode)(2, _ink_ripple.InkRipple, {\r\n config: viewModel.inkRippleConfig\r\n }, null, viewModel.inkRippleRef)], 0, null, null, viewModel.contentRef)\r\n }), null, viewModel.widgetRef))\r\n};\r\nexports.viewFunction = viewFunction;\r\nvar ButtonProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(_base_props.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\nexports.ButtonProps = ButtonProps;\r\nvar defaultOptionRules = (0, _utils.createDefaultOptionRules)([{\r\n device: function() {\r\n return \"desktop\" === _devices.default.real().deviceType && !_devices.default.isSimulator()\r\n },\r\n options: {\r\n focusStateEnabled: true\r\n }\r\n}, {\r\n device: function() {\r\n return (0, _themes.isMaterial)((0, _themes.current)())\r\n },\r\n options: {\r\n useInkRipple: true\r\n }\r\n}]);\r\nexports.defaultOptionRules = defaultOptionRules;\r\nvar getTemplate = function(TemplateProp) {\r\n return TemplateProp && (TemplateProp.defaultProps ? function(props) {\r\n return (0, _inferno.normalizeProps)((0, _inferno.createComponentVNode)(2, TemplateProp, _extends({}, props)))\r\n } : TemplateProp)\r\n};\r\nvar Button = function(_InfernoWrapperCompon) {\r\n _inheritsLoose(Button, _InfernoWrapperCompon);\r\n\r\n function Button(props) {\r\n var _this;\r\n _this = _InfernoWrapperCompon.call(this, props) || this;\r\n _this.state = {};\r\n _this.contentRef = (0, _inferno.createRef)();\r\n _this.inkRippleRef = (0, _inferno.createRef)();\r\n _this.submitInputRef = (0, _inferno.createRef)();\r\n _this.widgetRef = (0, _inferno.createRef)();\r\n _this.__getterCache = {};\r\n _this.focus = _this.focus.bind(_assertThisInitialized(_this));\r\n _this.activate = _this.activate.bind(_assertThisInitialized(_this));\r\n _this.deactivate = _this.deactivate.bind(_assertThisInitialized(_this));\r\n _this.submitEffect = _this.submitEffect.bind(_assertThisInitialized(_this));\r\n _this.checkDeprecation = _this.checkDeprecation.bind(_assertThisInitialized(_this));\r\n _this.onActive = _this.onActive.bind(_assertThisInitialized(_this));\r\n _this.onInactive = _this.onInactive.bind(_assertThisInitialized(_this));\r\n _this.onWidgetClick = _this.onWidgetClick.bind(_assertThisInitialized(_this));\r\n _this.keyDown = _this.keyDown.bind(_assertThisInitialized(_this));\r\n return _this\r\n }\r\n var _proto = Button.prototype;\r\n _proto.createEffects = function() {\r\n return [new _inferno2.InfernoEffect(this.submitEffect, [this.props.onSubmit, this.props.useSubmitBehavior]), new _inferno2.InfernoEffect(this.checkDeprecation, [this.props.type]), (0, _inferno2.createReRenderEffect)()]\r\n };\r\n _proto.updateEffects = function() {\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 _proto.submitEffect = function() {\r\n var _this2 = this;\r\n var _this$props = this.props,\r\n onSubmit = _this$props.onSubmit,\r\n useSubmitBehavior = _this$props.useSubmitBehavior;\r\n if (useSubmitBehavior && onSubmit) {\r\n _short.click.on(this.submitInputRef.current, (function(event) {\r\n return onSubmit({\r\n event: event,\r\n submitInput: _this2.submitInputRef.current\r\n })\r\n }), {\r\n namespace: \"UIFeedback\"\r\n });\r\n return function() {\r\n return _short.click.off(_this2.submitInputRef.current, {\r\n namespace: \"UIFeedback\"\r\n })\r\n }\r\n }\r\n return\r\n };\r\n _proto.checkDeprecation = function() {\r\n var type = this.props.type;\r\n if (\"back\" === type) {\r\n _errors.default.log(\"W0016\", \"type\", \"back\", \"22.2\", \"Use the 'back' icon instead\")\r\n }\r\n };\r\n _proto.onActive = function(event) {\r\n var useInkRipple = this.props.useInkRipple;\r\n useInkRipple && this.inkRippleRef.current.showWave({\r\n element: this.contentRef.current,\r\n event: event\r\n })\r\n };\r\n _proto.onInactive = function(event) {\r\n var useInkRipple = this.props.useInkRipple;\r\n useInkRipple && this.inkRippleRef.current.hideWave({\r\n element: this.contentRef.current,\r\n event: event\r\n })\r\n };\r\n _proto.onWidgetClick = function(event) {\r\n var _this$props2 = this.props,\r\n onClick = _this$props2.onClick,\r\n useSubmitBehavior = _this$props2.useSubmitBehavior;\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 _proto.keyDown = function(e) {\r\n var onKeyDown = this.props.onKeyDown;\r\n var keyName = e.keyName,\r\n originalEvent = e.originalEvent,\r\n which = e.which;\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.onWidgetClick(originalEvent)\r\n }\r\n return\r\n };\r\n _proto.focus = function() {\r\n this.widgetRef.current.focus()\r\n };\r\n _proto.activate = function() {\r\n this.widgetRef.current.activate()\r\n };\r\n _proto.deactivate = function() {\r\n this.widgetRef.current.deactivate()\r\n };\r\n _proto.componentWillUpdate = function(nextProps, nextState, context) {\r\n _InfernoWrapperCompon.prototype.componentWillUpdate.call(this);\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 _proto.render = function() {\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 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 _createClass(Button, [{\r\n key: \"aria\",\r\n get: function() {\r\n var _this$props3 = this.props,\r\n icon = _this$props3.icon,\r\n text = _this$props3.text;\r\n var label = null !== text && void 0 !== text ? text : \"\";\r\n if (!text && icon) {\r\n var iconSource = (0, _icon.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 = _message.default.format((0, _inflector.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 }, {\r\n key: \"cssClasses\",\r\n get: function() {\r\n return getCssClasses(this.props)\r\n }\r\n }, {\r\n key: \"iconSource\",\r\n get: function() {\r\n var _this$props4 = this.props,\r\n icon = _this$props4.icon,\r\n type = _this$props4.type;\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 }, {\r\n key: \"inkRippleConfig\",\r\n get: function() {\r\n var _this3 = this;\r\n if (void 0 !== this.__getterCache.inkRippleConfig) {\r\n return this.__getterCache.inkRippleConfig\r\n }\r\n return this.__getterCache.inkRippleConfig = (_this3$props = _this3.props, icon = _this3$props.icon, text = _this3$props.text, type = _this3$props.type, !text && icon || \"back\" === type ? {\r\n isCentered: true,\r\n useHoldAnimation: false,\r\n waveSizeCoefficient: 1\r\n } : {});\r\n var _this3$props, icon, text, type\r\n }\r\n }, {\r\n key: \"buttonTemplateData\",\r\n get: function() {\r\n var _this$props5 = this.props,\r\n icon = _this$props5.icon,\r\n templateData = _this$props5.templateData,\r\n text = _this$props5.text;\r\n return _extends({\r\n icon: icon,\r\n text: text\r\n }, templateData)\r\n }\r\n }, {\r\n key: \"restAttributes\",\r\n get: function() {\r\n var _this$props6 = this.props,\r\n restProps = (_this$props6.accessKey, _this$props6.activeStateEnabled, _this$props6.children, _this$props6.className, _this$props6.disabled, _this$props6.focusStateEnabled, _this$props6.height, _this$props6.hint, _this$props6.hoverStateEnabled, _this$props6.icon, _this$props6.iconPosition, _this$props6.iconTemplate, _this$props6.onClick, _this$props6.onKeyDown, _this$props6.onSubmit, _this$props6.pressed, _this$props6.rtlEnabled, _this$props6.stylingMode, _this$props6.tabIndex, _this$props6.template, _this$props6.templateData, _this$props6.text, _this$props6.type, _this$props6.useInkRipple, _this$props6.useSubmitBehavior, _this$props6.visible, _this$props6.width, _objectWithoutProperties(_this$props6, _excluded));\r\n return restProps\r\n }\r\n }]);\r\n return Button\r\n}(_inferno2.InfernoWrapperComponent);\r\nexports.Button = Button;\r\nButton.defaultProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(ButtonProps), Object.getOwnPropertyDescriptors(_extends({}, (0, _utils.convertRulesToOptions)(defaultOptionRules)))));\r\nvar __defaultOptionRules = [];\r\n\r\nfunction defaultOptions(rule) {\r\n __defaultOptionRules.push(rule);\r\n Button.defaultProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(Button.defaultProps), Object.getOwnPropertyDescriptors((0, _utils.convertRulesToOptions)(defaultOptionRules)), Object.getOwnPropertyDescriptors((0, _utils.convertRulesToOptions)(__defaultOptionRules))))\r\n}\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/common/base_props.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.BaseWidgetProps = void 0;\r\nvar 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\nexports.BaseWidgetProps = BaseWidgetProps;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/common/dom_component_wrapper.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.viewFunction = exports.DomComponentWrapperProps = exports.DomComponentWrapper = void 0;\r\nvar _inferno = require(\"inferno\");\r\nvar _inferno2 = require(\"@devextreme/runtime/inferno\");\r\nvar _config_context = require(\"../../common/config_context\");\r\nvar _get_updated_options = require(\"./utils/get_updated_options\");\r\nvar _excluded = [\"valueChange\"],\r\n _excluded2 = [\"componentProps\", \"componentType\", \"templateNames\"];\r\n\r\nfunction _objectWithoutProperties(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = _objectWithoutPropertiesLoose(source, excluded);\r\n var key, i;\r\n if (Object.getOwnPropertySymbols) {\r\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\r\n for (i = 0; i < sourceSymbolKeys.length; i++) {\r\n key = sourceSymbolKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n }\r\n return target\r\n}\r\n\r\nfunction _objectWithoutPropertiesLoose(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = {};\r\n var sourceKeys = Object.keys(source);\r\n var key, i;\r\n for (i = 0; i < sourceKeys.length; i++) {\r\n key = sourceKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n return target\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _assertThisInitialized(self) {\r\n if (void 0 === self) {\r\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\")\r\n }\r\n return self\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\nvar normalizeProps = function(props) {\r\n return Object.keys(props).reduce((function(accumulator, key) {\r\n if (void 0 !== props[key]) {\r\n accumulator[key] = props[key]\r\n }\r\n return accumulator\r\n }), {})\r\n};\r\nvar viewFunction = function(_ref) {\r\n var className = _ref.props.componentProps.className,\r\n restAttributes = _ref.restAttributes,\r\n widgetRef = _ref.widgetRef;\r\n return normalizeProps((0, _inferno.createVNode)(1, \"div\", className, null, 1, _extends({}, restAttributes), null, widgetRef))\r\n};\r\nexports.viewFunction = viewFunction;\r\nvar DomComponentWrapperProps = {};\r\nexports.DomComponentWrapperProps = DomComponentWrapperProps;\r\nvar DomComponentWrapper = function(_InfernoComponent) {\r\n _inheritsLoose(DomComponentWrapper, _InfernoComponent);\r\n\r\n function DomComponentWrapper(props) {\r\n var _this;\r\n _this = _InfernoComponent.call(this, props) || this;\r\n _this.state = {};\r\n _this.widgetRef = (0, _inferno.createRef)();\r\n _this.getInstance = _this.getInstance.bind(_assertThisInitialized(_this));\r\n _this.setupWidget = _this.setupWidget.bind(_assertThisInitialized(_this));\r\n _this.updateWidget = _this.updateWidget.bind(_assertThisInitialized(_this));\r\n return _this\r\n }\r\n var _proto = DomComponentWrapper.prototype;\r\n _proto.createEffects = function() {\r\n return [new _inferno2.InfernoEffect(this.setupWidget, []), new _inferno2.InfernoEffect(this.updateWidget, [this.props.componentProps, this.config, this.props.templateNames])]\r\n };\r\n _proto.updateEffects = function() {\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 _proto.setupWidget = function() {\r\n var _this2 = this;\r\n var componentInstance = new this.props.componentType(this.widgetRef.current, this.properties);\r\n this.instance = componentInstance;\r\n return function() {\r\n componentInstance.dispose();\r\n _this2.instance = null\r\n }\r\n };\r\n _proto.updateWidget = function() {\r\n var instance = this.getInstance();\r\n if (!instance) {\r\n return\r\n }\r\n var updatedOptions = (0, _get_updated_options.getUpdatedOptions)(this.prevProps || {}, this.properties);\r\n if (updatedOptions.length) {\r\n instance.beginUpdate();\r\n updatedOptions.forEach((function(_ref2) {\r\n var path = _ref2.path,\r\n value = _ref2.value;\r\n instance.option(path, value)\r\n }));\r\n instance.endUpdate()\r\n }\r\n this.prevProps = this.properties\r\n };\r\n _proto.getInstance = function() {\r\n return this.instance\r\n };\r\n _proto.render = function() {\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 _createClass(DomComponentWrapper, [{\r\n key: \"config\",\r\n get: function() {\r\n if (this.context[_config_context.ConfigContext.id]) {\r\n return this.context[_config_context.ConfigContext.id]\r\n }\r\n return _config_context.ConfigContext.defaultValue\r\n }\r\n }, {\r\n key: \"properties\",\r\n get: function() {\r\n var _this$config, _this3 = this;\r\n var normalizedProps = normalizeProps(this.props.componentProps);\r\n var valueChange = normalizedProps.valueChange,\r\n restProps = _objectWithoutProperties(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 = function(_ref3) {\r\n var value = _ref3.value;\r\n return valueChange(value)\r\n }\r\n }\r\n var templates = this.props.templateNames;\r\n templates.forEach((function(name) {\r\n if ((0, _inferno2.hasTemplate)(name, properties, _this3)) {\r\n properties[name] = function(item, index, container) {\r\n (0, _inferno2.renderTemplate)(_this3.props.componentProps[name], {\r\n item: item,\r\n index: index,\r\n container: container\r\n }, _this3)\r\n }\r\n }\r\n }));\r\n return properties\r\n }\r\n }, {\r\n key: \"restAttributes\",\r\n get: function() {\r\n var _this$props = this.props,\r\n restProps = (_this$props.componentProps, _this$props.componentType, _this$props.templateNames, _objectWithoutProperties(_this$props, _excluded2));\r\n return restProps\r\n }\r\n }]);\r\n return DomComponentWrapper\r\n}(_inferno2.InfernoComponent);\r\nexports.DomComponentWrapper = DomComponentWrapper;\r\nDomComponentWrapper.defaultProps = DomComponentWrapperProps;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/common/icon.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.viewFunction = exports.IconProps = exports.Icon = void 0;\r\nvar _inferno = require(\"inferno\");\r\nvar _inferno2 = require(\"@devextreme/runtime/inferno\");\r\nvar _icon = require(\"../../../core/utils/icon\");\r\nvar _combine_classes = require(\"../../utils/combine_classes\");\r\nvar _excluded = [\"iconTemplate\", \"position\", \"source\"];\r\n\r\nfunction _objectWithoutProperties(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = _objectWithoutPropertiesLoose(source, excluded);\r\n var key, i;\r\n if (Object.getOwnPropertySymbols) {\r\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\r\n for (i = 0; i < sourceSymbolKeys.length; i++) {\r\n key = sourceSymbolKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n }\r\n return target\r\n}\r\n\r\nfunction _objectWithoutPropertiesLoose(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = {};\r\n var sourceKeys = Object.keys(source);\r\n var key, i;\r\n for (i = 0; i < sourceKeys.length; i++) {\r\n key = sourceKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n return target\r\n}\r\n\r\nfunction _defineProperty(obj, key, value) {\r\n key = _toPropertyKey(key);\r\n if (key in obj) {\r\n Object.defineProperty(obj, key, {\r\n value: value,\r\n enumerable: true,\r\n configurable: true,\r\n writable: true\r\n })\r\n } else {\r\n obj[key] = value\r\n }\r\n return obj\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\nvar viewFunction = function(_ref) {\r\n var iconClassName = _ref.iconClassName,\r\n _ref$props = _ref.props,\r\n IconTemplate = _ref$props.iconTemplate,\r\n source = _ref$props.source,\r\n sourceType = _ref.sourceType;\r\n return (0, _inferno.createFragment)([\"dxIcon\" === sourceType && (0, _inferno.createVNode)(1, \"i\", iconClassName), \"fontIcon\" === sourceType && (0, _inferno.createVNode)(1, \"i\", iconClassName), \"image\" === sourceType && (0, _inferno.createVNode)(1, \"img\", iconClassName, null, 1, {\r\n alt: \"\",\r\n src: source\r\n }), IconTemplate && (0, _inferno.createVNode)(1, \"i\", iconClassName, IconTemplate({}), 0)], 0)\r\n};\r\nexports.viewFunction = viewFunction;\r\nvar IconProps = {\r\n position: \"left\",\r\n source: \"\"\r\n};\r\nexports.IconProps = IconProps;\r\nvar getTemplate = function(TemplateProp) {\r\n return TemplateProp && (TemplateProp.defaultProps ? function(props) {\r\n return (0, _inferno.normalizeProps)((0, _inferno.createComponentVNode)(2, TemplateProp, _extends({}, props)))\r\n } : TemplateProp)\r\n};\r\nvar Icon = function(_BaseInfernoComponent) {\r\n _inheritsLoose(Icon, _BaseInfernoComponent);\r\n\r\n function Icon(props) {\r\n var _this;\r\n _this = _BaseInfernoComponent.call(this, props) || this;\r\n _this.state = {};\r\n return _this\r\n }\r\n var _proto = Icon.prototype;\r\n _proto.render = function() {\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 _createClass(Icon, [{\r\n key: \"sourceType\",\r\n get: function() {\r\n return (0, _icon.getImageSourceType)(this.props.source)\r\n }\r\n }, {\r\n key: \"cssClass\",\r\n get: function() {\r\n return \"left\" !== this.props.position ? \"dx-icon-right\" : \"\"\r\n }\r\n }, {\r\n key: \"iconClassName\",\r\n get: function() {\r\n var generalClasses = _defineProperty({\r\n \"dx-icon\": true\r\n }, this.cssClass, !!this.cssClass);\r\n var source = this.props.source;\r\n if (\"dxIcon\" === this.sourceType) {\r\n return (0, _combine_classes.combineClasses)(_extends({}, generalClasses, _defineProperty({}, \"dx-icon-\".concat(source), true)))\r\n }\r\n if (\"fontIcon\" === this.sourceType) {\r\n return (0, _combine_classes.combineClasses)(_extends({}, generalClasses, _defineProperty({}, String(source), !!source)))\r\n }\r\n if (\"image\" === this.sourceType) {\r\n return (0, _combine_classes.combineClasses)(generalClasses)\r\n }\r\n if (\"svg\" === this.sourceType) {\r\n return (0, _combine_classes.combineClasses)(_extends({}, generalClasses, {\r\n \"dx-svg-icon\": true\r\n }))\r\n }\r\n return \"\"\r\n }\r\n }, {\r\n key: \"restAttributes\",\r\n get: function() {\r\n var _this$props = this.props,\r\n restProps = (_this$props.iconTemplate, _this$props.position, _this$props.source, _objectWithoutProperties(_this$props, _excluded));\r\n return restProps\r\n }\r\n }]);\r\n return Icon\r\n}(_inferno2.BaseInfernoComponent);\r\nexports.Icon = Icon;\r\nIcon.defaultProps = IconProps;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/common/ink_ripple.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.viewFunction = exports.InkRippleProps = exports.InkRipple = void 0;\r\nvar _inferno = require(\"inferno\");\r\nvar _inferno2 = require(\"@devextreme/runtime/inferno\");\r\nvar _utils = require(\"../../../ui/widget/utils.ink_ripple\");\r\nvar _excluded = [\"config\"];\r\n\r\nfunction _objectWithoutProperties(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = _objectWithoutPropertiesLoose(source, excluded);\r\n var key, i;\r\n if (Object.getOwnPropertySymbols) {\r\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\r\n for (i = 0; i < sourceSymbolKeys.length; i++) {\r\n key = sourceSymbolKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n }\r\n return target\r\n}\r\n\r\nfunction _objectWithoutPropertiesLoose(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = {};\r\n var sourceKeys = Object.keys(source);\r\n var key, i;\r\n for (i = 0; i < sourceKeys.length; i++) {\r\n key = sourceKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n return target\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _assertThisInitialized(self) {\r\n if (void 0 === self) {\r\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\")\r\n }\r\n return self\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\nvar viewFunction = function(model) {\r\n return (0, _inferno.normalizeProps)((0, _inferno.createVNode)(1, \"div\", \"dx-inkripple\", null, 1, _extends({}, model.restAttributes)))\r\n};\r\nexports.viewFunction = viewFunction;\r\nvar InkRippleProps = {\r\n config: Object.freeze({})\r\n};\r\nexports.InkRippleProps = InkRippleProps;\r\nvar InkRipple = function(_BaseInfernoComponent) {\r\n _inheritsLoose(InkRipple, _BaseInfernoComponent);\r\n\r\n function InkRipple(props) {\r\n var _this;\r\n _this = _BaseInfernoComponent.call(this, props) || this;\r\n _this.state = {};\r\n _this.__getterCache = {};\r\n _this.hideWave = _this.hideWave.bind(_assertThisInitialized(_this));\r\n _this.showWave = _this.showWave.bind(_assertThisInitialized(_this));\r\n return _this\r\n }\r\n var _proto = InkRipple.prototype;\r\n _proto.hideWave = function(opts) {\r\n (0, _utils.hideWave)(this.getConfig, opts)\r\n };\r\n _proto.showWave = function(opts) {\r\n (0, _utils.showWave)(this.getConfig, opts)\r\n };\r\n _proto.componentWillUpdate = function(nextProps, nextState, context) {\r\n if (this.props.config !== nextProps.config) {\r\n this.__getterCache.getConfig = void 0\r\n }\r\n };\r\n _proto.render = function() {\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 _createClass(InkRipple, [{\r\n key: \"getConfig\",\r\n get: function() {\r\n var _this2 = this;\r\n if (void 0 !== this.__getterCache.getConfig) {\r\n return this.__getterCache.getConfig\r\n }\r\n return this.__getterCache.getConfig = (config = _this2.props.config, (0, _utils.initConfig)(config));\r\n var config\r\n }\r\n }, {\r\n key: \"restAttributes\",\r\n get: function() {\r\n var _this$props = this.props,\r\n restProps = (_this$props.config, _objectWithoutProperties(_this$props, _excluded));\r\n return restProps\r\n }\r\n }]);\r\n return InkRipple\r\n}(_inferno2.BaseInfernoComponent);\r\nexports.InkRipple = InkRipple;\r\nInkRipple.defaultProps = InkRippleProps;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/common/utils/date/index.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _toMilliseconds = require(\"./toMilliseconds\");\r\nObject.keys(_toMilliseconds).forEach((function(key) {\r\n if (\"default\" === key || \"__esModule\" === key) {\r\n return\r\n }\r\n if (key in exports && exports[key] === _toMilliseconds[key]) {\r\n return\r\n }\r\n Object.defineProperty(exports, key, {\r\n enumerable: true,\r\n get: function() {\r\n return _toMilliseconds[key]\r\n }\r\n })\r\n}));\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/common/utils/date/toMilliseconds.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.toMilliseconds = toMilliseconds;\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\n\r\nfunction toMilliseconds(value) {\r\n return timeIntervals[value]\r\n}\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/common/utils/get_updated_options.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.getUpdatedOptions = getUpdatedOptions;\r\nvar _type = require(\"../../../../core/utils/type\");\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\n\r\nfunction _toConsumableArray(arr) {\r\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread()\r\n}\r\n\r\nfunction _nonIterableSpread() {\r\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _unsupportedIterableToArray(o, minLen) {\r\n if (!o) {\r\n return\r\n }\r\n if (\"string\" === typeof o) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n var n = Object.prototype.toString.call(o).slice(8, -1);\r\n if (\"Object\" === n && o.constructor) {\r\n n = o.constructor.name\r\n }\r\n if (\"Map\" === n || \"Set\" === n) {\r\n return Array.from(o)\r\n }\r\n if (\"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n}\r\n\r\nfunction _iterableToArray(iter) {\r\n if (\"undefined\" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter[\"@@iterator\"]) {\r\n return Array.from(iter)\r\n }\r\n}\r\n\r\nfunction _arrayWithoutHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return _arrayLikeToArray(arr)\r\n }\r\n}\r\n\r\nfunction _arrayLikeToArray(arr, len) {\r\n if (null == len || len > arr.length) {\r\n len = arr.length\r\n }\r\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\r\n arr2[i] = arr[i]\r\n }\r\n return arr2\r\n}\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 = (0, _type.type)(item1);\r\n var type2 = (0, _type.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 (!(0, _type.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.apply(resultPaths, _toConsumableArray(diffPaths.map((function(item) {\r\n return _extends({}, item, {\r\n path: \"\".concat(key, \".\").concat(item.path)\r\n })\r\n }))))\r\n }\r\n } else if (\"array\" === type1) {\r\n var notDeepCopy = notDeepCopyArrays.some((function(prop) {\r\n return fullPropName.includes(prop)\r\n }));\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((function(item) {\r\n return _extends({}, item, {\r\n path: \"\".concat(key).concat(item.path)\r\n })\r\n })))\r\n }\r\n } else {\r\n resultPaths.push(getDiffItem(key, item2, item1))\r\n }\r\n}\r\nvar objectDiffsFiltered = function(propsEnumerator) {\r\n return function(oldProps, props, fullPropName, notDeepCopyArrays) {\r\n var resultPaths = [];\r\n var processItem = !Array.isArray(oldProps) ? function(propName) {\r\n compare(resultPaths, oldProps[propName], props[propName], propName, \"\".concat(fullPropName, \".\").concat(propName), notDeepCopyArrays)\r\n } : function(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((function(propName) {\r\n return !Object.prototype.hasOwnProperty.call(oldProps, propName) && oldProps[propName] !== props[propName]\r\n })).forEach((function(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\n};\r\nvar objectDiffs = objectDiffsFiltered((function(oldProps) {\r\n return Object.keys(oldProps)\r\n}));\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((function(prop) {\r\n return Object.keys(prop).filter((function(p) {\r\n return !reactProps[p]\r\n }))\r\n}));\r\n\r\nfunction 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 (cjs/renovation/ui/common/utils/scroll/getMemoizeScrollTo.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.getMemoizeScrollTo = getMemoizeScrollTo;\r\n\r\nfunction 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 (cjs/renovation/ui/common/widget.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.viewFunction = exports.WidgetProps = exports.Widget = void 0;\r\nvar _inferno = require(\"inferno\");\r\nvar _inferno2 = require(\"@devextreme/runtime/inferno\");\r\nrequire(\"../../../events/click\");\r\nrequire(\"../../../events/hover\");\r\nvar _type = require(\"../../../core/utils/type\");\r\nvar _short = require(\"../../../events/short\");\r\nvar _subscribe_to_event = require(\"../../utils/subscribe_to_event\");\r\nvar _combine_classes = require(\"../../utils/combine_classes\");\r\nvar _extend = require(\"../../../core/utils/extend\");\r\nvar _style = require(\"../../../core/utils/style\");\r\nvar _base_props = require(\"./base_props\");\r\nvar _config_context = require(\"../../common/config_context\");\r\nvar _config_provider = require(\"../../common/config_provider\");\r\nvar _resolve_rtl = require(\"../../utils/resolve_rtl\");\r\nvar _resize_callbacks = _interopRequireDefault(require(\"../../../core/utils/resize_callbacks\"));\r\nvar _errors = _interopRequireDefault(require(\"../../../core/errors\"));\r\nvar _dom_adapter = _interopRequireDefault(require(\"../../../core/dom_adapter\"));\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\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _objectWithoutProperties(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = _objectWithoutPropertiesLoose(source, excluded);\r\n var key, i;\r\n if (Object.getOwnPropertySymbols) {\r\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\r\n for (i = 0; i < sourceSymbolKeys.length; i++) {\r\n key = sourceSymbolKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n }\r\n return target\r\n}\r\n\r\nfunction _objectWithoutPropertiesLoose(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = {};\r\n var sourceKeys = Object.keys(source);\r\n var key, i;\r\n for (i = 0; i < sourceKeys.length; i++) {\r\n key = sourceKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n return target\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _assertThisInitialized(self) {\r\n if (void 0 === self) {\r\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\")\r\n }\r\n return self\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\n\r\nfunction _defineProperty(obj, key, value) {\r\n key = _toPropertyKey(key);\r\n if (key in obj) {\r\n Object.defineProperty(obj, key, {\r\n value: value,\r\n enumerable: true,\r\n configurable: true,\r\n writable: true\r\n })\r\n } else {\r\n obj[key] = value\r\n }\r\n return obj\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\nvar DEFAULT_FEEDBACK_HIDE_TIMEOUT = 400;\r\nvar DEFAULT_FEEDBACK_SHOW_TIMEOUT = 30;\r\nvar getAria = function(args) {\r\n return Object.keys(args).reduce((function(r, key) {\r\n if (args[key]) {\r\n return _extends({}, r, _defineProperty({}, \"role\" === key || \"id\" === key ? key : \"aria-\".concat(key), String(args[key])))\r\n }\r\n return r\r\n }), {})\r\n};\r\nvar viewFunction = function(viewModel) {\r\n var widget = (0, _inferno.normalizeProps)((0, _inferno.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: (0, _inferno2.normalizeStyles)(viewModel.styles)\r\n }), null, viewModel.widgetElementRef));\r\n return viewModel.shouldRenderConfigProvider ? (0, _inferno.createComponentVNode)(2, _config_provider.ConfigProvider, {\r\n rtlEnabled: viewModel.rtlEnabled,\r\n children: widget\r\n }) : widget\r\n};\r\nexports.viewFunction = viewFunction;\r\nvar WidgetProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(_base_props.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\nexports.WidgetProps = WidgetProps;\r\nvar Widget = function(_InfernoWrapperCompon) {\r\n _inheritsLoose(Widget, _InfernoWrapperCompon);\r\n\r\n function Widget(props) {\r\n var _this;\r\n _this = _InfernoWrapperCompon.call(this, props) || this;\r\n _this.widgetElementRef = (0, _inferno.createRef)();\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(_assertThisInitialized(_this));\r\n _this.activeEffect = _this.activeEffect.bind(_assertThisInitialized(_this));\r\n _this.inactiveEffect = _this.inactiveEffect.bind(_assertThisInitialized(_this));\r\n _this.clickEffect = _this.clickEffect.bind(_assertThisInitialized(_this));\r\n _this.focus = _this.focus.bind(_assertThisInitialized(_this));\r\n _this.blur = _this.blur.bind(_assertThisInitialized(_this));\r\n _this.activate = _this.activate.bind(_assertThisInitialized(_this));\r\n _this.deactivate = _this.deactivate.bind(_assertThisInitialized(_this));\r\n _this.focusInEffect = _this.focusInEffect.bind(_assertThisInitialized(_this));\r\n _this.focusOutEffect = _this.focusOutEffect.bind(_assertThisInitialized(_this));\r\n _this.hoverStartEffect = _this.hoverStartEffect.bind(_assertThisInitialized(_this));\r\n _this.hoverEndEffect = _this.hoverEndEffect.bind(_assertThisInitialized(_this));\r\n _this.keyboardEffect = _this.keyboardEffect.bind(_assertThisInitialized(_this));\r\n _this.resizeEffect = _this.resizeEffect.bind(_assertThisInitialized(_this));\r\n _this.windowResizeEffect = _this.windowResizeEffect.bind(_assertThisInitialized(_this));\r\n _this.visibilityEffect = _this.visibilityEffect.bind(_assertThisInitialized(_this));\r\n _this.checkDeprecation = _this.checkDeprecation.bind(_assertThisInitialized(_this));\r\n _this.applyCssTextEffect = _this.applyCssTextEffect.bind(_assertThisInitialized(_this));\r\n return _this\r\n }\r\n var _proto = Widget.prototype;\r\n _proto.createEffects = function() {\r\n return [new _inferno2.InfernoEffect(this.setRootElementRef, []), new _inferno2.InfernoEffect(this.activeEffect, [this.props._feedbackShowTimeout, this.props.activeStateEnabled, this.props.activeStateUnit, this.props.disabled, this.props.onActive]), new _inferno2.InfernoEffect(this.inactiveEffect, [this.props._feedbackHideTimeout, this.props.activeStateEnabled, this.props.activeStateUnit, this.props.onInactive, this.state.active]), new _inferno2.InfernoEffect(this.clickEffect, [this.props.disabled, this.props.name, this.props.onClick]), new _inferno2.InfernoEffect(this.focusInEffect, [this.props.disabled, this.props.focusStateEnabled, this.props.name, this.props.onFocusIn]), new _inferno2.InfernoEffect(this.focusOutEffect, [this.props.focusStateEnabled, this.props.name, this.props.onFocusOut, this.state.focused]), new _inferno2.InfernoEffect(this.hoverStartEffect, [this.props.activeStateUnit, this.props.disabled, this.props.hoverStateEnabled, this.props.onHoverStart, this.state.active]), new _inferno2.InfernoEffect(this.hoverEndEffect, [this.props.activeStateUnit, this.props.hoverStateEnabled, this.props.onHoverEnd, this.state.hovered]), new _inferno2.InfernoEffect(this.keyboardEffect, [this.props.focusStateEnabled, this.props.onKeyDown]), new _inferno2.InfernoEffect(this.resizeEffect, [this.props.name, this.props.onDimensionChanged]), new _inferno2.InfernoEffect(this.windowResizeEffect, [this.props.onDimensionChanged]), new _inferno2.InfernoEffect(this.visibilityEffect, [this.props.name, this.props.onVisibilityChange]), new _inferno2.InfernoEffect(this.checkDeprecation, [this.props.height, this.props.width]), new _inferno2.InfernoEffect(this.applyCssTextEffect, [this.props.cssText]), (0, _inferno2.createReRenderEffect)()]\r\n };\r\n _proto.updateEffects = function() {\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 _proto.setRootElementRef = function() {\r\n var _this$props = this.props,\r\n onRootElementRendered = _this$props.onRootElementRendered,\r\n rootElementRef = _this$props.rootElementRef;\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 _proto.activeEffect = function() {\r\n var _this2 = this;\r\n var _this$props2 = this.props,\r\n _feedbackShowTimeout = _this$props2._feedbackShowTimeout,\r\n activeStateEnabled = _this$props2.activeStateEnabled,\r\n activeStateUnit = _this$props2.activeStateUnit,\r\n disabled = _this$props2.disabled,\r\n onActive = _this$props2.onActive;\r\n var selector = activeStateUnit;\r\n if (activeStateEnabled) {\r\n if (!disabled) {\r\n return (0, _subscribe_to_event.subscribeToDxActiveEvent)(this.widgetElementRef.current, (function(event) {\r\n _this2.setState((function(__state_argument) {\r\n return {\r\n active: true\r\n }\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 _proto.inactiveEffect = function() {\r\n var _this3 = this;\r\n var _this$props3 = this.props,\r\n _feedbackHideTimeout = _this$props3._feedbackHideTimeout,\r\n activeStateEnabled = _this$props3.activeStateEnabled,\r\n activeStateUnit = _this$props3.activeStateUnit,\r\n onInactive = _this$props3.onInactive;\r\n var selector = activeStateUnit;\r\n if (activeStateEnabled) {\r\n return (0, _subscribe_to_event.subscribeToDxInactiveEvent)(this.widgetElementRef.current, (function(event) {\r\n if (_this3.state.active) {\r\n _this3.setState((function(__state_argument) {\r\n return {\r\n active: false\r\n }\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 _proto.clickEffect = function() {\r\n var _this4 = this;\r\n var _this$props4 = this.props,\r\n disabled = _this$props4.disabled,\r\n name = _this$props4.name,\r\n onClick = _this$props4.onClick;\r\n var namespace = name;\r\n if (onClick && !disabled) {\r\n _short.dxClick.on(this.widgetElementRef.current, onClick, {\r\n namespace: namespace\r\n });\r\n return function() {\r\n return _short.dxClick.off(_this4.widgetElementRef.current, {\r\n namespace: namespace\r\n })\r\n }\r\n }\r\n return\r\n };\r\n _proto.focusInEffect = function() {\r\n var _this5 = this;\r\n var _this$props5 = this.props,\r\n disabled = _this$props5.disabled,\r\n focusStateEnabled = _this$props5.focusStateEnabled,\r\n name = _this$props5.name,\r\n onFocusIn = _this$props5.onFocusIn;\r\n var namespace = \"\".concat(name, \"Focus\");\r\n if (focusStateEnabled) {\r\n if (!disabled) {\r\n return (0, _subscribe_to_event.subscribeToDxFocusInEvent)(this.widgetElementRef.current, (function(event) {\r\n if (!event.isDefaultPrevented()) {\r\n _this5.setState((function(__state_argument) {\r\n return {\r\n focused: true\r\n }\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 _proto.focusOutEffect = function() {\r\n var _this6 = this;\r\n var _this$props6 = this.props,\r\n focusStateEnabled = _this$props6.focusStateEnabled,\r\n name = _this$props6.name,\r\n onFocusOut = _this$props6.onFocusOut;\r\n var namespace = \"\".concat(name, \"Focus\");\r\n if (focusStateEnabled) {\r\n return (0, _subscribe_to_event.subscribeToDxFocusOutEvent)(this.widgetElementRef.current, (function(event) {\r\n if (!event.isDefaultPrevented() && _this6.state.focused) {\r\n _this6.setState((function(__state_argument) {\r\n return {\r\n focused: false\r\n }\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 _proto.hoverStartEffect = function() {\r\n var _this7 = this;\r\n var _this$props7 = this.props,\r\n activeStateUnit = _this$props7.activeStateUnit,\r\n disabled = _this$props7.disabled,\r\n hoverStateEnabled = _this$props7.hoverStateEnabled,\r\n onHoverStart = _this$props7.onHoverStart;\r\n var selector = activeStateUnit;\r\n if (hoverStateEnabled) {\r\n if (!disabled) {\r\n return (0, _subscribe_to_event.subscribeToDxHoverStartEvent)(this.widgetElementRef.current, (function(event) {\r\n !_this7.state.active && _this7.setState((function(__state_argument) {\r\n return {\r\n hovered: true\r\n }\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 _proto.hoverEndEffect = function() {\r\n var _this8 = this;\r\n var _this$props8 = this.props,\r\n activeStateUnit = _this$props8.activeStateUnit,\r\n hoverStateEnabled = _this$props8.hoverStateEnabled,\r\n onHoverEnd = _this$props8.onHoverEnd;\r\n var selector = activeStateUnit;\r\n if (hoverStateEnabled) {\r\n return (0, _subscribe_to_event.subscribeToDxHoverEndEvent)(this.widgetElementRef.current, (function(event) {\r\n if (_this8.state.hovered) {\r\n _this8.setState((function(__state_argument) {\r\n return {\r\n hovered: false\r\n }\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 _proto.keyboardEffect = function() {\r\n var _this$props9 = this.props,\r\n focusStateEnabled = _this$props9.focusStateEnabled,\r\n onKeyDown = _this$props9.onKeyDown;\r\n if (focusStateEnabled && onKeyDown) {\r\n var id = _short.keyboard.on(this.widgetElementRef.current, this.widgetElementRef.current, (function(e) {\r\n return onKeyDown(e)\r\n }));\r\n return function() {\r\n return _short.keyboard.off(id)\r\n }\r\n }\r\n return\r\n };\r\n _proto.resizeEffect = function() {\r\n var _this9 = this;\r\n var namespace = \"\".concat(this.props.name, \"VisibilityChange\");\r\n var onDimensionChanged = this.props.onDimensionChanged;\r\n if (onDimensionChanged) {\r\n _short.resize.on(this.widgetElementRef.current, onDimensionChanged, {\r\n namespace: namespace\r\n });\r\n return function() {\r\n return _short.resize.off(_this9.widgetElementRef.current, {\r\n namespace: namespace\r\n })\r\n }\r\n }\r\n return\r\n };\r\n _proto.windowResizeEffect = function() {\r\n var onDimensionChanged = this.props.onDimensionChanged;\r\n if (onDimensionChanged) {\r\n _resize_callbacks.default.add(onDimensionChanged);\r\n return function() {\r\n _resize_callbacks.default.remove(onDimensionChanged)\r\n }\r\n }\r\n return\r\n };\r\n _proto.visibilityEffect = function() {\r\n var _this10 = this;\r\n var _this$props10 = this.props,\r\n name = _this$props10.name,\r\n onVisibilityChange = _this$props10.onVisibilityChange;\r\n var namespace = \"\".concat(name, \"VisibilityChange\");\r\n if (onVisibilityChange) {\r\n _short.visibility.on(this.widgetElementRef.current, (function() {\r\n return onVisibilityChange(true)\r\n }), (function() {\r\n return onVisibilityChange(false)\r\n }), {\r\n namespace: namespace\r\n });\r\n return function() {\r\n return _short.visibility.off(_this10.widgetElementRef.current, {\r\n namespace: namespace\r\n })\r\n }\r\n }\r\n return\r\n };\r\n _proto.checkDeprecation = function() {\r\n var _this$props11 = this.props,\r\n height = _this$props11.height,\r\n width = _this$props11.width;\r\n if ((0, _type.isFunction)(width)) {\r\n _errors.default.log(\"W0017\", \"width\")\r\n }\r\n if ((0, _type.isFunction)(height)) {\r\n _errors.default.log(\"W0017\", \"height\")\r\n }\r\n };\r\n _proto.applyCssTextEffect = function() {\r\n var cssText = this.props.cssText;\r\n if (\"\" !== cssText) {\r\n this.widgetElementRef.current.style.cssText = cssText\r\n }\r\n };\r\n _proto.focus = function() {\r\n _short.focus.trigger(this.widgetElementRef.current)\r\n };\r\n _proto.blur = function() {\r\n var activeElement = _dom_adapter.default.getActiveElement(this.widgetElementRef.current);\r\n if (this.widgetElementRef.current === activeElement) {\r\n activeElement.blur()\r\n }\r\n };\r\n _proto.activate = function() {\r\n this.setState((function(__state_argument) {\r\n return {\r\n active: true\r\n }\r\n }))\r\n };\r\n _proto.deactivate = function() {\r\n this.setState((function(__state_argument) {\r\n return {\r\n active: false\r\n }\r\n }))\r\n };\r\n _proto.render = function() {\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 _createClass(Widget, [{\r\n key: \"config\",\r\n get: function() {\r\n if (this.context[_config_context.ConfigContext.id]) {\r\n return this.context[_config_context.ConfigContext.id]\r\n }\r\n return _config_context.ConfigContext.defaultValue\r\n }\r\n }, {\r\n key: \"shouldRenderConfigProvider\",\r\n get: function() {\r\n var rtlEnabled = this.props.rtlEnabled;\r\n return (0, _resolve_rtl.resolveRtlEnabledDefinition)(rtlEnabled, this.config)\r\n }\r\n }, {\r\n key: \"rtlEnabled\",\r\n get: function() {\r\n var rtlEnabled = this.props.rtlEnabled;\r\n return (0, _resolve_rtl.resolveRtlEnabled)(rtlEnabled, this.config)\r\n }\r\n }, {\r\n key: \"attributes\",\r\n get: function() {\r\n var _this$props12 = this.props,\r\n aria = _this$props12.aria,\r\n disabled = _this$props12.disabled,\r\n focusStateEnabled = _this$props12.focusStateEnabled,\r\n visible = _this$props12.visible;\r\n var accessKey = focusStateEnabled && !disabled && this.props.accessKey;\r\n return _extends({}, (0, _extend.extend)({}, accessKey && {\r\n accessKey: accessKey\r\n }), getAria(_extends({}, aria, {\r\n disabled: disabled,\r\n hidden: !visible\r\n })), (0, _extend.extend)({}, this.restAttributes))\r\n }\r\n }, {\r\n key: \"styles\",\r\n get: function() {\r\n var _this$props13 = this.props,\r\n height = _this$props13.height,\r\n width = _this$props13.width;\r\n var style = this.restAttributes.style || {};\r\n var computedWidth = (0, _style.normalizeStyleProp)(\"width\", (0, _type.isFunction)(width) ? width() : width);\r\n var computedHeight = (0, _style.normalizeStyleProp)(\"height\", (0, _type.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 }, {\r\n key: \"cssClasses\",\r\n get: function() {\r\n var _classesMap;\r\n var _this$props14 = this.props,\r\n activeStateEnabled = _this$props14.activeStateEnabled,\r\n addWidgetClass = _this$props14.addWidgetClass,\r\n className = _this$props14.className,\r\n classes = _this$props14.classes,\r\n disabled = _this$props14.disabled,\r\n focusStateEnabled = _this$props14.focusStateEnabled,\r\n hoverStateEnabled = _this$props14.hoverStateEnabled,\r\n onVisibilityChange = _this$props14.onVisibilityChange,\r\n visible = _this$props14.visible;\r\n var isFocusable = !!focusStateEnabled && !disabled;\r\n var isHoverable = !!hoverStateEnabled && !disabled;\r\n var canBeActive = !!activeStateEnabled && !disabled;\r\n var classesMap = (_classesMap = {\r\n \"dx-widget\": !!addWidgetClass\r\n }, _defineProperty(_classesMap, String(classes), !!classes), _defineProperty(_classesMap, String(className), !!className), _defineProperty(_classesMap, \"dx-state-disabled\", !!disabled), _defineProperty(_classesMap, \"dx-state-invisible\", !visible), _defineProperty(_classesMap, \"dx-state-focused\", !!this.state.focused && isFocusable), _defineProperty(_classesMap, \"dx-state-active\", !!this.state.active && canBeActive), _defineProperty(_classesMap, \"dx-state-hover\", !!this.state.hovered && isHoverable && !this.state.active), _defineProperty(_classesMap, \"dx-rtl\", !!this.rtlEnabled), _defineProperty(_classesMap, \"dx-visibility-change-handler\", !!onVisibilityChange), _classesMap);\r\n return (0, _combine_classes.combineClasses)(classesMap)\r\n }\r\n }, {\r\n key: \"tabIndex\",\r\n get: function() {\r\n var _this$props15 = this.props,\r\n disabled = _this$props15.disabled,\r\n focusStateEnabled = _this$props15.focusStateEnabled,\r\n tabIndex = _this$props15.tabIndex;\r\n var isFocusable = focusStateEnabled && !disabled;\r\n return isFocusable ? tabIndex : void 0\r\n }\r\n }, {\r\n key: \"restAttributes\",\r\n get: function() {\r\n var _this$props16 = this.props,\r\n restProps = (_this$props16._feedbackHideTimeout, _this$props16._feedbackShowTimeout, _this$props16.accessKey, _this$props16.activeStateEnabled, _this$props16.activeStateUnit, _this$props16.addWidgetClass, _this$props16.aria, _this$props16.children, _this$props16.className, _this$props16.classes, _this$props16.cssText, _this$props16.disabled, _this$props16.focusStateEnabled, _this$props16.height, _this$props16.hint, _this$props16.hoverStateEnabled, _this$props16.name, _this$props16.onActive, _this$props16.onClick, _this$props16.onDimensionChanged, _this$props16.onFocusIn, _this$props16.onFocusOut, _this$props16.onHoverEnd, _this$props16.onHoverStart, _this$props16.onInactive, _this$props16.onKeyDown, _this$props16.onRootElementRendered, _this$props16.onVisibilityChange, _this$props16.rootElementRef, _this$props16.rtlEnabled, _this$props16.tabIndex, _this$props16.visible, _this$props16.width, _objectWithoutProperties(_this$props16, _excluded));\r\n return restProps\r\n }\r\n }]);\r\n return Widget\r\n}(_inferno2.InfernoWrapperComponent);\r\nexports.Widget = Widget;\r\nWidget.defaultProps = WidgetProps;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/editors/check_box/check_box.j.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.default = void 0;\r\nvar _component_registrator = _interopRequireDefault(require(\"../../../../core/component_registrator\"));\r\nvar _check_box = _interopRequireDefault(require(\"../../../component_wrapper/editors/check_box\"));\r\nvar _check_box2 = require(\"./check_box\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar CheckBox = function(_BaseComponent) {\r\n _inheritsLoose(CheckBox, _BaseComponent);\r\n\r\n function CheckBox() {\r\n return _BaseComponent.apply(this, arguments) || this\r\n }\r\n var _proto = CheckBox.prototype;\r\n _proto.getProps = function() {\r\n var props = _BaseComponent.prototype.getProps.call(this);\r\n props.onKeyDown = this._wrapKeyDownHandler(props.onKeyDown);\r\n return props\r\n };\r\n _proto.focus = function() {\r\n var _this$viewRef;\r\n return null === (_this$viewRef = this.viewRef) || void 0 === _this$viewRef ? void 0 : _this$viewRef.focus.apply(_this$viewRef, arguments)\r\n };\r\n _proto.blur = function() {\r\n var _this$viewRef2;\r\n return null === (_this$viewRef2 = this.viewRef) || void 0 === _this$viewRef2 ? void 0 : _this$viewRef2.blur.apply(_this$viewRef2, arguments)\r\n };\r\n _proto._getActionConfigs = function() {\r\n return {\r\n onFocusIn: {},\r\n onClick: {}\r\n }\r\n };\r\n _createClass(CheckBox, [{\r\n key: \"_propsInfo\",\r\n get: function() {\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 }, {\r\n key: \"_viewComponent\",\r\n get: function() {\r\n return _check_box2.CheckBox\r\n }\r\n }]);\r\n return CheckBox\r\n}(_check_box.default);\r\nexports.default = CheckBox;\r\n(0, _component_registrator.default)(\"dxCheckBox\", CheckBox);\r\nCheckBox.defaultOptions = _check_box2.defaultOptions;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/editors/check_box/check_box.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.CheckBoxPropsType = exports.CheckBoxProps = exports.CheckBox = void 0;\r\nexports.defaultOptions = defaultOptions;\r\nexports.viewFunction = void 0;\r\nvar _inferno = require(\"inferno\");\r\nvar _inferno2 = require(\"@devextreme/runtime/inferno\");\r\nvar _devices = _interopRequireDefault(require(\"../../../../core/devices\"));\r\nvar _editor = require(\"../common/editor\");\r\nvar _combine_classes = require(\"../../../utils/combine_classes\");\r\nvar _check_box_icon = require(\"./check_box_icon\");\r\nvar _widget = require(\"../../common/widget\");\r\nvar _utils = require(\"../../../../core/options/utils\");\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\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _objectWithoutProperties(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = _objectWithoutPropertiesLoose(source, excluded);\r\n var key, i;\r\n if (Object.getOwnPropertySymbols) {\r\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\r\n for (i = 0; i < sourceSymbolKeys.length; i++) {\r\n key = sourceSymbolKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n }\r\n return target\r\n}\r\n\r\nfunction _objectWithoutPropertiesLoose(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = {};\r\n var sourceKeys = Object.keys(source);\r\n var key, i;\r\n for (i = 0; i < sourceKeys.length; i++) {\r\n key = sourceKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n return target\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _assertThisInitialized(self) {\r\n if (void 0 === self) {\r\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\")\r\n }\r\n return self\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\nvar getCssClasses = function(model) {\r\n var text = model.text,\r\n value = model.value;\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 (0, _combine_classes.combineClasses)(classesMap)\r\n};\r\nvar viewFunction = function(viewModel) {\r\n var aria = viewModel.aria,\r\n classes = viewModel.cssClasses,\r\n editorRef = viewModel.editorRef,\r\n onKeyDown = viewModel.keyDown,\r\n onClick = viewModel.onWidgetClick,\r\n _viewModel$props = viewModel.props,\r\n accessKey = _viewModel$props.accessKey,\r\n activeStateEnabled = _viewModel$props.activeStateEnabled,\r\n className = _viewModel$props.className,\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 iconSize = _viewModel$props.iconSize,\r\n isValid = _viewModel$props.isValid,\r\n name = _viewModel$props.name,\r\n onFocusIn = _viewModel$props.onFocusIn,\r\n readOnly = _viewModel$props.readOnly,\r\n rtlEnabled = _viewModel$props.rtlEnabled,\r\n tabIndex = _viewModel$props.tabIndex,\r\n text = _viewModel$props.text,\r\n validationError = _viewModel$props.validationError,\r\n validationErrors = _viewModel$props.validationErrors,\r\n validationMessageMode = _viewModel$props.validationMessageMode,\r\n validationMessagePosition = _viewModel$props.validationMessagePosition,\r\n validationStatus = _viewModel$props.validationStatus,\r\n value = _viewModel$props.value,\r\n visible = _viewModel$props.visible,\r\n width = _viewModel$props.width,\r\n restAttributes = viewModel.restAttributes;\r\n return (0, _inferno.normalizeProps)((0, _inferno.createComponentVNode)(2, _editor.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: (0, _inferno.createFragment)([(0, _inferno.normalizeProps)((0, _inferno.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 }))), (0, _inferno.createVNode)(1, \"div\", \"dx-checkbox-container\", [(0, _inferno.createComponentVNode)(2, _check_box_icon.CheckBoxIcon, {\r\n size: iconSize,\r\n isChecked: true === value\r\n }), text && (0, _inferno.createVNode)(1, \"span\", \"dx-checkbox-text\", text, 0)], 0)], 4)\r\n }), null, editorRef))\r\n};\r\nexports.viewFunction = viewFunction;\r\nvar CheckBoxProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(_editor.EditorProps), Object.getOwnPropertyDescriptors(Object.defineProperties({\r\n text: \"\",\r\n enableThreeStateBehavior: false,\r\n activeStateEnabled: true,\r\n hoverStateEnabled: true,\r\n defaultValue: false,\r\n valueChange: function() {}\r\n}, {\r\n focusStateEnabled: {\r\n get: function() {\r\n return \"desktop\" === _devices.default.real().deviceType && !_devices.default.isSimulator()\r\n },\r\n configurable: true,\r\n enumerable: true\r\n }\r\n}))));\r\nexports.CheckBoxProps = CheckBoxProps;\r\nvar CheckBoxPropsType = Object.defineProperties({}, {\r\n text: {\r\n get: function() {\r\n return CheckBoxProps.text\r\n },\r\n configurable: true,\r\n enumerable: true\r\n },\r\n enableThreeStateBehavior: {\r\n get: function() {\r\n return CheckBoxProps.enableThreeStateBehavior\r\n },\r\n configurable: true,\r\n enumerable: true\r\n },\r\n activeStateEnabled: {\r\n get: function() {\r\n return CheckBoxProps.activeStateEnabled\r\n },\r\n configurable: true,\r\n enumerable: true\r\n },\r\n hoverStateEnabled: {\r\n get: function() {\r\n return CheckBoxProps.hoverStateEnabled\r\n },\r\n configurable: true,\r\n enumerable: true\r\n },\r\n focusStateEnabled: {\r\n get: function() {\r\n return CheckBoxProps.focusStateEnabled\r\n },\r\n configurable: true,\r\n enumerable: true\r\n },\r\n defaultValue: {\r\n get: function() {\r\n return CheckBoxProps.defaultValue\r\n },\r\n configurable: true,\r\n enumerable: true\r\n },\r\n valueChange: {\r\n get: function() {\r\n return CheckBoxProps.valueChange\r\n },\r\n configurable: true,\r\n enumerable: true\r\n },\r\n readOnly: {\r\n get: function() {\r\n return CheckBoxProps.readOnly\r\n },\r\n configurable: true,\r\n enumerable: true\r\n },\r\n name: {\r\n get: function() {\r\n return CheckBoxProps.name\r\n },\r\n configurable: true,\r\n enumerable: true\r\n },\r\n validationError: {\r\n get: function() {\r\n return CheckBoxProps.validationError\r\n },\r\n configurable: true,\r\n enumerable: true\r\n },\r\n validationErrors: {\r\n get: function() {\r\n return CheckBoxProps.validationErrors\r\n },\r\n configurable: true,\r\n enumerable: true\r\n },\r\n validationMessageMode: {\r\n get: function() {\r\n return CheckBoxProps.validationMessageMode\r\n },\r\n configurable: true,\r\n enumerable: true\r\n },\r\n validationMessagePosition: {\r\n get: function() {\r\n return CheckBoxProps.validationMessagePosition\r\n },\r\n configurable: true,\r\n enumerable: true\r\n },\r\n validationStatus: {\r\n get: function() {\r\n return CheckBoxProps.validationStatus\r\n },\r\n configurable: true,\r\n enumerable: true\r\n },\r\n isValid: {\r\n get: function() {\r\n return CheckBoxProps.isValid\r\n },\r\n configurable: true,\r\n enumerable: true\r\n },\r\n inputAttr: {\r\n get: function() {\r\n return CheckBoxProps.inputAttr\r\n },\r\n configurable: true,\r\n enumerable: true\r\n },\r\n className: {\r\n get: function() {\r\n return CheckBoxProps.className\r\n },\r\n configurable: true,\r\n enumerable: true\r\n },\r\n disabled: {\r\n get: function() {\r\n return CheckBoxProps.disabled\r\n },\r\n configurable: true,\r\n enumerable: true\r\n },\r\n tabIndex: {\r\n get: function() {\r\n return CheckBoxProps.tabIndex\r\n },\r\n configurable: true,\r\n enumerable: true\r\n },\r\n visible: {\r\n get: function() {\r\n return CheckBoxProps.visible\r\n },\r\n configurable: true,\r\n enumerable: true\r\n },\r\n aria: {\r\n get: function() {\r\n return _widget.WidgetProps.aria\r\n },\r\n configurable: true,\r\n enumerable: true\r\n }\r\n});\r\nexports.CheckBoxPropsType = CheckBoxPropsType;\r\nvar CheckBox = function(_InfernoWrapperCompon) {\r\n _inheritsLoose(CheckBox, _InfernoWrapperCompon);\r\n\r\n function CheckBox(props) {\r\n var _this;\r\n _this = _InfernoWrapperCompon.call(this, props) || this;\r\n _this.editorRef = (0, _inferno.createRef)();\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(_assertThisInitialized(_this));\r\n _this.blur = _this.blur.bind(_assertThisInitialized(_this));\r\n _this.onWidgetClick = _this.onWidgetClick.bind(_assertThisInitialized(_this));\r\n _this.keyDown = _this.keyDown.bind(_assertThisInitialized(_this));\r\n return _this\r\n }\r\n var _proto = CheckBox.prototype;\r\n _proto.createEffects = function() {\r\n return [(0, _inferno2.createReRenderEffect)()]\r\n };\r\n _proto.onWidgetClick = function(event) {\r\n var _this2 = this;\r\n var _this$props = this.props,\r\n enableThreeStateBehavior = _this$props.enableThreeStateBehavior,\r\n readOnly = _this$props.readOnly,\r\n saveValueChangeEvent = _this$props.saveValueChangeEvent;\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((function(__state_argument) {\r\n __newValue = null === (void 0 !== _this2.props.value ? _this2.props.value : __state_argument.value) || (!(void 0 !== _this2.props.value ? _this2.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((function(__state_argument) {\r\n var _ref;\r\n _newValue = !(null !== (_ref = void 0 !== _this2.props.value ? _this2.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 _proto.keyDown = function(e) {\r\n var onKeyDown = this.props.onKeyDown;\r\n var keyName = e.keyName,\r\n originalEvent = e.originalEvent,\r\n which = e.which;\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 _proto.focus = function() {\r\n this.editorRef.current.focus()\r\n };\r\n _proto.blur = function() {\r\n this.editorRef.current.blur()\r\n };\r\n _proto.render = function() {\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 _createClass(CheckBox, [{\r\n key: \"cssClasses\",\r\n get: function() {\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 }, {\r\n key: \"aria\",\r\n get: function() {\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 }, {\r\n key: \"restAttributes\",\r\n get: function() {\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 = (_this$props$value.accessKey, _this$props$value.activeStateEnabled, _this$props$value.aria, _this$props$value.className, _this$props$value.defaultValue, _this$props$value.disabled, _this$props$value.enableThreeStateBehavior, _this$props$value.focusStateEnabled, _this$props$value.height, _this$props$value.hint, _this$props$value.hoverStateEnabled, _this$props$value.iconSize, _this$props$value.inputAttr, _this$props$value.isValid, _this$props$value.name, _this$props$value.onClick, _this$props$value.onFocusIn, _this$props$value.onKeyDown, _this$props$value.readOnly, _this$props$value.rtlEnabled, _this$props$value.saveValueChangeEvent, _this$props$value.tabIndex, _this$props$value.text, _this$props$value.validationError, _this$props$value.validationErrors, _this$props$value.validationMessageMode, _this$props$value.validationMessagePosition, _this$props$value.validationStatus, _this$props$value.value, _this$props$value.valueChange, _this$props$value.visible, _this$props$value.width, _objectWithoutProperties(_this$props$value, _excluded));\r\n return restProps\r\n }\r\n }]);\r\n return CheckBox\r\n}(_inferno2.InfernoWrapperComponent);\r\nexports.CheckBox = CheckBox;\r\n\r\nfunction __processTwoWayProps(defaultProps) {\r\n var twoWayProps = [\"value\"];\r\n return Object.keys(defaultProps).reduce((function(props, propName) {\r\n var propValue = defaultProps[propName];\r\n var defaultPropName = twoWayProps.some((function(p) {\r\n return p === propName\r\n })) ? \"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\n\r\nfunction defaultOptions(rule) {\r\n __defaultOptionRules.push(rule);\r\n CheckBox.defaultProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(CheckBox.defaultProps), Object.getOwnPropertyDescriptors(__processTwoWayProps((0, _utils.convertRulesToOptions)(__defaultOptionRules)))))\r\n}\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/editors/check_box/check_box_icon.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.viewFunction = exports.CheckBoxIconProps = exports.CheckBoxIcon = void 0;\r\nvar _inferno = require(\"inferno\");\r\nvar _inferno2 = require(\"@devextreme/runtime/inferno\");\r\nvar _get_computed_style = _interopRequireDefault(require(\"../../../utils/get_computed_style\"));\r\nvar _window = require(\"../../../../core/utils/window\");\r\nvar _style = require(\"../../../../core/utils/style\");\r\nvar _type = require(\"../../../../core/utils/type\");\r\nvar _utils = require(\"./utils\");\r\nvar _excluded = [\"isChecked\", \"size\"];\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _objectWithoutProperties(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = _objectWithoutPropertiesLoose(source, excluded);\r\n var key, i;\r\n if (Object.getOwnPropertySymbols) {\r\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\r\n for (i = 0; i < sourceSymbolKeys.length; i++) {\r\n key = sourceSymbolKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n }\r\n return target\r\n}\r\n\r\nfunction _objectWithoutPropertiesLoose(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = {};\r\n var sourceKeys = Object.keys(source);\r\n var key, i;\r\n for (i = 0; i < sourceKeys.length; i++) {\r\n key = sourceKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n return target\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _assertThisInitialized(self) {\r\n if (void 0 === self) {\r\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\")\r\n }\r\n return self\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar viewFunction = function(viewModel) {\r\n var cssStyles = viewModel.cssStyles,\r\n elementRef = viewModel.elementRef;\r\n return (0, _inferno.createVNode)(1, \"span\", \"dx-checkbox-icon\", null, 1, {\r\n style: (0, _inferno2.normalizeStyles)(cssStyles)\r\n }, null, elementRef)\r\n};\r\nexports.viewFunction = viewFunction;\r\nvar CheckBoxIconProps = {\r\n isChecked: false\r\n};\r\nexports.CheckBoxIconProps = CheckBoxIconProps;\r\nvar CheckBoxIcon = function(_InfernoComponent) {\r\n _inheritsLoose(CheckBoxIcon, _InfernoComponent);\r\n\r\n function CheckBoxIcon(props) {\r\n var _this;\r\n _this = _InfernoComponent.call(this, props) || this;\r\n _this.state = {};\r\n _this.elementRef = (0, _inferno.createRef)();\r\n _this.__getterCache = {};\r\n _this.updateFontSize = _this.updateFontSize.bind(_assertThisInitialized(_this));\r\n _this.setIconFontSize = _this.setIconFontSize.bind(_assertThisInitialized(_this));\r\n _this.getIconSize = _this.getIconSize.bind(_assertThisInitialized(_this));\r\n _this.getComputedIconSize = _this.getComputedIconSize.bind(_assertThisInitialized(_this));\r\n return _this\r\n }\r\n var _proto = CheckBoxIcon.prototype;\r\n _proto.createEffects = function() {\r\n return [new _inferno2.InfernoEffect(this.updateFontSize, [this.props.isChecked, this.props.size])]\r\n };\r\n _proto.updateEffects = function() {\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 _proto.updateFontSize = function() {\r\n var _this$props = this.props,\r\n isChecked = _this$props.isChecked,\r\n size = _this$props.size;\r\n if ((0, _window.hasWindow)() && size) {\r\n var newIconSize = this.getIconSize(size);\r\n var newFontSize = (0, _utils.getFontSizeByIconSize)(newIconSize, isChecked);\r\n this.setIconFontSize(newFontSize)\r\n }\r\n };\r\n _proto.setIconFontSize = function(fontSize) {\r\n var element = this.elementRef.current;\r\n element.style.fontSize = \"\".concat(fontSize, \"px\")\r\n };\r\n _proto.getIconSize = function(size) {\r\n if ((0, _type.isNumeric)(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 _proto.getComputedIconSize = function() {\r\n var element = this.elementRef.current;\r\n var iconComputedStyle = (0, _get_computed_style.default)(element);\r\n var computedIconSize = parseInt(null === iconComputedStyle || void 0 === iconComputedStyle ? void 0 : iconComputedStyle.width, 10);\r\n return computedIconSize\r\n };\r\n _proto.componentWillUpdate = function(nextProps, nextState, context) {\r\n _InfernoComponent.prototype.componentWillUpdate.call(this);\r\n if (this.props.size !== nextProps.size) {\r\n this.__getterCache.cssStyles = void 0\r\n }\r\n };\r\n _proto.render = function() {\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 _createClass(CheckBoxIcon, [{\r\n key: \"cssStyles\",\r\n get: function() {\r\n var _this2 = this;\r\n if (void 0 !== this.__getterCache.cssStyles) {\r\n return this.__getterCache.cssStyles\r\n }\r\n return this.__getterCache.cssStyles = (size = _this2.props.size, width = (0, _style.normalizeStyleProp)(\"width\", size), height = (0, _style.normalizeStyleProp)(\"height\", size), {\r\n height: height,\r\n width: width\r\n });\r\n var size, width, height\r\n }\r\n }, {\r\n key: \"restAttributes\",\r\n get: function() {\r\n var _this$props2 = this.props,\r\n restProps = (_this$props2.isChecked, _this$props2.size, _objectWithoutProperties(_this$props2, _excluded));\r\n return restProps\r\n }\r\n }]);\r\n return CheckBoxIcon\r\n}(_inferno2.InfernoComponent);\r\nexports.CheckBoxIcon = CheckBoxIcon;\r\nCheckBoxIcon.defaultProps = CheckBoxIconProps;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/editors/check_box/utils.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.getDefaultFontSize = getDefaultFontSize;\r\nexports.getDefaultIconSize = getDefaultIconSize;\r\nexports.getFontSizeByIconSize = getFontSizeByIconSize;\r\nvar _themes = require(\"../../../../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 = (0, _themes.current)();\r\n return {\r\n isMaterialTheme: (0, _themes.isMaterial)(theme),\r\n isCompactTheme: (0, _themes.isCompact)(theme)\r\n }\r\n}\r\n\r\nfunction getDefaultIconSize() {\r\n var _getThemeType = getThemeType(),\r\n isCompactTheme = _getThemeType.isCompactTheme,\r\n isMaterialTheme = _getThemeType.isMaterialTheme;\r\n return defaultIconSizes[+isMaterialTheme][+isCompactTheme]\r\n}\r\n\r\nfunction getDefaultFontSize(isChecked) {\r\n var _getThemeType2 = getThemeType(),\r\n isCompactTheme = _getThemeType2.isCompactTheme,\r\n isMaterialTheme = _getThemeType2.isMaterialTheme;\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\n","/**\r\n * DevExtreme (cjs/renovation/ui/editors/common/editor.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.EditorPropsType = exports.EditorProps = exports.Editor = void 0;\r\nexports.defaultOptions = defaultOptions;\r\nexports.viewFunction = void 0;\r\nvar _inferno = require(\"inferno\");\r\nvar _inferno2 = require(\"@devextreme/runtime/inferno\");\r\nvar _guid = _interopRequireDefault(require(\"../../../../core/guid\"));\r\nvar _widget = require(\"../../common/widget\");\r\nvar _base_props = require(\"../../common/base_props\");\r\nvar _combine_classes = require(\"../../../utils/combine_classes\");\r\nvar _validation_message = require(\"../../overlays/validation_message\");\r\nvar _utils = require(\"../../../../core/options/utils\");\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\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\n\r\nfunction _objectWithoutProperties(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = _objectWithoutPropertiesLoose(source, excluded);\r\n var key, i;\r\n if (Object.getOwnPropertySymbols) {\r\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\r\n for (i = 0; i < sourceSymbolKeys.length; i++) {\r\n key = sourceSymbolKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n }\r\n return target\r\n}\r\n\r\nfunction _objectWithoutPropertiesLoose(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = {};\r\n var sourceKeys = Object.keys(source);\r\n var key, i;\r\n for (i = 0; i < sourceKeys.length; i++) {\r\n key = sourceKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n return target\r\n}\r\n\r\nfunction _toConsumableArray(arr) {\r\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread()\r\n}\r\n\r\nfunction _nonIterableSpread() {\r\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _unsupportedIterableToArray(o, minLen) {\r\n if (!o) {\r\n return\r\n }\r\n if (\"string\" === typeof o) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n var n = Object.prototype.toString.call(o).slice(8, -1);\r\n if (\"Object\" === n && o.constructor) {\r\n n = o.constructor.name\r\n }\r\n if (\"Map\" === n || \"Set\" === n) {\r\n return Array.from(o)\r\n }\r\n if (\"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n}\r\n\r\nfunction _iterableToArray(iter) {\r\n if (\"undefined\" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter[\"@@iterator\"]) {\r\n return Array.from(iter)\r\n }\r\n}\r\n\r\nfunction _arrayWithoutHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return _arrayLikeToArray(arr)\r\n }\r\n}\r\n\r\nfunction _arrayLikeToArray(arr, len) {\r\n if (null == len || len > arr.length) {\r\n len = arr.length\r\n }\r\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\r\n arr2[i] = arr[i]\r\n }\r\n return arr2\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _assertThisInitialized(self) {\r\n if (void 0 === self) {\r\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\")\r\n }\r\n return self\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\n\r\nfunction _defineProperty(obj, key, value) {\r\n key = _toPropertyKey(key);\r\n if (key in obj) {\r\n Object.defineProperty(obj, key, {\r\n value: value,\r\n enumerable: true,\r\n configurable: true,\r\n writable: true\r\n })\r\n } else {\r\n obj[key] = value\r\n }\r\n return obj\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\nvar getCssClasses = function(model) {\r\n var classes = model.classes,\r\n isValid = model.isValid,\r\n readOnly = model.readOnly;\r\n var classesMap = _defineProperty({\r\n \"dx-state-readonly\": !!readOnly,\r\n \"dx-invalid\": !isValid\r\n }, \"\".concat(classes), !!classes);\r\n return (0, _combine_classes.combineClasses)(classesMap)\r\n};\r\nvar viewFunction = function(viewModel) {\r\n var aria = viewModel.aria,\r\n classes = viewModel.cssClasses,\r\n isValidationMessageVisible = viewModel.isValidationMessageVisible,\r\n onFocusIn = viewModel.onFocusIn,\r\n _viewModel$props = viewModel.props,\r\n accessKey = _viewModel$props.accessKey,\r\n activeStateEnabled = _viewModel$props.activeStateEnabled,\r\n children = _viewModel$props.children,\r\n className = _viewModel$props.className,\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 onClick = _viewModel$props.onClick,\r\n onKeyDown = _viewModel$props.onKeyDown,\r\n rtlEnabled = _viewModel$props.rtlEnabled,\r\n tabIndex = _viewModel$props.tabIndex,\r\n validationMessageMode = _viewModel$props.validationMessageMode,\r\n validationMessagePosition = _viewModel$props.validationMessagePosition,\r\n visible = _viewModel$props.visible,\r\n width = _viewModel$props.width,\r\n restAttributes = viewModel.restAttributes,\r\n rootElementRef = viewModel.rootElementRef,\r\n validationErrors = viewModel.validationErrors,\r\n validationMessageGuid = viewModel.validationMessageGuid,\r\n validationMessageTarget = viewModel.validationMessageTarget,\r\n widgetRef = viewModel.widgetRef;\r\n return (0, _inferno.normalizeProps)((0, _inferno.createComponentVNode)(2, _widget.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: (0, _inferno.createFragment)([children, isValidationMessageVisible && (0, _inferno.createComponentVNode)(2, _validation_message.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\nexports.viewFunction = viewFunction;\r\nvar EditorProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(_base_props.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: function() {}\r\n})));\r\nexports.EditorProps = EditorProps;\r\nvar EditorPropsType = Object.defineProperties({}, {\r\n readOnly: {\r\n get: function() {\r\n return EditorProps.readOnly\r\n },\r\n configurable: true,\r\n enumerable: true\r\n },\r\n name: {\r\n get: function() {\r\n return EditorProps.name\r\n },\r\n configurable: true,\r\n enumerable: true\r\n },\r\n validationError: {\r\n get: function() {\r\n return EditorProps.validationError\r\n },\r\n configurable: true,\r\n enumerable: true\r\n },\r\n validationErrors: {\r\n get: function() {\r\n return EditorProps.validationErrors\r\n },\r\n configurable: true,\r\n enumerable: true\r\n },\r\n validationMessageMode: {\r\n get: function() {\r\n return EditorProps.validationMessageMode\r\n },\r\n configurable: true,\r\n enumerable: true\r\n },\r\n validationMessagePosition: {\r\n get: function() {\r\n return EditorProps.validationMessagePosition\r\n },\r\n configurable: true,\r\n enumerable: true\r\n },\r\n validationStatus: {\r\n get: function() {\r\n return EditorProps.validationStatus\r\n },\r\n configurable: true,\r\n enumerable: true\r\n },\r\n isValid: {\r\n get: function() {\r\n return EditorProps.isValid\r\n },\r\n configurable: true,\r\n enumerable: true\r\n },\r\n inputAttr: {\r\n get: function() {\r\n return EditorProps.inputAttr\r\n },\r\n configurable: true,\r\n enumerable: true\r\n },\r\n defaultValue: {\r\n get: function() {\r\n return EditorProps.defaultValue\r\n },\r\n configurable: true,\r\n enumerable: true\r\n },\r\n valueChange: {\r\n get: function() {\r\n return EditorProps.valueChange\r\n },\r\n configurable: true,\r\n enumerable: true\r\n },\r\n className: {\r\n get: function() {\r\n return EditorProps.className\r\n },\r\n configurable: true,\r\n enumerable: true\r\n },\r\n activeStateEnabled: {\r\n get: function() {\r\n return EditorProps.activeStateEnabled\r\n },\r\n configurable: true,\r\n enumerable: true\r\n },\r\n disabled: {\r\n get: function() {\r\n return EditorProps.disabled\r\n },\r\n configurable: true,\r\n enumerable: true\r\n },\r\n focusStateEnabled: {\r\n get: function() {\r\n return EditorProps.focusStateEnabled\r\n },\r\n configurable: true,\r\n enumerable: true\r\n },\r\n hoverStateEnabled: {\r\n get: function() {\r\n return EditorProps.hoverStateEnabled\r\n },\r\n configurable: true,\r\n enumerable: true\r\n },\r\n tabIndex: {\r\n get: function() {\r\n return EditorProps.tabIndex\r\n },\r\n configurable: true,\r\n enumerable: true\r\n },\r\n visible: {\r\n get: function() {\r\n return EditorProps.visible\r\n },\r\n configurable: true,\r\n enumerable: true\r\n },\r\n aria: {\r\n get: function() {\r\n return _widget.WidgetProps.aria\r\n },\r\n configurable: true,\r\n enumerable: true\r\n },\r\n classes: {\r\n get: function() {\r\n return _widget.WidgetProps.classes\r\n },\r\n configurable: true,\r\n enumerable: true\r\n }\r\n});\r\nexports.EditorPropsType = EditorPropsType;\r\nvar Editor = function(_InfernoWrapperCompon) {\r\n _inheritsLoose(Editor, _InfernoWrapperCompon);\r\n\r\n function Editor(props) {\r\n var _this;\r\n _this = _InfernoWrapperCompon.call(this, props) || this;\r\n _this.widgetRef = (0, _inferno.createRef)();\r\n _this.rootElementRef = (0, _inferno.createRef)();\r\n _this.__getterCache = {};\r\n _this.state = {\r\n validationMessageGuid: \"dx-\".concat(new _guid.default),\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(_assertThisInitialized(_this));\r\n _this.focus = _this.focus.bind(_assertThisInitialized(_this));\r\n _this.blur = _this.blur.bind(_assertThisInitialized(_this));\r\n _this.onFocusIn = _this.onFocusIn.bind(_assertThisInitialized(_this));\r\n return _this\r\n }\r\n var _proto = Editor.prototype;\r\n _proto.createEffects = function() {\r\n return [new _inferno2.InfernoEffect(this.updateValidationMessageVisibility, [this.props.isValid, this.props.validationStatus, this.props.validationError, this.props.validationErrors]), (0, _inferno2.createReRenderEffect)()]\r\n };\r\n _proto.updateEffects = function() {\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 _proto.updateValidationMessageVisibility = function() {\r\n var _this2 = this;\r\n this.setState((function(__state_argument) {\r\n return {\r\n isValidationMessageVisible: _this2.shouldShowValidationMessage\r\n }\r\n }))\r\n };\r\n _proto.onFocusIn = function(event) {\r\n var onFocusIn = this.props.onFocusIn;\r\n null === onFocusIn || void 0 === onFocusIn ? void 0 : onFocusIn(event)\r\n };\r\n _proto.focus = function() {\r\n this.widgetRef.current.focus()\r\n };\r\n _proto.blur = function() {\r\n this.widgetRef.current.blur()\r\n };\r\n _proto.componentWillUpdate = function(nextProps, nextState, context) {\r\n _InfernoWrapperCompon.prototype.componentWillUpdate.call(this);\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 _proto.render = function() {\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 _createClass(Editor, [{\r\n key: \"cssClasses\",\r\n get: function() {\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 }, {\r\n key: \"shouldShowValidationMessage\",\r\n get: function() {\r\n var _this$validationError;\r\n var _this$props = this.props,\r\n isValid = _this$props.isValid,\r\n validationStatus = _this$props.validationStatus;\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 }, {\r\n key: \"aria\",\r\n get: function() {\r\n var _this$props2 = this.props,\r\n isValid = _this$props2.isValid,\r\n readOnly = _this$props2.readOnly;\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 }, {\r\n key: \"validationErrors\",\r\n get: function() {\r\n var _this3 = this;\r\n if (void 0 !== this.__getterCache.validationErrors) {\r\n return this.__getterCache.validationErrors\r\n }\r\n return this.__getterCache.validationErrors = function() {\r\n var _this3$props = _this3.props,\r\n validationError = _this3$props.validationError,\r\n validationErrors = _this3$props.validationErrors;\r\n var allValidationErrors = validationErrors && _toConsumableArray(validationErrors);\r\n if (!allValidationErrors && validationError) {\r\n allValidationErrors = [_extends({}, validationError)]\r\n }\r\n return allValidationErrors\r\n }()\r\n }\r\n }, {\r\n key: \"validationMessageTarget\",\r\n get: function() {\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 }, {\r\n key: \"restAttributes\",\r\n get: function() {\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 = (_this$props$value.accessKey, _this$props$value.activeStateEnabled, _this$props$value.aria, _this$props$value.children, _this$props$value.className, _this$props$value.classes, _this$props$value.defaultValue, _this$props$value.disabled, _this$props$value.focusStateEnabled, _this$props$value.height, _this$props$value.hint, _this$props$value.hoverStateEnabled, _this$props$value.inputAttr, _this$props$value.isValid, _this$props$value.name, _this$props$value.onClick, _this$props$value.onFocusIn, _this$props$value.onKeyDown, _this$props$value.readOnly, _this$props$value.rtlEnabled, _this$props$value.tabIndex, _this$props$value.validationError, _this$props$value.validationErrors, _this$props$value.validationMessageMode, _this$props$value.validationMessagePosition, _this$props$value.validationStatus, _this$props$value.value, _this$props$value.valueChange, _this$props$value.visible, _this$props$value.width, _objectWithoutProperties(_this$props$value, _excluded));\r\n return restProps\r\n }\r\n }]);\r\n return Editor\r\n}(_inferno2.InfernoWrapperComponent);\r\nexports.Editor = Editor;\r\n\r\nfunction __processTwoWayProps(defaultProps) {\r\n var twoWayProps = [\"value\"];\r\n return Object.keys(defaultProps).reduce((function(props, propName) {\r\n var propValue = defaultProps[propName];\r\n var defaultPropName = twoWayProps.some((function(p) {\r\n return p === propName\r\n })) ? \"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\n\r\nfunction defaultOptions(rule) {\r\n __defaultOptionRules.push(rule);\r\n Editor.defaultProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(Editor.defaultProps), Object.getOwnPropertyDescriptors(__processTwoWayProps((0, _utils.convertRulesToOptions)(__defaultOptionRules)))))\r\n}\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/editors/common/editor_label_props.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.EditorLabelProps = void 0;\r\nvar _themes = require(\"../../../../ui/themes\");\r\nvar EditorLabelProps = Object.defineProperties({\r\n label: \"\"\r\n}, {\r\n labelMode: {\r\n get: function() {\r\n return (0, _themes.isMaterial)((0, _themes.current)()) ? \"floating\" : \"static\"\r\n },\r\n configurable: true,\r\n enumerable: true\r\n }\r\n});\r\nexports.EditorLabelProps = EditorLabelProps;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/editors/common/editor_state_props.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.EditorStateProps = void 0;\r\nvar _devices = _interopRequireDefault(require(\"../../../../core/devices\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar EditorStateProps = Object.defineProperties({\r\n hoverStateEnabled: true,\r\n activeStateEnabled: true\r\n}, {\r\n focusStateEnabled: {\r\n get: function() {\r\n return \"desktop\" === _devices.default.real().deviceType && !_devices.default.isSimulator()\r\n },\r\n configurable: true,\r\n enumerable: true\r\n }\r\n});\r\nexports.EditorStateProps = EditorStateProps;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/editors/drop_down_editors/select_box.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.viewFunction = exports.SelectBoxPropsType = exports.SelectBoxProps = exports.SelectBox = void 0;\r\nvar _inferno = require(\"inferno\");\r\nvar _inferno2 = require(\"@devextreme/runtime/inferno\");\r\nvar _select_box = _interopRequireDefault(require(\"../../../../ui/select_box\"));\r\nvar _dom_component_wrapper = require(\"../../common/dom_component_wrapper\");\r\nvar _editor = require(\"../common/editor\");\r\nvar _editor_state_props = require(\"../common/editor_state_props\");\r\nvar _editor_label_props = require(\"../common/editor_label_props\");\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\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _objectWithoutProperties(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = _objectWithoutPropertiesLoose(source, excluded);\r\n var key, i;\r\n if (Object.getOwnPropertySymbols) {\r\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\r\n for (i = 0; i < sourceSymbolKeys.length; i++) {\r\n key = sourceSymbolKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n }\r\n return target\r\n}\r\n\r\nfunction _objectWithoutPropertiesLoose(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = {};\r\n var sourceKeys = Object.keys(source);\r\n var key, i;\r\n for (i = 0; i < sourceKeys.length; i++) {\r\n key = sourceKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n return target\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\nvar viewFunction = function(_ref) {\r\n var componentProps = _ref.componentProps,\r\n restAttributes = _ref.restAttributes;\r\n return (0, _inferno.normalizeProps)((0, _inferno.createComponentVNode)(2, _dom_component_wrapper.DomComponentWrapper, _extends({\r\n componentType: _select_box.default,\r\n componentProps: componentProps,\r\n templateNames: [\"dropDownButtonTemplate\", \"groupTemplate\", \"itemTemplate\"]\r\n }, restAttributes)))\r\n};\r\nexports.viewFunction = viewFunction;\r\nvar SelectBoxProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(_editor.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\nexports.SelectBoxProps = SelectBoxProps;\r\nvar SelectBoxPropsType = Object.defineProperties({\r\n isReactComponentWrapper: true\r\n}, {\r\n placeholder: {\r\n get: function() {\r\n return SelectBoxProps.placeholder\r\n },\r\n configurable: true,\r\n enumerable: true\r\n },\r\n hoverStateEnabled: {\r\n get: function() {\r\n return _editor_state_props.EditorStateProps.hoverStateEnabled\r\n },\r\n configurable: true,\r\n enumerable: true\r\n },\r\n searchEnabled: {\r\n get: function() {\r\n return SelectBoxProps.searchEnabled\r\n },\r\n configurable: true,\r\n enumerable: true\r\n },\r\n defaultValue: {\r\n get: function() {\r\n return SelectBoxProps.defaultValue\r\n },\r\n configurable: true,\r\n enumerable: true\r\n },\r\n readOnly: {\r\n get: function() {\r\n return SelectBoxProps.readOnly\r\n },\r\n configurable: true,\r\n enumerable: true\r\n },\r\n name: {\r\n get: function() {\r\n return SelectBoxProps.name\r\n },\r\n configurable: true,\r\n enumerable: true\r\n },\r\n validationError: {\r\n get: function() {\r\n return SelectBoxProps.validationError\r\n },\r\n configurable: true,\r\n enumerable: true\r\n },\r\n validationErrors: {\r\n get: function() {\r\n return SelectBoxProps.validationErrors\r\n },\r\n configurable: true,\r\n enumerable: true\r\n },\r\n validationMessageMode: {\r\n get: function() {\r\n return SelectBoxProps.validationMessageMode\r\n },\r\n configurable: true,\r\n enumerable: true\r\n },\r\n validationMessagePosition: {\r\n get: function() {\r\n return SelectBoxProps.validationMessagePosition\r\n },\r\n configurable: true,\r\n enumerable: true\r\n },\r\n validationStatus: {\r\n get: function() {\r\n return SelectBoxProps.validationStatus\r\n },\r\n configurable: true,\r\n enumerable: true\r\n },\r\n isValid: {\r\n get: function() {\r\n return SelectBoxProps.isValid\r\n },\r\n configurable: true,\r\n enumerable: true\r\n },\r\n inputAttr: {\r\n get: function() {\r\n return SelectBoxProps.inputAttr\r\n },\r\n configurable: true,\r\n enumerable: true\r\n },\r\n className: {\r\n get: function() {\r\n return SelectBoxProps.className\r\n },\r\n configurable: true,\r\n enumerable: true\r\n },\r\n activeStateEnabled: {\r\n get: function() {\r\n return _editor_state_props.EditorStateProps.activeStateEnabled\r\n },\r\n configurable: true,\r\n enumerable: true\r\n },\r\n disabled: {\r\n get: function() {\r\n return SelectBoxProps.disabled\r\n },\r\n configurable: true,\r\n enumerable: true\r\n },\r\n focusStateEnabled: {\r\n get: function() {\r\n return _editor_state_props.EditorStateProps.focusStateEnabled\r\n },\r\n configurable: true,\r\n enumerable: true\r\n },\r\n tabIndex: {\r\n get: function() {\r\n return SelectBoxProps.tabIndex\r\n },\r\n configurable: true,\r\n enumerable: true\r\n },\r\n visible: {\r\n get: function() {\r\n return SelectBoxProps.visible\r\n },\r\n configurable: true,\r\n enumerable: true\r\n },\r\n label: {\r\n get: function() {\r\n return _editor_label_props.EditorLabelProps.label\r\n },\r\n configurable: true,\r\n enumerable: true\r\n },\r\n labelMode: {\r\n get: function() {\r\n return _editor_label_props.EditorLabelProps.labelMode\r\n },\r\n configurable: true,\r\n enumerable: true\r\n }\r\n});\r\nexports.SelectBoxPropsType = SelectBoxPropsType;\r\nvar SelectBox = function(_BaseInfernoComponent) {\r\n _inheritsLoose(SelectBox, _BaseInfernoComponent);\r\n\r\n function SelectBox(props) {\r\n var _this;\r\n _this = _BaseInfernoComponent.call(this, props) || this;\r\n _this.state = {\r\n value: void 0 !== _this.props.value ? _this.props.value : _this.props.defaultValue\r\n };\r\n return _this\r\n }\r\n var _proto = SelectBox.prototype;\r\n _proto.render = function() {\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 _createClass(SelectBox, [{\r\n key: \"componentProps\",\r\n get: function() {\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 }, {\r\n key: \"restAttributes\",\r\n get: function() {\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 = (_this$props$value.accessKey, _this$props$value.activeStateEnabled, _this$props$value.className, _this$props$value.dataSource, _this$props$value.defaultValue, _this$props$value.disabled, _this$props$value.displayExpr, _this$props$value.focusStateEnabled, _this$props$value.height, _this$props$value.hint, _this$props$value.hoverStateEnabled, _this$props$value.inputAttr, _this$props$value.isValid, _this$props$value.label, _this$props$value.labelMode, _this$props$value.name, _this$props$value.onClick, _this$props$value.onFocusIn, _this$props$value.onKeyDown, _this$props$value.placeholder, _this$props$value.readOnly, _this$props$value.rtlEnabled, _this$props$value.searchEnabled, _this$props$value.tabIndex, _this$props$value.validationError, _this$props$value.validationErrors, _this$props$value.validationMessageMode, _this$props$value.validationMessagePosition, _this$props$value.validationStatus, _this$props$value.value, _this$props$value.valueChange, _this$props$value.valueExpr, _this$props$value.visible, _this$props$value.width, _objectWithoutProperties(_this$props$value, _excluded));\r\n return restProps\r\n }\r\n }]);\r\n return SelectBox\r\n}(_inferno2.BaseInfernoComponent);\r\nexports.SelectBox = SelectBox;\r\nSelectBox.defaultProps = SelectBoxPropsType;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/editors/number_box.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.viewFunction = exports.NumberBoxPropsType = exports.NumberBoxProps = exports.NumberBox = void 0;\r\nvar _inferno = require(\"inferno\");\r\nvar _inferno2 = require(\"@devextreme/runtime/inferno\");\r\nvar _number_box = _interopRequireDefault(require(\"../../../ui/number_box\"));\r\nvar _dom_component_wrapper = require(\"../common/dom_component_wrapper\");\r\nvar _editor = require(\"./common/editor\");\r\nvar _editor_state_props = require(\"./common/editor_state_props\");\r\nvar _editor_label_props = require(\"./common/editor_label_props\");\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\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _objectWithoutProperties(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = _objectWithoutPropertiesLoose(source, excluded);\r\n var key, i;\r\n if (Object.getOwnPropertySymbols) {\r\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\r\n for (i = 0; i < sourceSymbolKeys.length; i++) {\r\n key = sourceSymbolKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n }\r\n return target\r\n}\r\n\r\nfunction _objectWithoutPropertiesLoose(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = {};\r\n var sourceKeys = Object.keys(source);\r\n var key, i;\r\n for (i = 0; i < sourceKeys.length; i++) {\r\n key = sourceKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n return target\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\nvar DEFAULT_VALUE = 0;\r\nvar viewFunction = function(_ref) {\r\n var componentProps = _ref.componentProps,\r\n restAttributes = _ref.restAttributes;\r\n return (0, _inferno.normalizeProps)((0, _inferno.createComponentVNode)(2, _dom_component_wrapper.DomComponentWrapper, _extends({\r\n componentType: _number_box.default,\r\n componentProps: componentProps,\r\n templateNames: []\r\n }, restAttributes)))\r\n};\r\nexports.viewFunction = viewFunction;\r\nvar NumberBoxProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(_editor.EditorProps), Object.getOwnPropertyDescriptors({\r\n defaultValue: DEFAULT_VALUE,\r\n isReactComponentWrapper: true\r\n})));\r\nexports.NumberBoxProps = NumberBoxProps;\r\nvar NumberBoxPropsType = Object.defineProperties({\r\n isReactComponentWrapper: true\r\n}, {\r\n defaultValue: {\r\n get: function() {\r\n return NumberBoxProps.defaultValue\r\n },\r\n configurable: true,\r\n enumerable: true\r\n },\r\n readOnly: {\r\n get: function() {\r\n return NumberBoxProps.readOnly\r\n },\r\n configurable: true,\r\n enumerable: true\r\n },\r\n name: {\r\n get: function() {\r\n return NumberBoxProps.name\r\n },\r\n configurable: true,\r\n enumerable: true\r\n },\r\n validationError: {\r\n get: function() {\r\n return NumberBoxProps.validationError\r\n },\r\n configurable: true,\r\n enumerable: true\r\n },\r\n validationErrors: {\r\n get: function() {\r\n return NumberBoxProps.validationErrors\r\n },\r\n configurable: true,\r\n enumerable: true\r\n },\r\n validationMessageMode: {\r\n get: function() {\r\n return NumberBoxProps.validationMessageMode\r\n },\r\n configurable: true,\r\n enumerable: true\r\n },\r\n validationMessagePosition: {\r\n get: function() {\r\n return NumberBoxProps.validationMessagePosition\r\n },\r\n configurable: true,\r\n enumerable: true\r\n },\r\n validationStatus: {\r\n get: function() {\r\n return NumberBoxProps.validationStatus\r\n },\r\n configurable: true,\r\n enumerable: true\r\n },\r\n isValid: {\r\n get: function() {\r\n return NumberBoxProps.isValid\r\n },\r\n configurable: true,\r\n enumerable: true\r\n },\r\n inputAttr: {\r\n get: function() {\r\n return NumberBoxProps.inputAttr\r\n },\r\n configurable: true,\r\n enumerable: true\r\n },\r\n className: {\r\n get: function() {\r\n return NumberBoxProps.className\r\n },\r\n configurable: true,\r\n enumerable: true\r\n },\r\n activeStateEnabled: {\r\n get: function() {\r\n return _editor_state_props.EditorStateProps.activeStateEnabled\r\n },\r\n configurable: true,\r\n enumerable: true\r\n },\r\n disabled: {\r\n get: function() {\r\n return NumberBoxProps.disabled\r\n },\r\n configurable: true,\r\n enumerable: true\r\n },\r\n focusStateEnabled: {\r\n get: function() {\r\n return _editor_state_props.EditorStateProps.focusStateEnabled\r\n },\r\n configurable: true,\r\n enumerable: true\r\n },\r\n hoverStateEnabled: {\r\n get: function() {\r\n return _editor_state_props.EditorStateProps.hoverStateEnabled\r\n },\r\n configurable: true,\r\n enumerable: true\r\n },\r\n tabIndex: {\r\n get: function() {\r\n return NumberBoxProps.tabIndex\r\n },\r\n configurable: true,\r\n enumerable: true\r\n },\r\n visible: {\r\n get: function() {\r\n return NumberBoxProps.visible\r\n },\r\n configurable: true,\r\n enumerable: true\r\n },\r\n label: {\r\n get: function() {\r\n return _editor_label_props.EditorLabelProps.label\r\n },\r\n configurable: true,\r\n enumerable: true\r\n },\r\n labelMode: {\r\n get: function() {\r\n return _editor_label_props.EditorLabelProps.labelMode\r\n },\r\n configurable: true,\r\n enumerable: true\r\n }\r\n});\r\nexports.NumberBoxPropsType = NumberBoxPropsType;\r\nvar NumberBox = function(_BaseInfernoComponent) {\r\n _inheritsLoose(NumberBox, _BaseInfernoComponent);\r\n\r\n function NumberBox(props) {\r\n var _this;\r\n _this = _BaseInfernoComponent.call(this, props) || this;\r\n _this.state = {\r\n value: void 0 !== _this.props.value ? _this.props.value : _this.props.defaultValue\r\n };\r\n return _this\r\n }\r\n var _proto = NumberBox.prototype;\r\n _proto.render = function() {\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 _createClass(NumberBox, [{\r\n key: \"componentProps\",\r\n get: function() {\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 }, {\r\n key: \"restAttributes\",\r\n get: function() {\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 = (_this$props$value.accessKey, _this$props$value.activeStateEnabled, _this$props$value.className, _this$props$value.defaultValue, _this$props$value.disabled, _this$props$value.focusStateEnabled, _this$props$value.height, _this$props$value.hint, _this$props$value.hoverStateEnabled, _this$props$value.inputAttr, _this$props$value.invalidValueMessage, _this$props$value.isValid, _this$props$value.label, _this$props$value.labelMode, _this$props$value.max, _this$props$value.min, _this$props$value.mode, _this$props$value.name, _this$props$value.onClick, _this$props$value.onFocusIn, _this$props$value.onKeyDown, _this$props$value.readOnly, _this$props$value.rtlEnabled, _this$props$value.showSpinButtons, _this$props$value.step, _this$props$value.tabIndex, _this$props$value.useLargeSpinButtons, _this$props$value.validationError, _this$props$value.validationErrors, _this$props$value.validationMessageMode, _this$props$value.validationMessagePosition, _this$props$value.validationStatus, _this$props$value.value, _this$props$value.valueChange, _this$props$value.visible, _this$props$value.width, _objectWithoutProperties(_this$props$value, _excluded));\r\n return restProps\r\n }\r\n }]);\r\n return NumberBox\r\n}(_inferno2.BaseInfernoComponent);\r\nexports.NumberBox = NumberBox;\r\nNumberBox.defaultProps = NumberBoxPropsType;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/overlays/validation_message.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.viewFunction = exports.ValidationMessageProps = exports.ValidationMessage = void 0;\r\nvar _inferno = require(\"inferno\");\r\nvar _inferno2 = require(\"@devextreme/runtime/inferno\");\r\nvar _validation_message = _interopRequireDefault(require(\"../../../ui/validation_message\"));\r\nvar _dom_component_wrapper = require(\"../common/dom_component_wrapper\");\r\nvar _base_props = require(\"../common/base_props\");\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\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _objectWithoutProperties(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = _objectWithoutPropertiesLoose(source, excluded);\r\n var key, i;\r\n if (Object.getOwnPropertySymbols) {\r\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\r\n for (i = 0; i < sourceSymbolKeys.length; i++) {\r\n key = sourceSymbolKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n }\r\n return target\r\n}\r\n\r\nfunction _objectWithoutPropertiesLoose(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = {};\r\n var sourceKeys = Object.keys(source);\r\n var key, i;\r\n for (i = 0; i < sourceKeys.length; i++) {\r\n key = sourceKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n return target\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\nvar viewFunction = function(_ref) {\r\n var componentProps = _ref.componentProps,\r\n restAttributes = _ref.restAttributes;\r\n return (0, _inferno.normalizeProps)((0, _inferno.createComponentVNode)(2, _dom_component_wrapper.DomComponentWrapper, _extends({\r\n componentType: _validation_message.default,\r\n componentProps: componentProps,\r\n templateNames: []\r\n }, restAttributes)))\r\n};\r\nexports.viewFunction = viewFunction;\r\nvar ValidationMessageProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(_base_props.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\nexports.ValidationMessageProps = ValidationMessageProps;\r\nvar ValidationMessage = function(_BaseInfernoComponent) {\r\n _inheritsLoose(ValidationMessage, _BaseInfernoComponent);\r\n\r\n function ValidationMessage(props) {\r\n var _this;\r\n _this = _BaseInfernoComponent.call(this, props) || this;\r\n _this.state = {};\r\n return _this\r\n }\r\n var _proto = ValidationMessage.prototype;\r\n _proto.render = function() {\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 _createClass(ValidationMessage, [{\r\n key: \"componentProps\",\r\n get: function() {\r\n return this.props\r\n }\r\n }, {\r\n key: \"restAttributes\",\r\n get: function() {\r\n var _this$props = this.props,\r\n restProps = (_this$props.accessKey, _this$props.activeStateEnabled, _this$props.boundary, _this$props.className, _this$props.contentId, _this$props.disabled, _this$props.focusStateEnabled, _this$props.height, _this$props.hint, _this$props.hoverStateEnabled, _this$props.mode, _this$props.offset, _this$props.onClick, _this$props.onKeyDown, _this$props.positionSide, _this$props.rtlEnabled, _this$props.tabIndex, _this$props.target, _this$props.validationErrors, _this$props.visible, _this$props.visualContainer, _this$props.width, _objectWithoutProperties(_this$props, _excluded));\r\n return restProps\r\n }\r\n }]);\r\n return ValidationMessage\r\n}(_inferno2.BaseInfernoComponent);\r\nexports.ValidationMessage = ValidationMessage;\r\nValidationMessage.defaultProps = ValidationMessageProps;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/pager/common/base_pager_props.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.BasePagerProps = void 0;\r\nvar _message = _interopRequireDefault(require(\"../../../../localization/message\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar BasePagerProps = Object.defineProperties({\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}, {\r\n label: {\r\n get: function() {\r\n return _message.default.format(\"dxPager-ariaLabel\")\r\n },\r\n configurable: true,\r\n enumerable: true\r\n }\r\n});\r\nexports.BasePagerProps = BasePagerProps;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/pager/common/consts.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.PAGER_SELECTION_CLASS = exports.PAGER_SELECTED_PAGE_SIZE_CLASS = exports.PAGER_PAGE_SIZE_CLASS = exports.PAGER_PAGE_SIZES_CLASS = exports.PAGER_PAGE_INDEXES_CLASS = exports.PAGER_PAGE_CLASS = exports.PAGER_PAGES_CLASS = exports.PAGER_CLASS = exports.LIGHT_MODE_CLASS = exports.FIRST_CHILD_CLASS = void 0;\r\nvar PAGER_CLASS = \"dx-pager\";\r\nexports.PAGER_CLASS = PAGER_CLASS;\r\nvar LIGHT_MODE_CLASS = \"dx-light-mode\";\r\nexports.LIGHT_MODE_CLASS = LIGHT_MODE_CLASS;\r\nvar PAGER_PAGES_CLASS = \"dx-pages\";\r\nexports.PAGER_PAGES_CLASS = PAGER_PAGES_CLASS;\r\nvar PAGER_PAGE_INDEXES_CLASS = \"dx-page-indexes\";\r\nexports.PAGER_PAGE_INDEXES_CLASS = PAGER_PAGE_INDEXES_CLASS;\r\nvar PAGER_PAGE_CLASS = \"dx-page\";\r\nexports.PAGER_PAGE_CLASS = PAGER_PAGE_CLASS;\r\nvar PAGER_SELECTION_CLASS = \"dx-selection\";\r\nexports.PAGER_SELECTION_CLASS = PAGER_SELECTION_CLASS;\r\nvar PAGER_PAGE_SIZE_CLASS = \"dx-page-size\";\r\nexports.PAGER_PAGE_SIZE_CLASS = PAGER_PAGE_SIZE_CLASS;\r\nvar PAGER_PAGE_SIZES_CLASS = \"dx-page-sizes\";\r\nexports.PAGER_PAGE_SIZES_CLASS = PAGER_PAGE_SIZES_CLASS;\r\nvar PAGER_SELECTED_PAGE_SIZE_CLASS = \"\".concat(PAGER_PAGE_SIZE_CLASS, \" \").concat(PAGER_SELECTION_CLASS);\r\nexports.PAGER_SELECTED_PAGE_SIZE_CLASS = PAGER_SELECTED_PAGE_SIZE_CLASS;\r\nvar FIRST_CHILD_CLASS = \"dx-first-child\";\r\nexports.FIRST_CHILD_CLASS = FIRST_CHILD_CLASS;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/pager/common/keyboard_action_context.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.KeyboardActionContext = void 0;\r\nvar _inferno = require(\"@devextreme/runtime/inferno\");\r\nvar KeyboardActionContext = (0, _inferno.createContext)(void 0);\r\nexports.KeyboardActionContext = KeyboardActionContext;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/pager/common/light_button.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.viewFunction = exports.LightButtonProps = exports.LightButton = void 0;\r\nvar _inferno = require(\"inferno\");\r\nvar _inferno2 = require(\"@devextreme/runtime/inferno\");\r\nvar _subscribe_to_event = require(\"../../../utils/subscribe_to_event\");\r\nvar _keyboard_action_context = require(\"./keyboard_action_context\");\r\nvar _excluded = [\"children\", \"className\", \"label\", \"onClick\", \"selected\", \"tabIndex\"];\r\n\r\nfunction _objectWithoutProperties(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = _objectWithoutPropertiesLoose(source, excluded);\r\n var key, i;\r\n if (Object.getOwnPropertySymbols) {\r\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\r\n for (i = 0; i < sourceSymbolKeys.length; i++) {\r\n key = sourceSymbolKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n }\r\n return target\r\n}\r\n\r\nfunction _objectWithoutPropertiesLoose(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = {};\r\n var sourceKeys = Object.keys(source);\r\n var key, i;\r\n for (i = 0; i < sourceKeys.length; i++) {\r\n key = sourceKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n return target\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _assertThisInitialized(self) {\r\n if (void 0 === self) {\r\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\")\r\n }\r\n return self\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar viewFunction = function(_ref) {\r\n var _ref$props = _ref.props,\r\n children = _ref$props.children,\r\n className = _ref$props.className,\r\n label = _ref$props.label,\r\n selected = _ref$props.selected,\r\n tabIndex = _ref$props.tabIndex,\r\n widgetRef = _ref.widgetRef;\r\n return (0, _inferno.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\nexports.viewFunction = viewFunction;\r\nvar LightButtonProps = {\r\n className: \"\",\r\n label: \"\",\r\n tabIndex: 0,\r\n selected: false\r\n};\r\nexports.LightButtonProps = LightButtonProps;\r\nvar LightButton = function(_InfernoComponent) {\r\n _inheritsLoose(LightButton, _InfernoComponent);\r\n\r\n function LightButton(props) {\r\n var _this;\r\n _this = _InfernoComponent.call(this, props) || this;\r\n _this.state = {};\r\n _this.widgetRef = (0, _inferno.createRef)();\r\n _this.keyboardEffect = _this.keyboardEffect.bind(_assertThisInitialized(_this));\r\n _this.subscribeToClick = _this.subscribeToClick.bind(_assertThisInitialized(_this));\r\n return _this\r\n }\r\n var _proto = LightButton.prototype;\r\n _proto.createEffects = function() {\r\n return [new _inferno2.InfernoEffect(this.keyboardEffect, [this.keyboardContext, this.props.onClick]), new _inferno2.InfernoEffect(this.subscribeToClick, [this.props.onClick])]\r\n };\r\n _proto.updateEffects = function() {\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 _proto.keyboardEffect = function() {\r\n return this.keyboardContext.registerKeyboardAction(this.widgetRef.current, this.props.onClick)\r\n };\r\n _proto.subscribeToClick = function() {\r\n return (0, _subscribe_to_event.subscribeToClickEvent)(this.widgetRef.current, this.props.onClick)\r\n };\r\n _proto.render = function() {\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 _createClass(LightButton, [{\r\n key: \"keyboardContext\",\r\n get: function() {\r\n if (this.context[_keyboard_action_context.KeyboardActionContext.id]) {\r\n return this.context[_keyboard_action_context.KeyboardActionContext.id]\r\n }\r\n return _keyboard_action_context.KeyboardActionContext.defaultValue\r\n }\r\n }, {\r\n key: \"restAttributes\",\r\n get: function() {\r\n var _this$props = this.props,\r\n restProps = (_this$props.children, _this$props.className, _this$props.label, _this$props.onClick, _this$props.selected, _this$props.tabIndex, _objectWithoutProperties(_this$props, _excluded));\r\n return restProps\r\n }\r\n }]);\r\n return LightButton\r\n}(_inferno2.InfernoComponent);\r\nexports.LightButton = LightButton;\r\nLightButton.defaultProps = LightButtonProps;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/pager/common/pager_props.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.PagerProps = exports.InternalPagerProps = void 0;\r\nvar _base_pager_props = require(\"./base_pager_props\");\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\nvar PagerProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(_base_pager_props.BasePagerProps), Object.getOwnPropertyDescriptors({\r\n defaultPageSize: 5,\r\n pageSizeChange: function() {},\r\n defaultPageIndex: 1,\r\n pageIndexChange: function() {}\r\n})));\r\nexports.PagerProps = PagerProps;\r\nvar InternalPagerProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(_base_pager_props.BasePagerProps), Object.getOwnPropertyDescriptors({\r\n pageSize: 5,\r\n pageIndex: 1\r\n})));\r\nexports.InternalPagerProps = InternalPagerProps;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/pager/content.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.viewFunction = exports.PagerContentProps = exports.PagerContent = void 0;\r\nvar _inferno = require(\"inferno\");\r\nvar _inferno2 = require(\"@devextreme/runtime/inferno\");\r\nvar _info = require(\"./info\");\r\nvar _page_index_selector = require(\"./pages/page_index_selector\");\r\nvar _selector = require(\"./page_size/selector\");\r\nvar _consts = require(\"./common/consts\");\r\nvar _pager_props = require(\"./common/pager_props\");\r\nvar _combine_classes = require(\"../../utils/combine_classes\");\r\nvar _widget = require(\"../common/widget\");\r\nvar _accessibility = require(\"../../../ui/shared/accessibility\");\r\nvar _keyboard_action_context = require(\"./common/keyboard_action_context\");\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\n\r\nfunction _objectWithoutProperties(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = _objectWithoutPropertiesLoose(source, excluded);\r\n var key, i;\r\n if (Object.getOwnPropertySymbols) {\r\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\r\n for (i = 0; i < sourceSymbolKeys.length; i++) {\r\n key = sourceSymbolKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n }\r\n return target\r\n}\r\n\r\nfunction _objectWithoutPropertiesLoose(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = {};\r\n var sourceKeys = Object.keys(source);\r\n var key, i;\r\n for (i = 0; i < sourceKeys.length; i++) {\r\n key = sourceKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n return target\r\n}\r\n\r\nfunction _defineProperty(obj, key, value) {\r\n key = _toPropertyKey(key);\r\n if (key in obj) {\r\n Object.defineProperty(obj, key, {\r\n value: value,\r\n enumerable: true,\r\n configurable: true,\r\n writable: true\r\n })\r\n } else {\r\n obj[key] = value\r\n }\r\n return obj\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _assertThisInitialized(self) {\r\n if (void 0 === self) {\r\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\")\r\n }\r\n return self\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\nvar viewFunction = function(_ref) {\r\n var aria = _ref.aria,\r\n classes = _ref.classes,\r\n infoVisible = _ref.infoVisible,\r\n isLargeDisplayMode = _ref.isLargeDisplayMode,\r\n pageIndexSelectorVisible = _ref.pageIndexSelectorVisible,\r\n pagesContainerVisibility = _ref.pagesContainerVisibility,\r\n pagesContainerVisible = _ref.pagesContainerVisible,\r\n _ref$props = _ref.props,\r\n hasKnownLastPage = _ref$props.hasKnownLastPage,\r\n infoText = _ref$props.infoText,\r\n infoTextRef = _ref$props.infoTextRef,\r\n maxPagesCount = _ref$props.maxPagesCount,\r\n pageCount = _ref$props.pageCount,\r\n pageIndex = _ref$props.pageIndex,\r\n pageIndexChange = _ref$props.pageIndexChange,\r\n pageSize = _ref$props.pageSize,\r\n pageSizeChange = _ref$props.pageSizeChange,\r\n pageSizes = _ref$props.pageSizes,\r\n pageSizesRef = _ref$props.pageSizesRef,\r\n pagesCountText = _ref$props.pagesCountText,\r\n pagesRef = _ref$props.pagesRef,\r\n rtlEnabled = _ref$props.rtlEnabled,\r\n showNavigationButtons = _ref$props.showNavigationButtons,\r\n showPageSizes = _ref$props.showPageSizes,\r\n totalCount = _ref$props.totalCount,\r\n visible = _ref$props.visible,\r\n restAttributes = _ref.restAttributes,\r\n widgetRootElementRef = _ref.widgetRootElementRef;\r\n return (0, _inferno.normalizeProps)((0, _inferno.createComponentVNode)(2, _widget.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 && (0, _inferno.createComponentVNode)(2, _selector.PageSizeSelector, {\r\n rootElementRef: pageSizesRef,\r\n isLargeDisplayMode: isLargeDisplayMode,\r\n pageSize: pageSize,\r\n pageSizeChange: pageSizeChange,\r\n pageSizes: pageSizes\r\n }), pagesContainerVisible && (0, _inferno.createVNode)(1, \"div\", _consts.PAGER_PAGES_CLASS, [infoVisible && (0, _inferno.createComponentVNode)(2, _info.InfoText, {\r\n rootElementRef: infoTextRef,\r\n infoText: infoText,\r\n pageCount: pageCount,\r\n pageIndex: pageIndex,\r\n totalCount: totalCount\r\n }), pageIndexSelectorVisible && (0, _inferno.createVNode)(1, \"div\", _consts.PAGER_PAGE_INDEXES_CLASS, (0, _inferno.createComponentVNode)(2, _page_index_selector.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: (0, _inferno2.normalizeStyles)({\r\n visibility: pagesContainerVisibility\r\n })\r\n })]\r\n })))\r\n};\r\nexports.viewFunction = viewFunction;\r\nvar PagerContentProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(_pager_props.InternalPagerProps), Object.getOwnPropertyDescriptors({\r\n infoTextVisible: true,\r\n isLargeDisplayMode: true\r\n})));\r\nexports.PagerContentProps = PagerContentProps;\r\nvar PagerContent = function(_InfernoComponent) {\r\n _inheritsLoose(PagerContent, _InfernoComponent);\r\n\r\n function PagerContent(props) {\r\n var _this;\r\n _this = _InfernoComponent.call(this, props) || this;\r\n _this.state = {};\r\n _this.widgetRootElementRef = (0, _inferno.createRef)();\r\n _this.__getterCache = {};\r\n _this.setRootElementRef = _this.setRootElementRef.bind(_assertThisInitialized(_this));\r\n _this.createFakeInstance = _this.createFakeInstance.bind(_assertThisInitialized(_this));\r\n return _this\r\n }\r\n var _proto = PagerContent.prototype;\r\n _proto.createEffects = function() {\r\n return [new _inferno2.InfernoEffect(this.setRootElementRef, [])]\r\n };\r\n _proto.getChildContext = function() {\r\n return _extends({}, this.context, _defineProperty({}, _keyboard_action_context.KeyboardActionContext.id, this.keyboardAction || _keyboard_action_context.KeyboardActionContext.defaultValue))\r\n };\r\n _proto.setRootElementRef = function() {\r\n var rootElementRef = this.props.rootElementRef;\r\n if (rootElementRef) {\r\n rootElementRef.current = this.widgetRootElementRef.current\r\n }\r\n };\r\n _proto.createFakeInstance = function() {\r\n var _this2 = this;\r\n return {\r\n option: function() {\r\n return false\r\n },\r\n element: function() {\r\n return _this2.widgetRootElementRef.current\r\n },\r\n _createActionByOption: function() {\r\n return function(e) {\r\n var _this2$props$onKeyDow, _this2$props;\r\n null === (_this2$props$onKeyDow = (_this2$props = _this2.props).onKeyDown) || void 0 === _this2$props$onKeyDow ? void 0 : _this2$props$onKeyDow.call(_this2$props, e)\r\n }\r\n }\r\n }\r\n };\r\n _proto.componentWillUpdate = function(nextProps, nextState, context) {\r\n _InfernoComponent.prototype.componentWillUpdate.call(this);\r\n if (this.props.onKeyDown !== nextProps.onKeyDown) {\r\n this.__getterCache.keyboardAction = void 0\r\n }\r\n };\r\n _proto.render = function() {\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 _createClass(PagerContent, [{\r\n key: \"keyboardAction\",\r\n get: function() {\r\n var _this3 = this;\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: function(element, action) {\r\n var fakePagerInstance = _this3.createFakeInstance();\r\n return (0, _accessibility.registerKeyboardAction)(\"pager\", fakePagerInstance, element, void 0, action)\r\n }\r\n }\r\n }\r\n }, {\r\n key: \"infoVisible\",\r\n get: function() {\r\n var _this$props = this.props,\r\n infoTextVisible = _this$props.infoTextVisible,\r\n showInfo = _this$props.showInfo;\r\n return showInfo && infoTextVisible\r\n }\r\n }, {\r\n key: \"pageIndexSelectorVisible\",\r\n get: function() {\r\n return 0 !== this.props.pageSize\r\n }\r\n }, {\r\n key: \"normalizedDisplayMode\",\r\n get: function() {\r\n var _this$props2 = this.props,\r\n displayMode = _this$props2.displayMode,\r\n lightModeEnabled = _this$props2.lightModeEnabled;\r\n if (\"adaptive\" === displayMode && void 0 !== lightModeEnabled) {\r\n return lightModeEnabled ? \"compact\" : \"full\"\r\n }\r\n return displayMode\r\n }\r\n }, {\r\n key: \"pagesContainerVisible\",\r\n get: function() {\r\n return !!this.props.pagesNavigatorVisible && this.props.pageCount > 0\r\n }\r\n }, {\r\n key: \"pagesContainerVisibility\",\r\n get: function() {\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 }, {\r\n key: \"isLargeDisplayMode\",\r\n get: function() {\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 }, {\r\n key: \"classes\",\r\n get: function() {\r\n var _classesMap;\r\n var classesMap = (_classesMap = {}, _defineProperty(_classesMap, \"\".concat(this.props.className), !!this.props.className), _defineProperty(_classesMap, _consts.PAGER_CLASS, true), _defineProperty(_classesMap, _consts.LIGHT_MODE_CLASS, !this.isLargeDisplayMode), _classesMap);\r\n return (0, _combine_classes.combineClasses)(classesMap)\r\n }\r\n }, {\r\n key: \"aria\",\r\n get: function() {\r\n return {\r\n role: \"navigation\",\r\n label: this.props.label\r\n }\r\n }\r\n }, {\r\n key: \"restAttributes\",\r\n get: function() {\r\n var _this$props3 = this.props,\r\n restProps = (_this$props3.className, _this$props3.displayMode, _this$props3.gridCompatibility, _this$props3.hasKnownLastPage, _this$props3.infoText, _this$props3.infoTextRef, _this$props3.infoTextVisible, _this$props3.isLargeDisplayMode, _this$props3.label, _this$props3.lightModeEnabled, _this$props3.maxPagesCount, _this$props3.onKeyDown, _this$props3.pageCount, _this$props3.pageIndex, _this$props3.pageIndexChange, _this$props3.pageSize, _this$props3.pageSizeChange, _this$props3.pageSizes, _this$props3.pageSizesRef, _this$props3.pagesCountText, _this$props3.pagesNavigatorVisible, _this$props3.pagesRef, _this$props3.rootElementRef, _this$props3.rtlEnabled, _this$props3.showInfo, _this$props3.showNavigationButtons, _this$props3.showPageSizes, _this$props3.totalCount, _this$props3.visible, _objectWithoutProperties(_this$props3, _excluded));\r\n return restProps\r\n }\r\n }]);\r\n return PagerContent\r\n}(_inferno2.InfernoComponent);\r\nexports.PagerContent = PagerContent;\r\nPagerContent.defaultProps = PagerContentProps;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/pager/info.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.viewFunction = exports.PAGER_INFO_CLASS = exports.InfoTextProps = exports.InfoText = void 0;\r\nvar _inferno = require(\"inferno\");\r\nvar _inferno2 = require(\"@devextreme/runtime/inferno\");\r\nvar _string = require(\"../../../core/utils/string\");\r\nvar _message = _interopRequireDefault(require(\"../../../localization/message\"));\r\nvar _pager_props = require(\"./common/pager_props\");\r\nvar _excluded = [\"infoText\", \"pageCount\", \"pageIndex\", \"rootElementRef\", \"totalCount\"];\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _objectWithoutProperties(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = _objectWithoutPropertiesLoose(source, excluded);\r\n var key, i;\r\n if (Object.getOwnPropertySymbols) {\r\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\r\n for (i = 0; i < sourceSymbolKeys.length; i++) {\r\n key = sourceSymbolKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n }\r\n return target\r\n}\r\n\r\nfunction _objectWithoutPropertiesLoose(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = {};\r\n var sourceKeys = Object.keys(source);\r\n var key, i;\r\n for (i = 0; i < sourceKeys.length; i++) {\r\n key = sourceKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n return target\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar PAGER_INFO_CLASS = \"dx-info\";\r\nexports.PAGER_INFO_CLASS = PAGER_INFO_CLASS;\r\nvar viewFunction = function(_ref) {\r\n var rootElementRef = _ref.props.rootElementRef,\r\n text = _ref.text;\r\n return (0, _inferno.createVNode)(1, \"div\", PAGER_INFO_CLASS, text, 0, null, null, rootElementRef)\r\n};\r\nexports.viewFunction = viewFunction;\r\nvar InfoTextProps = {};\r\nexports.InfoTextProps = InfoTextProps;\r\nvar InfoTextPropsType = Object.defineProperties({}, {\r\n pageIndex: {\r\n get: function() {\r\n return _pager_props.InternalPagerProps.pageIndex\r\n },\r\n configurable: true,\r\n enumerable: true\r\n },\r\n pageCount: {\r\n get: function() {\r\n return _pager_props.InternalPagerProps.pageCount\r\n },\r\n configurable: true,\r\n enumerable: true\r\n },\r\n totalCount: {\r\n get: function() {\r\n return _pager_props.InternalPagerProps.totalCount\r\n },\r\n configurable: true,\r\n enumerable: true\r\n }\r\n});\r\nvar InfoText = function(_BaseInfernoComponent) {\r\n _inheritsLoose(InfoText, _BaseInfernoComponent);\r\n\r\n function InfoText(props) {\r\n var _this;\r\n _this = _BaseInfernoComponent.call(this, props) || this;\r\n _this.state = {};\r\n return _this\r\n }\r\n var _proto = InfoText.prototype;\r\n _proto.render = function() {\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 _createClass(InfoText, [{\r\n key: \"infoText\",\r\n get: function() {\r\n var _this$props$infoText;\r\n return (null !== (_this$props$infoText = this.props.infoText) && void 0 !== _this$props$infoText ? _this$props$infoText : \"\") || _message.default.getFormatter(\"dxPager-infoText\")()\r\n }\r\n }, {\r\n key: \"text\",\r\n get: function() {\r\n var _this$props = this.props,\r\n pageCount = _this$props.pageCount,\r\n pageIndex = _this$props.pageIndex,\r\n totalCount = _this$props.totalCount;\r\n return (0, _string.format)(this.infoText, (pageIndex + 1).toString(), pageCount.toString(), totalCount.toString())\r\n }\r\n }, {\r\n key: \"restAttributes\",\r\n get: function() {\r\n var _this$props2 = this.props,\r\n restProps = (_this$props2.infoText, _this$props2.pageCount, _this$props2.pageIndex, _this$props2.rootElementRef, _this$props2.totalCount, _objectWithoutProperties(_this$props2, _excluded));\r\n return restProps\r\n }\r\n }]);\r\n return InfoText\r\n}(_inferno2.BaseInfernoComponent);\r\nexports.InfoText = InfoText;\r\nInfoText.defaultProps = InfoTextPropsType;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/pager/page_size/large.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.viewFunction = exports.PageSizeLargeProps = exports.PageSizeLarge = void 0;\r\nvar _inferno = require(\"inferno\");\r\nvar _inferno2 = require(\"@devextreme/runtime/inferno\");\r\nvar _combine_classes = require(\"../../../utils/combine_classes\");\r\nvar _light_button = require(\"../common/light_button\");\r\nvar _pager_props = require(\"../common/pager_props\");\r\nvar _consts = require(\"../common/consts\");\r\nvar _message = _interopRequireDefault(require(\"../../../../localization/message\"));\r\nvar _string = require(\"../../../../core/utils/string\");\r\nvar _excluded = [\"pageSize\", \"pageSizeChange\", \"pageSizes\"];\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _objectWithoutProperties(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = _objectWithoutPropertiesLoose(source, excluded);\r\n var key, i;\r\n if (Object.getOwnPropertySymbols) {\r\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\r\n for (i = 0; i < sourceSymbolKeys.length; i++) {\r\n key = sourceSymbolKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n }\r\n return target\r\n}\r\n\r\nfunction _objectWithoutPropertiesLoose(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = {};\r\n var sourceKeys = Object.keys(source);\r\n var key, i;\r\n for (i = 0; i < sourceKeys.length; i++) {\r\n key = sourceKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n return target\r\n}\r\n\r\nfunction _defineProperty(obj, key, value) {\r\n key = _toPropertyKey(key);\r\n if (key in obj) {\r\n Object.defineProperty(obj, key, {\r\n value: value,\r\n enumerable: true,\r\n configurable: true,\r\n writable: true\r\n })\r\n } else {\r\n obj[key] = value\r\n }\r\n return obj\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _assertThisInitialized(self) {\r\n if (void 0 === self) {\r\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\")\r\n }\r\n return self\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar viewFunction = function(_ref) {\r\n var pageSizesText = _ref.pageSizesText;\r\n return (0, _inferno.createFragment)(pageSizesText.map((function(_ref2) {\r\n var className = _ref2.className,\r\n click = _ref2.click,\r\n label = _ref2.label,\r\n text = _ref2.text;\r\n return (0, _inferno.createComponentVNode)(2, _light_button.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\nexports.viewFunction = viewFunction;\r\nvar PageSizeLargeProps = {};\r\nexports.PageSizeLargeProps = PageSizeLargeProps;\r\nvar PageSizeLargePropsType = Object.defineProperties({}, {\r\n pageSize: {\r\n get: function() {\r\n return _pager_props.InternalPagerProps.pageSize\r\n },\r\n configurable: true,\r\n enumerable: true\r\n }\r\n});\r\nvar PageSizeLarge = function(_BaseInfernoComponent) {\r\n _inheritsLoose(PageSizeLarge, _BaseInfernoComponent);\r\n\r\n function PageSizeLarge(props) {\r\n var _this;\r\n _this = _BaseInfernoComponent.call(this, props) || this;\r\n _this.state = {};\r\n _this.__getterCache = {};\r\n _this.onPageSizeChange = _this.onPageSizeChange.bind(_assertThisInitialized(_this));\r\n return _this\r\n }\r\n var _proto = PageSizeLarge.prototype;\r\n _proto.onPageSizeChange = function(processedPageSize) {\r\n var _this2 = this;\r\n return function() {\r\n _this2.props.pageSizeChange(processedPageSize);\r\n return _this2.props.pageSize\r\n }\r\n };\r\n _proto.componentWillUpdate = function(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 _proto.render = function() {\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 _createClass(PageSizeLarge, [{\r\n key: \"pageSizesText\",\r\n get: function() {\r\n var _this3 = this;\r\n if (void 0 !== this.__getterCache.pageSizesText) {\r\n return this.__getterCache.pageSizesText\r\n }\r\n return this.__getterCache.pageSizesText = (_this3$props = _this3.props, pageSize = _this3$props.pageSize, pageSizes = _this3$props.pageSizes, pageSizes.map((function(_ref3, index) {\r\n var _combineClasses;\r\n var text = _ref3.text,\r\n processedPageSize = _ref3.value;\r\n var selected = processedPageSize === pageSize;\r\n var className = (0, _combine_classes.combineClasses)((_combineClasses = {}, _defineProperty(_combineClasses, selected ? _consts.PAGER_SELECTED_PAGE_SIZE_CLASS : _consts.PAGER_PAGE_SIZE_CLASS, true), _defineProperty(_combineClasses, _consts.FIRST_CHILD_CLASS, 0 === index), _combineClasses));\r\n return {\r\n className: className,\r\n click: _this3.onPageSizeChange(processedPageSize),\r\n label: (0, _string.format)(_message.default.getFormatter(\"dxPager-pageSize\"), processedPageSize || _message.default.getFormatter(\"dxPager-pageSizesAllText\")),\r\n text: text\r\n }\r\n })));\r\n var _this3$props, pageSize, pageSizes\r\n }\r\n }, {\r\n key: \"restAttributes\",\r\n get: function() {\r\n var _this$props = this.props,\r\n restProps = (_this$props.pageSize, _this$props.pageSizeChange, _this$props.pageSizes, _objectWithoutProperties(_this$props, _excluded));\r\n return restProps\r\n }\r\n }]);\r\n return PageSizeLarge\r\n}(_inferno2.BaseInfernoComponent);\r\nexports.PageSizeLarge = PageSizeLarge;\r\nPageSizeLarge.defaultProps = PageSizeLargePropsType;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/pager/page_size/selector.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.viewFunction = exports.PageSizeSelector = void 0;\r\nvar _inferno = require(\"inferno\");\r\nvar _inferno2 = require(\"@devextreme/runtime/inferno\");\r\nvar _small = require(\"./small\");\r\nvar _large = require(\"./large\");\r\nvar _pager_props = require(\"../common/pager_props\");\r\nvar _message = _interopRequireDefault(require(\"../../../../localization/message\"));\r\nvar _consts = require(\"../common/consts\");\r\nvar _excluded = [\"isLargeDisplayMode\", \"pageSize\", \"pageSizeChange\", \"pageSizes\", \"rootElementRef\"];\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _objectWithoutProperties(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = _objectWithoutPropertiesLoose(source, excluded);\r\n var key, i;\r\n if (Object.getOwnPropertySymbols) {\r\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\r\n for (i = 0; i < sourceSymbolKeys.length; i++) {\r\n key = sourceSymbolKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n }\r\n return target\r\n}\r\n\r\nfunction _objectWithoutPropertiesLoose(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = {};\r\n var sourceKeys = Object.keys(source);\r\n var key, i;\r\n for (i = 0; i < sourceKeys.length; i++) {\r\n key = sourceKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n return target\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _assertThisInitialized(self) {\r\n if (void 0 === self) {\r\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\")\r\n }\r\n return self\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar viewFunction = function(_ref) {\r\n var htmlRef = _ref.htmlRef,\r\n normalizedPageSizes = _ref.normalizedPageSizes,\r\n _ref$props = _ref.props,\r\n isLargeDisplayMode = _ref$props.isLargeDisplayMode,\r\n pageSize = _ref$props.pageSize,\r\n pageSizeChange = _ref$props.pageSizeChange;\r\n return (0, _inferno.createVNode)(1, \"div\", _consts.PAGER_PAGE_SIZES_CLASS, [isLargeDisplayMode && (0, _inferno.createComponentVNode)(2, _large.PageSizeLarge, {\r\n pageSizes: normalizedPageSizes,\r\n pageSize: pageSize,\r\n pageSizeChange: pageSizeChange\r\n }), !isLargeDisplayMode && (0, _inferno.createComponentVNode)(2, _small.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\nexports.viewFunction = viewFunction;\r\n\r\nfunction getAllText() {\r\n return _message.default.getFormatter(\"dxPager-pageSizesAllText\")()\r\n}\r\nvar PageSizeSelectorProps = {\r\n isLargeDisplayMode: true\r\n};\r\nvar PageSizeSelectorPropsType = Object.defineProperties({}, {\r\n pageSize: {\r\n get: function() {\r\n return _pager_props.InternalPagerProps.pageSize\r\n },\r\n configurable: true,\r\n enumerable: true\r\n },\r\n pageSizes: {\r\n get: function() {\r\n return _pager_props.InternalPagerProps.pageSizes\r\n },\r\n configurable: true,\r\n enumerable: true\r\n },\r\n isLargeDisplayMode: {\r\n get: function() {\r\n return PageSizeSelectorProps.isLargeDisplayMode\r\n },\r\n configurable: true,\r\n enumerable: true\r\n }\r\n});\r\nvar PageSizeSelector = function(_InfernoComponent) {\r\n _inheritsLoose(PageSizeSelector, _InfernoComponent);\r\n\r\n function PageSizeSelector(props) {\r\n var _this;\r\n _this = _InfernoComponent.call(this, props) || this;\r\n _this.state = {};\r\n _this.htmlRef = (0, _inferno.createRef)();\r\n _this.__getterCache = {};\r\n _this.setRootElementRef = _this.setRootElementRef.bind(_assertThisInitialized(_this));\r\n return _this\r\n }\r\n var _proto = PageSizeSelector.prototype;\r\n _proto.createEffects = function() {\r\n return [new _inferno2.InfernoEffect(this.setRootElementRef, [])]\r\n };\r\n _proto.setRootElementRef = function() {\r\n var rootElementRef = this.props.rootElementRef;\r\n if (rootElementRef) {\r\n rootElementRef.current = this.htmlRef.current\r\n }\r\n };\r\n _proto.componentWillUpdate = function(nextProps, nextState, context) {\r\n _InfernoComponent.prototype.componentWillUpdate.call(this);\r\n if (this.props.pageSizes !== nextProps.pageSizes) {\r\n this.__getterCache.normalizedPageSizes = void 0\r\n }\r\n };\r\n _proto.render = function() {\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 _createClass(PageSizeSelector, [{\r\n key: \"normalizedPageSizes\",\r\n get: function() {\r\n var _this2 = this;\r\n if (void 0 !== this.__getterCache.normalizedPageSizes) {\r\n return this.__getterCache.normalizedPageSizes\r\n }\r\n return this.__getterCache.normalizedPageSizes = (pageSizes = _this2.props.pageSizes, pageSizes.map((function(p) {\r\n return \"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 var pageSizes\r\n }\r\n }, {\r\n key: \"restAttributes\",\r\n get: function() {\r\n var _this$props = this.props,\r\n restProps = (_this$props.isLargeDisplayMode, _this$props.pageSize, _this$props.pageSizeChange, _this$props.pageSizes, _this$props.rootElementRef, _objectWithoutProperties(_this$props, _excluded));\r\n return restProps\r\n }\r\n }]);\r\n return PageSizeSelector\r\n}(_inferno2.InfernoComponent);\r\nexports.PageSizeSelector = PageSizeSelector;\r\nPageSizeSelector.defaultProps = PageSizeSelectorPropsType;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/pager/page_size/small.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.viewFunction = exports.PageSizeSmallProps = exports.PageSizeSmall = void 0;\r\nvar _inferno = require(\"inferno\");\r\nvar _inferno2 = require(\"@devextreme/runtime/inferno\");\r\nvar _message = _interopRequireDefault(require(\"../../../../localization/message\"));\r\nvar _select_box = require(\"../../editors/drop_down_editors/select_box\");\r\nvar _calculate_values_fitted_width = require(\"../utils/calculate_values_fitted_width\");\r\nvar _get_element_width = require(\"../utils/get_element_width\");\r\nvar _pager_props = require(\"../common/pager_props\");\r\nvar _excluded = [\"inputAttr\", \"pageSize\", \"pageSizeChange\", \"pageSizes\", \"parentRef\"];\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _objectWithoutProperties(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = _objectWithoutPropertiesLoose(source, excluded);\r\n var key, i;\r\n if (Object.getOwnPropertySymbols) {\r\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\r\n for (i = 0; i < sourceSymbolKeys.length; i++) {\r\n key = sourceSymbolKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n }\r\n return target\r\n}\r\n\r\nfunction _objectWithoutPropertiesLoose(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = {};\r\n var sourceKeys = Object.keys(source);\r\n var key, i;\r\n for (i = 0; i < sourceKeys.length; i++) {\r\n key = sourceKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n return target\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _assertThisInitialized(self) {\r\n if (void 0 === self) {\r\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\")\r\n }\r\n return self\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar viewFunction = function(_ref) {\r\n var _ref$props = _ref.props,\r\n inputAttr = _ref$props.inputAttr,\r\n pageSize = _ref$props.pageSize,\r\n pageSizeChange = _ref$props.pageSizeChange,\r\n pageSizes = _ref$props.pageSizes,\r\n width = _ref.width;\r\n return (0, _inferno.createComponentVNode)(2, _select_box.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\nexports.viewFunction = viewFunction;\r\nvar PageSizeSmallProps = {\r\n inputAttr: Object.freeze({\r\n \"aria-label\": _message.default.format(\"dxPager-ariaPageSize\")\r\n })\r\n};\r\nexports.PageSizeSmallProps = PageSizeSmallProps;\r\nvar PageSizeSmallPropsType = Object.defineProperties({}, {\r\n pageSize: {\r\n get: function() {\r\n return _pager_props.InternalPagerProps.pageSize\r\n },\r\n configurable: true,\r\n enumerable: true\r\n },\r\n inputAttr: {\r\n get: function() {\r\n return PageSizeSmallProps.inputAttr\r\n },\r\n configurable: true,\r\n enumerable: true\r\n }\r\n});\r\nvar PageSizeSmall = function(_InfernoComponent) {\r\n _inheritsLoose(PageSizeSmall, _InfernoComponent);\r\n\r\n function PageSizeSmall(props) {\r\n var _this;\r\n _this = _InfernoComponent.call(this, props) || this;\r\n _this.state = {\r\n minWidth: 10\r\n };\r\n _this.updateWidth = _this.updateWidth.bind(_assertThisInitialized(_this));\r\n return _this\r\n }\r\n var _proto = PageSizeSmall.prototype;\r\n _proto.createEffects = function() {\r\n return [new _inferno2.InfernoEffect(this.updateWidth, [this.props, this.state.minWidth, this.props.pageSize, this.props.pageSizeChange, this.props.pageSizes, this.props.inputAttr])]\r\n };\r\n _proto.updateEffects = function() {\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 _proto.updateWidth = function() {\r\n var _this2 = this;\r\n this.setState((function(__state_argument) {\r\n return {\r\n minWidth: (0, _get_element_width.getElementMinWidth)(_this2.props.parentRef.current) || __state_argument.minWidth\r\n }\r\n }))\r\n };\r\n _proto.render = function() {\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 _createClass(PageSizeSmall, [{\r\n key: \"width\",\r\n get: function() {\r\n return (0, _calculate_values_fitted_width.calculateValuesFittedWidth)(this.state.minWidth, this.props.pageSizes.map((function(p) {\r\n return p.value\r\n })))\r\n }\r\n }, {\r\n key: \"restAttributes\",\r\n get: function() {\r\n var _this$props = this.props,\r\n restProps = (_this$props.inputAttr, _this$props.pageSize, _this$props.pageSizeChange, _this$props.pageSizes, _this$props.parentRef, _objectWithoutProperties(_this$props, _excluded));\r\n return restProps\r\n }\r\n }]);\r\n return PageSizeSmall\r\n}(_inferno2.InfernoComponent);\r\nexports.PageSizeSmall = PageSizeSmall;\r\nPageSizeSmall.defaultProps = PageSizeSmallPropsType;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/pager/pager.j.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.default = void 0;\r\nvar _component_registrator = _interopRequireDefault(require(\"../../../core/component_registrator\"));\r\nvar _grid_pager = require(\"../../component_wrapper/grid_pager\");\r\nvar _pager = require(\"./pager\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar Pager = function(_GridPagerWrapper) {\r\n _inheritsLoose(Pager, _GridPagerWrapper);\r\n\r\n function Pager() {\r\n return _GridPagerWrapper.apply(this, arguments) || this\r\n }\r\n var _proto = Pager.prototype;\r\n _proto.getProps = function() {\r\n var props = _GridPagerWrapper.prototype.getProps.call(this);\r\n props.onKeyDown = this._wrapKeyDownHandler(props.onKeyDown);\r\n return props\r\n };\r\n _createClass(Pager, [{\r\n key: \"_propsInfo\",\r\n get: function() {\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 }, {\r\n key: \"_viewComponent\",\r\n get: function() {\r\n return _pager.Pager\r\n }\r\n }]);\r\n return Pager\r\n}(_grid_pager.GridPagerWrapper);\r\nexports.default = Pager;\r\n(0, _component_registrator.default)(\"dxPager\", Pager);\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/pager/pager.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.viewFunction = exports.Pager = void 0;\r\nvar _inferno = require(\"inferno\");\r\nvar _inferno2 = require(\"@devextreme/runtime/inferno\");\r\nvar _resizable_container = require(\"./resizable_container\");\r\nvar _pager_props = require(\"./common/pager_props\");\r\nvar _content = require(\"./content\");\r\nvar _combine_classes = require(\"../../utils/combine_classes\");\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\n\r\nfunction _objectWithoutProperties(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = _objectWithoutPropertiesLoose(source, excluded);\r\n var key, i;\r\n if (Object.getOwnPropertySymbols) {\r\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\r\n for (i = 0; i < sourceSymbolKeys.length; i++) {\r\n key = sourceSymbolKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n }\r\n return target\r\n}\r\n\r\nfunction _objectWithoutPropertiesLoose(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = {};\r\n var sourceKeys = Object.keys(source);\r\n var key, i;\r\n for (i = 0; i < sourceKeys.length; i++) {\r\n key = sourceKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n return target\r\n}\r\n\r\nfunction _defineProperty(obj, key, value) {\r\n key = _toPropertyKey(key);\r\n if (key in obj) {\r\n Object.defineProperty(obj, key, {\r\n value: value,\r\n enumerable: true,\r\n configurable: true,\r\n writable: true\r\n })\r\n } else {\r\n obj[key] = value\r\n }\r\n return obj\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _assertThisInitialized(self) {\r\n if (void 0 === self) {\r\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\")\r\n }\r\n return self\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\nvar viewFunction = function(_ref) {\r\n var pagerProps = _ref.pagerProps,\r\n restAttributes = _ref.restAttributes;\r\n return (0, _inferno.normalizeProps)((0, _inferno.createComponentVNode)(2, _resizable_container.ResizableContainer, _extends({\r\n contentTemplate: _content.PagerContent,\r\n pagerProps: pagerProps\r\n }, restAttributes)))\r\n};\r\nexports.viewFunction = viewFunction;\r\nvar Pager = function(_InfernoWrapperCompon) {\r\n _inheritsLoose(Pager, _InfernoWrapperCompon);\r\n\r\n function Pager(props) {\r\n var _this;\r\n _this = _InfernoWrapperCompon.call(this, props) || this;\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(_assertThisInitialized(_this));\r\n _this.pageSizeChange = _this.pageSizeChange.bind(_assertThisInitialized(_this));\r\n return _this\r\n }\r\n var _proto = Pager.prototype;\r\n _proto.createEffects = function() {\r\n return [(0, _inferno2.createReRenderEffect)()]\r\n };\r\n _proto.pageIndexChange = function(newPageIndex) {\r\n if (this.props.gridCompatibility) {\r\n var __newValue;\r\n this.setState((function(__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((function(__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 _proto.pageSizeChange = function(newPageSize) {\r\n var __newValue;\r\n this.setState((function(__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 _proto.componentWillUpdate = function(nextProps, nextState, context) {\r\n _InfernoWrapperCompon.prototype.componentWillUpdate.call(this);\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 _proto.render = function() {\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 _createClass(Pager, [{\r\n key: \"pageIndex\",\r\n get: function() {\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 }, {\r\n key: \"className\",\r\n get: function() {\r\n if (this.props.gridCompatibility) {\r\n return (0, _combine_classes.combineClasses)(_defineProperty({\r\n \"dx-datagrid-pager\": true\r\n }, \"\".concat(this.props.className), !!this.props.className))\r\n }\r\n return this.props.className\r\n }\r\n }, {\r\n key: \"pagerProps\",\r\n get: function() {\r\n var _this2 = this;\r\n if (void 0 !== this.__getterCache.pagerProps) {\r\n return this.__getterCache.pagerProps\r\n }\r\n return this.__getterCache.pagerProps = _extends({}, _extends({}, _this2.props, {\r\n pageSize: void 0 !== _this2.props.pageSize ? _this2.props.pageSize : _this2.state.pageSize,\r\n pageIndex: void 0 !== _this2.props.pageIndex ? _this2.props.pageIndex : _this2.state.pageIndex\r\n }), {\r\n className: _this2.className,\r\n pageIndex: _this2.pageIndex,\r\n pageIndexChange: function(pageIndex) {\r\n return _this2.pageIndexChange(pageIndex)\r\n },\r\n pageSizeChange: function(pageSize) {\r\n return _this2.pageSizeChange(pageSize)\r\n }\r\n })\r\n }\r\n }, {\r\n key: \"restAttributes\",\r\n get: function() {\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 = (_this$props$pageSize$.className, _this$props$pageSize$.defaultPageIndex, _this$props$pageSize$.defaultPageSize, _this$props$pageSize$.displayMode, _this$props$pageSize$.gridCompatibility, _this$props$pageSize$.hasKnownLastPage, _this$props$pageSize$.infoText, _this$props$pageSize$.label, _this$props$pageSize$.lightModeEnabled, _this$props$pageSize$.maxPagesCount, _this$props$pageSize$.onKeyDown, _this$props$pageSize$.pageCount, _this$props$pageSize$.pageIndex, _this$props$pageSize$.pageIndexChange, _this$props$pageSize$.pageSize, _this$props$pageSize$.pageSizeChange, _this$props$pageSize$.pageSizes, _this$props$pageSize$.pagesCountText, _this$props$pageSize$.pagesNavigatorVisible, _this$props$pageSize$.rtlEnabled, _this$props$pageSize$.showInfo, _this$props$pageSize$.showNavigationButtons, _this$props$pageSize$.showPageSizes, _this$props$pageSize$.totalCount, _this$props$pageSize$.visible, _objectWithoutProperties(_this$props$pageSize$, _excluded));\r\n return restProps\r\n }\r\n }]);\r\n return Pager\r\n}(_inferno2.InfernoWrapperComponent);\r\nexports.Pager = Pager;\r\nPager.defaultProps = _pager_props.PagerProps;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/pager/pages/large.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.viewFunction = exports.PagesLarge = void 0;\r\nvar _inferno = require(\"inferno\");\r\nvar _inferno2 = require(\"@devextreme/runtime/inferno\");\r\nvar _page = require(\"./page\");\r\nvar _pager_props = require(\"../common/pager_props\");\r\nvar _config_context = require(\"../../../common/config_context\");\r\nvar _excluded = [\"pageIndexes\"],\r\n _excluded2 = [\"maxPagesCount\", \"pageCount\", \"pageIndex\", \"pageIndexChange\"];\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\n\r\nfunction _objectWithoutProperties(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = _objectWithoutPropertiesLoose(source, excluded);\r\n var key, i;\r\n if (Object.getOwnPropertySymbols) {\r\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\r\n for (i = 0; i < sourceSymbolKeys.length; i++) {\r\n key = sourceSymbolKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n }\r\n return target\r\n}\r\n\r\nfunction _objectWithoutPropertiesLoose(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = {};\r\n var sourceKeys = Object.keys(source);\r\n var key, i;\r\n for (i = 0; i < sourceKeys.length; i++) {\r\n key = sourceKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n return target\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _assertThisInitialized(self) {\r\n if (void 0 === self) {\r\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\")\r\n }\r\n return self\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\n\r\nfunction _toConsumableArray(arr) {\r\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread()\r\n}\r\n\r\nfunction _nonIterableSpread() {\r\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _unsupportedIterableToArray(o, minLen) {\r\n if (!o) {\r\n return\r\n }\r\n if (\"string\" === typeof o) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n var n = Object.prototype.toString.call(o).slice(8, -1);\r\n if (\"Object\" === n && o.constructor) {\r\n n = o.constructor.name\r\n }\r\n if (\"Map\" === n || \"Set\" === n) {\r\n return Array.from(o)\r\n }\r\n if (\"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n}\r\n\r\nfunction _iterableToArray(iter) {\r\n if (\"undefined\" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter[\"@@iterator\"]) {\r\n return Array.from(iter)\r\n }\r\n}\r\n\r\nfunction _arrayWithoutHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return _arrayLikeToArray(arr)\r\n }\r\n}\r\n\r\nfunction _arrayLikeToArray(arr, len) {\r\n if (null == len || len > arr.length) {\r\n len = arr.length\r\n }\r\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\r\n arr2[i] = arr[i]\r\n }\r\n return arr2\r\n}\r\nvar PAGER_PAGE_SEPARATOR_CLASS = \"dx-separator\";\r\nvar viewFunction = function(_ref) {\r\n var pages = _ref.pages;\r\n var PagesMarkup = pages.map((function(_ref2) {\r\n var key = _ref2.key,\r\n pageProps = _ref2.pageProps;\r\n return pageProps ? (0, _inferno.createComponentVNode)(2, _page.Page, {\r\n index: pageProps.index,\r\n selected: pageProps.selected,\r\n onClick: pageProps.onClick\r\n }, key) : (0, _inferno.createVNode)(1, \"div\", PAGER_PAGE_SEPARATOR_CLASS, \". . .\", 16, null, key)\r\n }));\r\n return (0, _inferno.createFragment)(PagesMarkup, 0)\r\n};\r\nexports.viewFunction = viewFunction;\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 = _toConsumableArray(slidingWindowIndexes);\r\n break;\r\n case \"both\":\r\n pageIndexes = [0, \"low\"].concat(_toConsumableArray(slidingWindowIndexes), [\"high\", pageCount - 1]);\r\n indexesForReuse = slidingWindowIndexes.slice(1, -1);\r\n break;\r\n case \"high\":\r\n pageIndexes = [0].concat(_toConsumableArray(slidingWindowIndexes), [\"high\", pageCount - 1]);\r\n indexesForReuse = slidingWindowIndexes.slice(0, -1);\r\n break;\r\n case \"low\":\r\n pageIndexes = [0, \"low\"].concat(_toConsumableArray(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 = Object.defineProperties({}, {\r\n pageIndex: {\r\n get: function() {\r\n return _pager_props.InternalPagerProps.pageIndex\r\n },\r\n configurable: true,\r\n enumerable: true\r\n },\r\n maxPagesCount: {\r\n get: function() {\r\n return _pager_props.InternalPagerProps.maxPagesCount\r\n },\r\n configurable: true,\r\n enumerable: true\r\n },\r\n pageCount: {\r\n get: function() {\r\n return _pager_props.InternalPagerProps.pageCount\r\n },\r\n configurable: true,\r\n enumerable: true\r\n }\r\n});\r\nvar PagesLarge = function(_BaseInfernoComponent) {\r\n _inheritsLoose(PagesLarge, _BaseInfernoComponent);\r\n\r\n function PagesLarge(props) {\r\n var _this;\r\n _this = _BaseInfernoComponent.call(this, props) || this;\r\n _this.state = {};\r\n _this.canReuseSlidingWindow = _this.canReuseSlidingWindow.bind(_assertThisInitialized(_this));\r\n _this.generatePageIndexes = _this.generatePageIndexes.bind(_assertThisInitialized(_this));\r\n _this.isSlidingWindowMode = _this.isSlidingWindowMode.bind(_assertThisInitialized(_this));\r\n _this.onPageClick = _this.onPageClick.bind(_assertThisInitialized(_this));\r\n return _this\r\n }\r\n var _proto = PagesLarge.prototype;\r\n _proto.canReuseSlidingWindow = function(currentPageCount, pageIndex) {\r\n var indexesForReuse = this.slidingWindowState.indexesForReuse;\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 _proto.generatePageIndexes = function() {\r\n var _this$props = this.props,\r\n pageCount = _this$props.pageCount,\r\n pageIndex = _this$props.pageIndex;\r\n var startIndex = 0;\r\n var slidingWindowIndexes = this.slidingWindowState.slidingWindowIndexes;\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 pageIndexes = _createPageIndexes.pageIndexes,\r\n slidingWindowState = _objectWithoutProperties(_createPageIndexes, _excluded);\r\n this.slidingWindowStateHolder = slidingWindowState;\r\n return pageIndexes\r\n };\r\n _proto.isSlidingWindowMode = function() {\r\n var _this$props2 = this.props,\r\n maxPagesCount = _this$props2.maxPagesCount,\r\n pageCount = _this$props2.pageCount;\r\n return pageCount <= PAGES_LIMITER || pageCount <= maxPagesCount\r\n };\r\n _proto.onPageClick = function(pageIndex) {\r\n this.props.pageIndexChange(pageIndex)\r\n };\r\n _proto.render = function() {\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 _createClass(PagesLarge, [{\r\n key: \"config\",\r\n get: function() {\r\n if (this.context[_config_context.ConfigContext.id]) {\r\n return this.context[_config_context.ConfigContext.id]\r\n }\r\n return _config_context.ConfigContext.defaultValue\r\n }\r\n }, {\r\n key: \"slidingWindowState\",\r\n get: function() {\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 }, {\r\n key: \"pageIndexes\",\r\n get: function() {\r\n var pageCount = this.props.pageCount;\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 slidingWindowIndexes = this.slidingWindowState.slidingWindowIndexes;\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 }, {\r\n key: \"pages\",\r\n get: function() {\r\n var _this$config, _this2 = this;\r\n var pageIndex = this.props.pageIndex;\r\n var rtlPageIndexes = null !== (_this$config = this.config) && void 0 !== _this$config && _this$config.rtlEnabled ? _toConsumableArray(this.pageIndexes).reverse() : this.pageIndexes;\r\n return rtlPageIndexes.map((function(index) {\r\n return function(index) {\r\n var pagerProps = \"low\" === index || \"high\" === index ? null : {\r\n index: index,\r\n onClick: function() {\r\n return _this2.onPageClick(index)\r\n },\r\n selected: pageIndex === index\r\n };\r\n return {\r\n key: index.toString(),\r\n pageProps: pagerProps\r\n }\r\n }(index)\r\n }))\r\n }\r\n }, {\r\n key: \"restAttributes\",\r\n get: function() {\r\n var _this$props3 = this.props,\r\n restProps = (_this$props3.maxPagesCount, _this$props3.pageCount, _this$props3.pageIndex, _this$props3.pageIndexChange, _objectWithoutProperties(_this$props3, _excluded2));\r\n return restProps\r\n }\r\n }]);\r\n return PagesLarge\r\n}(_inferno2.BaseInfernoComponent);\r\nexports.PagesLarge = PagesLarge;\r\nPagesLarge.defaultProps = PagesLargePropsType;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/pager/pages/page.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.viewFunction = exports.PageProps = exports.Page = void 0;\r\nvar _inferno = require(\"inferno\");\r\nvar _inferno2 = require(\"@devextreme/runtime/inferno\");\r\nvar _light_button = require(\"../common/light_button\");\r\nvar _consts = require(\"../common/consts\");\r\nvar _combine_classes = require(\"../../../utils/combine_classes\");\r\nvar _message = _interopRequireDefault(require(\"../../../../localization/message\"));\r\nvar _string = require(\"../../../../core/utils/string\");\r\nvar _excluded = [\"className\", \"index\", \"onClick\", \"selected\"];\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _objectWithoutProperties(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = _objectWithoutPropertiesLoose(source, excluded);\r\n var key, i;\r\n if (Object.getOwnPropertySymbols) {\r\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\r\n for (i = 0; i < sourceSymbolKeys.length; i++) {\r\n key = sourceSymbolKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n }\r\n return target\r\n}\r\n\r\nfunction _objectWithoutPropertiesLoose(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = {};\r\n var sourceKeys = Object.keys(source);\r\n var key, i;\r\n for (i = 0; i < sourceKeys.length; i++) {\r\n key = sourceKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n return target\r\n}\r\n\r\nfunction _defineProperty(obj, key, value) {\r\n key = _toPropertyKey(key);\r\n if (key in obj) {\r\n Object.defineProperty(obj, key, {\r\n value: value,\r\n enumerable: true,\r\n configurable: true,\r\n writable: true\r\n })\r\n } else {\r\n obj[key] = value\r\n }\r\n return obj\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar viewFunction = function(_ref) {\r\n var className = _ref.className,\r\n label = _ref.label,\r\n _ref$props = _ref.props,\r\n onClick = _ref$props.onClick,\r\n selected = _ref$props.selected,\r\n value = _ref.value;\r\n return (0, _inferno.createComponentVNode)(2, _light_button.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\nexports.viewFunction = viewFunction;\r\nvar PageProps = {\r\n index: 0,\r\n selected: false,\r\n className: _consts.PAGER_PAGE_CLASS\r\n};\r\nexports.PageProps = PageProps;\r\nvar Page = function(_BaseInfernoComponent) {\r\n _inheritsLoose(Page, _BaseInfernoComponent);\r\n\r\n function Page(props) {\r\n var _this;\r\n _this = _BaseInfernoComponent.call(this, props) || this;\r\n _this.state = {};\r\n return _this\r\n }\r\n var _proto = Page.prototype;\r\n _proto.render = function() {\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 _createClass(Page, [{\r\n key: \"label\",\r\n get: function() {\r\n return (0, _string.format)(_message.default.getFormatter(\"dxPager-page\"), this.value)\r\n }\r\n }, {\r\n key: \"value\",\r\n get: function() {\r\n return this.props.index + 1\r\n }\r\n }, {\r\n key: \"className\",\r\n get: function() {\r\n var _combineClasses;\r\n var selected = this.props.selected;\r\n return (0, _combine_classes.combineClasses)((_combineClasses = {}, _defineProperty(_combineClasses, \"\".concat(this.props.className), !!this.props.className), _defineProperty(_combineClasses, _consts.PAGER_SELECTION_CLASS, !!selected), _combineClasses))\r\n }\r\n }, {\r\n key: \"restAttributes\",\r\n get: function() {\r\n var _this$props = this.props,\r\n restProps = (_this$props.className, _this$props.index, _this$props.onClick, _this$props.selected, _objectWithoutProperties(_this$props, _excluded));\r\n return restProps\r\n }\r\n }]);\r\n return Page\r\n}(_inferno2.BaseInfernoComponent);\r\nexports.Page = Page;\r\nPage.defaultProps = PageProps;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/pager/pages/page_index_selector.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.viewFunction = exports.PageIndexSelectorProps = exports.PageIndexSelector = exports.PAGER_BUTTON_DISABLE_CLASS = void 0;\r\nvar _inferno = require(\"inferno\");\r\nvar _inferno2 = require(\"@devextreme/runtime/inferno\");\r\nvar _light_button = require(\"../common/light_button\");\r\nvar _large = require(\"./large\");\r\nvar _small = require(\"./small\");\r\nvar _pager_props = require(\"../common/pager_props\");\r\nvar _config_context = require(\"../../../common/config_context\");\r\nvar _message = _interopRequireDefault(require(\"../../../../localization/message\"));\r\nvar _excluded = [\"hasKnownLastPage\", \"isLargeDisplayMode\", \"maxPagesCount\", \"pageCount\", \"pageIndex\", \"pageIndexChange\", \"pagesCountText\", \"showNavigationButtons\", \"totalCount\"];\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _objectWithoutProperties(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = _objectWithoutPropertiesLoose(source, excluded);\r\n var key, i;\r\n if (Object.getOwnPropertySymbols) {\r\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\r\n for (i = 0; i < sourceSymbolKeys.length; i++) {\r\n key = sourceSymbolKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n }\r\n return target\r\n}\r\n\r\nfunction _objectWithoutPropertiesLoose(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = {};\r\n var sourceKeys = Object.keys(source);\r\n var key, i;\r\n for (i = 0; i < sourceKeys.length; i++) {\r\n key = sourceKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n return target\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _assertThisInitialized(self) {\r\n if (void 0 === self) {\r\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\")\r\n }\r\n return self\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\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\nvar PAGER_BUTTON_DISABLE_CLASS = \"dx-button-disable\";\r\nexports.PAGER_BUTTON_DISABLE_CLASS = PAGER_BUTTON_DISABLE_CLASS;\r\nvar getNextButtonLabel = function() {\r\n return _message.default.getFormatter(\"dxPager-nextPage\")()\r\n};\r\nvar getPrevButtonLabel = function() {\r\n return _message.default.getFormatter(\"dxPager-prevPage\")()\r\n};\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\nvar viewFunction = function(_ref) {\r\n var nextButtonProps = _ref.nextButtonProps,\r\n pageIndexChange = _ref.pageIndexChange,\r\n prevButtonProps = _ref.prevButtonProps,\r\n _ref$props = _ref.props,\r\n isLargeDisplayMode = _ref$props.isLargeDisplayMode,\r\n maxPagesCount = _ref$props.maxPagesCount,\r\n pageCount = _ref$props.pageCount,\r\n pageIndex = _ref$props.pageIndex,\r\n pagesCountText = _ref$props.pagesCountText,\r\n renderNextButton = _ref.renderNextButton,\r\n renderPrevButton = _ref.renderPrevButton;\r\n return (0, _inferno.createFragment)([renderPrevButton && (0, _inferno.createComponentVNode)(2, _light_button.LightButton, {\r\n label: getPrevButtonLabel(),\r\n className: prevButtonProps.className,\r\n tabIndex: prevButtonProps.tabIndex,\r\n onClick: prevButtonProps.navigate\r\n }), isLargeDisplayMode && (0, _inferno.createComponentVNode)(2, _large.PagesLarge, {\r\n maxPagesCount: maxPagesCount,\r\n pageCount: pageCount,\r\n pageIndex: pageIndex,\r\n pageIndexChange: pageIndexChange\r\n }), !isLargeDisplayMode && (0, _inferno.createComponentVNode)(2, _small.PagesSmall, {\r\n pageCount: pageCount,\r\n pageIndex: pageIndex,\r\n pageIndexChange: pageIndexChange,\r\n pagesCountText: pagesCountText\r\n }), renderNextButton && (0, _inferno.createComponentVNode)(2, _light_button.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\nexports.viewFunction = viewFunction;\r\n\r\nfunction getIncrement(direction) {\r\n return \"next\" === direction ? 1 : -1\r\n}\r\nvar PageIndexSelectorProps = {\r\n isLargeDisplayMode: true\r\n};\r\nexports.PageIndexSelectorProps = PageIndexSelectorProps;\r\nvar PageIndexSelectorPropsType = Object.defineProperties({}, {\r\n pageIndex: {\r\n get: function() {\r\n return _pager_props.InternalPagerProps.pageIndex\r\n },\r\n configurable: true,\r\n enumerable: true\r\n },\r\n maxPagesCount: {\r\n get: function() {\r\n return _pager_props.InternalPagerProps.maxPagesCount\r\n },\r\n configurable: true,\r\n enumerable: true\r\n },\r\n pageCount: {\r\n get: function() {\r\n return _pager_props.InternalPagerProps.pageCount\r\n },\r\n configurable: true,\r\n enumerable: true\r\n },\r\n hasKnownLastPage: {\r\n get: function() {\r\n return _pager_props.InternalPagerProps.hasKnownLastPage\r\n },\r\n configurable: true,\r\n enumerable: true\r\n },\r\n showNavigationButtons: {\r\n get: function() {\r\n return _pager_props.InternalPagerProps.showNavigationButtons\r\n },\r\n configurable: true,\r\n enumerable: true\r\n },\r\n totalCount: {\r\n get: function() {\r\n return _pager_props.InternalPagerProps.totalCount\r\n },\r\n configurable: true,\r\n enumerable: true\r\n },\r\n isLargeDisplayMode: {\r\n get: function() {\r\n return PageIndexSelectorProps.isLargeDisplayMode\r\n },\r\n configurable: true,\r\n enumerable: true\r\n }\r\n});\r\nvar PageIndexSelector = function(_BaseInfernoComponent) {\r\n _inheritsLoose(PageIndexSelector, _BaseInfernoComponent);\r\n\r\n function PageIndexSelector(props) {\r\n var _this;\r\n _this = _BaseInfernoComponent.call(this, props) || this;\r\n _this.state = {};\r\n _this.__getterCache = {};\r\n _this.pageIndexChange = _this.pageIndexChange.bind(_assertThisInitialized(_this));\r\n _this.getButtonProps = _this.getButtonProps.bind(_assertThisInitialized(_this));\r\n _this.canNavigateToPage = _this.canNavigateToPage.bind(_assertThisInitialized(_this));\r\n _this.getNextPageIndex = _this.getNextPageIndex.bind(_assertThisInitialized(_this));\r\n _this.canNavigateTo = _this.canNavigateTo.bind(_assertThisInitialized(_this));\r\n _this.navigateToPage = _this.navigateToPage.bind(_assertThisInitialized(_this));\r\n return _this\r\n }\r\n var _proto = PageIndexSelector.prototype;\r\n _proto.pageIndexChange = function(pageIndex) {\r\n if (this.canNavigateToPage(pageIndex)) {\r\n this.props.pageIndexChange(pageIndex)\r\n }\r\n };\r\n _proto.getButtonProps = function(direction) {\r\n var _this$config, _this2 = this;\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: function() {\r\n return _this2.navigateToPage(rtlAwareDirection)\r\n }\r\n }\r\n };\r\n _proto.canNavigateToPage = function(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 _proto.getNextPageIndex = function(direction) {\r\n return this.props.pageIndex + getIncrement(direction)\r\n };\r\n _proto.canNavigateTo = function(direction) {\r\n return this.canNavigateToPage(this.getNextPageIndex(direction))\r\n };\r\n _proto.navigateToPage = function(direction) {\r\n this.pageIndexChange(this.getNextPageIndex(direction))\r\n };\r\n _proto.componentWillUpdate = function(nextProps, nextState, context) {\r\n if (this.context[_config_context.ConfigContext.id] !== context[_config_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[_config_context.ConfigContext.id] !== context[_config_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 _proto.render = function() {\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 _createClass(PageIndexSelector, [{\r\n key: \"config\",\r\n get: function() {\r\n if (this.context[_config_context.ConfigContext.id]) {\r\n return this.context[_config_context.ConfigContext.id]\r\n }\r\n return _config_context.ConfigContext.defaultValue\r\n }\r\n }, {\r\n key: \"renderPrevButton\",\r\n get: function() {\r\n var _this$props = this.props,\r\n isLargeDisplayMode = _this$props.isLargeDisplayMode,\r\n showNavigationButtons = _this$props.showNavigationButtons;\r\n return !isLargeDisplayMode || showNavigationButtons\r\n }\r\n }, {\r\n key: \"renderNextButton\",\r\n get: function() {\r\n return this.renderPrevButton || !this.props.hasKnownLastPage\r\n }\r\n }, {\r\n key: \"prevButtonProps\",\r\n get: function() {\r\n var _this3 = this;\r\n if (void 0 !== this.__getterCache.prevButtonProps) {\r\n return this.__getterCache.prevButtonProps\r\n }\r\n return this.__getterCache.prevButtonProps = _this3.getButtonProps(\"prev\")\r\n }\r\n }, {\r\n key: \"nextButtonProps\",\r\n get: function() {\r\n var _this4 = this;\r\n if (void 0 !== this.__getterCache.nextButtonProps) {\r\n return this.__getterCache.nextButtonProps\r\n }\r\n return this.__getterCache.nextButtonProps = _this4.getButtonProps(\"next\")\r\n }\r\n }, {\r\n key: \"restAttributes\",\r\n get: function() {\r\n var _this$props2 = this.props,\r\n restProps = (_this$props2.hasKnownLastPage, _this$props2.isLargeDisplayMode, _this$props2.maxPagesCount, _this$props2.pageCount, _this$props2.pageIndex, _this$props2.pageIndexChange, _this$props2.pagesCountText, _this$props2.showNavigationButtons, _this$props2.totalCount, _objectWithoutProperties(_this$props2, _excluded));\r\n return restProps\r\n }\r\n }]);\r\n return PageIndexSelector\r\n}(_inferno2.BaseInfernoComponent);\r\nexports.PageIndexSelector = PageIndexSelector;\r\nPageIndexSelector.defaultProps = PageIndexSelectorPropsType;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/pager/pages/small.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.viewFunction = exports.PagesSmall = exports.PagerSmallProps = void 0;\r\nvar _inferno = require(\"inferno\");\r\nvar _inferno2 = require(\"@devextreme/runtime/inferno\");\r\nvar _page = require(\"./page\");\r\nvar _info = require(\"../info\");\r\nvar _number_box = require(\"../../editors/number_box\");\r\nvar _message = _interopRequireDefault(require(\"../../../../localization/message\"));\r\nvar _calculate_values_fitted_width = require(\"../utils/calculate_values_fitted_width\");\r\nvar _get_element_width = require(\"../utils/get_element_width\");\r\nvar _pager_props = require(\"../common/pager_props\");\r\nvar _excluded = [\"inputAttr\", \"pageCount\", \"pageIndex\", \"pageIndexChange\", \"pagesCountText\"];\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _objectWithoutProperties(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = _objectWithoutPropertiesLoose(source, excluded);\r\n var key, i;\r\n if (Object.getOwnPropertySymbols) {\r\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\r\n for (i = 0; i < sourceSymbolKeys.length; i++) {\r\n key = sourceSymbolKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n }\r\n return target\r\n}\r\n\r\nfunction _objectWithoutPropertiesLoose(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = {};\r\n var sourceKeys = Object.keys(source);\r\n var key, i;\r\n for (i = 0; i < sourceKeys.length; i++) {\r\n key = sourceKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n return target\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _assertThisInitialized(self) {\r\n if (void 0 === self) {\r\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\")\r\n }\r\n return self\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar PAGER_INFO_TEXT_CLASS = \"\".concat(_info.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\nvar viewFunction = function(_ref) {\r\n var pageIndexRef = _ref.pageIndexRef,\r\n pagesCountText = _ref.pagesCountText,\r\n _ref$props = _ref.props,\r\n inputAttr = _ref$props.inputAttr,\r\n pageCount = _ref$props.pageCount,\r\n selectLastPageIndex = _ref.selectLastPageIndex,\r\n value = _ref.value,\r\n valueChange = _ref.valueChange,\r\n width = _ref.width;\r\n return (0, _inferno.createVNode)(1, \"div\", LIGHT_PAGES_CLASS, [(0, _inferno.createComponentVNode)(2, _number_box.NumberBox, {\r\n className: PAGER_PAGE_INDEX_CLASS,\r\n min: 1,\r\n max: pageCount,\r\n width: width,\r\n value: value,\r\n valueChange: valueChange,\r\n inputAttr: inputAttr\r\n }), (0, _inferno.createVNode)(1, \"span\", PAGER_INFO_TEXT_CLASS, pagesCountText, 0), (0, _inferno.createComponentVNode)(2, _page.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\nexports.viewFunction = viewFunction;\r\nvar PagerSmallProps = {\r\n inputAttr: Object.freeze({\r\n \"aria-label\": _message.default.format(\"dxPager-ariaPageNumber\")\r\n })\r\n};\r\nexports.PagerSmallProps = PagerSmallProps;\r\nvar PagerSmallPropsType = Object.defineProperties({}, {\r\n pageIndex: {\r\n get: function() {\r\n return _pager_props.InternalPagerProps.pageIndex\r\n },\r\n configurable: true,\r\n enumerable: true\r\n },\r\n pageCount: {\r\n get: function() {\r\n return _pager_props.InternalPagerProps.pageCount\r\n },\r\n configurable: true,\r\n enumerable: true\r\n },\r\n inputAttr: {\r\n get: function() {\r\n return PagerSmallProps.inputAttr\r\n },\r\n configurable: true,\r\n enumerable: true\r\n }\r\n});\r\nvar PagesSmall = function(_InfernoComponent) {\r\n _inheritsLoose(PagesSmall, _InfernoComponent);\r\n\r\n function PagesSmall(props) {\r\n var _this;\r\n _this = _InfernoComponent.call(this, props) || this;\r\n _this.pageIndexRef = (0, _inferno.createRef)();\r\n _this.state = {\r\n minWidth: 10\r\n };\r\n _this.updateWidth = _this.updateWidth.bind(_assertThisInitialized(_this));\r\n _this.selectLastPageIndex = _this.selectLastPageIndex.bind(_assertThisInitialized(_this));\r\n _this.valueChange = _this.valueChange.bind(_assertThisInitialized(_this));\r\n return _this\r\n }\r\n var _proto = PagesSmall.prototype;\r\n _proto.createEffects = function() {\r\n return [new _inferno2.InfernoEffect(this.updateWidth, [this.state.minWidth])]\r\n };\r\n _proto.updateEffects = function() {\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 _proto.updateWidth = function() {\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((function(__state_argument) {\r\n return {\r\n minWidth: el && (0, _get_element_width.getElementMinWidth)(el) || __state_argument.minWidth\r\n }\r\n }))\r\n };\r\n _proto.selectLastPageIndex = function() {\r\n this.props.pageIndexChange(this.props.pageCount - 1)\r\n };\r\n _proto.valueChange = function(value) {\r\n this.props.pageIndexChange(value - 1)\r\n };\r\n _proto.render = function() {\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 _createClass(PagesSmall, [{\r\n key: \"value\",\r\n get: function() {\r\n return this.props.pageIndex + 1\r\n }\r\n }, {\r\n key: \"width\",\r\n get: function() {\r\n var pageCount = this.props.pageCount;\r\n return (0, _calculate_values_fitted_width.calculateValuesFittedWidth)(this.state.minWidth, [pageCount])\r\n }\r\n }, {\r\n key: \"pagesCountText\",\r\n get: function() {\r\n var _this$props$pagesCoun;\r\n return (null !== (_this$props$pagesCoun = this.props.pagesCountText) && void 0 !== _this$props$pagesCoun ? _this$props$pagesCoun : \"\") || _message.default.getFormatter(\"dxPager-pagesCountText\")()\r\n }\r\n }, {\r\n key: \"restAttributes\",\r\n get: function() {\r\n var _this$props = this.props,\r\n restProps = (_this$props.inputAttr, _this$props.pageCount, _this$props.pageIndex, _this$props.pageIndexChange, _this$props.pagesCountText, _objectWithoutProperties(_this$props, _excluded));\r\n return restProps\r\n }\r\n }]);\r\n return PagesSmall\r\n}(_inferno2.InfernoComponent);\r\nexports.PagesSmall = PagesSmall;\r\nPagesSmall.defaultProps = PagerSmallPropsType;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/pager/resizable_container.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.ResizableContainerProps = exports.ResizableContainer = void 0;\r\nexports.calculateInfoTextVisible = calculateInfoTextVisible;\r\nexports.calculateLargeDisplayMode = calculateLargeDisplayMode;\r\nexports.viewFunction = void 0;\r\nvar _inferno = require(\"inferno\");\r\nvar _inferno2 = require(\"@devextreme/runtime/inferno\");\r\nvar _resize_callbacks = _interopRequireDefault(require(\"../../../core/utils/resize_callbacks\"));\r\nvar _get_element_width = require(\"./utils/get_element_width\");\r\nvar _type = require(\"../../../core/utils/type\");\r\nvar _excluded = [\"contentTemplate\", \"pagerProps\"];\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _objectWithoutProperties(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = _objectWithoutPropertiesLoose(source, excluded);\r\n var key, i;\r\n if (Object.getOwnPropertySymbols) {\r\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\r\n for (i = 0; i < sourceSymbolKeys.length; i++) {\r\n key = sourceSymbolKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n }\r\n return target\r\n}\r\n\r\nfunction _objectWithoutPropertiesLoose(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = {};\r\n var sourceKeys = Object.keys(source);\r\n var key, i;\r\n for (i = 0; i < sourceKeys.length; i++) {\r\n key = sourceKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n return target\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _assertThisInitialized(self) {\r\n if (void 0 === self) {\r\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\")\r\n }\r\n return self\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\nvar viewFunction = function(_ref) {\r\n var contentAttributes = _ref.contentAttributes,\r\n infoTextRef = _ref.infoTextRef,\r\n infoTextVisible = _ref.infoTextVisible,\r\n isLargeDisplayMode = _ref.isLargeDisplayMode,\r\n pageSizesRef = _ref.pageSizesRef,\r\n pagesRef = _ref.pagesRef,\r\n parentRef = _ref.parentRef,\r\n Content = _ref.props.contentTemplate;\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\nexports.viewFunction = viewFunction;\r\n\r\nfunction calculateLargeDisplayMode(_ref2) {\r\n var pageSizesWidth = _ref2.pageSizes,\r\n pagesWidth = _ref2.pages,\r\n parentWidth = _ref2.parent;\r\n return parentWidth - (pageSizesWidth + pagesWidth) > 0\r\n}\r\n\r\nfunction calculateInfoTextVisible(_ref3) {\r\n var infoWidth = _ref3.info,\r\n pageSizesWidth = _ref3.pageSizes,\r\n pagesWidth = _ref3.pages,\r\n parentWidth = _ref3.parent;\r\n var minimalWidth = pageSizesWidth + pagesWidth + infoWidth;\r\n return parentWidth - minimalWidth > 0\r\n}\r\n\r\nfunction getElementsWidth(_ref4) {\r\n var info = _ref4.info,\r\n pageSizes = _ref4.pageSizes,\r\n pages = _ref4.pages,\r\n parent = _ref4.parent;\r\n var parentWidth = (0, _get_element_width.getElementContentWidth)(parent);\r\n var pageSizesWidth = (0, _get_element_width.getElementWidth)(pageSizes);\r\n var infoWidth = (0, _get_element_width.getElementWidth)(info);\r\n var pagesHtmlWidth = (0, _get_element_width.getElementWidth)(pages);\r\n return {\r\n parent: parentWidth,\r\n pageSizes: pageSizesWidth,\r\n info: infoWidth + (0, _get_element_width.getElementStyle)(\"marginLeft\", info) + (0, _get_element_width.getElementStyle)(\"marginRight\", info),\r\n pages: pagesHtmlWidth\r\n }\r\n}\r\nvar ResizableContainerProps = {};\r\nexports.ResizableContainerProps = ResizableContainerProps;\r\nvar getTemplate = function(TemplateProp) {\r\n return TemplateProp && (TemplateProp.defaultProps ? function(props) {\r\n return (0, _inferno.normalizeProps)((0, _inferno.createComponentVNode)(2, TemplateProp, _extends({}, props)))\r\n } : TemplateProp)\r\n};\r\nvar ResizableContainer = function(_InfernoComponent) {\r\n _inheritsLoose(ResizableContainer, _InfernoComponent);\r\n\r\n function ResizableContainer(props) {\r\n var _this;\r\n _this = _InfernoComponent.call(this, props) || this;\r\n _this.parentRef = (0, _inferno.createRef)();\r\n _this.pageSizesRef = (0, _inferno.createRef)();\r\n _this.infoTextRef = (0, _inferno.createRef)();\r\n _this.pagesRef = (0, _inferno.createRef)();\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(_assertThisInitialized(_this));\r\n _this.effectUpdateChildProps = _this.effectUpdateChildProps.bind(_assertThisInitialized(_this));\r\n _this.updateAdaptivityProps = _this.updateAdaptivityProps.bind(_assertThisInitialized(_this));\r\n return _this\r\n }\r\n var _proto = ResizableContainer.prototype;\r\n _proto.createEffects = function() {\r\n return [new _inferno2.InfernoEffect(this.subscribeToResize, [this.state.infoTextVisible, this.state.isLargeDisplayMode]), new _inferno2.InfernoEffect(this.effectUpdateChildProps, [this.props, this.state.infoTextVisible, this.state.isLargeDisplayMode, this.props.pagerProps, this.props.contentTemplate])]\r\n };\r\n _proto.updateEffects = function() {\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 _proto.subscribeToResize = function() {\r\n var _this2 = this;\r\n var callback = function() {\r\n _this2.parentWidth > 0 && _this2.updateAdaptivityProps()\r\n };\r\n _resize_callbacks.default.add(callback);\r\n return function() {\r\n _resize_callbacks.default.remove(callback)\r\n }\r\n };\r\n _proto.effectUpdateChildProps = function() {\r\n if (this.parentWidth > 0) {\r\n this.updateAdaptivityProps()\r\n }\r\n };\r\n _proto.updateAdaptivityProps = function() {\r\n var _this3 = this;\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 = !(0, _type.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((function(__state_argument) {\r\n return {\r\n infoTextVisible: _this3.actualInfoTextVisible\r\n }\r\n }));\r\n this.setState((function(__state_argument) {\r\n return {\r\n isLargeDisplayMode: _this3.actualIsLargeDisplayMode\r\n }\r\n }))\r\n };\r\n _proto.render = function() {\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 _createClass(ResizableContainer, [{\r\n key: \"contentAttributes\",\r\n get: function() {\r\n var _this$props$pagerProp = this.props.pagerProps,\r\n className = _this$props$pagerProp.className,\r\n displayMode = _this$props$pagerProp.displayMode,\r\n gridCompatibility = _this$props$pagerProp.gridCompatibility,\r\n hasKnownLastPage = _this$props$pagerProp.hasKnownLastPage,\r\n infoText = _this$props$pagerProp.infoText,\r\n label = _this$props$pagerProp.label,\r\n lightModeEnabled = _this$props$pagerProp.lightModeEnabled,\r\n maxPagesCount = _this$props$pagerProp.maxPagesCount,\r\n onKeyDown = _this$props$pagerProp.onKeyDown,\r\n pageCount = _this$props$pagerProp.pageCount,\r\n pageIndex = _this$props$pagerProp.pageIndex,\r\n pageIndexChange = _this$props$pagerProp.pageIndexChange,\r\n pageSize = _this$props$pagerProp.pageSize,\r\n pageSizeChange = _this$props$pagerProp.pageSizeChange,\r\n pageSizes = _this$props$pagerProp.pageSizes,\r\n pagesCountText = _this$props$pagerProp.pagesCountText,\r\n pagesNavigatorVisible = _this$props$pagerProp.pagesNavigatorVisible,\r\n rtlEnabled = _this$props$pagerProp.rtlEnabled,\r\n showInfo = _this$props$pagerProp.showInfo,\r\n showNavigationButtons = _this$props$pagerProp.showNavigationButtons,\r\n showPageSizes = _this$props$pagerProp.showPageSizes,\r\n totalCount = _this$props$pagerProp.totalCount,\r\n visible = _this$props$pagerProp.visible;\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 }, {\r\n key: \"parentWidth\",\r\n get: function() {\r\n return this.parentRef.current ? (0, _get_element_width.getElementWidth)(this.parentRef.current) : 0\r\n }\r\n }, {\r\n key: \"restAttributes\",\r\n get: function() {\r\n var _this$props = this.props,\r\n restProps = (_this$props.contentTemplate, _this$props.pagerProps, _objectWithoutProperties(_this$props, _excluded));\r\n return restProps\r\n }\r\n }]);\r\n return ResizableContainer\r\n}(_inferno2.InfernoComponent);\r\nexports.ResizableContainer = ResizableContainer;\r\nResizableContainer.defaultProps = ResizableContainerProps;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/pager/utils/calculate_values_fitted_width.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.calculateValuesFittedWidth = calculateValuesFittedWidth;\r\nexports.oneDigitWidth = void 0;\r\n\r\nfunction _toConsumableArray(arr) {\r\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread()\r\n}\r\n\r\nfunction _nonIterableSpread() {\r\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _unsupportedIterableToArray(o, minLen) {\r\n if (!o) {\r\n return\r\n }\r\n if (\"string\" === typeof o) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n var n = Object.prototype.toString.call(o).slice(8, -1);\r\n if (\"Object\" === n && o.constructor) {\r\n n = o.constructor.name\r\n }\r\n if (\"Map\" === n || \"Set\" === n) {\r\n return Array.from(o)\r\n }\r\n if (\"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n}\r\n\r\nfunction _iterableToArray(iter) {\r\n if (\"undefined\" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter[\"@@iterator\"]) {\r\n return Array.from(iter)\r\n }\r\n}\r\n\r\nfunction _arrayWithoutHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return _arrayLikeToArray(arr)\r\n }\r\n}\r\n\r\nfunction _arrayLikeToArray(arr, len) {\r\n if (null == len || len > arr.length) {\r\n len = arr.length\r\n }\r\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\r\n arr2[i] = arr[i]\r\n }\r\n return arr2\r\n}\r\nvar oneDigitWidth = 10;\r\nexports.oneDigitWidth = oneDigitWidth;\r\n\r\nfunction calculateValuesFittedWidth(minWidth, values) {\r\n return minWidth + oneDigitWidth * Math.max.apply(Math, _toConsumableArray(values)).toString().length\r\n}\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/pager/utils/get_element_width.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.getElementContentWidth = getElementContentWidth;\r\nexports.getElementMinWidth = getElementMinWidth;\r\nexports.getElementStyle = getElementStyle;\r\nexports.getElementWidth = getElementWidth;\r\nvar _get_computed_style = _interopRequireDefault(require(\"../../../utils/get_computed_style\"));\r\nvar _type_conversion = require(\"../../../utils/type_conversion\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction getElementStyle(name, element) {\r\n var _getElementComputedSt;\r\n var computedStyle = null !== (_getElementComputedSt = (0, _get_computed_style.default)(element)) && void 0 !== _getElementComputedSt ? _getElementComputedSt : {};\r\n return (0, _type_conversion.toNumber)(computedStyle[name])\r\n}\r\n\r\nfunction 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\n\r\nfunction 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\n\r\nfunction getElementMinWidth(element) {\r\n return getElementStyle(\"minWidth\", element)\r\n}\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/resizable/utils.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.getAreaFromObject = exports.getAreaFromElement = exports.filterOffsets = exports.borderWidthStyles = void 0;\r\nexports.getDragOffsets = getDragOffsets;\r\nexports.getMovingSides = void 0;\r\nvar _type = require(\"../../../core/utils/type\");\r\nvar _extend = require(\"../../../core/utils/extend\");\r\nvar _size = require(\"../../../core/utils/size\");\r\nvar borderWidthStyles = {\r\n left: \"borderLeftWidth\",\r\n top: \"borderTopWidth\",\r\n right: \"borderRightWidth\",\r\n bottom: \"borderBottomWidth\"\r\n};\r\nexports.borderWidthStyles = borderWidthStyles;\r\n\r\nfunction getBorderWidth(el, direction) {\r\n if (!(0, _type.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 height = area.height,\r\n offset = area.offset,\r\n width = area.width;\r\n var left = offset.left,\r\n top = offset.top;\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 - (0, _size.getOuterWidth)(mainEl) - (0, _size.getInnerWidth)(mainEl),\r\n height: height - (0, _size.getOuterHeight)(mainEl) - (0, _size.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\nvar getAreaFromElement = function(el, mainEl) {\r\n return correctGeometry({\r\n width: (0, _size.getInnerWidth)(el),\r\n height: (0, _size.getInnerHeight)(el),\r\n offset: (0, _extend.extend)({\r\n top: 0,\r\n left: 0\r\n }, (0, _type.isWindow)(el) ? {} : (0, _size.getOffset)(el))\r\n }, mainEl, el)\r\n};\r\nexports.getAreaFromElement = getAreaFromElement;\r\nvar getAreaFromObject = function(_ref, mainEl) {\r\n var bottom = _ref.bottom,\r\n left = _ref.left,\r\n right = _ref.right,\r\n top = _ref.top;\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\nexports.getAreaFromObject = getAreaFromObject;\r\nvar getMovingSides = function(el) {\r\n var className = el.className;\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\nexports.getMovingSides = getMovingSides;\r\n\r\nfunction getDragOffsets(area, handleEl, areaProp) {\r\n var hWidth = (0, _size.getOuterWidth)(handleEl);\r\n var hHeight = (0, _size.getOuterHeight)(handleEl);\r\n var hOffset = (0, _size.getOffset)(handleEl);\r\n var areaOffset = area.offset;\r\n var isAreaWindow = (0, _type.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\nvar filterOffsets = function(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\nexports.filterOffsets = filterOffsets;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/scheduler/appointment/appointment.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.viewFunction = exports.AppointmentProps = exports.Appointment = void 0;\r\nvar _inferno = require(\"inferno\");\r\nvar _inferno2 = require(\"@devextreme/runtime/inferno\");\r\nvar _utils = require(\"./utils\");\r\nvar _layout = require(\"./content/layout\");\r\nvar _widget = require(\"../../common/widget\");\r\nvar _combine_classes = require(\"../../../utils/combine_classes\");\r\nvar _utils2 = require(\"../resources/utils\");\r\nvar _appointments_context = require(\"../appointments_context\");\r\nvar _excluded = [\"appointmentTemplate\", \"groups\", \"hideReducedIconTooltip\", \"index\", \"onItemClick\", \"onItemDoubleClick\", \"showReducedIconTooltip\", \"viewModel\"];\r\n\r\nfunction _objectWithoutProperties(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = _objectWithoutPropertiesLoose(source, excluded);\r\n var key, i;\r\n if (Object.getOwnPropertySymbols) {\r\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\r\n for (i = 0; i < sourceSymbolKeys.length; i++) {\r\n key = sourceSymbolKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n }\r\n return target\r\n}\r\n\r\nfunction _objectWithoutPropertiesLoose(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = {};\r\n var sourceKeys = Object.keys(source);\r\n var key, i;\r\n for (i = 0; i < sourceKeys.length; i++) {\r\n key = sourceKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n return target\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _assertThisInitialized(self) {\r\n if (void 0 === self) {\r\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\")\r\n }\r\n return self\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\nvar viewFunction = function(_ref) {\r\n var classes = _ref.classes,\r\n data = _ref.data,\r\n dateText = _ref.dateText,\r\n isReduced = _ref.isReduced,\r\n onItemClick = _ref.onItemClick,\r\n _ref$props = _ref.props,\r\n appointmentTemplate = _ref$props.appointmentTemplate,\r\n hideReducedIconTooltip = _ref$props.hideReducedIconTooltip,\r\n index = _ref$props.index,\r\n showReducedIconTooltip = _ref$props.showReducedIconTooltip,\r\n isRecurrent = _ref$props.viewModel.info.isRecurrent,\r\n ref = _ref.ref,\r\n styles = _ref.styles,\r\n text = _ref.text;\r\n return (0, _inferno.normalizeProps)((0, _inferno.createComponentVNode)(2, _widget.Widget, _extends({\r\n focusStateEnabled: true,\r\n onClick: onItemClick,\r\n rootElementRef: ref,\r\n style: (0, _inferno2.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: (0, _inferno.createComponentVNode)(2, _layout.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\nexports.viewFunction = viewFunction;\r\nvar AppointmentProps = {\r\n index: 0\r\n};\r\nexports.AppointmentProps = AppointmentProps;\r\nvar getTemplate = function(TemplateProp) {\r\n return TemplateProp && (TemplateProp.defaultProps ? function(props) {\r\n return (0, _inferno.normalizeProps)((0, _inferno.createComponentVNode)(2, TemplateProp, _extends({}, props)))\r\n } : TemplateProp)\r\n};\r\nvar Appointment = function(_InfernoComponent) {\r\n _inheritsLoose(Appointment, _InfernoComponent);\r\n\r\n function Appointment(props) {\r\n var _this;\r\n _this = _InfernoComponent.call(this, props) || this;\r\n _this.ref = (0, _inferno.createRef)();\r\n _this.state = {\r\n color: void 0\r\n };\r\n _this.updateStylesEffect = _this.updateStylesEffect.bind(_assertThisInitialized(_this));\r\n _this.bindDoubleClickEffect = _this.bindDoubleClickEffect.bind(_assertThisInitialized(_this));\r\n _this.onItemClick = _this.onItemClick.bind(_assertThisInitialized(_this));\r\n _this.onItemDoubleClick = _this.onItemDoubleClick.bind(_assertThisInitialized(_this));\r\n return _this\r\n }\r\n var _proto = Appointment.prototype;\r\n _proto.createEffects = function() {\r\n return [new _inferno2.InfernoEffect(this.updateStylesEffect, [this.props.viewModel, this.appointmentsContextValue, this.props.groups]), new _inferno2.InfernoEffect(this.bindDoubleClickEffect, [])]\r\n };\r\n _proto.updateEffects = function() {\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 _proto.updateStylesEffect = function() {\r\n var _viewModel$info$group, _this2 = this;\r\n var viewModel = this.props.viewModel;\r\n var groupIndex = null !== (_viewModel$info$group = viewModel.info.groupIndex) && void 0 !== _viewModel$info$group ? _viewModel$info$group : 0;\r\n var appointment = viewModel.appointment;\r\n (0, _utils2.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((function(color) {\r\n _this2.setState((function(__state_argument) {\r\n return {\r\n color: color\r\n }\r\n }))\r\n })).catch((function() {\r\n return \"\"\r\n }))\r\n };\r\n _proto.bindDoubleClickEffect = function() {\r\n var _this$ref$current, _this3 = this;\r\n var onDoubleClick = function() {\r\n return _this3.onItemDoubleClick()\r\n };\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 function() {\r\n var _this3$ref$current;\r\n null === (_this3$ref$current = _this3.ref.current) || void 0 === _this3$ref$current ? void 0 : _this3$ref$current.removeEventListener(\"dblclick\", onDoubleClick)\r\n }\r\n };\r\n _proto.onItemClick = function() {\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 _proto.onItemDoubleClick = function() {\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 _proto.render = function() {\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 _createClass(Appointment, [{\r\n key: \"appointmentsContextValue\",\r\n get: function() {\r\n if (this.context[_appointments_context.AppointmentsContext.id]) {\r\n return this.context[_appointments_context.AppointmentsContext.id]\r\n }\r\n return _appointments_context.AppointmentsContext.defaultValue\r\n }\r\n }, {\r\n key: \"appointmentStyles\",\r\n get: function() {\r\n return (0, _utils.getAppointmentStyles)(this.props.viewModel)\r\n }\r\n }, {\r\n key: \"styles\",\r\n get: function() {\r\n return (0, _utils.mergeStylesWithColor)(this.state.color, this.appointmentStyles)\r\n }\r\n }, {\r\n key: \"text\",\r\n get: function() {\r\n return this.props.viewModel.appointment.text\r\n }\r\n }, {\r\n key: \"isReduced\",\r\n get: function() {\r\n var appointmentReduced = this.props.viewModel.info.appointmentReduced;\r\n return !!appointmentReduced\r\n }\r\n }, {\r\n key: \"classes\",\r\n get: function() {\r\n var _this$props$viewModel = this.props.viewModel,\r\n focused = _this$props$viewModel.focused,\r\n _this$props$viewModel2 = _this$props$viewModel.info,\r\n allDay = _this$props$viewModel2.allDay,\r\n appointmentReduced = _this$props$viewModel2.appointmentReduced,\r\n direction = _this$props$viewModel2.direction,\r\n isRecurrent = _this$props$viewModel2.isRecurrent;\r\n var isVerticalDirection = \"vertical\" === direction;\r\n return (0, _combine_classes.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 }, {\r\n key: \"dateText\",\r\n get: function() {\r\n return this.props.viewModel.info.dateText\r\n }\r\n }, {\r\n key: \"data\",\r\n get: function() {\r\n return {\r\n appointmentData: this.props.viewModel.info.appointment,\r\n targetedAppointmentData: this.props.viewModel.appointment\r\n }\r\n }\r\n }, {\r\n key: \"restAttributes\",\r\n get: function() {\r\n var _this$props = this.props,\r\n restProps = (_this$props.appointmentTemplate, _this$props.groups, _this$props.hideReducedIconTooltip, _this$props.index, _this$props.onItemClick, _this$props.onItemDoubleClick, _this$props.showReducedIconTooltip, _this$props.viewModel, _objectWithoutProperties(_this$props, _excluded));\r\n return restProps\r\n }\r\n }]);\r\n return Appointment\r\n}(_inferno2.InfernoComponent);\r\nexports.Appointment = Appointment;\r\nAppointment.defaultProps = AppointmentProps;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/scheduler/appointment/content/details/layout.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.viewFunction = exports.AppointmentDetailsProps = exports.AppointmentDetails = void 0;\r\nvar _inferno = require(\"inferno\");\r\nvar _inferno2 = require(\"@devextreme/runtime/inferno\");\r\nvar _excluded = [\"dateText\"];\r\n\r\nfunction _objectWithoutProperties(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = _objectWithoutPropertiesLoose(source, excluded);\r\n var key, i;\r\n if (Object.getOwnPropertySymbols) {\r\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\r\n for (i = 0; i < sourceSymbolKeys.length; i++) {\r\n key = sourceSymbolKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n }\r\n return target\r\n}\r\n\r\nfunction _objectWithoutPropertiesLoose(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = {};\r\n var sourceKeys = Object.keys(source);\r\n var key, i;\r\n for (i = 0; i < sourceKeys.length; i++) {\r\n key = sourceKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n return target\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar viewFunction = function(_ref) {\r\n var dateText = _ref.props.dateText;\r\n return (0, _inferno.createVNode)(1, \"div\", \"dx-scheduler-appointment-content-details\", (0, _inferno.createVNode)(1, \"div\", \"dx-scheduler-appointment-content-date\", dateText, 0), 2)\r\n};\r\nexports.viewFunction = viewFunction;\r\nvar AppointmentDetailsProps = {\r\n dateText: \"\"\r\n};\r\nexports.AppointmentDetailsProps = AppointmentDetailsProps;\r\nvar AppointmentDetails = function(_BaseInfernoComponent) {\r\n _inheritsLoose(AppointmentDetails, _BaseInfernoComponent);\r\n\r\n function AppointmentDetails(props) {\r\n var _this;\r\n _this = _BaseInfernoComponent.call(this, props) || this;\r\n _this.state = {};\r\n return _this\r\n }\r\n var _proto = AppointmentDetails.prototype;\r\n _proto.render = function() {\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 _createClass(AppointmentDetails, [{\r\n key: \"restAttributes\",\r\n get: function() {\r\n var _this$props = this.props,\r\n restProps = (_this$props.dateText, _objectWithoutProperties(_this$props, _excluded));\r\n return restProps\r\n }\r\n }]);\r\n return AppointmentDetails\r\n}(_inferno2.BaseInfernoComponent);\r\nexports.AppointmentDetails = AppointmentDetails;\r\nAppointmentDetails.defaultProps = AppointmentDetailsProps;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/scheduler/appointment/content/layout.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.viewFunction = exports.AppointmentContentProps = exports.AppointmentContent = void 0;\r\nvar _inferno = require(\"inferno\");\r\nvar _inferno2 = require(\"@devextreme/runtime/inferno\");\r\nvar _layout = require(\"./details/layout\");\r\nvar _layout2 = require(\"./title/layout\");\r\nvar _excluded = [\"appointmentTemplate\", \"data\", \"dateText\", \"hideReducedIconTooltip\", \"index\", \"isRecurrent\", \"isReduced\", \"showReducedIconTooltip\", \"text\"];\r\n\r\nfunction _objectWithoutProperties(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = _objectWithoutPropertiesLoose(source, excluded);\r\n var key, i;\r\n if (Object.getOwnPropertySymbols) {\r\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\r\n for (i = 0; i < sourceSymbolKeys.length; i++) {\r\n key = sourceSymbolKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n }\r\n return target\r\n}\r\n\r\nfunction _objectWithoutPropertiesLoose(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = {};\r\n var sourceKeys = Object.keys(source);\r\n var key, i;\r\n for (i = 0; i < sourceKeys.length; i++) {\r\n key = sourceKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n return target\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _assertThisInitialized(self) {\r\n if (void 0 === self) {\r\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\")\r\n }\r\n return self\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\nvar viewFunction = function(_ref) {\r\n var _ref$props = _ref.props,\r\n appointmentTemplate = _ref$props.appointmentTemplate,\r\n data = _ref$props.data,\r\n dateText = _ref$props.dateText,\r\n index = _ref$props.index,\r\n isRecurrent = _ref$props.isRecurrent,\r\n isReduced = _ref$props.isReduced,\r\n text = _ref$props.text,\r\n refReducedIcon = _ref.refReducedIcon;\r\n var AppointmentTemplate = appointmentTemplate;\r\n return (0, _inferno.createVNode)(1, \"div\", \"dx-scheduler-appointment-content\", appointmentTemplate ? AppointmentTemplate({\r\n data: data,\r\n index: index\r\n }) : (0, _inferno.createFragment)([(0, _inferno.createComponentVNode)(2, _layout2.AppointmentTitle, {\r\n text: text\r\n }), (0, _inferno.createComponentVNode)(2, _layout.AppointmentDetails, {\r\n dateText: dateText\r\n }), isRecurrent && (0, _inferno.createVNode)(1, \"div\", \"dx-scheduler-appointment-recurrence-icon dx-icon-repeat\"), isReduced && (0, _inferno.createVNode)(1, \"div\", \"dx-scheduler-appointment-reduced-icon\", null, 1, null, null, refReducedIcon)], 0), 0)\r\n};\r\nexports.viewFunction = viewFunction;\r\nvar AppointmentContentProps = {\r\n text: \"\",\r\n dateText: \"\",\r\n isRecurrent: false,\r\n isReduced: false,\r\n index: 0\r\n};\r\nexports.AppointmentContentProps = AppointmentContentProps;\r\nvar getTemplate = function(TemplateProp) {\r\n return TemplateProp && (TemplateProp.defaultProps ? function(props) {\r\n return (0, _inferno.normalizeProps)((0, _inferno.createComponentVNode)(2, TemplateProp, _extends({}, props)))\r\n } : TemplateProp)\r\n};\r\nvar AppointmentContent = function(_InfernoComponent) {\r\n _inheritsLoose(AppointmentContent, _InfernoComponent);\r\n\r\n function AppointmentContent(props) {\r\n var _this;\r\n _this = _InfernoComponent.call(this, props) || this;\r\n _this.state = {};\r\n _this.refReducedIcon = (0, _inferno.createRef)();\r\n _this.bindHoverEffect = _this.bindHoverEffect.bind(_assertThisInitialized(_this));\r\n _this.onReducedIconMouseEnter = _this.onReducedIconMouseEnter.bind(_assertThisInitialized(_this));\r\n _this.onReducedIconMouseLeave = _this.onReducedIconMouseLeave.bind(_assertThisInitialized(_this));\r\n return _this\r\n }\r\n var _proto = AppointmentContent.prototype;\r\n _proto.createEffects = function() {\r\n return [new _inferno2.InfernoEffect(this.bindHoverEffect, [this.props.showReducedIconTooltip, this.props.data, this.props.hideReducedIconTooltip])]\r\n };\r\n _proto.updateEffects = function() {\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 _proto.bindHoverEffect = function() {\r\n var _this$refReducedIcon$, _this$refReducedIcon$2, _this2 = this;\r\n var onMouseEnter = function() {\r\n return _this2.onReducedIconMouseEnter()\r\n };\r\n var onMouseLeave = function() {\r\n return _this2.onReducedIconMouseLeave()\r\n };\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 function() {\r\n var _this2$refReducedIcon, _this2$refReducedIcon2;\r\n null === (_this2$refReducedIcon = _this2.refReducedIcon.current) || void 0 === _this2$refReducedIcon ? void 0 : _this2$refReducedIcon.removeEventListener(\"mouseenter\", onMouseEnter);\r\n null === (_this2$refReducedIcon2 = _this2.refReducedIcon.current) || void 0 === _this2$refReducedIcon2 ? void 0 : _this2$refReducedIcon2.removeEventListener(\"mouseleave\", onMouseLeave)\r\n }\r\n };\r\n _proto.onReducedIconMouseEnter = function() {\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 _proto.onReducedIconMouseLeave = function() {\r\n this.props.hideReducedIconTooltip()\r\n };\r\n _proto.render = function() {\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 _createClass(AppointmentContent, [{\r\n key: \"restAttributes\",\r\n get: function() {\r\n var _this$props = this.props,\r\n restProps = (_this$props.appointmentTemplate, _this$props.data, _this$props.dateText, _this$props.hideReducedIconTooltip, _this$props.index, _this$props.isRecurrent, _this$props.isReduced, _this$props.showReducedIconTooltip, _this$props.text, _objectWithoutProperties(_this$props, _excluded));\r\n return restProps\r\n }\r\n }]);\r\n return AppointmentContent\r\n}(_inferno2.InfernoComponent);\r\nexports.AppointmentContent = AppointmentContent;\r\nAppointmentContent.defaultProps = AppointmentContentProps;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/scheduler/appointment/content/title/layout.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.viewFunction = exports.AppointmentTitleProps = exports.AppointmentTitle = void 0;\r\nvar _inferno = require(\"inferno\");\r\nvar _inferno2 = require(\"@devextreme/runtime/inferno\");\r\nvar _excluded = [\"text\"];\r\n\r\nfunction _objectWithoutProperties(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = _objectWithoutPropertiesLoose(source, excluded);\r\n var key, i;\r\n if (Object.getOwnPropertySymbols) {\r\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\r\n for (i = 0; i < sourceSymbolKeys.length; i++) {\r\n key = sourceSymbolKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n }\r\n return target\r\n}\r\n\r\nfunction _objectWithoutPropertiesLoose(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = {};\r\n var sourceKeys = Object.keys(source);\r\n var key, i;\r\n for (i = 0; i < sourceKeys.length; i++) {\r\n key = sourceKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n return target\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar viewFunction = function(_ref) {\r\n var text = _ref.props.text;\r\n return (0, _inferno.createVNode)(1, \"div\", \"dx-scheduler-appointment-title\", text, 0)\r\n};\r\nexports.viewFunction = viewFunction;\r\nvar AppointmentTitleProps = {\r\n text: \"\"\r\n};\r\nexports.AppointmentTitleProps = AppointmentTitleProps;\r\nvar AppointmentTitle = function(_BaseInfernoComponent) {\r\n _inheritsLoose(AppointmentTitle, _BaseInfernoComponent);\r\n\r\n function AppointmentTitle(props) {\r\n var _this;\r\n _this = _BaseInfernoComponent.call(this, props) || this;\r\n _this.state = {};\r\n return _this\r\n }\r\n var _proto = AppointmentTitle.prototype;\r\n _proto.render = function() {\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 _createClass(AppointmentTitle, [{\r\n key: \"restAttributes\",\r\n get: function() {\r\n var _this$props = this.props,\r\n restProps = (_this$props.text, _objectWithoutProperties(_this$props, _excluded));\r\n return restProps\r\n }\r\n }]);\r\n return AppointmentTitle\r\n}(_inferno2.BaseInfernoComponent);\r\nexports.AppointmentTitle = AppointmentTitle;\r\nAppointmentTitle.defaultProps = AppointmentTitleProps;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/scheduler/appointment/layout.j.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.default = void 0;\r\nvar _component_registrator = _interopRequireDefault(require(\"../../../../core/component_registrator\"));\r\nvar _component = _interopRequireDefault(require(\"../../../component_wrapper/common/component\"));\r\nvar _layout = require(\"./layout\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar AppointmentLayout = function(_BaseComponent) {\r\n _inheritsLoose(AppointmentLayout, _BaseComponent);\r\n\r\n function AppointmentLayout() {\r\n return _BaseComponent.apply(this, arguments) || this\r\n }\r\n _createClass(AppointmentLayout, [{\r\n key: \"_propsInfo\",\r\n get: function() {\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 }, {\r\n key: \"_viewComponent\",\r\n get: function() {\r\n return _layout.AppointmentLayout\r\n }\r\n }]);\r\n return AppointmentLayout\r\n}(_component.default);\r\nexports.default = AppointmentLayout;\r\n(0, _component_registrator.default)(\"dxAppointmentLayout\", AppointmentLayout);\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/scheduler/appointment/layout.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.viewFunction = exports.AppointmentLayoutProps = exports.AppointmentLayout = void 0;\r\nvar _inferno = require(\"inferno\");\r\nvar _inferno2 = require(\"@devextreme/runtime/inferno\");\r\nvar _appointment = require(\"./appointment\");\r\nvar _layout = require(\"./overflow_indicator/layout\");\r\nvar _combine_classes = require(\"../../../utils/combine_classes\");\r\nvar _appointments_context = require(\"../appointments_context\");\r\nvar _subscribe_to_event = require(\"../../../utils/subscribe_to_event\");\r\nvar _excluded = [\"isAllDay\"];\r\n\r\nfunction _objectWithoutProperties(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = _objectWithoutPropertiesLoose(source, excluded);\r\n var key, i;\r\n if (Object.getOwnPropertySymbols) {\r\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\r\n for (i = 0; i < sourceSymbolKeys.length; i++) {\r\n key = sourceSymbolKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n }\r\n return target\r\n}\r\n\r\nfunction _objectWithoutPropertiesLoose(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = {};\r\n var sourceKeys = Object.keys(source);\r\n var key, i;\r\n for (i = 0; i < sourceKeys.length; i++) {\r\n key = sourceKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n return target\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _assertThisInitialized(self) {\r\n if (void 0 === self) {\r\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\")\r\n }\r\n return self\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\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\nvar viewFunction = function(_ref) {\r\n var appointments = _ref.appointments,\r\n _ref$appointmentsCont = _ref.appointmentsContextValue,\r\n appointmentTemplate = _ref$appointmentsCont.appointmentTemplate,\r\n groups = _ref$appointmentsCont.groups,\r\n hideReducedIconTooltip = _ref$appointmentsCont.hideReducedIconTooltip,\r\n onAppointmentClick = _ref$appointmentsCont.onAppointmentClick,\r\n onAppointmentDoubleClick = _ref$appointmentsCont.onAppointmentDoubleClick,\r\n overflowIndicatorTemplate = _ref$appointmentsCont.overflowIndicatorTemplate,\r\n showReducedIconTooltip = _ref$appointmentsCont.showReducedIconTooltip,\r\n classes = _ref.classes,\r\n layoutRef = _ref.layoutRef,\r\n overflowIndicators = _ref.overflowIndicators;\r\n return (0, _inferno.createVNode)(1, \"div\", classes, [appointments.map((function(item, index) {\r\n return (0, _inferno.createComponentVNode)(2, _appointment.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)\r\n })), overflowIndicators.map((function(item, index) {\r\n return (0, _inferno.createComponentVNode)(2, _layout.OverflowIndicator, {\r\n viewModel: item,\r\n groups: groups,\r\n overflowIndicatorTemplate: overflowIndicatorTemplate,\r\n \"data-index\": index\r\n }, item.key)\r\n }))], 0, null, null, layoutRef)\r\n};\r\nexports.viewFunction = viewFunction;\r\nvar AppointmentLayoutProps = {\r\n isAllDay: false\r\n};\r\nexports.AppointmentLayoutProps = AppointmentLayoutProps;\r\nvar AppointmentLayout = function(_InfernoWrapperCompon) {\r\n _inheritsLoose(AppointmentLayout, _InfernoWrapperCompon);\r\n\r\n function AppointmentLayout(props) {\r\n var _this;\r\n _this = _InfernoWrapperCompon.call(this, props) || this;\r\n _this.state = {};\r\n _this.layoutRef = (0, _inferno.createRef)();\r\n _this.__getterCache = {};\r\n _this.pointerEventsEffect = _this.pointerEventsEffect.bind(_assertThisInitialized(_this));\r\n _this.onAppointmentPointerDown = _this.onAppointmentPointerDown.bind(_assertThisInitialized(_this));\r\n return _this\r\n }\r\n var _proto = AppointmentLayout.prototype;\r\n _proto.createEffects = function() {\r\n return [new _inferno2.InfernoEffect(this.pointerEventsEffect, [this.appointmentsContextValue]), (0, _inferno2.createReRenderEffect)()]\r\n };\r\n _proto.updateEffects = function() {\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 _proto.pointerEventsEffect = function() {\r\n var _this2 = this;\r\n var disposePointerDown = (0, _subscribe_to_event.subscribeToDXPointerDownEvent)(this.layoutRef.current, (function(e) {\r\n return _this2.onAppointmentPointerDown(e)\r\n }));\r\n return function() {\r\n disposePointerDown()\r\n }\r\n };\r\n _proto.onAppointmentPointerDown = function(e) {\r\n var appointmentElement = e.target.closest(SELECTOR.appointment);\r\n if (appointmentElement) {\r\n var index = appointmentElement.dataset.index;\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((function(item) {\r\n return item[1]\r\n }))[0][0];\r\n this.appointmentsContextValue.updateFocusedAppointment(appointmentType, focusedAppointmentIndex)\r\n }\r\n };\r\n _proto.componentWillUpdate = function(nextProps, nextState, context) {\r\n _InfernoWrapperCompon.prototype.componentWillUpdate.call(this);\r\n if (this.props.isAllDay !== nextProps.isAllDay || this.context[_appointments_context.AppointmentsContext.id] !== context[_appointments_context.AppointmentsContext.id]) {\r\n this.__getterCache.appointments = void 0\r\n }\r\n if (this.props.isAllDay !== nextProps.isAllDay || this.context[_appointments_context.AppointmentsContext.id] !== context[_appointments_context.AppointmentsContext.id]) {\r\n this.__getterCache.overflowIndicators = void 0\r\n }\r\n };\r\n _proto.render = function() {\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 _createClass(AppointmentLayout, [{\r\n key: \"appointmentsContextValue\",\r\n get: function() {\r\n if (this.context[_appointments_context.AppointmentsContext.id]) {\r\n return this.context[_appointments_context.AppointmentsContext.id]\r\n }\r\n return _appointments_context.AppointmentsContext.defaultValue\r\n }\r\n }, {\r\n key: \"classes\",\r\n get: function() {\r\n var isAllDay = this.props.isAllDay;\r\n return (0, _combine_classes.combineClasses)({\r\n \"dx-scheduler-scrollable-appointments\": !isAllDay,\r\n \"dx-scheduler-all-day-appointments\": isAllDay\r\n })\r\n }\r\n }, {\r\n key: \"appointments\",\r\n get: function() {\r\n var _this3 = this;\r\n if (void 0 !== this.__getterCache.appointments) {\r\n return this.__getterCache.appointments\r\n }\r\n return this.__getterCache.appointments = function() {\r\n if (_this3.props.isAllDay) {\r\n return _this3.appointmentsContextValue.viewModel.allDay\r\n }\r\n return _this3.appointmentsContextValue.viewModel.regular\r\n }()\r\n }\r\n }, {\r\n key: \"overflowIndicators\",\r\n get: function() {\r\n var _this4 = this;\r\n if (void 0 !== this.__getterCache.overflowIndicators) {\r\n return this.__getterCache.overflowIndicators\r\n }\r\n return this.__getterCache.overflowIndicators = function() {\r\n if (_this4.props.isAllDay) {\r\n return _this4.appointmentsContextValue.viewModel.allDayCompact\r\n }\r\n return _this4.appointmentsContextValue.viewModel.regularCompact\r\n }()\r\n }\r\n }, {\r\n key: \"restAttributes\",\r\n get: function() {\r\n var _this$props = this.props,\r\n restProps = (_this$props.isAllDay, _objectWithoutProperties(_this$props, _excluded));\r\n return restProps\r\n }\r\n }]);\r\n return AppointmentLayout\r\n}(_inferno2.InfernoWrapperComponent);\r\nexports.AppointmentLayout = AppointmentLayout;\r\nAppointmentLayout.defaultProps = AppointmentLayoutProps;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/scheduler/appointment/overflow_indicator/layout.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.viewFunction = exports.OverflowIndicatorProps = exports.OverflowIndicator = void 0;\r\nvar _inferno = require(\"inferno\");\r\nvar _inferno2 = require(\"@devextreme/runtime/inferno\");\r\nvar _combine_classes = require(\"../../../../utils/combine_classes\");\r\nvar _button = require(\"../../../button\");\r\nvar _utils = require(\"./utils\");\r\nvar _message = _interopRequireDefault(require(\"../../../../../localization/message\"));\r\nvar _appointments_context = require(\"../../appointments_context\");\r\nvar _utils2 = require(\"../utils\");\r\nvar _excluded = [\"groups\", \"overflowIndicatorTemplate\", \"viewModel\"];\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _objectWithoutProperties(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = _objectWithoutPropertiesLoose(source, excluded);\r\n var key, i;\r\n if (Object.getOwnPropertySymbols) {\r\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\r\n for (i = 0; i < sourceSymbolKeys.length; i++) {\r\n key = sourceSymbolKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n }\r\n return target\r\n}\r\n\r\nfunction _objectWithoutPropertiesLoose(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = {};\r\n var sourceKeys = Object.keys(source);\r\n var key, i;\r\n for (i = 0; i < sourceKeys.length; i++) {\r\n key = sourceKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n return target\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _assertThisInitialized(self) {\r\n if (void 0 === self) {\r\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\")\r\n }\r\n return self\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\nvar viewFunction = function(_ref) {\r\n var classes = _ref.classes,\r\n data = _ref.data,\r\n OverflowIndicatorTemplate = _ref.props.overflowIndicatorTemplate,\r\n styles = _ref.styles,\r\n text = _ref.text;\r\n return (0, _inferno.createComponentVNode)(2, _button.Button, {\r\n style: (0, _inferno2.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 }) : (0, _inferno.createVNode)(1, \"span\", null, text, 0)\r\n })\r\n};\r\nexports.viewFunction = viewFunction;\r\nvar OverflowIndicatorProps = {};\r\nexports.OverflowIndicatorProps = OverflowIndicatorProps;\r\nvar getTemplate = function(TemplateProp) {\r\n return TemplateProp && (TemplateProp.defaultProps ? function(props) {\r\n return (0, _inferno.normalizeProps)((0, _inferno.createComponentVNode)(2, TemplateProp, _extends({}, props)))\r\n } : TemplateProp)\r\n};\r\nvar OverflowIndicator = function(_InfernoComponent) {\r\n _inheritsLoose(OverflowIndicator, _InfernoComponent);\r\n\r\n function OverflowIndicator(props) {\r\n var _this;\r\n _this = _InfernoComponent.call(this, props) || this;\r\n _this.state = {\r\n color: void 0\r\n };\r\n _this.updateStylesEffect = _this.updateStylesEffect.bind(_assertThisInitialized(_this));\r\n return _this\r\n }\r\n var _proto = OverflowIndicator.prototype;\r\n _proto.createEffects = function() {\r\n return [new _inferno2.InfernoEffect(this.updateStylesEffect, [this.props.groups, this.props.viewModel, this.appointmentsContextValue])]\r\n };\r\n _proto.updateEffects = function() {\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 _proto.updateStylesEffect = function() {\r\n var _this2 = this;\r\n var _this$props = this.props,\r\n groups = _this$props.groups,\r\n viewModel = _this$props.viewModel;\r\n (0, _utils.getIndicatorColor)(this.appointmentsContextValue, viewModel, groups).then((function(color) {\r\n _this2.setState((function(__state_argument) {\r\n return {\r\n color: color\r\n }\r\n }))\r\n }))\r\n };\r\n _proto.render = function() {\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 _createClass(OverflowIndicator, [{\r\n key: \"appointmentsContextValue\",\r\n get: function() {\r\n if (this.context[_appointments_context.AppointmentsContext.id]) {\r\n return this.context[_appointments_context.AppointmentsContext.id]\r\n }\r\n return _appointments_context.AppointmentsContext.defaultValue\r\n }\r\n }, {\r\n key: \"data\",\r\n get: function() {\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 }, {\r\n key: \"text\",\r\n get: function() {\r\n var isCompact = this.props.viewModel.isCompact;\r\n var appointmentCount = this.data.appointmentCount;\r\n if (isCompact) {\r\n return \"\".concat(appointmentCount)\r\n }\r\n var formatter = _message.default.getFormatter(\"dxScheduler-moreAppointments\");\r\n return formatter(appointmentCount)\r\n }\r\n }, {\r\n key: \"appointmentStyles\",\r\n get: function() {\r\n return (0, _utils.getOverflowIndicatorStyles)(this.props.viewModel)\r\n }\r\n }, {\r\n key: \"styles\",\r\n get: function() {\r\n return (0, _utils2.mergeStylesWithColor)(this.state.color, this.appointmentStyles)\r\n }\r\n }, {\r\n key: \"classes\",\r\n get: function() {\r\n return (0, _combine_classes.combineClasses)({\r\n \"dx-scheduler-appointment-collector\": true,\r\n \"dx-scheduler-appointment-collector-compact\": this.data.isCompact\r\n })\r\n }\r\n }, {\r\n key: \"restAttributes\",\r\n get: function() {\r\n var _this$props2 = this.props,\r\n restProps = (_this$props2.groups, _this$props2.overflowIndicatorTemplate, _this$props2.viewModel, _objectWithoutProperties(_this$props2, _excluded));\r\n return restProps\r\n }\r\n }]);\r\n return OverflowIndicator\r\n}(_inferno2.InfernoComponent);\r\nexports.OverflowIndicator = OverflowIndicator;\r\nOverflowIndicator.defaultProps = OverflowIndicatorProps;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/scheduler/appointment/overflow_indicator/utils.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.getOverflowIndicatorStyles = exports.getOverflowIndicatorColor = exports.getIndicatorColor = void 0;\r\nvar _utils = require(\"../../workspaces/utils\");\r\nvar _utils2 = require(\"../../resources/utils\");\r\nvar getOverflowIndicatorStyles = function(viewModel) {\r\n var _viewModel$geometry = viewModel.geometry,\r\n height = _viewModel$geometry.height,\r\n left = _viewModel$geometry.left,\r\n top = _viewModel$geometry.top,\r\n width = _viewModel$geometry.width;\r\n var result = (0, _utils.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\nexports.getOverflowIndicatorStyles = getOverflowIndicatorStyles;\r\nvar getOverflowIndicatorColor = function(color, colors) {\r\n return !colors.length || 0 === colors.filter((function(item) {\r\n return item !== color\r\n })).length ? color : void 0\r\n};\r\nexports.getOverflowIndicatorColor = getOverflowIndicatorColor;\r\nvar getIndicatorColor = function(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 appointment = viewModel.items.settings[0].appointment;\r\n return (0, _utils2.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\nexports.getIndicatorColor = getIndicatorColor;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/scheduler/appointment/utils.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.mergeStylesWithColor = exports.getReducedIconTooltipText = exports.getAppointmentStyles = exports.getAppointmentKey = void 0;\r\nvar _utils = require(\"../workspaces/utils\");\r\nvar _message = _interopRequireDefault(require(\"../../../../localization/message\"));\r\nvar _date = _interopRequireDefault(require(\"../../../../localization/date\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar EditorLabelLocalizationConst = \"dxScheduler-editorLabelEndDate\";\r\nvar getAppointmentStyles = function(viewModel) {\r\n var _viewModel$geometry = viewModel.geometry,\r\n height = _viewModel$geometry.height,\r\n left = _viewModel$geometry.left,\r\n top = _viewModel$geometry.top,\r\n width = _viewModel$geometry.width;\r\n return (0, _utils.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\nexports.getAppointmentStyles = getAppointmentStyles;\r\nvar getAppointmentKey = function(geometry) {\r\n var height = geometry.height,\r\n left = geometry.left,\r\n top = geometry.top,\r\n width = geometry.width;\r\n return \"\".concat(left, \"-\").concat(top, \"-\").concat(width, \"-\").concat(height)\r\n};\r\nexports.getAppointmentKey = getAppointmentKey;\r\nvar getReducedIconTooltipText = function(endDate) {\r\n var tooltipLabel = _message.default.format(EditorLabelLocalizationConst);\r\n if (!endDate) {\r\n return tooltipLabel\r\n }\r\n var date = new Date(endDate);\r\n var monthAndDay = _date.default.format(date, \"monthAndDay\");\r\n var year = _date.default.format(date, \"year\");\r\n return \"\".concat(tooltipLabel, \": \").concat(monthAndDay, \", \").concat(year)\r\n};\r\nexports.getReducedIconTooltipText = getReducedIconTooltipText;\r\nvar mergeStylesWithColor = function(color, styles) {\r\n return !color ? styles : (0, _utils.addToStyles)([{\r\n attr: \"backgroundColor\",\r\n value: color\r\n }], styles)\r\n};\r\nexports.mergeStylesWithColor = mergeStylesWithColor;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/scheduler/appointment/utils/getAppointmentTakesAllDay.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.getAppointmentTakesAllDay = void 0;\r\nvar _type = require(\"../../../../../core/utils/type\");\r\nvar _date = _interopRequireDefault(require(\"../../../../../core/utils/date\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar getAppointmentDurationInHours = function(startDate, endDate) {\r\n return (endDate.getTime() - startDate.getTime()) / _date.default.dateToMilliseconds(\"hour\")\r\n};\r\nvar appointmentHasShortDayDuration = function(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\nvar getAppointmentTakesAllDay = function(appointmentAdapter, viewStartDayHour, viewEndDayHour, allDayPanelMode) {\r\n var hasAllDay = function() {\r\n return appointmentAdapter.allDay\r\n };\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 endDate = appointmentAdapter.endDate,\r\n startDate = appointmentAdapter.startDate;\r\n if (!(0, _type.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\nexports.getAppointmentTakesAllDay = getAppointmentTakesAllDay;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/scheduler/appointment_edit_form/popup_config.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.isPopupFullScreenNeeded = exports.getPopupToolbarItems = exports.getPopupSize = exports.getMaxWidth = exports.defaultAnimation = exports.POPUP_WIDTH = void 0;\r\nvar _message = _interopRequireDefault(require(\"../../../../localization/message\"));\r\nvar _devices = _interopRequireDefault(require(\"../../../../core/devices\"));\r\nvar _size = require(\"../../../../core/utils/size\");\r\nvar _window = require(\"../../../../core/utils/window\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\nvar 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\nexports.POPUP_WIDTH = POPUP_WIDTH;\r\nvar 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\nexports.defaultAnimation = defaultAnimation;\r\nvar isMobile = function() {\r\n return \"desktop\" !== _devices.default.current().deviceType\r\n};\r\nvar isIOSPlatform = function() {\r\n return \"ios\" === _devices.default.current().platform\r\n};\r\nvar TOOLBAR_LOCATION = {\r\n AFTER: \"after\",\r\n BEFORE: \"before\"\r\n};\r\nvar getButtonsConfig = function() {\r\n return {\r\n doneButton: {\r\n shortcut: \"done\",\r\n options: {\r\n text: _message.default.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\n};\r\nvar getPopupToolbarItems = function(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\nexports.getPopupToolbarItems = getPopupToolbarItems;\r\nvar isPopupFullScreenNeeded = function() {\r\n var window = (0, _window.getWindow)();\r\n var width = window && (0, _size.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\nexports.isPopupFullScreenNeeded = isPopupFullScreenNeeded;\r\nvar getMaxWidth = function(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\nexports.getMaxWidth = getMaxWidth;\r\nvar getPopupSize = function(isRecurrence) {\r\n return {\r\n fullScreen: isPopupFullScreenNeeded(),\r\n maxWidth: getMaxWidth(isRecurrence)\r\n }\r\n};\r\nexports.getPopupSize = getPopupSize;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/scheduler/appointments_context.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.AppointmentsContext = void 0;\r\nvar _inferno = require(\"@devextreme/runtime/inferno\");\r\nvar AppointmentsContext = (0, _inferno.createContext)(void 0);\r\nexports.AppointmentsContext = AppointmentsContext;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/scheduler/consts.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.VERTICAL_GROUP_ORIENTATION = exports.HORIZONTAL_GROUP_ORIENTATION = void 0;\r\nvar VERTICAL_GROUP_ORIENTATION = \"vertical\";\r\nexports.VERTICAL_GROUP_ORIENTATION = VERTICAL_GROUP_ORIENTATION;\r\nvar HORIZONTAL_GROUP_ORIENTATION = \"horizontal\";\r\nexports.HORIZONTAL_GROUP_ORIENTATION = HORIZONTAL_GROUP_ORIENTATION;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/scheduler/model/appointments.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.getAppointmentsModel = exports.getAppointmentsConfig = exports.getAppointmentRenderingStrategyName = void 0;\r\nvar _positionHelper = require(\"../../../../ui/scheduler/workspaces/helpers/positionHelper\");\r\nvar _utils = require(\"../../../../ui/scheduler/resources/utils\");\r\nvar _utils2 = require(\"../workspaces/utils\");\r\nvar _date = _interopRequireDefault(require(\"../../../../core/utils/date\"));\r\nvar _base = require(\"../view_model/to_test/views/utils/base\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\nvar toMs = function(name) {\r\n return _date.default.dateToMilliseconds(name)\r\n};\r\nvar getAppointmentRenderingStrategyName = function(viewType) {\r\n var renderingStrategy = {\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].renderingStrategy;\r\n return renderingStrategy\r\n};\r\nexports.getAppointmentRenderingStrategyName = getAppointmentRenderingStrategyName;\r\nvar getAppointmentsConfig = function(schedulerConfig, viewConfig, loadedResources, viewDataProvider, isAllDayPanelSupported) {\r\n var groupCount = (0, _utils.getGroupCount)(loadedResources);\r\n var startViewDate = viewDataProvider.getStartViewDate();\r\n var dateRange = [startViewDate, viewDataProvider.getLastViewDateByEndDayHour(viewConfig.endDayHour)];\r\n return {\r\n adaptivityEnabled: schedulerConfig.adaptivityEnabled,\r\n rtlEnabled: schedulerConfig.rtlEnabled,\r\n resources: schedulerConfig.resources,\r\n timeZone: schedulerConfig.timeZone,\r\n groups: schedulerConfig.groups,\r\n startDayHour: viewConfig.startDayHour,\r\n viewStartDayHour: viewConfig.startDayHour,\r\n endDayHour: viewConfig.endDayHour,\r\n viewEndDayHour: viewConfig.endDayHour,\r\n currentDate: viewConfig.currentDate,\r\n isVirtualScrolling: \"virtual\" === viewConfig.scrolling.mode,\r\n intervalCount: viewConfig.intervalCount,\r\n hoursInterval: viewConfig.hoursInterval,\r\n showAllDayPanel: viewConfig.showAllDayPanel,\r\n allDayPanelMode: viewConfig.allDayPanelMode,\r\n supportAllDayRow: isAllDayPanelSupported,\r\n groupOrientation: viewDataProvider.getViewOptions().groupOrientation,\r\n firstDayOfWeek: viewConfig.firstDayOfWeek,\r\n viewType: viewConfig.type,\r\n cellDurationInMinutes: viewConfig.cellDuration,\r\n maxAppointmentsPerCell: viewConfig.maxAppointmentsPerCell,\r\n isVerticalGroupOrientation: viewDataProvider.getViewOptions().isVerticalGrouping,\r\n groupByDate: viewDataProvider.getViewOptions().isGroupedByDate,\r\n startViewDate: startViewDate,\r\n loadedResources: loadedResources,\r\n appointmentCountPerCell: 2,\r\n appointmentOffset: 26,\r\n allowResizing: false,\r\n allowAllDayResizing: false,\r\n dateTableOffset: 0,\r\n groupCount: groupCount,\r\n dateRange: dateRange\r\n }\r\n};\r\nexports.getAppointmentsConfig = getAppointmentsConfig;\r\nvar getAppointmentsModel = function(appointmentsConfig, viewDataProvider, timeZoneCalculator, dataAccessors, cellsMetaData) {\r\n var groupedByDate = (0, _utils2.isGroupingByDate)(appointmentsConfig.groups, appointmentsConfig.groupOrientation, appointmentsConfig.groupByDate);\r\n var groupCount = appointmentsConfig.groupCount,\r\n isVerticalGroupOrientation = appointmentsConfig.isVerticalGroupOrientation;\r\n var positionHelper = new _positionHelper.PositionHelper({\r\n viewDataProvider: viewDataProvider,\r\n groupedByDate: groupedByDate,\r\n rtlEnabled: appointmentsConfig.rtlEnabled,\r\n groupCount: groupCount,\r\n isVerticalGrouping: groupCount && isVerticalGroupOrientation,\r\n getDOMMetaDataCallback: function() {\r\n return cellsMetaData\r\n }\r\n });\r\n var isGroupedAllDayPanel = (0, _base.calculateIsGroupedAllDayPanel)(appointmentsConfig.loadedResources, appointmentsConfig.groupOrientation, appointmentsConfig.showAllDayPanel);\r\n var rowCount = viewDataProvider.getRowCount({\r\n intervalCount: appointmentsConfig.intervalCount,\r\n currentDate: appointmentsConfig.currentDate,\r\n viewType: appointmentsConfig.viewType,\r\n hoursInterval: appointmentsConfig.hoursInterval,\r\n startDayHour: appointmentsConfig.startDayHour,\r\n endDayHour: appointmentsConfig.endDayHour\r\n });\r\n var allDayHeight = (0, _positionHelper.getAllDayHeight)(appointmentsConfig.showAllDayPanel, appointmentsConfig.isVerticalGroupOrientation, cellsMetaData);\r\n var endViewDate = viewDataProvider.getLastCellEndDate();\r\n var visibleDayDuration = viewDataProvider.getVisibleDayDuration(appointmentsConfig.startDayHour, appointmentsConfig.endDayHour, appointmentsConfig.hoursInterval);\r\n var _viewDataProvider$get = viewDataProvider.getViewOptions(),\r\n leftVirtualCellCount = _viewDataProvider$get.startCellIndex,\r\n topVirtualRowCount = _viewDataProvider$get.startRowIndex;\r\n var cellDuration = (0, _base.getCellDuration)(appointmentsConfig.viewType, appointmentsConfig.startDayHour, appointmentsConfig.endDayHour, appointmentsConfig.hoursInterval);\r\n var appointmentRenderingStrategyName = getAppointmentRenderingStrategyName(appointmentsConfig.viewType);\r\n return _extends({}, appointmentsConfig, {\r\n appointmentRenderingStrategyName: appointmentRenderingStrategyName,\r\n loadedResources: appointmentsConfig.loadedResources,\r\n dataAccessors: dataAccessors,\r\n timeZoneCalculator: timeZoneCalculator,\r\n viewDataProvider: viewDataProvider,\r\n positionHelper: positionHelper,\r\n isGroupedAllDayPanel: isGroupedAllDayPanel,\r\n rowCount: rowCount,\r\n cellWidth: (0, _positionHelper.getCellWidth)(cellsMetaData),\r\n cellHeight: (0, _positionHelper.getCellHeight)(cellsMetaData),\r\n allDayHeight: allDayHeight,\r\n isGroupedByDate: groupedByDate,\r\n endViewDate: endViewDate,\r\n visibleDayDuration: visibleDayDuration,\r\n intervalDuration: cellDuration,\r\n allDayIntervalDuration: toMs(\"day\"),\r\n leftVirtualCellCount: leftVirtualCellCount,\r\n topVirtualCellCount: topVirtualRowCount,\r\n cellDuration: cellDuration,\r\n resizableStep: positionHelper.getResizableStep(),\r\n DOMMetaData: cellsMetaData\r\n })\r\n};\r\nexports.getAppointmentsModel = getAppointmentsModel;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/scheduler/model/views.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.getValidGroups = exports.getCurrentViewProps = exports.getCurrentViewConfig = exports.getCurrentView = void 0;\r\nexports.getViewConfigProp = getViewConfigProp;\r\nvar _type = require(\"../../../../core/utils/type\");\r\nvar _excluded = [\"height\", \"scrolling\", \"width\"];\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\n\r\nfunction _objectWithoutProperties(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = _objectWithoutPropertiesLoose(source, excluded);\r\n var key, i;\r\n if (Object.getOwnPropertySymbols) {\r\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\r\n for (i = 0; i < sourceSymbolKeys.length; i++) {\r\n key = sourceSymbolKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n }\r\n return target\r\n}\r\n\r\nfunction _objectWithoutPropertiesLoose(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = {};\r\n var sourceKeys = Object.keys(source);\r\n var key, i;\r\n for (i = 0; i < sourceKeys.length; i++) {\r\n key = sourceKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n return target\r\n}\r\n\r\nfunction _slicedToArray(arr, i) {\r\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest()\r\n}\r\n\r\nfunction _nonIterableRest() {\r\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _unsupportedIterableToArray(o, minLen) {\r\n if (!o) {\r\n return\r\n }\r\n if (\"string\" === typeof o) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n var n = Object.prototype.toString.call(o).slice(8, -1);\r\n if (\"Object\" === n && o.constructor) {\r\n n = o.constructor.name\r\n }\r\n if (\"Map\" === n || \"Set\" === n) {\r\n return Array.from(o)\r\n }\r\n if (\"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n}\r\n\r\nfunction _arrayLikeToArray(arr, len) {\r\n if (null == len || len > arr.length) {\r\n len = arr.length\r\n }\r\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\r\n arr2[i] = arr[i]\r\n }\r\n return arr2\r\n}\r\n\r\nfunction _iterableToArrayLimit(arr, i) {\r\n var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"];\r\n if (null != _i) {\r\n var _s, _e, _x, _r, _arr = [],\r\n _n = !0,\r\n _d = !1;\r\n try {\r\n if (_x = (_i = _i.call(arr)).next, 0 === i) {\r\n if (Object(_i) !== _i) {\r\n return\r\n }\r\n _n = !1\r\n } else {\r\n for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) {}\r\n }\r\n } catch (err) {\r\n _d = !0, _e = err\r\n } finally {\r\n try {\r\n if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) {\r\n return\r\n }\r\n } finally {\r\n if (_d) {\r\n throw _e\r\n }\r\n }\r\n }\r\n return _arr\r\n }\r\n}\r\n\r\nfunction _arrayWithHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return arr\r\n }\r\n}\r\nvar VIEW_TYPES = [\"day\", \"week\", \"workWeek\", \"month\", \"timelineDay\", \"timelineWeek\", \"timelineWorkWeek\", \"timelineMonth\", \"agenda\"];\r\nvar getCurrentView = function(currentView, views) {\r\n var currentViewProps = views.find((function(view) {\r\n var names = (0, _type.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 var _views = _slicedToArray(views, 1);\r\n currentViewProps = _views[0]\r\n }\r\n }\r\n return currentViewProps\r\n};\r\nexports.getCurrentView = getCurrentView;\r\nvar getCurrentViewProps = function(currentView, views) {\r\n var currentViewProps = getCurrentView(currentView, views);\r\n return (0, _type.isString)(currentViewProps) ? {\r\n type: currentViewProps\r\n } : currentViewProps\r\n};\r\nexports.getCurrentViewProps = getCurrentViewProps;\r\n\r\nfunction getViewConfigProp(schedulerProp, viewProp) {\r\n return void 0 !== viewProp ? viewProp : schedulerProp\r\n}\r\nvar getCurrentViewConfig = function(currentViewProps, schedulerProps, currentDate) {\r\n schedulerProps.height;\r\n var schedulerScrolling = schedulerProps.scrolling,\r\n restSchedulerProps = (schedulerProps.width, _objectWithoutProperties(schedulerProps, _excluded));\r\n var scrolling = currentViewProps.scrolling;\r\n var isVirtualScrolling = \"virtual\" === schedulerScrolling.mode || \"virtual\" === (null === scrolling || void 0 === scrolling ? void 0 : scrolling.mode);\r\n var crossScrollingEnabled = schedulerProps.crossScrollingEnabled || isVirtualScrolling;\r\n var result = _extends({\r\n scrolling: schedulerScrolling\r\n }, restSchedulerProps, currentViewProps, {\r\n schedulerHeight: schedulerProps.height,\r\n schedulerWidth: schedulerProps.width,\r\n crossScrollingEnabled: crossScrollingEnabled,\r\n appointmentTemplate: currentViewProps.appointmentTemplate || restSchedulerProps.appointmentTemplate,\r\n dataCellTemplate: currentViewProps.dataCellTemplate || restSchedulerProps.dataCellTemplate,\r\n dateCellTemplate: currentViewProps.dateCellTemplate || restSchedulerProps.dateCellTemplate,\r\n timeCellTemplate: currentViewProps.timeCellTemplate || restSchedulerProps.timeCellTemplate,\r\n resourceCellTemplate: currentViewProps.resourceCellTemplate || restSchedulerProps.resourceCellTemplate,\r\n appointmentCollectorTemplate: currentViewProps.appointmentCollectorTemplate || restSchedulerProps.appointmentCollectorTemplate,\r\n appointmentTooltipTemplate: currentViewProps.appointmentTooltipTemplate || restSchedulerProps.appointmentTooltipTemplate,\r\n allDayPanelMode: currentViewProps.allDayPanelMode || restSchedulerProps.allDayPanelMode\r\n });\r\n return _extends({}, result, {\r\n hoursInterval: result.cellDuration / 60,\r\n allDayPanelExpanded: true,\r\n allowMultipleCellSelection: true,\r\n currentDate: currentDate\r\n })\r\n};\r\nexports.getCurrentViewConfig = getCurrentViewConfig;\r\nvar getValidGroups = function(schedulerGroups, viewGroups) {\r\n return getViewConfigProp(schedulerGroups, viewGroups)\r\n};\r\nexports.getValidGroups = getValidGroups;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/scheduler/resources/hasResourceValue.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.hasResourceValue = void 0;\r\nvar _type = require(\"../../../../core/utils/type\");\r\nvar _common = require(\"../../../../core/utils/common\");\r\nvar hasResourceValue = function(resourceValues, itemValue) {\r\n return (0, _type.isDefined)(resourceValues.find((function(value) {\r\n return (0, _common.equalByValue)(value, itemValue)\r\n })))\r\n};\r\nexports.hasResourceValue = hasResourceValue;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/scheduler/resources/utils.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.getAppointmentColor = void 0;\r\nvar _utils = require(\"../../../../ui/scheduler/resources/utils\");\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\nvar getAppointmentColor = function(resourceConfig, appointmentConfig) {\r\n return (0, _utils.getAppointmentColor)(_extends({}, resourceConfig, {\r\n dataAccessors: resourceConfig.resourcesDataAccessors\r\n }), appointmentConfig)\r\n};\r\nexports.getAppointmentColor = getAppointmentColor;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/scheduler/timeZoneCalculator/createTimeZoneCalculator.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.createTimeZoneCalculator = void 0;\r\nvar _utils = require(\"./utils\");\r\nvar _utils2 = _interopRequireDefault(require(\"../../../../ui/scheduler/utils.timeZone\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar createTimeZoneCalculator = function(currentTimeZone) {\r\n return new _utils.TimeZoneCalculator({\r\n getClientOffset: function(date) {\r\n return _utils2.default.getClientTimezoneOffset(date)\r\n },\r\n tryGetCommonOffset: function(date) {\r\n return _utils2.default.calculateTimezoneByValue(currentTimeZone, date)\r\n },\r\n tryGetAppointmentOffset: function(date, appointmentTimezone) {\r\n return _utils2.default.calculateTimezoneByValue(appointmentTimezone, date)\r\n }\r\n })\r\n};\r\nexports.createTimeZoneCalculator = createTimeZoneCalculator;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/scheduler/timeZoneCalculator/types.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.PathTimeZoneConversion = void 0;\r\nvar PathTimeZoneConversion;\r\nexports.PathTimeZoneConversion = 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 || (exports.PathTimeZoneConversion = PathTimeZoneConversion = {}));\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/scheduler/timeZoneCalculator/utils.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.TimeZoneCalculator = void 0;\r\nvar _type = require(\"../../../../core/utils/type\");\r\nvar _date = _interopRequireDefault(require(\"../../../../core/utils/date\"));\r\nvar _types = require(\"./types\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar MS_IN_MINUTE = 6e4;\r\nvar MS_IN_HOUR = 60 * MS_IN_MINUTE;\r\nvar TimeZoneCalculator = function() {\r\n function TimeZoneCalculator(options) {\r\n this.options = options\r\n }\r\n var _proto = TimeZoneCalculator.prototype;\r\n _proto.createDate = function(sourceDate, info) {\r\n var date = new Date(sourceDate);\r\n switch (info.path) {\r\n case _types.PathTimeZoneConversion.fromSourceToAppointment:\r\n return this.getConvertedDate(date, info.appointmentTimeZone, true, false);\r\n case _types.PathTimeZoneConversion.fromAppointmentToSource:\r\n return this.getConvertedDate(date, info.appointmentTimeZone, true, true);\r\n case _types.PathTimeZoneConversion.fromSourceToGrid:\r\n return this.getConvertedDate(date, info.appointmentTimeZone, false, false);\r\n case _types.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 _proto.getOffsets = function(date, appointmentTimezone) {\r\n var clientOffset = -this.getClientOffset(date) / _date.default.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: !(0, _type.isDefined)(commonOffset) ? clientOffset : commonOffset,\r\n appointment: \"number\" !== typeof appointmentOffset ? clientOffset : appointmentOffset\r\n }\r\n };\r\n _proto.getConvertedDateByOffsets = function(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 _proto.getOriginStartDateOffsetInMs = function(date, timezone, isUTCDate) {\r\n var offsetInHours = this.getOffsetInHours(date, timezone, isUTCDate);\r\n return offsetInHours * MS_IN_HOUR\r\n };\r\n _proto.getOffsetInHours = function(date, timezone, isUTCDate) {\r\n var _this$getOffsets = this.getOffsets(date, timezone),\r\n appointment = _this$getOffsets.appointment,\r\n client = _this$getOffsets.client,\r\n common = _this$getOffsets.common;\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 _proto.getClientOffset = function(date) {\r\n return this.options.getClientOffset(date)\r\n };\r\n _proto.getCommonOffset = function(date) {\r\n return this.options.tryGetCommonOffset(date)\r\n };\r\n _proto.getAppointmentOffset = function(date, appointmentTimezone) {\r\n return this.options.tryGetAppointmentOffset(date, appointmentTimezone)\r\n };\r\n _proto.getConvertedDate = function(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 return TimeZoneCalculator\r\n}();\r\nexports.TimeZoneCalculator = TimeZoneCalculator;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/scheduler/utils/data.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.resolveDataItems = exports.getPreparedDataItems = void 0;\r\nvar _utils = require(\"../../../../ui/scheduler/appointments/dataProvider/utils\");\r\nvar _appointmentAdapter = require(\"../../../../ui/scheduler/appointmentAdapter\");\r\nvar _type = require(\"../../../../core/utils/type\");\r\nvar RECURRENCE_FREQ = \"freq\";\r\nvar getPreparedDataItems = function(dataItems, dataAccessors, cellDurationInMinutes, timeZoneCalculator) {\r\n var result = [];\r\n null === dataItems || void 0 === dataItems ? void 0 : dataItems.forEach((function(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 (0, _utils.replaceWrongEndDate)(rawAppointment, startDate, endDate, cellDurationInMinutes, dataAccessors);\r\n var adapter = (0, _appointmentAdapter.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 = (0, _type.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\nexports.getPreparedDataItems = getPreparedDataItems;\r\nvar resolveDataItems = function(options) {\r\n return Array.isArray(options) ? options : options.data\r\n};\r\nexports.resolveDataItems = resolveDataItems;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/scheduler/utils/filtering/getDatesWithoutTime.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _date = _interopRequireDefault(require(\"../../../../../core/utils/date\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar getDatesWithoutTime = function(min, max) {\r\n var newMin = _date.default.trimTime(min);\r\n var newMax = _date.default.trimTime(max);\r\n newMax.setDate(newMax.getDate() + 1);\r\n return [newMin, newMax]\r\n};\r\nvar _default = getDatesWithoutTime;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/scheduler/utils/filtering/remote.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _common = require(\"../../../../../core/utils/common\");\r\nvar _extend = require(\"../../../../../core/utils/extend\");\r\nvar _date_serialization = _interopRequireDefault(require(\"../../../../../core/utils/date_serialization\"));\r\nvar _type = require(\"../../../../../core/utils/type\");\r\nvar _getDatesWithoutTime3 = _interopRequireDefault(require(\"./getDatesWithoutTime\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\n\r\nfunction _slicedToArray(arr, i) {\r\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest()\r\n}\r\n\r\nfunction _nonIterableRest() {\r\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _unsupportedIterableToArray(o, minLen) {\r\n if (!o) {\r\n return\r\n }\r\n if (\"string\" === typeof o) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n var n = Object.prototype.toString.call(o).slice(8, -1);\r\n if (\"Object\" === n && o.constructor) {\r\n n = o.constructor.name\r\n }\r\n if (\"Map\" === n || \"Set\" === n) {\r\n return Array.from(o)\r\n }\r\n if (\"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n}\r\n\r\nfunction _arrayLikeToArray(arr, len) {\r\n if (null == len || len > arr.length) {\r\n len = arr.length\r\n }\r\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\r\n arr2[i] = arr[i]\r\n }\r\n return arr2\r\n}\r\n\r\nfunction _iterableToArrayLimit(arr, i) {\r\n var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"];\r\n if (null != _i) {\r\n var _s, _e, _x, _r, _arr = [],\r\n _n = !0,\r\n _d = !1;\r\n try {\r\n if (_x = (_i = _i.call(arr)).next, 0 === i) {\r\n if (Object(_i) !== _i) {\r\n return\r\n }\r\n _n = !1\r\n } else {\r\n for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) {}\r\n }\r\n } catch (err) {\r\n _d = !0, _e = err\r\n } finally {\r\n try {\r\n if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) {\r\n return\r\n }\r\n } finally {\r\n if (_d) {\r\n throw _e\r\n }\r\n }\r\n }\r\n return _arr\r\n }\r\n}\r\n\r\nfunction _arrayWithHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return arr\r\n }\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\nvar FilterPosition = {\r\n dateFilter: 0,\r\n userFilter: 1\r\n};\r\nvar RemoteFilterCombiner = function() {\r\n function RemoteFilterCombiner(options) {\r\n this.options = options\r\n }\r\n var _proto = RemoteFilterCombiner.prototype;\r\n _proto.makeDateFilter = function(min, max) {\r\n var _this$dataAccessors$e = this.dataAccessors.expr,\r\n endDateExpr = _this$dataAccessors$e.endDateExpr,\r\n recurrenceRuleExpr = _this$dataAccessors$e.recurrenceRuleExpr,\r\n startDateExpr = _this$dataAccessors$e.startDateExpr;\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 _proto.combineFilters = function(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 _proto.serializeRemoteFilter = function(combinedFilter) {\r\n if (!Array.isArray(combinedFilter)) {\r\n return combinedFilter\r\n }\r\n var _this$dataAccessors$e2 = this.dataAccessors.expr,\r\n endDateExpr = _this$dataAccessors$e2.endDateExpr,\r\n startDateExpr = _this$dataAccessors$e2.startDateExpr;\r\n var filter = (0, _extend.extend)([], combinedFilter);\r\n if ((0, _type.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] = _date_serialization.default.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 _proto.getUserFilter = function(dateFilter) {\r\n if (!this.dataSourceFilter || (0, _common.equalByValue)(this.dataSourceFilter, dateFilter)) {\r\n return\r\n }\r\n var containsDateFilter = this.dataSourceFilter.length > 0 && (0, _common.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 _proto.combine = function(min, max) {\r\n var _getDatesWithoutTime = (0, _getDatesWithoutTime3.default)(min, max),\r\n _getDatesWithoutTime2 = _slicedToArray(_getDatesWithoutTime, 2),\r\n trimMin = _getDatesWithoutTime2[0],\r\n trimMax = _getDatesWithoutTime2[1];\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 _createClass(RemoteFilterCombiner, [{\r\n key: \"dataAccessors\",\r\n get: function() {\r\n return this.options.dataAccessors\r\n }\r\n }, {\r\n key: \"dataSourceFilter\",\r\n get: function() {\r\n return this.options.dataSourceFilter\r\n }\r\n }, {\r\n key: \"dateSerializationFormat\",\r\n get: function() {\r\n return this.options.dateSerializationFormat\r\n }\r\n }, {\r\n key: \"forceIsoDateParsing\",\r\n get: function() {\r\n return (0, _type.isDefined)(this.options.forceIsoDateParsing) ? this.options.forceIsoDateParsing : true\r\n }\r\n }]);\r\n return RemoteFilterCombiner\r\n}();\r\nvar combineRemoteFilter = function(options) {\r\n return new RemoteFilterCombiner(options).combine(options.min, options.max)\r\n};\r\nvar _default = combineRemoteFilter;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/scheduler/utils/recurrence/excludeFromRecurrence.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.excludeFromRecurrence = void 0;\r\nvar _appointmentAdapter = require(\"../../../../../ui/scheduler/appointmentAdapter\");\r\nvar _date_serialization = _interopRequireDefault(require(\"../../../../../core/utils/date_serialization\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\nvar FULL_DATE_FORMAT = \"yyyyMMddTHHmmss\";\r\nvar UTC_FULL_DATE_FORMAT = \"\".concat(FULL_DATE_FORMAT, \"Z\");\r\nvar getSerializedDate = function(date, startDate, isAllDay) {\r\n if (isAllDay) {\r\n date.setHours(startDate.getHours(), startDate.getMinutes(), startDate.getSeconds(), startDate.getMilliseconds())\r\n }\r\n return _date_serialization.default.serializeDate(date, UTC_FULL_DATE_FORMAT)\r\n};\r\nvar createRecurrenceException = function(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\nvar excludeFromRecurrence = function(appointment, exceptionDate, dataAccessors, timeZoneCalculator) {\r\n var appointmentAdapter = (0, _appointmentAdapter.createAppointmentAdapter)(_extends({}, appointment), dataAccessors, timeZoneCalculator);\r\n appointmentAdapter.recurrenceException = createRecurrenceException(appointmentAdapter, exceptionDate);\r\n return appointmentAdapter\r\n};\r\nexports.excludeFromRecurrence = excludeFromRecurrence;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/scheduler/utils/semaphore/semaphore.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.Semaphore = void 0;\r\nvar Semaphore = function() {\r\n function Semaphore() {\r\n this.counter = 0\r\n }\r\n var _proto = Semaphore.prototype;\r\n _proto.isFree = function() {\r\n return 0 === this.counter\r\n };\r\n _proto.take = function() {\r\n this.counter += 1\r\n };\r\n _proto.release = function() {\r\n this.counter -= 1;\r\n if (this.counter < 0) {\r\n this.counter = 0\r\n }\r\n };\r\n return Semaphore\r\n}();\r\nexports.Semaphore = Semaphore;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/scheduler/view_model/appointments/utils/getSkippedHoursInRange.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _date = _interopRequireDefault(require(\"../../../../../../core/utils/date\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar getSkippedHoursInRange = function(startDate, endDate, viewDataProvider) {\r\n var msInHour = _date.default.dateToMilliseconds(\"hour\");\r\n var startTime = _date.default.trimTime(startDate).getTime();\r\n var endTime = _date.default.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\nvar _default = getSkippedHoursInRange;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/scheduler/view_model/group_panel/utils.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.getGroupPanelData = void 0;\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\n\r\nfunction _toConsumableArray(arr) {\r\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread()\r\n}\r\n\r\nfunction _nonIterableSpread() {\r\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _unsupportedIterableToArray(o, minLen) {\r\n if (!o) {\r\n return\r\n }\r\n if (\"string\" === typeof o) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n var n = Object.prototype.toString.call(o).slice(8, -1);\r\n if (\"Object\" === n && o.constructor) {\r\n n = o.constructor.name\r\n }\r\n if (\"Map\" === n || \"Set\" === n) {\r\n return Array.from(o)\r\n }\r\n if (\"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n}\r\n\r\nfunction _iterableToArray(iter) {\r\n if (\"undefined\" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter[\"@@iterator\"]) {\r\n return Array.from(iter)\r\n }\r\n}\r\n\r\nfunction _arrayWithoutHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return _arrayLikeToArray(arr)\r\n }\r\n}\r\n\r\nfunction _arrayLikeToArray(arr, len) {\r\n if (null == len || len > arr.length) {\r\n len = arr.length\r\n }\r\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\r\n arr2[i] = arr[i]\r\n }\r\n return arr2\r\n}\r\nvar extendGroupItemsForGroupingByDate = function(groupRenderItems, columnCountPerGroup) {\r\n return _toConsumableArray(new Array(columnCountPerGroup)).reduce((function(currentGroupItems, _, index) {\r\n return groupRenderItems.map((function(groupsRow, rowIndex) {\r\n var currentRow = currentGroupItems[rowIndex] || [];\r\n return [].concat(_toConsumableArray(currentRow), _toConsumableArray(groupsRow.map((function(item, columnIndex) {\r\n return _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\n }))\r\n }), [])\r\n};\r\nvar getGroupPanelData = function(groups, columnCountPerGroup, groupByDate, baseColSpan) {\r\n var repeatCount = 1;\r\n var groupPanelItems = groups.map((function(group) {\r\n var result = [];\r\n var data = group.data,\r\n items = group.items,\r\n resourceName = group.name;\r\n var _loop = function(iterator) {\r\n result.push.apply(result, _toConsumableArray(items.map((function(_ref, index) {\r\n var color = _ref.color,\r\n id = _ref.id,\r\n text = _ref.text;\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\nexports.getGroupPanelData = getGroupPanelData;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/scheduler/view_model/to_test/views/utils/agenda.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.calculateStartViewDate = void 0;\r\nvar _base = require(\"./base\");\r\nvar calculateStartViewDate = function(currentDate, startDayHour) {\r\n var validCurrentDate = new Date(currentDate);\r\n return (0, _base.setOptionHour)(validCurrentDate, startDayHour)\r\n};\r\nexports.calculateStartViewDate = calculateStartViewDate;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/scheduler/view_model/to_test/views/utils/base.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.validateDayHours = exports.setOptionHour = exports.isTimelineView = exports.isHorizontalView = exports.isDateInRange = exports.isDateAndTimeView = exports.getViewStartByOptions = exports.getVerticalGroupCountClass = exports.getTotalRowCountByCompleteData = exports.getTotalCellCountByCompleteData = exports.getToday = exports.getStartViewDateWithoutDST = exports.getStartViewDateTimeOffset = exports.getHorizontalGroupCount = exports.getHeaderCellText = exports.getDisplayedRowCount = exports.getDisplayedCellCount = exports.getCellDuration = exports.getCalculatedFirstDayOfWeek = exports.formatWeekdayAndDay = exports.formatWeekday = exports.calculateViewStartDate = exports.calculateIsGroupedAllDayPanel = exports.calculateDayDuration = exports.calculateCellIndex = void 0;\r\nvar _ui = _interopRequireDefault(require(\"../../../../../../../ui/widget/ui.errors\"));\r\nvar _date = _interopRequireDefault(require(\"../../../../../../../core/utils/date\"));\r\nvar _type = require(\"../../../../../../../core/utils/type\");\r\nvar _date2 = _interopRequireDefault(require(\"../../../../../../../localization/date\"));\r\nvar _utils = _interopRequireDefault(require(\"../../../../../../../ui/scheduler/utils.timeZone\"));\r\nvar _classes = require(\"../../../../../../../ui/scheduler/classes\");\r\nvar _constants = require(\"../../../../../../../ui/scheduler/constants\");\r\nvar _utils2 = require(\"../../../../../../../ui/scheduler/resources/utils\");\r\nvar _utils3 = require(\"../../../../workspaces/utils\");\r\nvar _const = require(\"./const\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar isDateInRange = function(date, startDate, endDate, diff) {\r\n return diff > 0 ? _date.default.dateInRange(date, startDate, new Date(endDate.getTime() - 1)) : _date.default.dateInRange(date, endDate, startDate, \"date\")\r\n};\r\nexports.isDateInRange = isDateInRange;\r\nvar setOptionHour = function(date, optionHour) {\r\n var nextDate = new Date(date);\r\n if (!(0, _type.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\nexports.setOptionHour = setOptionHour;\r\nvar getViewStartByOptions = function(startDate, currentDate, intervalDuration, startViewDate) {\r\n if (!startDate) {\r\n return new Date(currentDate)\r\n }\r\n var currentStartDate = _date.default.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\nexports.getViewStartByOptions = getViewStartByOptions;\r\nvar getCalculatedFirstDayOfWeek = function(firstDayOfWeekOption) {\r\n return (0, _type.isDefined)(firstDayOfWeekOption) ? firstDayOfWeekOption : _date2.default.firstDayOfWeekIndex()\r\n};\r\nexports.getCalculatedFirstDayOfWeek = getCalculatedFirstDayOfWeek;\r\nvar calculateViewStartDate = function(startDateOption) {\r\n return startDateOption\r\n};\r\nexports.calculateViewStartDate = calculateViewStartDate;\r\nvar calculateCellIndex = function(rowIndex, columnIndex, rowCount) {\r\n return columnIndex * rowCount + rowIndex\r\n};\r\nexports.calculateCellIndex = calculateCellIndex;\r\nvar getStartViewDateWithoutDST = function(startViewDate, startDayHour) {\r\n var newStartViewDate = _utils.default.getDateWithoutTimezoneChange(startViewDate);\r\n newStartViewDate.setHours(startDayHour);\r\n return newStartViewDate\r\n};\r\nexports.getStartViewDateWithoutDST = getStartViewDateWithoutDST;\r\nvar getHeaderCellText = function(headerIndex, date, headerCellTextFormat, getDateForHeaderText, additionalOptions) {\r\n var validDate = getDateForHeaderText(headerIndex, date, additionalOptions);\r\n return _date2.default.format(validDate, headerCellTextFormat)\r\n};\r\nexports.getHeaderCellText = getHeaderCellText;\r\nvar validateDayHours = function(startDayHour, endDayHour) {\r\n if (startDayHour >= endDayHour) {\r\n throw _ui.default.Error(\"E1058\")\r\n }\r\n};\r\nexports.validateDayHours = validateDayHours;\r\nvar getStartViewDateTimeOffset = function(startViewDate, startDayHour) {\r\n var validStartDayHour = Math.floor(startDayHour);\r\n var isDSTChange = _utils.default.isTimezoneChangeInDate(startViewDate);\r\n if (isDSTChange && validStartDayHour !== startViewDate.getHours()) {\r\n return _date.default.dateToMilliseconds(\"hour\")\r\n }\r\n return 0\r\n};\r\nexports.getStartViewDateTimeOffset = getStartViewDateTimeOffset;\r\nvar formatWeekday = function(date) {\r\n return _date2.default.getDayNames(\"abbreviated\")[date.getDay()]\r\n};\r\nexports.formatWeekday = formatWeekday;\r\nvar formatWeekdayAndDay = function(date) {\r\n return \"\".concat(formatWeekday(date), \" \").concat(_date2.default.format(date, \"day\"))\r\n};\r\nexports.formatWeekdayAndDay = formatWeekdayAndDay;\r\nvar getToday = function(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\nexports.getToday = getToday;\r\nvar getVerticalGroupCountClass = function(groups) {\r\n switch (null === groups || void 0 === groups ? void 0 : groups.length) {\r\n case 1:\r\n return _classes.VERTICAL_GROUP_COUNT_CLASSES[0];\r\n case 2:\r\n return _classes.VERTICAL_GROUP_COUNT_CLASSES[1];\r\n case 3:\r\n return _classes.VERTICAL_GROUP_COUNT_CLASSES[2];\r\n default:\r\n return\r\n }\r\n};\r\nexports.getVerticalGroupCountClass = getVerticalGroupCountClass;\r\nvar isDateAndTimeView = function(viewType) {\r\n return viewType !== _constants.VIEWS.TIMELINE_MONTH && viewType !== _constants.VIEWS.MONTH\r\n};\r\nexports.isDateAndTimeView = isDateAndTimeView;\r\nvar isTimelineView = function(viewType) {\r\n return !!_const.TIMELINE_VIEWS[viewType]\r\n};\r\nexports.isTimelineView = isTimelineView;\r\nvar getHorizontalGroupCount = function(groups, groupOrientation) {\r\n var groupCount = (0, _utils2.getGroupCount)(groups) || 1;\r\n var isVerticalGrouping = (0, _utils3.isVerticalGroupingApplied)(groups, groupOrientation);\r\n return isVerticalGrouping ? 1 : groupCount\r\n};\r\nexports.getHorizontalGroupCount = getHorizontalGroupCount;\r\nvar calculateIsGroupedAllDayPanel = function(groups, groupOrientation, isAllDayPanelVisible) {\r\n return (0, _utils3.isVerticalGroupingApplied)(groups, groupOrientation) && isAllDayPanelVisible\r\n};\r\nexports.calculateIsGroupedAllDayPanel = calculateIsGroupedAllDayPanel;\r\nvar calculateDayDuration = function(startDayHour, endDayHour) {\r\n return endDayHour - startDayHour\r\n};\r\nexports.calculateDayDuration = calculateDayDuration;\r\nvar isHorizontalView = function(viewType) {\r\n switch (viewType) {\r\n case _constants.VIEWS.TIMELINE_DAY:\r\n case _constants.VIEWS.TIMELINE_WEEK:\r\n case _constants.VIEWS.TIMELINE_WORK_WEEK:\r\n case _constants.VIEWS.TIMELINE_MONTH:\r\n case _constants.VIEWS.MONTH:\r\n return true;\r\n default:\r\n return false\r\n }\r\n};\r\nexports.isHorizontalView = isHorizontalView;\r\nvar getTotalCellCountByCompleteData = function(completeData) {\r\n return completeData[completeData.length - 1].length\r\n};\r\nexports.getTotalCellCountByCompleteData = getTotalCellCountByCompleteData;\r\nvar getTotalRowCountByCompleteData = function(completeData) {\r\n return completeData.length\r\n};\r\nexports.getTotalRowCountByCompleteData = getTotalRowCountByCompleteData;\r\nvar getDisplayedCellCount = function(displayedCellCount, completeData) {\r\n return null !== displayedCellCount && void 0 !== displayedCellCount ? displayedCellCount : getTotalCellCountByCompleteData(completeData)\r\n};\r\nexports.getDisplayedCellCount = getDisplayedCellCount;\r\nvar getDisplayedRowCount = function(displayedRowCount, completeData) {\r\n return null !== displayedRowCount && void 0 !== displayedRowCount ? displayedRowCount : getTotalRowCountByCompleteData(completeData)\r\n};\r\nexports.getDisplayedRowCount = getDisplayedRowCount;\r\nvar getCellDuration = function(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 _date.default.dateToMilliseconds(\"day\");\r\n default:\r\n return 36e5 * hoursInterval\r\n }\r\n};\r\nexports.getCellDuration = getCellDuration;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/scheduler/view_model/to_test/views/utils/const.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.VIEWS = exports.TIMELINE_VIEWS = void 0;\r\nvar 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\nexports.VIEWS = VIEWS;\r\nvar TIMELINE_VIEWS = {\r\n timelineDay: true,\r\n timelineWeek: true,\r\n timelineWorkWeek: true,\r\n timelineMonth: true\r\n};\r\nexports.TIMELINE_VIEWS = TIMELINE_VIEWS;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/scheduler/view_model/to_test/views/utils/day.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.calculateStartViewDate = void 0;\r\nvar _base = require(\"./base\");\r\nvar calculateStartViewDate = function(currentDate, startDayHour, startDate, intervalDuration) {\r\n var firstViewDate = (0, _base.getViewStartByOptions)(startDate, currentDate, intervalDuration, startDate);\r\n return (0, _base.setOptionHour)(firstViewDate, startDayHour)\r\n};\r\nexports.calculateStartViewDate = calculateStartViewDate;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/scheduler/view_model/to_test/views/utils/month.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.isFirstCellInMonthWithIntervalCount = exports.getViewStartByOptions = exports.getCellText = exports.calculateStartViewDate = exports.calculateCellIndex = void 0;\r\nvar _date = _interopRequireDefault(require(\"../../../../../../../core/utils/date\"));\r\nvar _date2 = _interopRequireDefault(require(\"../../../../../../../localization/date\"));\r\nvar _base = require(\"./base\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar getViewStartByOptions = function(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 (!(0, _base.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\nexports.getViewStartByOptions = getViewStartByOptions;\r\nvar calculateStartViewDate = function(currentDate, startDayHour, startDate, intervalCount, firstDayOfWeekOption) {\r\n var viewStart = getViewStartByOptions(startDate, currentDate, intervalCount, _date.default.getFirstMonthDate(startDate));\r\n var firstMonthDate = _date.default.getFirstMonthDate(viewStart);\r\n var firstDayOfWeek = (0, _base.getCalculatedFirstDayOfWeek)(firstDayOfWeekOption);\r\n var firstViewDate = _date.default.getFirstWeekDate(firstMonthDate, firstDayOfWeek);\r\n return (0, _base.setOptionHour)(firstViewDate, startDayHour)\r\n};\r\nexports.calculateStartViewDate = calculateStartViewDate;\r\nvar calculateCellIndex = function(rowIndex, columnIndex, _, columnCount) {\r\n return rowIndex * columnCount + columnIndex\r\n};\r\nexports.calculateCellIndex = calculateCellIndex;\r\nvar isFirstCellInMonthWithIntervalCount = function(cellDate, intervalCount) {\r\n return 1 === cellDate.getDate() && intervalCount > 1\r\n};\r\nexports.isFirstCellInMonthWithIntervalCount = isFirstCellInMonthWithIntervalCount;\r\nvar getCellText = function(date, intervalCount) {\r\n if (isFirstCellInMonthWithIntervalCount(date, intervalCount)) {\r\n var monthName = _date2.default.getMonthNames(\"abbreviated\")[date.getMonth()];\r\n return [monthName, _date2.default.format(date, \"day\")].join(\" \")\r\n }\r\n return _date2.default.format(date, \"dd\")\r\n};\r\nexports.getCellText = getCellText;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/scheduler/view_model/to_test/views/utils/timeline_month.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.calculateStartViewDate = void 0;\r\nvar _date = _interopRequireDefault(require(\"../../../../../../../core/utils/date\"));\r\nvar _base = require(\"./base\");\r\nvar _month = require(\"./month\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar calculateStartViewDate = function(currentDate, startDayHour, startDate, intervalCount) {\r\n var firstViewDate = _date.default.getFirstMonthDate((0, _month.getViewStartByOptions)(startDate, currentDate, intervalCount, _date.default.getFirstMonthDate(startDate)));\r\n return (0, _base.setOptionHour)(firstViewDate, startDayHour)\r\n};\r\nexports.calculateStartViewDate = calculateStartViewDate;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/scheduler/view_model/to_test/views/utils/timeline_week.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.getDateForHeaderText = void 0;\r\nvar _utils = _interopRequireDefault(require(\"../../../../../../../ui/scheduler/utils.timeZone\"));\r\nvar _base = require(\"./base\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar getDateForHeaderText = function(index, date, options) {\r\n if (!_utils.default.isTimezoneChangeInDate(date)) {\r\n return date\r\n }\r\n var cellCountInDay = options.cellCountInDay,\r\n interval = options.interval,\r\n startDayHour = options.startDayHour,\r\n startViewDate = options.startViewDate;\r\n var result = (0, _base.getStartViewDateWithoutDST)(startViewDate, startDayHour);\r\n var validIndex = index % cellCountInDay;\r\n result.setTime(result.getTime() + validIndex * interval);\r\n return result\r\n};\r\nexports.getDateForHeaderText = getDateForHeaderText;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/scheduler/view_model/to_test/views/utils/week.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.getValidStartDate = exports.getTimePanelCellText = exports.getIntervalDuration = exports.calculateViewStartDate = exports.calculateStartViewDate = void 0;\r\nvar _date = _interopRequireDefault(require(\"../../../../../../../core/utils/date\"));\r\nvar _date2 = _interopRequireDefault(require(\"../../../../../../../localization/date\"));\r\nvar _base = require(\"./base\");\r\nvar _utils = _interopRequireDefault(require(\"../../../../../../../ui/scheduler/utils.timeZone\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar getIntervalDuration = function(intervalCount) {\r\n return 7 * _date.default.dateToMilliseconds(\"day\") * intervalCount\r\n};\r\nexports.getIntervalDuration = getIntervalDuration;\r\nvar getValidStartDate = function(startDate, firstDayOfWeek) {\r\n return startDate ? _date.default.getFirstWeekDate(startDate, firstDayOfWeek) : void 0\r\n};\r\nexports.getValidStartDate = getValidStartDate;\r\nvar calculateStartViewDate = function(currentDate, startDayHour, startDate, intervalDuration, firstDayOfWeekOption) {\r\n var firstDayOfWeek = (0, _base.getCalculatedFirstDayOfWeek)(firstDayOfWeekOption);\r\n var viewStart = (0, _base.getViewStartByOptions)(startDate, currentDate, intervalDuration, getValidStartDate(startDate, firstDayOfWeek));\r\n var firstViewDate = _date.default.getFirstWeekDate(viewStart, firstDayOfWeek);\r\n return (0, _base.setOptionHour)(firstViewDate, startDayHour)\r\n};\r\nexports.calculateStartViewDate = calculateStartViewDate;\r\nvar calculateViewStartDate = function(startDateOption, firstDayOfWeek) {\r\n var validFirstDayOfWeek = null !== firstDayOfWeek && void 0 !== firstDayOfWeek ? firstDayOfWeek : _date2.default.firstDayOfWeekIndex();\r\n return _date.default.getFirstWeekDate(startDateOption, validFirstDayOfWeek)\r\n};\r\nexports.calculateViewStartDate = calculateViewStartDate;\r\nvar getTimeCellDate = function(rowIndex, date, startViewDate, cellDuration, startDayHour) {\r\n if (!_utils.default.isTimezoneChangeInDate(date)) {\r\n return date\r\n }\r\n var startViewDateWithoutDST = _utils.default.getDateWithoutTimezoneChange(startViewDate);\r\n var result = new Date(startViewDateWithoutDST);\r\n var timeCellDuration = Math.round(cellDuration);\r\n var startViewDateOffset = (0, _base.getStartViewDateTimeOffset)(startViewDate, startDayHour);\r\n result.setMilliseconds(result.getMilliseconds() + timeCellDuration * rowIndex - startViewDateOffset);\r\n return result\r\n};\r\nvar getTimePanelCellText = function(rowIndex, date, startViewDate, cellDuration, startDayHour) {\r\n if (rowIndex % 2 === 0) {\r\n var validDate = getTimeCellDate(rowIndex, date, startViewDate, cellDuration, startDayHour);\r\n return _date2.default.format(validDate, \"shorttime\")\r\n }\r\n return \"\"\r\n};\r\nexports.getTimePanelCellText = getTimePanelCellText;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/scheduler/view_model/to_test/views/utils/work_week.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.isDataOnWeekend = exports.getWeekendsCount = exports.calculateStartViewDate = void 0;\r\nvar _date = _interopRequireDefault(require(\"../../../../../../../core/utils/date\"));\r\nvar _base = require(\"./base\");\r\nvar _week = require(\"./week\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar SATURDAY_INDEX = 6;\r\nvar SUNDAY_INDEX = 0;\r\nvar MONDAY_INDEX = 1;\r\nvar DAYS_IN_WEEK = 7;\r\nvar isDataOnWeekend = function(date) {\r\n var day = date.getDay();\r\n return day === SATURDAY_INDEX || day === SUNDAY_INDEX\r\n};\r\nexports.isDataOnWeekend = isDataOnWeekend;\r\nvar getWeekendsCount = function(days) {\r\n return 2 * Math.floor(days / 7)\r\n};\r\nexports.getWeekendsCount = getWeekendsCount;\r\nvar calculateStartViewDate = function(currentDate, startDayHour, startDate, intervalDuration, firstDayOfWeek) {\r\n var viewStart = (0, _base.getViewStartByOptions)(startDate, currentDate, intervalDuration, (0, _week.getValidStartDate)(startDate, firstDayOfWeek));\r\n var firstViewDate = _date.default.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 (0, _base.setOptionHour)(firstViewDate, startDayHour)\r\n};\r\nexports.calculateStartViewDate = calculateStartViewDate;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/scheduler/workspaces/base/cell.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.viewFunction = exports.CellBaseProps = exports.CellBase = void 0;\r\nvar _inferno = require(\"inferno\");\r\nvar _inferno2 = require(\"@devextreme/runtime/inferno\");\r\nvar _utils = require(\"../utils\");\r\nvar _excluded = [\"allDay\", \"ariaLabel\", \"children\", \"className\", \"contentTemplateProps\", \"endDate\", \"groupIndex\", \"groups\", \"index\", \"isFirstGroupCell\", \"isLastGroupCell\", \"startDate\", \"text\"];\r\n\r\nfunction _objectWithoutProperties(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = _objectWithoutPropertiesLoose(source, excluded);\r\n var key, i;\r\n if (Object.getOwnPropertySymbols) {\r\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\r\n for (i = 0; i < sourceSymbolKeys.length; i++) {\r\n key = sourceSymbolKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n }\r\n return target\r\n}\r\n\r\nfunction _objectWithoutPropertiesLoose(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = {};\r\n var sourceKeys = Object.keys(source);\r\n var key, i;\r\n for (i = 0; i < sourceKeys.length; i++) {\r\n key = sourceKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n return target\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar viewFunction = function(viewModel) {\r\n return (0, _inferno.createVNode)(1, \"td\", viewModel.classes, viewModel.props.children, 0, {\r\n \"aria-label\": viewModel.props.ariaLabel\r\n })\r\n};\r\nexports.viewFunction = viewFunction;\r\nvar 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\nexports.CellBaseProps = CellBaseProps;\r\nvar CellBase = function(_BaseInfernoComponent) {\r\n _inheritsLoose(CellBase, _BaseInfernoComponent);\r\n\r\n function CellBase(props) {\r\n var _this;\r\n _this = _BaseInfernoComponent.call(this, props) || this;\r\n _this.state = {};\r\n return _this\r\n }\r\n var _proto = CellBase.prototype;\r\n _proto.render = function() {\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 _createClass(CellBase, [{\r\n key: \"classes\",\r\n get: function() {\r\n var _this$props = this.props,\r\n className = _this$props.className,\r\n isFirstGroupCell = _this$props.isFirstGroupCell,\r\n isLastGroupCell = _this$props.isLastGroupCell;\r\n return (0, _utils.getGroupCellClasses)(isFirstGroupCell, isLastGroupCell, className)\r\n }\r\n }, {\r\n key: \"restAttributes\",\r\n get: function() {\r\n var _this$props2 = this.props,\r\n restProps = (_this$props2.allDay, _this$props2.ariaLabel, _this$props2.children, _this$props2.className, _this$props2.contentTemplateProps, _this$props2.endDate, _this$props2.groupIndex, _this$props2.groups, _this$props2.index, _this$props2.isFirstGroupCell, _this$props2.isLastGroupCell, _this$props2.startDate, _this$props2.text, _objectWithoutProperties(_this$props2, _excluded));\r\n return restProps\r\n }\r\n }]);\r\n return CellBase\r\n}(_inferno2.BaseInfernoComponent);\r\nexports.CellBase = CellBase;\r\nCellBase.defaultProps = CellBaseProps;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/scheduler/workspaces/base/date_table/all_day_panel/cell.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.viewFunction = exports.AllDayPanelCell = void 0;\r\nvar _inferno = require(\"inferno\");\r\nvar _inferno2 = require(\"@devextreme/runtime/inferno\");\r\nvar _const = require(\"../../../const\");\r\nvar _cell = require(\"../cell\");\r\nvar _excluded = [\"allDay\", \"ariaLabel\", \"children\", \"className\", \"contentTemplateProps\", \"dataCellTemplate\", \"endDate\", \"firstDayOfMonth\", \"groupIndex\", \"groups\", \"index\", \"isFirstGroupCell\", \"isFocused\", \"isLastGroupCell\", \"isSelected\", \"otherMonth\", \"startDate\", \"text\", \"today\"];\r\n\r\nfunction _objectWithoutProperties(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = _objectWithoutPropertiesLoose(source, excluded);\r\n var key, i;\r\n if (Object.getOwnPropertySymbols) {\r\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\r\n for (i = 0; i < sourceSymbolKeys.length; i++) {\r\n key = sourceSymbolKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n }\r\n return target\r\n}\r\n\r\nfunction _objectWithoutPropertiesLoose(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = {};\r\n var sourceKeys = Object.keys(source);\r\n var key, i;\r\n for (i = 0; i < sourceKeys.length; i++) {\r\n key = sourceKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n return target\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\nvar viewFunction = function(_ref) {\r\n var _ref$props = _ref.props,\r\n className = _ref$props.className,\r\n dataCellTemplate = _ref$props.dataCellTemplate,\r\n endDate = _ref$props.endDate,\r\n groupIndex = _ref$props.groupIndex,\r\n groups = _ref$props.groups,\r\n index = _ref$props.index,\r\n isFirstGroupCell = _ref$props.isFirstGroupCell,\r\n isFocused = _ref$props.isFocused,\r\n isLastGroupCell = _ref$props.isLastGroupCell,\r\n isSelected = _ref$props.isSelected,\r\n startDate = _ref$props.startDate;\r\n return (0, _inferno.createComponentVNode)(2, _cell.DateTableCellBase, {\r\n className: \"\".concat(_const.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\nexports.viewFunction = viewFunction;\r\nvar getTemplate = function(TemplateProp) {\r\n return TemplateProp && (TemplateProp.defaultProps ? function(props) {\r\n return (0, _inferno.normalizeProps)((0, _inferno.createComponentVNode)(2, TemplateProp, _extends({}, props)))\r\n } : TemplateProp)\r\n};\r\nvar AllDayPanelCell = function(_BaseInfernoComponent) {\r\n _inheritsLoose(AllDayPanelCell, _BaseInfernoComponent);\r\n\r\n function AllDayPanelCell(props) {\r\n var _this;\r\n _this = _BaseInfernoComponent.call(this, props) || this;\r\n _this.state = {};\r\n return _this\r\n }\r\n var _proto = AllDayPanelCell.prototype;\r\n _proto.render = function() {\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 _createClass(AllDayPanelCell, [{\r\n key: \"restAttributes\",\r\n get: function() {\r\n var _this$props = this.props,\r\n restProps = (_this$props.allDay, _this$props.ariaLabel, _this$props.children, _this$props.className, _this$props.contentTemplateProps, _this$props.dataCellTemplate, _this$props.endDate, _this$props.firstDayOfMonth, _this$props.groupIndex, _this$props.groups, _this$props.index, _this$props.isFirstGroupCell, _this$props.isFocused, _this$props.isLastGroupCell, _this$props.isSelected, _this$props.otherMonth, _this$props.startDate, _this$props.text, _this$props.today, _objectWithoutProperties(_this$props, _excluded));\r\n return restProps\r\n }\r\n }]);\r\n return AllDayPanelCell\r\n}(_inferno2.BaseInfernoComponent);\r\nexports.AllDayPanelCell = AllDayPanelCell;\r\nAllDayPanelCell.defaultProps = _cell.DateTableCellBaseProps;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/scheduler/workspaces/base/date_table/all_day_panel/table.j.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.default = void 0;\r\nvar _component_registrator = _interopRequireDefault(require(\"../../../../../../../core/component_registrator\"));\r\nvar _date_table = require(\"../../../../../../component_wrapper/scheduler/date_table\");\r\nvar _table = require(\"./table\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar AllDayTable = function(_DateTable) {\r\n _inheritsLoose(AllDayTable, _DateTable);\r\n\r\n function AllDayTable() {\r\n return _DateTable.apply(this, arguments) || this\r\n }\r\n _createClass(AllDayTable, [{\r\n key: \"_propsInfo\",\r\n get: function() {\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 }, {\r\n key: \"_viewComponent\",\r\n get: function() {\r\n return _table.AllDayTable\r\n }\r\n }]);\r\n return AllDayTable\r\n}(_date_table.DateTable);\r\nexports.default = AllDayTable;\r\n(0, _component_registrator.default)(\"dxAllDayTable\", AllDayTable);\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/scheduler/workspaces/base/date_table/all_day_panel/table.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.viewFunction = exports.AllDayTableProps = exports.AllDayTable = void 0;\r\nvar _inferno = require(\"inferno\");\r\nvar _inferno2 = require(\"@devextreme/runtime/inferno\");\r\nvar _table = require(\"../../table\");\r\nvar _table_body = require(\"./table_body\");\r\nvar _layout_props = require(\"../../layout_props\");\r\nvar _const = require(\"../../../const\");\r\nvar _excluded = [\"addDateTableClass\", \"addVerticalSizesClassToRows\", \"bottomVirtualRowHeight\", \"dataCellTemplate\", \"groupOrientation\", \"leftVirtualCellWidth\", \"rightVirtualCellWidth\", \"tableRef\", \"topVirtualRowHeight\", \"viewData\", \"width\"];\r\n\r\nfunction _objectWithoutProperties(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = _objectWithoutPropertiesLoose(source, excluded);\r\n var key, i;\r\n if (Object.getOwnPropertySymbols) {\r\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\r\n for (i = 0; i < sourceSymbolKeys.length; i++) {\r\n key = sourceSymbolKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n }\r\n return target\r\n}\r\n\r\nfunction _objectWithoutPropertiesLoose(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = {};\r\n var sourceKeys = Object.keys(source);\r\n var key, i;\r\n for (i = 0; i < sourceKeys.length; i++) {\r\n key = sourceKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n return target\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\nvar viewFunction = function(_ref) {\r\n var allDayPanelData = _ref.allDayPanelData,\r\n emptyTableHeight = _ref.emptyTableHeight,\r\n _ref$props = _ref.props,\r\n dataCellTemplate = _ref$props.dataCellTemplate,\r\n tableRef = _ref$props.tableRef,\r\n viewData = _ref$props.viewData,\r\n width = _ref$props.width;\r\n return (0, _inferno.createComponentVNode)(2, _table.Table, {\r\n className: \"dx-scheduler-all-day-table\",\r\n height: emptyTableHeight,\r\n width: width,\r\n tableRef: tableRef,\r\n children: (0, _inferno.createComponentVNode)(2, _table_body.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\nexports.viewFunction = viewFunction;\r\nvar AllDayTableProps = _layout_props.LayoutProps;\r\nexports.AllDayTableProps = AllDayTableProps;\r\nvar getTemplate = function(TemplateProp) {\r\n return TemplateProp && (TemplateProp.defaultProps ? function(props) {\r\n return (0, _inferno.normalizeProps)((0, _inferno.createComponentVNode)(2, TemplateProp, _extends({}, props)))\r\n } : TemplateProp)\r\n};\r\nvar AllDayTable = function(_InfernoWrapperCompon) {\r\n _inheritsLoose(AllDayTable, _InfernoWrapperCompon);\r\n\r\n function AllDayTable(props) {\r\n var _this;\r\n _this = _InfernoWrapperCompon.call(this, props) || this;\r\n _this.state = {};\r\n _this.__getterCache = {};\r\n return _this\r\n }\r\n var _proto = AllDayTable.prototype;\r\n _proto.createEffects = function() {\r\n return [(0, _inferno2.createReRenderEffect)()]\r\n };\r\n _proto.componentWillUpdate = function(nextProps, nextState, context) {\r\n _InfernoWrapperCompon.prototype.componentWillUpdate.call(this);\r\n if (this.props.viewData !== nextProps.viewData) {\r\n this.__getterCache.allDayPanelData = void 0\r\n }\r\n };\r\n _proto.render = function() {\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 _createClass(AllDayTable, [{\r\n key: \"allDayPanelData\",\r\n get: function() {\r\n var _this2 = this;\r\n if (void 0 !== this.__getterCache.allDayPanelData) {\r\n return this.__getterCache.allDayPanelData\r\n }\r\n return this.__getterCache.allDayPanelData = _this2.props.viewData.groupedData[0].allDayPanel\r\n }\r\n }, {\r\n key: \"emptyTableHeight\",\r\n get: function() {\r\n return this.allDayPanelData ? void 0 : _const.DefaultSizes.allDayPanelHeight\r\n }\r\n }, {\r\n key: \"restAttributes\",\r\n get: function() {\r\n var _this$props = this.props,\r\n restProps = (_this$props.addDateTableClass, _this$props.addVerticalSizesClassToRows, _this$props.bottomVirtualRowHeight, _this$props.dataCellTemplate, _this$props.groupOrientation, _this$props.leftVirtualCellWidth, _this$props.rightVirtualCellWidth, _this$props.tableRef, _this$props.topVirtualRowHeight, _this$props.viewData, _this$props.width, _objectWithoutProperties(_this$props, _excluded));\r\n return restProps\r\n }\r\n }]);\r\n return AllDayTable\r\n}(_inferno2.InfernoWrapperComponent);\r\nexports.AllDayTable = AllDayTable;\r\nAllDayTable.defaultProps = AllDayTableProps;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/scheduler/workspaces/base/date_table/all_day_panel/table_body.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.viewFunction = exports.AllDayPanelTableBodyProps = exports.AllDayPanelTableBody = void 0;\r\nvar _inferno = require(\"inferno\");\r\nvar _inferno2 = require(\"@devextreme/runtime/inferno\");\r\nvar _row = require(\"../../row\");\r\nvar _cell = require(\"./cell\");\r\nvar _combine_classes = require(\"../../../../../../utils/combine_classes\");\r\nvar _excluded = [\"className\", \"dataCellTemplate\", \"isVerticalGroupOrientation\", \"leftVirtualCellCount\", \"leftVirtualCellWidth\", \"rightVirtualCellCount\", \"rightVirtualCellWidth\", \"viewData\"];\r\n\r\nfunction _objectWithoutProperties(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = _objectWithoutPropertiesLoose(source, excluded);\r\n var key, i;\r\n if (Object.getOwnPropertySymbols) {\r\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\r\n for (i = 0; i < sourceSymbolKeys.length; i++) {\r\n key = sourceSymbolKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n }\r\n return target\r\n}\r\n\r\nfunction _objectWithoutPropertiesLoose(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = {};\r\n var sourceKeys = Object.keys(source);\r\n var key, i;\r\n for (i = 0; i < sourceKeys.length; i++) {\r\n key = sourceKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n return target\r\n}\r\n\r\nfunction _defineProperty(obj, key, value) {\r\n key = _toPropertyKey(key);\r\n if (key in obj) {\r\n Object.defineProperty(obj, key, {\r\n value: value,\r\n enumerable: true,\r\n configurable: true,\r\n writable: true\r\n })\r\n } else {\r\n obj[key] = value\r\n }\r\n return obj\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\nvar viewFunction = function(viewModel) {\r\n return (0, _inferno.createComponentVNode)(2, _row.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((function(_ref) {\r\n var endDate = _ref.endDate,\r\n cellGroupIndex = _ref.groupIndex,\r\n groups = _ref.groups,\r\n cellIndex = _ref.index,\r\n isFirstGroupCell = _ref.isFirstGroupCell,\r\n isFocused = _ref.isFocused,\r\n isLastGroupCell = _ref.isLastGroupCell,\r\n isSelected = _ref.isSelected,\r\n key = _ref.key,\r\n startDate = _ref.startDate;\r\n return (0, _inferno.createComponentVNode)(2, _cell.AllDayPanelCell, {\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\n};\r\nexports.viewFunction = viewFunction;\r\nvar AllDayPanelTableBodyProps = {\r\n viewData: Object.freeze([]),\r\n isVerticalGroupOrientation: false,\r\n className: \"\",\r\n leftVirtualCellWidth: 0,\r\n rightVirtualCellWidth: 0\r\n};\r\nexports.AllDayPanelTableBodyProps = AllDayPanelTableBodyProps;\r\nvar getTemplate = function(TemplateProp) {\r\n return TemplateProp && (TemplateProp.defaultProps ? function(props) {\r\n return (0, _inferno.normalizeProps)((0, _inferno.createComponentVNode)(2, TemplateProp, _extends({}, props)))\r\n } : TemplateProp)\r\n};\r\nvar AllDayPanelTableBody = function(_BaseInfernoComponent) {\r\n _inheritsLoose(AllDayPanelTableBody, _BaseInfernoComponent);\r\n\r\n function AllDayPanelTableBody(props) {\r\n var _this;\r\n _this = _BaseInfernoComponent.call(this, props) || this;\r\n _this.state = {};\r\n return _this\r\n }\r\n var _proto = AllDayPanelTableBody.prototype;\r\n _proto.render = function() {\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 _createClass(AllDayPanelTableBody, [{\r\n key: \"classes\",\r\n get: function() {\r\n var className = this.props.className;\r\n return (0, _combine_classes.combineClasses)(_defineProperty({\r\n \"dx-scheduler-all-day-table-row\": true\r\n }, className, !!className))\r\n }\r\n }, {\r\n key: \"restAttributes\",\r\n get: function() {\r\n var _this$props = this.props,\r\n restProps = (_this$props.className, _this$props.dataCellTemplate, _this$props.isVerticalGroupOrientation, _this$props.leftVirtualCellCount, _this$props.leftVirtualCellWidth, _this$props.rightVirtualCellCount, _this$props.rightVirtualCellWidth, _this$props.viewData, _objectWithoutProperties(_this$props, _excluded));\r\n return restProps\r\n }\r\n }]);\r\n return AllDayPanelTableBody\r\n}(_inferno2.BaseInfernoComponent);\r\nexports.AllDayPanelTableBody = AllDayPanelTableBody;\r\nAllDayPanelTableBody.defaultProps = AllDayPanelTableBodyProps;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/scheduler/workspaces/base/date_table/all_day_panel/title.j.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.default = void 0;\r\nvar _component_registrator = _interopRequireDefault(require(\"../../../../../../../core/component_registrator\"));\r\nvar _component = _interopRequireDefault(require(\"../../../../../../component_wrapper/common/component\"));\r\nvar _title = require(\"./title\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar AllDayPanelTitle = function(_BaseComponent) {\r\n _inheritsLoose(AllDayPanelTitle, _BaseComponent);\r\n\r\n function AllDayPanelTitle() {\r\n return _BaseComponent.apply(this, arguments) || this\r\n }\r\n _createClass(AllDayPanelTitle, [{\r\n key: \"_propsInfo\",\r\n get: function() {\r\n return {\r\n twoWay: [],\r\n allowNull: [],\r\n elements: [],\r\n templates: [],\r\n props: []\r\n }\r\n }\r\n }, {\r\n key: \"_viewComponent\",\r\n get: function() {\r\n return _title.AllDayPanelTitle\r\n }\r\n }]);\r\n return AllDayPanelTitle\r\n}(_component.default);\r\nexports.default = AllDayPanelTitle;\r\n(0, _component_registrator.default)(\"dxAllDayPanelTitle\", AllDayPanelTitle);\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/scheduler/workspaces/base/date_table/all_day_panel/title.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.viewFunction = exports.AllDayPanelTitleProps = exports.AllDayPanelTitle = void 0;\r\nvar _inferno = require(\"inferno\");\r\nvar _inferno2 = require(\"@devextreme/runtime/inferno\");\r\nvar _message = _interopRequireDefault(require(\"../../../../../../../localization/message\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _objectDestructuringEmpty(obj) {\r\n if (null == obj) {\r\n throw new TypeError(\"Cannot destructure \" + obj)\r\n }\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar viewFunction = function(viewModel) {\r\n return (0, _inferno.createVNode)(1, \"div\", \"dx-scheduler-all-day-title\", viewModel.text, 0)\r\n};\r\nexports.viewFunction = viewFunction;\r\nvar AllDayPanelTitleProps = {};\r\nexports.AllDayPanelTitleProps = AllDayPanelTitleProps;\r\nvar AllDayPanelTitle = function(_InfernoWrapperCompon) {\r\n _inheritsLoose(AllDayPanelTitle, _InfernoWrapperCompon);\r\n\r\n function AllDayPanelTitle(props) {\r\n var _this;\r\n _this = _InfernoWrapperCompon.call(this, props) || this;\r\n _this.state = {};\r\n return _this\r\n }\r\n var _proto = AllDayPanelTitle.prototype;\r\n _proto.createEffects = function() {\r\n return [(0, _inferno2.createReRenderEffect)()]\r\n };\r\n _proto.render = function() {\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 _createClass(AllDayPanelTitle, [{\r\n key: \"text\",\r\n get: function() {\r\n return _message.default.format(\"dxScheduler-allDay\")\r\n }\r\n }, {\r\n key: \"restAttributes\",\r\n get: function() {\r\n var restProps = _extends({}, (_objectDestructuringEmpty(this.props), this.props));\r\n return restProps\r\n }\r\n }]);\r\n return AllDayPanelTitle\r\n}(_inferno2.InfernoWrapperComponent);\r\nexports.AllDayPanelTitle = AllDayPanelTitle;\r\nAllDayPanelTitle.defaultProps = AllDayPanelTitleProps;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/scheduler/workspaces/base/date_table/cell.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.viewFunction = exports.DateTableCellBaseProps = exports.DateTableCellBase = void 0;\r\nvar _inferno = require(\"inferno\");\r\nvar _inferno2 = require(\"@devextreme/runtime/inferno\");\r\nvar _cell = require(\"../cell\");\r\nvar _combine_classes = require(\"../../../../../utils/combine_classes\");\r\nvar _const = require(\"../../const\");\r\nvar _excluded = [\"allDay\", \"ariaLabel\", \"children\", \"className\", \"contentTemplateProps\", \"dataCellTemplate\", \"endDate\", \"firstDayOfMonth\", \"groupIndex\", \"groups\", \"index\", \"isFirstGroupCell\", \"isFocused\", \"isLastGroupCell\", \"isSelected\", \"otherMonth\", \"startDate\", \"text\", \"today\"];\r\n\r\nfunction _objectWithoutProperties(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = _objectWithoutPropertiesLoose(source, excluded);\r\n var key, i;\r\n if (Object.getOwnPropertySymbols) {\r\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\r\n for (i = 0; i < sourceSymbolKeys.length; i++) {\r\n key = sourceSymbolKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n }\r\n return target\r\n}\r\n\r\nfunction _objectWithoutPropertiesLoose(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = {};\r\n var sourceKeys = Object.keys(source);\r\n var key, i;\r\n for (i = 0; i < sourceKeys.length; i++) {\r\n key = sourceKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n return target\r\n}\r\n\r\nfunction _defineProperty(obj, key, value) {\r\n key = _toPropertyKey(key);\r\n if (key in obj) {\r\n Object.defineProperty(obj, key, {\r\n value: value,\r\n enumerable: true,\r\n configurable: true,\r\n writable: true\r\n })\r\n } else {\r\n obj[key] = value\r\n }\r\n return obj\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\nvar ADD_APPOINTMENT_LABEL = \"Add appointment\";\r\nvar viewFunction = function(_ref) {\r\n var ariaLabel = _ref.ariaLabel,\r\n classes = _ref.classes,\r\n dataCellTemplateProps = _ref.dataCellTemplateProps,\r\n _ref$props = _ref.props,\r\n children = _ref$props.children,\r\n DataCellTemplate = _ref$props.dataCellTemplate,\r\n isFirstGroupCell = _ref$props.isFirstGroupCell,\r\n isLastGroupCell = _ref$props.isLastGroupCell;\r\n return (0, _inferno.createComponentVNode)(2, _cell.CellBase, {\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\nexports.viewFunction = viewFunction;\r\nvar DateTableCellBaseProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(_cell.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\nexports.DateTableCellBaseProps = DateTableCellBaseProps;\r\nvar getTemplate = function(TemplateProp) {\r\n return TemplateProp && (TemplateProp.defaultProps ? function(props) {\r\n return (0, _inferno.normalizeProps)((0, _inferno.createComponentVNode)(2, TemplateProp, _extends({}, props)))\r\n } : TemplateProp)\r\n};\r\nvar DateTableCellBase = function(_BaseInfernoComponent) {\r\n _inheritsLoose(DateTableCellBase, _BaseInfernoComponent);\r\n\r\n function DateTableCellBase(props) {\r\n var _this;\r\n _this = _BaseInfernoComponent.call(this, props) || this;\r\n _this.state = {};\r\n _this.__getterCache = {};\r\n return _this\r\n }\r\n var _proto = DateTableCellBase.prototype;\r\n _proto.componentWillUpdate = function(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 _proto.render = function() {\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 _createClass(DateTableCellBase, [{\r\n key: \"classes\",\r\n get: function() {\r\n var _combineClasses;\r\n var _this$props = this.props,\r\n allDay = _this$props.allDay,\r\n className = _this$props.className,\r\n isFocused = _this$props.isFocused,\r\n isSelected = _this$props.isSelected;\r\n return (0, _combine_classes.combineClasses)((_combineClasses = {\r\n \"dx-scheduler-cell-sizes-horizontal\": true,\r\n \"dx-scheduler-cell-sizes-vertical\": !allDay\r\n }, _defineProperty(_combineClasses, _const.DATE_TABLE_CELL_CLASS, !allDay), _defineProperty(_combineClasses, \"dx-state-focused\", isSelected), _defineProperty(_combineClasses, \"dx-scheduler-focused-cell\", isFocused), _defineProperty(_combineClasses, className, true), _combineClasses))\r\n }\r\n }, {\r\n key: \"dataCellTemplateProps\",\r\n get: function() {\r\n var _this2 = this;\r\n if (void 0 !== this.__getterCache.dataCellTemplateProps) {\r\n return this.__getterCache.dataCellTemplateProps\r\n }\r\n return this.__getterCache.dataCellTemplateProps = (_this2$props = _this2.props, allDay = _this2$props.allDay, contentTemplateProps = _this2$props.contentTemplateProps, endDate = _this2$props.endDate, groupIndex = _this2$props.groupIndex, groups = _this2$props.groups, index = _this2$props.index, startDate = _this2$props.startDate, {\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 var _this2$props, allDay, contentTemplateProps, endDate, groupIndex, groups, index, startDate\r\n }\r\n }, {\r\n key: \"ariaLabel\",\r\n get: function() {\r\n return this.props.isSelected ? ADD_APPOINTMENT_LABEL : void 0\r\n }\r\n }, {\r\n key: \"restAttributes\",\r\n get: function() {\r\n var _this$props2 = this.props,\r\n restProps = (_this$props2.allDay, _this$props2.ariaLabel, _this$props2.children, _this$props2.className, _this$props2.contentTemplateProps, _this$props2.dataCellTemplate, _this$props2.endDate, _this$props2.firstDayOfMonth, _this$props2.groupIndex, _this$props2.groups, _this$props2.index, _this$props2.isFirstGroupCell, _this$props2.isFocused, _this$props2.isLastGroupCell, _this$props2.isSelected, _this$props2.otherMonth, _this$props2.startDate, _this$props2.text, _this$props2.today, _objectWithoutProperties(_this$props2, _excluded));\r\n return restProps\r\n }\r\n }]);\r\n return DateTableCellBase\r\n}(_inferno2.BaseInfernoComponent);\r\nexports.DateTableCellBase = DateTableCellBase;\r\nDateTableCellBase.defaultProps = DateTableCellBaseProps;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/scheduler/workspaces/base/date_table/layout.j.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.default = void 0;\r\nvar _component_registrator = _interopRequireDefault(require(\"../../../../../../core/component_registrator\"));\r\nvar _date_table = require(\"../../../../../component_wrapper/scheduler/date_table\");\r\nvar _layout = require(\"./layout\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar DateTableLayoutBase = function(_DateTable) {\r\n _inheritsLoose(DateTableLayoutBase, _DateTable);\r\n\r\n function DateTableLayoutBase() {\r\n return _DateTable.apply(this, arguments) || this\r\n }\r\n _createClass(DateTableLayoutBase, [{\r\n key: \"_propsInfo\",\r\n get: function() {\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 }, {\r\n key: \"_viewComponent\",\r\n get: function() {\r\n return _layout.DateTableLayoutBase\r\n }\r\n }]);\r\n return DateTableLayoutBase\r\n}(_date_table.DateTable);\r\nexports.default = DateTableLayoutBase;\r\n(0, _component_registrator.default)(\"dxDateTableLayoutBase\", DateTableLayoutBase);\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/scheduler/workspaces/base/date_table/layout.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.viewFunction = exports.DateTableLayoutProps = exports.DateTableLayoutBase = void 0;\r\nvar _inferno = require(\"inferno\");\r\nvar _inferno2 = require(\"@devextreme/runtime/inferno\");\r\nvar _table = require(\"../table\");\r\nvar _table_body = require(\"./table_body\");\r\nvar _layout_props = require(\"../layout_props\");\r\nvar _cell = require(\"./cell\");\r\nvar _excluded = [\"addDateTableClass\", \"addVerticalSizesClassToRows\", \"bottomVirtualRowHeight\", \"cellTemplate\", \"dataCellTemplate\", \"groupOrientation\", \"leftVirtualCellWidth\", \"rightVirtualCellWidth\", \"tableRef\", \"topVirtualRowHeight\", \"viewData\", \"width\"];\r\n\r\nfunction _objectWithoutProperties(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = _objectWithoutPropertiesLoose(source, excluded);\r\n var key, i;\r\n if (Object.getOwnPropertySymbols) {\r\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\r\n for (i = 0; i < sourceSymbolKeys.length; i++) {\r\n key = sourceSymbolKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n }\r\n return target\r\n}\r\n\r\nfunction _objectWithoutPropertiesLoose(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = {};\r\n var sourceKeys = Object.keys(source);\r\n var key, i;\r\n for (i = 0; i < sourceKeys.length; i++) {\r\n key = sourceKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n return target\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\nvar viewFunction = function(_ref) {\r\n var bottomVirtualRowHeight = _ref.bottomVirtualRowHeight,\r\n classes = _ref.classes,\r\n leftVirtualCellWidth = _ref.leftVirtualCellWidth,\r\n _ref$props = _ref.props,\r\n addVerticalSizesClassToRows = _ref$props.addVerticalSizesClassToRows,\r\n cellTemplate = _ref$props.cellTemplate,\r\n dataCellTemplate = _ref$props.dataCellTemplate,\r\n groupOrientation = _ref$props.groupOrientation,\r\n tableRef = _ref$props.tableRef,\r\n viewData = _ref$props.viewData,\r\n width = _ref$props.width,\r\n restAttributes = _ref.restAttributes,\r\n rightVirtualCellWidth = _ref.rightVirtualCellWidth,\r\n topVirtualRowHeight = _ref.topVirtualRowHeight,\r\n virtualCellsCount = _ref.virtualCellsCount;\r\n return (0, _inferno.normalizeProps)((0, _inferno.createComponentVNode)(2, _table.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: (0, _inferno.createComponentVNode)(2, _table_body.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\nexports.viewFunction = viewFunction;\r\nvar DateTableLayoutProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(_layout_props.LayoutProps), Object.getOwnPropertyDescriptors({\r\n cellTemplate: _cell.DateTableCellBase\r\n})));\r\nexports.DateTableLayoutProps = DateTableLayoutProps;\r\nvar getTemplate = function(TemplateProp) {\r\n return TemplateProp && (TemplateProp.defaultProps ? function(props) {\r\n return (0, _inferno.normalizeProps)((0, _inferno.createComponentVNode)(2, TemplateProp, _extends({}, props)))\r\n } : TemplateProp)\r\n};\r\nvar DateTableLayoutBase = function(_InfernoWrapperCompon) {\r\n _inheritsLoose(DateTableLayoutBase, _InfernoWrapperCompon);\r\n\r\n function DateTableLayoutBase(props) {\r\n var _this;\r\n _this = _InfernoWrapperCompon.call(this, props) || this;\r\n _this.state = {};\r\n return _this\r\n }\r\n var _proto = DateTableLayoutBase.prototype;\r\n _proto.createEffects = function() {\r\n return [(0, _inferno2.createReRenderEffect)()]\r\n };\r\n _proto.render = function() {\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 _createClass(DateTableLayoutBase, [{\r\n key: \"classes\",\r\n get: function() {\r\n var addDateTableClass = this.props.addDateTableClass;\r\n return addDateTableClass ? \"dx-scheduler-date-table\" : void 0\r\n }\r\n }, {\r\n key: \"topVirtualRowHeight\",\r\n get: function() {\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 }, {\r\n key: \"bottomVirtualRowHeight\",\r\n get: function() {\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 }, {\r\n key: \"leftVirtualCellWidth\",\r\n get: function() {\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 }, {\r\n key: \"rightVirtualCellWidth\",\r\n get: function() {\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 }, {\r\n key: \"virtualCellsCount\",\r\n get: function() {\r\n return this.props.viewData.groupedData[0].dateTable[0].cells.length\r\n }\r\n }, {\r\n key: \"restAttributes\",\r\n get: function() {\r\n var _this$props = this.props,\r\n restProps = (_this$props.addDateTableClass, _this$props.addVerticalSizesClassToRows, _this$props.bottomVirtualRowHeight, _this$props.cellTemplate, _this$props.dataCellTemplate, _this$props.groupOrientation, _this$props.leftVirtualCellWidth, _this$props.rightVirtualCellWidth, _this$props.tableRef, _this$props.topVirtualRowHeight, _this$props.viewData, _this$props.width, _objectWithoutProperties(_this$props, _excluded));\r\n return restProps\r\n }\r\n }]);\r\n return DateTableLayoutBase\r\n}(_inferno2.InfernoWrapperComponent);\r\nexports.DateTableLayoutBase = DateTableLayoutBase;\r\nDateTableLayoutBase.defaultProps = DateTableLayoutProps;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/scheduler/workspaces/base/date_table/table_body.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.viewFunction = exports.DateTableBodyProps = exports.DateTableBody = void 0;\r\nvar _inferno = require(\"inferno\");\r\nvar _inferno2 = require(\"@devextreme/runtime/inferno\");\r\nvar _row = require(\"../row\");\r\nvar _table_body = require(\"./all_day_panel/table_body\");\r\nvar _layout_props = require(\"../layout_props\");\r\nvar _cell = require(\"./cell\");\r\nvar _combine_classes = require(\"../../../../../utils/combine_classes\");\r\nvar _const = require(\"../../const\");\r\nvar _excluded = [\"addDateTableClass\", \"addVerticalSizesClassToRows\", \"bottomVirtualRowHeight\", \"cellTemplate\", \"dataCellTemplate\", \"groupOrientation\", \"leftVirtualCellWidth\", \"rightVirtualCellWidth\", \"topVirtualRowHeight\", \"viewData\", \"width\"];\r\n\r\nfunction _objectWithoutProperties(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = _objectWithoutPropertiesLoose(source, excluded);\r\n var key, i;\r\n if (Object.getOwnPropertySymbols) {\r\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\r\n for (i = 0; i < sourceSymbolKeys.length; i++) {\r\n key = sourceSymbolKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n }\r\n return target\r\n}\r\n\r\nfunction _objectWithoutPropertiesLoose(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = {};\r\n var sourceKeys = Object.keys(source);\r\n var key, i;\r\n for (i = 0; i < sourceKeys.length; i++) {\r\n key = sourceKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n return target\r\n}\r\n\r\nfunction _defineProperty(obj, key, value) {\r\n key = _toPropertyKey(key);\r\n if (key in obj) {\r\n Object.defineProperty(obj, key, {\r\n value: value,\r\n enumerable: true,\r\n configurable: true,\r\n writable: true\r\n })\r\n } else {\r\n obj[key] = value\r\n }\r\n return obj\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\nvar viewFunction = function(_ref) {\r\n var _ref$props = _ref.props,\r\n Cell = _ref$props.cellTemplate,\r\n dataCellTemplate = _ref$props.dataCellTemplate,\r\n viewData = _ref$props.viewData,\r\n rowClasses = _ref.rowClasses;\r\n return (0, _inferno.createFragment)(viewData.groupedData.map((function(_ref2) {\r\n var allDayPanel = _ref2.allDayPanel,\r\n dateTable = _ref2.dateTable,\r\n isGroupedAllDayPanel = _ref2.isGroupedAllDayPanel,\r\n fragmentKey = _ref2.key;\r\n return (0, _inferno.createFragment)([isGroupedAllDayPanel && (0, _inferno.createComponentVNode)(2, _table_body.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((function(_ref3) {\r\n var cells = _ref3.cells,\r\n rowKey = _ref3.key;\r\n return (0, _inferno.createComponentVNode)(2, _row.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((function(_ref4) {\r\n var endDate = _ref4.endDate,\r\n firstDayOfMonth = _ref4.firstDayOfMonth,\r\n cellGroupIndex = _ref4.groupIndex,\r\n groups = _ref4.groups,\r\n cellIndex = _ref4.index,\r\n isFirstGroupCell = _ref4.isFirstGroupCell,\r\n isFocused = _ref4.isFocused,\r\n isLastGroupCell = _ref4.isLastGroupCell,\r\n isSelected = _ref4.isSelected,\r\n key = _ref4.key,\r\n otherMonth = _ref4.otherMonth,\r\n startDate = _ref4.startDate,\r\n text = _ref4.text,\r\n today = _ref4.today;\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\nexports.viewFunction = viewFunction;\r\nvar DateTableBodyProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(_layout_props.LayoutProps), Object.getOwnPropertyDescriptors({\r\n cellTemplate: _cell.DateTableCellBase\r\n})));\r\nexports.DateTableBodyProps = DateTableBodyProps;\r\nvar getTemplate = function(TemplateProp) {\r\n return TemplateProp && (TemplateProp.defaultProps ? function(props) {\r\n return (0, _inferno.normalizeProps)((0, _inferno.createComponentVNode)(2, TemplateProp, _extends({}, props)))\r\n } : TemplateProp)\r\n};\r\nvar DateTableBody = function(_BaseInfernoComponent) {\r\n _inheritsLoose(DateTableBody, _BaseInfernoComponent);\r\n\r\n function DateTableBody(props) {\r\n var _this;\r\n _this = _BaseInfernoComponent.call(this, props) || this;\r\n _this.state = {};\r\n return _this\r\n }\r\n var _proto = DateTableBody.prototype;\r\n _proto.render = function() {\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 _createClass(DateTableBody, [{\r\n key: \"rowClasses\",\r\n get: function() {\r\n var _combineClasses;\r\n var addVerticalSizesClassToRows = this.props.addVerticalSizesClassToRows;\r\n return (0, _combine_classes.combineClasses)((_combineClasses = {}, _defineProperty(_combineClasses, _const.DATE_TABLE_ROW_CLASS, true), _defineProperty(_combineClasses, \"dx-scheduler-cell-sizes-vertical\", addVerticalSizesClassToRows), _combineClasses))\r\n }\r\n }, {\r\n key: \"restAttributes\",\r\n get: function() {\r\n var _this$props = this.props,\r\n restProps = (_this$props.addDateTableClass, _this$props.addVerticalSizesClassToRows, _this$props.bottomVirtualRowHeight, _this$props.cellTemplate, _this$props.dataCellTemplate, _this$props.groupOrientation, _this$props.leftVirtualCellWidth, _this$props.rightVirtualCellWidth, _this$props.topVirtualRowHeight, _this$props.viewData, _this$props.width, _objectWithoutProperties(_this$props, _excluded));\r\n return restProps\r\n }\r\n }]);\r\n return DateTableBody\r\n}(_inferno2.BaseInfernoComponent);\r\nexports.DateTableBody = DateTableBody;\r\nDateTableBody.defaultProps = DateTableBodyProps;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/scheduler/workspaces/base/group_panel/cell_props.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.GroupPanelCellProps = void 0;\r\nvar 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\nexports.GroupPanelCellProps = GroupPanelCellProps;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/scheduler/workspaces/base/group_panel/group_panel.j.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.default = void 0;\r\nvar _component_registrator = _interopRequireDefault(require(\"../../../../../../core/component_registrator\"));\r\nvar _group_panel = require(\"../../../../../component_wrapper/scheduler/group_panel\");\r\nvar _group_panel2 = require(\"./group_panel\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar GroupPanel = function(_GroupPanelWrapper) {\r\n _inheritsLoose(GroupPanel, _GroupPanelWrapper);\r\n\r\n function GroupPanel() {\r\n return _GroupPanelWrapper.apply(this, arguments) || this\r\n }\r\n _createClass(GroupPanel, [{\r\n key: \"_propsInfo\",\r\n get: function() {\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 }, {\r\n key: \"_viewComponent\",\r\n get: function() {\r\n return _group_panel2.GroupPanel\r\n }\r\n }]);\r\n return GroupPanel\r\n}(_group_panel.GroupPanelWrapper);\r\nexports.default = GroupPanel;\r\n(0, _component_registrator.default)(\"dxGroupPanel\", GroupPanel);\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/scheduler/workspaces/base/group_panel/group_panel.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.viewFunction = exports.GroupPanelProps = exports.GroupPanel = void 0;\r\nvar _inferno = require(\"inferno\");\r\nvar _inferno2 = require(\"@devextreme/runtime/inferno\");\r\nvar _utils = require(\"../../utils\");\r\nvar _group_panel_props = require(\"./group_panel_props\");\r\nvar _layout = require(\"./vertical/layout\");\r\nvar _layout2 = require(\"./horizontal/layout\");\r\nvar _consts = require(\"../../../consts\");\r\nvar _excluded = [\"className\", \"elementRef\", \"groupByDate\", \"groupOrientation\", \"groupPanelData\", \"groups\", \"height\", \"resourceCellTemplate\"];\r\n\r\nfunction _objectWithoutProperties(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = _objectWithoutPropertiesLoose(source, excluded);\r\n var key, i;\r\n if (Object.getOwnPropertySymbols) {\r\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\r\n for (i = 0; i < sourceSymbolKeys.length; i++) {\r\n key = sourceSymbolKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n }\r\n return target\r\n}\r\n\r\nfunction _objectWithoutPropertiesLoose(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = {};\r\n var sourceKeys = Object.keys(source);\r\n var key, i;\r\n for (i = 0; i < sourceKeys.length; i++) {\r\n key = sourceKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n return target\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\nvar viewFunction = function(_ref) {\r\n var isVerticalLayout = _ref.isVerticalLayout,\r\n _ref$props = _ref.props,\r\n className = _ref$props.className,\r\n elementRef = _ref$props.elementRef,\r\n groupPanelData = _ref$props.groupPanelData,\r\n height = _ref$props.height,\r\n resourceCellTemplate = _ref$props.resourceCellTemplate,\r\n restAttributes = _ref.restAttributes;\r\n return isVerticalLayout ? (0, _inferno.createComponentVNode)(2, _layout.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 }) : (0, _inferno.createComponentVNode)(2, _layout2.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\nexports.viewFunction = viewFunction;\r\nvar GroupPanelProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(_group_panel_props.GroupPanelBaseProps), Object.getOwnPropertyDescriptors({\r\n groups: Object.freeze([]),\r\n groupOrientation: _consts.VERTICAL_GROUP_ORIENTATION\r\n})));\r\nexports.GroupPanelProps = GroupPanelProps;\r\nvar getTemplate = function(TemplateProp) {\r\n return TemplateProp && (TemplateProp.defaultProps ? function(props) {\r\n return (0, _inferno.normalizeProps)((0, _inferno.createComponentVNode)(2, TemplateProp, _extends({}, props)))\r\n } : TemplateProp)\r\n};\r\nvar GroupPanel = function(_InfernoWrapperCompon) {\r\n _inheritsLoose(GroupPanel, _InfernoWrapperCompon);\r\n\r\n function GroupPanel(props) {\r\n var _this;\r\n _this = _InfernoWrapperCompon.call(this, props) || this;\r\n _this.state = {};\r\n return _this\r\n }\r\n var _proto = GroupPanel.prototype;\r\n _proto.createEffects = function() {\r\n return [(0, _inferno2.createReRenderEffect)()]\r\n };\r\n _proto.render = function() {\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 _createClass(GroupPanel, [{\r\n key: \"isVerticalLayout\",\r\n get: function() {\r\n var _this$props = this.props,\r\n groupOrientation = _this$props.groupOrientation,\r\n groups = _this$props.groups;\r\n return (0, _utils.isVerticalGroupingApplied)(groups, groupOrientation)\r\n }\r\n }, {\r\n key: \"restAttributes\",\r\n get: function() {\r\n var _this$props2 = this.props,\r\n restProps = (_this$props2.className, _this$props2.elementRef, _this$props2.groupByDate, _this$props2.groupOrientation, _this$props2.groupPanelData, _this$props2.groups, _this$props2.height, _this$props2.resourceCellTemplate, _objectWithoutProperties(_this$props2, _excluded));\r\n return restProps\r\n }\r\n }]);\r\n return GroupPanel\r\n}(_inferno2.InfernoWrapperComponent);\r\nexports.GroupPanel = GroupPanel;\r\nGroupPanel.defaultProps = GroupPanelProps;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/scheduler/workspaces/base/group_panel/group_panel_layout_props.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.GroupPanelLayoutProps = void 0;\r\nvar _group_panel_props = require(\"./group_panel_props\");\r\nvar GroupPanelLayoutProps = _group_panel_props.GroupPanelBaseProps;\r\nexports.GroupPanelLayoutProps = GroupPanelLayoutProps;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/scheduler/workspaces/base/group_panel/group_panel_props.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.GroupPanelBaseProps = void 0;\r\nvar GroupPanelBaseProps = {\r\n groupPanelData: Object.freeze({\r\n groupPanelItems: [],\r\n baseColSpan: 1\r\n }),\r\n groupByDate: false\r\n};\r\nexports.GroupPanelBaseProps = GroupPanelBaseProps;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/scheduler/workspaces/base/group_panel/horizontal/cell.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.viewFunction = exports.GroupPanelHorizontalCellProps = exports.GroupPanelHorizontalCell = void 0;\r\nvar _inferno = require(\"inferno\");\r\nvar _inferno2 = require(\"@devextreme/runtime/inferno\");\r\nvar _combine_classes = require(\"../../../../../../utils/combine_classes\");\r\nvar _cell_props = require(\"../cell_props\");\r\nvar _excluded = [\"cellTemplate\", \"className\", \"colSpan\", \"color\", \"data\", \"id\", \"index\", \"isFirstGroupCell\", \"isLastGroupCell\", \"text\"];\r\n\r\nfunction _objectWithoutProperties(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = _objectWithoutPropertiesLoose(source, excluded);\r\n var key, i;\r\n if (Object.getOwnPropertySymbols) {\r\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\r\n for (i = 0; i < sourceSymbolKeys.length; i++) {\r\n key = sourceSymbolKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n }\r\n return target\r\n}\r\n\r\nfunction _objectWithoutPropertiesLoose(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = {};\r\n var sourceKeys = Object.keys(source);\r\n var key, i;\r\n for (i = 0; i < sourceKeys.length; i++) {\r\n key = sourceKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n return target\r\n}\r\n\r\nfunction _defineProperty(obj, key, value) {\r\n key = _toPropertyKey(key);\r\n if (key in obj) {\r\n Object.defineProperty(obj, key, {\r\n value: value,\r\n enumerable: true,\r\n configurable: true,\r\n writable: true\r\n })\r\n } else {\r\n obj[key] = value\r\n }\r\n return obj\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\nvar viewFunction = function(_ref) {\r\n var classes = _ref.classes,\r\n _ref$props = _ref.props,\r\n CellTemplate = _ref$props.cellTemplate,\r\n colSpan = _ref$props.colSpan,\r\n color = _ref$props.color,\r\n data = _ref$props.data,\r\n id = _ref$props.id,\r\n index = _ref$props.index,\r\n text = _ref$props.text;\r\n return (0, _inferno.createVNode)(1, \"th\", classes, (0, _inferno.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 && (0, _inferno.createVNode)(1, \"div\", null, text, 0)], 0), 2, {\r\n colSpan: colSpan\r\n })\r\n};\r\nexports.viewFunction = viewFunction;\r\nvar GroupPanelHorizontalCellProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(_cell_props.GroupPanelCellProps), Object.getOwnPropertyDescriptors({\r\n isFirstGroupCell: false,\r\n isLastGroupCell: false,\r\n colSpan: 1\r\n})));\r\nexports.GroupPanelHorizontalCellProps = GroupPanelHorizontalCellProps;\r\nvar getTemplate = function(TemplateProp) {\r\n return TemplateProp && (TemplateProp.defaultProps ? function(props) {\r\n return (0, _inferno.normalizeProps)((0, _inferno.createComponentVNode)(2, TemplateProp, _extends({}, props)))\r\n } : TemplateProp)\r\n};\r\nvar GroupPanelHorizontalCell = function(_BaseInfernoComponent) {\r\n _inheritsLoose(GroupPanelHorizontalCell, _BaseInfernoComponent);\r\n\r\n function GroupPanelHorizontalCell(props) {\r\n var _this;\r\n _this = _BaseInfernoComponent.call(this, props) || this;\r\n _this.state = {};\r\n return _this\r\n }\r\n var _proto = GroupPanelHorizontalCell.prototype;\r\n _proto.render = function() {\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 _createClass(GroupPanelHorizontalCell, [{\r\n key: \"classes\",\r\n get: function() {\r\n var _this$props = this.props,\r\n className = _this$props.className,\r\n isFirstGroupCell = _this$props.isFirstGroupCell,\r\n isLastGroupCell = _this$props.isLastGroupCell;\r\n return (0, _combine_classes.combineClasses)(_defineProperty({\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 key: \"restAttributes\",\r\n get: function() {\r\n var _this$props2 = this.props,\r\n restProps = (_this$props2.cellTemplate, _this$props2.className, _this$props2.colSpan, _this$props2.color, _this$props2.data, _this$props2.id, _this$props2.index, _this$props2.isFirstGroupCell, _this$props2.isLastGroupCell, _this$props2.text, _objectWithoutProperties(_this$props2, _excluded));\r\n return restProps\r\n }\r\n }]);\r\n return GroupPanelHorizontalCell\r\n}(_inferno2.BaseInfernoComponent);\r\nexports.GroupPanelHorizontalCell = GroupPanelHorizontalCell;\r\nGroupPanelHorizontalCell.defaultProps = GroupPanelHorizontalCellProps;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/scheduler/workspaces/base/group_panel/horizontal/layout.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.viewFunction = exports.HorizontalGroupPanelLayoutProps = exports.GroupPanelHorizontalLayout = void 0;\r\nvar _inferno = require(\"inferno\");\r\nvar _inferno2 = require(\"@devextreme/runtime/inferno\");\r\nvar _row = require(\"./row\");\r\nvar _group_panel_layout_props = require(\"../group_panel_layout_props\");\r\nvar _excluded = [\"className\", \"elementRef\", \"groupByDate\", \"groupPanelData\", \"height\", \"resourceCellTemplate\", \"styles\"];\r\n\r\nfunction _objectWithoutProperties(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = _objectWithoutPropertiesLoose(source, excluded);\r\n var key, i;\r\n if (Object.getOwnPropertySymbols) {\r\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\r\n for (i = 0; i < sourceSymbolKeys.length; i++) {\r\n key = sourceSymbolKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n }\r\n return target\r\n}\r\n\r\nfunction _objectWithoutPropertiesLoose(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = {};\r\n var sourceKeys = Object.keys(source);\r\n var key, i;\r\n for (i = 0; i < sourceKeys.length; i++) {\r\n key = sourceKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n return target\r\n}\r\n\r\nfunction _toConsumableArray(arr) {\r\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread()\r\n}\r\n\r\nfunction _nonIterableSpread() {\r\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _unsupportedIterableToArray(o, minLen) {\r\n if (!o) {\r\n return\r\n }\r\n if (\"string\" === typeof o) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n var n = Object.prototype.toString.call(o).slice(8, -1);\r\n if (\"Object\" === n && o.constructor) {\r\n n = o.constructor.name\r\n }\r\n if (\"Map\" === n || \"Set\" === n) {\r\n return Array.from(o)\r\n }\r\n if (\"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n}\r\n\r\nfunction _iterableToArray(iter) {\r\n if (\"undefined\" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter[\"@@iterator\"]) {\r\n return Array.from(iter)\r\n }\r\n}\r\n\r\nfunction _arrayWithoutHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return _arrayLikeToArray(arr)\r\n }\r\n}\r\n\r\nfunction _arrayLikeToArray(arr, len) {\r\n if (null == len || len > arr.length) {\r\n len = arr.length\r\n }\r\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\r\n arr2[i] = arr[i]\r\n }\r\n return arr2\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\nvar viewFunction = function(_ref) {\r\n var groupPanelItems = _ref.groupPanelItems,\r\n resourceCellTemplate = _ref.props.resourceCellTemplate;\r\n return (0, _inferno.createFragment)(groupPanelItems.map((function(group) {\r\n return (0, _inferno.createComponentVNode)(2, _row.Row, {\r\n groupItems: group,\r\n cellTemplate: resourceCellTemplate\r\n }, group[0].key)\r\n })), 0)\r\n};\r\nexports.viewFunction = viewFunction;\r\nvar HorizontalGroupPanelLayoutProps = _group_panel_layout_props.GroupPanelLayoutProps;\r\nexports.HorizontalGroupPanelLayoutProps = HorizontalGroupPanelLayoutProps;\r\nvar getTemplate = function(TemplateProp) {\r\n return TemplateProp && (TemplateProp.defaultProps ? function(props) {\r\n return (0, _inferno.normalizeProps)((0, _inferno.createComponentVNode)(2, TemplateProp, _extends({}, props)))\r\n } : TemplateProp)\r\n};\r\nvar GroupPanelHorizontalLayout = function(_BaseInfernoComponent) {\r\n _inheritsLoose(GroupPanelHorizontalLayout, _BaseInfernoComponent);\r\n\r\n function GroupPanelHorizontalLayout(props) {\r\n var _this;\r\n _this = _BaseInfernoComponent.call(this, props) || this;\r\n _this.state = {};\r\n _this.__getterCache = {};\r\n return _this\r\n }\r\n var _proto = GroupPanelHorizontalLayout.prototype;\r\n _proto.componentWillUpdate = function(nextProps, nextState, context) {\r\n if (this.props.groupPanelData !== nextProps.groupPanelData) {\r\n this.__getterCache.groupPanelItems = void 0\r\n }\r\n };\r\n _proto.render = function() {\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 _createClass(GroupPanelHorizontalLayout, [{\r\n key: \"groupPanelItems\",\r\n get: function() {\r\n var _this2 = this;\r\n if (void 0 !== this.__getterCache.groupPanelItems) {\r\n return this.__getterCache.groupPanelItems\r\n }\r\n return this.__getterCache.groupPanelItems = (groupPanelData = _this2.props.groupPanelData, baseColSpan = groupPanelData.baseColSpan, groupPanelItems = groupPanelData.groupPanelItems, colSpans = groupPanelItems.reduceRight((function(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 }), _toConsumableArray(new Array(groupPanelItems.length))), groupPanelItems.map((function(groupsRenderRow, index) {\r\n var colSpan = colSpans[index];\r\n return groupsRenderRow.map((function(groupItem) {\r\n return _extends({}, groupItem, {\r\n colSpan: colSpan\r\n })\r\n }))\r\n })));\r\n var groupPanelData, baseColSpan, groupPanelItems, colSpans\r\n }\r\n }, {\r\n key: \"restAttributes\",\r\n get: function() {\r\n var _this$props = this.props,\r\n restProps = (_this$props.className, _this$props.elementRef, _this$props.groupByDate, _this$props.groupPanelData, _this$props.height, _this$props.resourceCellTemplate, _this$props.styles, _objectWithoutProperties(_this$props, _excluded));\r\n return restProps\r\n }\r\n }]);\r\n return GroupPanelHorizontalLayout\r\n}(_inferno2.BaseInfernoComponent);\r\nexports.GroupPanelHorizontalLayout = GroupPanelHorizontalLayout;\r\nGroupPanelHorizontalLayout.defaultProps = HorizontalGroupPanelLayoutProps;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/scheduler/workspaces/base/group_panel/horizontal/row.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.viewFunction = exports.Row = void 0;\r\nvar _inferno = require(\"inferno\");\r\nvar _inferno2 = require(\"@devextreme/runtime/inferno\");\r\nvar _cell = require(\"./cell\");\r\nvar _row_props = require(\"../row_props\");\r\nvar _excluded = [\"cellTemplate\", \"className\", \"groupItems\"];\r\n\r\nfunction _objectWithoutProperties(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = _objectWithoutPropertiesLoose(source, excluded);\r\n var key, i;\r\n if (Object.getOwnPropertySymbols) {\r\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\r\n for (i = 0; i < sourceSymbolKeys.length; i++) {\r\n key = sourceSymbolKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n }\r\n return target\r\n}\r\n\r\nfunction _objectWithoutPropertiesLoose(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = {};\r\n var sourceKeys = Object.keys(source);\r\n var key, i;\r\n for (i = 0; i < sourceKeys.length; i++) {\r\n key = sourceKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n return target\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\nvar viewFunction = function(_ref) {\r\n var _ref$props = _ref.props,\r\n cellTemplate = _ref$props.cellTemplate,\r\n className = _ref$props.className,\r\n groupItems = _ref$props.groupItems;\r\n return (0, _inferno.createVNode)(1, \"tr\", \"dx-scheduler-group-row \".concat(className), groupItems.map((function(_ref2, index) {\r\n var colSpan = _ref2.colSpan,\r\n color = _ref2.color,\r\n data = _ref2.data,\r\n id = _ref2.id,\r\n isFirstGroupCell = _ref2.isFirstGroupCell,\r\n isLastGroupCell = _ref2.isLastGroupCell,\r\n key = _ref2.key,\r\n text = _ref2.text;\r\n return (0, _inferno.createComponentVNode)(2, _cell.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\nexports.viewFunction = viewFunction;\r\nvar getTemplate = function(TemplateProp) {\r\n return TemplateProp && (TemplateProp.defaultProps ? function(props) {\r\n return (0, _inferno.normalizeProps)((0, _inferno.createComponentVNode)(2, TemplateProp, _extends({}, props)))\r\n } : TemplateProp)\r\n};\r\nvar Row = function(_BaseInfernoComponent) {\r\n _inheritsLoose(Row, _BaseInfernoComponent);\r\n\r\n function Row(props) {\r\n var _this;\r\n _this = _BaseInfernoComponent.call(this, props) || this;\r\n _this.state = {};\r\n return _this\r\n }\r\n var _proto = Row.prototype;\r\n _proto.render = function() {\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 _createClass(Row, [{\r\n key: \"restAttributes\",\r\n get: function() {\r\n var _this$props = this.props,\r\n restProps = (_this$props.cellTemplate, _this$props.className, _this$props.groupItems, _objectWithoutProperties(_this$props, _excluded));\r\n return restProps\r\n }\r\n }]);\r\n return Row\r\n}(_inferno2.BaseInfernoComponent);\r\nexports.Row = Row;\r\nRow.defaultProps = _row_props.GroupPanelRowProps;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/scheduler/workspaces/base/group_panel/row_props.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.GroupPanelRowProps = void 0;\r\nvar GroupPanelRowProps = {\r\n groupItems: Object.freeze([]),\r\n className: \"\"\r\n};\r\nexports.GroupPanelRowProps = GroupPanelRowProps;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/scheduler/workspaces/base/group_panel/vertical/cell.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.viewFunction = exports.GroupPanelVerticalCell = void 0;\r\nvar _inferno = require(\"inferno\");\r\nvar _inferno2 = require(\"@devextreme/runtime/inferno\");\r\nvar _cell_props = require(\"../cell_props\");\r\nvar _excluded = [\"cellTemplate\", \"className\", \"color\", \"data\", \"id\", \"index\", \"text\"];\r\n\r\nfunction _objectWithoutProperties(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = _objectWithoutPropertiesLoose(source, excluded);\r\n var key, i;\r\n if (Object.getOwnPropertySymbols) {\r\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\r\n for (i = 0; i < sourceSymbolKeys.length; i++) {\r\n key = sourceSymbolKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n }\r\n return target\r\n}\r\n\r\nfunction _objectWithoutPropertiesLoose(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = {};\r\n var sourceKeys = Object.keys(source);\r\n var key, i;\r\n for (i = 0; i < sourceKeys.length; i++) {\r\n key = sourceKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n return target\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\nvar viewFunction = function(viewModel) {\r\n var CellTemplate = viewModel.props.cellTemplate;\r\n return (0, _inferno.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 && (0, _inferno.createVNode)(1, \"div\", \"dx-scheduler-group-header-content\", viewModel.props.text, 0)], 0)\r\n};\r\nexports.viewFunction = viewFunction;\r\nvar getTemplate = function(TemplateProp) {\r\n return TemplateProp && (TemplateProp.defaultProps ? function(props) {\r\n return (0, _inferno.normalizeProps)((0, _inferno.createComponentVNode)(2, TemplateProp, _extends({}, props)))\r\n } : TemplateProp)\r\n};\r\nvar GroupPanelVerticalCell = function(_BaseInfernoComponent) {\r\n _inheritsLoose(GroupPanelVerticalCell, _BaseInfernoComponent);\r\n\r\n function GroupPanelVerticalCell(props) {\r\n var _this;\r\n _this = _BaseInfernoComponent.call(this, props) || this;\r\n _this.state = {};\r\n return _this\r\n }\r\n var _proto = GroupPanelVerticalCell.prototype;\r\n _proto.render = function() {\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 _createClass(GroupPanelVerticalCell, [{\r\n key: \"restAttributes\",\r\n get: function() {\r\n var _this$props = this.props,\r\n restProps = (_this$props.cellTemplate, _this$props.className, _this$props.color, _this$props.data, _this$props.id, _this$props.index, _this$props.text, _objectWithoutProperties(_this$props, _excluded));\r\n return restProps\r\n }\r\n }]);\r\n return GroupPanelVerticalCell\r\n}(_inferno2.BaseInfernoComponent);\r\nexports.GroupPanelVerticalCell = GroupPanelVerticalCell;\r\nGroupPanelVerticalCell.defaultProps = _cell_props.GroupPanelCellProps;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/scheduler/workspaces/base/group_panel/vertical/layout.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.viewFunction = exports.VerticalGroupPanelLayoutProps = exports.GroupPanelVerticalLayout = void 0;\r\nvar _inferno = require(\"inferno\");\r\nvar _inferno2 = require(\"@devextreme/runtime/inferno\");\r\nvar _row = require(\"./row\");\r\nvar _utils = require(\"../../../utils\");\r\nvar _group_panel_layout_props = require(\"../group_panel_layout_props\");\r\nvar _excluded = [\"className\", \"elementRef\", \"groupByDate\", \"groupPanelData\", \"height\", \"resourceCellTemplate\", \"styles\"];\r\n\r\nfunction _objectWithoutProperties(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = _objectWithoutPropertiesLoose(source, excluded);\r\n var key, i;\r\n if (Object.getOwnPropertySymbols) {\r\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\r\n for (i = 0; i < sourceSymbolKeys.length; i++) {\r\n key = sourceSymbolKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n }\r\n return target\r\n}\r\n\r\nfunction _objectWithoutPropertiesLoose(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = {};\r\n var sourceKeys = Object.keys(source);\r\n var key, i;\r\n for (i = 0; i < sourceKeys.length; i++) {\r\n key = sourceKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n return target\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\nvar viewFunction = function(_ref) {\r\n var _ref$props = _ref.props,\r\n className = _ref$props.className,\r\n elementRef = _ref$props.elementRef,\r\n groupPanelData = _ref$props.groupPanelData,\r\n resourceCellTemplate = _ref$props.resourceCellTemplate,\r\n style = _ref.style;\r\n return (0, _inferno.createVNode)(1, \"div\", className, (0, _inferno.createVNode)(1, \"div\", \"dx-scheduler-group-flex-container\", groupPanelData.groupPanelItems.map((function(group) {\r\n return (0, _inferno.createComponentVNode)(2, _row.Row, {\r\n groupItems: group,\r\n cellTemplate: resourceCellTemplate\r\n }, group[0].key)\r\n })), 0), 2, {\r\n style: (0, _inferno2.normalizeStyles)(style)\r\n }, null, elementRef)\r\n};\r\nexports.viewFunction = viewFunction;\r\nvar VerticalGroupPanelLayoutProps = _group_panel_layout_props.GroupPanelLayoutProps;\r\nexports.VerticalGroupPanelLayoutProps = VerticalGroupPanelLayoutProps;\r\nvar getTemplate = function(TemplateProp) {\r\n return TemplateProp && (TemplateProp.defaultProps ? function(props) {\r\n return (0, _inferno.normalizeProps)((0, _inferno.createComponentVNode)(2, TemplateProp, _extends({}, props)))\r\n } : TemplateProp)\r\n};\r\nvar GroupPanelVerticalLayout = function(_BaseInfernoComponent) {\r\n _inheritsLoose(GroupPanelVerticalLayout, _BaseInfernoComponent);\r\n\r\n function GroupPanelVerticalLayout(props) {\r\n var _this;\r\n _this = _BaseInfernoComponent.call(this, props) || this;\r\n _this.state = {};\r\n return _this\r\n }\r\n var _proto = GroupPanelVerticalLayout.prototype;\r\n _proto.render = function() {\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 _createClass(GroupPanelVerticalLayout, [{\r\n key: \"style\",\r\n get: function() {\r\n var _this$props = this.props,\r\n height = _this$props.height,\r\n styles = _this$props.styles;\r\n return (0, _utils.addHeightToStyle)(height, styles)\r\n }\r\n }, {\r\n key: \"restAttributes\",\r\n get: function() {\r\n var _this$props2 = this.props,\r\n restProps = (_this$props2.className, _this$props2.elementRef, _this$props2.groupByDate, _this$props2.groupPanelData, _this$props2.height, _this$props2.resourceCellTemplate, _this$props2.styles, _objectWithoutProperties(_this$props2, _excluded));\r\n return restProps\r\n }\r\n }]);\r\n return GroupPanelVerticalLayout\r\n}(_inferno2.BaseInfernoComponent);\r\nexports.GroupPanelVerticalLayout = GroupPanelVerticalLayout;\r\nGroupPanelVerticalLayout.defaultProps = VerticalGroupPanelLayoutProps;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/scheduler/workspaces/base/group_panel/vertical/row.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.viewFunction = exports.Row = void 0;\r\nvar _inferno = require(\"inferno\");\r\nvar _inferno2 = require(\"@devextreme/runtime/inferno\");\r\nvar _cell = require(\"./cell\");\r\nvar _row_props = require(\"../row_props\");\r\nvar _excluded = [\"cellTemplate\", \"className\", \"groupItems\"];\r\n\r\nfunction _objectWithoutProperties(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = _objectWithoutPropertiesLoose(source, excluded);\r\n var key, i;\r\n if (Object.getOwnPropertySymbols) {\r\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\r\n for (i = 0; i < sourceSymbolKeys.length; i++) {\r\n key = sourceSymbolKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n }\r\n return target\r\n}\r\n\r\nfunction _objectWithoutPropertiesLoose(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = {};\r\n var sourceKeys = Object.keys(source);\r\n var key, i;\r\n for (i = 0; i < sourceKeys.length; i++) {\r\n key = sourceKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n return target\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\nvar viewFunction = function(viewModel) {\r\n return (0, _inferno.createVNode)(1, \"div\", \"dx-scheduler-group-row \".concat(viewModel.props.className), viewModel.props.groupItems.map((function(_ref, index) {\r\n var color = _ref.color,\r\n data = _ref.data,\r\n id = _ref.id,\r\n key = _ref.key,\r\n text = _ref.text;\r\n return (0, _inferno.createComponentVNode)(2, _cell.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\n};\r\nexports.viewFunction = viewFunction;\r\nvar getTemplate = function(TemplateProp) {\r\n return TemplateProp && (TemplateProp.defaultProps ? function(props) {\r\n return (0, _inferno.normalizeProps)((0, _inferno.createComponentVNode)(2, TemplateProp, _extends({}, props)))\r\n } : TemplateProp)\r\n};\r\nvar Row = function(_BaseInfernoComponent) {\r\n _inheritsLoose(Row, _BaseInfernoComponent);\r\n\r\n function Row(props) {\r\n var _this;\r\n _this = _BaseInfernoComponent.call(this, props) || this;\r\n _this.state = {};\r\n return _this\r\n }\r\n var _proto = Row.prototype;\r\n _proto.render = function() {\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 _createClass(Row, [{\r\n key: \"restAttributes\",\r\n get: function() {\r\n var _this$props = this.props,\r\n restProps = (_this$props.cellTemplate, _this$props.className, _this$props.groupItems, _objectWithoutProperties(_this$props, _excluded));\r\n return restProps\r\n }\r\n }]);\r\n return Row\r\n}(_inferno2.BaseInfernoComponent);\r\nexports.Row = Row;\r\nRow.defaultProps = _row_props.GroupPanelRowProps;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/scheduler/workspaces/base/header_cell.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.viewFunction = exports.HeaderCell = void 0;\r\nvar _inferno = require(\"inferno\");\r\nvar _inferno2 = require(\"@devextreme/runtime/inferno\");\r\nvar _ordinary_cell = require(\"./ordinary_cell\");\r\nvar _excluded = [\"children\", \"className\", \"colSpan\", \"styles\"];\r\n\r\nfunction _objectWithoutProperties(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = _objectWithoutPropertiesLoose(source, excluded);\r\n var key, i;\r\n if (Object.getOwnPropertySymbols) {\r\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\r\n for (i = 0; i < sourceSymbolKeys.length; i++) {\r\n key = sourceSymbolKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n }\r\n return target\r\n}\r\n\r\nfunction _objectWithoutPropertiesLoose(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = {};\r\n var sourceKeys = Object.keys(source);\r\n var key, i;\r\n for (i = 0; i < sourceKeys.length; i++) {\r\n key = sourceKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n return target\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar viewFunction = function(_ref) {\r\n var _ref$props = _ref.props,\r\n children = _ref$props.children,\r\n className = _ref$props.className,\r\n colSpan = _ref$props.colSpan,\r\n styles = _ref$props.styles;\r\n return (0, _inferno.createVNode)(1, \"th\", className, children, 0, {\r\n style: (0, _inferno2.normalizeStyles)(styles),\r\n colSpan: colSpan\r\n })\r\n};\r\nexports.viewFunction = viewFunction;\r\nvar HeaderCell = function(_BaseInfernoComponent) {\r\n _inheritsLoose(HeaderCell, _BaseInfernoComponent);\r\n\r\n function HeaderCell(props) {\r\n var _this;\r\n _this = _BaseInfernoComponent.call(this, props) || this;\r\n _this.state = {};\r\n return _this\r\n }\r\n var _proto = HeaderCell.prototype;\r\n _proto.render = function() {\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 _createClass(HeaderCell, [{\r\n key: \"restAttributes\",\r\n get: function() {\r\n var _this$props = this.props,\r\n restProps = (_this$props.children, _this$props.className, _this$props.colSpan, _this$props.styles, _objectWithoutProperties(_this$props, _excluded));\r\n return restProps\r\n }\r\n }]);\r\n return HeaderCell\r\n}(_inferno2.BaseInfernoComponent);\r\nexports.HeaderCell = HeaderCell;\r\nHeaderCell.defaultProps = _ordinary_cell.CellProps;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/scheduler/workspaces/base/header_panel/date_header/cell.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.viewFunction = exports.DateHeaderCellProps = exports.DateHeaderCell = void 0;\r\nvar _inferno = require(\"inferno\");\r\nvar _inferno2 = require(\"@devextreme/runtime/inferno\");\r\nvar _cell = require(\"../../cell\");\r\nvar _combine_classes = require(\"../../../../../../utils/combine_classes\");\r\nvar _utils = require(\"../../../utils\");\r\nvar _dateHeaderText = require(\"./dateHeaderText\");\r\nvar _excluded = [\"allDay\", \"ariaLabel\", \"children\", \"className\", \"colSpan\", \"contentTemplateProps\", \"dateCellTemplate\", \"endDate\", \"groupIndex\", \"groups\", \"index\", \"isFirstGroupCell\", \"isLastGroupCell\", \"isTimeCellTemplate\", \"isWeekDayCell\", \"splitText\", \"startDate\", \"text\", \"timeCellTemplate\", \"today\"];\r\n\r\nfunction _objectWithoutProperties(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = _objectWithoutPropertiesLoose(source, excluded);\r\n var key, i;\r\n if (Object.getOwnPropertySymbols) {\r\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\r\n for (i = 0; i < sourceSymbolKeys.length; i++) {\r\n key = sourceSymbolKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n }\r\n return target\r\n}\r\n\r\nfunction _objectWithoutPropertiesLoose(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = {};\r\n var sourceKeys = Object.keys(source);\r\n var key, i;\r\n for (i = 0; i < sourceKeys.length; i++) {\r\n key = sourceKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n return target\r\n}\r\n\r\nfunction _defineProperty(obj, key, value) {\r\n key = _toPropertyKey(key);\r\n if (key in obj) {\r\n Object.defineProperty(obj, key, {\r\n value: value,\r\n enumerable: true,\r\n configurable: true,\r\n writable: true\r\n })\r\n } else {\r\n obj[key] = value\r\n }\r\n return obj\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\nvar viewFunction = function(_ref) {\r\n var classes = _ref.classes,\r\n _ref$props = _ref.props,\r\n colSpan = _ref$props.colSpan,\r\n DateCellTemplate = _ref$props.dateCellTemplate,\r\n groupIndex = _ref$props.groupIndex,\r\n groups = _ref$props.groups,\r\n index = _ref$props.index,\r\n isTimeCellTemplate = _ref$props.isTimeCellTemplate,\r\n splitText = _ref$props.splitText,\r\n startDate = _ref$props.startDate,\r\n text = _ref$props.text,\r\n TimeCellTemplate = _ref$props.timeCellTemplate,\r\n useTemplate = _ref.useTemplate;\r\n return (0, _inferno.createVNode)(1, \"th\", classes, useTemplate ? (0, _inferno.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) : (0, _inferno.createComponentVNode)(2, _dateHeaderText.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\nexports.viewFunction = viewFunction;\r\nvar DateHeaderCellProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(_cell.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\nexports.DateHeaderCellProps = DateHeaderCellProps;\r\nvar getTemplate = function(TemplateProp) {\r\n return TemplateProp && (TemplateProp.defaultProps ? function(props) {\r\n return (0, _inferno.normalizeProps)((0, _inferno.createComponentVNode)(2, TemplateProp, _extends({}, props)))\r\n } : TemplateProp)\r\n};\r\nvar DateHeaderCell = function(_BaseInfernoComponent) {\r\n _inheritsLoose(DateHeaderCell, _BaseInfernoComponent);\r\n\r\n function DateHeaderCell(props) {\r\n var _this;\r\n _this = _BaseInfernoComponent.call(this, props) || this;\r\n _this.state = {};\r\n return _this\r\n }\r\n var _proto = DateHeaderCell.prototype;\r\n _proto.render = function() {\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 _createClass(DateHeaderCell, [{\r\n key: \"classes\",\r\n get: function() {\r\n var _this$props = this.props,\r\n className = _this$props.className,\r\n isFirstGroupCell = _this$props.isFirstGroupCell,\r\n isLastGroupCell = _this$props.isLastGroupCell,\r\n isWeekDayCell = _this$props.isWeekDayCell,\r\n today = _this$props.today;\r\n var cellClasses = (0, _combine_classes.combineClasses)(_defineProperty({\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 return (0, _utils.getGroupCellClasses)(isFirstGroupCell, isLastGroupCell, cellClasses)\r\n }\r\n }, {\r\n key: \"useTemplate\",\r\n get: function() {\r\n var _this$props2 = this.props,\r\n dateCellTemplate = _this$props2.dateCellTemplate,\r\n isTimeCellTemplate = _this$props2.isTimeCellTemplate,\r\n timeCellTemplate = _this$props2.timeCellTemplate;\r\n return !isTimeCellTemplate && !!dateCellTemplate || isTimeCellTemplate && !!timeCellTemplate\r\n }\r\n }, {\r\n key: \"restAttributes\",\r\n get: function() {\r\n var _this$props3 = this.props,\r\n restProps = (_this$props3.allDay, _this$props3.ariaLabel, _this$props3.children, _this$props3.className, _this$props3.colSpan, _this$props3.contentTemplateProps, _this$props3.dateCellTemplate, _this$props3.endDate, _this$props3.groupIndex, _this$props3.groups, _this$props3.index, _this$props3.isFirstGroupCell, _this$props3.isLastGroupCell, _this$props3.isTimeCellTemplate, _this$props3.isWeekDayCell, _this$props3.splitText, _this$props3.startDate, _this$props3.text, _this$props3.timeCellTemplate, _this$props3.today, _objectWithoutProperties(_this$props3, _excluded));\r\n return restProps\r\n }\r\n }]);\r\n return DateHeaderCell\r\n}(_inferno2.BaseInfernoComponent);\r\nexports.DateHeaderCell = DateHeaderCell;\r\nDateHeaderCell.defaultProps = DateHeaderCellProps;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/scheduler/workspaces/base/header_panel/date_header/dateHeaderText.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.viewFunction = exports.DateHeaderTextProps = exports.DateHeaderText = void 0;\r\nvar _inferno = require(\"inferno\");\r\nvar _inferno2 = require(\"@devextreme/runtime/inferno\");\r\nvar _excluded = [\"splitText\", \"text\"];\r\n\r\nfunction _objectWithoutProperties(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = _objectWithoutPropertiesLoose(source, excluded);\r\n var key, i;\r\n if (Object.getOwnPropertySymbols) {\r\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\r\n for (i = 0; i < sourceSymbolKeys.length; i++) {\r\n key = sourceSymbolKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n }\r\n return target\r\n}\r\n\r\nfunction _objectWithoutPropertiesLoose(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = {};\r\n var sourceKeys = Object.keys(source);\r\n var key, i;\r\n for (i = 0; i < sourceKeys.length; i++) {\r\n key = sourceKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n return target\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar viewFunction = function(_ref) {\r\n var _ref$props = _ref.props,\r\n splitText = _ref$props.splitText,\r\n text = _ref$props.text,\r\n textParts = _ref.textParts;\r\n return (0, _inferno.createFragment)(splitText ? textParts.map((function(part) {\r\n return (0, _inferno.createVNode)(1, \"span\", \"dx-scheduler-header-panel-cell-date\", part, 0)\r\n })) : text, 0)\r\n};\r\nexports.viewFunction = viewFunction;\r\nvar DateHeaderTextProps = {\r\n text: \"\",\r\n splitText: false\r\n};\r\nexports.DateHeaderTextProps = DateHeaderTextProps;\r\nvar DateHeaderText = function(_BaseInfernoComponent) {\r\n _inheritsLoose(DateHeaderText, _BaseInfernoComponent);\r\n\r\n function DateHeaderText(props) {\r\n var _this;\r\n _this = _BaseInfernoComponent.call(this, props) || this;\r\n _this.state = {};\r\n _this.__getterCache = {};\r\n return _this\r\n }\r\n var _proto = DateHeaderText.prototype;\r\n _proto.componentWillUpdate = function(nextProps, nextState, context) {\r\n if (this.props.text !== nextProps.text) {\r\n this.__getterCache.textParts = void 0\r\n }\r\n };\r\n _proto.render = function() {\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 _createClass(DateHeaderText, [{\r\n key: \"textParts\",\r\n get: function() {\r\n var _this2 = this;\r\n if (void 0 !== this.__getterCache.textParts) {\r\n return this.__getterCache.textParts\r\n }\r\n return this.__getterCache.textParts = (text = _this2.props.text, text ? text.split(\" \") : [\"\"]);\r\n var text\r\n }\r\n }, {\r\n key: \"restAttributes\",\r\n get: function() {\r\n var _this$props = this.props,\r\n restProps = (_this$props.splitText, _this$props.text, _objectWithoutProperties(_this$props, _excluded));\r\n return restProps\r\n }\r\n }]);\r\n return DateHeaderText\r\n}(_inferno2.BaseInfernoComponent);\r\nexports.DateHeaderText = DateHeaderText;\r\nDateHeaderText.defaultProps = DateHeaderTextProps;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/scheduler/workspaces/base/header_panel/date_header/layout.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.viewFunction = exports.DateHeaderLayoutProps = exports.DateHeaderLayout = void 0;\r\nvar _inferno = require(\"inferno\");\r\nvar _inferno2 = require(\"@devextreme/runtime/inferno\");\r\nvar _row = require(\"../../row\");\r\nvar _utils = require(\"../../../utils\");\r\nvar _cell = require(\"./cell\");\r\nvar _getThemeType2 = _interopRequireDefault(require(\"../../../../../../utils/getThemeType\"));\r\nvar _excluded = [\"dateCellTemplate\", \"dateHeaderData\", \"groupByDate\", \"groupOrientation\", \"groups\", \"timeCellTemplate\"];\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _objectWithoutProperties(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = _objectWithoutPropertiesLoose(source, excluded);\r\n var key, i;\r\n if (Object.getOwnPropertySymbols) {\r\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\r\n for (i = 0; i < sourceSymbolKeys.length; i++) {\r\n key = sourceSymbolKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n }\r\n return target\r\n}\r\n\r\nfunction _objectWithoutPropertiesLoose(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = {};\r\n var sourceKeys = Object.keys(source);\r\n var key, i;\r\n for (i = 0; i < sourceKeys.length; i++) {\r\n key = sourceKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n return target\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\nvar _getThemeType = (0, _getThemeType2.default)(),\r\n isMaterial = _getThemeType.isMaterial;\r\nvar viewFunction = function(_ref) {\r\n var isHorizontalGrouping = _ref.isHorizontalGrouping,\r\n _ref$props = _ref.props,\r\n dateCellTemplate = _ref$props.dateCellTemplate,\r\n dateHeaderData = _ref$props.dateHeaderData;\r\n var dataMap = dateHeaderData.dataMap,\r\n leftVirtualCellCount = dateHeaderData.leftVirtualCellCount,\r\n leftVirtualCellWidth = dateHeaderData.leftVirtualCellWidth,\r\n rightVirtualCellCount = dateHeaderData.rightVirtualCellCount,\r\n rightVirtualCellWidth = dateHeaderData.rightVirtualCellWidth;\r\n return (0, _inferno.createFragment)(dataMap.map((function(dateHeaderRow, rowIndex) {\r\n return (0, _inferno.createComponentVNode)(2, _row.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((function(_ref2) {\r\n var colSpan = _ref2.colSpan,\r\n endDate = _ref2.endDate,\r\n groupIndex = _ref2.groupIndex,\r\n cellGroups = _ref2.groups,\r\n index = _ref2.index,\r\n isFirstGroupCell = _ref2.isFirstGroupCell,\r\n isLastGroupCell = _ref2.isLastGroupCell,\r\n key = _ref2.key,\r\n startDate = _ref2.startDate,\r\n text = _ref2.text,\r\n today = _ref2.today;\r\n return (0, _inferno.createComponentVNode)(2, _cell.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())\r\n })), 0)\r\n};\r\nexports.viewFunction = viewFunction;\r\nvar DateHeaderLayoutProps = {\r\n groupOrientation: \"horizontal\",\r\n groupByDate: false,\r\n groups: Object.freeze([])\r\n};\r\nexports.DateHeaderLayoutProps = DateHeaderLayoutProps;\r\nvar getTemplate = function(TemplateProp) {\r\n return TemplateProp && (TemplateProp.defaultProps ? function(props) {\r\n return (0, _inferno.normalizeProps)((0, _inferno.createComponentVNode)(2, TemplateProp, _extends({}, props)))\r\n } : TemplateProp)\r\n};\r\nvar DateHeaderLayout = function(_BaseInfernoComponent) {\r\n _inheritsLoose(DateHeaderLayout, _BaseInfernoComponent);\r\n\r\n function DateHeaderLayout(props) {\r\n var _this;\r\n _this = _BaseInfernoComponent.call(this, props) || this;\r\n _this.state = {};\r\n return _this\r\n }\r\n var _proto = DateHeaderLayout.prototype;\r\n _proto.render = function() {\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 _createClass(DateHeaderLayout, [{\r\n key: \"isHorizontalGrouping\",\r\n get: function() {\r\n var _this$props = this.props,\r\n groupByDate = _this$props.groupByDate,\r\n groupOrientation = _this$props.groupOrientation,\r\n groups = _this$props.groups;\r\n return (0, _utils.isHorizontalGroupingApplied)(groups, groupOrientation) && !groupByDate\r\n }\r\n }, {\r\n key: \"restAttributes\",\r\n get: function() {\r\n var _this$props2 = this.props,\r\n restProps = (_this$props2.dateCellTemplate, _this$props2.dateHeaderData, _this$props2.groupByDate, _this$props2.groupOrientation, _this$props2.groups, _this$props2.timeCellTemplate, _objectWithoutProperties(_this$props2, _excluded));\r\n return restProps\r\n }\r\n }]);\r\n return DateHeaderLayout\r\n}(_inferno2.BaseInfernoComponent);\r\nexports.DateHeaderLayout = DateHeaderLayout;\r\nDateHeaderLayout.defaultProps = DateHeaderLayoutProps;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/scheduler/workspaces/base/header_panel/layout.j.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.default = void 0;\r\nvar _component_registrator = _interopRequireDefault(require(\"../../../../../../core/component_registrator\"));\r\nvar _header_panel = require(\"../../../../../component_wrapper/scheduler/header_panel\");\r\nvar _layout = require(\"./layout\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar HeaderPanelLayout = function(_HeaderPanel) {\r\n _inheritsLoose(HeaderPanelLayout, _HeaderPanel);\r\n\r\n function HeaderPanelLayout() {\r\n return _HeaderPanel.apply(this, arguments) || this\r\n }\r\n _createClass(HeaderPanelLayout, [{\r\n key: \"_propsInfo\",\r\n get: function() {\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 }, {\r\n key: \"_viewComponent\",\r\n get: function() {\r\n return _layout.HeaderPanelLayout\r\n }\r\n }]);\r\n return HeaderPanelLayout\r\n}(_header_panel.HeaderPanel);\r\nexports.default = HeaderPanelLayout;\r\n(0, _component_registrator.default)(\"dxHeaderPanelLayout\", HeaderPanelLayout);\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/scheduler/workspaces/base/header_panel/layout.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.viewFunction = exports.HeaderPanelLayoutProps = exports.HeaderPanelLayout = void 0;\r\nvar _inferno = require(\"inferno\");\r\nvar _inferno2 = require(\"@devextreme/runtime/inferno\");\r\nvar _utils = require(\"../../utils\");\r\nvar _group_panel = require(\"../group_panel/group_panel\");\r\nvar _layout = require(\"./date_header/layout\");\r\nvar _excluded = [\"className\", \"dateCellTemplate\", \"dateHeaderData\", \"dateHeaderTemplate\", \"elementRef\", \"groupByDate\", \"groupOrientation\", \"groupPanelData\", \"groups\", \"height\", \"isRenderDateHeader\", \"resourceCellTemplate\", \"timeCellTemplate\"];\r\n\r\nfunction _objectWithoutProperties(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = _objectWithoutPropertiesLoose(source, excluded);\r\n var key, i;\r\n if (Object.getOwnPropertySymbols) {\r\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\r\n for (i = 0; i < sourceSymbolKeys.length; i++) {\r\n key = sourceSymbolKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n }\r\n return target\r\n}\r\n\r\nfunction _objectWithoutPropertiesLoose(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = {};\r\n var sourceKeys = Object.keys(source);\r\n var key, i;\r\n for (i = 0; i < sourceKeys.length; i++) {\r\n key = sourceKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n return target\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\nvar viewFunction = function(_ref) {\r\n var isHorizontalGrouping = _ref.isHorizontalGrouping,\r\n _ref$props = _ref.props,\r\n dateCellTemplate = _ref$props.dateCellTemplate,\r\n dateHeaderData = _ref$props.dateHeaderData,\r\n DateHeader = _ref$props.dateHeaderTemplate,\r\n groupByDate = _ref$props.groupByDate,\r\n groupOrientation = _ref$props.groupOrientation,\r\n groupPanelData = _ref$props.groupPanelData,\r\n groups = _ref$props.groups,\r\n isRenderDateHeader = _ref$props.isRenderDateHeader,\r\n resourceCellTemplate = _ref$props.resourceCellTemplate,\r\n timeCellTemplate = _ref$props.timeCellTemplate;\r\n return (0, _inferno.createVNode)(1, \"thead\", null, [isHorizontalGrouping && !groupByDate && (0, _inferno.createComponentVNode)(2, _group_panel.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 && (0, _inferno.createComponentVNode)(2, _group_panel.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\nexports.viewFunction = viewFunction;\r\nvar HeaderPanelLayoutProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(_group_panel.GroupPanelProps), Object.getOwnPropertyDescriptors({\r\n isRenderDateHeader: true,\r\n dateHeaderTemplate: _layout.DateHeaderLayout\r\n})));\r\nexports.HeaderPanelLayoutProps = HeaderPanelLayoutProps;\r\nvar getTemplate = function(TemplateProp) {\r\n return TemplateProp && (TemplateProp.defaultProps ? function(props) {\r\n return (0, _inferno.normalizeProps)((0, _inferno.createComponentVNode)(2, TemplateProp, _extends({}, props)))\r\n } : TemplateProp)\r\n};\r\nvar HeaderPanelLayout = function(_InfernoWrapperCompon) {\r\n _inheritsLoose(HeaderPanelLayout, _InfernoWrapperCompon);\r\n\r\n function HeaderPanelLayout(props) {\r\n var _this;\r\n _this = _InfernoWrapperCompon.call(this, props) || this;\r\n _this.state = {};\r\n return _this\r\n }\r\n var _proto = HeaderPanelLayout.prototype;\r\n _proto.createEffects = function() {\r\n return [(0, _inferno2.createReRenderEffect)()]\r\n };\r\n _proto.render = function() {\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 _createClass(HeaderPanelLayout, [{\r\n key: \"isHorizontalGrouping\",\r\n get: function() {\r\n var _this$props = this.props,\r\n groupOrientation = _this$props.groupOrientation,\r\n groups = _this$props.groups;\r\n return (0, _utils.isHorizontalGroupingApplied)(groups, groupOrientation)\r\n }\r\n }, {\r\n key: \"restAttributes\",\r\n get: function() {\r\n var _this$props2 = this.props,\r\n restProps = (_this$props2.className, _this$props2.dateCellTemplate, _this$props2.dateHeaderData, _this$props2.dateHeaderTemplate, _this$props2.elementRef, _this$props2.groupByDate, _this$props2.groupOrientation, _this$props2.groupPanelData, _this$props2.groups, _this$props2.height, _this$props2.isRenderDateHeader, _this$props2.resourceCellTemplate, _this$props2.timeCellTemplate, _objectWithoutProperties(_this$props2, _excluded));\r\n return restProps\r\n }\r\n }]);\r\n return HeaderPanelLayout\r\n}(_inferno2.InfernoWrapperComponent);\r\nexports.HeaderPanelLayout = HeaderPanelLayout;\r\nHeaderPanelLayout.defaultProps = HeaderPanelLayoutProps;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/scheduler/workspaces/base/layout_props.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.LayoutProps = void 0;\r\nvar 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\nexports.LayoutProps = LayoutProps;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/scheduler/workspaces/base/ordinary_cell.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.viewFunction = exports.OrdinaryCell = exports.CellProps = void 0;\r\nvar _inferno = require(\"inferno\");\r\nvar _inferno2 = require(\"@devextreme/runtime/inferno\");\r\nvar _excluded = [\"children\", \"className\", \"colSpan\", \"styles\"];\r\n\r\nfunction _objectWithoutProperties(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = _objectWithoutPropertiesLoose(source, excluded);\r\n var key, i;\r\n if (Object.getOwnPropertySymbols) {\r\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\r\n for (i = 0; i < sourceSymbolKeys.length; i++) {\r\n key = sourceSymbolKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n }\r\n return target\r\n}\r\n\r\nfunction _objectWithoutPropertiesLoose(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = {};\r\n var sourceKeys = Object.keys(source);\r\n var key, i;\r\n for (i = 0; i < sourceKeys.length; i++) {\r\n key = sourceKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n return target\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar viewFunction = function(_ref) {\r\n var _ref$props = _ref.props,\r\n children = _ref$props.children,\r\n className = _ref$props.className,\r\n colSpan = _ref$props.colSpan,\r\n styles = _ref$props.styles;\r\n return (0, _inferno.createVNode)(1, \"td\", className, children, 0, {\r\n style: (0, _inferno2.normalizeStyles)(styles),\r\n colSpan: colSpan\r\n })\r\n};\r\nexports.viewFunction = viewFunction;\r\nvar CellProps = {};\r\nexports.CellProps = CellProps;\r\nvar OrdinaryCell = function(_BaseInfernoComponent) {\r\n _inheritsLoose(OrdinaryCell, _BaseInfernoComponent);\r\n\r\n function OrdinaryCell(props) {\r\n var _this;\r\n _this = _BaseInfernoComponent.call(this, props) || this;\r\n _this.state = {};\r\n return _this\r\n }\r\n var _proto = OrdinaryCell.prototype;\r\n _proto.render = function() {\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 _createClass(OrdinaryCell, [{\r\n key: \"restAttributes\",\r\n get: function() {\r\n var _this$props = this.props,\r\n restProps = (_this$props.children, _this$props.className, _this$props.colSpan, _this$props.styles, _objectWithoutProperties(_this$props, _excluded));\r\n return restProps\r\n }\r\n }]);\r\n return OrdinaryCell\r\n}(_inferno2.BaseInfernoComponent);\r\nexports.OrdinaryCell = OrdinaryCell;\r\nOrdinaryCell.defaultProps = CellProps;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/scheduler/workspaces/base/row.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.viewFunction = exports.RowProps = exports.Row = void 0;\r\nvar _inferno = require(\"inferno\");\r\nvar _inferno2 = require(\"@devextreme/runtime/inferno\");\r\nvar _virtual_cell = require(\"./virtual_cell\");\r\nvar _excluded = [\"children\", \"className\", \"isHeaderRow\", \"leftVirtualCellCount\", \"leftVirtualCellWidth\", \"rightVirtualCellCount\", \"rightVirtualCellWidth\", \"styles\"];\r\n\r\nfunction _objectWithoutProperties(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = _objectWithoutPropertiesLoose(source, excluded);\r\n var key, i;\r\n if (Object.getOwnPropertySymbols) {\r\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\r\n for (i = 0; i < sourceSymbolKeys.length; i++) {\r\n key = sourceSymbolKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n }\r\n return target\r\n}\r\n\r\nfunction _objectWithoutPropertiesLoose(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = {};\r\n var sourceKeys = Object.keys(source);\r\n var key, i;\r\n for (i = 0; i < sourceKeys.length; i++) {\r\n key = sourceKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n return target\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar viewFunction = function(_ref) {\r\n var hasLeftVirtualCell = _ref.hasLeftVirtualCell,\r\n hasRightVirtualCell = _ref.hasRightVirtualCell,\r\n _ref$props = _ref.props,\r\n children = _ref$props.children,\r\n className = _ref$props.className,\r\n isHeaderRow = _ref$props.isHeaderRow,\r\n leftVirtualCellCount = _ref$props.leftVirtualCellCount,\r\n leftVirtualCellWidth = _ref$props.leftVirtualCellWidth,\r\n rightVirtualCellCount = _ref$props.rightVirtualCellCount,\r\n rightVirtualCellWidth = _ref$props.rightVirtualCellWidth,\r\n styles = _ref$props.styles;\r\n return (0, _inferno.createVNode)(1, \"tr\", className, [hasLeftVirtualCell && (0, _inferno.createComponentVNode)(2, _virtual_cell.VirtualCell, {\r\n width: leftVirtualCellWidth,\r\n colSpan: leftVirtualCellCount,\r\n isHeaderCell: isHeaderRow\r\n }), children, hasRightVirtualCell && (0, _inferno.createComponentVNode)(2, _virtual_cell.VirtualCell, {\r\n width: rightVirtualCellWidth,\r\n colSpan: rightVirtualCellCount,\r\n isHeaderCell: isHeaderRow\r\n })], 0, {\r\n style: (0, _inferno2.normalizeStyles)(styles)\r\n })\r\n};\r\nexports.viewFunction = viewFunction;\r\nvar RowProps = {\r\n className: \"\",\r\n leftVirtualCellWidth: 0,\r\n rightVirtualCellWidth: 0,\r\n isHeaderRow: false\r\n};\r\nexports.RowProps = RowProps;\r\nvar Row = function(_BaseInfernoComponent) {\r\n _inheritsLoose(Row, _BaseInfernoComponent);\r\n\r\n function Row(props) {\r\n var _this;\r\n _this = _BaseInfernoComponent.call(this, props) || this;\r\n _this.state = {};\r\n return _this\r\n }\r\n var _proto = Row.prototype;\r\n _proto.render = function() {\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 _createClass(Row, [{\r\n key: \"hasLeftVirtualCell\",\r\n get: function() {\r\n var leftVirtualCellCount = this.props.leftVirtualCellCount;\r\n return !!leftVirtualCellCount\r\n }\r\n }, {\r\n key: \"hasRightVirtualCell\",\r\n get: function() {\r\n var rightVirtualCellCount = this.props.rightVirtualCellCount;\r\n return !!rightVirtualCellCount\r\n }\r\n }, {\r\n key: \"restAttributes\",\r\n get: function() {\r\n var _this$props = this.props,\r\n restProps = (_this$props.children, _this$props.className, _this$props.isHeaderRow, _this$props.leftVirtualCellCount, _this$props.leftVirtualCellWidth, _this$props.rightVirtualCellCount, _this$props.rightVirtualCellWidth, _this$props.styles, _objectWithoutProperties(_this$props, _excluded));\r\n return restProps\r\n }\r\n }]);\r\n return Row\r\n}(_inferno2.BaseInfernoComponent);\r\nexports.Row = Row;\r\nRow.defaultProps = RowProps;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/scheduler/workspaces/base/table.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.viewFunction = exports.TableProps = exports.Table = void 0;\r\nvar _inferno = require(\"inferno\");\r\nvar _inferno2 = require(\"@devextreme/runtime/inferno\");\r\nvar _utils = require(\"../utils\");\r\nvar _virtual_row = require(\"./virtual_row\");\r\nvar _excluded = [\"bottomVirtualRowHeight\", \"children\", \"className\", \"height\", \"leftVirtualCellCount\", \"leftVirtualCellWidth\", \"rightVirtualCellCount\", \"rightVirtualCellWidth\", \"tableRef\", \"topVirtualRowHeight\", \"virtualCellsCount\", \"width\"];\r\n\r\nfunction _objectWithoutProperties(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = _objectWithoutPropertiesLoose(source, excluded);\r\n var key, i;\r\n if (Object.getOwnPropertySymbols) {\r\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\r\n for (i = 0; i < sourceSymbolKeys.length; i++) {\r\n key = sourceSymbolKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n }\r\n return target\r\n}\r\n\r\nfunction _objectWithoutPropertiesLoose(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = {};\r\n var sourceKeys = Object.keys(source);\r\n var key, i;\r\n for (i = 0; i < sourceKeys.length; i++) {\r\n key = sourceKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n return target\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar viewFunction = function(_ref) {\r\n var hasBottomVirtualRow = _ref.hasBottomVirtualRow,\r\n hasTopVirtualRow = _ref.hasTopVirtualRow,\r\n _ref$props = _ref.props,\r\n bottomVirtualRowHeight = _ref$props.bottomVirtualRowHeight,\r\n children = _ref$props.children,\r\n className = _ref$props.className,\r\n leftVirtualCellCount = _ref$props.leftVirtualCellCount,\r\n leftVirtualCellWidth = _ref$props.leftVirtualCellWidth,\r\n rightVirtualCellCount = _ref$props.rightVirtualCellCount,\r\n rightVirtualCellWidth = _ref$props.rightVirtualCellWidth,\r\n tableRef = _ref$props.tableRef,\r\n topVirtualRowHeight = _ref$props.topVirtualRowHeight,\r\n virtualCellsCount = _ref$props.virtualCellsCount,\r\n style = _ref.style;\r\n return (0, _inferno.createVNode)(1, \"table\", className, (0, _inferno.createVNode)(1, \"tbody\", null, [hasTopVirtualRow && (0, _inferno.createComponentVNode)(2, _virtual_row.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 && (0, _inferno.createComponentVNode)(2, _virtual_row.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: (0, _inferno2.normalizeStyles)(style)\r\n }, null, tableRef)\r\n};\r\nexports.viewFunction = viewFunction;\r\nvar 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\nexports.TableProps = TableProps;\r\nvar Table = function(_BaseInfernoComponent) {\r\n _inheritsLoose(Table, _BaseInfernoComponent);\r\n\r\n function Table(props) {\r\n var _this;\r\n _this = _BaseInfernoComponent.call(this, props) || this;\r\n _this.state = {};\r\n _this.elementRef = (0, _inferno.createRef)();\r\n return _this\r\n }\r\n var _proto = Table.prototype;\r\n _proto.render = function() {\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 _createClass(Table, [{\r\n key: \"style\",\r\n get: function() {\r\n var _this$props = this.props,\r\n height = _this$props.height,\r\n width = _this$props.width;\r\n var style = this.restAttributes.style;\r\n var heightAdded = (0, _utils.addHeightToStyle)(height, style);\r\n return (0, _utils.addWidthToStyle)(width, heightAdded)\r\n }\r\n }, {\r\n key: \"hasTopVirtualRow\",\r\n get: function() {\r\n var topVirtualRowHeight = this.props.topVirtualRowHeight;\r\n return !!topVirtualRowHeight\r\n }\r\n }, {\r\n key: \"hasBottomVirtualRow\",\r\n get: function() {\r\n var bottomVirtualRowHeight = this.props.bottomVirtualRowHeight;\r\n return !!bottomVirtualRowHeight\r\n }\r\n }, {\r\n key: \"restAttributes\",\r\n get: function() {\r\n var _this$props2 = this.props,\r\n restProps = (_this$props2.bottomVirtualRowHeight, _this$props2.children, _this$props2.className, _this$props2.height, _this$props2.leftVirtualCellCount, _this$props2.leftVirtualCellWidth, _this$props2.rightVirtualCellCount, _this$props2.rightVirtualCellWidth, _this$props2.tableRef, _this$props2.topVirtualRowHeight, _this$props2.virtualCellsCount, _this$props2.width, _objectWithoutProperties(_this$props2, _excluded));\r\n return restProps\r\n }\r\n }]);\r\n return Table\r\n}(_inferno2.BaseInfernoComponent);\r\nexports.Table = Table;\r\nTable.defaultProps = TableProps;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/scheduler/workspaces/base/time_panel/cell.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.viewFunction = exports.TimePanelCellProps = exports.TimePanelCell = void 0;\r\nvar _inferno = require(\"inferno\");\r\nvar _inferno2 = require(\"@devextreme/runtime/inferno\");\r\nvar _cell = require(\"../cell\");\r\nvar _excluded = [\"allDay\", \"ariaLabel\", \"children\", \"className\", \"contentTemplateProps\", \"endDate\", \"groupIndex\", \"groups\", \"index\", \"isFirstGroupCell\", \"isLastGroupCell\", \"startDate\", \"text\", \"timeCellTemplate\"];\r\n\r\nfunction _objectWithoutProperties(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = _objectWithoutPropertiesLoose(source, excluded);\r\n var key, i;\r\n if (Object.getOwnPropertySymbols) {\r\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\r\n for (i = 0; i < sourceSymbolKeys.length; i++) {\r\n key = sourceSymbolKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n }\r\n return target\r\n}\r\n\r\nfunction _objectWithoutPropertiesLoose(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = {};\r\n var sourceKeys = Object.keys(source);\r\n var key, i;\r\n for (i = 0; i < sourceKeys.length; i++) {\r\n key = sourceKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n return target\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\nvar viewFunction = function(_ref) {\r\n var _ref$props = _ref.props,\r\n className = _ref$props.className,\r\n isFirstGroupCell = _ref$props.isFirstGroupCell,\r\n isLastGroupCell = _ref$props.isLastGroupCell,\r\n text = _ref$props.text,\r\n TimeCellTemplate = _ref$props.timeCellTemplate,\r\n timeCellTemplateProps = _ref.timeCellTemplateProps;\r\n return (0, _inferno.createComponentVNode)(2, _cell.CellBase, {\r\n isFirstGroupCell: isFirstGroupCell,\r\n isLastGroupCell: isLastGroupCell,\r\n className: \"dx-scheduler-time-panel-cell dx-scheduler-cell-sizes-vertical \".concat(className),\r\n children: [!TimeCellTemplate && (0, _inferno.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\nexports.viewFunction = viewFunction;\r\nvar TimePanelCellProps = _cell.CellBaseProps;\r\nexports.TimePanelCellProps = TimePanelCellProps;\r\nvar getTemplate = function(TemplateProp) {\r\n return TemplateProp && (TemplateProp.defaultProps ? function(props) {\r\n return (0, _inferno.normalizeProps)((0, _inferno.createComponentVNode)(2, TemplateProp, _extends({}, props)))\r\n } : TemplateProp)\r\n};\r\nvar TimePanelCell = function(_BaseInfernoComponent) {\r\n _inheritsLoose(TimePanelCell, _BaseInfernoComponent);\r\n\r\n function TimePanelCell(props) {\r\n var _this;\r\n _this = _BaseInfernoComponent.call(this, props) || this;\r\n _this.state = {};\r\n _this.__getterCache = {};\r\n return _this\r\n }\r\n var _proto = TimePanelCell.prototype;\r\n _proto.componentWillUpdate = function(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 _proto.render = function() {\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 _createClass(TimePanelCell, [{\r\n key: \"timeCellTemplateProps\",\r\n get: function() {\r\n var _this2 = this;\r\n if (void 0 !== this.__getterCache.timeCellTemplateProps) {\r\n return this.__getterCache.timeCellTemplateProps\r\n }\r\n return this.__getterCache.timeCellTemplateProps = (_this2$props = _this2.props, groupIndex = _this2$props.groupIndex, groups = _this2$props.groups, index = _this2$props.index, startDate = _this2$props.startDate, text = _this2$props.text, {\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 var _this2$props, groupIndex, groups, index, startDate, text\r\n }\r\n }, {\r\n key: \"restAttributes\",\r\n get: function() {\r\n var _this$props = this.props,\r\n restProps = (_this$props.allDay, _this$props.ariaLabel, _this$props.children, _this$props.className, _this$props.contentTemplateProps, _this$props.endDate, _this$props.groupIndex, _this$props.groups, _this$props.index, _this$props.isFirstGroupCell, _this$props.isLastGroupCell, _this$props.startDate, _this$props.text, _this$props.timeCellTemplate, _objectWithoutProperties(_this$props, _excluded));\r\n return restProps\r\n }\r\n }]);\r\n return TimePanelCell\r\n}(_inferno2.BaseInfernoComponent);\r\nexports.TimePanelCell = TimePanelCell;\r\nTimePanelCell.defaultProps = TimePanelCellProps;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/scheduler/workspaces/base/time_panel/layout.j.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.default = void 0;\r\nvar _component_registrator = _interopRequireDefault(require(\"../../../../../../core/component_registrator\"));\r\nvar _time_panel = require(\"../../../../../component_wrapper/scheduler/time_panel\");\r\nvar _layout = require(\"./layout\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar TimePanelTableLayout = function(_TimePanel) {\r\n _inheritsLoose(TimePanelTableLayout, _TimePanel);\r\n\r\n function TimePanelTableLayout() {\r\n return _TimePanel.apply(this, arguments) || this\r\n }\r\n _createClass(TimePanelTableLayout, [{\r\n key: \"_propsInfo\",\r\n get: function() {\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 }, {\r\n key: \"_viewComponent\",\r\n get: function() {\r\n return _layout.TimePanelTableLayout\r\n }\r\n }]);\r\n return TimePanelTableLayout\r\n}(_time_panel.TimePanel);\r\nexports.default = TimePanelTableLayout;\r\n(0, _component_registrator.default)(\"dxTimePanelTableLayout\", TimePanelTableLayout);\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/scheduler/workspaces/base/time_panel/layout.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.viewFunction = exports.TimePanelTableLayout = exports.TimePanelLayoutProps = void 0;\r\nvar _inferno = require(\"inferno\");\r\nvar _inferno2 = require(\"@devextreme/runtime/inferno\");\r\nvar _row = require(\"../row\");\r\nvar _cell = require(\"./cell\");\r\nvar _cell2 = require(\"../cell\");\r\nvar _table = require(\"../table\");\r\nvar _title = require(\"../date_table/all_day_panel/title\");\r\nvar _excluded = [\"groupOrientation\", \"tableRef\", \"timeCellTemplate\", \"timePanelData\"];\r\n\r\nfunction _objectWithoutProperties(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = _objectWithoutPropertiesLoose(source, excluded);\r\n var key, i;\r\n if (Object.getOwnPropertySymbols) {\r\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\r\n for (i = 0; i < sourceSymbolKeys.length; i++) {\r\n key = sourceSymbolKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n }\r\n return target\r\n}\r\n\r\nfunction _objectWithoutPropertiesLoose(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = {};\r\n var sourceKeys = Object.keys(source);\r\n var key, i;\r\n for (i = 0; i < sourceKeys.length; i++) {\r\n key = sourceKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n return target\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\nvar viewFunction = function(_ref) {\r\n var bottomVirtualRowHeight = _ref.bottomVirtualRowHeight,\r\n _ref$props = _ref.props,\r\n tableRef = _ref$props.tableRef,\r\n timeCellTemplate = _ref$props.timeCellTemplate,\r\n timePanelData = _ref$props.timePanelData,\r\n restAttributes = _ref.restAttributes,\r\n topVirtualRowHeight = _ref.topVirtualRowHeight;\r\n return (0, _inferno.normalizeProps)((0, _inferno.createComponentVNode)(2, _table.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((function(_ref2) {\r\n var dateTable = _ref2.dateTable,\r\n groupIndex = _ref2.groupIndex,\r\n isGroupedAllDayPanel = _ref2.isGroupedAllDayPanel,\r\n fragmentKey = _ref2.key;\r\n return (0, _inferno.createFragment)([isGroupedAllDayPanel && (0, _inferno.createComponentVNode)(2, _row.Row, {\r\n children: (0, _inferno.createComponentVNode)(2, _cell2.CellBase, {\r\n className: \"dx-scheduler-time-panel-title-cell\",\r\n children: (0, _inferno.createComponentVNode)(2, _title.AllDayPanelTitle)\r\n })\r\n }), dateTable.map((function(cell) {\r\n var groups = cell.groups,\r\n cellIndex = cell.index,\r\n isFirstGroupCell = cell.isFirstGroupCell,\r\n isLastGroupCell = cell.isLastGroupCell,\r\n key = cell.key,\r\n startDate = cell.startDate,\r\n text = cell.text;\r\n return (0, _inferno.createComponentVNode)(2, _row.Row, {\r\n className: \"dx-scheduler-time-panel-row\",\r\n children: (0, _inferno.createComponentVNode)(2, _cell.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 })\r\n }, key)\r\n }))], 0, fragmentKey)\r\n }))\r\n })))\r\n};\r\nexports.viewFunction = viewFunction;\r\nvar 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\nexports.TimePanelLayoutProps = TimePanelLayoutProps;\r\nvar getTemplate = function(TemplateProp) {\r\n return TemplateProp && (TemplateProp.defaultProps ? function(props) {\r\n return (0, _inferno.normalizeProps)((0, _inferno.createComponentVNode)(2, TemplateProp, _extends({}, props)))\r\n } : TemplateProp)\r\n};\r\nvar TimePanelTableLayout = function(_InfernoWrapperCompon) {\r\n _inheritsLoose(TimePanelTableLayout, _InfernoWrapperCompon);\r\n\r\n function TimePanelTableLayout(props) {\r\n var _this;\r\n _this = _InfernoWrapperCompon.call(this, props) || this;\r\n _this.state = {};\r\n return _this\r\n }\r\n var _proto = TimePanelTableLayout.prototype;\r\n _proto.createEffects = function() {\r\n return [(0, _inferno2.createReRenderEffect)()]\r\n };\r\n _proto.render = function() {\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 _createClass(TimePanelTableLayout, [{\r\n key: \"topVirtualRowHeight\",\r\n get: function() {\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 }, {\r\n key: \"bottomVirtualRowHeight\",\r\n get: function() {\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 }, {\r\n key: \"restAttributes\",\r\n get: function() {\r\n var _this$props = this.props,\r\n restProps = (_this$props.groupOrientation, _this$props.tableRef, _this$props.timeCellTemplate, _this$props.timePanelData, _objectWithoutProperties(_this$props, _excluded));\r\n return restProps\r\n }\r\n }]);\r\n return TimePanelTableLayout\r\n}(_inferno2.InfernoWrapperComponent);\r\nexports.TimePanelTableLayout = TimePanelTableLayout;\r\nTimePanelTableLayout.defaultProps = TimePanelLayoutProps;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/scheduler/workspaces/base/utils.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.isCellAllDay = exports.getTotalRowCount = exports.getTotalCellCount = exports.getSelectedCells = exports.getRowCountWithAllDayRow = exports.getHiddenInterval = exports.getDateTableWidth = exports.getDateForHeaderText = exports.getCellIndices = exports.createVirtualScrollingOptions = exports.createCellElementMetaData = exports.compareCellsByDateAndIndex = exports.DATE_TABLE_MIN_CELL_WIDTH = void 0;\r\nvar _date = _interopRequireDefault(require(\"../../../../../core/utils/date\"));\r\nvar _utils = require(\"../../../../../ui/scheduler/resources/utils\");\r\nvar _utils2 = require(\"../utils\");\r\nvar _const = require(\"../const\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _toConsumableArray(arr) {\r\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread()\r\n}\r\n\r\nfunction _nonIterableSpread() {\r\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _unsupportedIterableToArray(o, minLen) {\r\n if (!o) {\r\n return\r\n }\r\n if (\"string\" === typeof o) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n var n = Object.prototype.toString.call(o).slice(8, -1);\r\n if (\"Object\" === n && o.constructor) {\r\n n = o.constructor.name\r\n }\r\n if (\"Map\" === n || \"Set\" === n) {\r\n return Array.from(o)\r\n }\r\n if (\"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n}\r\n\r\nfunction _iterableToArray(iter) {\r\n if (\"undefined\" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter[\"@@iterator\"]) {\r\n return Array.from(iter)\r\n }\r\n}\r\n\r\nfunction _arrayWithoutHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return _arrayLikeToArray(arr)\r\n }\r\n}\r\n\r\nfunction _arrayLikeToArray(arr, len) {\r\n if (null == len || len > arr.length) {\r\n len = arr.length\r\n }\r\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\r\n arr2[i] = arr[i]\r\n }\r\n return arr2\r\n}\r\nvar DAY_MS = _date.default.dateToMilliseconds(\"day\");\r\nvar HOUR_MS = _date.default.dateToMilliseconds(\"hour\");\r\nvar DATE_TABLE_MIN_CELL_WIDTH = 75;\r\nexports.DATE_TABLE_MIN_CELL_WIDTH = DATE_TABLE_MIN_CELL_WIDTH;\r\nvar getTotalRowCount = function(rowCount, groupOrientation, groups, isAllDayPanelVisible) {\r\n var isVerticalGrouping = (0, _utils2.isVerticalGroupingApplied)(groups, groupOrientation);\r\n var groupCount = (0, _utils.getGroupCount)(groups);\r\n var totalRowCount = isVerticalGrouping ? rowCount * groupCount : rowCount;\r\n return isAllDayPanelVisible ? totalRowCount + groupCount : totalRowCount\r\n};\r\nexports.getTotalRowCount = getTotalRowCount;\r\nvar getTotalCellCount = function(cellCount, groupOrientation, groups) {\r\n var isHorizontalGrouping = (0, _utils2.isHorizontalGroupingApplied)(groups, groupOrientation);\r\n var groupCount = (0, _utils.getGroupCount)(groups);\r\n return isHorizontalGrouping ? cellCount * groupCount : cellCount\r\n};\r\nexports.getTotalCellCount = getTotalCellCount;\r\nvar getRowCountWithAllDayRow = function(rowCount, isAllDayPanelVisible) {\r\n return isAllDayPanelVisible ? rowCount + 1 : rowCount\r\n};\r\nexports.getRowCountWithAllDayRow = getRowCountWithAllDayRow;\r\nvar getHiddenInterval = function(hoursInterval, cellCountInDay) {\r\n var visibleInterval = hoursInterval * cellCountInDay * HOUR_MS;\r\n return DAY_MS - visibleInterval\r\n};\r\nexports.getHiddenInterval = getHiddenInterval;\r\nvar createCellElementMetaData = function(tableRect, cellRect) {\r\n var bottom = cellRect.bottom,\r\n height = cellRect.height,\r\n left = cellRect.left,\r\n right = cellRect.right,\r\n top = cellRect.top,\r\n width = cellRect.width,\r\n x = cellRect.x,\r\n y = cellRect.y;\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\nexports.createCellElementMetaData = createCellElementMetaData;\r\nvar getDateForHeaderText = function(_, date) {\r\n return date\r\n};\r\nexports.getDateForHeaderText = getDateForHeaderText;\r\nvar getDateTableWidth = function(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\nexports.getDateTableWidth = getDateTableWidth;\r\nvar createVirtualScrollingOptions = function(options) {\r\n return {\r\n getCellHeight: function() {\r\n return options.cellHeight\r\n },\r\n getCellWidth: function() {\r\n return options.cellWidth\r\n },\r\n getCellMinWidth: function() {\r\n return DATE_TABLE_MIN_CELL_WIDTH\r\n },\r\n isRTL: function() {\r\n return options.rtlEnabled\r\n },\r\n getSchedulerHeight: function() {\r\n return options.schedulerHeight\r\n },\r\n getSchedulerWidth: function() {\r\n return options.schedulerWidth\r\n },\r\n getViewHeight: function() {\r\n return options.viewHeight\r\n },\r\n getViewWidth: function() {\r\n return options.viewWidth\r\n },\r\n getScrolling: function() {\r\n return options.scrolling\r\n },\r\n getScrollableOuterWidth: function() {\r\n return options.scrollableWidth\r\n },\r\n getGroupCount: function() {\r\n return (0, _utils.getGroupCount)(options.groups)\r\n },\r\n isVerticalGrouping: function() {\r\n return options.isVerticalGrouping\r\n },\r\n getTotalRowCount: function() {\r\n return options.completeRowCount\r\n },\r\n getTotalCellCount: function() {\r\n return options.completeColumnCount\r\n },\r\n getWindowHeight: function() {\r\n return options.windowHeight\r\n },\r\n getWindowWidth: function() {\r\n return options.windowWidth\r\n }\r\n }\r\n};\r\nexports.createVirtualScrollingOptions = createVirtualScrollingOptions;\r\nvar getCellIndices = function(cell) {\r\n var row = cell.closest(\".\".concat(_const.DATE_TABLE_ROW_CLASS, \", .\").concat(_const.ALL_DAY_ROW_CLASS));\r\n var rowParent = row.parentNode;\r\n var cellParent = cell.parentNode;\r\n var columnIndex = _toConsumableArray(Array.from(cellParent.children)).filter((function(child) {\r\n return child.className.includes(_const.DATE_TABLE_CELL_CLASS) || child.className.includes(_const.ALL_DAY_PANEL_CELL_CLASS)\r\n })).indexOf(cell);\r\n var rowIndex = _toConsumableArray(Array.from(rowParent.children)).filter((function(child) {\r\n return child.className.includes(_const.DATE_TABLE_ROW_CLASS)\r\n })).indexOf(row);\r\n return {\r\n columnIndex: columnIndex,\r\n rowIndex: rowIndex\r\n }\r\n};\r\nexports.getCellIndices = getCellIndices;\r\nvar compareCellsByDateAndIndex = function(daysAndIndexes) {\r\n var date = daysAndIndexes.date,\r\n firstDate = daysAndIndexes.firstDate,\r\n firstIndex = daysAndIndexes.firstIndex,\r\n index = daysAndIndexes.index,\r\n lastDate = daysAndIndexes.lastDate,\r\n lastIndex = daysAndIndexes.lastIndex;\r\n if (firstDate === lastDate) {\r\n var validFirstIndex = firstIndex;\r\n var validLastIndex = lastIndex;\r\n if (validFirstIndex > validLastIndex) {\r\n var _ref = [validLastIndex, validFirstIndex];\r\n validFirstIndex = _ref[0];\r\n validLastIndex = _ref[1]\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\nexports.compareCellsByDateAndIndex = compareCellsByDateAndIndex;\r\nvar filterCellsByDateAndIndex = function(cellsRow, filterData) {\r\n var firstDate = filterData.firstDate,\r\n firstIndex = filterData.firstIndex,\r\n lastDate = filterData.lastDate,\r\n lastIndex = filterData.lastIndex;\r\n var firstDay = _date.default.trimTime(firstDate).getTime();\r\n var lastDay = _date.default.trimTime(lastDate).getTime();\r\n return cellsRow.filter((function(cell) {\r\n var index = cell.index,\r\n startDate = cell.startDate;\r\n var day = _date.default.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\nvar getSelectedCells = function(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 var _ref2 = [lastCell, firstCell];\r\n firstCell = _ref2[0];\r\n lastCell = _ref2[1]\r\n }\r\n var _firstCell = firstCell,\r\n firstGroupIndex = _firstCell.groupIndex,\r\n firstCellIndex = _firstCell.index,\r\n firstStartDate = _firstCell.startDate;\r\n var _lastCell = lastCell,\r\n lastCellIndex = _lastCell.index,\r\n lastStartDate = _lastCell.startDate;\r\n var cells = viewDataProvider.getCellsByGroupIndexAndAllDay(null !== firstGroupIndex && void 0 !== firstGroupIndex ? firstGroupIndex : 0, isLastSelectedCellAllDay);\r\n var filteredCells = cells.reduce((function(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.apply(selectedCells, _toConsumableArray(filteredRow));\r\n return selectedCells\r\n }), []);\r\n var selectedCells = filteredCells.sort((function(firstArg, secondArg) {\r\n return firstArg.startDate.getTime() - secondArg.startDate.getTime()\r\n }));\r\n return selectedCells\r\n};\r\nexports.getSelectedCells = getSelectedCells;\r\nvar isCellAllDay = function(cell) {\r\n return cell.className.includes(_const.ALL_DAY_PANEL_CELL_CLASS)\r\n};\r\nexports.isCellAllDay = isCellAllDay;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/scheduler/workspaces/base/virtual_cell.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.viewFunction = exports.VirtualCellProps = exports.VirtualCell = void 0;\r\nvar _inferno = require(\"inferno\");\r\nvar _inferno2 = require(\"@devextreme/runtime/inferno\");\r\nvar _utils = require(\"../utils\");\r\nvar _header_cell = require(\"./header_cell\");\r\nvar _ordinary_cell = require(\"./ordinary_cell\");\r\nvar _excluded = [\"colSpan\", \"isHeaderCell\", \"width\"];\r\n\r\nfunction _objectWithoutProperties(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = _objectWithoutPropertiesLoose(source, excluded);\r\n var key, i;\r\n if (Object.getOwnPropertySymbols) {\r\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\r\n for (i = 0; i < sourceSymbolKeys.length; i++) {\r\n key = sourceSymbolKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n }\r\n return target\r\n}\r\n\r\nfunction _objectWithoutPropertiesLoose(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = {};\r\n var sourceKeys = Object.keys(source);\r\n var key, i;\r\n for (i = 0; i < sourceKeys.length; i++) {\r\n key = sourceKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n return target\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar viewFunction = function(_ref) {\r\n var _ref$props = _ref.props,\r\n colSpan = _ref$props.colSpan,\r\n isHeaderCell = _ref$props.isHeaderCell,\r\n style = _ref.style;\r\n var Cell = isHeaderCell ? _header_cell.HeaderCell : _ordinary_cell.OrdinaryCell;\r\n return (0, _inferno.createComponentVNode)(2, Cell, {\r\n className: \"dx-scheduler-virtual-cell\",\r\n styles: style,\r\n colSpan: colSpan\r\n })\r\n};\r\nexports.viewFunction = viewFunction;\r\nvar VirtualCellProps = {\r\n width: 0,\r\n isHeaderCell: false\r\n};\r\nexports.VirtualCellProps = VirtualCellProps;\r\nvar VirtualCell = function(_BaseInfernoComponent) {\r\n _inheritsLoose(VirtualCell, _BaseInfernoComponent);\r\n\r\n function VirtualCell(props) {\r\n var _this;\r\n _this = _BaseInfernoComponent.call(this, props) || this;\r\n _this.state = {};\r\n return _this\r\n }\r\n var _proto = VirtualCell.prototype;\r\n _proto.render = function() {\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 _createClass(VirtualCell, [{\r\n key: \"style\",\r\n get: function() {\r\n var width = this.props.width;\r\n var style = this.restAttributes.style;\r\n return (0, _utils.addWidthToStyle)(width, style)\r\n }\r\n }, {\r\n key: \"restAttributes\",\r\n get: function() {\r\n var _this$props = this.props,\r\n restProps = (_this$props.colSpan, _this$props.isHeaderCell, _this$props.width, _objectWithoutProperties(_this$props, _excluded));\r\n return restProps\r\n }\r\n }]);\r\n return VirtualCell\r\n}(_inferno2.BaseInfernoComponent);\r\nexports.VirtualCell = VirtualCell;\r\nVirtualCell.defaultProps = VirtualCellProps;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/scheduler/workspaces/base/virtual_row.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.viewFunction = exports.VirtualRowProps = exports.VirtualRow = void 0;\r\nvar _inferno = require(\"inferno\");\r\nvar _inferno2 = require(\"@devextreme/runtime/inferno\");\r\nvar _utils = require(\"../utils\");\r\nvar _row = require(\"./row\");\r\nvar _virtual_cell = require(\"./virtual_cell\");\r\nvar _excluded = [\"cellsCount\", \"children\", \"className\", \"height\", \"isHeaderRow\", \"leftVirtualCellCount\", \"leftVirtualCellWidth\", \"rightVirtualCellCount\", \"rightVirtualCellWidth\", \"styles\"];\r\n\r\nfunction _objectWithoutProperties(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = _objectWithoutPropertiesLoose(source, excluded);\r\n var key, i;\r\n if (Object.getOwnPropertySymbols) {\r\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\r\n for (i = 0; i < sourceSymbolKeys.length; i++) {\r\n key = sourceSymbolKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n }\r\n return target\r\n}\r\n\r\nfunction _objectWithoutPropertiesLoose(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = {};\r\n var sourceKeys = Object.keys(source);\r\n var key, i;\r\n for (i = 0; i < sourceKeys.length; i++) {\r\n key = sourceKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n return target\r\n}\r\n\r\nfunction _toConsumableArray(arr) {\r\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread()\r\n}\r\n\r\nfunction _nonIterableSpread() {\r\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _unsupportedIterableToArray(o, minLen) {\r\n if (!o) {\r\n return\r\n }\r\n if (\"string\" === typeof o) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n var n = Object.prototype.toString.call(o).slice(8, -1);\r\n if (\"Object\" === n && o.constructor) {\r\n n = o.constructor.name\r\n }\r\n if (\"Map\" === n || \"Set\" === n) {\r\n return Array.from(o)\r\n }\r\n if (\"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n}\r\n\r\nfunction _iterableToArray(iter) {\r\n if (\"undefined\" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter[\"@@iterator\"]) {\r\n return Array.from(iter)\r\n }\r\n}\r\n\r\nfunction _arrayWithoutHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return _arrayLikeToArray(arr)\r\n }\r\n}\r\n\r\nfunction _arrayLikeToArray(arr, len) {\r\n if (null == len || len > arr.length) {\r\n len = arr.length\r\n }\r\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\r\n arr2[i] = arr[i]\r\n }\r\n return arr2\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\nvar viewFunction = function(_ref) {\r\n var classes = _ref.classes,\r\n _ref$props = _ref.props,\r\n leftVirtualCellCount = _ref$props.leftVirtualCellCount,\r\n leftVirtualCellWidth = _ref$props.leftVirtualCellWidth,\r\n rightVirtualCellCount = _ref$props.rightVirtualCellCount,\r\n rightVirtualCellWidth = _ref$props.rightVirtualCellWidth,\r\n style = _ref.style,\r\n virtualCells = _ref.virtualCells;\r\n return (0, _inferno.createComponentVNode)(2, _row.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((function(_, index) {\r\n return (0, _inferno.createComponentVNode)(2, _virtual_cell.VirtualCell, null, index.toString())\r\n }))\r\n })\r\n};\r\nexports.viewFunction = viewFunction;\r\nvar VirtualRowProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(_row.RowProps), Object.getOwnPropertyDescriptors({\r\n leftVirtualCellWidth: 0,\r\n rightVirtualCellWidth: 0,\r\n cellsCount: 1\r\n})));\r\nexports.VirtualRowProps = VirtualRowProps;\r\nvar VirtualRow = function(_BaseInfernoComponent) {\r\n _inheritsLoose(VirtualRow, _BaseInfernoComponent);\r\n\r\n function VirtualRow(props) {\r\n var _this;\r\n _this = _BaseInfernoComponent.call(this, props) || this;\r\n _this.state = {};\r\n _this.__getterCache = {};\r\n return _this\r\n }\r\n var _proto = VirtualRow.prototype;\r\n _proto.componentWillUpdate = function(nextProps, nextState, context) {\r\n if (this.props.cellsCount !== nextProps.cellsCount) {\r\n this.__getterCache.virtualCells = void 0\r\n }\r\n };\r\n _proto.render = function() {\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 _createClass(VirtualRow, [{\r\n key: \"style\",\r\n get: function() {\r\n var height = this.props.height;\r\n var style = this.restAttributes.style;\r\n return (0, _utils.addHeightToStyle)(height, style)\r\n }\r\n }, {\r\n key: \"classes\",\r\n get: function() {\r\n var className = this.props.className;\r\n return \"dx-scheduler-virtual-row \".concat(className)\r\n }\r\n }, {\r\n key: \"virtualCells\",\r\n get: function() {\r\n var _this2 = this;\r\n if (void 0 !== this.__getterCache.virtualCells) {\r\n return this.__getterCache.virtualCells\r\n }\r\n return this.__getterCache.virtualCells = (cellsCount = _this2.props.cellsCount, _toConsumableArray(Array(cellsCount)));\r\n var cellsCount\r\n }\r\n }, {\r\n key: \"restAttributes\",\r\n get: function() {\r\n var _this$props = this.props,\r\n restProps = (_this$props.cellsCount, _this$props.children, _this$props.className, _this$props.height, _this$props.isHeaderRow, _this$props.leftVirtualCellCount, _this$props.leftVirtualCellWidth, _this$props.rightVirtualCellCount, _this$props.rightVirtualCellWidth, _this$props.styles, _objectWithoutProperties(_this$props, _excluded));\r\n return restProps\r\n }\r\n }]);\r\n return VirtualRow\r\n}(_inferno2.BaseInfernoComponent);\r\nexports.VirtualRow = VirtualRow;\r\nVirtualRow.defaultProps = VirtualRowProps;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/scheduler/workspaces/const.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.DefaultSizes = exports.DATE_TABLE_ROW_CLASS = exports.DATE_TABLE_CELL_CLASS = exports.ALL_DAY_ROW_CLASS = exports.ALL_DAY_PANEL_CELL_CLASS = void 0;\r\nvar DefaultSizes = {\r\n allDayPanelHeight: 25\r\n};\r\nexports.DefaultSizes = DefaultSizes;\r\nvar DATE_TABLE_CELL_CLASS = \"dx-scheduler-date-table-cell\";\r\nexports.DATE_TABLE_CELL_CLASS = DATE_TABLE_CELL_CLASS;\r\nvar ALL_DAY_PANEL_CELL_CLASS = \"dx-scheduler-all-day-table-cell\";\r\nexports.ALL_DAY_PANEL_CELL_CLASS = ALL_DAY_PANEL_CELL_CLASS;\r\nvar DATE_TABLE_ROW_CLASS = \"dx-scheduler-date-table-row\";\r\nexports.DATE_TABLE_ROW_CLASS = DATE_TABLE_ROW_CLASS;\r\nvar ALL_DAY_ROW_CLASS = \"dx-scheduler-all-day-table-row\";\r\nexports.ALL_DAY_ROW_CLASS = ALL_DAY_ROW_CLASS;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/scheduler/workspaces/month/date_table/cell.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.viewFunction = exports.MonthDateTableCell = void 0;\r\nvar _inferno = require(\"inferno\");\r\nvar _inferno2 = require(\"@devextreme/runtime/inferno\");\r\nvar _combine_classes = require(\"../../../../../utils/combine_classes\");\r\nvar _cell = require(\"../../base/date_table/cell\");\r\nvar _excluded = [\"allDay\", \"ariaLabel\", \"children\", \"className\", \"contentTemplateProps\", \"dataCellTemplate\", \"endDate\", \"firstDayOfMonth\", \"groupIndex\", \"groups\", \"index\", \"isFirstGroupCell\", \"isFocused\", \"isLastGroupCell\", \"isSelected\", \"otherMonth\", \"startDate\", \"text\", \"today\"];\r\n\r\nfunction _objectWithoutProperties(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = _objectWithoutPropertiesLoose(source, excluded);\r\n var key, i;\r\n if (Object.getOwnPropertySymbols) {\r\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\r\n for (i = 0; i < sourceSymbolKeys.length; i++) {\r\n key = sourceSymbolKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n }\r\n return target\r\n}\r\n\r\nfunction _objectWithoutPropertiesLoose(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = {};\r\n var sourceKeys = Object.keys(source);\r\n var key, i;\r\n for (i = 0; i < sourceKeys.length; i++) {\r\n key = sourceKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n return target\r\n}\r\n\r\nfunction _defineProperty(obj, key, value) {\r\n key = _toPropertyKey(key);\r\n if (key in obj) {\r\n Object.defineProperty(obj, key, {\r\n value: value,\r\n enumerable: true,\r\n configurable: true,\r\n writable: true\r\n })\r\n } else {\r\n obj[key] = value\r\n }\r\n return obj\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\nvar viewFunction = function(_ref) {\r\n var classes = _ref.classes,\r\n contentTemplateProps = _ref.contentTemplateProps,\r\n _ref$props = _ref.props,\r\n dataCellTemplate = _ref$props.dataCellTemplate,\r\n endDate = _ref$props.endDate,\r\n groupIndex = _ref$props.groupIndex,\r\n groups = _ref$props.groups,\r\n index = _ref$props.index,\r\n isFirstGroupCell = _ref$props.isFirstGroupCell,\r\n isFocused = _ref$props.isFocused,\r\n isLastGroupCell = _ref$props.isLastGroupCell,\r\n isSelected = _ref$props.isSelected,\r\n startDate = _ref$props.startDate,\r\n text = _ref$props.text;\r\n return (0, _inferno.createComponentVNode)(2, _cell.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: (0, _inferno.createVNode)(1, \"div\", \"dx-scheduler-date-table-cell-text\", text, 0)\r\n })\r\n};\r\nexports.viewFunction = viewFunction;\r\nvar getTemplate = function(TemplateProp) {\r\n return TemplateProp && (TemplateProp.defaultProps ? function(props) {\r\n return (0, _inferno.normalizeProps)((0, _inferno.createComponentVNode)(2, TemplateProp, _extends({}, props)))\r\n } : TemplateProp)\r\n};\r\nvar MonthDateTableCell = function(_BaseInfernoComponent) {\r\n _inheritsLoose(MonthDateTableCell, _BaseInfernoComponent);\r\n\r\n function MonthDateTableCell(props) {\r\n var _this;\r\n _this = _BaseInfernoComponent.call(this, props) || this;\r\n _this.state = {};\r\n _this.__getterCache = {};\r\n return _this\r\n }\r\n var _proto = MonthDateTableCell.prototype;\r\n _proto.componentWillUpdate = function(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 _proto.render = function() {\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 _createClass(MonthDateTableCell, [{\r\n key: \"classes\",\r\n get: function() {\r\n var _this$props = this.props,\r\n className = _this$props.className,\r\n firstDayOfMonth = _this$props.firstDayOfMonth,\r\n otherMonth = _this$props.otherMonth,\r\n today = _this$props.today;\r\n return (0, _combine_classes.combineClasses)(_defineProperty({\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 key: \"contentTemplateProps\",\r\n get: function() {\r\n var _this2 = this;\r\n if (void 0 !== this.__getterCache.contentTemplateProps) {\r\n return this.__getterCache.contentTemplateProps\r\n }\r\n return this.__getterCache.contentTemplateProps = (_this2$props = _this2.props, index = _this2$props.index, text = _this2$props.text, {\r\n data: {\r\n text: text\r\n },\r\n index: index\r\n });\r\n var _this2$props, index, text\r\n }\r\n }, {\r\n key: \"restAttributes\",\r\n get: function() {\r\n var _this$props2 = this.props,\r\n restProps = (_this$props2.allDay, _this$props2.ariaLabel, _this$props2.children, _this$props2.className, _this$props2.contentTemplateProps, _this$props2.dataCellTemplate, _this$props2.endDate, _this$props2.firstDayOfMonth, _this$props2.groupIndex, _this$props2.groups, _this$props2.index, _this$props2.isFirstGroupCell, _this$props2.isFocused, _this$props2.isLastGroupCell, _this$props2.isSelected, _this$props2.otherMonth, _this$props2.startDate, _this$props2.text, _this$props2.today, _objectWithoutProperties(_this$props2, _excluded));\r\n return restProps\r\n }\r\n }]);\r\n return MonthDateTableCell\r\n}(_inferno2.BaseInfernoComponent);\r\nexports.MonthDateTableCell = MonthDateTableCell;\r\nMonthDateTableCell.defaultProps = _cell.DateTableCellBaseProps;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/scheduler/workspaces/month/date_table/layout.j.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.default = void 0;\r\nvar _component_registrator = _interopRequireDefault(require(\"../../../../../../core/component_registrator\"));\r\nvar _date_table = require(\"../../../../../component_wrapper/scheduler/date_table\");\r\nvar _layout = require(\"./layout\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar MonthDateTableLayout = function(_DateTable) {\r\n _inheritsLoose(MonthDateTableLayout, _DateTable);\r\n\r\n function MonthDateTableLayout() {\r\n return _DateTable.apply(this, arguments) || this\r\n }\r\n _createClass(MonthDateTableLayout, [{\r\n key: \"_propsInfo\",\r\n get: function() {\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 }, {\r\n key: \"_viewComponent\",\r\n get: function() {\r\n return _layout.MonthDateTableLayout\r\n }\r\n }]);\r\n return MonthDateTableLayout\r\n}(_date_table.DateTable);\r\nexports.default = MonthDateTableLayout;\r\n(0, _component_registrator.default)(\"dxMonthDateTableLayout\", MonthDateTableLayout);\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/scheduler/workspaces/month/date_table/layout.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.viewFunction = exports.MonthDateTableLayout = void 0;\r\nvar _inferno = require(\"inferno\");\r\nvar _inferno2 = require(\"@devextreme/runtime/inferno\");\r\nvar _layout = require(\"../../base/date_table/layout\");\r\nvar _cell = require(\"./cell\");\r\nvar _excluded = [\"addDateTableClass\", \"addVerticalSizesClassToRows\", \"bottomVirtualRowHeight\", \"cellTemplate\", \"dataCellTemplate\", \"groupOrientation\", \"leftVirtualCellWidth\", \"rightVirtualCellWidth\", \"tableRef\", \"topVirtualRowHeight\", \"viewData\", \"width\"];\r\n\r\nfunction _objectWithoutProperties(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = _objectWithoutPropertiesLoose(source, excluded);\r\n var key, i;\r\n if (Object.getOwnPropertySymbols) {\r\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\r\n for (i = 0; i < sourceSymbolKeys.length; i++) {\r\n key = sourceSymbolKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n }\r\n return target\r\n}\r\n\r\nfunction _objectWithoutPropertiesLoose(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = {};\r\n var sourceKeys = Object.keys(source);\r\n var key, i;\r\n for (i = 0; i < sourceKeys.length; i++) {\r\n key = sourceKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n return target\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\nvar viewFunction = function(_ref) {\r\n var _ref$props = _ref.props,\r\n addDateTableClass = _ref$props.addDateTableClass,\r\n addVerticalSizesClassToRows = _ref$props.addVerticalSizesClassToRows,\r\n dataCellTemplate = _ref$props.dataCellTemplate,\r\n groupOrientation = _ref$props.groupOrientation,\r\n tableRef = _ref$props.tableRef,\r\n viewData = _ref$props.viewData,\r\n width = _ref$props.width,\r\n restAttributes = _ref.restAttributes;\r\n return (0, _inferno.normalizeProps)((0, _inferno.createComponentVNode)(2, _layout.DateTableLayoutBase, _extends({\r\n viewData: viewData,\r\n groupOrientation: groupOrientation,\r\n addDateTableClass: addDateTableClass,\r\n dataCellTemplate: dataCellTemplate,\r\n cellTemplate: _cell.MonthDateTableCell,\r\n tableRef: tableRef,\r\n addVerticalSizesClassToRows: addVerticalSizesClassToRows,\r\n width: width\r\n }, restAttributes)))\r\n};\r\nexports.viewFunction = viewFunction;\r\nvar getTemplate = function(TemplateProp) {\r\n return TemplateProp && (TemplateProp.defaultProps ? function(props) {\r\n return (0, _inferno.normalizeProps)((0, _inferno.createComponentVNode)(2, TemplateProp, _extends({}, props)))\r\n } : TemplateProp)\r\n};\r\nvar MonthDateTableLayout = function(_InfernoWrapperCompon) {\r\n _inheritsLoose(MonthDateTableLayout, _InfernoWrapperCompon);\r\n\r\n function MonthDateTableLayout(props) {\r\n var _this;\r\n _this = _InfernoWrapperCompon.call(this, props) || this;\r\n _this.state = {};\r\n return _this\r\n }\r\n var _proto = MonthDateTableLayout.prototype;\r\n _proto.createEffects = function() {\r\n return [(0, _inferno2.createReRenderEffect)()]\r\n };\r\n _proto.render = function() {\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 _createClass(MonthDateTableLayout, [{\r\n key: \"restAttributes\",\r\n get: function() {\r\n var _this$props = this.props,\r\n restProps = (_this$props.addDateTableClass, _this$props.addVerticalSizesClassToRows, _this$props.bottomVirtualRowHeight, _this$props.cellTemplate, _this$props.dataCellTemplate, _this$props.groupOrientation, _this$props.leftVirtualCellWidth, _this$props.rightVirtualCellWidth, _this$props.tableRef, _this$props.topVirtualRowHeight, _this$props.viewData, _this$props.width, _objectWithoutProperties(_this$props, _excluded));\r\n return restProps\r\n }\r\n }]);\r\n return MonthDateTableLayout\r\n}(_inferno2.InfernoWrapperComponent);\r\nexports.MonthDateTableLayout = MonthDateTableLayout;\r\nMonthDateTableLayout.defaultProps = _layout.DateTableLayoutProps;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/scheduler/workspaces/timeline/header_panel/date_header/layout.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.viewFunction = exports.TimelineDateHeaderLayout = void 0;\r\nvar _inferno = require(\"inferno\");\r\nvar _inferno2 = require(\"@devextreme/runtime/inferno\");\r\nvar _row = require(\"../../../base/row\");\r\nvar _utils = require(\"../../../utils\");\r\nvar _cell = require(\"../../../base/header_panel/date_header/cell\");\r\nvar _layout = require(\"../../../base/header_panel/date_header/layout\");\r\nvar _getThemeType2 = _interopRequireDefault(require(\"../../../../../../utils/getThemeType\"));\r\nvar _excluded = [\"dateCellTemplate\", \"dateHeaderData\", \"groupByDate\", \"groupOrientation\", \"groups\", \"timeCellTemplate\"];\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _objectWithoutProperties(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = _objectWithoutPropertiesLoose(source, excluded);\r\n var key, i;\r\n if (Object.getOwnPropertySymbols) {\r\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\r\n for (i = 0; i < sourceSymbolKeys.length; i++) {\r\n key = sourceSymbolKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n }\r\n return target\r\n}\r\n\r\nfunction _objectWithoutPropertiesLoose(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = {};\r\n var sourceKeys = Object.keys(source);\r\n var key, i;\r\n for (i = 0; i < sourceKeys.length; i++) {\r\n key = sourceKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n return target\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\nvar _getThemeType = (0, _getThemeType2.default)(),\r\n isMaterial = _getThemeType.isMaterial;\r\nvar viewFunction = function(_ref) {\r\n var isHorizontalGrouping = _ref.isHorizontalGrouping,\r\n _ref$props = _ref.props,\r\n dateCellTemplate = _ref$props.dateCellTemplate,\r\n dateHeaderData = _ref$props.dateHeaderData,\r\n timeCellTemplate = _ref$props.timeCellTemplate;\r\n var dataMap = dateHeaderData.dataMap,\r\n isMonthDateHeader = dateHeaderData.isMonthDateHeader,\r\n leftVirtualCellCount = dateHeaderData.leftVirtualCellCount,\r\n leftVirtualCellWidth = dateHeaderData.leftVirtualCellWidth,\r\n rightVirtualCellCount = dateHeaderData.rightVirtualCellCount,\r\n rightVirtualCellWidth = dateHeaderData.rightVirtualCellWidth,\r\n weekDayLeftVirtualCellCount = dateHeaderData.weekDayLeftVirtualCellCount,\r\n weekDayLeftVirtualCellWidth = dateHeaderData.weekDayLeftVirtualCellWidth,\r\n weekDayRightVirtualCellCount = dateHeaderData.weekDayRightVirtualCellCount,\r\n weekDayRightVirtualCellWidth = dateHeaderData.weekDayRightVirtualCellWidth;\r\n return (0, _inferno.createFragment)(dataMap.map((function(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 (0, _inferno.createComponentVNode)(2, _row.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((function(_ref2) {\r\n var colSpan = _ref2.colSpan,\r\n endDate = _ref2.endDate,\r\n groupIndex = _ref2.groupIndex,\r\n cellGroups = _ref2.groups,\r\n index = _ref2.index,\r\n isFirstGroupCell = _ref2.isFirstGroupCell,\r\n isLastGroupCell = _ref2.isLastGroupCell,\r\n key = _ref2.key,\r\n startDate = _ref2.startDate,\r\n text = _ref2.text,\r\n today = _ref2.today;\r\n return (0, _inferno.createComponentVNode)(2, _cell.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\nexports.viewFunction = viewFunction;\r\nvar getTemplate = function(TemplateProp) {\r\n return TemplateProp && (TemplateProp.defaultProps ? function(props) {\r\n return (0, _inferno.normalizeProps)((0, _inferno.createComponentVNode)(2, TemplateProp, _extends({}, props)))\r\n } : TemplateProp)\r\n};\r\nvar TimelineDateHeaderLayout = function(_BaseInfernoComponent) {\r\n _inheritsLoose(TimelineDateHeaderLayout, _BaseInfernoComponent);\r\n\r\n function TimelineDateHeaderLayout(props) {\r\n var _this;\r\n _this = _BaseInfernoComponent.call(this, props) || this;\r\n _this.state = {};\r\n return _this\r\n }\r\n var _proto = TimelineDateHeaderLayout.prototype;\r\n _proto.render = function() {\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 _createClass(TimelineDateHeaderLayout, [{\r\n key: \"isHorizontalGrouping\",\r\n get: function() {\r\n var _this$props = this.props,\r\n groupByDate = _this$props.groupByDate,\r\n groupOrientation = _this$props.groupOrientation,\r\n groups = _this$props.groups;\r\n return (0, _utils.isHorizontalGroupingApplied)(groups, groupOrientation) && !groupByDate\r\n }\r\n }, {\r\n key: \"restAttributes\",\r\n get: function() {\r\n var _this$props2 = this.props,\r\n restProps = (_this$props2.dateCellTemplate, _this$props2.dateHeaderData, _this$props2.groupByDate, _this$props2.groupOrientation, _this$props2.groups, _this$props2.timeCellTemplate, _objectWithoutProperties(_this$props2, _excluded));\r\n return restProps\r\n }\r\n }]);\r\n return TimelineDateHeaderLayout\r\n}(_inferno2.BaseInfernoComponent);\r\nexports.TimelineDateHeaderLayout = TimelineDateHeaderLayout;\r\nTimelineDateHeaderLayout.defaultProps = _layout.DateHeaderLayoutProps;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/scheduler/workspaces/timeline/header_panel/layout.j.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.default = void 0;\r\nvar _component_registrator = _interopRequireDefault(require(\"../../../../../../core/component_registrator\"));\r\nvar _header_panel = require(\"../../../../../component_wrapper/scheduler/header_panel\");\r\nvar _layout = require(\"./layout\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar TimelineHeaderPanelLayout = function(_HeaderPanel) {\r\n _inheritsLoose(TimelineHeaderPanelLayout, _HeaderPanel);\r\n\r\n function TimelineHeaderPanelLayout() {\r\n return _HeaderPanel.apply(this, arguments) || this\r\n }\r\n _createClass(TimelineHeaderPanelLayout, [{\r\n key: \"_propsInfo\",\r\n get: function() {\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 }, {\r\n key: \"_viewComponent\",\r\n get: function() {\r\n return _layout.TimelineHeaderPanelLayout\r\n }\r\n }]);\r\n return TimelineHeaderPanelLayout\r\n}(_header_panel.HeaderPanel);\r\nexports.default = TimelineHeaderPanelLayout;\r\n(0, _component_registrator.default)(\"dxTimelineHeaderPanelLayout\", TimelineHeaderPanelLayout);\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/scheduler/workspaces/timeline/header_panel/layout.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.viewFunction = exports.TimelineHeaderPanelLayout = void 0;\r\nvar _inferno = require(\"inferno\");\r\nvar _inferno2 = require(\"@devextreme/runtime/inferno\");\r\nvar _layout = require(\"../../base/header_panel/layout\");\r\nvar _layout2 = require(\"./date_header/layout\");\r\nvar _excluded = [\"className\", \"dateCellTemplate\", \"dateHeaderData\", \"dateHeaderTemplate\", \"elementRef\", \"groupByDate\", \"groupOrientation\", \"groupPanelData\", \"groups\", \"height\", \"isRenderDateHeader\", \"resourceCellTemplate\", \"timeCellTemplate\"];\r\n\r\nfunction _objectWithoutProperties(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = _objectWithoutPropertiesLoose(source, excluded);\r\n var key, i;\r\n if (Object.getOwnPropertySymbols) {\r\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\r\n for (i = 0; i < sourceSymbolKeys.length; i++) {\r\n key = sourceSymbolKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n }\r\n return target\r\n}\r\n\r\nfunction _objectWithoutPropertiesLoose(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = {};\r\n var sourceKeys = Object.keys(source);\r\n var key, i;\r\n for (i = 0; i < sourceKeys.length; i++) {\r\n key = sourceKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n return target\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\nvar viewFunction = function(_ref) {\r\n var _ref$props = _ref.props,\r\n dateCellTemplate = _ref$props.dateCellTemplate,\r\n dateHeaderData = _ref$props.dateHeaderData,\r\n groupByDate = _ref$props.groupByDate,\r\n groupOrientation = _ref$props.groupOrientation,\r\n groupPanelData = _ref$props.groupPanelData,\r\n groups = _ref$props.groups,\r\n isRenderDateHeader = _ref$props.isRenderDateHeader,\r\n resourceCellTemplate = _ref$props.resourceCellTemplate,\r\n timeCellTemplate = _ref$props.timeCellTemplate;\r\n return (0, _inferno.createComponentVNode)(2, _layout.HeaderPanelLayout, {\r\n dateHeaderTemplate: _layout2.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\nexports.viewFunction = viewFunction;\r\nvar getTemplate = function(TemplateProp) {\r\n return TemplateProp && (TemplateProp.defaultProps ? function(props) {\r\n return (0, _inferno.normalizeProps)((0, _inferno.createComponentVNode)(2, TemplateProp, _extends({}, props)))\r\n } : TemplateProp)\r\n};\r\nvar TimelineHeaderPanelLayout = function(_InfernoWrapperCompon) {\r\n _inheritsLoose(TimelineHeaderPanelLayout, _InfernoWrapperCompon);\r\n\r\n function TimelineHeaderPanelLayout(props) {\r\n var _this;\r\n _this = _InfernoWrapperCompon.call(this, props) || this;\r\n _this.state = {};\r\n return _this\r\n }\r\n var _proto = TimelineHeaderPanelLayout.prototype;\r\n _proto.createEffects = function() {\r\n return [(0, _inferno2.createReRenderEffect)()]\r\n };\r\n _proto.render = function() {\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 _createClass(TimelineHeaderPanelLayout, [{\r\n key: \"restAttributes\",\r\n get: function() {\r\n var _this$props = this.props,\r\n restProps = (_this$props.className, _this$props.dateCellTemplate, _this$props.dateHeaderData, _this$props.dateHeaderTemplate, _this$props.elementRef, _this$props.groupByDate, _this$props.groupOrientation, _this$props.groupPanelData, _this$props.groups, _this$props.height, _this$props.isRenderDateHeader, _this$props.resourceCellTemplate, _this$props.timeCellTemplate, _objectWithoutProperties(_this$props, _excluded));\r\n return restProps\r\n }\r\n }]);\r\n return TimelineHeaderPanelLayout\r\n}(_inferno2.InfernoWrapperComponent);\r\nexports.TimelineHeaderPanelLayout = TimelineHeaderPanelLayout;\r\nTimelineHeaderPanelLayout.defaultProps = _layout.HeaderPanelLayoutProps;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/scheduler/workspaces/utils.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.isVerticalGroupingApplied = exports.isHorizontalGroupingApplied = exports.isGroupingByDate = exports.getKeyByGroup = exports.getKeyByDateAndGroup = exports.getIsGroupedAllDayPanel = exports.getGroupCellClasses = exports.addWidthToStyle = exports.addToStyles = exports.addHeightToStyle = void 0;\r\nvar _combine_classes = require(\"../../../utils/combine_classes\");\r\nvar _consts = require(\"../consts\");\r\n\r\nfunction _defineProperty(obj, key, value) {\r\n key = _toPropertyKey(key);\r\n if (key in obj) {\r\n Object.defineProperty(obj, key, {\r\n value: value,\r\n enumerable: true,\r\n configurable: true,\r\n writable: true\r\n })\r\n } else {\r\n obj[key] = value\r\n }\r\n return obj\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\nvar getKeyByDateAndGroup = function(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\nexports.getKeyByDateAndGroup = getKeyByDateAndGroup;\r\nvar getKeyByGroup = function(groupIndex, isVerticalGrouping) {\r\n if (isVerticalGrouping && !!groupIndex) {\r\n return groupIndex.toString()\r\n }\r\n return \"0\"\r\n};\r\nexports.getKeyByGroup = getKeyByGroup;\r\nvar addToStyles = function(options, style) {\r\n var nextStyle = null !== style && void 0 !== style ? style : {};\r\n var result = _extends({}, nextStyle);\r\n options.forEach((function(_ref) {\r\n var attr = _ref.attr,\r\n value = _ref.value;\r\n result[attr] = value || nextStyle[attr]\r\n }));\r\n return result\r\n};\r\nexports.addToStyles = addToStyles;\r\nvar addHeightToStyle = function(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\nexports.addHeightToStyle = addHeightToStyle;\r\nvar addWidthToStyle = function(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\nexports.addWidthToStyle = addWidthToStyle;\r\nvar 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 (0, _combine_classes.combineClasses)(_defineProperty({\r\n \"dx-scheduler-first-group-cell\": isFirstGroupCell,\r\n \"dx-scheduler-last-group-cell\": isLastGroupCell\r\n }, className, true))\r\n};\r\nexports.getGroupCellClasses = getGroupCellClasses;\r\nvar getIsGroupedAllDayPanel = function(hasAllDayRow, isVerticalGrouping) {\r\n return hasAllDayRow && isVerticalGrouping\r\n};\r\nexports.getIsGroupedAllDayPanel = getIsGroupedAllDayPanel;\r\nvar isVerticalGroupingApplied = function(groups, groupOrientation) {\r\n return groupOrientation === _consts.VERTICAL_GROUP_ORIENTATION && !!groups.length\r\n};\r\nexports.isVerticalGroupingApplied = isVerticalGroupingApplied;\r\nvar isHorizontalGroupingApplied = function(groups, groupOrientation) {\r\n return groupOrientation === _consts.HORIZONTAL_GROUP_ORIENTATION && !!groups.length\r\n};\r\nexports.isHorizontalGroupingApplied = isHorizontalGroupingApplied;\r\nvar isGroupingByDate = function(groups, groupOrientation, groupByDate) {\r\n var isHorizontalGrouping = isHorizontalGroupingApplied(groups, groupOrientation);\r\n return groupByDate && isHorizontalGrouping\r\n};\r\nexports.isGroupingByDate = isGroupingByDate;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/scroll_view/common/consts.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.VALIDATE_WHEEL_TIMEOUT = exports.TopPocketState = exports.ShowScrollbarMode = exports.SCROLL_LINE_HEIGHT = exports.SCROLLVIEW_TOP_POCKET_CLASS = exports.SCROLLVIEW_REACHBOTTOM_TEXT_CLASS = exports.SCROLLVIEW_REACHBOTTOM_INDICATOR_CLASS = exports.SCROLLVIEW_REACHBOTTOM_CLASS = exports.SCROLLVIEW_PULLDOWN_VISIBLE_TEXT_CLASS = exports.SCROLLVIEW_PULLDOWN_TEXT_CLASS = exports.SCROLLVIEW_PULLDOWN_READY_CLASS = exports.SCROLLVIEW_PULLDOWN_LOADING_CLASS = exports.SCROLLVIEW_PULLDOWN_INDICATOR_CLASS = exports.SCROLLVIEW_PULLDOWN_IMAGE_CLASS = exports.SCROLLVIEW_PULLDOWN = exports.SCROLLVIEW_CONTENT_CLASS = exports.SCROLLVIEW_BOTTOM_POCKET_CLASS = exports.SCROLLABLE_WRAPPER_CLASS = exports.SCROLLABLE_SIMULATED_CLASS = exports.SCROLLABLE_SCROLL_CONTENT_CLASS = exports.SCROLLABLE_SCROLL_CLASS = exports.SCROLLABLE_SCROLLBAR_SIMULATED = exports.SCROLLABLE_SCROLLBAR_CLASS = exports.SCROLLABLE_SCROLLBAR_ACTIVE_CLASS = exports.SCROLLABLE_SCROLLBARS_HIDDEN = exports.SCROLLABLE_SCROLLBARS_ALWAYSVISIBLE = exports.SCROLLABLE_DISABLED_CLASS = exports.SCROLLABLE_CONTENT_CLASS = exports.SCROLLABLE_CONTAINER_CLASS = exports.PULLDOWN_ICON_CLASS = exports.KEY_CODES = exports.HOVER_ENABLED_STATE = exports.HIDE_SCROLLBAR_TIMEOUT = exports.DIRECTION_VERTICAL = exports.DIRECTION_HORIZONTAL = exports.DIRECTION_BOTH = void 0;\r\nvar SCROLL_LINE_HEIGHT = 40;\r\nexports.SCROLL_LINE_HEIGHT = SCROLL_LINE_HEIGHT;\r\nvar DIRECTION_VERTICAL = \"vertical\";\r\nexports.DIRECTION_VERTICAL = DIRECTION_VERTICAL;\r\nvar DIRECTION_HORIZONTAL = \"horizontal\";\r\nexports.DIRECTION_HORIZONTAL = DIRECTION_HORIZONTAL;\r\nvar DIRECTION_BOTH = \"both\";\r\nexports.DIRECTION_BOTH = DIRECTION_BOTH;\r\nvar SCROLLABLE_SIMULATED_CLASS = \"dx-scrollable-simulated\";\r\nexports.SCROLLABLE_SIMULATED_CLASS = SCROLLABLE_SIMULATED_CLASS;\r\nvar SCROLLABLE_CONTENT_CLASS = \"dx-scrollable-content\";\r\nexports.SCROLLABLE_CONTENT_CLASS = SCROLLABLE_CONTENT_CLASS;\r\nvar SCROLLABLE_WRAPPER_CLASS = \"dx-scrollable-wrapper\";\r\nexports.SCROLLABLE_WRAPPER_CLASS = SCROLLABLE_WRAPPER_CLASS;\r\nvar SCROLLABLE_CONTAINER_CLASS = \"dx-scrollable-container\";\r\nexports.SCROLLABLE_CONTAINER_CLASS = SCROLLABLE_CONTAINER_CLASS;\r\nvar SCROLLABLE_DISABLED_CLASS = \"dx-scrollable-disabled\";\r\nexports.SCROLLABLE_DISABLED_CLASS = SCROLLABLE_DISABLED_CLASS;\r\nvar SCROLLABLE_SCROLLBAR_SIMULATED = \"dx-scrollable-scrollbar-simulated\";\r\nexports.SCROLLABLE_SCROLLBAR_SIMULATED = SCROLLABLE_SCROLLBAR_SIMULATED;\r\nvar SCROLLABLE_SCROLLBARS_HIDDEN = \"dx-scrollable-scrollbars-hidden\";\r\nexports.SCROLLABLE_SCROLLBARS_HIDDEN = SCROLLABLE_SCROLLBARS_HIDDEN;\r\nvar SCROLLABLE_SCROLLBARS_ALWAYSVISIBLE = \"dx-scrollable-scrollbars-alwaysvisible\";\r\nexports.SCROLLABLE_SCROLLBARS_ALWAYSVISIBLE = SCROLLABLE_SCROLLBARS_ALWAYSVISIBLE;\r\nvar SCROLLABLE_SCROLLBAR_CLASS = \"dx-scrollable-scrollbar\";\r\nexports.SCROLLABLE_SCROLLBAR_CLASS = SCROLLABLE_SCROLLBAR_CLASS;\r\nvar SCROLLABLE_SCROLLBAR_ACTIVE_CLASS = \"dx-scrollable-scrollbar-active\";\r\nexports.SCROLLABLE_SCROLLBAR_ACTIVE_CLASS = SCROLLABLE_SCROLLBAR_ACTIVE_CLASS;\r\nvar SCROLLABLE_SCROLL_CLASS = \"dx-scrollable-scroll\";\r\nexports.SCROLLABLE_SCROLL_CLASS = SCROLLABLE_SCROLL_CLASS;\r\nvar SCROLLABLE_SCROLL_CONTENT_CLASS = \"dx-scrollable-scroll-content\";\r\nexports.SCROLLABLE_SCROLL_CONTENT_CLASS = SCROLLABLE_SCROLL_CONTENT_CLASS;\r\nvar HOVER_ENABLED_STATE = \"dx-scrollbar-hoverable\";\r\nexports.HOVER_ENABLED_STATE = HOVER_ENABLED_STATE;\r\nvar SCROLLVIEW_CONTENT_CLASS = \"dx-scrollview-content\";\r\nexports.SCROLLVIEW_CONTENT_CLASS = SCROLLVIEW_CONTENT_CLASS;\r\nvar SCROLLVIEW_TOP_POCKET_CLASS = \"dx-scrollview-top-pocket\";\r\nexports.SCROLLVIEW_TOP_POCKET_CLASS = SCROLLVIEW_TOP_POCKET_CLASS;\r\nvar SCROLLVIEW_PULLDOWN = \"dx-scrollview-pull-down\";\r\nexports.SCROLLVIEW_PULLDOWN = SCROLLVIEW_PULLDOWN;\r\nvar SCROLLVIEW_PULLDOWN_LOADING_CLASS = \"dx-scrollview-pull-down-loading\";\r\nexports.SCROLLVIEW_PULLDOWN_LOADING_CLASS = SCROLLVIEW_PULLDOWN_LOADING_CLASS;\r\nvar SCROLLVIEW_PULLDOWN_READY_CLASS = \"dx-scrollview-pull-down-ready\";\r\nexports.SCROLLVIEW_PULLDOWN_READY_CLASS = SCROLLVIEW_PULLDOWN_READY_CLASS;\r\nvar SCROLLVIEW_PULLDOWN_IMAGE_CLASS = \"dx-scrollview-pull-down-image\";\r\nexports.SCROLLVIEW_PULLDOWN_IMAGE_CLASS = SCROLLVIEW_PULLDOWN_IMAGE_CLASS;\r\nvar SCROLLVIEW_PULLDOWN_INDICATOR_CLASS = \"dx-scrollview-pull-down-indicator\";\r\nexports.SCROLLVIEW_PULLDOWN_INDICATOR_CLASS = SCROLLVIEW_PULLDOWN_INDICATOR_CLASS;\r\nvar SCROLLVIEW_PULLDOWN_TEXT_CLASS = \"dx-scrollview-pull-down-text\";\r\nexports.SCROLLVIEW_PULLDOWN_TEXT_CLASS = SCROLLVIEW_PULLDOWN_TEXT_CLASS;\r\nvar SCROLLVIEW_PULLDOWN_VISIBLE_TEXT_CLASS = \"dx-scrollview-pull-down-text-visible\";\r\nexports.SCROLLVIEW_PULLDOWN_VISIBLE_TEXT_CLASS = SCROLLVIEW_PULLDOWN_VISIBLE_TEXT_CLASS;\r\nvar PULLDOWN_ICON_CLASS = \"dx-icon-pulldown\";\r\nexports.PULLDOWN_ICON_CLASS = PULLDOWN_ICON_CLASS;\r\nvar SCROLLVIEW_BOTTOM_POCKET_CLASS = \"dx-scrollview-bottom-pocket\";\r\nexports.SCROLLVIEW_BOTTOM_POCKET_CLASS = SCROLLVIEW_BOTTOM_POCKET_CLASS;\r\nvar SCROLLVIEW_REACHBOTTOM_CLASS = \"dx-scrollview-scrollbottom\";\r\nexports.SCROLLVIEW_REACHBOTTOM_CLASS = SCROLLVIEW_REACHBOTTOM_CLASS;\r\nvar SCROLLVIEW_REACHBOTTOM_INDICATOR_CLASS = \"dx-scrollview-scrollbottom-indicator\";\r\nexports.SCROLLVIEW_REACHBOTTOM_INDICATOR_CLASS = SCROLLVIEW_REACHBOTTOM_INDICATOR_CLASS;\r\nvar SCROLLVIEW_REACHBOTTOM_TEXT_CLASS = \"dx-scrollview-scrollbottom-text\";\r\nexports.SCROLLVIEW_REACHBOTTOM_TEXT_CLASS = SCROLLVIEW_REACHBOTTOM_TEXT_CLASS;\r\nvar 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\nexports.TopPocketState = TopPocketState;\r\nvar ShowScrollbarMode = {\r\n HOVER: \"onHover\",\r\n ALWAYS: \"always\",\r\n NEVER: \"never\",\r\n SCROLL: \"onScroll\"\r\n};\r\nexports.ShowScrollbarMode = ShowScrollbarMode;\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};\r\nexports.KEY_CODES = KEY_CODES;\r\nvar VALIDATE_WHEEL_TIMEOUT = 500;\r\nexports.VALIDATE_WHEEL_TIMEOUT = VALIDATE_WHEEL_TIMEOUT;\r\nvar HIDE_SCROLLBAR_TIMEOUT = 500;\r\nexports.HIDE_SCROLLBAR_TIMEOUT = HIDE_SCROLLBAR_TIMEOUT;\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/scroll_view/utils/convert_location.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.convertToLocation = convertToLocation;\r\nvar _type = require(\"../../../../core/utils/type\");\r\nvar _common = require(\"../../../../core/utils/common\");\r\nvar _scroll_direction = require(\"./scroll_direction\");\r\n\r\nfunction convertToLocation(location, direction) {\r\n if ((0, _type.isPlainObject)(location)) {\r\n var left = (0, _common.ensureDefined)(location.left, location.x);\r\n var top = (0, _common.ensureDefined)(location.top, location.y);\r\n return {\r\n left: (0, _type.isDefined)(left) ? left : void 0,\r\n top: (0, _type.isDefined)(top) ? top : void 0\r\n }\r\n }\r\n var _ScrollDirection = new _scroll_direction.ScrollDirection(direction),\r\n isHorizontal = _ScrollDirection.isHorizontal,\r\n isVertical = _ScrollDirection.isVertical;\r\n return {\r\n left: isHorizontal && (0, _type.isDefined)(location) ? location : void 0,\r\n top: isVertical && (0, _type.isDefined)(location) ? location : void 0\r\n }\r\n}\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/scroll_view/utils/get_boundary_props.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.getBoundaryProps = getBoundaryProps;\r\nexports.isReachedBottom = isReachedBottom;\r\nexports.isReachedLeft = isReachedLeft;\r\nexports.isReachedRight = isReachedRight;\r\nexports.isReachedTop = isReachedTop;\r\nvar _get_scroll_left_max = require(\"./get_scroll_left_max\");\r\nvar _get_scroll_top_max = require(\"./get_scroll_top_max\");\r\nvar _scroll_direction = require(\"./scroll_direction\");\r\n\r\nfunction isReachedLeft(scrollOffsetLeft, epsilon) {\r\n return Math.round(scrollOffsetLeft) <= epsilon\r\n}\r\n\r\nfunction isReachedRight(element, scrollOffsetLeft, epsilon) {\r\n return Math.round((0, _get_scroll_left_max.getScrollLeftMax)(element) - scrollOffsetLeft) <= epsilon\r\n}\r\n\r\nfunction isReachedTop(scrollOffsetTop, epsilon) {\r\n return Math.round(scrollOffsetTop) <= epsilon\r\n}\r\n\r\nfunction isReachedBottom(element, scrollOffsetTop, pocketHeight, epsilon) {\r\n return Math.round((0, _get_scroll_top_max.getScrollTopMax)(element) - scrollOffsetTop - pocketHeight) <= epsilon\r\n}\r\n\r\nfunction getBoundaryProps(direction, scrollOffset, element) {\r\n var pocketHeight = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : 0;\r\n var left = scrollOffset.left,\r\n top = scrollOffset.top;\r\n var boundaryProps = {};\r\n var _ScrollDirection = new _scroll_direction.ScrollDirection(direction),\r\n isHorizontal = _ScrollDirection.isHorizontal,\r\n isVertical = _ScrollDirection.isVertical;\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 (cjs/renovation/ui/scroll_view/utils/get_element_location_internal.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.getElementLocationInternal = getElementLocationInternal;\r\nvar _inflector = require(\"../../../../core/utils/inflector\");\r\nvar _get_relative_offset = require(\"./get_relative_offset\");\r\nvar _consts = require(\"../common/consts\");\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\n\r\nfunction 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 === _consts.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((0, _inflector.titleize)(dimension))];\r\n var containerClientSize = containerElement[\"client\".concat((0, _inflector.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 = (0, _get_relative_offset.getRelativeOffset)(_consts.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 (cjs/renovation/ui/scroll_view/utils/get_element_style.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.getElementMargin = getElementMargin;\r\nexports.getElementOverflowX = getElementOverflowX;\r\nexports.getElementOverflowY = getElementOverflowY;\r\nexports.getElementPadding = getElementPadding;\r\nexports.getElementStyle = getElementStyle;\r\nexports.getElementTransform = getElementTransform;\r\nvar _inflector = require(\"../../../../core/utils/inflector\");\r\nvar _window = require(\"../../../../core/utils/window\");\r\nvar _type_conversion = require(\"../../../utils/type_conversion\");\r\n\r\nfunction getElementStyle(el) {\r\n var _getWindow$getCompute, _getWindow;\r\n return el && (0, _window.hasWindow)() ? null === (_getWindow$getCompute = (_getWindow = (0, _window.getWindow)()).getComputedStyle) || void 0 === _getWindow$getCompute ? void 0 : _getWindow$getCompute.call(_getWindow, el) : null\r\n}\r\n\r\nfunction getElementMargin(element, side) {\r\n var style = getElementStyle(element);\r\n return style ? (0, _type_conversion.toNumber)(style[\"margin\".concat((0, _inflector.titleize)(side))]) : 0\r\n}\r\n\r\nfunction getElementPadding(element, side) {\r\n var style = getElementStyle(element);\r\n return style ? (0, _type_conversion.toNumber)(style[\"padding\".concat((0, _inflector.titleize)(side))]) : 0\r\n}\r\n\r\nfunction getElementOverflowX(element) {\r\n var style = getElementStyle(element);\r\n return style ? style.overflowX : \"visible\"\r\n}\r\n\r\nfunction getElementOverflowY(element) {\r\n var style = getElementStyle(element);\r\n return style ? style.overflowY : \"visible\"\r\n}\r\n\r\nfunction getElementTransform(element) {\r\n var style = getElementStyle(element);\r\n return style ? style.transform : \"\"\r\n}\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/scroll_view/utils/get_relative_offset.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.getRelativeOffset = getRelativeOffset;\r\n\r\nfunction 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 (cjs/renovation/ui/scroll_view/utils/get_scroll_left_max.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.getScrollLeftMax = getScrollLeftMax;\r\n\r\nfunction getScrollLeftMax(element) {\r\n return element.scrollWidth - element.clientWidth\r\n}\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/scroll_view/utils/get_scroll_top_max.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.getScrollTopMax = getScrollTopMax;\r\n\r\nfunction getScrollTopMax(element) {\r\n return element.scrollHeight - element.clientHeight\r\n}\r\n","/**\r\n * DevExtreme (cjs/renovation/ui/scroll_view/utils/scroll_direction.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.ScrollDirection = void 0;\r\nvar _consts = require(\"../common/consts\");\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\nvar ScrollDirection = function() {\r\n function ScrollDirection(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 : _consts.DIRECTION_VERTICAL\r\n }\r\n _createClass(ScrollDirection, [{\r\n key: \"isHorizontal\",\r\n get: function() {\r\n return this.direction === _consts.DIRECTION_HORIZONTAL || this.direction === _consts.DIRECTION_BOTH\r\n }\r\n }, {\r\n key: \"isVertical\",\r\n get: function() {\r\n return this.direction === _consts.DIRECTION_VERTICAL || this.direction === _consts.DIRECTION_BOTH\r\n }\r\n }, {\r\n key: \"isBoth\",\r\n get: function() {\r\n return this.direction === _consts.DIRECTION_BOTH\r\n }\r\n }]);\r\n return ScrollDirection\r\n}();\r\nexports.ScrollDirection = ScrollDirection;\r\n","/**\r\n * DevExtreme (cjs/renovation/utils/combine_classes.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.combineClasses = combineClasses;\r\n\r\nfunction combineClasses(classesMap) {\r\n return Object.keys(classesMap).filter((function(p) {\r\n return classesMap[p]\r\n })).join(\" \")\r\n}\r\n","/**\r\n * DevExtreme (cjs/renovation/utils/dom.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.querySelectorInSameDocument = querySelectorInSameDocument;\r\n\r\nfunction 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 (cjs/renovation/utils/getThemeType.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _themes = require(\"../../ui/themes\");\r\nvar getThemeType = function() {\r\n var theme = (0, _themes.current)();\r\n return {\r\n isCompact: (0, _themes.isCompact)(theme),\r\n isMaterial: (0, _themes.isMaterial)(theme)\r\n }\r\n};\r\nvar _default = getThemeType;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/renovation/utils/get_computed_style.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = getElementComputedStyle;\r\nvar _window = require(\"../../core/utils/window\");\r\n\r\nfunction getElementComputedStyle(el) {\r\n var _window$getComputedSt;\r\n var window = (0, _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\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/renovation/utils/resolve_rtl.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.resolveRtlEnabled = resolveRtlEnabled;\r\nexports.resolveRtlEnabledDefinition = resolveRtlEnabledDefinition;\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _config = _interopRequireDefault(require(\"../../core/config\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction 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 (0, _config.default)().rtlEnabled\r\n}\r\n\r\nfunction resolveRtlEnabledDefinition(rtlProp, config) {\r\n var isPropDefined = (0, _type.isDefined)(rtlProp);\r\n var onlyGlobalDefined = (0, _type.isDefined)((0, _config.default)().rtlEnabled) && !isPropDefined && !(0, _type.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 (cjs/renovation/utils/shallow_equals.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.shallowEquals = void 0;\r\nvar shallowEquals = function(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((function(key) {\r\n return firstObject[key] === secondObject[key]\r\n }))\r\n};\r\nexports.shallowEquals = shallowEquals;\r\n","/**\r\n * DevExtreme (cjs/renovation/utils/subscribe_to_event.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.subscribeToDxInactiveEvent = exports.subscribeToDxHoverStartEvent = exports.subscribeToDxHoverEndEvent = exports.subscribeToDxFocusOutEvent = exports.subscribeToDxFocusInEvent = exports.subscribeToDxActiveEvent = exports.subscribeToDXScrollStopEvent = exports.subscribeToDXScrollStartEvent = exports.subscribeToDXScrollMoveEvent = exports.subscribeToDXScrollEndEvent = exports.subscribeToDXScrollCancelEvent = exports.subscribeToDXPointerUpEvent = exports.subscribeToDXPointerMoveEvent = exports.subscribeToDXPointerDownEvent = exports.subscribeToClickEvent = void 0;\r\nexports.subscribeToEvent = subscribeToEvent;\r\nexports.subscribeToScrollInitEvent = exports.subscribeToScrollEvent = exports.subscribeToMouseLeaveEvent = exports.subscribeToMouseEnterEvent = exports.subscribeToKeyDownEvent = void 0;\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar clickEvent = _interopRequireWildcard(require(\"../../events/click\"));\r\nvar _index = require(\"../../events/utils/index\");\r\nvar _emitterGesture = _interopRequireDefault(require(\"../../events/gesture/emitter.gesture.scroll\"));\r\nvar _pointer = _interopRequireDefault(require(\"../../events/pointer\"));\r\n\r\nfunction _getRequireWildcardCache(nodeInterop) {\r\n if (\"function\" !== typeof WeakMap) {\r\n return null\r\n }\r\n var cacheBabelInterop = new WeakMap;\r\n var cacheNodeInterop = new WeakMap;\r\n return (_getRequireWildcardCache = function(nodeInterop) {\r\n return nodeInterop ? cacheNodeInterop : cacheBabelInterop\r\n })(nodeInterop)\r\n}\r\n\r\nfunction _interopRequireWildcard(obj, nodeInterop) {\r\n if (!nodeInterop && obj && obj.__esModule) {\r\n return obj\r\n }\r\n if (null === obj || \"object\" !== _typeof(obj) && \"function\" !== typeof obj) {\r\n return {\r\n default: obj\r\n }\r\n }\r\n var cache = _getRequireWildcardCache(nodeInterop);\r\n if (cache && cache.has(obj)) {\r\n return cache.get(obj)\r\n }\r\n var newObj = {};\r\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\r\n for (var key in obj) {\r\n if (\"default\" !== key && Object.prototype.hasOwnProperty.call(obj, key)) {\r\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\r\n if (desc && (desc.get || desc.set)) {\r\n Object.defineProperty(newObj, key, desc)\r\n } else {\r\n newObj[key] = obj[key]\r\n }\r\n }\r\n }\r\n newObj.default = obj;\r\n if (cache) {\r\n cache.set(obj, newObj)\r\n }\r\n return newObj\r\n}\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction subscribeToEvent(eventName) {\r\n return function(element, handler, eventData, namespace) {\r\n var event = namespace ? (0, _index.addNamespace)(eventName, namespace) : eventName;\r\n if (handler) {\r\n _events_engine.default.on(element, event, eventData, handler);\r\n return function() {\r\n _events_engine.default.off(element, event, handler)\r\n }\r\n }\r\n return\r\n }\r\n}\r\nvar subscribeToClickEvent = subscribeToEvent(clickEvent.name);\r\nexports.subscribeToClickEvent = subscribeToClickEvent;\r\nvar subscribeToScrollEvent = subscribeToEvent(_emitterGesture.default.scroll);\r\nexports.subscribeToScrollEvent = subscribeToScrollEvent;\r\nvar subscribeToScrollInitEvent = subscribeToEvent(_emitterGesture.default.init);\r\nexports.subscribeToScrollInitEvent = subscribeToScrollInitEvent;\r\nvar subscribeToDXScrollStartEvent = subscribeToEvent(_emitterGesture.default.start);\r\nexports.subscribeToDXScrollStartEvent = subscribeToDXScrollStartEvent;\r\nvar subscribeToDXScrollMoveEvent = subscribeToEvent(_emitterGesture.default.move);\r\nexports.subscribeToDXScrollMoveEvent = subscribeToDXScrollMoveEvent;\r\nvar subscribeToDXScrollEndEvent = subscribeToEvent(_emitterGesture.default.end);\r\nexports.subscribeToDXScrollEndEvent = subscribeToDXScrollEndEvent;\r\nvar subscribeToDXScrollStopEvent = subscribeToEvent(_emitterGesture.default.stop);\r\nexports.subscribeToDXScrollStopEvent = subscribeToDXScrollStopEvent;\r\nvar subscribeToDXScrollCancelEvent = subscribeToEvent(_emitterGesture.default.cancel);\r\nexports.subscribeToDXScrollCancelEvent = subscribeToDXScrollCancelEvent;\r\nvar subscribeToDXPointerDownEvent = subscribeToEvent(_pointer.default.down);\r\nexports.subscribeToDXPointerDownEvent = subscribeToDXPointerDownEvent;\r\nvar subscribeToDXPointerUpEvent = subscribeToEvent(_pointer.default.up);\r\nexports.subscribeToDXPointerUpEvent = subscribeToDXPointerUpEvent;\r\nvar subscribeToDXPointerMoveEvent = subscribeToEvent(_pointer.default.move);\r\nexports.subscribeToDXPointerMoveEvent = subscribeToDXPointerMoveEvent;\r\nvar subscribeToMouseEnterEvent = subscribeToEvent(\"mouseenter\");\r\nexports.subscribeToMouseEnterEvent = subscribeToMouseEnterEvent;\r\nvar subscribeToMouseLeaveEvent = subscribeToEvent(\"mouseleave\");\r\nexports.subscribeToMouseLeaveEvent = subscribeToMouseLeaveEvent;\r\nvar subscribeToKeyDownEvent = subscribeToEvent(\"keydown\");\r\nexports.subscribeToKeyDownEvent = subscribeToKeyDownEvent;\r\nvar subscribeToDxActiveEvent = subscribeToEvent(\"dxactive\");\r\nexports.subscribeToDxActiveEvent = subscribeToDxActiveEvent;\r\nvar subscribeToDxInactiveEvent = subscribeToEvent(\"dxinactive\");\r\nexports.subscribeToDxInactiveEvent = subscribeToDxInactiveEvent;\r\nvar subscribeToDxHoverStartEvent = subscribeToEvent(\"dxhoverstart\");\r\nexports.subscribeToDxHoverStartEvent = subscribeToDxHoverStartEvent;\r\nvar subscribeToDxHoverEndEvent = subscribeToEvent(\"dxhoverend\");\r\nexports.subscribeToDxHoverEndEvent = subscribeToDxHoverEndEvent;\r\nvar subscribeToDxFocusInEvent = subscribeToEvent(\"focusin\");\r\nexports.subscribeToDxFocusInEvent = subscribeToDxFocusInEvent;\r\nvar subscribeToDxFocusOutEvent = subscribeToEvent(\"focusout\");\r\nexports.subscribeToDxFocusOutEvent = subscribeToDxFocusOutEvent;\r\n","/**\r\n * DevExtreme (cjs/renovation/utils/type_conversion.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.toNumber = toNumber;\r\n\r\nfunction toNumber(attribute) {\r\n return attribute ? Number(attribute.replace(\"px\", \"\")) : 0\r\n}\r\n","/**\r\n * DevExtreme (cjs/time_zone_utils.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.getTimeZones = void 0;\r\nvar _utils = _interopRequireDefault(require(\"./ui/scheduler/utils.timeZone\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar getTimeZones = _utils.default.getTimeZones;\r\nexports.getTimeZones = getTimeZones;\r\n","/**\r\n * DevExtreme (cjs/ui/accordion.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.default = void 0;\r\nvar _size = require(\"../core/utils/size\");\r\nvar _renderer = _interopRequireDefault(require(\"../core/renderer\"));\r\nvar _events_engine = _interopRequireDefault(require(\"../events/core/events_engine\"));\r\nvar _fx = _interopRequireDefault(require(\"../animation/fx\"));\r\nvar _click = require(\"../events/click\");\r\nvar _devices = _interopRequireDefault(require(\"../core/devices\"));\r\nvar _dom_adapter = _interopRequireDefault(require(\"../core/dom_adapter\"));\r\nvar _extend = require(\"../core/utils/extend\");\r\nvar _common = require(\"../core/utils/common\");\r\nvar _element = require(\"../core/element\");\r\nvar iteratorUtils = _interopRequireWildcard(require(\"../core/utils/iterator\"));\r\nvar _type = require(\"../core/utils/type\");\r\nvar _component_registrator = _interopRequireDefault(require(\"../core/component_registrator\"));\r\nvar _index = require(\"../events/utils/index\");\r\nvar _uiCollection_widget = _interopRequireDefault(require(\"./collection/ui.collection_widget.live_update\"));\r\nvar _deferred = require(\"../core/utils/deferred\");\r\nvar _bindable_template = require(\"../core/templates/bindable_template\");\r\nvar _icon = require(\"../core/utils/icon\");\r\nvar _themes = require(\"./themes\");\r\n\r\nfunction _getRequireWildcardCache(nodeInterop) {\r\n if (\"function\" !== typeof WeakMap) {\r\n return null\r\n }\r\n var cacheBabelInterop = new WeakMap;\r\n var cacheNodeInterop = new WeakMap;\r\n return (_getRequireWildcardCache = function(nodeInterop) {\r\n return nodeInterop ? cacheNodeInterop : cacheBabelInterop\r\n })(nodeInterop)\r\n}\r\n\r\nfunction _interopRequireWildcard(obj, nodeInterop) {\r\n if (!nodeInterop && obj && obj.__esModule) {\r\n return obj\r\n }\r\n if (null === obj || \"object\" !== _typeof(obj) && \"function\" !== typeof obj) {\r\n return {\r\n default: obj\r\n }\r\n }\r\n var cache = _getRequireWildcardCache(nodeInterop);\r\n if (cache && cache.has(obj)) {\r\n return cache.get(obj)\r\n }\r\n var newObj = {};\r\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\r\n for (var key in obj) {\r\n if (\"default\" !== key && Object.prototype.hasOwnProperty.call(obj, key)) {\r\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\r\n if (desc && (desc.get || desc.set)) {\r\n Object.defineProperty(newObj, key, desc)\r\n } else {\r\n newObj[key] = obj[key]\r\n }\r\n }\r\n }\r\n newObj.default = obj;\r\n if (cache) {\r\n cache.set(obj, newObj)\r\n }\r\n return newObj\r\n}\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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 = _uiCollection_widget.default.inherit({\r\n _activeStateUnit: \".\" + ACCORDION_ITEM_CLASS,\r\n _getDefaultOptions: function() {\r\n return (0, _extend.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 selectByClick: 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.default.real().deviceType && !_devices.default.isSimulator()\r\n },\r\n options: {\r\n focusStateEnabled: true\r\n }\r\n }, {\r\n device: function() {\r\n return (0, _themes.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 = (0, _renderer.default)(\"<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 _bindable_template.BindableTemplate((function($container, data) {\r\n if ((0, _type.isPlainObject)(data)) {\r\n var $iconElement = (0, _icon.getImageContainer)(data.icon);\r\n if ($iconElement) {\r\n $container.append($iconElement)\r\n }\r\n if ((0, _type.isDefined)(data.title) && !(0, _type.isPlainObject)(data.title)) {\r\n $container.append(_dom_adapter.default.createTextNode(data.title))\r\n }\r\n } else if ((0, _type.isDefined)(data)) {\r\n $container.text(String(data))\r\n }\r\n $container.wrapInner((0, _renderer.default)(\"<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 var _this = this;\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 (0, _common.deferRender)((function() {\r\n var selectedItemIndices = _this._getSelectedItemIndices();\r\n _this._renderSelection(selectedItemIndices, [])\r\n }))\r\n },\r\n _render: function() {\r\n var _this2 = this;\r\n this.callBase();\r\n _deferred.when.apply(this, this._deferredTemplateItems).done((function() {\r\n _this2._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 (0, _renderer.default)(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 ((0, _renderer.default)(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.Deferred;\r\n var itemTitle = this.callBase((0, _extend.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.Deferred;\r\n if ((0, _type.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, (0, _extend.extend)({}, args, {\r\n contentClass: ACCORDION_ITEM_BODY_CLASS,\r\n container: (0, _element.getPublicElement)((0, _renderer.default)(\"<div>\").appendTo((0, _renderer.default)(itemTitle).parent()))\r\n })))\r\n },\r\n _onItemTemplateRendered: function(_, renderArgs) {\r\n var _this3 = this;\r\n return function() {\r\n var item = _this3._deferredTemplateItems[renderArgs.index];\r\n item && item.resolve()\r\n }\r\n },\r\n _attachItemTitleClickAction: function(itemTitle) {\r\n var eventName = (0, _index.addNamespace)(_click.name, this.NAME);\r\n _events_engine.default.off(itemTitle, eventName);\r\n _events_engine.default.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 _this4 = this;\r\n var $items = this._itemElements();\r\n iteratorUtils.each(addedSelection, (function(_, index) {\r\n _this4._deferredItems[index].resolve();\r\n var $item = $items.eq(index).addClass(ACCORDION_ITEM_OPENED_CLASS).removeClass(ACCORDION_ITEM_CLOSED_CLASS);\r\n _this4.setAria(\"hidden\", false, $item.find(\".\" + ACCORDION_ITEM_BODY_CLASS))\r\n }));\r\n iteratorUtils.each(removedSelection, (function(_, index) {\r\n var $item = $items.eq(index).removeClass(ACCORDION_ITEM_OPENED_CLASS);\r\n _this4.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 _deferred.when.apply(_renderer.default, [].slice.call(this._itemElements()).map((function(item) {\r\n return that._updateItemHeight((0, _renderer.default)(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.default.isAnimating($item)) {\r\n _fx.default.stop($item)\r\n }\r\n var startItemHeight = (0, _size.getOuterHeight)($item);\r\n var finalItemHeight;\r\n if ($item.hasClass(ACCORDION_ITEM_OPENED_CLASS)) {\r\n finalItemHeight = itemHeight + (0, _size.getOuterHeight)($title);\r\n if (!finalItemHeight) {\r\n (0, _size.setHeight)($item, \"auto\");\r\n finalItemHeight = (0, _size.getOuterHeight)($item)\r\n }\r\n } else {\r\n finalItemHeight = (0, _size.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.Deferred).resolve()\r\n } else {\r\n d = _fx.default.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 += (0, _size.getOuterHeight)(title)\r\n }));\r\n return (0, _size.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((function(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 ((0, _type.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.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.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\n(0, _component_registrator.default)(\"dxAccordion\", Accordion);\r\nvar _default = Accordion;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/action_sheet.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../core/renderer\"));\r\nvar _window = require(\"../core/utils/window\");\r\nvar _common = require(\"../core/utils/common\");\r\nvar _message = _interopRequireDefault(require(\"../localization/message\"));\r\nvar _component_registrator = _interopRequireDefault(require(\"../core/component_registrator\"));\r\nvar _extend = require(\"../core/utils/extend\");\r\nvar _button = _interopRequireDefault(require(\"./button\"));\r\nvar _uiCollection_widget = _interopRequireDefault(require(\"./collection/ui.collection_widget.edit\"));\r\nvar _ui = _interopRequireDefault(require(\"./popup/ui.popup\"));\r\nvar _ui2 = _interopRequireDefault(require(\"./popover/ui.popover\"));\r\nvar _bindable_template = require(\"../core/templates/bindable_template\");\r\nvar _deferred = require(\"../core/utils/deferred\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar window = (0, _window.getWindow)();\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 = _uiCollection_widget.default.inherit({\r\n _getDefaultOptions: function() {\r\n return (0, _extend.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: _message.default.format(\"Cancel\"),\r\n onCancelClick: null,\r\n visible: false,\r\n noDataText: \"\",\r\n focusStateEnabled: false,\r\n selectByClick: 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 _bindable_template.BindableTemplate((function($container, data) {\r\n var button = new _button.default((0, _renderer.default)(\"<div>\"), (0, _extend.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: _common.noop,\r\n _renderDimensions: _common.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 = (0, _renderer.default)(\"<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 = (0, _renderer.default)(\"<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, _ui2.default, (0, _extend.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.$overlayContent().attr(\"role\", \"dialog\");\r\n this._popup.$wrapper().addClass(ACTION_SHEET_POPOVER_WRAPPER_CLASS)\r\n },\r\n _createPopup: function() {\r\n this._createComponent(this._$popup, _ui.default, (0, _extend.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\") || _common.noop;\r\n var that = this;\r\n this._$cancelButton = (0, _renderer.default)(\"<div>\").addClass(ACTION_SHEET_CANCEL_BUTTON_CLASS).appendTo(this._popup && this._popup.$content());\r\n this._createComponent(this._$cancelButton, _button.default, {\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: _common.noop,\r\n _itemClickHandler: function(e) {\r\n this.callBase(e);\r\n if (!(0, _renderer.default)(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 (!(0, _renderer.default)(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.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\n(0, _component_registrator.default)(\"dxActionSheet\", ActionSheet);\r\nvar _default = ActionSheet;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/autocomplete.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../core/renderer\"));\r\nvar _common = require(\"../core/utils/common\");\r\nvar _component_registrator = _interopRequireDefault(require(\"../core/component_registrator\"));\r\nvar _extend = require(\"../core/utils/extend\");\r\nvar _ui = _interopRequireDefault(require(\"./drop_down_editor/ui.drop_down_list\"));\r\nvar _deferred = require(\"../core/utils/deferred\");\r\nvar _index = require(\"../events/utils/index\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar AUTOCOMPLETE_CLASS = \"dx-autocomplete\";\r\nvar AUTOCOMPLETE_POPUP_WRAPPER_CLASS = \"dx-autocomplete-popup-wrapper\";\r\nvar Autocomplete = _ui.default.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 && (0, _renderer.default)(item);\r\n return (0, _extend.extend)({}, parent, {\r\n upArrow: function(e) {\r\n if (parent.upArrow.apply(this, arguments) && !(0, _index.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 (parent.downArrow.apply(this, arguments) && !(0, _index.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 (0, _extend.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 target = _ref.target;\r\n return !(0, _renderer.default)(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 var _this = this;\r\n return (0, _extend.extend)(this.callBase(), {\r\n pageLoadMode: \"none\",\r\n onSelectionChanged: function(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: _common.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.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\n(0, _component_registrator.default)(\"dxAutocomplete\", Autocomplete);\r\nvar _default = Autocomplete;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/box.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../core/renderer\"));\r\nvar _component_registrator = _interopRequireDefault(require(\"../core/component_registrator\"));\r\nvar _extend = require(\"../core/utils/extend\");\r\nvar _window = require(\"../core/utils/window\");\r\nvar _inflector = require(\"../core/utils/inflector\");\r\nvar _type = require(\"../core/utils/type\");\r\nvar _style = require(\"../core/utils/style\");\r\nvar _iterator = require(\"../core/utils/iterator\");\r\nvar _item = _interopRequireDefault(require(\"./collection/item\"));\r\nvar _uiCollection_widget = _interopRequireDefault(require(\"./collection/ui.collection_widget.edit\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\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 = function(element, prop, value) {\r\n value = (0, _style.normalizeStyleProp)(prop, value);\r\n element.style[(0, _style.styleProp)(prop)] = value;\r\n if (!(0, _window.hasWindow)()) {\r\n if (\"\" === value || !(0, _type.isDefined)(value)) {\r\n return\r\n }\r\n var cssName = (0, _inflector.dasherize)(prop);\r\n var styleExpr = cssName + \": \" + value + \";\";\r\n (0, _style.setStyle)(element, styleExpr, false)\r\n }\r\n};\r\nvar BoxItem = function(_CollectionWidgetItem) {\r\n _inheritsLoose(BoxItem, _CollectionWidgetItem);\r\n\r\n function BoxItem() {\r\n return _CollectionWidgetItem.apply(this, arguments) || this\r\n }\r\n var _proto = BoxItem.prototype;\r\n _proto._renderVisible = function(value, oldValue) {\r\n _CollectionWidgetItem.prototype._renderVisible.call(this, value);\r\n if ((0, _type.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 return BoxItem\r\n}(_item.default);\r\nvar LayoutStrategy = function() {\r\n function LayoutStrategy($element, option) {\r\n this._$element = $element;\r\n this._option = option\r\n }\r\n var _proto2 = LayoutStrategy.prototype;\r\n _proto2.renderBox = function() {\r\n this._$element.css({\r\n display: (0, _style.stylePropPrefix)(\"flexDirection\") + \"flex\"\r\n });\r\n setFlexProp(this._$element.get(0), \"flexDirection\", FLEX_DIRECTION_MAP[this._option(\"direction\")])\r\n };\r\n _proto2.renderAlign = function() {\r\n this._$element.css({\r\n justifyContent: this._normalizedAlign()\r\n })\r\n };\r\n _proto2._normalizedAlign = function() {\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 _proto2.renderCrossAlign = function() {\r\n this._$element.css({\r\n alignItems: this._normalizedCrossAlign()\r\n })\r\n };\r\n _proto2._normalizedCrossAlign = function() {\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 _proto2.renderItems = function($items) {\r\n var flexPropPrefix = (0, _style.stylePropPrefix)(\"flexDirection\");\r\n var direction = this._option(\"direction\");\r\n (0, _iterator.each)($items, (function() {\r\n var $item = (0, _renderer.default)(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\", (0, _type.isDefined)(item.shrink) ? item.shrink : SHRINK);\r\n $item.children().each((function(_, itemContent) {\r\n (0, _renderer.default)(itemContent).css({\r\n width: \"auto\",\r\n height: \"auto\",\r\n display: (0, _style.stylePropPrefix)(\"flexDirection\") + \"flex\",\r\n flexBasis: 0\r\n });\r\n setFlexProp(itemContent, \"flexGrow\", 1);\r\n setFlexProp(itemContent, \"flexDirection\", (0, _renderer.default)(itemContent)[0].style.flexDirection || \"column\")\r\n }))\r\n }))\r\n };\r\n return LayoutStrategy\r\n}();\r\nvar Box = function(_CollectionWidget) {\r\n _inheritsLoose(Box, _CollectionWidget);\r\n\r\n function Box() {\r\n return _CollectionWidget.apply(this, arguments) || this\r\n }\r\n var _proto3 = Box.prototype;\r\n _proto3._getDefaultOptions = function() {\r\n return (0, _extend.extend)(_CollectionWidget.prototype._getDefaultOptions.call(this), {\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 _proto3._itemClass = function() {\r\n return BOX_ITEM_CLASS\r\n };\r\n _proto3._itemDataKey = function() {\r\n return BOX_ITEM_DATA_KEY\r\n };\r\n _proto3._itemElements = function() {\r\n return this._itemContainer().children(this._itemSelector())\r\n };\r\n _proto3._init = function() {\r\n _CollectionWidget.prototype._init.call(this);\r\n this.$element().addClass(BOX_FLEX_CLASS);\r\n this._initLayout();\r\n this._initBoxQueue()\r\n };\r\n _proto3._initLayout = function() {\r\n this._layout = new LayoutStrategy(this.$element(), this.option.bind(this))\r\n };\r\n _proto3._initBoxQueue = function() {\r\n this._queue = this.option(\"_queue\") || []\r\n };\r\n _proto3._queueIsNotEmpty = function() {\r\n return this.option(\"_queue\") ? false : !!this._queue.length\r\n };\r\n _proto3._pushItemToQueue = function($item, config) {\r\n this._queue.push({\r\n $item: $item,\r\n config: config\r\n })\r\n };\r\n _proto3._shiftItemFromQueue = function() {\r\n return this._queue.shift()\r\n };\r\n _proto3._initMarkup = function() {\r\n this.$element().addClass(BOX_CLASS);\r\n this._layout.renderBox();\r\n _CollectionWidget.prototype._initMarkup.call(this);\r\n this._renderAlign();\r\n this._renderActions()\r\n };\r\n _proto3._renderActions = function() {\r\n this._onItemStateChanged = this._createActionByOption(\"onItemStateChanged\")\r\n };\r\n _proto3._renderAlign = function() {\r\n this._layout.renderAlign();\r\n this._layout.renderCrossAlign()\r\n };\r\n _proto3._renderItems = function(items) {\r\n _CollectionWidget.prototype._renderItems.call(this, items);\r\n while (this._queueIsNotEmpty()) {\r\n var item = this._shiftItemFromQueue();\r\n this._createComponent(item.$item, Box, (0, _extend.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 _proto3._renderItemContent = function(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 _CollectionWidget.prototype._renderItemContent.call(this, args)\r\n };\r\n _proto3._postprocessRenderItem = function(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 _proto3._createItemByTemplate = function(itemTemplate, args) {\r\n if (args.itemData.box) {\r\n return itemTemplate.source ? itemTemplate.source() : (0, _renderer.default)()\r\n }\r\n return _CollectionWidget.prototype._createItemByTemplate.call(this, itemTemplate, args)\r\n };\r\n _proto3._itemOptionChanged = function(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 _CollectionWidget.prototype._itemOptionChanged.call(this, item, property, value)\r\n };\r\n _proto3._optionChanged = function(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 _CollectionWidget.prototype._optionChanged.call(this, args)\r\n }\r\n };\r\n _proto3._itemOptions = function() {\r\n var _this = this;\r\n var options = _CollectionWidget.prototype._itemOptions.call(this);\r\n options.fireItemStateChangedAction = function(e) {\r\n _this._onItemStateChanged(e)\r\n };\r\n return options\r\n };\r\n return Box\r\n}(_uiCollection_widget.default);\r\nBox.ItemClass = BoxItem;\r\n(0, _component_registrator.default)(\"dxBox\", Box);\r\nvar _default = Box;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/button.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _button = _interopRequireDefault(require(\"../renovation/ui/button.j\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar _default = _button.default;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/button_group.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../core/renderer\"));\r\nvar _ui = _interopRequireDefault(require(\"./widget/ui.widget\"));\r\nvar _button = _interopRequireDefault(require(\"./button\"));\r\nvar _uiCollection_widget = _interopRequireDefault(require(\"./collection/ui.collection_widget.edit\"));\r\nvar _component_registrator = _interopRequireDefault(require(\"../core/component_registrator\"));\r\nvar _extend = require(\"../core/utils/extend\");\r\nvar _type = require(\"../core/utils/type\");\r\nvar _bindable_template = require(\"../core/templates/bindable_template\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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 = _uiCollection_widget.default.inherit({\r\n _initTemplates: function() {\r\n var _this = this;\r\n this.callBase();\r\n this._templateManager.addDefaultTemplates({\r\n item: new _bindable_template.BindableTemplate((function($container, data, model) {\r\n _this._prepareItemStyles($container);\r\n var template = _this.option(\"buttonTemplate\");\r\n _this._createComponent($container, _button.default, (0, _extend.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: function() {\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 (0, _extend.extend)(this.callBase(), {\r\n itemTemplateProperty: null\r\n })\r\n },\r\n _hasCustomTemplate: function(template) {\r\n return (0, _type.isFunction)(template) || this.option(\"integrationOptions.templates\")[template]\r\n },\r\n _prepareItemStyles: function($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: function(args) {\r\n args.container = (0, _renderer.default)(args.container).parent();\r\n return this.callBase(args)\r\n },\r\n _setAriaSelectionAttribute: function($target, value) {\r\n this.setAria(\"pressed\", value, $target)\r\n },\r\n _renderItemContentByNode: function(args, $node) {\r\n args.container = (0, _renderer.default)(args.container.children().first());\r\n return this.callBase(args, $node)\r\n },\r\n _focusTarget: function() {\r\n return this.$element().parent()\r\n },\r\n _keyboardEventBindingTarget: function() {\r\n return this._focusTarget()\r\n },\r\n _refreshContent: function() {\r\n this._prepareContent();\r\n this._renderContent()\r\n },\r\n _itemClass: function() {\r\n return BUTTON_GROUP_ITEM_CLASS\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});\r\nvar ButtonGroup = _ui.default.inherit({\r\n _getDefaultOptions: function() {\r\n return (0, _extend.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: function() {\r\n this.callBase();\r\n this._createItemClickAction()\r\n },\r\n _createItemClickAction: function() {\r\n this._itemClickAction = this._createActionByOption(\"onItemClick\")\r\n },\r\n _initMarkup: function() {\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: function() {\r\n var _this2 = this;\r\n var $buttons = (0, _renderer.default)(\"<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: function(e) {\r\n var width = _this2.option(\"width\");\r\n (0, _type.isDefined)(width) && (0, _renderer.default)(e.itemElement).addClass(BUTTON_GROUP_ITEM_HAS_WIDTH)\r\n },\r\n onSelectionChanged: function(e) {\r\n _this2._syncSelectionOptions();\r\n _this2._fireSelectionChangeEvent(e.addedItems, e.removedItems)\r\n },\r\n onItemClick: function(e) {\r\n _this2._itemClickAction(e)\r\n }\r\n };\r\n if ((0, _type.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: function() {\r\n this._setOptionWithoutOptionChange(\"selectedItems\", this._buttonsCollection.option(\"selectedItems\"));\r\n this._setOptionWithoutOptionChange(\"selectedItemKeys\", this._buttonsCollection.option(\"selectedItemKeys\"))\r\n },\r\n _optionChanged: function(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\n(0, _component_registrator.default)(\"dxButtonGroup\", ButtonGroup);\r\nvar _default = ButtonGroup;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/calendar.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _ui = _interopRequireDefault(require(\"./calendar/ui.calendar\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar _default = _ui.default;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/calendar/ui.calendar.base_view.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _dom_adapter = _interopRequireDefault(require(\"../../core/dom_adapter\"));\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _element_data = require(\"../../core/element_data\");\r\nvar _element = require(\"../../core/element\");\r\nvar _ui = _interopRequireDefault(require(\"../widget/ui.widget\"));\r\nvar _date = _interopRequireDefault(require(\"../../core/utils/date\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _date_serialization = _interopRequireDefault(require(\"../../core/utils/date_serialization\"));\r\nvar _message = _interopRequireDefault(require(\"../../localization/message\"));\r\nvar _index = require(\"../../events/utils/index\");\r\nvar _click = require(\"../../events/click\");\r\nvar _hover = require(\"../../events/hover\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar abstract = _ui.default.abstract;\r\nvar CALENDAR_OTHER_VIEW_CLASS = \"dx-calendar-other-view\";\r\nvar CALENDAR_CELL_CLASS = \"dx-calendar-cell\";\r\nvar CALENDAR_CELL_START_CLASS = \"dx-calendar-cell-start\";\r\nvar CALENDAR_CELL_END_CLASS = \"dx-calendar-cell-end\";\r\nvar CALENDAR_CELL_START_IN_ROW_CLASS = \"dx-calendar-cell-start-in-row\";\r\nvar CALENDAR_CELL_END_IN_ROW_CLASS = \"dx-calendar-cell-end-in-row\";\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_CELL_IN_RANGE_CLASS = \"dx-calendar-cell-in-range\";\r\nvar CALENDAR_CELL_RANGE_HOVER_CLASS = \"dx-calendar-cell-range-hover\";\r\nvar CALENDAR_CELL_RANGE_HOVER_START_CLASS = \"dx-calendar-cell-range-hover-start\";\r\nvar CALENDAR_CELL_RANGE_HOVER_END_CLASS = \"dx-calendar-cell-range-hover-end\";\r\nvar CALENDAR_RANGE_START_DATE_CLASS = \"dx-calendar-range-start-date\";\r\nvar CALENDAR_RANGE_END_DATE_CLASS = \"dx-calendar-range-end-date\";\r\nvar CALENDAR_CONTOURED_DATE_CLASS = \"dx-calendar-contoured-date\";\r\nvar NOT_WEEK_CELL_SELECTOR = \"td:not(.\".concat(CALENDAR_WEEK_NUMBER_CELL_CLASS, \")\");\r\nvar CALENDAR_DXCLICK_EVENT_NAME = (0, _index.addNamespace)(_click.name, \"dxCalendar\");\r\nvar CALENDAR_DXHOVERSTART_EVENT_NAME = (0, _index.addNamespace)(_hover.start, \"dxCalendar\");\r\nvar CALENDAR_DATE_VALUE_KEY = \"dxDateValueKey\";\r\nvar BaseView = _ui.default.inherit({\r\n _getViewName: function() {\r\n return \"base\"\r\n },\r\n _getDefaultOptions: function() {\r\n return (0, _extend.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 onCellHover: null,\r\n rowCount: 3,\r\n colCount: 4,\r\n allowValueSelection: true,\r\n _todayDate: function() {\r\n return new Date\r\n }\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._renderRange();\r\n this._renderEvents()\r\n },\r\n _createTable: function() {\r\n this._$table = (0, _renderer.default)(\"<table>\");\r\n var localizedWidgetName = _message.default.format(\"dxCalendar-ariaWidgetName\");\r\n var localizedHotKeysInfo = _message.default.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 = (0, _renderer.default)(\"<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 = _dom_adapter.default.createElement(\"tr\");\r\n this.setAria(\"role\", \"row\", (0, _renderer.default)(row));\r\n this.$body.get(0).appendChild(row);\r\n return row\r\n },\r\n _createCell: function(cellDate, cellIndex) {\r\n var cell = _dom_adapter.default.createElement(\"td\");\r\n var $cell = (0, _renderer.default)(cell);\r\n cell.className = this._getClassNameByDate(cellDate, cellIndex);\r\n cell.setAttribute(\"data-value\", _date_serialization.default.serializeDate(cellDate, _date.default.getShortDateFormat()));\r\n (0, _element_data.data)(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 cellDate = params.cellDate,\r\n prevCellDate = params.prevCellDate,\r\n row = params.row;\r\n if (prevCellDate) {\r\n _date.default.fixTimezoneGap(prevCellDate, cellDate)\r\n }\r\n params.prevCellDate = cellDate;\r\n var _this$_createCell = this._createCell(cellDate, cellIndex),\r\n cell = _this$_createCell.cell,\r\n $cell = _this$_createCell.$cell;\r\n var cellTemplate = this.option(\"cellTemplate\");\r\n (0, _renderer.default)(row).append(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, cellIndex) {\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 if (\"range\" === this.option(\"selectionMode\")) {\r\n if (0 === cellIndex) {\r\n className += \" \".concat(CALENDAR_CELL_START_IN_ROW_CLASS)\r\n }\r\n if (cellIndex === this.option(\"colCount\") - 1) {\r\n className += \" \".concat(CALENDAR_CELL_END_IN_ROW_CLASS)\r\n }\r\n if (this._isStartDayOfMonth(cellDate)) {\r\n className += \" \".concat(CALENDAR_CELL_START_CLASS)\r\n }\r\n if (this._isEndDayOfMonth(cellDate)) {\r\n className += \" \".concat(CALENDAR_CELL_END_CLASS)\r\n }\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: (0, _element.getPublicElement)($cell),\r\n index: cellIndex\r\n }\r\n },\r\n _renderEvents: function() {\r\n var _this = this;\r\n this._createCellClickAction();\r\n _events_engine.default.off(this._$table, CALENDAR_DXCLICK_EVENT_NAME);\r\n _events_engine.default.on(this._$table, CALENDAR_DXCLICK_EVENT_NAME, NOT_WEEK_CELL_SELECTOR, (function(e) {\r\n if (!(0, _renderer.default)(e.currentTarget).hasClass(CALENDAR_EMPTY_CELL_CLASS)) {\r\n _this._cellClickAction({\r\n event: e,\r\n value: (0, _renderer.default)(e.currentTarget).data(CALENDAR_DATE_VALUE_KEY)\r\n })\r\n }\r\n }));\r\n _events_engine.default.off(this._$table, CALENDAR_DXHOVERSTART_EVENT_NAME);\r\n if (\"range\" === this.option(\"selectionMode\")) {\r\n this._createCellHoverAction();\r\n _events_engine.default.on(this._$table, CALENDAR_DXHOVERSTART_EVENT_NAME, NOT_WEEK_CELL_SELECTOR, (function(e) {\r\n if (!(0, _renderer.default)(e.currentTarget).hasClass(CALENDAR_EMPTY_CELL_CLASS)) {\r\n _this._cellHoverAction({\r\n event: e,\r\n value: (0, _renderer.default)(e.currentTarget).data(CALENDAR_DATE_VALUE_KEY)\r\n })\r\n }\r\n }))\r\n }\r\n },\r\n _createCellClickAction: function() {\r\n this._cellClickAction = this._createActionByOption(\"onCellClick\")\r\n },\r\n _createCellHoverAction: function() {\r\n this._cellHoverAction = this._createActionByOption(\"onCellHover\")\r\n },\r\n _createDisabledDatesHandler: function() {\r\n var disabledDates = this.option(\"disabledDates\");\r\n this._disabledDatesHandler = Array.isArray(disabledDates) ? this._getDefaultDisabledDatesHandler(disabledDates) : disabledDates || _common.noop\r\n },\r\n _getDefaultDisabledDatesHandler: function(disabledDates) {\r\n return _common.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 _isStartDayOfMonth: abstract,\r\n _isEndDayOfMonth: 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 _renderValue: function() {\r\n if (!this.option(\"allowValueSelection\")) {\r\n return\r\n }\r\n var value = this.option(\"value\");\r\n if (!Array.isArray(value)) {\r\n value = [value]\r\n }\r\n this._updateSelectedClass(value)\r\n },\r\n _updateSelectedClass: function(value) {\r\n var _this$_$selectedCells, _this2 = this;\r\n null === (_this$_$selectedCells = this._$selectedCells) || void 0 === _this$_$selectedCells ? void 0 : _this$_$selectedCells.forEach((function($cell) {\r\n $cell.removeClass(CALENDAR_SELECTED_DATE_CLASS)\r\n }));\r\n this._$selectedCells = value.map((function(value) {\r\n return _this2._getCellByDate(value)\r\n }));\r\n this._$selectedCells.forEach((function($cell) {\r\n $cell.addClass(CALENDAR_SELECTED_DATE_CLASS)\r\n }))\r\n },\r\n _renderRange: function() {\r\n var _this$_$rangeCells, _this$_$hoveredRangeC, _this$_$rangeStartHov, _this$_$rangeEndHover, _this$_$rangeStartDat, _this$_$rangeEndDateC, _this$_$rangeStartDat2, _this$_$rangeEndDateC2, _this3 = this;\r\n var _this$option = this.option(),\r\n allowValueSelection = _this$option.allowValueSelection,\r\n selectionMode = _this$option.selectionMode,\r\n value = _this$option.value,\r\n range = _this$option.range;\r\n if (!allowValueSelection || \"range\" !== selectionMode) {\r\n return\r\n }\r\n null === (_this$_$rangeCells = this._$rangeCells) || void 0 === _this$_$rangeCells ? void 0 : _this$_$rangeCells.forEach((function($cell) {\r\n $cell.removeClass(CALENDAR_CELL_IN_RANGE_CLASS)\r\n }));\r\n null === (_this$_$hoveredRangeC = this._$hoveredRangeCells) || void 0 === _this$_$hoveredRangeC ? void 0 : _this$_$hoveredRangeC.forEach((function($cell) {\r\n $cell.removeClass(CALENDAR_CELL_RANGE_HOVER_CLASS)\r\n }));\r\n null === (_this$_$rangeStartHov = this._$rangeStartHoverCell) || void 0 === _this$_$rangeStartHov ? void 0 : _this$_$rangeStartHov.removeClass(CALENDAR_CELL_RANGE_HOVER_START_CLASS);\r\n null === (_this$_$rangeEndHover = this._$rangeEndHoverCell) || void 0 === _this$_$rangeEndHover ? void 0 : _this$_$rangeEndHover.removeClass(CALENDAR_CELL_RANGE_HOVER_END_CLASS);\r\n null === (_this$_$rangeStartDat = this._$rangeStartDateCell) || void 0 === _this$_$rangeStartDat ? void 0 : _this$_$rangeStartDat.removeClass(CALENDAR_RANGE_START_DATE_CLASS);\r\n null === (_this$_$rangeEndDateC = this._$rangeEndDateCell) || void 0 === _this$_$rangeEndDateC ? void 0 : _this$_$rangeEndDateC.removeClass(CALENDAR_RANGE_END_DATE_CLASS);\r\n this._$rangeCells = range.map((function(value) {\r\n return _this3._getCellByDate(value)\r\n }));\r\n this._$rangeStartDateCell = this._getCellByDate(value[0]);\r\n this._$rangeEndDateCell = this._getCellByDate(value[1]);\r\n this._$rangeCells.forEach((function($cell) {\r\n $cell.addClass(CALENDAR_CELL_IN_RANGE_CLASS)\r\n }));\r\n null === (_this$_$rangeStartDat2 = this._$rangeStartDateCell) || void 0 === _this$_$rangeStartDat2 ? void 0 : _this$_$rangeStartDat2.addClass(CALENDAR_RANGE_START_DATE_CLASS);\r\n null === (_this$_$rangeEndDateC2 = this._$rangeEndDateCell) || void 0 === _this$_$rangeEndDateC2 ? void 0 : _this$_$rangeEndDateC2.addClass(CALENDAR_RANGE_END_DATE_CLASS)\r\n },\r\n _renderHoveredRange: function() {\r\n var _this$_$hoveredRangeC2, _this$_$rangeStartHov2, _this$_$rangeEndHover2, _this$_$rangeStartHov3, _this$_$rangeEndHover3, _this4 = this;\r\n var _this$option2 = this.option(),\r\n allowValueSelection = _this$option2.allowValueSelection,\r\n selectionMode = _this$option2.selectionMode,\r\n hoveredRange = _this$option2.hoveredRange;\r\n if (!allowValueSelection || \"range\" !== selectionMode) {\r\n return\r\n }\r\n null === (_this$_$hoveredRangeC2 = this._$hoveredRangeCells) || void 0 === _this$_$hoveredRangeC2 ? void 0 : _this$_$hoveredRangeC2.forEach((function($cell) {\r\n $cell.removeClass(CALENDAR_CELL_RANGE_HOVER_CLASS)\r\n }));\r\n null === (_this$_$rangeStartHov2 = this._$rangeStartHoverCell) || void 0 === _this$_$rangeStartHov2 ? void 0 : _this$_$rangeStartHov2.removeClass(CALENDAR_CELL_RANGE_HOVER_START_CLASS);\r\n null === (_this$_$rangeEndHover2 = this._$rangeEndHoverCell) || void 0 === _this$_$rangeEndHover2 ? void 0 : _this$_$rangeEndHover2.removeClass(CALENDAR_CELL_RANGE_HOVER_END_CLASS);\r\n this._$hoveredRangeCells = hoveredRange.map((function(value) {\r\n return _this4._getCellByDate(value)\r\n }));\r\n this._$rangeStartHoverCell = this._getCellByDate(hoveredRange[0]);\r\n this._$rangeEndHoverCell = this._getCellByDate(hoveredRange[hoveredRange.length - 1]);\r\n this._$hoveredRangeCells.forEach((function($cell) {\r\n $cell.addClass(CALENDAR_CELL_RANGE_HOVER_CLASS)\r\n }));\r\n null === (_this$_$rangeStartHov3 = this._$rangeStartHoverCell) || void 0 === _this$_$rangeStartHov3 ? void 0 : _this$_$rangeStartHov3.addClass(CALENDAR_CELL_RANGE_HOVER_START_CLASS);\r\n null === (_this$_$rangeEndHover3 = this._$rangeEndHoverCell) || void 0 === _this$_$rangeEndHover3 ? void 0 : _this$_$rangeEndHover3.addClass(CALENDAR_CELL_RANGE_HOVER_END_CLASS)\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 = _date.default.getViewFirstCellDate(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 name = args.name,\r\n value = args.value;\r\n switch (name) {\r\n case \"value\":\r\n this._renderValue();\r\n break;\r\n case \"range\":\r\n this._renderRange();\r\n break;\r\n case \"hoveredRange\":\r\n this._renderHoveredRange();\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 \"onCellHover\":\r\n this._createCellHoverAction();\r\n break;\r\n case \"min\":\r\n case \"max\":\r\n case \"disabledDates\":\r\n case \"cellTemplate\":\r\n case \"selectionMode\":\r\n this._invalidate();\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\nvar _default = BaseView;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/calendar/ui.calendar.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _size = require(\"../../core/utils/size\");\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _guid = _interopRequireDefault(require(\"../../core/guid\"));\r\nvar _component_registrator = _interopRequireDefault(require(\"../../core/component_registrator\"));\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _math = require(\"../../core/utils/math\");\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _button = _interopRequireDefault(require(\"../button\"));\r\nvar _editor = _interopRequireDefault(require(\"../editor/editor\"));\r\nvar _swipeable = _interopRequireDefault(require(\"../../events/gesture/swipeable\"));\r\nvar _uiCalendar = _interopRequireDefault(require(\"./ui.calendar.navigator\"));\r\nvar _uiCalendar2 = _interopRequireDefault(require(\"./ui.calendar.views\"));\r\nvar _translator = require(\"../../animation/translator\");\r\nvar _date2 = _interopRequireDefault(require(\"../../core/utils/date\"));\r\nvar _date_serialization = _interopRequireDefault(require(\"../../core/utils/date_serialization\"));\r\nvar _devices = _interopRequireDefault(require(\"../../core/devices\"));\r\nvar _fx = _interopRequireDefault(require(\"../../animation/fx\"));\r\nvar _window = require(\"../../core/utils/window\");\r\nvar _message = _interopRequireDefault(require(\"../../localization/message\"));\r\nvar _date3 = _interopRequireDefault(require(\"../../localization/date\"));\r\nvar _function_template = require(\"../../core/templates/function_template\");\r\nvar _index = require(\"../../events/utils/index\");\r\nvar _uiCalendarSingleSelection = _interopRequireDefault(require(\"./ui.calendar.single.selection.strategy\"));\r\nvar _uiCalendarMultiSelection = _interopRequireDefault(require(\"./ui.calendar.multi.selection.strategy\"));\r\nvar _uiCalendarRangeSelection = _interopRequireDefault(require(\"./ui.calendar.range.selection.strategy\"));\r\nvar _hover = require(\"../../events/hover\");\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\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 CALENDAR_MULTIVIEW_CLASS = \"dx-calendar-multiview\";\r\nvar CALENDAR_RANGE_CLASS = \"dx-calendar-range\";\r\nvar FOCUSED_STATE_CLASS = \"dx-state-focused\";\r\nvar GESTURE_COVER_CLASS = \"dx-gesture-cover\";\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 CALENDAR_DXHOVEREND_EVENT_NAME = (0, _index.addNamespace)(_hover.end, \"dxCalendar\");\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\nvar SELECTION_STRATEGIES = {\r\n SingleSelection: _uiCalendarSingleSelection.default,\r\n MultiSelection: _uiCalendarMultiSelection.default,\r\n RangeSelection: _uiCalendarRangeSelection.default\r\n};\r\n\r\nfunction elementHasFocus(element) {\r\n return element.hasClass(FOCUSED_STATE_CLASS)\r\n}\r\nvar Calendar = _editor.default.inherit({\r\n _activeStateUnit: \".\" + CALENDAR_CELL_CLASS,\r\n _getDefaultOptions: function() {\r\n return (0, _extend.extend)(this.callBase(), {\r\n hoverStateEnabled: true,\r\n activeStateEnabled: true,\r\n currentDate: new Date,\r\n value: null,\r\n values: [],\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 viewsCount: 1,\r\n zoomLevel: ZOOM_LEVEL.MONTH,\r\n maxZoomLevel: ZOOM_LEVEL.MONTH,\r\n minZoomLevel: ZOOM_LEVEL.CENTURY,\r\n selectionMode: \"single\",\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: function() {\r\n return new Date\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.default.real().deviceType && !_devices.default.isSimulator()\r\n },\r\n options: {\r\n focusStateEnabled: true\r\n }\r\n }])\r\n },\r\n _supportedKeys: function() {\r\n return (0, _extend.extend)(this.callBase(), {\r\n rightArrow: function(e) {\r\n e.preventDefault();\r\n if ((0, _index.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 ((0, _index.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 ((0, _index.isCommandKeyPressed)(e)) {\r\n this._navigateUp()\r\n } else {\r\n if (_fx.default.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 ((0, _index.isCommandKeyPressed)(e)) {\r\n this._navigateDown()\r\n } else {\r\n if (_fx.default.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 = _date2.default.sameView(zoomLevel, currentDate, min) ? min : _date2.default.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 = _date2.default.sameView(zoomLevel, currentDate, max) ? max : _date2.default.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: _common.noop,\r\n enter: this._enterKeyHandler\r\n })\r\n },\r\n _enterKeyHandler: 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._selectionStrategy.selectValue(value, e)\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 ((0, _type.isNumeric)(value)) {\r\n return \"number\"\r\n }\r\n if (!(0, _type.isString)(value)) {\r\n return\r\n }\r\n return _date_serialization.default.getDateSerializationFormat(value)\r\n },\r\n _convertToDate: function(value) {\r\n return _date_serialization.default.deserializeDate(value)\r\n },\r\n _dateValue: function(value, event) {\r\n var optionName = Array.isArray(value) ? \"values\" : \"value\";\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(optionName, value)\r\n },\r\n _dateOption: function(optionName, optionValue) {\r\n var _this = this;\r\n if (1 === arguments.length) {\r\n var _this$option;\r\n var values = null !== (_this$option = this.option(\"values\")) && void 0 !== _this$option ? _this$option : [];\r\n return \"values\" === optionName ? values.map((function(value) {\r\n return _this._convertToDate(value)\r\n })) : this._convertToDate(this.option(optionName))\r\n }\r\n var serializationFormat = this._getSerializationFormat(optionName);\r\n var serializedValue = \"values\" === optionName ? (null === optionValue || void 0 === optionValue ? void 0 : optionValue.map((function(value) {\r\n return _date_serialization.default.serializeDate(value, serializationFormat)\r\n }))) || [] : _date_serialization.default.serializeDate(optionValue, serializationFormat);\r\n this.option(optionName, serializedValue)\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 = (0, _math.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 = (0, _math.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._skipNavigate = true;\r\n this.option(\"currentDate\", currentDate)\r\n }\r\n },\r\n _areDatesInSameView: function(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: function(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 !(0, _math.inRange)(date, minDate, maxDate) || this._view.isDateDisabled(date)\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this._initSelectionStrategy();\r\n this._correctZoomLevel();\r\n this._initCurrentDate();\r\n this._initActions()\r\n },\r\n _initSelectionStrategy: function() {\r\n var strategyName = this._getSelectionStrategyName();\r\n var strategy = SELECTION_STRATEGIES[strategyName];\r\n if (!this._selectionStrategy || this._selectionStrategy.NAME !== strategyName) {\r\n this._selectionStrategy = new strategy(this)\r\n }\r\n },\r\n _refreshSelectionStrategy: function() {\r\n this._initSelectionStrategy();\r\n this._refresh()\r\n },\r\n _getSelectionStrategyName: function() {\r\n var selectionMode = this.option(\"selectionMode\");\r\n switch (selectionMode) {\r\n case \"multi\":\r\n return \"MultiSelection\";\r\n case \"range\":\r\n return \"RangeSelection\";\r\n default:\r\n return \"SingleSelection\"\r\n }\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 _this$_getNormalizedD;\r\n var currentDate = null !== (_this$_getNormalizedD = this._getNormalizedDate(this._selectionStrategy.getDefaultCurrentDate())) && void 0 !== _this$_getNormalizedD ? _this$_getNormalizedD : this._getNormalizedDate(this.option(\"currentDate\"));\r\n this.option(\"currentDate\", currentDate)\r\n },\r\n _getNormalizedDate: function(date) {\r\n date = _date2.default.normalizeDate(date, this._getMinDate(), this._getMaxDate());\r\n return (0, _type.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 _function_template.FunctionTemplate((function(options) {\r\n var data = options.model;\r\n (0, _renderer.default)(options.container).append((0, _renderer.default)(\"<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.default.isAnimating(this._$viewsWrapper)) {\r\n _fx.default.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 if (this._additionalView) {\r\n if (offset > 2 || offset < -1) {\r\n this._refreshViews();\r\n this._setViewContoured(normalizedDate);\r\n this._updateAriaId(normalizedDate);\r\n this._renderNavigator()\r\n } else if (1 === offset && this._skipNavigate) {\r\n this._setViewContoured(normalizedDate);\r\n this._updateAriaId(normalizedDate)\r\n } else {\r\n this._navigate(offset, normalizedDate)\r\n }\r\n } else {\r\n this._navigate(offset, normalizedDate)\r\n }\r\n } else {\r\n this._renderNavigator();\r\n this._setViewContoured(normalizedDate);\r\n this._updateAriaId(normalizedDate)\r\n }\r\n this._skipNavigate = false\r\n },\r\n _isAdditionalViewDate: function(date) {\r\n if (!this._additionalView) {\r\n return false\r\n }\r\n return date >= this._additionalView._getFirstAvailableDate()\r\n },\r\n _getActiveView: function(date) {\r\n return this._isAdditionalViewDate(date) ? this._additionalView : this._view\r\n },\r\n _setViewContoured: function(date) {\r\n if (this.option(\"skipFocusCheck\") || elementHasFocus(this._focusTarget())) {\r\n var _this$_additionalView;\r\n this._view.option(\"contouredDate\", null);\r\n null === (_this$_additionalView = this._additionalView) || void 0 === _this$_additionalView ? void 0 : _this$_additionalView.option(\"contouredDate\", null);\r\n var view = this._isAdditionalViewDate(date) ? this._additionalView : this._view;\r\n view.option(\"contouredDate\", date)\r\n }\r\n },\r\n _getMinDate: function() {\r\n var _rangeMin = this.option(\"_rangeMin\");\r\n if (_rangeMin) {\r\n return _rangeMin\r\n }\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 var _rangeMax = this.option(\"_rangeMax\");\r\n if (_rangeMax) {\r\n return _rangeMax\r\n }\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 var _this2 = this;\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((function() {\r\n _this2._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 = _date2.default.getDifferenceInMonth(this.option(\"zoomLevel\")) * offset;\r\n date.setDate(1);\r\n date.setMonth(date.getMonth() + difference);\r\n var lastDay = _date2.default.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 $element.toggleClass(CALENDAR_RANGE_CLASS, \"range\" === this.option(\"selectionMode\"));\r\n this._renderBody();\r\n $element.append(this.$body);\r\n this._renderViews();\r\n this._renderEvents();\r\n this._renderNavigator();\r\n $element.prepend(this._navigator.$element());\r\n this._renderSwipeable();\r\n this._renderFooter();\r\n this._selectionStrategy.updateAriaSelected();\r\n this._updateAriaId();\r\n this.setAria(\"role\", \"application\");\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 = (0, _renderer.default)(\"<div>\").addClass(CALENDAR_BODY_CLASS);\r\n this._$viewsWrapper = (0, _renderer.default)(\"<div>\").addClass(CALENDAR_VIEWS_WRAPPER_CLASS);\r\n this.$body.append(this._$viewsWrapper)\r\n }\r\n },\r\n _getKeyboardListeners: function() {\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 _this$option2 = this.option(),\r\n currentDate = _this$option2.currentDate,\r\n viewsCount = _this$option2.viewsCount;\r\n this.$element().toggleClass(CALENDAR_MULTIVIEW_CLASS, viewsCount > 1);\r\n this._view = this._renderSpecificView(currentDate);\r\n if ((0, _window.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(viewsCount, currentDate);\r\n afterDate.setDate(1);\r\n this._afterView = this._isViewAvailable(afterDate) ? this._renderSpecificView(afterDate) : null\r\n }\r\n if (viewsCount > 1) {\r\n this._additionalView = this._renderSpecificView(this._getDateByOffset(1, currentDate))\r\n }\r\n this._translateViews()\r\n },\r\n _renderSpecificView: function(date) {\r\n var _this$option3 = this.option(),\r\n zoomLevel = _this$option3.zoomLevel;\r\n var specificView = _uiCalendar2.default[zoomLevel];\r\n var $view = (0, _renderer.default)(\"<div>\").appendTo(this._$viewsWrapper);\r\n var config = this._viewConfig(date);\r\n var view = this._createComponent($view, specificView, config);\r\n return view\r\n },\r\n _viewConfig: function(date) {\r\n var _this$option4;\r\n var disabledDates = this.option(\"disabledDates\");\r\n disabledDates = (0, _type.isFunction)(disabledDates) ? this._injectComponent(disabledDates.bind(this)) : disabledDates;\r\n return _extends({}, this._selectionStrategy.getViewOptions(), {\r\n date: date,\r\n min: this._getMinDate(),\r\n max: this._getMaxDate(),\r\n firstDayOfWeek: null !== (_this$option4 = this.option(\"firstDayOfWeek\")) && void 0 !== _this$option4 ? _this$option4 : _date3.default.firstDayOfWeekIndex(),\r\n showWeekNumbers: this.option(\"showWeekNumbers\"),\r\n weekNumberRule: this.option(\"weekNumberRule\"),\r\n zoomLevel: this.option(\"zoomLevel\"),\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 _renderEvents: function() {\r\n var _this3 = this;\r\n _events_engine.default.off(this._$viewsWrapper, CALENDAR_DXHOVEREND_EVENT_NAME);\r\n if (\"range\" === this.option(\"selectionMode\")) {\r\n _events_engine.default.on(this._$viewsWrapper, CALENDAR_DXHOVEREND_EVENT_NAME, null, (function(e) {\r\n _this3._updateViewsOption(\"hoveredRange\", [])\r\n }))\r\n }\r\n },\r\n _injectComponent: function(func) {\r\n var that = this;\r\n return function(params) {\r\n (0, _extend.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 = _date2.default.getViewMinBoundaryDate(zoomLevel, this._getMinDate());\r\n var max = _date2.default.getViewMaxBoundaryDate(zoomLevel, this._getMaxDate());\r\n return _date2.default.dateInRange(date, min, max)\r\n },\r\n _translateViews: function() {\r\n var _this$option5 = this.option(),\r\n viewsCount = _this$option5.viewsCount;\r\n (0, _translator.move)(this._view.$element(), {\r\n left: 0,\r\n top: 0\r\n });\r\n this._moveViewElement(this._beforeView, -1);\r\n this._moveViewElement(this._afterView, viewsCount);\r\n this._moveViewElement(this._additionalView, 1)\r\n },\r\n _moveViewElement: function(view, coefficient) {\r\n view && (0, _translator.move)(view.$element(), {\r\n left: this._getViewPosition(coefficient),\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 = _date2.default.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._selectionStrategy.selectValue(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 = _date2.default.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 = (0, _renderer.default)(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 _uiCalendar.default((0, _renderer.default)(\"<div>\"), this._navigatorConfig())\r\n }\r\n this._navigator.option(\"text\", this._getViewsCaption(this._view, this._additionalView));\r\n this._updateButtonsVisibility()\r\n },\r\n _navigatorConfig: function() {\r\n var _this$option6 = this.option(),\r\n rtlEnabled = _this$option6.rtlEnabled;\r\n return {\r\n text: this._getViewsCaption(this._view, this._additionalView),\r\n onClick: this._navigatorClickHandler.bind(this),\r\n onCaptionClick: this._navigateUp.bind(this),\r\n rtlEnabled: rtlEnabled\r\n }\r\n },\r\n _navigatorClickHandler: function(e) {\r\n var _this$option7 = this.option(),\r\n currentDate = _this$option7.currentDate,\r\n viewsCount = _this$option7.viewsCount;\r\n var offset = e.direction;\r\n if (viewsCount > 1) {\r\n var additionalViewActive = this._isAdditionalViewDate(currentDate);\r\n var shouldDoubleOffset = additionalViewActive && offset < 0 || !additionalViewActive && offset > 0;\r\n if (shouldDoubleOffset) {\r\n offset *= 2\r\n }\r\n }\r\n var newCurrentDate = this._getDateByOffset(offset, currentDate);\r\n this._moveToClosestAvailableDate(newCurrentDate)\r\n },\r\n _navigateUp: function() {\r\n var zoomLevel = this.option(\"zoomLevel\");\r\n var nextView = _date2.default.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 _date2.default.sameView(zoomLevel, min, max) || this.option(\"minZoomLevel\") === zoomLevel\r\n },\r\n _updateButtonsVisibility: function() {\r\n this._navigator.toggleButton(\"next\", !(0, _type.isDefined)(this._afterView));\r\n this._navigator.toggleButton(\"prev\", !(0, _type.isDefined)(this._beforeView))\r\n },\r\n _renderSwipeable: function() {\r\n if (!this._swipeable) {\r\n this._swipeable = this._createComponent(this.$element(), _swipeable.default, {\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.default.stop(this._$viewsWrapper, true);\r\n var _this$option8 = this.option(),\r\n viewsCount = _this$option8.viewsCount;\r\n this._toggleGestureCoverCursor(\"grabbing\");\r\n e.event.maxLeftOffset = this._getRequiredView(\"next\") ? 1 / viewsCount : 0;\r\n e.event.maxRightOffset = this._getRequiredView(\"prev\") ? 1 / viewsCount : 0\r\n },\r\n _toggleGestureCoverCursor: function(cursor) {\r\n (0, _renderer.default)(\".\".concat(GESTURE_COVER_CLASS)).css(\"cursor\", cursor)\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 (0, _translator.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 this._toggleGestureCoverCursor(\"auto\");\r\n var _this$option9 = this.option(),\r\n currentDate = _this$option9.currentDate,\r\n rtlEnabled = _this$option9.rtlEnabled;\r\n var targetOffset = e.event.targetOffset;\r\n var moveOffset = !targetOffset ? 0 : targetOffset / Math.abs(targetOffset);\r\n var isAdditionalViewActive = this._isAdditionalViewDate(currentDate);\r\n var shouldDoubleOffset = isAdditionalViewActive && (rtlEnabled ? -1 === moveOffset : 1 === moveOffset);\r\n if (0 === moveOffset) {\r\n this._animateWrapper(0, ANIMATION_DURATION_SHOW_VIEW);\r\n return\r\n }\r\n var offset = -moveOffset * this._getRtlCorrection() * (shouldDoubleOffset ? 2 : 1);\r\n var date = this._getDateByOffset(offset);\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 = (0, _size.getWidth)(this.$element()) / this.option(\"viewsCount\")\r\n }\r\n return this._viewWidthValue\r\n },\r\n _updateNavigatorCaption: function(offset) {\r\n offset *= this._getRtlCorrection();\r\n var isMultiView = this.option(\"viewsCount\") > 1;\r\n var view;\r\n var additionalView;\r\n if (offset > .5 && this._beforeView) {\r\n view = this._beforeView;\r\n additionalView = isMultiView && this._view\r\n } else if (offset < -.5 && this._afterView) {\r\n view = isMultiView ? this._additionalView : this._afterView;\r\n additionalView = isMultiView ? this._afterView : null\r\n } else {\r\n view = this._view;\r\n additionalView = isMultiView ? this._additionalView : null\r\n }\r\n this._navigator.option(\"text\", this._getViewsCaption(view, additionalView))\r\n },\r\n _getViewsCaption: function(view, additionalView) {\r\n var caption = view.getNavigatorCaption();\r\n var _this$option10 = this.option(),\r\n viewsCount = _this$option10.viewsCount;\r\n if (viewsCount > 1 && additionalView) {\r\n var additionalViewCaption = additionalView.getNavigatorCaption();\r\n caption = \"\".concat(caption, \" - \").concat(additionalViewCaption)\r\n }\r\n return caption\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 = _date2.default.normalizeDate(date, min, max);\r\n return normalizedDate === min || normalizedDate === max\r\n },\r\n _renderFooter: function() {\r\n var _this4 = this;\r\n var showTodayButton = this.option(\"showTodayButton\");\r\n if (showTodayButton) {\r\n var $todayButton = this._createComponent((0, _renderer.default)(\"<div>\"), _button.default, {\r\n focusStateEnabled: this.option(\"focusStateEnabled\"),\r\n text: _message.default.format(\"dxCalendar-todayButtonText\"),\r\n onClick: function(args) {\r\n _this4._toTodayView(args)\r\n },\r\n type: \"default\",\r\n stylingMode: \"text\",\r\n integrationOptions: {}\r\n }).$element().addClass(CALENDAR_TODAY_BUTTON_CLASS);\r\n this._$footer = (0, _renderer.default)(\"<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 = (0, _renderer.default)(\"<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(_date_serialization.default.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.default.stop(this._view.$element(), true);\r\n this._popAnimationView(this._view, POP_ANIMATION_FROM, POP_ANIMATION_TO, ANIMATION_DURATION_SHOW_VIEW);\r\n if (this.option(\"viewsCount\") > 1) {\r\n _fx.default.stop(this._additionalView.$element(), true);\r\n this._popAnimationView(this._additionalView, POP_ANIMATION_FROM, POP_ANIMATION_TO, ANIMATION_DURATION_SHOW_VIEW)\r\n }\r\n },\r\n _popAnimationView: function(view, from, to, duration) {\r\n return _fx.default.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.default.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: function(value) {\r\n return new Date(value)\r\n },\r\n _toTodayView: function(args) {\r\n var today = new Date;\r\n if (this._isMaxZoomLevel()) {\r\n this._selectionStrategy.selectValue(today, args.event);\r\n return\r\n }\r\n this._preventViewChangeAnimation = true;\r\n this.option(\"zoomLevel\", this.option(\"maxZoomLevel\"));\r\n this._selectionStrategy.selectValue(today, args.event);\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._selectionStrategy.updateAriaSelected()\r\n },\r\n _rearrangeViews: function(offset) {\r\n var _this$viewToRemoveKey;\r\n if (0 === offset) {\r\n return\r\n }\r\n var _this$option11 = this.option(),\r\n viewsCount = _this$option11.viewsCount;\r\n var viewOffset;\r\n var viewToCreateKey;\r\n var viewToRemoveKey;\r\n var viewBeforeCreateKey;\r\n var viewAfterRemoveKey;\r\n if (offset < 0) {\r\n viewOffset = 1;\r\n viewToCreateKey = \"_beforeView\";\r\n viewToRemoveKey = \"_afterView\";\r\n viewBeforeCreateKey = \"_view\";\r\n viewAfterRemoveKey = 1 === viewsCount ? \"_view\" : \"_additionalView\"\r\n } else {\r\n viewOffset = -1;\r\n viewToCreateKey = \"_afterView\";\r\n viewToRemoveKey = \"_beforeView\";\r\n viewBeforeCreateKey = 1 === viewsCount ? \"_view\" : \"_additionalView\";\r\n viewAfterRemoveKey = \"_view\"\r\n }\r\n if (!this[viewToCreateKey]) {\r\n return\r\n }\r\n var destinationDate = this[viewToCreateKey].option(\"date\");\r\n null === (_this$viewToRemoveKey = this[viewToRemoveKey]) || void 0 === _this$viewToRemoveKey ? void 0 : _this$viewToRemoveKey.$element().remove();\r\n this[viewToRemoveKey] = this._renderSpecificView(this._getDateByOffset(viewOffset * viewsCount, destinationDate));\r\n this[viewAfterRemoveKey].$element().remove();\r\n if (1 === viewsCount) {\r\n this[viewAfterRemoveKey] = this[viewToCreateKey]\r\n } else {\r\n this[viewAfterRemoveKey] = this[viewBeforeCreateKey];\r\n this[viewBeforeCreateKey] = this[viewToCreateKey]\r\n }\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 (0, _translator.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._additionalView && this._additionalView.$element().remove();\r\n this._afterView && this._afterView.$element().remove();\r\n delete this._view;\r\n delete this._additionalView;\r\n delete this._beforeView;\r\n delete this._afterView;\r\n delete this._skipNavigate\r\n },\r\n _dispose: function() {\r\n clearTimeout(this._waitRenderViewTimeout);\r\n this.callBase()\r\n },\r\n _refreshViews: function() {\r\n this._resetActiveState();\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._setViewContoured(this.option(\"currentDate\"))\r\n },\r\n _focusOutHandler: function() {\r\n var _this$_additionalView2;\r\n this.callBase.apply(this, arguments);\r\n this._view.option(\"contouredDate\", null);\r\n null === (_this$_additionalView2 = this._additionalView) || void 0 === _this$_additionalView2 ? void 0 : _this$_additionalView2.option(\"contouredDate\", null)\r\n },\r\n _updateViewsOption: function(optionName, newValue) {\r\n var _this$_additionalView3, _this$_beforeView, _this$_afterView;\r\n this._view.option(optionName, newValue);\r\n null === (_this$_additionalView3 = this._additionalView) || void 0 === _this$_additionalView3 ? void 0 : _this$_additionalView3.option(optionName, newValue);\r\n null === (_this$_beforeView = this._beforeView) || void 0 === _this$_beforeView ? void 0 : _this$_beforeView.option(optionName, newValue);\r\n null === (_this$_afterView = this._afterView) || void 0 === _this$_afterView ? void 0 : _this$_afterView.option(optionName, newValue)\r\n },\r\n _setViewsMinOption: function(min) {\r\n this._restoreViewsMinMaxOptions();\r\n this.option(\"_rangeMin\", this._convertToDate(min));\r\n this._updateViewsOption(\"min\", this._getMinDate())\r\n },\r\n _setViewsMaxOption: function(max) {\r\n this._restoreViewsMinMaxOptions();\r\n this.option(\"_rangeMax\", this._convertToDate(max));\r\n this._updateViewsOption(\"max\", this._getMaxDate())\r\n },\r\n _restoreViewsMinMaxOptions: function() {\r\n this.option({\r\n _rangeMin: null,\r\n _rangeMax: null\r\n });\r\n this._updateViewsOption(\"min\", this._getMinDate());\r\n this._updateViewsOption(\"max\", this._getMaxDate())\r\n },\r\n _updateAriaSelected: function(value, previousValue) {\r\n var _this5 = this;\r\n previousValue.forEach((function(item) {\r\n _this5.setAria(\"selected\", void 0, _this5._view._getCellByDate(item))\r\n }));\r\n value.forEach((function(item) {\r\n _this5.setAria(\"selected\", true, _this5._view._getCellByDate(item))\r\n }));\r\n if (this.option(\"viewsCount\") > 1) {\r\n previousValue.forEach((function(item) {\r\n _this5.setAria(\"selected\", void 0, _this5._additionalView._getCellByDate(item))\r\n }));\r\n value.forEach((function(item) {\r\n _this5.setAria(\"selected\", true, _this5._additionalView._getCellByDate(item))\r\n }))\r\n }\r\n },\r\n _updateAriaId: function(value) {\r\n var _value;\r\n value = null !== (_value = value) && void 0 !== _value ? _value : this.option(\"currentDate\");\r\n var ariaId = \"dx-\" + new _guid.default;\r\n var view = this._getActiveView(value);\r\n var $newCell = 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 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 \"selectionMode\":\r\n this._refreshSelectionStrategy();\r\n this._initCurrentDate();\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 if (\"single\" === this.option(\"selectionMode\")) {\r\n this._selectionStrategy.processValueChanged([value], [previousValue])\r\n }\r\n this._setSubmitValue(value);\r\n this.callBase(args);\r\n break;\r\n case \"values\":\r\n if (\"single\" !== this.option(\"selectionMode\")) {\r\n this._selectionStrategy.processValueChanged(value, previousValue)\r\n }\r\n this._raiseValueChangeAction(value, previousValue);\r\n this._saveValueChangeEvent(void 0);\r\n break;\r\n case \"viewsCount\":\r\n this._refreshViews();\r\n this._renderNavigator();\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\n(0, _component_registrator.default)(\"dxCalendar\", Calendar);\r\nvar _default = Calendar;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/calendar/ui.calendar.multi.selection.strategy.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _uiCalendarSelection = _interopRequireDefault(require(\"./ui.calendar.selection.strategy\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _toConsumableArray(arr) {\r\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread()\r\n}\r\n\r\nfunction _nonIterableSpread() {\r\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _unsupportedIterableToArray(o, minLen) {\r\n if (!o) {\r\n return\r\n }\r\n if (\"string\" === typeof o) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n var n = Object.prototype.toString.call(o).slice(8, -1);\r\n if (\"Object\" === n && o.constructor) {\r\n n = o.constructor.name\r\n }\r\n if (\"Map\" === n || \"Set\" === n) {\r\n return Array.from(o)\r\n }\r\n if (\"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n}\r\n\r\nfunction _iterableToArray(iter) {\r\n if (\"undefined\" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter[\"@@iterator\"]) {\r\n return Array.from(iter)\r\n }\r\n}\r\n\r\nfunction _arrayWithoutHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return _arrayLikeToArray(arr)\r\n }\r\n}\r\n\r\nfunction _arrayLikeToArray(arr, len) {\r\n if (null == len || len > arr.length) {\r\n len = arr.length\r\n }\r\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\r\n arr2[i] = arr[i]\r\n }\r\n return arr2\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar CalendarMultiSelectionStrategy = function(_CalendarSelectionStr) {\r\n _inheritsLoose(CalendarMultiSelectionStrategy, _CalendarSelectionStr);\r\n\r\n function CalendarMultiSelectionStrategy(component) {\r\n var _this;\r\n _this = _CalendarSelectionStr.call(this, component) || this;\r\n _this.NAME = \"MultiSelection\";\r\n return _this\r\n }\r\n var _proto = CalendarMultiSelectionStrategy.prototype;\r\n _proto.getViewOptions = function() {\r\n return {\r\n value: this.dateOption(\"values\"),\r\n range: [],\r\n selectionMode: \"multi\"\r\n }\r\n };\r\n _proto.selectValue = function(selectedValue, e) {\r\n var values = _toConsumableArray(this.dateOption(\"values\"));\r\n var alreadySelectedIndex = values.findIndex((function(date) {\r\n return (null === date || void 0 === date ? void 0 : date.toDateString()) === selectedValue.toDateString()\r\n }));\r\n if (alreadySelectedIndex > -1) {\r\n values.splice(alreadySelectedIndex, 1)\r\n } else {\r\n values.push(selectedValue)\r\n }\r\n this.skipNavigate();\r\n this._updateCurrentDate(selectedValue);\r\n this._currentDateChanged = true;\r\n this.dateValue(values, e)\r\n };\r\n _proto.updateAriaSelected = function(value, previousValue) {\r\n var _value, _previousValue;\r\n null !== (_value = value) && void 0 !== _value ? _value : value = this.dateOption(\"values\");\r\n null !== (_previousValue = previousValue) && void 0 !== _previousValue ? _previousValue : previousValue = [];\r\n _CalendarSelectionStr.prototype.updateAriaSelected.call(this, value, previousValue)\r\n };\r\n _proto.getDefaultCurrentDate = function() {\r\n var dates = this.dateOption(\"values\").filter((function(value) {\r\n return value\r\n }));\r\n return this._getLowestDateInArray(dates)\r\n };\r\n return CalendarMultiSelectionStrategy\r\n}(_uiCalendarSelection.default);\r\nvar _default = CalendarMultiSelectionStrategy;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/calendar/ui.calendar.navigator.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _ui = _interopRequireDefault(require(\"../widget/ui.widget\"));\r\nvar _button = _interopRequireDefault(require(\"../button\"));\r\nvar _themes = require(\"../themes\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\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 BUTTON_TEXT_CLASS = \"dx-button-text\";\r\nvar Navigator = function(_Widget) {\r\n _inheritsLoose(Navigator, _Widget);\r\n\r\n function Navigator() {\r\n return _Widget.apply(this, arguments) || this\r\n }\r\n var _proto = Navigator.prototype;\r\n _proto._getDefaultOptions = function() {\r\n return (0, _extend.extend)(_Widget.prototype._getDefaultOptions.call(this), {\r\n onClick: null,\r\n onCaptionClick: null,\r\n type: \"normal\",\r\n stylingMode: \"outlined\",\r\n text: \"\"\r\n })\r\n };\r\n _proto._defaultOptionsRules = function() {\r\n return _Widget.prototype._defaultOptionsRules.call(this).concat([{\r\n device: function() {\r\n return (0, _themes.isMaterial)()\r\n },\r\n options: {\r\n type: \"default\",\r\n stylingMode: \"text\"\r\n }\r\n }])\r\n };\r\n _proto._init = function() {\r\n _Widget.prototype._init.call(this);\r\n this._initActions()\r\n };\r\n _proto._initActions = function() {\r\n this._clickAction = this._createActionByOption(\"onClick\");\r\n this._captionClickAction = this._createActionByOption(\"onCaptionClick\")\r\n };\r\n _proto._initMarkup = function() {\r\n _Widget.prototype._initMarkup.call(this);\r\n this.$element().addClass(CALENDAR_NAVIGATOR_CLASS);\r\n this._renderButtons();\r\n this._renderCaption()\r\n };\r\n _proto._renderButtons = function() {\r\n var _this = this;\r\n var _this$option = this.option(),\r\n rtlEnabled = _this$option.rtlEnabled,\r\n type = _this$option.type,\r\n stylingMode = _this$option.stylingMode;\r\n this._prevButton = this._createComponent((0, _renderer.default)(\"<div>\"), _button.default, {\r\n focusStateEnabled: false,\r\n icon: rtlEnabled ? \"chevronright\" : \"chevronleft\",\r\n onClick: function(e) {\r\n _this._clickAction({\r\n direction: -1,\r\n event: e\r\n })\r\n },\r\n type: type,\r\n stylingMode: stylingMode,\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((0, _renderer.default)(\"<div>\"), _button.default, {\r\n focusStateEnabled: false,\r\n icon: rtlEnabled ? \"chevronleft\" : \"chevronright\",\r\n onClick: function(e) {\r\n _this._clickAction({\r\n direction: 1,\r\n event: e\r\n })\r\n },\r\n type: type,\r\n stylingMode: stylingMode,\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((0, _renderer.default)(\"<div>\").addClass(CALENDAR_NAVIGATOR_CAPTION_BUTTON_CLASS), _button.default, {\r\n focusStateEnabled: false,\r\n onClick: function(e) {\r\n _this._captionClickAction({\r\n event: e\r\n })\r\n },\r\n type: type,\r\n stylingMode: stylingMode,\r\n template: function(_, content) {\r\n var _this$option2 = _this.option(),\r\n text = _this$option2.text;\r\n var viewCaptionTexts = text.split(\" - \");\r\n viewCaptionTexts.forEach((function(captionText) {\r\n (0, _renderer.default)(content).append((0, _renderer.default)(\"<span>\").addClass(BUTTON_TEXT_CLASS).text(captionText))\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 _proto._renderCaption = function() {\r\n this._caption.option(\"text\", this.option(\"text\"))\r\n };\r\n _proto.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 _proto._optionChanged = function(args) {\r\n switch (args.name) {\r\n case \"text\":\r\n this._renderCaption();\r\n break;\r\n default:\r\n _Widget.prototype._optionChanged.call(this, args)\r\n }\r\n };\r\n return Navigator\r\n}(_ui.default);\r\nvar _default = Navigator;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/calendar/ui.calendar.range.selection.strategy.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _date = _interopRequireDefault(require(\"../../core/utils/date\"));\r\nvar _uiCalendarSelection = _interopRequireDefault(require(\"./ui.calendar.selection.strategy\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _toConsumableArray(arr) {\r\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread()\r\n}\r\n\r\nfunction _nonIterableSpread() {\r\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _iterableToArray(iter) {\r\n if (\"undefined\" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter[\"@@iterator\"]) {\r\n return Array.from(iter)\r\n }\r\n}\r\n\r\nfunction _arrayWithoutHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return _arrayLikeToArray(arr)\r\n }\r\n}\r\n\r\nfunction _slicedToArray(arr, i) {\r\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest()\r\n}\r\n\r\nfunction _nonIterableRest() {\r\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _unsupportedIterableToArray(o, minLen) {\r\n if (!o) {\r\n return\r\n }\r\n if (\"string\" === typeof o) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n var n = Object.prototype.toString.call(o).slice(8, -1);\r\n if (\"Object\" === n && o.constructor) {\r\n n = o.constructor.name\r\n }\r\n if (\"Map\" === n || \"Set\" === n) {\r\n return Array.from(o)\r\n }\r\n if (\"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n}\r\n\r\nfunction _arrayLikeToArray(arr, len) {\r\n if (null == len || len > arr.length) {\r\n len = arr.length\r\n }\r\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\r\n arr2[i] = arr[i]\r\n }\r\n return arr2\r\n}\r\n\r\nfunction _iterableToArrayLimit(arr, i) {\r\n var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"];\r\n if (null != _i) {\r\n var _s, _e, _x, _r, _arr = [],\r\n _n = !0,\r\n _d = !1;\r\n try {\r\n if (_x = (_i = _i.call(arr)).next, 0 === i) {\r\n if (Object(_i) !== _i) {\r\n return\r\n }\r\n _n = !1\r\n } else {\r\n for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) {}\r\n }\r\n } catch (err) {\r\n _d = !0, _e = err\r\n } finally {\r\n try {\r\n if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) {\r\n return\r\n }\r\n } finally {\r\n if (_d) {\r\n throw _e\r\n }\r\n }\r\n }\r\n return _arr\r\n }\r\n}\r\n\r\nfunction _arrayWithHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return arr\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar DAY_INTERVAL = 864e5;\r\nvar RANGE_OFFSET = 120 * DAY_INTERVAL;\r\nvar CalendarRangeSelectionStrategy = function(_CalendarSelectionStr) {\r\n _inheritsLoose(CalendarRangeSelectionStrategy, _CalendarSelectionStr);\r\n\r\n function CalendarRangeSelectionStrategy(component) {\r\n var _this;\r\n _this = _CalendarSelectionStr.call(this, component) || this;\r\n _this.NAME = \"RangeSelection\";\r\n return _this\r\n }\r\n var _proto = CalendarRangeSelectionStrategy.prototype;\r\n _proto.getViewOptions = function() {\r\n var value = this._getValues();\r\n var range = this._getDaysInRange(value[0], value[1]);\r\n return {\r\n value: value,\r\n range: range,\r\n selectionMode: \"range\",\r\n onCellHover: this._cellHoverHandler.bind(this)\r\n }\r\n };\r\n _proto.selectValue = function(selectedValue, e) {\r\n var _this$_getValues = this._getValues(),\r\n _this$_getValues2 = _slicedToArray(_this$_getValues, 2),\r\n startDate = _this$_getValues2[0],\r\n endDate = _this$_getValues2[1];\r\n this.skipNavigate();\r\n this._updateCurrentDate(selectedValue);\r\n this._currentDateChanged = true;\r\n if (true === this.calendar.option(\"_allowChangeSelectionOrder\")) {\r\n this.calendar._valueSelected = true;\r\n if (\"startDate\" === this.calendar.option(\"_currentSelection\")) {\r\n if (this.calendar._convertToDate(selectedValue) > this.calendar._convertToDate(endDate)) {\r\n this.dateValue([selectedValue, null], e)\r\n } else {\r\n this.dateValue([selectedValue, endDate], e)\r\n }\r\n } else if (this.calendar._convertToDate(selectedValue) >= this.calendar._convertToDate(startDate)) {\r\n this.dateValue([startDate, selectedValue], e)\r\n } else {\r\n this.dateValue([selectedValue, null], e)\r\n }\r\n } else if (!startDate || endDate) {\r\n this.dateValue([selectedValue, null], e)\r\n } else {\r\n this.dateValue(startDate < selectedValue ? [startDate, selectedValue] : [selectedValue, startDate], e)\r\n }\r\n };\r\n _proto.updateAriaSelected = function(value, previousValue) {\r\n var _value, _previousValue;\r\n null !== (_value = value) && void 0 !== _value ? _value : value = this._getValues();\r\n null !== (_previousValue = previousValue) && void 0 !== _previousValue ? _previousValue : previousValue = [];\r\n _CalendarSelectionStr.prototype.updateAriaSelected.call(this, value, previousValue)\r\n };\r\n _proto.processValueChanged = function(value, previousValue) {\r\n _CalendarSelectionStr.prototype.processValueChanged.call(this, value, previousValue);\r\n var range = this._getRange();\r\n this._updateViewsOption(\"range\", range)\r\n };\r\n _proto.getDefaultCurrentDate = function() {\r\n var _this$calendar$option = this.calendar.option(),\r\n _allowChangeSelectionOrder = _this$calendar$option._allowChangeSelectionOrder,\r\n _currentSelection = _this$calendar$option._currentSelection;\r\n var values = this.dateOption(\"values\");\r\n if (_allowChangeSelectionOrder) {\r\n if (\"startDate\" === _currentSelection && values[0]) {\r\n return values[0]\r\n }\r\n if (\"endDate\" === _currentSelection && values[1]) {\r\n return values[1]\r\n }\r\n }\r\n var dates = values.filter((function(value) {\r\n return value\r\n }));\r\n return this._getLowestDateInArray(dates)\r\n };\r\n _proto._getValues = function() {\r\n var values = this.dateOption(\"values\");\r\n if (!values.length) {\r\n return values\r\n }\r\n var _values = _slicedToArray(values, 2),\r\n startDate = _values[0],\r\n endDate = _values[1];\r\n if (startDate && endDate && startDate > endDate) {\r\n var _ref = [endDate, startDate];\r\n startDate = _ref[0];\r\n endDate = _ref[1]\r\n }\r\n return [startDate, endDate]\r\n };\r\n _proto._getRange = function() {\r\n var _this$_getValues3 = this._getValues(),\r\n _this$_getValues4 = _slicedToArray(_this$_getValues3, 2),\r\n startDate = _this$_getValues4[0],\r\n endDate = _this$_getValues4[1];\r\n return this._getDaysInRange(startDate, endDate)\r\n };\r\n _proto._getDaysInRange = function(startDate, endDate) {\r\n if (!startDate || !endDate) {\r\n return []\r\n }\r\n var currentDate = this.calendar.option(\"currentDate\").getTime();\r\n var rangeStartDate = new Date(Math.max(currentDate - RANGE_OFFSET, startDate));\r\n var rangeEndDate = new Date(Math.min(currentDate + RANGE_OFFSET, endDate));\r\n return [].concat(_toConsumableArray(_date.default.getDatesOfInterval(rangeStartDate, rangeEndDate, DAY_INTERVAL)), [rangeEndDate])\r\n };\r\n _proto._cellHoverHandler = function(e) {\r\n var isMaxZoomLevel = this._isMaxZoomLevel();\r\n var _this$_getValues5 = this._getValues(),\r\n _this$_getValues6 = _slicedToArray(_this$_getValues5, 2),\r\n startDate = _this$_getValues6[0],\r\n endDate = _this$_getValues6[1];\r\n var _this$calendar$option2 = this.calendar.option(),\r\n _allowChangeSelectionOrder = _this$calendar$option2._allowChangeSelectionOrder,\r\n _currentSelection = _this$calendar$option2._currentSelection;\r\n if (isMaxZoomLevel) {\r\n var skipHoveredRange = _allowChangeSelectionOrder && \"startDate\" === _currentSelection;\r\n if (startDate && !endDate && !skipHoveredRange) {\r\n if (e.value > startDate) {\r\n this._updateViewsOption(\"hoveredRange\", this._getDaysInRange(startDate, e.value));\r\n return\r\n }\r\n } else if (!startDate && endDate && !(_allowChangeSelectionOrder && \"endDate\" === _currentSelection)) {\r\n if (e.value < endDate) {\r\n this._updateViewsOption(\"hoveredRange\", this._getDaysInRange(e.value, endDate));\r\n return\r\n }\r\n } else if (startDate && endDate) {\r\n if (\"startDate\" === _currentSelection && e.value < startDate) {\r\n this._updateViewsOption(\"hoveredRange\", this._getDaysInRange(e.value, startDate));\r\n return\r\n } else if (\"endDate\" === _currentSelection && e.value > endDate) {\r\n this._updateViewsOption(\"hoveredRange\", this._getDaysInRange(endDate, e.value));\r\n return\r\n }\r\n }\r\n this._updateViewsOption(\"hoveredRange\", [])\r\n }\r\n };\r\n return CalendarRangeSelectionStrategy\r\n}(_uiCalendarSelection.default);\r\nvar _default = CalendarRangeSelectionStrategy;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/calendar/ui.calendar.selection.strategy.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\n\r\nfunction _toConsumableArray(arr) {\r\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread()\r\n}\r\n\r\nfunction _nonIterableSpread() {\r\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _unsupportedIterableToArray(o, minLen) {\r\n if (!o) {\r\n return\r\n }\r\n if (\"string\" === typeof o) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n var n = Object.prototype.toString.call(o).slice(8, -1);\r\n if (\"Object\" === n && o.constructor) {\r\n n = o.constructor.name\r\n }\r\n if (\"Map\" === n || \"Set\" === n) {\r\n return Array.from(o)\r\n }\r\n if (\"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n}\r\n\r\nfunction _iterableToArray(iter) {\r\n if (\"undefined\" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter[\"@@iterator\"]) {\r\n return Array.from(iter)\r\n }\r\n}\r\n\r\nfunction _arrayWithoutHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return _arrayLikeToArray(arr)\r\n }\r\n}\r\n\r\nfunction _arrayLikeToArray(arr, len) {\r\n if (null == len || len > arr.length) {\r\n len = arr.length\r\n }\r\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\r\n arr2[i] = arr[i]\r\n }\r\n return arr2\r\n}\r\nvar CalendarSelectionStrategy = function() {\r\n function CalendarSelectionStrategy(component) {\r\n this.calendar = component\r\n }\r\n var _proto = CalendarSelectionStrategy.prototype;\r\n _proto.dateOption = function(optionName) {\r\n return this.calendar._dateOption(optionName)\r\n };\r\n _proto.dateValue = function(value, e) {\r\n this.calendar._dateValue(value, e)\r\n };\r\n _proto.skipNavigate = function() {\r\n this.calendar._skipNavigate = true\r\n };\r\n _proto.updateAriaSelected = function(value, previousValue) {\r\n this.calendar._updateAriaSelected(value, previousValue);\r\n if (value[0] && this.calendar.option(\"currentDate\").getTime() === value[0].getTime()) {\r\n this.calendar._updateAriaId(value[0])\r\n }\r\n };\r\n _proto.processValueChanged = function(value, previousValue) {\r\n var _value, _previousValue, _this = this;\r\n value = (null === (_value = value) || void 0 === _value ? void 0 : _value.map((function(item) {\r\n return _this._convertToDate(item)\r\n }))) || [];\r\n previousValue = (null === (_previousValue = previousValue) || void 0 === _previousValue ? void 0 : _previousValue.map((function(item) {\r\n return _this._convertToDate(item)\r\n }))) || [];\r\n this._updateViewsValue(value);\r\n this.updateAriaSelected(value, previousValue);\r\n if (!this._currentDateChanged) {\r\n this.calendar._initCurrentDate()\r\n }\r\n this._currentDateChanged = false\r\n };\r\n _proto._getLowestDateInArray = function(dates) {\r\n if (dates.length) {\r\n return new Date(Math.min.apply(Math, _toConsumableArray(dates)))\r\n }\r\n };\r\n _proto._convertToDate = function(value) {\r\n return this.calendar._convertToDate(value)\r\n };\r\n _proto._isMaxZoomLevel = function() {\r\n return this.calendar._isMaxZoomLevel()\r\n };\r\n _proto._updateViewsOption = function(optionName, optionValue) {\r\n this.calendar._updateViewsOption(optionName, optionValue)\r\n };\r\n _proto._updateViewsValue = function(value) {\r\n this._updateViewsOption(\"value\", value)\r\n };\r\n _proto._updateCurrentDate = function(value) {\r\n this.calendar.option(\"currentDate\", null !== value && void 0 !== value ? value : new Date)\r\n };\r\n return CalendarSelectionStrategy\r\n}();\r\nvar _default = CalendarSelectionStrategy;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/calendar/ui.calendar.single.selection.strategy.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _uiCalendarSelection = _interopRequireDefault(require(\"./ui.calendar.selection.strategy\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar CalendarSingleSelectionStrategy = function(_CalendarSelectionStr) {\r\n _inheritsLoose(CalendarSingleSelectionStrategy, _CalendarSelectionStr);\r\n\r\n function CalendarSingleSelectionStrategy(component) {\r\n var _this;\r\n _this = _CalendarSelectionStr.call(this, component) || this;\r\n _this.NAME = \"SingleSelection\";\r\n return _this\r\n }\r\n var _proto = CalendarSingleSelectionStrategy.prototype;\r\n _proto.getViewOptions = function() {\r\n return {\r\n value: this.dateOption(\"value\"),\r\n range: [],\r\n selectionMode: \"single\"\r\n }\r\n };\r\n _proto.selectValue = function(selectedValue, e) {\r\n this.skipNavigate();\r\n this.dateValue(selectedValue, e)\r\n };\r\n _proto.updateAriaSelected = function(value, previousValue) {\r\n var _value, _previousValue;\r\n null !== (_value = value) && void 0 !== _value ? _value : value = [this.dateOption(\"value\")];\r\n null !== (_previousValue = previousValue) && void 0 !== _previousValue ? _previousValue : previousValue = [];\r\n _CalendarSelectionStr.prototype.updateAriaSelected.call(this, value, previousValue)\r\n };\r\n _proto.getDefaultCurrentDate = function() {\r\n return this.dateOption(\"value\")\r\n };\r\n _proto._updateViewsValue = function(value) {\r\n this._updateViewsOption(\"value\", value[0])\r\n };\r\n return CalendarSingleSelectionStrategy\r\n}(_uiCalendarSelection.default);\r\nvar _default = CalendarSingleSelectionStrategy;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/calendar/ui.calendar.views.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _uiCalendar = _interopRequireDefault(require(\"./ui.calendar.base_view\"));\r\nvar _dom_adapter = _interopRequireDefault(require(\"../../core/dom_adapter\"));\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _date = _interopRequireDefault(require(\"../../core/utils/date\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _date2 = _interopRequireDefault(require(\"../../localization/date\"));\r\nvar _date_serialization = _interopRequireDefault(require(\"../../core/utils/date_serialization\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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: _uiCalendar.default.inherit({\r\n _getViewName: function() {\r\n return \"month\"\r\n },\r\n _getDefaultOptions: function() {\r\n return (0, _extend.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: _common.noop,\r\n getCellAriaLabel: function(date) {\r\n return _date2.default.format(date, \"longdate\")\r\n },\r\n _renderHeader: function() {\r\n var $headerRow = (0, _renderer.default)(\"<tr>\");\r\n var $header = (0, _renderer.default)(\"<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 _this$option = this.option(),\r\n firstDayOfWeek = _this$option.firstDayOfWeek;\r\n var _this$_getDayCaption = this._getDayCaption(firstDayOfWeek + cellIndex),\r\n fullCaption = _this$_getDayCaption.full,\r\n abbrCaption = _this$_getDayCaption.abbreviated;\r\n var $cell = (0, _renderer.default)(\"<th>\").attr({\r\n scope: \"col\",\r\n abbr: fullCaption\r\n }).text(abbrCaption);\r\n $headerRow.append($cell)\r\n },\r\n _renderWeekHeaderCell: function($headerRow) {\r\n var $weekNumberHeaderCell = (0, _renderer.default)(\"<th>\").attr({\r\n scope: \"col\",\r\n abbr: \"WeekNumber\",\r\n class: \"dx-week-number-header\"\r\n });\r\n $headerRow.prepend($weekNumberHeaderCell)\r\n },\r\n _renderWeekNumberCell: function(rowData) {\r\n var _this$option2 = this.option(),\r\n showWeekNumbers = _this$option2.showWeekNumbers,\r\n cellTemplate = _this$option2.cellTemplate;\r\n if (!showWeekNumbers) {\r\n return\r\n }\r\n var weekNumber = this._getWeekNumber(rowData.prevCellDate);\r\n var cell = _dom_adapter.default.createElement(\"td\");\r\n var $cell = (0, _renderer.default)(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 rowData.row.prepend(cell);\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 _this$option3 = this.option(),\r\n weekNumberRule = _this$option3.weekNumberRule,\r\n firstDayOfWeek = _this$option3.firstDayOfWeek;\r\n if (\"auto\" === weekNumberRule) {\r\n return _date.default.getWeekNumber(date, firstDayOfWeek, 1 === firstDayOfWeek ? \"firstFourDays\" : \"firstDay\")\r\n }\r\n return _date.default.getWeekNumber(date, firstDayOfWeek, weekNumberRule)\r\n },\r\n getNavigatorCaption: function() {\r\n return _date2.default.format(this.option(\"date\"), \"monthandyear\")\r\n },\r\n _isTodayCell: function(cellDate) {\r\n var today = this.option(\"_todayDate\")();\r\n return _date.default.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 !_date.default.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 _isStartDayOfMonth: function(cellDate) {\r\n return _date.default.sameDate(cellDate, _date.default.getFirstMonthDate(this.option(\"date\")))\r\n },\r\n _isEndDayOfMonth: function(cellDate) {\r\n return _date.default.sameDate(cellDate, _date.default.getLastMonthDate(this.option(\"date\")))\r\n },\r\n _getCellText: function(cellDate) {\r\n return _date2.default.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: _date2.default.getDayNames()[dayIndex],\r\n abbreviated: _date2.default.getDayNames(\"abbreviated\")[dayIndex]\r\n }\r\n },\r\n _getFirstCellData: function() {\r\n var _this$option4 = this.option(),\r\n firstDayOfWeek = _this$option4.firstDayOfWeek;\r\n var firstDay = _date.default.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(_date_serialization.default.serializeDate(date, _date.default.getShortDateFormat()), \"']\"))\r\n },\r\n isBoundary: function(date) {\r\n return _date.default.sameMonthAndYear(date, this.option(\"min\")) || _date.default.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 _date.default.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: _uiCalendar.default.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 _date.default.sameMonthAndYear(cellDate, today)\r\n },\r\n _isDateOutOfRange: function(cellDate) {\r\n return !_date.default.dateInRange(cellDate, _date.default.getFirstMonthDate(this.option(\"min\")), _date.default.getLastMonthDate(this.option(\"max\")))\r\n },\r\n _isOtherView: function() {\r\n return false\r\n },\r\n _isStartDayOfMonth: function() {\r\n return false\r\n },\r\n _isEndDayOfMonth: function() {\r\n return false\r\n },\r\n _getCellText: function(cellDate) {\r\n return _date2.default.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(_date_serialization.default.serializeDate(foundDate, _date.default.getShortDateFormat()), \"']\"))\r\n },\r\n getCellAriaLabel: function(date) {\r\n return _date2.default.format(date, \"monthandyear\")\r\n },\r\n getNavigatorCaption: function() {\r\n return _date2.default.format(this.option(\"date\"), \"yyyy\")\r\n },\r\n isBoundary: function(date) {\r\n return _date.default.sameYear(date, this.option(\"min\")) || _date.default.sameYear(date, this.option(\"max\"))\r\n },\r\n _renderWeekNumberCell: _common.noop\r\n }),\r\n decade: _uiCalendar.default.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 _date.default.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 !_date.default.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 !_date.default.sameDecade(date, this.option(\"date\"))\r\n },\r\n _isStartDayOfMonth: function() {\r\n return false\r\n },\r\n _isEndDayOfMonth: function() {\r\n return false\r\n },\r\n _getCellText: function(cellDate) {\r\n return _date2.default.format(cellDate, \"yyyy\")\r\n },\r\n _getFirstCellData: function() {\r\n var year = _date.default.getFirstYearInDecade(this.option(\"date\")) - 1;\r\n return _date.default.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 = _date.default.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 _date2.default.format(startDate, \"yyyy\") + \"-\" + _date2.default.format(endDate, \"yyyy\")\r\n },\r\n _isValueOnCurrentView: function(currentDate, value) {\r\n return _date.default.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(_date_serialization.default.serializeDate(foundDate, _date.default.getShortDateFormat()), \"']\"))\r\n },\r\n isBoundary: function(date) {\r\n return _date.default.sameDecade(date, this.option(\"min\")) || _date.default.sameDecade(date, this.option(\"max\"))\r\n },\r\n _renderWeekNumberCell: _common.noop\r\n }),\r\n century: _uiCalendar.default.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 _date.default.sameDecade(cellDate, today)\r\n },\r\n _isDateOutOfRange: function(cellDate) {\r\n var decade = _date.default.getFirstYearInDecade(cellDate);\r\n var minDecade = _date.default.getFirstYearInDecade(this.option(\"min\"));\r\n var maxDecade = _date.default.getFirstYearInDecade(this.option(\"max\"));\r\n return !_date.default.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 !_date.default.sameCentury(date, this.option(\"date\"))\r\n },\r\n _isStartDayOfMonth: function() {\r\n return false\r\n },\r\n _isEndDayOfMonth: function() {\r\n return false\r\n },\r\n _getCellText: function(cellDate) {\r\n var startDate = _date2.default.format(cellDate, \"yyyy\");\r\n var endDate = new Date(cellDate);\r\n endDate.setFullYear(endDate.getFullYear() + 9);\r\n return startDate + \" - \" + _date2.default.format(endDate, \"yyyy\")\r\n },\r\n _getFirstCellData: function() {\r\n var decade = _date.default.getFirstDecadeInCentury(this.option(\"date\")) - 10;\r\n return _date.default.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(_date.default.getFirstYearInDecade(foundDate));\r\n return this._$table.find(\"td[data-value='\".concat(_date_serialization.default.serializeDate(foundDate, _date.default.getShortDateFormat()), \"']\"))\r\n },\r\n getNavigatorCaption: function() {\r\n var currentDate = this.option(\"date\");\r\n var firstDecadeInCentury = _date.default.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 _date2.default.format(startDate, \"yyyy\") + \"-\" + _date2.default.format(endDate, \"yyyy\")\r\n },\r\n isBoundary: function(date) {\r\n return _date.default.sameCentury(date, this.option(\"min\")) || _date.default.sameCentury(date, this.option(\"max\"))\r\n },\r\n _renderWeekNumberCell: _common.noop\r\n })\r\n};\r\nvar _default = Views;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/check_box.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _check_box = _interopRequireDefault(require(\"../renovation/ui/editors/check_box/check_box.j\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar _default = _check_box.default;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/collection/data_controller.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _deferred = require(\"../../core/utils/deferred\");\r\nvar DataControllerMock = {\r\n load: function() {\r\n return (0, _deferred.Deferred)().reject()\r\n },\r\n loadSingle: function() {\r\n return (0, _deferred.Deferred)().reject()\r\n },\r\n loadFromStore: function() {\r\n return (0, _deferred.Deferred)().reject()\r\n },\r\n loadNextPage: function() {\r\n return (0, _deferred.Deferred)().reject()\r\n },\r\n loadOptions: _common.noop,\r\n userData: _common.noop,\r\n cancel: _common.noop,\r\n cancelAll: _common.noop,\r\n filter: _common.noop,\r\n addSearchFilter: _common.noop,\r\n group: _common.noop,\r\n paginate: _common.noop,\r\n pageSize: _common.noop,\r\n pageIndex: _common.noop,\r\n resetDataSourcePageIndex: _common.noop,\r\n totalCount: _common.noop,\r\n isLastPage: _common.noop,\r\n isLoading: _common.noop,\r\n isLoaded: _common.noop,\r\n searchValue: _common.noop,\r\n searchOperation: _common.noop,\r\n searchExpr: _common.noop,\r\n select: _common.noop,\r\n key: _common.noop,\r\n keyOf: _common.noop,\r\n store: _common.noop,\r\n items: _common.noop,\r\n applyMapFunction: _common.noop,\r\n getDataSource: _common.noop,\r\n reload: _common.noop,\r\n on: _common.noop,\r\n off: _common.noop\r\n};\r\nvar DataController = function() {\r\n function DataController(dataSource) {\r\n if (!dataSource) {\r\n return DataControllerMock\r\n }\r\n this._dataSource = dataSource\r\n }\r\n var _proto = DataController.prototype;\r\n _proto.load = function() {\r\n return this._dataSource.load()\r\n };\r\n _proto.loadSingle = function(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 _proto.loadFromStore = function(loadOptions) {\r\n return this.store().load(loadOptions)\r\n };\r\n _proto.loadNextPage = function() {\r\n this.pageIndex(1 + this.pageIndex());\r\n return this.load()\r\n };\r\n _proto.loadOptions = function() {\r\n return this._dataSource.loadOptions()\r\n };\r\n _proto.userData = function() {\r\n return this._dataSource._userData\r\n };\r\n _proto.cancel = function(operationId) {\r\n this._dataSource.cancel(operationId)\r\n };\r\n _proto.cancelAll = function() {\r\n this._dataSource.cancelAll()\r\n };\r\n _proto.filter = function(_filter) {\r\n return this._dataSource.filter(_filter)\r\n };\r\n _proto.addSearchFilter = function(storeLoadOptions) {\r\n this._dataSource._addSearchFilter(storeLoadOptions)\r\n };\r\n _proto.group = function(_group) {\r\n return this._dataSource.group(_group)\r\n };\r\n _proto.paginate = function() {\r\n return this._dataSource.paginate()\r\n };\r\n _proto.pageSize = function() {\r\n return this._dataSource._pageSize\r\n };\r\n _proto.pageIndex = function(_pageIndex) {\r\n return this._dataSource.pageIndex(_pageIndex)\r\n };\r\n _proto.resetDataSourcePageIndex = function() {\r\n if (this.pageIndex()) {\r\n this.pageIndex(0);\r\n this.load()\r\n }\r\n };\r\n _proto.totalCount = function() {\r\n return this._dataSource.totalCount()\r\n };\r\n _proto.isLastPage = function() {\r\n return this._dataSource.isLastPage() || !this._dataSource._pageSize\r\n };\r\n _proto.isLoading = function() {\r\n return this._dataSource.isLoading()\r\n };\r\n _proto.isLoaded = function() {\r\n return this._dataSource.isLoaded()\r\n };\r\n _proto.searchValue = function(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 _proto.searchOperation = function(operation) {\r\n return this._dataSource.searchOperation(operation)\r\n };\r\n _proto.searchExpr = function(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 _proto.select = function() {\r\n var _this$_dataSource;\r\n return (_this$_dataSource = this._dataSource).select.apply(_this$_dataSource, arguments)\r\n };\r\n _proto.key = function() {\r\n return this._dataSource.key()\r\n };\r\n _proto.keyOf = function(item) {\r\n return this.store().keyOf(item)\r\n };\r\n _proto.store = function() {\r\n return this._dataSource.store()\r\n };\r\n _proto.items = function() {\r\n return this._dataSource.items()\r\n };\r\n _proto.applyMapFunction = function(data) {\r\n return this._dataSource._applyMapFunction(data)\r\n };\r\n _proto.getDataSource = function() {\r\n return this._dataSource || null\r\n };\r\n _proto.reload = function() {\r\n return this._dataSource.reload()\r\n };\r\n _proto.on = function(event, handler) {\r\n this._dataSource.on(event, handler)\r\n };\r\n _proto.off = function(event, handler) {\r\n this._dataSource.off(event, handler)\r\n };\r\n return DataController\r\n}();\r\nvar _default = DataController;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/collection/item.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _class = _interopRequireDefault(require(\"../../core/class\"));\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _public_component = require(\"../../core/utils/public_component\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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.default.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 (0, _public_component.attachInstanceToElement)($element, this, this._dispose);\r\n this._render()\r\n },\r\n _render: function() {\r\n var $placeholder = (0, _renderer.default)(\"<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 (0, _iterator.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._$element.attr(\"aria-disabled\", !!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 (0, _iterator.each)(this._watchers, (function(_, watcher) {\r\n watcher.dispose()\r\n }))\r\n }\r\n});\r\nCollectionItem.getInstance = function($element) {\r\n return (0, _public_component.getInstanceByElement)($element, this)\r\n};\r\nvar _default = CollectionItem;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/collection/ui.collection_widget.async.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _uiCollection_widget = _interopRequireDefault(require(\"./ui.collection_widget.edit\"));\r\nvar _deferred = require(\"../../core/utils/deferred\");\r\nvar _common = require(\"../../core/utils/common\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar AsyncCollectionWidget = _uiCollection_widget.default.inherit({\r\n _initMarkup: function() {\r\n this._deferredItems = [];\r\n this.callBase()\r\n },\r\n _renderItemContent: function(args) {\r\n var renderContentDeferred = new _deferred.Deferred;\r\n var itemDeferred = new _deferred.Deferred;\r\n this._deferredItems[args.index] = itemDeferred;\r\n var $itemContent = this.callBase.call(this, args);\r\n itemDeferred.done((function() {\r\n renderContentDeferred.resolve($itemContent)\r\n }));\r\n return renderContentDeferred.promise()\r\n },\r\n _onItemTemplateRendered: function(itemTemplate, renderArgs) {\r\n var _this = this;\r\n return function() {\r\n _this._deferredItems[renderArgs.index].resolve()\r\n }\r\n },\r\n _postProcessRenderItems: _common.noop,\r\n _renderItemsAsync: function() {\r\n var _this2 = this;\r\n var d = new _deferred.Deferred;\r\n _deferred.when.apply(this, this._deferredItems).done((function() {\r\n _this2._postProcessRenderItems();\r\n d.resolve()\r\n }));\r\n return d.promise()\r\n },\r\n _clean: function() {\r\n this.callBase();\r\n this._deferredItems = []\r\n }\r\n});\r\nvar _default = AsyncCollectionWidget;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/collection/ui.collection_widget.base.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _size = require(\"../../core/utils/size\");\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _template_manager = require(\"../../core/utils/template_manager\");\r\nvar _element = require(\"../../core/element\");\r\nvar _dom_adapter = _interopRequireDefault(require(\"../../core/dom_adapter\"));\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _deferred = require(\"../../core/utils/deferred\");\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _action = _interopRequireDefault(require(\"../../core/action\"));\r\nvar _guid = _interopRequireDefault(require(\"../../core/guid\"));\r\nvar _ui = _interopRequireDefault(require(\"../widget/ui.widget\"));\r\nvar _index = require(\"../../events/utils/index\");\r\nvar _pointer = _interopRequireDefault(require(\"../../events/pointer\"));\r\nvar _data_helper = _interopRequireDefault(require(\"../../data_helper\"));\r\nvar _item = _interopRequireDefault(require(\"./item\"));\r\nvar _selectors = require(\"../widget/selectors\");\r\nvar _message = _interopRequireDefault(require(\"../../localization/message\"));\r\nvar _hold = _interopRequireDefault(require(\"../../events/hold\"));\r\nvar _data = require(\"../../core/utils/data\");\r\nvar _click = require(\"../../events/click\");\r\nvar _contextmenu = require(\"../../events/contextmenu\");\r\nvar _bindable_template = require(\"../../core/templates/bindable_template\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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 = _ui.default.inherit({\r\n _activeStateUnit: \".\" + ITEM_CLASS,\r\n _supportedKeys: function() {\r\n var move = function(location, e) {\r\n if (!(0, _index.isCommandKeyPressed)(e)) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n this._moveFocus(location, e)\r\n }\r\n };\r\n return (0, _extend.extend)(this.callBase(), {\r\n space: function(e) {\r\n e.preventDefault();\r\n this._enterKeyHandler(e)\r\n },\r\n enter: this._enterKeyHandler,\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 _enterKeyHandler: function(e) {\r\n var $itemElement = (0, _renderer.default)(this.option(\"focusedElement\"));\r\n if (!$itemElement.length) {\r\n return\r\n }\r\n var itemData = this._getItemData($itemElement);\r\n if (null !== itemData && void 0 !== itemData && itemData.onClick) {\r\n this._itemEventHandlerByHandler($itemElement, itemData.onClick, {\r\n event: e\r\n })\r\n }\r\n this._itemClickHandler((0, _extend.extend)({}, e, {\r\n target: $itemElement.get(0),\r\n currentTarget: $itemElement.get(0)\r\n }))\r\n },\r\n _getDefaultOptions: function() {\r\n return (0, _extend.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: _message.default.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 ? (0, _data.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 _bindable_template.BindableTemplate(function($container, data) {\r\n if ((0, _type.isPlainObject)(data)) {\r\n this._prepareDefaultItemTemplate(data, $container)\r\n } else {\r\n if (fieldsMap && (0, _type.isFunction)(fieldsMap.text)) {\r\n data = fieldsMap.text(data)\r\n }\r\n $container.text(String((0, _common.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 ((0, _type.isDefined)(data.text)) {\r\n $container.text(data.text)\r\n }\r\n if ((0, _type.isDefined)(data.html)) {\r\n $container.html(data.html)\r\n }\r\n },\r\n _initItemsFromMarkup: function() {\r\n var _this = this;\r\n var rawItems = (0, _template_manager.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((function(_ref) {\r\n var element = _ref.element,\r\n options = _ref.options;\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 (0, _renderer.default)(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.default;\r\n var $template = (0, _renderer.default)(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 = (0, _renderer.default)(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\", (0, _element.getPublicElement)($activeItem))\r\n }\r\n }\r\n },\r\n _focusOutHandler: function() {\r\n this.callBase.apply(this, arguments);\r\n var $target = (0, _renderer.default)(this.option(\"focusedElement\"));\r\n this._updateFocusedItemState($target, false)\r\n },\r\n _findActiveTarget: function($element) {\r\n return $element.find(this._activeStateUnit)\r\n },\r\n _getActiveItem: function(last) {\r\n var $focusedElement = (0, _renderer.default)(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\", (0, _element.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)\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 = (0, _renderer.default)($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 = (0, _renderer.default)($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 = (0, _renderer.default)(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\", (0, _type.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 _isDisabled: function($element) {\r\n return $element && \"true\" === (0, _renderer.default)($element).attr(\"aria-disabled\")\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 var _this$option = this.option(),\r\n selectOnFocus = _this$option.selectOnFocus;\r\n var isTargetDisabled = this._isDisabled($target);\r\n if (selectOnFocus && !isTargetDisabled) {\r\n this._selectFocusedItem($target)\r\n }\r\n },\r\n _findItemElementByItem: function(item) {\r\n var result = (0, _renderer.default)();\r\n var that = this;\r\n this.itemElements().each((function() {\r\n var $item = (0, _renderer.default)(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: function($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: _common.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((0, _renderer.default)(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 (0, _renderer.default)(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: (0, _common.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 _getPointerEvent: function() {\r\n return _pointer.default.down\r\n },\r\n _attachClickEvent: function() {\r\n var _this2 = this;\r\n var itemSelector = this._itemSelector();\r\n var pointerEvent = this._getPointerEvent();\r\n var clickEventNamespace = (0, _index.addNamespace)(_click.name, this.NAME);\r\n var pointerEventNamespace = (0, _index.addNamespace)(pointerEvent, this.NAME);\r\n var pointerAction = new _action.default((function(args) {\r\n var event = args.event;\r\n _this2._itemPointerDownHandler(event)\r\n }));\r\n _events_engine.default.off(this._itemContainer(), clickEventNamespace, itemSelector);\r\n _events_engine.default.off(this._itemContainer(), pointerEventNamespace, itemSelector);\r\n _events_engine.default.on(this._itemContainer(), clickEventNamespace, itemSelector, (function(e) {\r\n return _this2._itemClickHandler(e)\r\n }));\r\n _events_engine.default.on(this._itemContainer(), pointerEventNamespace, itemSelector, (function(e) {\r\n pointerAction.execute({\r\n element: (0, _renderer.default)(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 = (0, _renderer.default)(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\", (0, _element.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(_selectors.focusable)) {\r\n return $target\r\n } else {\r\n $target = $target.parent();\r\n while ($target.length && !_dom_adapter.default.isDocument($target.get(0)) && !_dom_adapter.default.isDocumentFragment($target.get(0))) {\r\n if ($target.is(_selectors.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 = (0, _index.addNamespace)(_hold.default.name, this.NAME);\r\n _events_engine.default.off($itemContainer, eventName, itemSelector);\r\n _events_engine.default.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 = (0, _index.addNamespace)(_contextmenu.name, this.NAME);\r\n _events_engine.default.off($itemContainer, eventName, itemSelector);\r\n _events_engine.default.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 (0, _iterator.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: (0, _element.getPublicElement)($itemContent),\r\n contentClass: this._itemContentClass(),\r\n defaultTemplateName: this.option(\"itemTemplate\")\r\n });\r\n var that = this;\r\n (0, _deferred.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, (0, _element.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 _events_engine.default.on($itemElement, _click.name, 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 = (0, _renderer.default)(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 (0, _renderer.default)(args.container).replaceWith($node);\r\n args.container = (0, _element.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 (0, _renderer.default)(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 = (0, _renderer.default)(\"<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 = (0, _data.compileGetter)(expr);\r\n return getter\r\n }\r\n }\r\n },\r\n _postprocessRenderItem: _common.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 _common.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 || (0, _renderer.default)(\"<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 }\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, (0, _extend.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, (0, _extend.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, (0, _extend.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((0, _renderer.default)(initiator));\r\n var args = (0, _extend.extend)({}, actionArgs);\r\n return action((0, _extend.extend)(actionArgs, this._extendActionArgs($itemElement), args))\r\n },\r\n _extendActionArgs: function($itemElement) {\r\n return {\r\n itemElement: (0, _element.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 (0, _renderer.default)($element).closest(this._itemSelector())\r\n },\r\n _getItemData: function(itemElement) {\r\n return (0, _renderer.default)(itemElement).data(this._itemDataKey())\r\n },\r\n _getSummaryItemsWidth: function(items, includeMargin) {\r\n var result = 0;\r\n if (items) {\r\n (0, _iterator.each)(items, (function(_, item) {\r\n result += (0, _size.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.default\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(_data_helper.default);\r\nCollectionWidget.ItemClass = _item.default;\r\nvar _default = CollectionWidget;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/collection/ui.collection_widget.edit.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _uiCollection_widget = _interopRequireDefault(require(\"./ui.collection_widget.base\"));\r\nvar _ui = _interopRequireDefault(require(\"../widget/ui.errors\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _uiCollection_widgetEditStrategy = _interopRequireDefault(require(\"./ui.collection_widget.edit.strategy.plain\"));\r\nvar _data = require(\"../../core/utils/data\");\r\nvar _data_source = require(\"../../data/data_source/data_source\");\r\nvar _utils = require(\"../../data/data_source/utils\");\r\nvar _selection = _interopRequireDefault(require(\"../selection/selection\"));\r\nvar _deferred = require(\"../../core/utils/deferred\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _toConsumableArray(arr) {\r\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread()\r\n}\r\n\r\nfunction _nonIterableSpread() {\r\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _unsupportedIterableToArray(o, minLen) {\r\n if (!o) {\r\n return\r\n }\r\n if (\"string\" === typeof o) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n var n = Object.prototype.toString.call(o).slice(8, -1);\r\n if (\"Object\" === n && o.constructor) {\r\n n = o.constructor.name\r\n }\r\n if (\"Map\" === n || \"Set\" === n) {\r\n return Array.from(o)\r\n }\r\n if (\"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n}\r\n\r\nfunction _iterableToArray(iter) {\r\n if (\"undefined\" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter[\"@@iterator\"]) {\r\n return Array.from(iter)\r\n }\r\n}\r\n\r\nfunction _arrayWithoutHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return _arrayLikeToArray(arr)\r\n }\r\n}\r\n\r\nfunction _arrayLikeToArray(arr, len) {\r\n if (null == len || len > arr.length) {\r\n len = arr.length\r\n }\r\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\r\n arr2[i] = arr[i]\r\n }\r\n return arr2\r\n}\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 = _uiCollection_widget.default.inherit({\r\n _setOptionsByReference: function() {\r\n this.callBase();\r\n (0, _extend.extend)(this._optionsByReference, {\r\n selectedItem: true\r\n })\r\n },\r\n _getDefaultOptions: function() {\r\n return (0, _extend.extend)(this.callBase(), {\r\n selectionMode: \"none\",\r\n selectionRequired: false,\r\n selectByClick: 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 = (0, _data.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.default({\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 = (0, _utils.normalizeLoadResult)(loadResult).data;\r\n dataController.applyMapFunction(items)\r\n }))\r\n } else {\r\n return (new _deferred.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 var _this = this;\r\n return items.reduce((function(itemsCount, item) {\r\n return itemsCount + (item.items ? _this._getItemsCount(item.items) : 1)\r\n }), 0)\r\n },\r\n _initEditStrategy: function() {\r\n var Strategy = _uiCollection_widgetEditStrategy.default;\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 (0, _iterator.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 var _this2 = this;\r\n this._rendering = true;\r\n if (!this._dataController.isLoading()) {\r\n this._syncSelectionOptions().done((function() {\r\n return _this2._normalizeSelectedItems()\r\n }))\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 ((0, _type.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 ((0, _type.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.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 = (0, _type.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.Deferred).resolve().promise()\r\n },\r\n _itemClickHandler: function(e) {\r\n var _arguments = arguments,\r\n _this3 = this;\r\n var itemSelectPromise = (new _deferred.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: (0, _renderer.default)(e.currentTarget),\r\n event: e\r\n });\r\n itemSelectPromise.always((function() {\r\n callBase.apply(_this3, _arguments)\r\n }))\r\n },\r\n _itemSelectHandler: function(e) {\r\n var _itemSelectPromise;\r\n var itemSelectPromise;\r\n if (!this.option(\"selectByClick\")) {\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 = (0, _renderer.default)(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._setAriaSelectionAttribute($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 }(0, _deferred.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: _common.noop,\r\n _setAriaSelectionAttribute: 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 _events_engine.default.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 _events_engine.default.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 var _this4 = this;\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((function() {\r\n return _this4._normalizeSelectedItems()\r\n }));\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 \"selectByClick\":\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.Deferred).resolve().promise()\r\n }\r\n $itemElement.data(ITEM_DELETING_DATA_KEY, true);\r\n var deferred = new _deferred.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 (0, _deferred.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 (0, _deferred.when)((0, _deferred.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.Deferred;\r\n var disabledState = this.option(\"disabled\");\r\n var dataStore = dataController.store();\r\n if (!dataStore) {\r\n return (new _deferred.Deferred).resolve().promise()\r\n }\r\n if (!dataStore.remove) {\r\n throw _ui.default.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.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 (0, _renderer.default)(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 _data_source.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([].concat(_toConsumableArray(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.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.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\nvar _default = CollectionWidget;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/collection/ui.collection_widget.edit.strategy.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _class = _interopRequireDefault(require(\"../../core/class\"));\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _dom_adapter = _interopRequireDefault(require(\"../../core/dom_adapter\"));\r\nvar _type = require(\"../../core/utils/type\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar abstract = _class.default.abstract;\r\nvar EditStrategy = _class.default.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 (0, _common.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 (0, _renderer.default)(value)\r\n }\r\n var normalizedItemIndex = this._normalizeItemIndex(this.getIndexByItemData(value));\r\n return this._getItemByNormalizedIndex(normalizedItemIndex)\r\n },\r\n _isNode: function(el) {\r\n return _dom_adapter.default.isNode(el && (0, _type.isRenderer)(el) ? el.get(0) : el)\r\n },\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\nvar _default = EditStrategy;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/collection/ui.collection_widget.edit.strategy.plain.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _uiCollection_widgetEdit = _interopRequireDefault(require(\"./ui.collection_widget.edit.strategy\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nvar PlainEditStrategy = _uiCollection_widgetEdit.default.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\nvar _default = PlainEditStrategy;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/collection/ui.collection_widget.live_update.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _uiCollection_widget = _interopRequireDefault(require(\"./ui.collection_widget.edit\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _array_utils = require(\"../../data/array_utils\");\r\nvar _utils = require(\"../../data/utils\");\r\nvar _deferred = require(\"../../core/utils/deferred\");\r\nvar _array_compare = require(\"../../core/utils/array_compare\");\r\nvar _dom_adapter = _interopRequireDefault(require(\"../../core/dom_adapter\"));\r\nvar _common = require(\"../../core/utils/common\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\n\r\nfunction _defineProperty(obj, key, value) {\r\n key = _toPropertyKey(key);\r\n if (key in obj) {\r\n Object.defineProperty(obj, key, {\r\n value: value,\r\n enumerable: true,\r\n configurable: true,\r\n writable: true\r\n })\r\n } else {\r\n obj[key] = value\r\n }\r\n return obj\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\nvar PRIVATE_KEY_FIELD = \"__dx_key__\";\r\nvar _default = _uiCollection_widget.default.inherit({\r\n _getDefaultOptions: function() {\r\n return (0, _extend.extend)(this.callBase(), {\r\n repaintChangesOnly: false\r\n })\r\n },\r\n ctor: function() {\r\n var _this$_dataController, _this = this;\r\n this.callBase.apply(this, arguments);\r\n this._customizeStoreLoadOptions = function(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 _this2 = this;\r\n var result = (0, _renderer.default)();\r\n var keyExpr = this.key();\r\n this.itemElements().each((function(_, item) {\r\n var $item = (0, _renderer.default)(item);\r\n var itemData = _this2._getItemData($item);\r\n if (keyExpr ? (0, _utils.keysEqual)(keyExpr, _this2.keyOf(itemData), key) : _this2._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 }(0, _iterator.each)(changes, (function(i, change) {\r\n if (\"insert\" === change.type) {\r\n result = true;\r\n (0, _iterator.each)(items, (function(_, 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 var _this3 = this;\r\n if (this.option(\"repaintChangesOnly\")) {\r\n var result = (0, _array_compare.findChanges)(this._itemsCache, this._editStrategy.itemsGetter(), (function(data) {\r\n if (data && void 0 !== data[PRIVATE_KEY_FIELD]) {\r\n return data[PRIVATE_KEY_FIELD]\r\n }\r\n return _this3.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 = (0, _extend.extend)(true, [], items);\r\n if (!this.key()) {\r\n this._itemsCache = this._itemsCache.map((function(itemCache, index) {\r\n var _ref;\r\n return _ref = {}, _defineProperty(_ref, PRIVATE_KEY_FIELD, items[index]), _defineProperty(_ref, \"data\", itemCache), _ref\r\n }))\r\n }\r\n } catch (e) {\r\n this._itemsCache = (0, _extend.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 var _this4 = this;\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[(0, _array_utils.indexByKey)(keyInfo, items, change.key)];\r\n if (changedItem) {\r\n (0, _array_utils.update)(keyInfo, items, change.key, change.data).done((function() {\r\n _this4._renderItem(items.indexOf(changedItem), changedItem, null, _this4._findItemElementByKey(change.key))\r\n }))\r\n }\r\n }\r\n },\r\n _insertByChange: function(keyInfo, items, change, isPartialRefresh) {\r\n var _this5 = this;\r\n (0, _deferred.when)(isPartialRefresh || (0, _array_utils.insert)(keyInfo, items, change.data, change.index)).done((function() {\r\n var _change$index;\r\n _this5._beforeItemElementInserted(change);\r\n var $itemContainer = _this5._getItemContainer(change.data);\r\n _this5._renderItem(null !== (_change$index = change.index) && void 0 !== _change$index ? _change$index : items.length, change.data, $itemContainer);\r\n _this5._afterItemElementInserted();\r\n _this5._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: _common.noop,\r\n _removeByChange: function(keyInfo, items, change, isPartialRefresh) {\r\n var _this6 = this;\r\n var index = isPartialRefresh ? change.index : (0, _array_utils.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((function() {\r\n if (isPartialRefresh) {\r\n _this6._updateIndicesAfterIndex(index - 1);\r\n _this6._afterItemElementDeleted($removedItemElement, deletedActionArgs);\r\n _this6._updateSelectionAfterRemoveByChange(index)\r\n } else {\r\n _this6._deleteItemElementByIndex(index);\r\n _this6._afterItemElementDeleted($removedItemElement, deletedActionArgs)\r\n }\r\n }));\r\n this._correctionIndex--\r\n }\r\n },\r\n _modifyByChanges: function(changes, isPartialRefresh) {\r\n var _this7 = this;\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((function(item) {\r\n return \"insert\" !== item.type || void 0 !== item.index\r\n }))\r\n }\r\n changes.forEach((function(change) {\r\n return _this7[\"_\".concat(change.type, \"ByChange\")](keyInfo, items, change, isPartialRefresh)\r\n }));\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 _dom_adapter.default.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\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/color_box.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _color_box = _interopRequireDefault(require(\"./color_box/color_box\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar _default = _color_box.default;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/color_box/color_box.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _color = _interopRequireDefault(require(\"../../color\"));\r\nvar _color_view = _interopRequireDefault(require(\"./color_view\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _component_registrator = _interopRequireDefault(require(\"../../core/component_registrator\"));\r\nvar _ui = _interopRequireDefault(require(\"../drop_down_editor/ui.drop_down_editor\"));\r\nvar _guid = _interopRequireDefault(require(\"../../core/guid\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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 = _color_view.default.prototype;\r\nvar colorUtils = {\r\n makeTransparentBackground: colorEditorPrototype._makeTransparentBackground.bind(colorEditorPrototype),\r\n makeRgba: colorEditorPrototype._makeRgba.bind(colorEditorPrototype)\r\n};\r\nvar ColorBox = _ui.default.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 (0, _extend.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 _events_engine.default.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 (0, _extend.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 (0, _extend.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 = (0, _renderer.default)(\"<div>\").appendTo(this._popup.$content());\r\n this._colorView = this._createComponent($colorView, _color_view.default, this._colorViewConfig());\r\n this._colorView.registerKeyHandler(\"escape\", this._escapeHandler.bind(this));\r\n _events_engine.default.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 (0, _renderer.default)(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 ariaId: this._ariaId,\r\n onEnterKeyPressed: function(_ref) {\r\n var event = _ref.event;\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 event = _ref2.event,\r\n value = _ref2.value,\r\n previousValue = _ref2.previousValue;\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 _this$option = this.option(),\r\n value = _this$option.value,\r\n editAlphaChannel = _this$option.editAlphaChannel;\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.default(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: function() {\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._ariaId = \"dx-\".concat(new _guid.default);\r\n this.setAria(\"activedescendant\", this._ariaId);\r\n this._input().addClass(COLOR_BOX_INPUT_CLASS);\r\n this._renderColorPreview()\r\n },\r\n _renderColorPreview: function() {\r\n this.$element().wrapInner((0, _renderer.default)(\"<div>\").addClass(COLOR_BOX_INPUT_CONTAINER_CLASS));\r\n this._$colorBoxInputContainer = this.$element().children().eq(0);\r\n this._$colorResultPreview = (0, _renderer.default)(\"<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 _this$option2 = this.option(),\r\n value = _this$option2.value,\r\n editAlphaChannel = _this$option2.editAlphaChannel;\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 newColor = new _color.default(value);\r\n if (newColor.colorIsInvalid) {\r\n this._resetInputValue();\r\n value = this.option(\"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\n(0, _component_registrator.default)(\"dxColorBox\", ColorBox);\r\nvar _default = ColorBox;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/color_box/color_view.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _size = require(\"../../core/utils/size\");\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _translator = require(\"../../animation/translator\");\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _color = _interopRequireDefault(require(\"../../color\"));\r\nvar _message = _interopRequireDefault(require(\"../../localization/message\"));\r\nvar _devices = _interopRequireDefault(require(\"../../core/devices\"));\r\nvar _component_registrator = _interopRequireDefault(require(\"../../core/component_registrator\"));\r\nvar _editor = _interopRequireDefault(require(\"../editor/editor\"));\r\nvar _number_box = _interopRequireDefault(require(\"../number_box\"));\r\nvar _text_box = _interopRequireDefault(require(\"../text_box\"));\r\nvar _draggable = _interopRequireDefault(require(\"../draggable\"));\r\nvar _index = require(\"../../events/utils/index\");\r\nvar _click = require(\"../../events/click\");\r\nvar _guid = _interopRequireDefault(require(\"../../core/guid\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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 TEXT_EDITOR_INPUT = \"dx-texteditor-input\";\r\nvar BLACK_COLOR = \"#000000\";\r\nvar ColorView = _editor.default.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 = (0, _translator.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 = (0, _translator.locate)(that._$alphaChannelHandle);\r\n that._calculateColorTransparencyByScaleWidth(handleLocation.left + that._alphaChannelHandleWidth / 2)\r\n };\r\n return (0, _extend.extend)(this.callBase(), {\r\n upArrow: function(e) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n if ((0, _index.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 ((0, _index.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 ((0, _index.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 ((0, _index.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 (0, _extend.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.default.real().deviceType && !_devices.default.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.default(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.default(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.default(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.default)) {\r\n color = new _color.default(color)\r\n }\r\n $el.css(\"backgroundColor\", this._makeRgba(color))\r\n },\r\n _makeRgba: function(color) {\r\n if (!(color instanceof _color.default)) {\r\n color = new _color.default(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 = (0, _renderer.default)(\"<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((0, _renderer.default)(\"<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 (0, _renderer.default)(\"<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 = (0, _renderer.default)(\"<div>\").addClass([COLOR_VIEW_PALETTE_GRADIENT_CLASS, COLOR_VIEW_PALETTE_GRADIENT_WHITE_CLASS].join(\" \"));\r\n var $paletteGradientBlack = (0, _renderer.default)(\"<div>\").addClass([COLOR_VIEW_PALETTE_GRADIENT_CLASS, COLOR_VIEW_PALETTE_GRADIENT_BLACK_CLASS].join(\" \"));\r\n this._$palette = (0, _renderer.default)(\"<div>\").addClass(COLOR_VIEW_PALETTE_CLASS).css(\"backgroundColor\", this._currentColor.getPureColor().toHex()).appendTo($paletteCell);\r\n this._paletteHeight = (0, _size.getHeight)(this._$palette);\r\n this._paletteWidth = (0, _size.getWidth)(this._$palette);\r\n this._renderPaletteHandle();\r\n this._$palette.append([$paletteGradientWhite, $paletteGradientBlack])\r\n },\r\n _renderPaletteHandle: function() {\r\n var _this = this;\r\n this._$paletteHandle = (0, _renderer.default)(\"<div>\").addClass(COLOR_VIEW_PALETTE_HANDLE_CLASS).appendTo(this._$palette);\r\n var handleAria = {\r\n id: this.option(\"ariaId\"),\r\n role: \"application\"\r\n };\r\n this.setAria(handleAria, this._$paletteHandle);\r\n this._createComponent(this._$paletteHandle, _draggable.default, {\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: function(_ref) {\r\n var event = _ref.event;\r\n var paletteHandlePosition = (0, _translator.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 = (0, _size.getWidth)(this._$paletteHandle);\r\n this._paletteHandleHeight = (0, _size.getHeight)(this._$paletteHandle);\r\n this._placePaletteHandle()\r\n },\r\n _placePaletteHandle: function() {\r\n (0, _translator.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.default(\"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 = (0, _renderer.default)(\"<div>\").addClass(COLOR_VIEW_HUE_SCALE_WRAPPER_CLASS).appendTo($hueScaleCell);\r\n this._$hueScale = (0, _renderer.default)(\"<div>\").addClass(COLOR_VIEW_HUE_SCALE_CLASS).appendTo(this._$hueScaleWrapper);\r\n this._hueScaleHeight = (0, _size.getHeight)(this._$hueScale);\r\n this._hueScaleWrapperHeight = (0, _size.getOuterHeight)(this._$hueScaleWrapper);\r\n this._renderHueScaleHandle()\r\n },\r\n _renderHueScaleHandle: function() {\r\n var _this2 = this;\r\n this._$hueScaleHandle = (0, _renderer.default)(\"<div>\").addClass(COLOR_VIEW_HUE_SCALE_HANDLE_CLASS).appendTo(this._$hueScaleWrapper);\r\n this._createComponent(this._$hueScaleHandle, _draggable.default, {\r\n contentTemplate: null,\r\n boundary: this._$hueScaleWrapper,\r\n allowMoveByClick: true,\r\n dragDirection: \"vertical\",\r\n onDragMove: function(_ref2) {\r\n var event = _ref2.event;\r\n _this2._updateByDrag = true;\r\n _this2._saveValueChangeEvent(event);\r\n _this2._updateColorHue((0, _translator.locate)(_this2._$hueScaleHandle).top + _this2._hueScaleHandleHeight / 2)\r\n }\r\n });\r\n this._hueScaleHandleHeight = (0, _size.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 }(0, _translator.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 = (0, _renderer.default)(\"<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 = (0, _renderer.default)(\"<div>\").addClass(COLOR_VIEW_COLOR_PREVIEW_CONTAINER_CLASS).appendTo(this._$controlsContainer);\r\n var $colorsPreviewContainerInner = (0, _renderer.default)(\"<div>\").addClass(COLOR_VIEW_COLOR_PREVIEW_CONTAINER_INNER_CLASS).appendTo($colorsPreviewContainer);\r\n this._$currentColor = (0, _renderer.default)(\"<div>\").addClass([COLOR_VIEW_COLOR_PREVIEW, COLOR_VIEW_COLOR_PREVIEW_COLOR_NEW].join(\" \"));\r\n this._$baseColor = (0, _renderer.default)(\"<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: _number_box.default,\r\n value: this._currentColor.r,\r\n onValueChanged: this._updateColor.bind(this, false),\r\n labelText: \"R\",\r\n labelAriaText: _message.default.format(\"dxColorView-ariaRed\"),\r\n labelClass: COLOR_VIEW_RED_LABEL_CLASS\r\n }), this._renderEditorWithLabel({\r\n editorType: _number_box.default,\r\n value: this._currentColor.g,\r\n onValueChanged: this._updateColor.bind(this, false),\r\n labelText: \"G\",\r\n labelAriaText: _message.default.format(\"dxColorView-ariaGreen\"),\r\n labelClass: COLOR_VIEW_GREEN_LABEL_CLASS\r\n }), this._renderEditorWithLabel({\r\n editorType: _number_box.default,\r\n value: this._currentColor.b,\r\n onValueChanged: this._updateColor.bind(this, false),\r\n labelText: \"B\",\r\n labelAriaText: _message.default.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 _this3 = this;\r\n var $editor = (0, _renderer.default)(\"<div>\");\r\n var $label = (0, _renderer.default)(\"<label>\").addClass(options.labelClass).text(options.labelText + \":\").append($editor);\r\n _events_engine.default.off($label, _click.name);\r\n _events_engine.default.on($label, _click.name, (function(e) {\r\n e.preventDefault()\r\n }));\r\n var editorType = options.editorType;\r\n var editorOptions = (0, _extend.extend)({\r\n value: options.value,\r\n onValueChanged: options.onValueChanged,\r\n onKeyboardHandled: function(opts) {\r\n return _this3._keyboardHandler(opts)\r\n }\r\n }, {\r\n stylingMode: this.option(\"stylingMode\")\r\n });\r\n if (editorType === _number_box.default) {\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: _text_box.default,\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: _message.default.format(\"dxColorView-ariaHex\")\r\n }\r\n },\r\n _renderHexInput: function() {\r\n this._hexInput = _text_box.default.getInstance(this._renderEditorWithLabel(this.hexInputOptions()).appendTo(this._$controlsContainer).find(\".dx-textbox\"));\r\n var inputId = \"dx-\".concat(new _guid.default);\r\n var $hexInput = this._$controlsContainer.find(\".\".concat(COLOR_VIEW_HEX_LABEL_CLASS)).find(\".\".concat(TEXT_EDITOR_INPUT));\r\n this.setAria(\"id\", inputId, $hexInput);\r\n this.setAria(\"labelledby\", inputId, this._$paletteHandle)\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 = (0, _renderer.default)(\"<div>\").addClass(COLOR_VIEW_ALPHA_CHANNEL_BORDER_CLASS).appendTo($alphaChannelScaleCell);\r\n var $alphaChannelScaleWrapper = (0, _renderer.default)(\"<div>\").addClass(COLOR_VIEW_ALPHA_CHANNEL_SCALE_WRAPPER_CLASS).appendTo($alphaChannelBorder);\r\n this._$alphaChannelScale = (0, _renderer.default)(\"<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: _number_box.default,\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: _message.default.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 var _this4 = this;\r\n this._$alphaChannelHandle = (0, _renderer.default)(\"<div>\").addClass(COLOR_VIEW_ALPHA_CHANNEL_HANDLE_CLASS).appendTo($parent);\r\n this._createComponent(this._$alphaChannelHandle, _draggable.default, {\r\n contentTemplate: null,\r\n boundary: $parent,\r\n allowMoveByClick: true,\r\n dragDirection: \"horizontal\",\r\n onDragMove: function(_ref3) {\r\n var event = _ref3.event;\r\n _this4._updateByDrag = true;\r\n var $alphaChannelHandle = _this4._$alphaChannelHandle;\r\n var alphaChannelHandlePosition = (0, _translator.locate)($alphaChannelHandle).left + _this4._alphaChannelHandleWidth / 2;\r\n _this4._saveValueChangeEvent(event);\r\n _this4._calculateColorTransparencyByScaleWidth(alphaChannelHandlePosition)\r\n }\r\n });\r\n this._alphaChannelHandleWidth = (0, _size.getWidth)(this._$alphaChannelHandle);\r\n this._alphaChannelScaleWorkWidth = (0, _size.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 }(0, _translator.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.default(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\n(0, _component_registrator.default)(\"dxColorView\", ColorView);\r\nvar _default = ColorView;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/context_menu.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _ui = _interopRequireDefault(require(\"./context_menu/ui.context_menu\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar _default = _ui.default;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/context_menu/ui.context_menu.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _dom_adapter = _interopRequireDefault(require(\"../../core/dom_adapter\"));\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _guid = _interopRequireDefault(require(\"../../core/guid\"));\r\nvar _component_registrator = _interopRequireDefault(require(\"../../core/component_registrator\"));\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _dom = require(\"../../core/utils/dom\");\r\nvar _element = require(\"../../core/element\");\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _window = require(\"../../core/utils/window\");\r\nvar _fx = _interopRequireDefault(require(\"../../animation/fx\"));\r\nvar _position = _interopRequireDefault(require(\"../../animation/position\"));\r\nvar _devices = _interopRequireDefault(require(\"../../core/devices\"));\r\nvar _index = require(\"../../events/utils/index\");\r\nvar _ui = _interopRequireDefault(require(\"../overlay/ui.overlay\"));\r\nvar _ui2 = _interopRequireDefault(require(\"./ui.menu_base\"));\r\nvar _deferred = require(\"../../core/utils/deferred\");\r\nvar _contextmenu = require(\"../../events/contextmenu\");\r\nvar _hold = _interopRequireDefault(require(\"../../events/hold\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\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 = (0, _window.getWindow)();\r\nvar ContextMenu = function(_MenuBase) {\r\n _inheritsLoose(ContextMenu, _MenuBase);\r\n\r\n function ContextMenu() {\r\n return _MenuBase.apply(this, arguments) || this\r\n }\r\n var _proto = ContextMenu.prototype;\r\n _proto.getShowEvent = function(showEventOption) {\r\n var result = null;\r\n if ((0, _type.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 _proto.getShowDelay = function(showEventOption) {\r\n return (0, _type.isObject)(showEventOption) && showEventOption.delay\r\n };\r\n _proto._getDefaultOptions = function() {\r\n return (0, _extend.extend)(_MenuBase.prototype._getDefaultOptions.call(this), {\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 _proto._defaultOptionsRules = function() {\r\n return _MenuBase.prototype._defaultOptionsRules.call(this).concat([{\r\n device: function() {\r\n return !(0, _window.hasWindow)()\r\n },\r\n options: {\r\n animation: null\r\n }\r\n }])\r\n };\r\n _proto._setDeprecatedOptions = function() {\r\n _MenuBase.prototype._setDeprecatedOptions.call(this);\r\n (0, _extend.extend)(this._deprecatedOptions, {\r\n closeOnOutsideClick: {\r\n since: \"22.2\",\r\n alias: \"hideOnOutsideClick\"\r\n }\r\n })\r\n };\r\n _proto._initActions = function() {\r\n var _this = this;\r\n this._actions = {};\r\n (0, _iterator.each)(ACTIONS, (function(index, action) {\r\n _this._actions[action] = _this._createActionByOption(action) || _common.noop\r\n }))\r\n };\r\n _proto._setOptionsByReference = function() {\r\n _MenuBase.prototype._setOptionsByReference.call(this);\r\n (0, _extend.extend)(this._optionsByReference, {\r\n animation: true,\r\n selectedItem: true\r\n })\r\n };\r\n _proto._focusInHandler = function() {};\r\n _proto._itemContainer = function() {\r\n return this._overlay ? this._overlay.$content() : (0, _renderer.default)()\r\n };\r\n _proto._eventBindingTarget = function() {\r\n return this._itemContainer()\r\n };\r\n _proto.itemsContainer = function() {\r\n return this._overlay ? this._overlay.$content() : void 0\r\n };\r\n _proto._supportedKeys = function() {\r\n var _this2 = this;\r\n return (0, _extend.extend)(_MenuBase.prototype._supportedKeys.call(this), {\r\n space: function() {\r\n var $item = (0, _renderer.default)(_this2.option(\"focusedElement\"));\r\n _this2.hide();\r\n if (!$item.length || !_this2._isSelectionEnabled()) {\r\n return\r\n }\r\n _this2.selectItem($item[0])\r\n },\r\n escape: this.hide\r\n })\r\n };\r\n _proto._getActiveItem = function() {\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 _MenuBase.prototype._getActiveItem.call(this)\r\n };\r\n _proto._moveFocus = function(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 = (0, _renderer.default)(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 _MenuBase.prototype._moveFocus.call(this, location)\r\n }\r\n };\r\n _proto._setFocusedElement = function($element) {\r\n if ($element && 0 !== $element.length) {\r\n this.option(\"focusedElement\", (0, _element.getPublicElement)($element))\r\n }\r\n };\r\n _proto._getItemsByLocation = function(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 _proto._getAriaTarget = function() {\r\n return this.$element()\r\n };\r\n _proto._refreshActiveDescendant = function() {\r\n if ((0, _type.isDefined)(this._overlay)) {\r\n var $target = this._overlay.$content();\r\n _MenuBase.prototype._refreshActiveDescendant.call(this, $target)\r\n }\r\n };\r\n _proto._hideSubmenuHandler = function() {\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 _proto._expandSubmenuHandler = function($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 _proto._clean = function() {\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 _MenuBase.prototype._clean.call(this)\r\n };\r\n _proto._initMarkup = function() {\r\n this.$element().addClass(DX_HAS_CONTEXT_MENU_CLASS);\r\n _MenuBase.prototype._initMarkup.call(this)\r\n };\r\n _proto._render = function() {\r\n _MenuBase.prototype._render.call(this);\r\n this._renderVisibility(this.option(\"visible\"));\r\n this._addWidgetClass()\r\n };\r\n _proto._renderContentImpl = function() {\r\n this._detachShowContextMenuEvents(this._getTarget());\r\n this._attachShowContextMenuEvents()\r\n };\r\n _proto._attachKeyboardEvents = function() {\r\n !this._keyboardListenerId && this._focusTarget().length && _MenuBase.prototype._attachKeyboardEvents.call(this)\r\n };\r\n _proto._renderContextMenuOverlay = function() {\r\n if (this._overlay) {\r\n return\r\n }\r\n var overlayOptions = this._getOverlayOptions();\r\n this._overlay = this._createComponent((0, _renderer.default)(\"<div>\").appendTo(this._$element), _ui.default, 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 _proto.preventShowingDefaultContextMenuAboveOverlay = function() {\r\n var $itemContainer = this._itemContainer();\r\n var eventName = (0, _index.addNamespace)(_contextmenu.name, this.NAME);\r\n _events_engine.default.off($itemContainer, eventName, \".\".concat(DX_SUBMENU_CLASS));\r\n _events_engine.default.on($itemContainer, eventName, \".\".concat(DX_SUBMENU_CLASS), function(e) {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n _events_engine.default.off($itemContainer, eventName, \".\".concat(DX_SUBMENU_CLASS))\r\n }.bind(this))\r\n };\r\n _proto._itemContextMenuHandler = function(e) {\r\n _MenuBase.prototype._itemContextMenuHandler.call(this, e);\r\n e.stopPropagation()\r\n };\r\n _proto._addPlatformDependentClass = function($element) {\r\n if (_devices.default.current().phone) {\r\n $element.addClass(DX_MENU_PHONE_CLASS)\r\n }\r\n };\r\n _proto._detachShowContextMenuEvents = function(target) {\r\n var showEvent = this.getShowEvent(this.option(\"showEvent\"));\r\n if (!showEvent) {\r\n return\r\n }\r\n var eventName = (0, _index.addNamespace)(showEvent, this.NAME);\r\n if (this._showContextMenuEventHandler) {\r\n _events_engine.default.off(_dom_adapter.default.getDocument(), eventName, target, this._showContextMenuEventHandler)\r\n } else {\r\n _events_engine.default.off((0, _renderer.default)(target), eventName)\r\n }\r\n };\r\n _proto._attachShowContextMenuEvents = function() {\r\n var _this3 = this;\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 = (0, _index.addNamespace)(showEvent, this.NAME);\r\n var contextMenuAction = this._createAction((function(e) {\r\n var delay = _this3.getShowDelay(_this3.option(\"showEvent\"));\r\n if (delay) {\r\n setTimeout((function() {\r\n return _this3._show(e.event)\r\n }), delay)\r\n } else {\r\n _this3._show(e.event)\r\n }\r\n }), {\r\n validatingTargetName: \"target\"\r\n });\r\n var handler = function(e) {\r\n return contextMenuAction({\r\n event: e,\r\n target: (0, _renderer.default)(e.currentTarget)\r\n })\r\n };\r\n contextMenuAction = this._createAction(contextMenuAction);\r\n if ((0, _type.isRenderer)(target) || target.nodeType || (0, _type.isWindow)(target)) {\r\n this._showContextMenuEventHandler = void 0;\r\n _events_engine.default.on(target, eventName, handler)\r\n } else {\r\n this._showContextMenuEventHandler = handler;\r\n _events_engine.default.on(_dom_adapter.default.getDocument(), eventName, target, this._showContextMenuEventHandler)\r\n }\r\n };\r\n _proto._hoverEndHandler = function(e) {\r\n _MenuBase.prototype._hoverEndHandler.call(this, e);\r\n e.stopPropagation()\r\n };\r\n _proto._renderDimensions = function() {};\r\n _proto._renderContainer = function($wrapper, submenuContainer) {\r\n var $holder = submenuContainer || this._itemContainer();\r\n $wrapper = (0, _renderer.default)(\"<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 = _MenuBase.prototype._renderContainer.call(this, $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 _proto._renderSubmenuItems = function(node, $itemFrame) {\r\n this._renderItems(this._getChildNodes(node), $itemFrame);\r\n this._actions.onSubmenuCreated({\r\n itemElement: (0, _element.getPublicElement)($itemFrame),\r\n itemData: node.internalFields.item,\r\n submenuElement: (0, _element.getPublicElement)($itemFrame.children(\".\".concat(DX_SUBMENU_CLASS)))\r\n })\r\n };\r\n _proto._getOverlayOptions = function() {\r\n var _this4 = this;\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: function(e) {\r\n return _this4._hideOnOutsideClickHandler(e)\r\n },\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 _proto._overlayShownActionHandler = function(arg) {\r\n this._actions.onShown(arg)\r\n };\r\n _proto._overlayHidingActionHandler = function(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 _proto._overlayHiddenActionHandler = function(arg) {\r\n this._actions.onHidden(arg)\r\n };\r\n _proto._shouldHideOnOutsideClick = function(e) {\r\n var _this$option = this.option(),\r\n closeOnOutsideClick = _this$option.closeOnOutsideClick,\r\n hideOnOutsideClick = _this$option.hideOnOutsideClick;\r\n if ((0, _type.isFunction)(hideOnOutsideClick)) {\r\n return hideOnOutsideClick(e)\r\n } else if ((0, _type.isFunction)(closeOnOutsideClick)) {\r\n return closeOnOutsideClick(e)\r\n } else {\r\n return hideOnOutsideClick || closeOnOutsideClick\r\n }\r\n };\r\n _proto._hideOnOutsideClickHandler = function(e) {\r\n if (!this._shouldHideOnOutsideClick(e)) {\r\n return false\r\n }\r\n if (_dom_adapter.default.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 _proto._getActiveItemsContainer = function(target) {\r\n return (0, _renderer.default)(target).closest(\".\".concat(DX_MENU_ITEMS_CONTAINER_CLASS))\r\n };\r\n _proto._getItemsContainers = function() {\r\n return this._overlay.$content().find(\".\".concat(DX_MENU_ITEMS_CONTAINER_CLASS))\r\n };\r\n _proto._searchActiveItem = function(target) {\r\n return (0, _renderer.default)(target).closest(\".\".concat(DX_MENU_ITEM_CLASS)).eq(0)\r\n };\r\n _proto._isIncludeOverlay = function($activeOverlay, $allOverlays) {\r\n var isSame = false;\r\n (0, _iterator.each)($allOverlays, (function(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 _proto._hideAllShownChildSubmenus = function($clickedItem) {\r\n var _this5 = this;\r\n var $submenuElements = $clickedItem.find(\".\".concat(DX_SUBMENU_CLASS));\r\n var shownSubmenus = (0, _extend.extend)([], this._shownSubmenus);\r\n if ($submenuElements.length > 0) {\r\n (0, _iterator.each)(shownSubmenus, (function(index, $submenu) {\r\n var $context = _this5._searchActiveItem($submenu.context).parent();\r\n if ($context.parent().is($clickedItem.parent().parent()) && !$context.is($clickedItem.parent())) {\r\n _this5._hideSubmenu($submenu)\r\n }\r\n }))\r\n }\r\n };\r\n _proto._showSubmenu = function($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 _MenuBase.prototype._showSubmenu.call(this, $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 _proto._hideSubmenusOnSameLevel = function($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 _proto._hideSubmenuGroup = function($submenu) {\r\n if (this._isSubmenuVisible($submenu)) {\r\n this._hideSubmenuCore($submenu)\r\n }\r\n };\r\n _proto._isSubmenuVisible = function($submenu) {\r\n return \"visible\" === $submenu.css(\"visibility\")\r\n };\r\n _proto._drawSubmenu = function($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 (!(0, _type.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.default.stop($submenu)\r\n }\r\n _position.default.setup($submenu, submenuPosition);\r\n if (animation) {\r\n if ((0, _type.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 _proto._animate = function($container, options) {\r\n _fx.default.animate($container, options)\r\n };\r\n _proto._getSubmenuPosition = function($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 _proto._updateSubmenuVisibilityOnClick = function(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 = (0, _renderer.default)(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 = (0, _renderer.default)($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 _proto._hideSubmenu = function($curSubmenu) {\r\n var _this6 = this;\r\n var shownSubmenus = (0, _extend.extend)([], this._shownSubmenus);\r\n (0, _iterator.each)(shownSubmenus, (function(index, $submenu) {\r\n if ($curSubmenu.is($submenu) || (0, _dom.contains)($curSubmenu[0], $submenu[0])) {\r\n $submenu.parent().removeClass(DX_MENU_ITEM_EXPANDED_CLASS);\r\n _this6._hideSubmenuCore($submenu)\r\n }\r\n }))\r\n };\r\n _proto._hideSubmenuCore = function($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 _proto._stopAnimate = function($container) {\r\n _fx.default.stop($container, true)\r\n };\r\n _proto._hideAllShownSubmenus = function() {\r\n var _this7 = this;\r\n var shownSubmenus = (0, _extend.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 (0, _iterator.each)(shownSubmenus, (function(_, $submenu) {\r\n _this7._hideSubmenu($submenu)\r\n }))\r\n };\r\n _proto._visibilityChanged = function(visible) {\r\n if (visible) {\r\n this._renderContentImpl()\r\n }\r\n };\r\n _proto._optionChanged = function(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 _MenuBase.prototype._optionChanged.call(this, args)\r\n }\r\n };\r\n _proto._renderVisibility = function(showing) {\r\n return showing ? this._show() : this._hide()\r\n };\r\n _proto._toggleVisibility = function() {};\r\n _proto._show = function(event) {\r\n var args = {\r\n jQEvent: event\r\n };\r\n var promise = (new _deferred.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) === _hold.default.name) {\r\n this.preventShowingDefaultContextMenuAboveOverlay()\r\n }\r\n }\r\n return promise\r\n };\r\n _proto._setAriaAttributes = function() {\r\n this._overlayContentId = \"dx-\".concat(new _guid.default);\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 _proto._cleanAriaAttributes = function() {\r\n this._overlay && this.setAria(\"id\", null, this._overlay.$content());\r\n this.setAria(\"owns\", void 0)\r\n };\r\n _proto._getTarget = function() {\r\n return this.option(\"target\") || this.option(\"position\").of || (0, _renderer.default)(_dom_adapter.default.getDocument())\r\n };\r\n _proto._getContextMenuPosition = function() {\r\n return (0, _extend.extend)({}, this.option(\"position\"), {\r\n of: this._getTarget()\r\n })\r\n };\r\n _proto._positionContextMenu = function(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 _proto._refresh = function() {\r\n if (!(0, _window.hasWindow)()) {\r\n _MenuBase.prototype._refresh.call(this)\r\n } else if (this._overlay) {\r\n var lastPosition = this._overlay.option(\"position\");\r\n _MenuBase.prototype._refresh.call(this);\r\n this._overlay && this._overlay.option(\"position\", lastPosition)\r\n } else {\r\n _MenuBase.prototype._refresh.call(this)\r\n }\r\n };\r\n _proto._hide = function() {\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.Deferred).reject().promise()\r\n };\r\n _proto.toggle = function(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 _proto.show = function() {\r\n return this.toggle(true)\r\n };\r\n _proto.hide = function() {\r\n return this.toggle(false)\r\n };\r\n return ContextMenu\r\n}(_ui2.default);\r\n(0, _component_registrator.default)(\"dxContextMenu\", ContextMenu);\r\nvar _default = ContextMenu;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/context_menu/ui.menu_base.edit.strategy.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _uiCollection_widgetEditStrategy = _interopRequireDefault(require(\"../collection/ui.collection_widget.edit.strategy.plain\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar MenuBaseEditStrategy = function(_PlainEditStrategy) {\r\n _inheritsLoose(MenuBaseEditStrategy, _PlainEditStrategy);\r\n\r\n function MenuBaseEditStrategy() {\r\n return _PlainEditStrategy.apply(this, arguments) || this\r\n }\r\n var _proto = MenuBaseEditStrategy.prototype;\r\n _proto._getPlainItems = function() {\r\n return (0, _iterator.map)(this._collectionWidget.option(\"items\"), (function getMenuItems(item) {\r\n return item.items ? [item].concat((0, _iterator.map)(item.items, getMenuItems)) : item\r\n }))\r\n };\r\n _proto._stringifyItem = function(item) {\r\n var _this = this;\r\n return JSON.stringify(item, (function(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 _proto._getTemplateString = function(template) {\r\n var result;\r\n if (\"object\" === _typeof(template)) {\r\n result = (0, _renderer.default)(template).text()\r\n } else {\r\n result = template.toString()\r\n }\r\n return result\r\n };\r\n return MenuBaseEditStrategy\r\n}(_uiCollection_widgetEditStrategy.default);\r\nvar _default = MenuBaseEditStrategy;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/context_menu/ui.menu_base.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _utils = require(\"../widget/utils.ink_ripple\");\r\nvar _ui = _interopRequireDefault(require(\"../hierarchical_collection/ui.hierarchical_collection_widget\"));\r\nvar _uiMenu_baseEdit = _interopRequireDefault(require(\"./ui.menu_base.edit.strategy\"));\r\nvar _devices = _interopRequireDefault(require(\"../../core/devices\"));\r\nvar _item = _interopRequireDefault(require(\"../collection/item\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\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\nvar DX_MENU_ITEM_CAPTION_URL_CLASS = \"\".concat(DX_MENU_ITEM_CAPTION_CLASS, \"-with-url\");\r\nvar DX_ICON_WITH_URL_CLASS = \"dx-icon-with-url\";\r\nvar DX_ITEM_URL_CLASS = \"dx-item-url\";\r\nvar MenuBase = function(_HierarchicalCollecti) {\r\n _inheritsLoose(MenuBase, _HierarchicalCollecti);\r\n\r\n function MenuBase() {\r\n return _HierarchicalCollecti.apply(this, arguments) || this\r\n }\r\n var _proto = MenuBase.prototype;\r\n _proto._getDefaultOptions = function() {\r\n return (0, _extend.extend)(_HierarchicalCollecti.prototype._getDefaultOptions.call(this), {\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 _proto._itemDataKey = function() {\r\n return \"dxMenuItemDataKey\"\r\n };\r\n _proto._itemClass = function() {\r\n return ITEM_CLASS\r\n };\r\n _proto._setAriaSelectionAttribute = function() {};\r\n _proto._selectedItemClass = function() {\r\n return DX_MENU_SELECTED_ITEM_CLASS\r\n };\r\n _proto._widgetClass = function() {\r\n return DX_MENU_BASE_CLASS\r\n };\r\n _proto._focusTarget = function() {\r\n return this._itemContainer()\r\n };\r\n _proto._clean = function() {\r\n this.option(\"focusedElement\", null);\r\n _HierarchicalCollecti.prototype._clean.call(this)\r\n };\r\n _proto._supportedKeys = function() {\r\n var _this = this;\r\n return (0, _extend.extend)(_HierarchicalCollecti.prototype._supportedKeys.call(this), {\r\n space: function() {\r\n var $item = (0, _renderer.default)(_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: _common.noop,\r\n pageDown: _common.noop\r\n })\r\n };\r\n _proto._isSelectionEnabled = function() {\r\n return this.option(\"selectionMode\") === SINGLE_SELECTION_MODE\r\n };\r\n _proto._init = function() {\r\n this._activeStateUnit = \".\".concat(ITEM_CLASS);\r\n _HierarchicalCollecti.prototype._init.call(this);\r\n this._renderSelectedItem();\r\n this._initActions()\r\n };\r\n _proto._getLinkContainer = function(iconContainer, textContainer, _ref) {\r\n var linkAttr = _ref.linkAttr,\r\n url = _ref.url;\r\n null === iconContainer || void 0 === iconContainer ? void 0 : iconContainer.addClass(DX_ICON_WITH_URL_CLASS);\r\n null === textContainer || void 0 === textContainer ? void 0 : textContainer.addClass(DX_MENU_ITEM_CAPTION_URL_CLASS);\r\n var linkAttributes = (0, _type.isObject)(linkAttr) ? linkAttr : {};\r\n return (0, _renderer.default)(\"<a>\").addClass(DX_ITEM_URL_CLASS).attr(_extends({}, linkAttributes, {\r\n href: url\r\n })).append(iconContainer).append(textContainer)\r\n };\r\n _proto._addContent = function($container, itemData) {\r\n var html = itemData.html,\r\n url = itemData.url;\r\n var iconContainer = this._getIconContainer(itemData);\r\n var textContainer = this._getTextContainer(itemData);\r\n $container.html(html);\r\n if (url) {\r\n var link = this._getLinkContainer(iconContainer, textContainer, itemData);\r\n $container.append(link)\r\n } else {\r\n $container.append(iconContainer).append(textContainer)\r\n }\r\n $container.append(this._getPopoutContainer(itemData));\r\n this._addContentClasses(itemData, $container.parent())\r\n };\r\n _proto._getTextContainer = function(itemData) {\r\n var text = itemData.text;\r\n var $itemContainer = (0, _renderer.default)(\"<span>\").addClass(DX_MENU_ITEM_CAPTION_CLASS);\r\n var itemText = (0, _type.isPlainObject)(itemData) ? text : String(itemData);\r\n return text && $itemContainer.text(itemText)\r\n };\r\n _proto._getItemExtraPropNames = function() {\r\n return [\"url\", \"linkAttr\"]\r\n };\r\n _proto._getPopoutContainer = function(itemData) {\r\n var items = itemData.items;\r\n var $popOutContainer;\r\n if (items && items.length) {\r\n var $popOutImage = (0, _renderer.default)(\"<div>\").addClass(DX_MENU_ITEM_POPOUT_CLASS);\r\n $popOutContainer = (0, _renderer.default)(\"<span>\").addClass(DX_MENU_ITEM_POPOUT_CONTAINER_CLASS).append($popOutImage)\r\n }\r\n return $popOutContainer\r\n };\r\n _proto._getDataAdapterOptions = function() {\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 _proto._selectByItem = function(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 _proto._renderSelectedItem = function() {\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 _proto._initActions = function() {};\r\n _proto._initMarkup = function() {\r\n _HierarchicalCollecti.prototype._initMarkup.call(this);\r\n this.option(\"useInkRipple\") && this._renderInkRipple()\r\n };\r\n _proto._renderInkRipple = function() {\r\n this._inkRipple = (0, _utils.render)()\r\n };\r\n _proto._toggleActiveState = function($element, value, e) {\r\n _HierarchicalCollecti.prototype._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 _proto._getShowSubmenuMode = function() {\r\n var optionValue = this.option(\"showSubmenuMode\");\r\n optionValue = (0, _type.isObject)(optionValue) ? optionValue.name : optionValue;\r\n return this._isDesktopDevice() ? optionValue : \"onClick\"\r\n };\r\n _proto._initSelectedItems = function() {};\r\n _proto._isDesktopDevice = function() {\r\n return \"desktop\" === _devices.default.real().deviceType\r\n };\r\n _proto._initEditStrategy = function() {\r\n var Strategy = _uiMenu_baseEdit.default;\r\n this._editStrategy = new Strategy(this)\r\n };\r\n _proto._addCustomCssClass = function($element) {\r\n $element.addClass(this.option(\"cssClass\"))\r\n };\r\n _proto._itemWrapperSelector = function() {\r\n return \".\".concat(DX_MENU_ITEM_WRAPPER_CLASS)\r\n };\r\n _proto._hoverStartHandler = function(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 _proto._getAvailableItems = function($itemElements) {\r\n return _HierarchicalCollecti.prototype._getAvailableItems.call(this, $itemElements).filter((function() {\r\n return \"hidden\" !== (0, _renderer.default)(this).css(\"visibility\")\r\n }))\r\n };\r\n _proto._isItemDisabled = function($item) {\r\n return this._disabledGetter($item.data(this._itemDataKey()))\r\n };\r\n _proto._showSubmenu = function($itemElement) {\r\n this._addExpandedClass($itemElement)\r\n };\r\n _proto._addExpandedClass = function(itemElement) {\r\n (0, _renderer.default)(itemElement).addClass(DX_MENU_ITEM_EXPANDED_CLASS)\r\n };\r\n _proto._getSubmenuDelay = function(action) {\r\n var _this$option = this.option(\"showSubmenuMode\"),\r\n delay = _this$option.delay;\r\n if (!(0, _type.isDefined)(delay)) {\r\n return DEFAULT_DELAY[action]\r\n }\r\n return (0, _type.isObject)(delay) ? delay[action] : delay\r\n };\r\n _proto._getItemElementByEventArgs = function(eventArgs) {\r\n var $target = (0, _renderer.default)(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 _proto._hoverEndHandler = function() {\r\n clearTimeout(this._showSubmenusTimeout)\r\n };\r\n _proto._hasSubmenu = function(node) {\r\n return node && node.internalFields.childrenKeys.length\r\n };\r\n _proto._renderContentImpl = function() {\r\n this._renderItems(this._dataAdapter.getRootNodes())\r\n };\r\n _proto._renderItems = function(nodes, submenuContainer) {\r\n var _this2 = this;\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 (0, _iterator.each)(nodes, (function(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 _this2._renderSeparator($nodeContainer)\r\n }\r\n _this2._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 _proto._renderContainer = function($wrapper) {\r\n var $container = (0, _renderer.default)(\"<ul>\");\r\n this.setAria(\"role\", \"none\", $container);\r\n return $container.appendTo($wrapper).addClass(DX_MENU_ITEMS_CONTAINER_CLASS)\r\n };\r\n _proto._createDOMElement = function($nodeContainer) {\r\n var $node = (0, _renderer.default)(\"<li>\");\r\n this.setAria(\"role\", \"none\", $node);\r\n return $node.appendTo($nodeContainer).addClass(DX_MENU_ITEM_WRAPPER_CLASS)\r\n };\r\n _proto._renderItem = function(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 = _HierarchicalCollecti.prototype._renderItem.call(this, 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 _proto._renderItemFrame = function(index, itemData, $itemContainer) {\r\n var $itemFrame = $itemContainer.children(\".\".concat(ITEM_CLASS));\r\n return $itemFrame.length ? $itemFrame : _HierarchicalCollecti.prototype._renderItemFrame.apply(this, arguments)\r\n };\r\n _proto._refreshItem = function($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 _proto._addContentClasses = function(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 _proto._getItemContent = function($itemFrame) {\r\n var $itemContent = _HierarchicalCollecti.prototype._getItemContent.call(this, $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 _proto._postprocessRenderItem = function(args) {\r\n var $itemElement = (0, _renderer.default)(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._setAriaSelectionAttribute($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._setAriaSelectionAttribute($itemElement, \"true\")\r\n } else {\r\n this._setAriaSelectionAttribute($itemElement, \"false\")\r\n }\r\n };\r\n _proto._isItemSelectable = function(item) {\r\n return false !== item.selectable\r\n };\r\n _proto._renderSeparator = function($itemsContainer) {\r\n (0, _renderer.default)(\"<li>\").appendTo($itemsContainer).addClass(DX_MENU_SEPARATOR_CLASS)\r\n };\r\n _proto._itemClickHandler = function(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 beforeExecute: this._itemClick,\r\n afterExecute: itemClickActionHandler.bind(this)\r\n });\r\n e._skipHandling = true\r\n };\r\n _proto._itemClick = function(actionArgs) {\r\n var args = actionArgs.args[0];\r\n var link = args.event.target.getElementsByClassName(DX_ITEM_URL_CLASS)[0];\r\n if (args.itemData.url && link) {\r\n link.click()\r\n }\r\n };\r\n _proto._updateSubmenuVisibilityOnClick = function(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 _proto._updateSelectedItemOnClick = function(actionArgs) {\r\n var args = actionArgs.args ? actionArgs.args[0] : actionArgs;\r\n if (!this._isItemSelectAllowed(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 _proto._isItemSelectAllowed = function(item) {\r\n var isSelectByClickEnabled = this._isSelectionEnabled() && this.option(\"selectByClick\");\r\n return !this._isContainerEmpty() && isSelectByClickEnabled && this._isItemSelectable(item) && !this._itemsGetter(item)\r\n };\r\n _proto._isContainerEmpty = function() {\r\n return this._itemContainer().is(\":empty\")\r\n };\r\n _proto._syncSelectionOptions = function() {\r\n return (0, _common.asyncNoop)()\r\n };\r\n _proto._optionChanged = function(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 _HierarchicalCollecti.prototype._optionChanged.call(this, args)\r\n }\r\n };\r\n _proto._toggleItemSelection = function(node, value) {\r\n var itemElement = this._getElementByItem(node.internalFields.item);\r\n itemElement && (0, _renderer.default)(itemElement).toggleClass(DX_MENU_SELECTED_ITEM_CLASS);\r\n this._dataAdapter.toggleSelection(node.internalFields.key, value)\r\n };\r\n _proto._getElementByItem = function(itemData) {\r\n var _this3 = this;\r\n var result;\r\n (0, _iterator.each)(this._itemElements(), (function(_, itemElement) {\r\n if ((0, _renderer.default)(itemElement).data(_this3._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 _proto._updateSelectedItems = function(oldSelection, newSelection) {\r\n if (oldSelection || newSelection) {\r\n this._fireSelectionChangeEvent(newSelection, oldSelection)\r\n }\r\n };\r\n _proto._fireSelectionChangeEvent = function(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 _proto.selectItem = function(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 _proto.unselectItem = function(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 return MenuBase\r\n}(_ui.default);\r\nMenuBase.ItemClass = _item.default;\r\nvar _default = MenuBase;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/data_grid.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _m_widget = _interopRequireDefault(require(\"../__internal/grids/data_grid/m_widget\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar _default = _m_widget.default;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/data_grid/ui.data_grid.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _m_widget = _interopRequireDefault(require(\"../../__internal/grids/data_grid/m_widget\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar _default = _m_widget.default;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/date_box.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _ui = _interopRequireDefault(require(\"./date_box/ui.date_box\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar _default = _ui.default;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/date_box/ui.date_box.base.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _window = require(\"../../core/utils/window\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _dom = require(\"../../core/utils/dom\");\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _support = require(\"../../core/utils/support\");\r\nvar _devices = _interopRequireDefault(require(\"../../core/devices\"));\r\nvar _config = _interopRequireDefault(require(\"../../core/config\"));\r\nvar _date = _interopRequireDefault(require(\"../../core/utils/date\"));\r\nvar _ui = _interopRequireDefault(require(\"./ui.date_utils\"));\r\nvar _date_serialization = _interopRequireDefault(require(\"../../core/utils/date_serialization\"));\r\nvar _ui2 = _interopRequireDefault(require(\"../drop_down_editor/ui.drop_down_editor\"));\r\nvar _date2 = _interopRequireDefault(require(\"../../localization/date\"));\r\nvar _message = _interopRequireDefault(require(\"../../localization/message\"));\r\nvar _uiDate_boxStrategy = _interopRequireDefault(require(\"./ui.date_box.strategy.calendar\"));\r\nvar _uiDate_boxStrategy2 = _interopRequireDefault(require(\"./ui.date_box.strategy.date_view\"));\r\nvar _uiDate_boxStrategy3 = _interopRequireDefault(require(\"./ui.date_box.strategy.native\"));\r\nvar _uiDate_boxStrategy4 = _interopRequireDefault(require(\"./ui.date_box.strategy.calendar_with_time\"));\r\nvar _uiDate_boxStrategy5 = _interopRequireDefault(require(\"./ui.date_box.strategy.list\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar window = (0, _window.getWindow)();\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: _uiDate_boxStrategy.default,\r\n DateView: _uiDate_boxStrategy2.default,\r\n Native: _uiDate_boxStrategy3.default,\r\n CalendarWithTime: _uiDate_boxStrategy4.default,\r\n List: _uiDate_boxStrategy5.default\r\n};\r\nvar DateBox = _ui2.default.inherit({\r\n _supportedKeys: function() {\r\n return (0, _extend.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 (0, _extend.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: _message.default.format(\"dxDateBox-validation-datetime\"),\r\n dateOutOfRangeMessage: _message.default.format(\"validation-range\"),\r\n applyButtonText: _message.default.format(\"OK\"),\r\n adaptivityEnabled: false,\r\n calendarOptions: {},\r\n useHiddenSubmitElement: true,\r\n _showValidationIcon: 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.default.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 = (0, _extend.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.option(\"showDropDownButton\", \"generic\" !== _devices.default.real().platform || pickerType !== PICKER_TYPE.native);\r\n this._pickerType = pickerType\r\n },\r\n _init: function() {\r\n this._initStrategy();\r\n this.option((0, _extend.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 (0, _iterator.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 (0, _iterator.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 (!(0, _window.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 && this.option(\"_showValidationIcon\"));\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 = _date2.default.format(_ui.default.getLongestDate(format, _date2.default.getMonthNames(), _date2.default.getDayNames()), format);\r\n var $input = this._input();\r\n var inputElement = $input.get(0);\r\n var $longestValueElement = (0, _dom.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: function() {\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: function() {\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 (0, _extend.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 = (0, _extend.extend)({}, TYPE, PICKER_TYPE);\r\n (0, _iterator.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.default.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 = _ui.default.SUBMIT_FORMATS_MAP[this.option(\"type\")];\r\n var submitValue = dateSerializationFormat ? _date_serialization.default.serializeDate(value, dateSerializationFormat) : _ui.default.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 = _date2.default.format(value, displayFormat)\r\n } else {\r\n var format = this._getFormatByMode(mode);\r\n if (format) {\r\n displayedText = _date2.default.format(value, format)\r\n } else {\r\n displayedText = _ui.default.toStandardDateFormat(value, mode)\r\n }\r\n }\r\n return displayedText\r\n },\r\n _getFormatByMode: function(mode) {\r\n return (0, _support.inputType)(mode) ? null : _ui.default.FORMATS_MAP[mode]\r\n },\r\n _valueChangeEventHandler: function(e) {\r\n var _this$option = this.option(),\r\n text = _this$option.text,\r\n type = _this$option.type,\r\n validationError = _this$option.validationError;\r\n var currentValue = this.dateOption(\"value\");\r\n if (text === this._getDisplayedText(currentValue)) {\r\n this._recallInternalValidation(currentValue, validationError);\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 = _ui.default.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 _recallInternalValidation: function(value, validationError) {\r\n if (!validationError || validationError.editorSpecific) {\r\n this._applyInternalValidation(value);\r\n this._applyCustomValidation(value)\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: function(value) {\r\n var text = this.option(\"text\");\r\n var hasText = !!text && null !== value;\r\n var isDate = !!value && (0, _type.isDate)(value) && !isNaN(value.getTime());\r\n var isDateInRange = isDate && _date.default.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._updateInternalValidationState(isValid, validationMessage);\r\n return {\r\n isValid: isValid,\r\n isDate: isDate\r\n }\r\n },\r\n _updateInternalValidationState: function(isValid, validationMessage) {\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 },\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 _message.default.format(\"dxDateBox-simulatedDataPickerTitleTime\")\r\n }\r\n if (type === TYPE.date || type === TYPE.datetime) {\r\n return _message.default.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 case \"_showValidationIcon\":\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\") && (0, _config.default)().forceIsoDateParsing) {\r\n return this.option(\"dateSerializationFormat\")\r\n }\r\n if ((0, _type.isNumeric)(value)) {\r\n return \"number\"\r\n }\r\n if (!(0, _type.isString)(value)) {\r\n return\r\n }\r\n return _date_serialization.default.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 _date_serialization.default.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 _date_serialization.default.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\nvar _default = DateBox;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/date_box/ui.date_box.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _component_registrator = _interopRequireDefault(require(\"../../core/component_registrator\"));\r\nvar _uiDate_box = _interopRequireDefault(require(\"./ui.date_box.mask\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}(0, _component_registrator.default)(\"dxDateBox\", _uiDate_box.default);\r\nvar _default = _uiDate_box.default;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/date_box/ui.date_box.mask.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _index = require(\"../../events/utils/index\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _dom = require(\"../../core/utils/dom\");\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _math = require(\"../../core/utils/math\");\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _uiDate_boxMask = require(\"./ui.date_box.mask.parts\");\r\nvar _date = _interopRequireDefault(require(\"../../localization/date\"));\r\nvar _date2 = require(\"../../localization/ldml/date.parser\");\r\nvar _date3 = require(\"../../localization/ldml/date.format\");\r\nvar _uiDate_box = _interopRequireDefault(require(\"./ui.date_box.base\"));\r\nvar _number = _interopRequireDefault(require(\"../../localization/number\"));\r\nvar _devices = _interopRequireDefault(require(\"../../core/devices\"));\r\nvar _browser = _interopRequireDefault(require(\"../../core/utils/browser\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar MASK_EVENT_NAMESPACE = \"dateBoxMask\";\r\nvar FORWARD = 1;\r\nvar BACKWARD = -1;\r\nvar DateBoxMask = _uiDate_box.default.inherit({\r\n _supportedKeys: function(e) {\r\n var _this = this;\r\n var originalHandlers = this.callBase(e);\r\n var callOriginalHandler = function(e) {\r\n var originalHandler = originalHandlers[(0, _index.normalizeKeyName)(e)];\r\n return originalHandler && originalHandler.apply(_this, [e])\r\n };\r\n var applyHandler = function(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 (0, _extend.extend)({}, originalHandlers, {\r\n del: function(e) {\r\n return applyHandler(e, (function(event) {\r\n _this._revertPart(FORWARD);\r\n _this._isAllSelected() || event.preventDefault()\r\n }))\r\n },\r\n backspace: function(e) {\r\n return applyHandler(e, (function(event) {\r\n _this._revertPart(BACKWARD);\r\n _this._isAllSelected() || event.preventDefault()\r\n }))\r\n },\r\n home: function(e) {\r\n return applyHandler(e, (function(event) {\r\n _this._selectFirstPart();\r\n event.preventDefault()\r\n }))\r\n },\r\n end: function(e) {\r\n return applyHandler(e, (function(event) {\r\n _this._selectLastPart();\r\n event.preventDefault()\r\n }))\r\n },\r\n escape: function(e) {\r\n return applyHandler(e, (function(event) {\r\n _this._revertChanges(event)\r\n }))\r\n },\r\n enter: function(e) {\r\n return applyHandler(e, (function() {\r\n _this._enterHandler()\r\n }))\r\n },\r\n leftArrow: function(e) {\r\n return applyHandler(e, (function(event) {\r\n _this._selectNextPart(BACKWARD);\r\n event.preventDefault()\r\n }))\r\n },\r\n rightArrow: function(e) {\r\n return applyHandler(e, (function(event) {\r\n _this._selectNextPart(FORWARD);\r\n event.preventDefault()\r\n }))\r\n },\r\n upArrow: function(e) {\r\n return applyHandler(e, (function(event) {\r\n _this._upDownArrowHandler(FORWARD);\r\n event.preventDefault()\r\n }))\r\n },\r\n downArrow: function(e) {\r\n return applyHandler(e, (function(event) {\r\n _this._upDownArrowHandler(BACKWARD);\r\n event.preventDefault()\r\n }))\r\n }\r\n })\r\n },\r\n _shouldUseOriginalHandler: function(e) {\r\n var isNotDeletingInCalendar = this.option(\"opened\") && e && -1 === [\"backspace\", \"del\"].indexOf((0, _index.normalizeKeyName)(e));\r\n return !this._useMaskBehavior() || isNotDeletingInCalendar || e && e.altKey\r\n },\r\n _upDownArrowHandler: function(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: function() {\r\n return (0, _extend.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: function(_ref) {\r\n var originalEvent = _ref.originalEvent,\r\n alt = _ref.alt;\r\n var key = originalEvent.data || originalEvent.key;\r\n return \"string\" === typeof key && 1 === key.length && !alt && !(0, _index.isCommandKeyPressed)(originalEvent)\r\n },\r\n _isSingleDigitKey: function(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.default.real().android\r\n },\r\n _keyInputHandler: function(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 && _events_engine.default.trigger(this._input(), \"input\")\r\n },\r\n _keyboardHandler: function(e) {\r\n var _this2 = this;\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.default.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 = function() {\r\n _this2._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: function(e) {\r\n var _this3 = this;\r\n this._maskInputHandler = null;\r\n var inputType = e.originalEvent.inputType;\r\n if (\"insertCompositionText\" === inputType) {\r\n this._maskInputHandler = function() {\r\n _this3._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 = function() {\r\n _this3._revertPart();\r\n _this3._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: function(e) {\r\n var event = e.originalEvent;\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: function(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: function() {\r\n var caret = this._caret();\r\n return caret.end - caret.start === this.option(\"text\").length\r\n },\r\n _getFormatPattern: function() {\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 = (0, _type.isString)(format) && !_date.default._getPatternByFormat(format);\r\n if (isLDMLPattern) {\r\n this._formatPattern = format\r\n } else {\r\n this._formatPattern = (0, _date3.getFormat)((function(value) {\r\n return _date.default.format(value, format)\r\n }))\r\n }\r\n return this._formatPattern\r\n },\r\n _setNewDateIfEmpty: function() {\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: function(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: function(char) {\r\n var _this$_getActivePartL = this._getActivePartLimits(),\r\n max = _this$_getActivePartL.max;\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: function(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: function() {\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: function() {\r\n return this.option(\"useMaskBehavior\") && \"text\" === this.option(\"mode\")\r\n },\r\n _prepareRegExpInfo: function() {\r\n this._regExpInfo = (0, _date2.getRegExpInfo)(this._getFormatPattern(), _date.default);\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((function(sourcePart) {\r\n return quantifierRegexp.test(sourcePart) ? sourcePart : _number.default.convertDigits(sourcePart, false)\r\n })).join(\"\");\r\n this._regExpInfo.regexp = new RegExp(convertedSource, flags)\r\n },\r\n _initMaskState: function() {\r\n this._activePartIndex = 0;\r\n this._formatPattern = null;\r\n this._prepareRegExpInfo();\r\n this._loadMaskValue()\r\n },\r\n _renderMask: function() {\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: function() {\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 = (0, _uiDate_boxMask.renderDateParts)(text, this._regExpInfo);\r\n if (!this._input().is(\":hidden\")) {\r\n this._selectNextPart()\r\n }\r\n }\r\n },\r\n _detachMaskEvents: function() {\r\n _events_engine.default.off(this._input(), \".\" + MASK_EVENT_NAMESPACE)\r\n },\r\n _attachMaskEvents: function() {\r\n var _this4 = this;\r\n _events_engine.default.on(this._input(), (0, _index.addNamespace)(\"dxclick\", MASK_EVENT_NAMESPACE), this._maskClickHandler.bind(this));\r\n _events_engine.default.on(this._input(), (0, _index.addNamespace)(\"paste\", MASK_EVENT_NAMESPACE), this._maskPasteHandler.bind(this));\r\n _events_engine.default.on(this._input(), (0, _index.addNamespace)(\"drop\", MASK_EVENT_NAMESPACE), (function() {\r\n _this4._renderSelectedPart()\r\n }));\r\n _events_engine.default.on(this._input(), (0, _index.addNamespace)(\"compositionend\", MASK_EVENT_NAMESPACE), this._maskCompositionEndHandler.bind(this));\r\n if (this._useBeforeInputEvent()) {\r\n _events_engine.default.on(this._input(), (0, _index.addNamespace)(\"beforeinput\", MASK_EVENT_NAMESPACE), this._maskBeforeInputHandler.bind(this))\r\n }\r\n },\r\n _renderSelectedPart: function() {\r\n this._renderDisplayText(this._getDisplayedText(this._maskValue));\r\n this._selectNextPart()\r\n },\r\n _selectLastPart: function() {\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: function() {\r\n if (this.option(\"text\")) {\r\n this._activePartIndex = -1;\r\n this._selectNextPart(FORWARD)\r\n }\r\n },\r\n _onMouseWheel: function(e) {\r\n if (this._useMaskBehavior()) {\r\n this._partIncrease(e.delta > 0 ? FORWARD : BACKWARD, e)\r\n }\r\n },\r\n _selectNextPart: function() {\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 = (0, _math.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: function() {\r\n if (\"d\" === this._getActivePartProp(\"pattern\")[0]) {\r\n return \"dM\"\r\n }\r\n },\r\n _getActivePartLimits: function(lockOtherParts) {\r\n var limitFunction = this._getActivePartProp(\"limits\");\r\n return limitFunction(this._maskValue, lockOtherParts && this._getRealLimitsPattern())\r\n },\r\n _getActivePartValue: function(dateValue) {\r\n dateValue = dateValue || this._maskValue;\r\n var getter = this._getActivePartProp(\"getter\");\r\n return (0, _type.isFunction)(getter) ? getter(dateValue) : dateValue[getter]()\r\n },\r\n _addLeadingZeroes: function(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: function(value, dateValue) {\r\n dateValue = dateValue || this._maskValue;\r\n var setter = this._getActivePartProp(\"setter\");\r\n var limits = this._getActivePartLimits();\r\n value = (0, _math.inRange)(value, limits.min, limits.max) ? value : value % 10;\r\n value = this._addLeadingZeroes((0, _math.fitIntoRange)(value, limits.min, limits.max));\r\n (0, _type.isFunction)(setter) ? setter(dateValue, value): dateValue[setter](value);\r\n this._renderDisplayText(this._getDisplayedText(dateValue));\r\n this._renderDateParts()\r\n },\r\n _getActivePartProp: function(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: function() {\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: function() {\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: function() {\r\n this._loadMaskValue();\r\n this._renderDisplayText(this._getDisplayedText(this._maskValue));\r\n this._renderDateParts()\r\n },\r\n _renderDisplayText: function(text) {\r\n this.callBase(text);\r\n if (this._useMaskBehavior()) {\r\n this.option(\"text\", text)\r\n }\r\n },\r\n _partIncrease: function(step, lockOtherParts) {\r\n this._setNewDateIfEmpty();\r\n var _this$_getActivePartL2 = this._getActivePartLimits(lockOtherParts),\r\n max = _this$_getActivePartL2.max,\r\n min = _this$_getActivePartL2.min;\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: function(newValue, _ref2) {\r\n var limitBase = _ref2.limitBase,\r\n limitClosest = _ref2.limitClosest,\r\n limitDelta = _ref2.limitDelta;\r\n var delta = (newValue - limitClosest) % limitDelta;\r\n return delta ? limitBase + delta - 1 * (0, _math.sign)(delta) : limitClosest\r\n },\r\n _maskClickHandler: function() {\r\n this._loadMaskValue(this._maskValue);\r\n if (this.option(\"text\")) {\r\n this._activePartIndex = (0, _uiDate_boxMask.getDatePartIndexByPosition)(this._dateParts, this._caret().start);\r\n if (!this._isAllSelected()) {\r\n if ((0, _type.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: function(e) {\r\n var _this5 = this;\r\n this._input().val(this._getDisplayedText(this._maskValue));\r\n this._selectNextPart();\r\n this._maskInputHandler = function() {\r\n _this5._renderSelectedPart()\r\n }\r\n },\r\n _maskPasteHandler: function(e) {\r\n var newText = this._replaceSelectedText(this.option(\"text\"), this._caret(), (0, _dom.clipboardText)(e));\r\n var date = _date.default.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: function(date) {\r\n return (0, _type.isDate)(date) && !isNaN(date)\r\n },\r\n _isValueDirty: function() {\r\n var value = this.dateOption(\"value\");\r\n return (this._maskValue && this._maskValue.getTime()) !== (value && value.getTime())\r\n },\r\n _fireChangeEvent: function() {\r\n this._clearSearchValue();\r\n if (this._isValueDirty()) {\r\n _events_engine.default.trigger(this._input(), \"change\")\r\n }\r\n },\r\n _enterHandler: function() {\r\n this._fireChangeEvent();\r\n this._selectNextPart(FORWARD)\r\n },\r\n _focusOutHandler: function(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: function(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: function(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: function() {\r\n this._clearSearchValue();\r\n delete this._dateParts;\r\n delete this._activePartIndex;\r\n delete this._maskValue\r\n },\r\n reset: function() {\r\n this._clearMaskState();\r\n this._activePartIndex = 0;\r\n this.callBase()\r\n },\r\n _clean: function() {\r\n this.callBase();\r\n this._detachMaskEvents();\r\n this._clearMaskState()\r\n }\r\n});\r\nvar _default = DateBoxMask;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/date_box/ui.date_box.mask.parts.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.renderDateParts = exports.getDatePartIndexByPosition = void 0;\r\nvar _date = require(\"../../localization/ldml/date.parser\");\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _math = require(\"../../core/utils/math\");\r\nvar _common = require(\"../../core/utils/common\");\r\nvar monthGetter = function(date) {\r\n return date.getMonth() + 1\r\n};\r\nvar monthSetter = function(date, value) {\r\n var day = date.getDate();\r\n var monthLimits = getLimits(\"M\", date);\r\n var newValue = (0, _math.fitIntoRange)(parseInt(value), monthLimits.min, monthLimits.max);\r\n date.setMonth(newValue - 1, 1);\r\n var _getLimits = getLimits(\"dM\", date),\r\n min = _getLimits.min,\r\n max = _getLimits.max;\r\n var newDay = (0, _math.fitIntoRange)(day, min, max);\r\n date.setDate(newDay)\r\n};\r\nvar PATTERN_GETTERS = {\r\n a: function(date) {\r\n return date.getHours() < 12 ? 0 : 1\r\n },\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 = (0, _extend.extend)({}, (0, _date.getPatternSetters)(), {\r\n a: function(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: function(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: function(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: function(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: function(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 = function(patternChar) {\r\n return PATTERN_GETTERS[patternChar] || function() {\r\n return patternChar\r\n }\r\n};\r\nvar renderDateParts = function(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.apply(void 0, [pattern[0]].concat(args))\r\n },\r\n setter: PATTERN_SETTERS[pattern[0]] || _common.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\nexports.renderDateParts = renderDateParts;\r\nvar getLimits = function(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\nvar getDatePartIndexByPosition = function(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\nexports.getDatePartIndexByPosition = getDatePartIndexByPosition;\r\n","/**\r\n * DevExtreme (cjs/ui/date_box/ui.date_box.strategy.calendar.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _calendar = _interopRequireDefault(require(\"../calendar\"));\r\nvar _uiDate_box = _interopRequireDefault(require(\"./ui.date_box.strategy\"));\r\nvar _date = _interopRequireDefault(require(\"../../core/utils/date\"));\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _message = _interopRequireDefault(require(\"../../localization/message\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _toConsumableArray(arr) {\r\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread()\r\n}\r\n\r\nfunction _nonIterableSpread() {\r\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _unsupportedIterableToArray(o, minLen) {\r\n if (!o) {\r\n return\r\n }\r\n if (\"string\" === typeof o) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n var n = Object.prototype.toString.call(o).slice(8, -1);\r\n if (\"Object\" === n && o.constructor) {\r\n n = o.constructor.name\r\n }\r\n if (\"Map\" === n || \"Set\" === n) {\r\n return Array.from(o)\r\n }\r\n if (\"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n}\r\n\r\nfunction _iterableToArray(iter) {\r\n if (\"undefined\" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter[\"@@iterator\"]) {\r\n return Array.from(iter)\r\n }\r\n}\r\n\r\nfunction _arrayWithoutHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return _arrayLikeToArray(arr)\r\n }\r\n}\r\n\r\nfunction _arrayLikeToArray(arr, len) {\r\n if (null == len || len > arr.length) {\r\n len = arr.length\r\n }\r\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\r\n arr2[i] = arr[i]\r\n }\r\n return arr2\r\n}\r\nvar CalendarStrategy = _uiDate_box.default.inherit({\r\n NAME: \"Calendar\",\r\n getDefaultOptions: function() {\r\n return (0, _extend.extend)(this.callBase(), {\r\n todayButtonText: _message.default.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: function() {\r\n return true\r\n },\r\n _getWidgetName: function() {\r\n return _calendar.default\r\n },\r\n _getContouredValue: function() {\r\n return this._widget._view.option(\"contouredDate\")\r\n },\r\n getKeyboardListener: function() {\r\n return this._widget\r\n },\r\n _getWidgetOptions: function() {\r\n var disabledDates = this.dateBox.option(\"disabledDates\");\r\n return (0, _extend.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: (0, _type.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 (0, _extend.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: function() {\r\n var _this = this;\r\n var buttonsLocation = this.dateBox.option(\"buttonsLocation\");\r\n var isButtonsLocationDefault = \"default\" === buttonsLocation;\r\n var position = isButtonsLocationDefault ? [\"bottom\", \"center\"] : (0, _common.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: function(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 _this$dateBox$option = this.dateBox.option(),\r\n calendarOptions = _this$dateBox$option.calendarOptions;\r\n return (0, _type.isEmptyObject)(calendarOptions) || false !== calendarOptions.visible\r\n },\r\n _getPopupToolbarItems: function(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].concat(_toConsumableArray(toolbarItems))\r\n }\r\n return toolbarItems\r\n },\r\n popupConfig: function(_popupConfig) {\r\n return (0, _extend.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 (_date.default.sameDate(value, prevValue) && _date.default.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\nvar _default = CalendarStrategy;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/date_box/ui.date_box.strategy.calendar_with_time.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _size = require(\"../../core/utils/size\");\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _window = require(\"../../core/utils/window\");\r\nvar _uiDate_boxStrategy = _interopRequireDefault(require(\"./ui.date_box.strategy.calendar\"));\r\nvar _ui = _interopRequireDefault(require(\"./ui.time_view\"));\r\nvar _date = _interopRequireDefault(require(\"../../localization/date\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _date2 = _interopRequireDefault(require(\"../../core/utils/date\"));\r\nvar _box = _interopRequireDefault(require(\"../box\"));\r\nvar _ui2 = _interopRequireDefault(require(\"./ui.date_utils\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar window = (0, _window.getWindow)();\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 = _uiDate_boxStrategy.default.inherit({\r\n NAME: \"CalendarWithTime\",\r\n getDefaultOptions: function() {\r\n return (0, _extend.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 _date2.default.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 _date.default.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((0, _renderer.default)(\"<div>\"), _ui.default, {\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 _ui2.default.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 (0, _size.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((0, _renderer.default)(\"<div>\").appendTo($popupContent), _box.default, {\r\n direction: \"row\",\r\n crossAlign: \"stretch\",\r\n items: this._getBoxItems(),\r\n itemTemplate: function(data, i, element) {\r\n var $container = (0, _renderer.default)(\"<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 (0, _renderer.default)(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 (0, _extend.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 (!(0, _renderer.default)(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\nvar _default = CalendarWithTimeStrategy;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/date_box/ui.date_box.strategy.date_view.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _window = require(\"../../core/utils/window\");\r\nvar _ui = _interopRequireDefault(require(\"./ui.date_view\"));\r\nvar _uiDate_box = _interopRequireDefault(require(\"./ui.date_box.strategy\"));\r\nvar _support = require(\"../../core/utils/support\");\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _ui2 = _interopRequireDefault(require(\"./ui.date_utils\"));\r\nvar _message = _interopRequireDefault(require(\"../../localization/message\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar window = (0, _window.getWindow)();\r\nvar DateViewStrategy = _uiDate_box.default.inherit({\r\n NAME: \"DateView\",\r\n getDefaultOptions: function() {\r\n return (0, _extend.extend)(this.callBase(), {\r\n openOnFieldClick: true,\r\n applyButtonText: _message.default.format(\"OK\"),\r\n \"dropDownOptions.showTitle\": true\r\n })\r\n },\r\n getDisplayFormat: function(displayFormat) {\r\n return displayFormat || _ui2.default.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 ((0, _support.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 = (0, _renderer.default)(\"<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 _ui.default\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 * _ui2.default.ONE_YEAR),\r\n onDisposing: function() {\r\n this._widget = null\r\n }.bind(this)\r\n }\r\n }\r\n});\r\nvar _default = DateViewStrategy;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/date_box/ui.date_box.strategy.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _class = _interopRequireDefault(require(\"../../core/class\"));\r\nvar _date = _interopRequireDefault(require(\"../../localization/date\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar abstract = _class.default.abstract;\r\nvar DateBoxStrategy = _class.default.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 || (0, _renderer.default)(\"<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: _common.noop,\r\n getKeyboardListener: _common.noop,\r\n customizeButtons: _common.noop,\r\n getParsedText: function(text, format) {\r\n var value = _date.default.parse(text, format);\r\n return value ? value : _date.default.parse(text)\r\n },\r\n renderInputMinMax: _common.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 _events_engine.default.off($popupContent, \"mousedown\");\r\n _events_engine.default.on($popupContent, \"mousedown\", this._preventFocusOnPopup.bind(this))\r\n },\r\n getFirstPopupElement: _common.noop,\r\n getLastPopupElement: _common.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: _common.noop,\r\n popupHiddenHandler: _common.noop,\r\n _updateValue: function() {\r\n this._widget && this._widget.option(\"value\", this.dateBoxValue())\r\n },\r\n useCurrentDateByDefault: _common.noop,\r\n getDefaultDate: function() {\r\n return new Date\r\n },\r\n textChangedHandler: _common.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\nvar _default = DateBoxStrategy;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/date_box/ui.date_box.strategy.list.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _size = require(\"../../core/utils/size\");\r\nvar _window = require(\"../../core/utils/window\");\r\nvar _list_light = _interopRequireDefault(require(\"../list_light\"));\r\nrequire(\"../list/modules/selection\");\r\nvar _uiDate_box = _interopRequireDefault(require(\"./ui.date_box.strategy\"));\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _ui = _interopRequireDefault(require(\"./ui.date_utils\"));\r\nvar _date = _interopRequireDefault(require(\"../../localization/date\"));\r\nvar _date_serialization = _interopRequireDefault(require(\"../../core/utils/date_serialization\"));\r\nvar _utils = require(\"../drop_down_editor/utils\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar window = (0, _window.getWindow)();\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 = _uiDate_box.default.inherit({\r\n NAME: \"List\",\r\n supportedKeys: function() {\r\n return {\r\n tab: function() {\r\n var _this$option = this.option(),\r\n opened = _this$option.opened,\r\n applyValueMode = _this$option.applyValueMode;\r\n if (opened && \"instantly\" === applyValueMode) {\r\n this.close()\r\n }\r\n },\r\n space: _common.noop,\r\n home: _common.noop,\r\n end: _common.noop\r\n }\r\n },\r\n getDefaultOptions: function() {\r\n return (0, _extend.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_light.default\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 (0, _type.isDate)(first) && (0, _type.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 > _ui.default.ONE_DAY) {\r\n delta = _ui.default.ONE_DAY\r\n }\r\n if (value - min < _ui.default.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) < _ui.default.ONE_DAY) {\r\n delta = (60 * max.getHours() + Math.abs(max.getMinutes() - minutes)) * _ui.default.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((0, _common.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 _date.default.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 = _date_serialization.default.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 = (0, _utils.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 = (0, _size.getOuterHeight)(this._widget.$element());\r\n var maxHeight = .45 * (0, _size.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 = _ui.default.mergeDates(value, new Date(null), DATE_FORMAT)\r\n }\r\n return value\r\n }\r\n});\r\nvar _default = ListStrategy;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/date_box/ui.date_box.strategy.native.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _uiDate_box = _interopRequireDefault(require(\"./ui.date_box.strategy\"));\r\nvar _support = require(\"../../core/utils/support\");\r\nvar _ui = _interopRequireDefault(require(\"./ui.date_utils\"));\r\nvar _date_serialization = _interopRequireDefault(require(\"../../core/utils/date_serialization\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _devices = _interopRequireDefault(require(\"../../core/devices\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar NativeStrategy = _uiDate_box.default.inherit({\r\n NAME: \"Native\",\r\n popupConfig: function(_popupConfig) {\r\n return (0, _extend.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 _ui.default.fromStandardDateFormat(text)\r\n },\r\n renderPopupContent: _common.noop,\r\n _getWidgetName: _common.noop,\r\n _getWidgetOptions: _common.noop,\r\n _getDateBoxType: function() {\r\n var type = this.dateBox.option(\"type\");\r\n if (!_ui.default.SUPPORTED_FORMATS.includes(type)) {\r\n type = \"date\"\r\n } else if (\"datetime\" === type && !(0, _support.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.default.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 || _ui.default.FORMATS_MAP[type]\r\n },\r\n renderInputMinMax: function($input) {\r\n $input.attr({\r\n min: _date_serialization.default.serializeDate(this.dateBox.dateOption(\"min\"), \"yyyy-MM-dd\"),\r\n max: _date_serialization.default.serializeDate(this.dateBox.dateOption(\"max\"), \"yyyy-MM-dd\")\r\n })\r\n }\r\n});\r\nvar _default = NativeStrategy;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/date_box/ui.date_utils.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _date_serialization = _interopRequireDefault(require(\"../../core/utils/date_serialization\"));\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _date = _interopRequireDefault(require(\"../../localization/date\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\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 = (0, _renderer.default)(\"<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: [].concat(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: [].concat(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 _date_serialization.default.serializeDate(date, pattern)\r\n },\r\n fromStandardDateFormat: function(text) {\r\n var date = _date_serialization.default.dateParser(text);\r\n return (0, _type.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 (0, _iterator.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 _date.default.formatUsesMonthName(format)\r\n },\r\n formatUsesDayName: function(format) {\r\n return _date.default.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 _date.default.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 _date.default.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 _date.default.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 _date.default.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 _date.default.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 _date.default.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 _date.default.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\nvar _default = dateUtils;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/date_box/ui.date_view.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _editor = _interopRequireDefault(require(\"../editor/editor\"));\r\nvar _ui = _interopRequireDefault(require(\"./ui.date_view_roller\"));\r\nvar _date = _interopRequireDefault(require(\"../../core/utils/date\"));\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _ui2 = _interopRequireDefault(require(\"./ui.date_utils\"));\r\nvar _component_registrator = _interopRequireDefault(require(\"../../core/component_registrator\"));\r\nvar _date2 = _interopRequireDefault(require(\"../../localization/date\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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.default.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 (0, _extend.extend)(this.callBase(), {\r\n minDate: _ui2.default.MIN_DATEVIEW_DEFAULT_DATE,\r\n maxDate: _ui2.default.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 = (0, _renderer.default)(\"<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 = (0, _renderer.default)(\"<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 (0, _iterator.each)(that._rollerConfigs, (function(name) {\r\n var $roller = (0, _renderer.default)(\"<div>\").appendTo(that._$rollersContainer).addClass(DATEVIEW_ROLLER_CLASS + \"-\" + that._rollerConfigs[name].type);\r\n that._rollers[that._rollerConfigs[name].type] = that._createComponent($roller, _ui.default, {\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 _date2.default.getFormatParts(_ui2.default.FORMATS_MAP[type]).forEach((function(partName) {\r\n that._createRollerConfig(partName)\r\n }))\r\n },\r\n _createRollerConfig: function(componentName) {\r\n var componentInfo = _ui2.default.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 (0, _iterator.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 (0, _iterator.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, _ui2.default.getMaxMonthDay(currentValue.getFullYear(), rollerValue))\r\n } else if (roller.type === ROLLER_TYPE.year) {\r\n currentDate = Math.min(currentDate, _ui2.default.getMaxMonthDay(rollerValue, currentValue.getMonth()))\r\n }\r\n currentValue.setDate(currentDate);\r\n currentValue[setValue](rollerValue);\r\n var normalizedDate = _date.default.normalizeDate(currentValue, minDate, maxDate);\r\n currentValue = _ui2.default.mergeDates(normalizedDate, currentValue, \"time\");\r\n currentValue = _date.default.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 _date.default.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 = _date.default.sameYear(curDate, minDate);\r\n var minMonth = minYear && curDate.getMonth() === minDate.getMonth();\r\n var maxYear = _date.default.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 = _ui2.default.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 = _ui2.default.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\n(0, _component_registrator.default)(\"dxDateView\", DateView);\r\nvar _default = DateView;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/date_box/ui.date_view_roller.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _size = require(\"../../core/utils/size\");\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _component_registrator = _interopRequireDefault(require(\"../../core/component_registrator\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _index = require(\"../../events/utils/index\");\r\nvar _click = require(\"../../events/click\");\r\nvar _uiScrollable = _interopRequireDefault(require(\"../scroll_view/ui.scrollable.old\"));\r\nvar _devices = _interopRequireDefault(require(\"../../core/devices\"));\r\nvar _fx = _interopRequireDefault(require(\"../../animation/fx\"));\r\nvar _translator = require(\"../../animation/translator\");\r\nvar _convert_location = require(\"../../renovation/ui/scroll_view/utils/convert_location\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\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\nvar DateViewRoller = function(_Scrollable) {\r\n _inheritsLoose(DateViewRoller, _Scrollable);\r\n\r\n function DateViewRoller() {\r\n return _Scrollable.apply(this, arguments) || this\r\n }\r\n var _proto = DateViewRoller.prototype;\r\n _proto._getDefaultOptions = function() {\r\n return (0, _extend.extend)(_Scrollable.prototype._getDefaultOptions.call(this), {\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 _proto._init = function() {\r\n _Scrollable.prototype._init.call(this);\r\n this.option(\"onVisibilityChange\", this._visibilityChangedHandler.bind(this));\r\n this.option(\"onEnd\", this._endActionHandler.bind(this))\r\n };\r\n _proto._render = function() {\r\n _Scrollable.prototype._render.call(this);\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 _proto._renderSelectedIndexChanged = function() {\r\n this._selectedIndexChanged = this._createActionByOption(\"onSelectedIndexChanged\")\r\n };\r\n _proto._renderWheelEvent = function() {\r\n var _this = this;\r\n _events_engine.default.on((0, _renderer.default)(this.container()), \"dxmousewheel\", (function(e) {\r\n _this._isWheelScrolled = true\r\n }))\r\n };\r\n _proto._renderContainerClick = function() {\r\n if (!this.option(\"showOnClick\")) {\r\n return\r\n }\r\n var eventName = (0, _index.addNamespace)(_click.name, this.NAME);\r\n var clickAction = this._createActionByOption(\"onClick\");\r\n _events_engine.default.off((0, _renderer.default)(this.container()), eventName);\r\n _events_engine.default.on((0, _renderer.default)(this.container()), eventName, (function(e) {\r\n clickAction({\r\n event: e\r\n })\r\n }))\r\n };\r\n _proto._renderItems = function() {\r\n var items = this.option(\"items\") || [];\r\n var $items = (0, _renderer.default)();\r\n (0, _renderer.default)(this.content()).empty();\r\n items.forEach((function(item) {\r\n $items = $items.add((0, _renderer.default)(\"<div>\").addClass(DATEVIEW_ROLLER_ITEM_CLASS).append(item))\r\n }));\r\n (0, _renderer.default)(this.content()).append($items);\r\n this._$items = $items;\r\n this.update()\r\n };\r\n _proto._renderSelectedItemFrame = function() {\r\n (0, _renderer.default)(\"<div>\").addClass(DATEVIEW_ROLLER_ITEM_SELECTED_FRAME_CLASS).append((0, _renderer.default)(\"<div>\").addClass(DATEVIEW_ROLLER_ITEM_SELECTED_BORDER_CLASS)).appendTo((0, _renderer.default)(this.container()))\r\n };\r\n _proto._renderSelectedValue = function(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 _proto._fitIndex = function(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 _proto._getItemPosition = function(index) {\r\n return Math.round(this._itemHeight() * index)\r\n };\r\n _proto._renderItemsClick = function() {\r\n var itemSelector = this._getItemSelector();\r\n var eventName = (0, _index.addNamespace)(_click.name, this.NAME);\r\n _events_engine.default.off(this.$element(), eventName, itemSelector);\r\n _events_engine.default.on(this.$element(), eventName, itemSelector, this._itemClickHandler.bind(this))\r\n };\r\n _proto._getItemSelector = function() {\r\n return \".\" + DATEVIEW_ROLLER_ITEM_CLASS\r\n };\r\n _proto._itemClickHandler = function(e) {\r\n this.option(\"selectedIndex\", this._itemElementIndex(e.currentTarget))\r\n };\r\n _proto._itemElementIndex = function(itemElement) {\r\n return this._itemElements().index(itemElement)\r\n };\r\n _proto._itemElements = function() {\r\n return this.$element().find(this._getItemSelector())\r\n };\r\n _proto._renderActiveStateItem = function() {\r\n var selectedIndex = this.option(\"selectedIndex\");\r\n (0, _iterator.each)(this._$items, (function(index) {\r\n (0, _renderer.default)(this).toggleClass(DATEVIEW_ROLLER_ITEM_SELECTED_CLASS, selectedIndex === index)\r\n }))\r\n };\r\n _proto._shouldScrollToNeighborItem = function() {\r\n return \"desktop\" === _devices.default.real().deviceType && this._isWheelScrolled\r\n };\r\n _proto._moveTo = function(targetLocation) {\r\n var _convertToLocation = (0, _convert_location.convertToLocation)(targetLocation),\r\n top = _convertToLocation.top,\r\n left = _convertToLocation.left;\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.default.stop((0, _renderer.default)(this.content()));\r\n _fx.default.animate((0, _renderer.default)(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: function() {\r\n (0, _translator.resetPosition)((0, _renderer.default)(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 _proto._validate = function(e) {\r\n return this._moveIsAllowed(e)\r\n };\r\n _proto._fitSelectedIndexInRange = function(index) {\r\n var itemsCount = this.option(\"items\").length;\r\n return Math.max(Math.min(index, itemsCount - 1), 0)\r\n };\r\n _proto._isInNullNeighborhood = function(x) {\r\n return -.1 <= x && x <= .1\r\n };\r\n _proto._getSelectedIndexAfterScroll = function(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 _proto._getNewSelectedIndex = function(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 _proto._endActionHandler = function() {\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 _proto._itemHeight = function() {\r\n var $item = this._$items.first();\r\n return (0, _size.getHeight)($item)\r\n };\r\n _proto._toggleActive = function(state) {\r\n this.$element().toggleClass(DATEVIEW_ROLLER_ACTIVE_CLASS, state)\r\n };\r\n _proto._isVisible = function() {\r\n return (0, _renderer.default)(this.container()).is(\":visible\")\r\n };\r\n _proto._fireSelectedIndexChanged = function(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 _proto._visibilityChanged = function(visible) {\r\n _Scrollable.prototype._visibilityChanged.call(this, visible);\r\n this._visibilityChangedHandler(visible)\r\n };\r\n _proto._visibilityChangedHandler = function(visible) {\r\n var _this2 = this;\r\n if (visible) {\r\n this._visibilityTimer = setTimeout((function() {\r\n _this2._renderSelectedValue(_this2.option(\"selectedIndex\"))\r\n }))\r\n }\r\n this.toggleActiveState(false)\r\n };\r\n _proto.toggleActiveState = function(state) {\r\n this.$element().toggleClass(DATEVIEW_ROLLER_CURRENT_CLASS, state)\r\n };\r\n _proto._refreshSelectedIndex = function() {\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 _proto._optionChanged = function(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 _Scrollable.prototype._optionChanged.call(this, args)\r\n }\r\n };\r\n _proto._dispose = function() {\r\n clearTimeout(this._visibilityTimer);\r\n _Scrollable.prototype._dispose.call(this)\r\n };\r\n return DateViewRoller\r\n}(_uiScrollable.default);\r\n(0, _component_registrator.default)(\"dxDateViewRoller\", DateViewRoller);\r\nvar _default = DateViewRoller;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/date_box/ui.time_view.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _editor = _interopRequireDefault(require(\"../editor/editor\"));\r\nvar _number_box = _interopRequireDefault(require(\"../number_box\"));\r\nvar _select_box = _interopRequireDefault(require(\"../select_box\"));\r\nvar _box = _interopRequireDefault(require(\"../box\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _component_registrator = _interopRequireDefault(require(\"../../core/component_registrator\"));\r\nvar _date = _interopRequireDefault(require(\"../../localization/date\"));\r\nvar _ui = _interopRequireDefault(require(\"./ui.date_utils\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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.default.inherit({\r\n _getDefaultOptions: function() {\r\n return (0, _extend.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 = (0, _renderer.default)(\"<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.default, {\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 = (0, _renderer.default)(\"<div>\").addClass(TIMEVIEW_HOURARROW_CLASS);\r\n this._$minuteArrow = (0, _renderer.default)(\"<div>\").addClass(TIMEVIEW_MINUTEARROW_CLASS);\r\n var $container = (0, _renderer.default)(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 _this = this;\r\n var items = [{\r\n ratio: 0,\r\n shrink: 0,\r\n baseSize: \"auto\",\r\n template: function() {\r\n return _this._hourBox.$element()\r\n }\r\n }, {\r\n ratio: 0,\r\n shrink: 0,\r\n baseSize: \"auto\",\r\n template: (0, _renderer.default)(\"<div>\").addClass(TIMEVIEW_TIME_SEPARATOR_CLASS).text(_date.default.getTimeSeparator())\r\n }, {\r\n ratio: 0,\r\n shrink: 0,\r\n baseSize: \"auto\",\r\n template: function() {\r\n return _this._minuteBox.$element()\r\n }\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: function() {\r\n return _this._format12.$element()\r\n }\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((0, _renderer.default)(\"<div>\").addClass(TIMEVIEW_FIELD_CLASS), _box.default, {\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 _this2 = this;\r\n var editor = this._hourBox = this._createComponent((0, _renderer.default)(\"<div>\"), _number_box.default, (0, _extend.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: function(opts) {\r\n return _this2._keyboardHandler(opts)\r\n }\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 value = _ref.value,\r\n component = _ref.component;\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 _ui.default.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 _this3 = this;\r\n var editor = this._minuteBox = this._createComponent((0, _renderer.default)(\"<div>\"), _number_box.default, (0, _extend.extend)({\r\n min: -1,\r\n max: 60,\r\n value: this._getValue().getMinutes(),\r\n onKeyboardHandled: function(opts) {\r\n return _this3._keyboardHandler(opts)\r\n },\r\n onValueChanged: function(_ref2) {\r\n var value = _ref2.value,\r\n component = _ref2.component;\r\n var newMinutes = (60 + value) % 60;\r\n component.option(\"value\", newMinutes);\r\n var time = new Date(_this3._getValue());\r\n time.setMinutes(newMinutes);\r\n _ui.default.normalizeTime(time);\r\n _this3.option(\"value\", time)\r\n }\r\n }, this._getNumberBoxConfig()));\r\n editor.setAria(\"label\", \"minutes\")\r\n },\r\n _createFormat12Box: function() {\r\n var _this4 = this;\r\n var periodNames = _date.default.getPeriodNames();\r\n var editor = this._format12 = this._createComponent((0, _renderer.default)(\"<div>\").addClass(TIMEVIEW_FORMAT12_CLASS), _select_box.default, {\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: function(opts) {\r\n return _this4._keyboardHandler(opts)\r\n },\r\n onValueChanged: function(_ref3) {\r\n var value = _ref3.value;\r\n var hours = _this4._getValue().getHours();\r\n var time = new Date(_this4._getValue());\r\n var newHours = (hours + 12 * value) % 24;\r\n time.setHours(newHours);\r\n _this4.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\n(0, _component_registrator.default)(\"dxTimeView\", TimeView);\r\nvar _default = TimeView;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/date_range_box.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _ui = _interopRequireDefault(require(\"./date_range_box/ui.date_range_box\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar _default = _ui.default;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/date_range_box/strategy/rangeCalendar.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _uiDate_boxStrategy = _interopRequireDefault(require(\"../../date_box/ui.date_box.strategy.calendar\"));\r\nvar _events_engine = _interopRequireDefault(require(\"../../../events/core/events_engine\"));\r\nvar _extend = require(\"../../../core/utils/extend\");\r\nvar _uiDate_range = require(\"../ui.date_range.utils\");\r\nvar _type = require(\"../../../core/utils/type\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar APPLY_BUTTON_SELECTOR = \".dx-popup-done.dx-button\";\r\nvar CANCEL_BUTTON_SELECTOR = \".dx-popup-cancel.dx-button\";\r\nvar TODAY_BUTTON_CLASS = \"dx-button-today\";\r\nvar RangeCalendarStrategy = function(_CalendarStrategy) {\r\n _inheritsLoose(RangeCalendarStrategy, _CalendarStrategy);\r\n\r\n function RangeCalendarStrategy(dateBox) {\r\n var _this;\r\n _this = _CalendarStrategy.call(this) || this;\r\n _this.dateBox = dateBox;\r\n _this.dateRangeBox = dateBox.option(\"_dateRangeBoxInstance\");\r\n return _this\r\n }\r\n var _proto = RangeCalendarStrategy.prototype;\r\n _proto.popupConfig = function(_popupConfig) {\r\n return (0, _extend.extend)(true, _CalendarStrategy.prototype.popupConfig.call(this, _popupConfig), {\r\n position: {\r\n of: this.dateRangeBox.$element()\r\n }\r\n })\r\n };\r\n _proto.popupShowingHandler = function() {\r\n var _this$_widget;\r\n null === (_this$_widget = this._widget) || void 0 === _this$_widget ? void 0 : _this$_widget._restoreViewsMinMaxOptions();\r\n this._dateSelectedCounter = 0\r\n };\r\n _proto._getPopup = function() {\r\n return _CalendarStrategy.prototype._getPopup.call(this) || this.dateRangeBox.getStartDateBox()._popup\r\n };\r\n _proto.getFirstPopupElement = function() {\r\n var $popupWrapper = this._getPopup().$wrapper();\r\n var $todayButton = $popupWrapper.find(\".\".concat(TODAY_BUTTON_CLASS));\r\n if ($todayButton.length) {\r\n return $todayButton\r\n }\r\n return $popupWrapper.find(APPLY_BUTTON_SELECTOR)\r\n };\r\n _proto.getLastPopupElement = function() {\r\n return this._getPopup().$wrapper().find(CANCEL_BUTTON_SELECTOR)\r\n };\r\n _proto.supportedKeys = function() {\r\n var _this2 = this;\r\n return _extends({}, _CalendarStrategy.prototype.supportedKeys.call(this), {\r\n rightArrow: function() {\r\n if (_this2.dateRangeBox.option(\"opened\")) {\r\n return true\r\n }\r\n },\r\n leftArrow: function() {\r\n if (_this2.dateRangeBox.option(\"opened\")) {\r\n return true\r\n }\r\n },\r\n enter: function(e) {\r\n if (_this2.dateRangeBox.option(\"opened\")) {\r\n var dateBoxValue = _this2.dateBox.dateOption(\"value\");\r\n _this2.dateBox._valueChangeEventHandler(e);\r\n var newDateBoxValue = _this2.dateBox.dateOption(\"value\");\r\n var dateBoxValueChanged = !(0, _uiDate_range.isSameDates)(dateBoxValue, newDateBoxValue);\r\n if (dateBoxValueChanged) {\r\n _this2.dateRangeBox.getStartDateBox()._strategy._widget.option(\"values\", _this2.dateRangeBox.option(\"value\"))\r\n } else {\r\n _this2.dateRangeBox.getStartDateBox()._strategy._widget._enterKeyHandler(e)\r\n }\r\n return false\r\n }\r\n },\r\n tab: function(e) {\r\n if (!_this2.getDateRangeBox().option(\"opened\")) {\r\n return\r\n }\r\n if (_this2._isInstantlyMode()) {\r\n if (!e.shiftKey && _this2.getDateRangeBox()._isEndDateActiveElement() || e.shiftKey && _this2.getDateRangeBox()._isStartDateActiveElement()) {\r\n _this2.dateRangeBox.close()\r\n }\r\n return\r\n }\r\n if (!e.shiftKey && _this2.getDateRangeBox()._isStartDateActiveElement() || e.shiftKey && _this2.getDateRangeBox()._isEndDateActiveElement()) {\r\n return\r\n }\r\n var $focusableElement = e.shiftKey ? _this2.getLastPopupElement() : _this2.getFirstPopupElement();\r\n if ($focusableElement) {\r\n _events_engine.default.trigger($focusableElement, \"focus\");\r\n $focusableElement.select()\r\n }\r\n e.preventDefault()\r\n }\r\n })\r\n };\r\n _proto._getTodayButtonConfig = function() {\r\n var _this3 = this;\r\n var todayButtonConfig = _CalendarStrategy.prototype._getTodayButtonConfig.call(this);\r\n todayButtonConfig.options.onInitialized = function(e) {\r\n _this3.dateBox._popupButtonInitializedHandler(e)\r\n };\r\n return todayButtonConfig\r\n };\r\n _proto._getWidgetOptions = function() {\r\n var _this$dateRangeBox$op = this.dateRangeBox.option(),\r\n disabledDatesValue = _this$dateRangeBox$op.disabledDates,\r\n value = _this$dateRangeBox$op.value,\r\n multiView = _this$dateRangeBox$op.multiView;\r\n var disabledDates = (0, _type.isFunction)(disabledDatesValue) ? this._injectComponent(disabledDatesValue) : disabledDates;\r\n return (0, _extend.extend)(_CalendarStrategy.prototype._getWidgetOptions.call(this), {\r\n disabledDates: disabledDates,\r\n values: value,\r\n selectionMode: \"range\",\r\n viewsCount: multiView ? 2 : 1,\r\n _allowChangeSelectionOrder: true,\r\n _currentSelection: this.getCurrentSelection()\r\n })\r\n };\r\n _proto._refreshActiveDescendant = function(e) {\r\n this.dateRangeBox.setAria(\"activedescendant\", e.actionValue)\r\n };\r\n _proto._injectComponent = function(func) {\r\n var _this4 = this;\r\n return function(params) {\r\n return func((0, _extend.extend)(params, {\r\n component: _this4.dateRangeBox\r\n }))\r\n }\r\n };\r\n _proto.getKeyboardListener = function() {\r\n return this.dateRangeBox.getStartDateBox() ? this.dateRangeBox.getStartDateBox()._strategy._widget : this._widget\r\n };\r\n _proto.getValue = function() {\r\n return this._widget.option(\"values\")\r\n };\r\n _proto._updateValue = function() {\r\n var _this$dateRangeBox$op2 = this.dateRangeBox.option(),\r\n value = _this$dateRangeBox$op2.value;\r\n if (!this._widget) {\r\n return\r\n }\r\n this._shouldPreventFocusChange = true;\r\n this._widget.option(\"values\", value)\r\n };\r\n _proto._isInstantlyMode = function() {\r\n return \"instantly\" === this.dateRangeBox.option(\"applyValueMode\")\r\n };\r\n _proto._valueChangedHandler = function(_ref) {\r\n var value = _ref.value,\r\n previousValue = _ref.previousValue,\r\n event = _ref.event;\r\n if ((0, _uiDate_range.isSameDateArrays)(value, previousValue) && !this._widget._valueSelected) {\r\n this._shouldPreventFocusChange = false;\r\n return\r\n }\r\n this._widget._valueSelected = false;\r\n if (this._isInstantlyMode()) {\r\n if (!this.dateRangeBox.option(\"disableOutOfRangeSelection\")) {\r\n if (\"startDate\" === this._getCalendarCurrentSelection()) {\r\n this._dateSelectedCounter = 0\r\n } else {\r\n this._dateSelectedCounter = 1;\r\n if (!value[0]) {\r\n this._dateSelectedCounter = -1\r\n } else if ((0, _uiDate_range.getDeserializedDate)(value[0]) > (0, _uiDate_range.getDeserializedDate)(value[1])) {\r\n this.dateRangeBox.updateValue([value[0], null], event);\r\n return\r\n }\r\n }\r\n }\r\n this.dateRangeBox.updateValue(value, event);\r\n this._dateSelectedCounter += 1;\r\n if (2 === this._dateSelectedCounter) {\r\n this.getDateRangeBox().close();\r\n return\r\n }\r\n } else if (\"endDate\" === this._getCalendarCurrentSelection()) {\r\n if (value[0] && (0, _uiDate_range.getDeserializedDate)(value[0]) > (0, _uiDate_range.getDeserializedDate)(value[1])) {\r\n return\r\n }\r\n }\r\n if (!this._shouldPreventFocusChange) {\r\n this._moveFocusToNextInput()\r\n }\r\n this._shouldPreventFocusChange = false\r\n };\r\n _proto._moveFocusToNextInput = function() {\r\n var targetDateBox = \"startDate\" === this._getCalendarCurrentSelection() ? this.getDateRangeBox().getEndDateBox() : this.getDateRangeBox().getStartDateBox();\r\n targetDateBox.focus();\r\n _events_engine.default.trigger(targetDateBox.field(), \"dxclick\")\r\n };\r\n _proto.getCurrentSelection = function() {\r\n return this.dateRangeBox.option(\"_currentSelection\")\r\n };\r\n _proto._getCalendarCurrentSelection = function() {\r\n return this._widget.option(\"_currentSelection\")\r\n };\r\n _proto._closeDropDownByEnter = function() {\r\n if (\"startDate\" === this._getCalendarCurrentSelection()) {\r\n return false\r\n } else {\r\n return true\r\n }\r\n };\r\n _proto.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 _proto._cellClickHandler = function() {};\r\n _proto.setActiveStartDateBox = function() {\r\n this.dateBox = this.dateRangeBox.getStartDateBox()\r\n };\r\n _proto.setActiveEndDateBox = function() {\r\n this.dateBox = this.dateRangeBox.getEndDateBox()\r\n };\r\n _proto.getDateRangeBox = function() {\r\n return this.dateRangeBox\r\n };\r\n return RangeCalendarStrategy\r\n}(_uiDate_boxStrategy.default);\r\nvar _default = RangeCalendarStrategy;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/date_range_box/ui.date_range.utils.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.sortDatesArray = exports.monthDifference = exports.isSameDates = exports.isSameDateArrays = exports.getDeserializedDate = void 0;\r\nvar _date = _interopRequireDefault(require(\"../../core/utils/date\"));\r\nvar _date_serialization = _interopRequireDefault(require(\"../../core/utils/date_serialization\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _slicedToArray(arr, i) {\r\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest()\r\n}\r\n\r\nfunction _nonIterableRest() {\r\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _unsupportedIterableToArray(o, minLen) {\r\n if (!o) {\r\n return\r\n }\r\n if (\"string\" === typeof o) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n var n = Object.prototype.toString.call(o).slice(8, -1);\r\n if (\"Object\" === n && o.constructor) {\r\n n = o.constructor.name\r\n }\r\n if (\"Map\" === n || \"Set\" === n) {\r\n return Array.from(o)\r\n }\r\n if (\"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n}\r\n\r\nfunction _arrayLikeToArray(arr, len) {\r\n if (null == len || len > arr.length) {\r\n len = arr.length\r\n }\r\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\r\n arr2[i] = arr[i]\r\n }\r\n return arr2\r\n}\r\n\r\nfunction _iterableToArrayLimit(arr, i) {\r\n var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"];\r\n if (null != _i) {\r\n var _s, _e, _x, _r, _arr = [],\r\n _n = !0,\r\n _d = !1;\r\n try {\r\n if (_x = (_i = _i.call(arr)).next, 0 === i) {\r\n if (Object(_i) !== _i) {\r\n return\r\n }\r\n _n = !1\r\n } else {\r\n for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) {}\r\n }\r\n } catch (err) {\r\n _d = !0, _e = err\r\n } finally {\r\n try {\r\n if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) {\r\n return\r\n }\r\n } finally {\r\n if (_d) {\r\n throw _e\r\n }\r\n }\r\n }\r\n return _arr\r\n }\r\n}\r\n\r\nfunction _arrayWithHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return arr\r\n }\r\n}\r\nvar getDeserializedDate = function(value) {\r\n return _date_serialization.default.deserializeDate(value)\r\n};\r\nexports.getDeserializedDate = getDeserializedDate;\r\nvar isSameDates = function(date1, date2) {\r\n if (!date1 && !date2) {\r\n return true\r\n }\r\n return _date.default.sameDate(getDeserializedDate(date1), getDeserializedDate(date2))\r\n};\r\nexports.isSameDates = isSameDates;\r\nvar isSameDateArrays = function(value, previousValue) {\r\n var _value = _slicedToArray(value, 2),\r\n startDate = _value[0],\r\n endDate = _value[1];\r\n var _previousValue = _slicedToArray(previousValue, 2),\r\n previousStartDate = _previousValue[0],\r\n previousEndDate = _previousValue[1];\r\n return isSameDates(startDate, previousStartDate) && isSameDates(endDate, previousEndDate)\r\n};\r\nexports.isSameDateArrays = isSameDateArrays;\r\nvar sortDatesArray = function(value) {\r\n var _value2 = _slicedToArray(value, 2),\r\n startDate = _value2[0],\r\n endDate = _value2[1];\r\n if (startDate && endDate && getDeserializedDate(startDate) > getDeserializedDate(endDate)) {\r\n return [endDate, startDate]\r\n } else {\r\n return value\r\n }\r\n};\r\nexports.sortDatesArray = sortDatesArray;\r\nvar monthDifference = function(date1, date2) {\r\n return 12 * (date2.getFullYear() - date1.getFullYear()) - date1.getMonth() + date2.getMonth()\r\n};\r\nexports.monthDifference = monthDifference;\r\n","/**\r\n * DevExtreme (cjs/ui/date_range_box/ui.date_range_box.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _component_registrator = _interopRequireDefault(require(\"../../core/component_registrator\"));\r\nvar _dom_adapter = _interopRequireDefault(require(\"../../core/dom_adapter\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _icon = require(\"../../core/utils/icon\");\r\nvar _config = _interopRequireDefault(require(\"../../core/config\"));\r\nvar _devices = _interopRequireDefault(require(\"../../core/devices\"));\r\nvar _message = _interopRequireDefault(require(\"../../localization/message\"));\r\nvar _themes = require(\"../themes\");\r\nvar _editor = _interopRequireDefault(require(\"../editor/editor\"));\r\nvar _ui = _interopRequireDefault(require(\"./ui.multiselect_date_box\"));\r\nvar _index = _interopRequireDefault(require(\"../text_box/texteditor_button_collection/index\"));\r\nvar _ui2 = _interopRequireDefault(require(\"../drop_down_editor/ui.drop_down_button\"));\r\nvar _uiText_editor = _interopRequireDefault(require(\"../text_box/ui.text_editor.clear\"));\r\nvar _function_template = require(\"../../core/templates/function_template\");\r\nvar _uiDate_range = require(\"./ui.date_range.utils\");\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _inflector = require(\"../../core/utils/inflector\");\r\nvar _index2 = require(\"../../events/utils/index\");\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\n\r\nfunction _toConsumableArray(arr) {\r\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread()\r\n}\r\n\r\nfunction _nonIterableSpread() {\r\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _iterableToArray(iter) {\r\n if (\"undefined\" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter[\"@@iterator\"]) {\r\n return Array.from(iter)\r\n }\r\n}\r\n\r\nfunction _arrayWithoutHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return _arrayLikeToArray(arr)\r\n }\r\n}\r\n\r\nfunction _slicedToArray(arr, i) {\r\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest()\r\n}\r\n\r\nfunction _nonIterableRest() {\r\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _unsupportedIterableToArray(o, minLen) {\r\n if (!o) {\r\n return\r\n }\r\n if (\"string\" === typeof o) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n var n = Object.prototype.toString.call(o).slice(8, -1);\r\n if (\"Object\" === n && o.constructor) {\r\n n = o.constructor.name\r\n }\r\n if (\"Map\" === n || \"Set\" === n) {\r\n return Array.from(o)\r\n }\r\n if (\"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n}\r\n\r\nfunction _arrayLikeToArray(arr, len) {\r\n if (null == len || len > arr.length) {\r\n len = arr.length\r\n }\r\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\r\n arr2[i] = arr[i]\r\n }\r\n return arr2\r\n}\r\n\r\nfunction _iterableToArrayLimit(arr, i) {\r\n var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"];\r\n if (null != _i) {\r\n var _s, _e, _x, _r, _arr = [],\r\n _n = !0,\r\n _d = !1;\r\n try {\r\n if (_x = (_i = _i.call(arr)).next, 0 === i) {\r\n if (Object(_i) !== _i) {\r\n return\r\n }\r\n _n = !1\r\n } else {\r\n for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) {}\r\n }\r\n } catch (err) {\r\n _d = !0, _e = err\r\n } finally {\r\n try {\r\n if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) {\r\n return\r\n }\r\n } finally {\r\n if (_d) {\r\n throw _e\r\n }\r\n }\r\n }\r\n return _arr\r\n }\r\n}\r\n\r\nfunction _arrayWithHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return arr\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar DATERANGEBOX_CLASS = \"dx-daterangebox\";\r\nvar DATERANGEBOX_WITH_LABEL_CLASS = \"dx-daterangebox-with-label\";\r\nvar DATERANGEBOX_WITH_FLOATING_LABEL_CLASS = \"dx-daterangebox-with-floating-label\";\r\nvar START_DATEBOX_CLASS = \"dx-start-datebox\";\r\nvar END_DATEBOX_CLASS = \"dx-end-datebox\";\r\nvar DATERANGEBOX_SEPARATOR_CLASS = \"dx-daterangebox-separator\";\r\nvar DROP_DOWN_EDITOR_BUTTON_ICON = \"dx-dropdowneditor-icon\";\r\nvar INVALID_BADGE_CLASS = \"dx-show-invalid-badge\";\r\nvar READONLY_STATE_CLASS = \"dx-state-readonly\";\r\nvar TEXTEDITOR_CLASS = \"dx-texteditor\";\r\nvar TEXTEDITOR_INPUT_CLASS = \"dx-texteditor-input\";\r\nvar TEXTEDITOR_EMPTY_INPUT_CLASS = \"dx-texteditor-empty\";\r\nvar DROP_DOWN_EDITOR_CLASS = \"dx-dropdowneditor\";\r\nvar DROP_DOWN_EDITOR_ACTIVE_CLASS = \"dx-dropdowneditor-active\";\r\nvar SEPARATOR_ICON_NAME = \"to\";\r\nvar EVENTS_LIST = [\"KeyDown\", \"KeyUp\", \"Change\", \"Cut\", \"Copy\", \"Paste\", \"Input\", \"EnterKey\"];\r\nvar DateRangeBox = function(_Editor) {\r\n _inheritsLoose(DateRangeBox, _Editor);\r\n\r\n function DateRangeBox() {\r\n return _Editor.apply(this, arguments) || this\r\n }\r\n var _proto = DateRangeBox.prototype;\r\n _proto._getDefaultOptions = function() {\r\n return (0, _extend.extend)(_Editor.prototype._getDefaultOptions.call(this), {\r\n acceptCustomValue: true,\r\n activeStateEnabled: true,\r\n applyButtonText: _message.default.format(\"OK\"),\r\n applyValueMode: \"instantly\",\r\n buttons: void 0,\r\n calendarOptions: {},\r\n cancelButtonText: _message.default.format(\"Cancel\"),\r\n endDateOutOfRangeMessage: _message.default.format(\"dxDateRangeBox-endDateOutOfRangeMessage\"),\r\n dateSerializationFormat: void 0,\r\n deferRendering: true,\r\n disableOutOfRangeSelection: false,\r\n disabledDates: null,\r\n displayFormat: null,\r\n dropDownButtonTemplate: \"dropDownButton\",\r\n dropDownOptions: {},\r\n endDate: null,\r\n endDateInputAttr: {},\r\n endDateLabel: _message.default.format(\"dxDateRangeBox-endDateLabel\"),\r\n endDateName: \"\",\r\n endDatePlaceholder: \"\",\r\n endDateText: void 0,\r\n focusStateEnabled: true,\r\n hoverStateEnabled: true,\r\n invalidStartDateMessage: _message.default.format(\"dxDateRangeBox-invalidStartDateMessage\"),\r\n invalidEndDateMessage: _message.default.format(\"dxDateRangeBox-invalidEndDateMessage\"),\r\n isValid: true,\r\n labelMode: \"static\",\r\n max: void 0,\r\n min: void 0,\r\n multiView: true,\r\n onChange: null,\r\n onClosed: null,\r\n onCopy: null,\r\n onCut: null,\r\n onEnterKey: null,\r\n onInput: null,\r\n onKeyDown: null,\r\n onKeyUp: null,\r\n onOpened: null,\r\n onPaste: null,\r\n onValueChanged: null,\r\n openOnFieldClick: true,\r\n opened: false,\r\n pickerType: \"calendar\",\r\n readOnly: false,\r\n showClearButton: false,\r\n showDropDownButton: true,\r\n spellcheck: false,\r\n startDate: null,\r\n startDateInputAttr: {},\r\n startDateLabel: _message.default.format(\"dxDateRangeBox-startDateLabel\"),\r\n startDateName: \"\",\r\n startDateOutOfRangeMessage: _message.default.format(\"dxDateRangeBox-startDateOutOfRangeMessage\"),\r\n startDatePlaceholder: \"\",\r\n startDateText: void 0,\r\n stylingMode: (0, _config.default)().editorStylingMode || \"outlined\",\r\n todayButtonText: _message.default.format(\"dxCalendar-todayButtonText\"),\r\n useHiddenSubmitElement: false,\r\n useMaskBehavior: false,\r\n validationError: null,\r\n validationErrors: null,\r\n validationMessageMode: \"auto\",\r\n validationMessagePosition: \"auto\",\r\n validationStatus: \"valid\",\r\n value: [null, null],\r\n valueChangeEvent: \"change\",\r\n _internalValidationErrors: [],\r\n _currentSelection: \"startDate\"\r\n })\r\n };\r\n _proto._defaultOptionsRules = function() {\r\n return _Editor.prototype._defaultOptionsRules.call(this).concat([{\r\n device: function() {\r\n var themeName = (0, _themes.current)();\r\n return (0, _themes.isMaterial)(themeName)\r\n },\r\n options: {\r\n stylingMode: (0, _config.default)().editorStylingMode || \"filled\",\r\n labelMode: \"floating\"\r\n }\r\n }, {\r\n device: function() {\r\n var realDevice = _devices.default.real();\r\n var platform = realDevice.platform;\r\n return \"ios\" === platform || \"android\" === platform\r\n },\r\n options: {\r\n multiView: false\r\n }\r\n }])\r\n };\r\n _proto._initOptions = function(options) {\r\n _Editor.prototype._initOptions.call(this, options);\r\n var _this$initialOption = this.initialOption(),\r\n initialValue = _this$initialOption.value;\r\n var _this$option = this.option(),\r\n value = _this$option.value,\r\n startDate = _this$option.startDate,\r\n endDate = _this$option.endDate;\r\n if (value[0] && value[1] && (0, _uiDate_range.getDeserializedDate)(value[0]) > (0, _uiDate_range.getDeserializedDate)(value[1])) {\r\n value = [value[1], value[0]]\r\n }\r\n if (startDate && endDate && (0, _uiDate_range.getDeserializedDate)(startDate) > (0, _uiDate_range.getDeserializedDate)(endDate)) {\r\n var _ref = [endDate, startDate];\r\n startDate = _ref[0];\r\n endDate = _ref[1]\r\n }\r\n if ((0, _uiDate_range.isSameDateArrays)(initialValue, value)) {\r\n value = [startDate, endDate]\r\n } else {\r\n var _value = value;\r\n var _value2 = _slicedToArray(_value, 2);\r\n startDate = _value2[0];\r\n endDate = _value2[1]\r\n }\r\n this.option({\r\n startDate: startDate,\r\n endDate: endDate,\r\n value: value\r\n })\r\n };\r\n _proto._createOpenAction = function() {\r\n this._openAction = this._createActionByOption(\"onOpened\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n };\r\n _proto._raiseOpenAction = function() {\r\n if (!this._openAction) {\r\n this._createOpenAction()\r\n }\r\n this._openAction()\r\n };\r\n _proto._createCloseAction = function() {\r\n this._closeAction = this._createActionByOption(\"onClosed\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n };\r\n _proto._raiseCloseAction = function() {\r\n if (!this._closeAction) {\r\n this._createCloseAction()\r\n }\r\n this._closeAction()\r\n };\r\n _proto._createEventAction = function(eventName) {\r\n this[\"_\".concat((0, _inflector.camelize)(eventName), \"Action\")] = this._createActionByOption(\"on\".concat(eventName), {\r\n excludeValidators: [\"readOnly\"]\r\n })\r\n };\r\n _proto._raiseAction = function(eventName, event) {\r\n var action = this[\"_\".concat((0, _inflector.camelize)(eventName), \"Action\")];\r\n if (!action) {\r\n this._createEventAction(eventName)\r\n }\r\n this[\"_\".concat((0, _inflector.camelize)(eventName), \"Action\")]({\r\n event: event\r\n })\r\n };\r\n _proto._initTemplates = function() {\r\n this._templateManager.addDefaultTemplates({\r\n dropDownButton: new _function_template.FunctionTemplate((function(options) {\r\n var $icon = (0, _renderer.default)(\"<div>\").addClass(DROP_DOWN_EDITOR_BUTTON_ICON);\r\n (0, _renderer.default)(options.container).append($icon)\r\n }))\r\n });\r\n this.callBase()\r\n };\r\n _proto._getDefaultButtons = function() {\r\n return [{\r\n name: \"clear\",\r\n Ctor: _uiText_editor.default\r\n }, {\r\n name: \"dropDown\",\r\n Ctor: _ui2.default\r\n }]\r\n };\r\n _proto._initMarkup = function() {\r\n this.$element().addClass(DATERANGEBOX_CLASS).addClass(TEXTEDITOR_CLASS).addClass(DROP_DOWN_EDITOR_CLASS);\r\n this._toggleDropDownEditorActiveClass();\r\n this._toggleEditorLabelClass();\r\n this._toggleReadOnlyState();\r\n this._renderStylingMode();\r\n this._renderEndDateBox();\r\n this._renderSeparator();\r\n this._renderStartDateBox();\r\n this._toggleEmptinessState();\r\n this._renderEmptinessEvent();\r\n this._renderButtonsContainer();\r\n _Editor.prototype._initMarkup.call(this);\r\n this.$element().removeClass(INVALID_BADGE_CLASS)\r\n };\r\n _proto._renderEmptinessEvent = function() {\r\n var eventName = (0, _index2.addNamespace)(\"input blur\", this.NAME);\r\n _events_engine.default.off(this._focusTarget(), eventName);\r\n _events_engine.default.on(this._focusTarget(), eventName, this._toggleEmptinessState.bind(this))\r\n };\r\n _proto._toggleEmptinessState = function() {\r\n var isEmpty = this.getStartDateBox().$element().hasClass(TEXTEDITOR_EMPTY_INPUT_CLASS) && this.getEndDateBox().$element().hasClass(TEXTEDITOR_EMPTY_INPUT_CLASS);\r\n this.$element().toggleClass(TEXTEDITOR_EMPTY_INPUT_CLASS, isEmpty)\r\n };\r\n _proto._attachKeyboardEvents = function() {\r\n if (!this.option(\"readOnly\")) {\r\n _Editor.prototype._attachKeyboardEvents.call(this)\r\n }\r\n };\r\n _proto._toggleReadOnlyState = function() {\r\n var _this$option2 = this.option(),\r\n readOnly = _this$option2.readOnly;\r\n this.$element().toggleClass(READONLY_STATE_CLASS, !!readOnly)\r\n };\r\n _proto._toggleDropDownEditorActiveClass = function() {\r\n var _this$option3 = this.option(),\r\n opened = _this$option3.opened;\r\n this.$element().toggleClass(DROP_DOWN_EDITOR_ACTIVE_CLASS, opened)\r\n };\r\n _proto._toggleEditorLabelClass = function() {\r\n var _this$option4 = this.option(),\r\n startDateLabel = _this$option4.startDateLabel,\r\n endDateLabel = _this$option4.endDateLabel,\r\n labelMode = _this$option4.labelMode;\r\n var isLabelVisible = (!!startDateLabel || !!endDateLabel) && \"hidden\" !== labelMode;\r\n this.$element().removeClass(DATERANGEBOX_WITH_FLOATING_LABEL_CLASS).removeClass(DATERANGEBOX_WITH_LABEL_CLASS);\r\n if (isLabelVisible) {\r\n this.$element().addClass(\"floating\" === labelMode ? DATERANGEBOX_WITH_FLOATING_LABEL_CLASS : DATERANGEBOX_WITH_LABEL_CLASS)\r\n }\r\n };\r\n _proto._renderStartDateBox = function() {\r\n this._$startDateBox = (0, _renderer.default)(\"<div>\").addClass(START_DATEBOX_CLASS).prependTo(this.$element());\r\n this._startDateBox = this._createComponent(this._$startDateBox, _ui.default, this._getStartDateBoxConfig());\r\n this._startDateBox.NAME = \"_StartDateBox\"\r\n };\r\n _proto._renderEndDateBox = function() {\r\n this._$endDateBox = (0, _renderer.default)(\"<div>\").addClass(END_DATEBOX_CLASS).appendTo(this.$element());\r\n this._endDateBox = this._createComponent(this._$endDateBox, _ui.default, this._getEndDateBoxConfig());\r\n this._endDateBox.NAME = \"_EndDateBox\"\r\n };\r\n _proto._renderSeparator = function() {\r\n var $icon = (0, _icon.getImageContainer)(SEPARATOR_ICON_NAME);\r\n this._$separator = (0, _renderer.default)(\"<div>\").addClass(DATERANGEBOX_SEPARATOR_CLASS).prependTo(this.$element());\r\n this._renderPreventBlurOnSeparatorClick();\r\n $icon.appendTo(this._$separator)\r\n };\r\n _proto._renderPreventBlurOnSeparatorClick = function() {\r\n var _this = this;\r\n var eventName = (0, _index2.addNamespace)(\"mousedown\", this.NAME);\r\n _events_engine.default.off(this._$separator, eventName);\r\n _events_engine.default.on(this._$separator, eventName, (function(e) {\r\n if (!_this._hasActiveElement()) {\r\n _this.focus()\r\n }\r\n e.preventDefault()\r\n }))\r\n };\r\n _proto._renderButtonsContainer = function() {\r\n this._buttonCollection = new _index.default(this, this._getDefaultButtons());\r\n this._$beforeButtonsContainer = null;\r\n this._$afterButtonsContainer = null;\r\n var _this$option5 = this.option(),\r\n buttons = _this$option5.buttons;\r\n this._$beforeButtonsContainer = this._buttonCollection.renderBeforeButtons(buttons, this.$element());\r\n this._$afterButtonsContainer = this._buttonCollection.renderAfterButtons(buttons, this.$element())\r\n };\r\n _proto._updateButtons = function(names) {\r\n this._buttonCollection.updateButtons(names)\r\n };\r\n _proto._openHandler = function() {\r\n this._toggleOpenState()\r\n };\r\n _proto._shouldCallOpenHandler = function() {\r\n return true\r\n };\r\n _proto._toggleOpenState = function() {\r\n var _this$option6 = this.option(),\r\n opened = _this$option6.opened;\r\n if (!opened) {\r\n this.getStartDateBox()._focusInput()\r\n }\r\n if (!this.option(\"readOnly\")) {\r\n this.option(\"opened\", !this.option(\"opened\"))\r\n }\r\n };\r\n _proto._clearValueHandler = function(e) {\r\n e.stopPropagation();\r\n this._saveValueChangeEvent(e);\r\n this.reset();\r\n !this._isStartDateActiveElement() && this.focus();\r\n _events_engine.default.trigger((0, _renderer.default)(this.startDateField()), \"input\")\r\n };\r\n _proto._isClearButtonVisible = function() {\r\n return this.option(\"showClearButton\") && !this.option(\"readOnly\")\r\n };\r\n _proto._focusInHandler = function(event) {\r\n if (this._shouldSkipFocusEvent(event)) {\r\n return\r\n }\r\n _Editor.prototype._focusInHandler.call(this, event)\r\n };\r\n _proto._focusOutHandler = function(event) {\r\n if (this._shouldSkipFocusEvent(event)) {\r\n return\r\n }\r\n _Editor.prototype._focusOutHandler.call(this, event)\r\n };\r\n _proto._shouldSkipFocusEvent = function(event) {\r\n var target = event.target,\r\n relatedTarget = event.relatedTarget;\r\n return (0, _renderer.default)(target).is(this.startDateField()) && (0, _renderer.default)(relatedTarget).is(this.endDateField()) || (0, _renderer.default)(target).is(this.endDateField()) && (0, _renderer.default)(relatedTarget).is(this.startDateField())\r\n };\r\n _proto._getPickerType = function() {\r\n var _this$option7 = this.option(),\r\n pickerType = _this$option7.pickerType;\r\n return [\"calendar\", \"native\"].includes(pickerType) ? pickerType : \"calendar\"\r\n };\r\n _proto._getRestErrors = function(allErrors, partialErrors) {\r\n return allErrors.filter((function(error) {\r\n return !partialErrors.some((function(prevError) {\r\n return error.message === prevError.message\r\n }))\r\n }))\r\n };\r\n _proto._syncValidationErrors = function(optionName, newPartialErrors, previousPartialErrors) {\r\n newPartialErrors || (newPartialErrors = []);\r\n previousPartialErrors || (previousPartialErrors = []);\r\n var allErrors = this.option(optionName) || [];\r\n var otherErrors = this._getRestErrors(allErrors, previousPartialErrors);\r\n this.option(optionName, [].concat(_toConsumableArray(otherErrors), _toConsumableArray(newPartialErrors)))\r\n };\r\n _proto._getDateBoxConfig = function() {\r\n var _this2 = this;\r\n var options = this.option();\r\n var dateBoxConfig = {\r\n acceptCustomValue: options.acceptCustomValue,\r\n activeStateEnabled: options.activeStateEnabled,\r\n applyValueMode: options.applyValueMode,\r\n dateOutOfRangeMessage: options.dateOutOfRangeMessage,\r\n dateSerializationFormat: options.dateSerializationFormat,\r\n deferRendering: options.deferRendering,\r\n disabled: options.disabled,\r\n displayFormat: options.displayFormat,\r\n focusStateEnabled: options.focusStateEnabled,\r\n isValid: options.isValid,\r\n tabIndex: options.tabIndex,\r\n height: options.height,\r\n hoverStateEnabled: options.hoverStateEnabled,\r\n labelMode: options.labelMode,\r\n max: options.max,\r\n min: options.min,\r\n openOnFieldClick: options.openOnFieldClick,\r\n pickerType: this._getPickerType(),\r\n readOnly: options.readOnly,\r\n rtlEnabled: options.rtlEnabled,\r\n spellcheck: options.spellcheck,\r\n stylingMode: options.stylingMode,\r\n type: \"date\",\r\n useMaskBehavior: options.useMaskBehavior,\r\n validationMessageMode: options.validationMessageMode,\r\n validationMessagePosition: options.validationMessagePosition,\r\n valueChangeEvent: options.valueChangeEvent,\r\n onKeyDown: options.onKeyDown,\r\n onKeyUp: options.onKeyUp,\r\n onChange: options.onChange,\r\n onInput: options.onInput,\r\n onCut: options.onCut,\r\n onCopy: options.onCopy,\r\n onPaste: options.onPaste,\r\n onEnterKey: options.onEnterKey,\r\n _dateRangeBoxInstance: this,\r\n _showValidationMessage: false\r\n };\r\n (0, _iterator.each)(EVENTS_LIST, (function(_, eventName) {\r\n var optionName = \"on\".concat(eventName);\r\n if (_this2.hasActionSubscription(optionName)) {\r\n dateBoxConfig[optionName] = function(e) {\r\n _this2._raiseAction(eventName, e.event)\r\n }\r\n }\r\n }));\r\n return dateBoxConfig\r\n };\r\n _proto._hideOnOutsideClickHandler = function(_ref2) {\r\n var target = _ref2.target;\r\n var $target = (0, _renderer.default)(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 _proto._getStartDateBoxConfig = function() {\r\n var _options$dropDownOpti, _this3 = this;\r\n var options = this.option();\r\n return _extends({}, this._getDateBoxConfig(), {\r\n applyButtonText: options.applyButtonText,\r\n calendarOptions: options.calendarOptions,\r\n cancelButtonText: options.cancelButtonText,\r\n dateOutOfRangeMessage: options.startDateOutOfRangeMessage,\r\n deferRendering: options.deferRendering,\r\n disabledDates: null === (_options$dropDownOpti = options.dropDownOptions) || void 0 === _options$dropDownOpti ? void 0 : _options$dropDownOpti.disabledDates,\r\n dropDownOptions: _extends({\r\n showTitle: false,\r\n title: \"\",\r\n hideOnOutsideClick: function(e) {\r\n return _this3._hideOnOutsideClickHandler(e)\r\n },\r\n hideOnParentScroll: false,\r\n preventScrollEvents: false\r\n }, options.dropDownOptions),\r\n invalidDateMessage: options.invalidStartDateMessage,\r\n onValueChanged: function(_ref3) {\r\n var value = _ref3.value,\r\n event = _ref3.event;\r\n var newValue = [value, _this3.option(\"value\")[1]];\r\n _this3.updateValue(newValue, event)\r\n },\r\n opened: options.opened,\r\n onOpened: function() {\r\n _this3._raiseOpenAction()\r\n },\r\n onClosed: function() {\r\n _this3._raiseCloseAction()\r\n },\r\n onOptionChanged: function(args) {\r\n var name = args.name,\r\n value = args.value,\r\n previousValue = args.previousValue;\r\n if (\"text\" === name) {\r\n _this3.option(\"startDateText\", value)\r\n }\r\n if (\"validationErrors\" === name) {\r\n _this3._syncValidationErrors(\"_internalValidationErrors\", value, previousValue)\r\n }\r\n },\r\n todayButtonText: options.todayButtonText,\r\n showClearButton: false,\r\n showDropDownButton: false,\r\n value: this.option(\"value\")[0],\r\n label: options.startDateLabel,\r\n placeholder: options.startDatePlaceholder,\r\n inputAttr: options.startDateInputAttr,\r\n name: options.startDateName,\r\n _showValidationIcon: false\r\n })\r\n };\r\n _proto._getEndDateBoxConfig = function() {\r\n var _this4 = this;\r\n var options = this.option();\r\n return _extends({}, this._getDateBoxConfig(), {\r\n invalidDateMessage: options.invalidEndDateMessage,\r\n dateOutOfRangeMessage: options.endDateOutOfRangeMessage,\r\n onValueChanged: function(_ref4) {\r\n var value = _ref4.value,\r\n event = _ref4.event;\r\n var newValue = [_this4.option(\"value\")[0], value];\r\n _this4.updateValue(newValue, event)\r\n },\r\n onOptionChanged: function(args) {\r\n var name = args.name,\r\n value = args.value,\r\n previousValue = args.previousValue;\r\n if (\"text\" === name) {\r\n _this4.option(\"endDateText\", value)\r\n }\r\n if (\"validationErrors\" === name) {\r\n _this4._syncValidationErrors(\"_internalValidationErrors\", value, previousValue)\r\n }\r\n },\r\n opened: options.opened,\r\n showClearButton: false,\r\n showDropDownButton: false,\r\n value: this.option(\"value\")[1],\r\n label: options.endDateLabel,\r\n placeholder: options.endDatePlaceholder,\r\n deferRendering: true,\r\n inputAttr: options.endDateInputAttr,\r\n name: options.endDateName\r\n })\r\n };\r\n _proto._getValidationMessagePosition = function() {\r\n var _this$option8 = this.option(),\r\n validationMessagePosition = _this$option8.validationMessagePosition;\r\n if (\"auto\" === validationMessagePosition) {\r\n return this.option(\"opened\") ? \"top\" : \"bottom\"\r\n }\r\n return validationMessagePosition\r\n };\r\n _proto.updateValue = function(newValue, event) {\r\n if (!(0, _uiDate_range.isSameDateArrays)(newValue, this.option(\"value\"))) {\r\n if (event) {\r\n this._saveValueChangeEvent(event)\r\n }\r\n this.option(\"value\", newValue)\r\n }\r\n };\r\n _proto._updateDateBoxesValue = function(newValue) {\r\n var startDateBox = this.getStartDateBox();\r\n var endDateBox = this.getEndDateBox();\r\n var _newValue = _slicedToArray(newValue, 2),\r\n newStartDate = _newValue[0],\r\n newEndDate = _newValue[1];\r\n var oldStartDate = startDateBox.option(\"value\");\r\n var oldEndDate = endDateBox.option(\"value\");\r\n if (!(0, _uiDate_range.isSameDates)(newStartDate, oldStartDate)) {\r\n startDateBox.option(\"value\", newStartDate)\r\n }\r\n if (!(0, _uiDate_range.isSameDates)(newEndDate, oldEndDate)) {\r\n endDateBox.option(\"value\", newEndDate)\r\n }\r\n };\r\n _proto._renderAccessKey = function() {\r\n var $startDateInput = (0, _renderer.default)(this.field()[0]);\r\n var _this$option9 = this.option(),\r\n accessKey = _this$option9.accessKey;\r\n $startDateInput.attr(\"accesskey\", accessKey)\r\n };\r\n _proto._focusTarget = function() {\r\n return this.$element().find(\".\".concat(TEXTEDITOR_INPUT_CLASS))\r\n };\r\n _proto._focusEventTarget = function() {\r\n return this.element()\r\n };\r\n _proto._focusClassTarget = function() {\r\n return this.$element()\r\n };\r\n _proto._toggleFocusClass = function(isFocused, $element) {\r\n _Editor.prototype._toggleFocusClass.call(this, isFocused, this._focusClassTarget($element))\r\n };\r\n _proto._hasActiveElement = function() {\r\n return this._isStartDateActiveElement() || this._isEndDateActiveElement()\r\n };\r\n _proto._isStartDateActiveElement = function() {\r\n return this._isActiveElement(this.startDateField())\r\n };\r\n _proto._isEndDateActiveElement = function() {\r\n return this._isActiveElement(this.endDateField())\r\n };\r\n _proto._isActiveElement = function(input) {\r\n return (0, _renderer.default)(input).is(_dom_adapter.default.getActiveElement(input))\r\n };\r\n _proto._popupContentIdentifier = function(identifier) {\r\n if (identifier) {\r\n this._popupContentId = identifier\r\n }\r\n return this._popupContentId\r\n };\r\n _proto._setAriaAttributes = function() {\r\n var _this$option10 = this.option(),\r\n opened = _this$option10.opened;\r\n var arias = {\r\n expanded: opened,\r\n controls: this._popupContentIdentifier()\r\n };\r\n var ariaOwns = opened ? this._popupContentIdentifier() : void 0;\r\n this.setAria(arias);\r\n this.setAria(\"owns\", ariaOwns, this.$element())\r\n };\r\n _proto._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 this._$beforeButtonsContainer = null;\r\n this._$afterButtonsContainer = null\r\n };\r\n _proto._applyCustomValidation = function(value) {\r\n this.validationRequest.fire({\r\n editor: this,\r\n value: value\r\n })\r\n };\r\n _proto._clean = function() {\r\n var _this$_$startDateBox, _this$_$endDateBox, _this$_$separator;\r\n this._cleanButtonContainers();\r\n null === (_this$_$startDateBox = this._$startDateBox) || void 0 === _this$_$startDateBox ? void 0 : _this$_$startDateBox.remove();\r\n null === (_this$_$endDateBox = this._$endDateBox) || void 0 === _this$_$endDateBox ? void 0 : _this$_$endDateBox.remove();\r\n null === (_this$_$separator = this._$separator) || void 0 === _this$_$separator ? void 0 : _this$_$separator.remove();\r\n _Editor.prototype._clean.call(this)\r\n };\r\n _proto._optionChanged = function(args) {\r\n var name = args.name,\r\n fullName = args.fullName,\r\n value = args.value,\r\n previousValue = args.previousValue;\r\n switch (name) {\r\n case \"acceptCustomValue\":\r\n case \"dateSerializationFormat\":\r\n case \"displayFormat\":\r\n case \"max\":\r\n case \"min\":\r\n case \"openOnFieldClick\":\r\n case \"spellcheck\":\r\n case \"useMaskBehavior\":\r\n case \"valueChangeEvent\":\r\n this.getStartDateBox().option(name, value);\r\n this.getEndDateBox().option(name, value);\r\n break;\r\n case \"rtlEnabled\":\r\n _Editor.prototype._optionChanged.call(this, args);\r\n break;\r\n case \"labelMode\":\r\n this._toggleEditorLabelClass();\r\n this.getStartDateBox().option(name, value);\r\n this.getEndDateBox().option(name, value);\r\n break;\r\n case \"applyButtonText\":\r\n case \"applyValueMode\":\r\n case \"cancelButtonText\":\r\n case \"deferRendering\":\r\n case \"disabledDates\":\r\n case \"todayButtonText\":\r\n this.getStartDateBox().option(name, value);\r\n break;\r\n case \"opened\":\r\n this._toggleDropDownEditorActiveClass();\r\n this.getStartDateBox().option(name, value);\r\n this.getEndDateBox()._setOptionWithoutOptionChange(name, value);\r\n break;\r\n case \"buttons\":\r\n this._cleanButtonContainers();\r\n this._renderButtonsContainer();\r\n break;\r\n case \"calendarOptions\":\r\n case \"dropDownOptions\":\r\n this.getStartDateBox().option(fullName, value);\r\n break;\r\n case \"pickerType\":\r\n var pickerType = this._getPickerType();\r\n this.getStartDateBox().option(name, pickerType);\r\n this.getEndDateBox().option(name, pickerType);\r\n break;\r\n case \"dateOutOfRangeMessage\":\r\n break;\r\n case \"height\":\r\n this.getStartDateBox().option(name, value);\r\n this.getEndDateBox().option(name, value);\r\n _Editor.prototype._optionChanged.call(this, args);\r\n break;\r\n case \"dropDownButtonTemplate\":\r\n case \"showDropDownButton\":\r\n this._updateButtons([\"dropDown\"]);\r\n break;\r\n case \"showClearButton\":\r\n this._updateButtons([\"clear\"]);\r\n break;\r\n case \"endDate\":\r\n this.updateValue([this.option(\"value\")[0], value]);\r\n break;\r\n case \"startDateLabel\":\r\n this._toggleEditorLabelClass();\r\n this.getStartDateBox().option(\"label\", value);\r\n break;\r\n case \"endDateLabel\":\r\n this._toggleEditorLabelClass();\r\n this.getEndDateBox().option(\"label\", value);\r\n break;\r\n case \"startDatePlaceholder\":\r\n this.getStartDateBox().option(\"placeholder\", value);\r\n break;\r\n case \"endDatePlaceholder\":\r\n this.getEndDateBox().option(\"placeholder\", value);\r\n break;\r\n case \"startDateInputAttr\":\r\n this.getStartDateBox().option(\"inputAttr\", value);\r\n break;\r\n case \"startDateName\":\r\n this.getStartDateBox().option(\"name\", value);\r\n break;\r\n case \"endDateInputAttr\":\r\n this.getEndDateBox().option(\"inputAttr\", value);\r\n break;\r\n case \"endDateName\":\r\n this.getEndDateBox().option(\"name\", value);\r\n break;\r\n case \"multiView\":\r\n this.getStartDateBox().option(\"calendarOptions.viewsCount\", value ? 2 : 1);\r\n break;\r\n case \"tabIndex\":\r\n case \"activeStateEnabled\":\r\n case \"focusStateEnabled\":\r\n case \"hoverStateEnabled\":\r\n _Editor.prototype._optionChanged.call(this, args);\r\n this.getStartDateBox().option(name, value);\r\n this.getEndDateBox().option(name, value);\r\n break;\r\n case \"onValueChanged\":\r\n this._createValueChangeAction();\r\n break;\r\n case \"onOpened\":\r\n this._createOpenAction();\r\n break;\r\n case \"onClosed\":\r\n this._createCloseAction();\r\n break;\r\n case \"onKeyDown\":\r\n case \"onKeyUp\":\r\n case \"onChange\":\r\n case \"onInput\":\r\n case \"onCut\":\r\n case \"onCopy\":\r\n case \"onPaste\":\r\n case \"onEnterKey\":\r\n this._createEventAction(name.replace(\"on\", \"\"));\r\n break;\r\n case \"readOnly\":\r\n case \"disabled\":\r\n this._updateButtons();\r\n _Editor.prototype._optionChanged.call(this, args);\r\n this.getStartDateBox().option(name, value);\r\n this.getEndDateBox().option(name, value);\r\n break;\r\n case \"disableOutOfRangeSelection\":\r\n break;\r\n case \"startDate\":\r\n this.updateValue([value, this.option(\"value\")[1]]);\r\n break;\r\n case \"stylingMode\":\r\n this._renderStylingMode();\r\n this.getStartDateBox().option(name, value);\r\n this.getEndDateBox().option(name, value);\r\n break;\r\n case \"startDateText\":\r\n case \"endDateText\":\r\n case \"useHiddenSubmitElement\":\r\n break;\r\n case \"invalidStartDateMessage\":\r\n this.getStartDateBox().option(\"invalidDateMessage\", value);\r\n break;\r\n case \"invalidEndDateMessage\":\r\n this.getEndDateBox().option(\"invalidDateMessage\", value);\r\n break;\r\n case \"startDateOutOfRangeMessage\":\r\n this.getStartDateBox().option(\"dateOutOfRangeMessage\", value);\r\n break;\r\n case \"endDateOutOfRangeMessage\":\r\n this.getEndDateBox().option(\"dateOutOfRangeMessage\", value);\r\n break;\r\n case \"validationMessagePosition\":\r\n this.getStartDateBox().option(name, value);\r\n _Editor.prototype._optionChanged.call(this, args);\r\n break;\r\n case \"_internalValidationErrors\":\r\n this._syncValidationErrors(\"validationErrors\", value, previousValue);\r\n var validationErrors = this.option(\"validationErrors\");\r\n this.option(\"isValid\", !(null !== validationErrors && void 0 !== validationErrors && validationErrors.length));\r\n break;\r\n case \"isValid\":\r\n this.getStartDateBox().option(name, value);\r\n this.getEndDateBox().option(name, value);\r\n var isValid = value && !this.option(\"_internalValidationErrors\").length;\r\n if (this._shouldSkipIsValidChange || isValid === value) {\r\n _Editor.prototype._optionChanged.call(this, args);\r\n return\r\n }\r\n this._shouldSkipIsValidChange = true;\r\n this.option(\"isValid\", isValid);\r\n this._shouldSkipIsValidChange = false;\r\n break;\r\n case \"validationErrors\":\r\n var internalValidationErrors = this.option(\"_internalValidationErrors\") || [];\r\n var allErrors = value || [];\r\n var externalErrors = this._getRestErrors(allErrors, internalValidationErrors);\r\n var errors = [].concat(_toConsumableArray(externalErrors), _toConsumableArray(internalValidationErrors));\r\n var newValue = errors.length ? errors : null;\r\n this._options.silent(\"validationErrors\", newValue);\r\n _Editor.prototype._optionChanged.call(this, _extends({}, args, {\r\n value: newValue\r\n }));\r\n break;\r\n case \"value\":\r\n var _newValue2 = (0, _uiDate_range.sortDatesArray)(value);\r\n if (!(0, _uiDate_range.isSameDateArrays)(_newValue2, previousValue)) {\r\n this._setOptionWithoutOptionChange(\"value\", _newValue2);\r\n this._setOptionWithoutOptionChange(\"startDate\", _newValue2[0]);\r\n this._setOptionWithoutOptionChange(\"endDate\", _newValue2[1]);\r\n this._applyCustomValidation(_newValue2);\r\n this._updateDateBoxesValue(_newValue2);\r\n this.getStartDateBox()._strategy.renderValue();\r\n this._toggleEmptinessState();\r\n this._raiseValueChangeAction(_newValue2, previousValue);\r\n this._saveValueChangeEvent(void 0)\r\n }\r\n break;\r\n case \"_currentSelection\":\r\n break;\r\n default:\r\n _Editor.prototype._optionChanged.call(this, args)\r\n }\r\n };\r\n _proto.getStartDateBox = function() {\r\n return this._startDateBox\r\n };\r\n _proto.getEndDateBox = function() {\r\n return this._endDateBox\r\n };\r\n _proto.getButton = function(name) {\r\n return this._buttonCollection.getButton(name)\r\n };\r\n _proto.open = function() {\r\n this.option(\"opened\", true)\r\n };\r\n _proto.close = function() {\r\n this.option(\"opened\", false)\r\n };\r\n _proto.content = function() {\r\n return this.getStartDateBox().content()\r\n };\r\n _proto.field = function() {\r\n return [this.startDateField(), this.endDateField()]\r\n };\r\n _proto.startDateField = function() {\r\n return this.getStartDateBox().field()\r\n };\r\n _proto.endDateField = function() {\r\n return this.getEndDateBox().field()\r\n };\r\n _proto.focus = function() {\r\n this.getStartDateBox().focus()\r\n };\r\n _proto.reset = function() {\r\n _Editor.prototype.reset.call(this);\r\n this.getEndDateBox().reset();\r\n this.getStartDateBox().reset()\r\n };\r\n return DateRangeBox\r\n}(_editor.default);\r\n(0, _component_registrator.default)(\"dxDateRangeBox\", DateRangeBox);\r\nvar _default = DateRangeBox;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/date_range_box/ui.multiselect_date_box.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _uiDate_box = _interopRequireDefault(require(\"../date_box/ui.date_box.mask\"));\r\nvar _rangeCalendar = _interopRequireDefault(require(\"./strategy/rangeCalendar\"));\r\nvar _utils = require(\"../../events/utils\");\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _uiDate_range = require(\"./ui.date_range.utils\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _slicedToArray(arr, i) {\r\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest()\r\n}\r\n\r\nfunction _nonIterableRest() {\r\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _unsupportedIterableToArray(o, minLen) {\r\n if (!o) {\r\n return\r\n }\r\n if (\"string\" === typeof o) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n var n = Object.prototype.toString.call(o).slice(8, -1);\r\n if (\"Object\" === n && o.constructor) {\r\n n = o.constructor.name\r\n }\r\n if (\"Map\" === n || \"Set\" === n) {\r\n return Array.from(o)\r\n }\r\n if (\"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n}\r\n\r\nfunction _arrayLikeToArray(arr, len) {\r\n if (null == len || len > arr.length) {\r\n len = arr.length\r\n }\r\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\r\n arr2[i] = arr[i]\r\n }\r\n return arr2\r\n}\r\n\r\nfunction _iterableToArrayLimit(arr, i) {\r\n var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"];\r\n if (null != _i) {\r\n var _s, _e, _x, _r, _arr = [],\r\n _n = !0,\r\n _d = !1;\r\n try {\r\n if (_x = (_i = _i.call(arr)).next, 0 === i) {\r\n if (Object(_i) !== _i) {\r\n return\r\n }\r\n _n = !1\r\n } else {\r\n for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) {}\r\n }\r\n } catch (err) {\r\n _d = !0, _e = err\r\n } finally {\r\n try {\r\n if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) {\r\n return\r\n }\r\n } finally {\r\n if (_d) {\r\n throw _e\r\n }\r\n }\r\n }\r\n return _arr\r\n }\r\n}\r\n\r\nfunction _arrayWithHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return arr\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar START_DATEBOX_CLASS = \"dx-start-datebox\";\r\nvar MultiselectDateBox = function(_DateBox) {\r\n _inheritsLoose(MultiselectDateBox, _DateBox);\r\n\r\n function MultiselectDateBox() {\r\n return _DateBox.apply(this, arguments) || this\r\n }\r\n var _proto = MultiselectDateBox.prototype;\r\n _proto._initStrategy = function() {\r\n this._strategy = new _rangeCalendar.default(this)\r\n };\r\n _proto._initMarkup = function() {\r\n _DateBox.prototype._initMarkup.call(this);\r\n this._renderInputClickEvent()\r\n };\r\n _proto._renderInputClickEvent = function() {\r\n var _this = this;\r\n var clickEventName = (0, _utils.addNamespace)(\"dxclick\", this.NAME);\r\n _events_engine.default.off(this._input(), clickEventName);\r\n _events_engine.default.on(this._input(), clickEventName, (function(e) {\r\n _this._processValueChange(e)\r\n }))\r\n };\r\n _proto._applyButtonHandler = function(_ref) {\r\n var event = _ref.event;\r\n var value = this._strategy.getValue();\r\n this._strategy.dateRangeBox.updateValue(value, event);\r\n this.close();\r\n this.option(\"focusStateEnabled\") && this.focus()\r\n };\r\n _proto._openHandler = function(e) {\r\n if (this._strategy.dateRangeBox.option(\"opened\")) {\r\n return\r\n }\r\n _DateBox.prototype._openHandler.call(this, e)\r\n };\r\n _proto._renderOpenedState = function() {\r\n var _this$option = this.option(),\r\n opened = _this$option.opened;\r\n this._getDateRangeBox().option(\"opened\", opened);\r\n if (this._isStartDateBox()) {\r\n if (opened) {\r\n this._createPopup()\r\n }\r\n this._getDateRangeBox()._popupContentIdentifier(this._getControlsAria());\r\n this._setPopupOption(\"visible\", opened);\r\n this._getDateRangeBox()._setAriaAttributes()\r\n }\r\n };\r\n _proto._getDateRangeBox = function() {\r\n return this._strategy.dateRangeBox\r\n };\r\n _proto._isStartDateBox = function() {\r\n return this.$element().hasClass(START_DATEBOX_CLASS)\r\n };\r\n _proto._renderPopup = function() {\r\n _DateBox.prototype._renderPopup.call(this);\r\n if (this._isStartDateBox()) {\r\n var dateRangeBox = this._strategy.dateRangeBox;\r\n dateRangeBox._bindInnerWidgetOptions(this._popup, \"dropDownOptions\")\r\n }\r\n };\r\n _proto._popupShownHandler = function() {\r\n var _this$_strategy$dateR;\r\n _DateBox.prototype._popupShownHandler.call(this);\r\n null === (_this$_strategy$dateR = this._strategy.dateRangeBox._validationMessage) || void 0 === _this$_strategy$dateR ? void 0 : _this$_strategy$dateR.option(\"positionSide\", this._getValidationMessagePositionSide())\r\n };\r\n _proto._popupHiddenHandler = function() {\r\n var _this$_strategy$dateR2;\r\n _DateBox.prototype._popupHiddenHandler.call(this);\r\n null === (_this$_strategy$dateR2 = this._strategy.dateRangeBox._validationMessage) || void 0 === _this$_strategy$dateR2 ? void 0 : _this$_strategy$dateR2.option(\"positionSide\", this._getValidationMessagePositionSide())\r\n };\r\n _proto._focusInHandler = function(e) {\r\n _DateBox.prototype._focusInHandler.call(this, e);\r\n this._processValueChange(e)\r\n };\r\n _proto._popupElementTabHandler = function(e) {\r\n var $element = (0, _renderer.default)(e.currentTarget);\r\n if (e.shiftKey && $element.is(this._getFirstPopupElement())) {\r\n this._strategy.dateRangeBox.getEndDateBox().focus();\r\n e.preventDefault()\r\n }\r\n if (!e.shiftKey && $element.is(this._getLastPopupElement())) {\r\n this._strategy.dateRangeBox.getStartDateBox().focus();\r\n e.preventDefault()\r\n }\r\n };\r\n _proto._processValueChange = function(e) {\r\n var target = e.target;\r\n var _this$_strategy$dateR3 = this._strategy.dateRangeBox.field(),\r\n _this$_strategy$dateR4 = _slicedToArray(_this$_strategy$dateR3, 2),\r\n startDateInput = _this$_strategy$dateR4[0],\r\n endDateInput = _this$_strategy$dateR4[1];\r\n if ((0, _renderer.default)(target).is(startDateInput)) {\r\n this._strategy.dateRangeBox.option(\"_currentSelection\", \"startDate\")\r\n }\r\n if ((0, _renderer.default)(target).is(endDateInput)) {\r\n this._strategy.dateRangeBox.option(\"_currentSelection\", \"endDate\")\r\n }\r\n if (!this._strategy.dateRangeBox.getStartDateBox()._strategy._widget) {\r\n return\r\n }\r\n var calendar = this._strategy.dateRangeBox.getStartDateBox()._strategy._widget;\r\n var value = calendar.option(\"values\");\r\n var startDate = (0, _uiDate_range.getDeserializedDate)(value[0]);\r\n var endDate = (0, _uiDate_range.getDeserializedDate)(value[1]);\r\n if ((0, _renderer.default)(target).is(startDateInput)) {\r\n if (startDate) {\r\n calendar._skipNavigate = true;\r\n calendar.option(\"currentDate\", startDate)\r\n }\r\n this._strategy.setActiveStartDateBox();\r\n calendar.option(\"_currentSelection\", \"startDate\");\r\n if (this._strategy.dateRangeBox.option(\"disableOutOfRangeSelection\")) {\r\n calendar._setViewsMaxOption(endDate)\r\n }\r\n }\r\n if ((0, _renderer.default)(target).is(endDateInput)) {\r\n if (endDate) {\r\n if (startDate && (0, _uiDate_range.monthDifference)(startDate, endDate) > 1) {\r\n calendar.option(\"currentDate\", calendar._getDateByOffset(null, endDate));\r\n calendar.option(\"currentDate\", calendar._getDateByOffset(-1, endDate))\r\n }\r\n calendar._skipNavigate = true;\r\n calendar.option(\"currentDate\", endDate)\r\n }\r\n this._strategy.dateRangeBox.getStartDateBox()._strategy.setActiveEndDateBox();\r\n calendar.option(\"_currentSelection\", \"endDate\");\r\n if (this._strategy.dateRangeBox.option(\"disableOutOfRangeSelection\")) {\r\n calendar._setViewsMinOption(startDate)\r\n }\r\n }\r\n };\r\n _proto._invalidate = function() {\r\n _DateBox.prototype._invalidate.call(this);\r\n this._refreshStrategy()\r\n };\r\n _proto._updateInternalValidationState = function(isValid, validationMessage) {\r\n this.option({\r\n isValid: isValid,\r\n validationError: isValid ? null : {\r\n message: validationMessage\r\n }\r\n })\r\n };\r\n _proto._recallInternalValidation = function(value) {\r\n this._applyInternalValidation(value)\r\n };\r\n _proto._isTargetOutOfComponent = function(target) {\r\n var $dateRangeBox = this._strategy.dateRangeBox.$element();\r\n var isTargetOutOfDateRangeBox = 0 === (0, _renderer.default)(target).closest($dateRangeBox).length;\r\n return _DateBox.prototype._isTargetOutOfComponent.call(this, target) && isTargetOutOfDateRangeBox\r\n };\r\n _proto._optionChanged = function(args) {\r\n switch (args.name) {\r\n case \"isValid\":\r\n var isValid = this._strategy.dateRangeBox.option(\"isValid\");\r\n if (this._skipIsValidOptionChange || isValid === args.value) {\r\n _DateBox.prototype._optionChanged.call(this, args);\r\n return\r\n }\r\n this._skipIsValidOptionChange = true;\r\n this.option({\r\n isValid: isValid\r\n });\r\n this._skipIsValidOptionChange = false;\r\n break;\r\n default:\r\n _DateBox.prototype._optionChanged.call(this, args)\r\n }\r\n };\r\n _proto.close = function() {\r\n this._strategy.getDateRangeBox().getStartDateBox().option(\"opened\", false)\r\n };\r\n return MultiselectDateBox\r\n}(_uiDate_box.default);\r\nvar _default = MultiselectDateBox;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/defer_rendering.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _transition_executor = require(\"../animation/transition_executor/transition_executor\");\r\nvar _component_registrator = _interopRequireDefault(require(\"../core/component_registrator\"));\r\nvar _dom_adapter = _interopRequireDefault(require(\"../core/dom_adapter\"));\r\nvar _renderer = _interopRequireDefault(require(\"../core/renderer\"));\r\nvar _common = require(\"../core/utils/common\");\r\nvar _deferred = require(\"../core/utils/deferred\");\r\nvar _extend = require(\"../core/utils/extend\");\r\nvar _iterator = require(\"../core/utils/iterator\");\r\nvar _type = require(\"../core/utils/type\");\r\nvar _window = require(\"../core/utils/window\");\r\nvar _events_engine = _interopRequireDefault(require(\"../events/core/events_engine\"));\r\nvar _visibility_change = require(\"../events/visibility_change\");\r\nvar _load_indicator = _interopRequireDefault(require(\"./load_indicator\"));\r\nvar _ui = _interopRequireDefault(require(\"./widget/ui.widget\"));\r\nvar _position = require(\"../core/utils/position\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar window = (0, _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 = _ui.default.inherit({\r\n _getDefaultOptions: function() {\r\n return (0, _extend.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 _transition_executor.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 = function() {\r\n return that._renderDeferredContent()\r\n };\r\n if ((0, _type.isPromise)(renderWhen)) {\r\n (0, _deferred.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 var _this = this;\r\n this._actions = {};\r\n (0, _iterator.each)(ACTIONS, (function(_, action) {\r\n _this._actions[action] = _this._createActionByOption(action) || _common.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 = function() {}\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.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 = (0, _common.executeAsync)((function() {\r\n that._renderImpl().done((function() {\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 = (0, _position.getBoundingRect)(element);\r\n return rect.bottom >= 0 && rect.right >= 0 && rect.top <= (window.innerHeight || _dom_adapter.default.getDocumentElement().clientHeight) && rect.left <= (window.innerWidth || _dom_adapter.default.getDocumentElement().clientWidth)\r\n },\r\n _animate: function() {\r\n var that = this;\r\n var $element = this.$element();\r\n var animation = (0, _window.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((0, _renderer.default)(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.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 _events_engine.default.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 _load_indicator.default((0, _renderer.default)(\"<div>\"), {\r\n visible: true\r\n }).$element().addClass(DEFER_DEFER_RENDERING_LOAD_INDICATOR);\r\n (0, _renderer.default)(\"<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 (0, _visibility_change.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\n(0, _component_registrator.default)(\"dxDeferRendering\", DeferRendering);\r\nvar _default = DeferRendering;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/diagram.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _ui = _interopRequireDefault(require(\"./diagram/ui.diagram\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar _default = _ui.default;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/diagram/diagram.bar.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _diagram = require(\"./diagram.importer\");\r\nvar DiagramBar = function() {\r\n function DiagramBar(owner) {\r\n var _getDiagram = (0, _diagram.getDiagram)(),\r\n EventDispatcher = _getDiagram.EventDispatcher;\r\n this.onChanged = new EventDispatcher;\r\n this._owner = owner\r\n }\r\n var _proto = DiagramBar.prototype;\r\n _proto.raiseBarCommandExecuted = function(key, parameter) {\r\n this.onChanged.raise(\"notifyBarCommandExecuted\", parseInt(key), parameter)\r\n };\r\n _proto.getCommandKeys = function() {\r\n throw \"Not Implemented\"\r\n };\r\n _proto.setItemValue = function(key, value) {};\r\n _proto.setItemEnabled = function(key, enabled) {};\r\n _proto.setItemVisible = function(key, enabled) {};\r\n _proto.setEnabled = function(enabled) {};\r\n _proto.setItemSubItems = function(key, items) {};\r\n _proto.isVisible = function() {\r\n return true\r\n };\r\n _proto._getKeys = function(items) {\r\n var _this = this;\r\n var keys = items.reduce((function(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 return DiagramBar\r\n}();\r\nvar _default = DiagramBar;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/diagram/diagram.commands_manager.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _diagram = require(\"./diagram.importer\");\r\nvar _file_saver = require(\"../../exporter/file_saver\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _window = require(\"../../core/utils/window\");\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _message = _interopRequireDefault(require(\"../../localization/message\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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 _this = this;\r\n var _getDiagram = (0, _diagram.getDiagram)(),\r\n DiagramCommand = _getDiagram.DiagramCommand;\r\n return this._allCommands || (this._allCommands = {\r\n separator: SEPARATOR_COMMAND,\r\n exportSvg: {\r\n command: DiagramCommand.ExportSvg,\r\n text: _message.default.format(\"dxDiagram-commandExportToSvg\"),\r\n getParameter: function(widget) {\r\n return function(dataURI) {\r\n return _this._exportTo(widget, dataURI, \"SVG\", \"image/svg+xml\")\r\n }\r\n }\r\n },\r\n exportPng: {\r\n command: DiagramCommand.ExportPng,\r\n text: _message.default.format(\"dxDiagram-commandExportToPng\"),\r\n getParameter: function(widget) {\r\n return function(dataURI) {\r\n return _this._exportTo(widget, dataURI, \"PNG\", \"image/png\")\r\n }\r\n }\r\n },\r\n exportJpg: {\r\n command: DiagramCommand.ExportJpg,\r\n text: _message.default.format(\"dxDiagram-commandExportToJpg\"),\r\n getParameter: function(widget) {\r\n return function(dataURI) {\r\n return _this._exportTo(widget, dataURI, \"JPEG\", \"image/jpeg\")\r\n }\r\n }\r\n },\r\n undo: {\r\n command: DiagramCommand.Undo,\r\n hint: _message.default.format(\"dxDiagram-commandUndo\"),\r\n text: _message.default.format(\"dxDiagram-commandUndo\"),\r\n icon: \"undo\",\r\n menuIcon: \"undo\"\r\n },\r\n redo: {\r\n command: DiagramCommand.Redo,\r\n hint: _message.default.format(\"dxDiagram-commandRedo\"),\r\n text: _message.default.format(\"dxDiagram-commandRedo\"),\r\n icon: \"redo\",\r\n menuIcon: \"redo\"\r\n },\r\n cut: {\r\n command: DiagramCommand.Cut,\r\n hint: _message.default.format(\"dxDiagram-commandCut\"),\r\n text: _message.default.format(\"dxDiagram-commandCut\"),\r\n icon: \"cut\",\r\n menuIcon: \"cut\"\r\n },\r\n copy: {\r\n command: DiagramCommand.Copy,\r\n hint: _message.default.format(\"dxDiagram-commandCopy\"),\r\n text: _message.default.format(\"dxDiagram-commandCopy\"),\r\n icon: \"copy\",\r\n menuIcon: \"copy\"\r\n },\r\n paste: {\r\n command: DiagramCommand.PasteInPosition,\r\n hint: _message.default.format(\"dxDiagram-commandPaste\"),\r\n text: _message.default.format(\"dxDiagram-commandPaste\"),\r\n icon: \"paste\",\r\n menuIcon: \"paste\"\r\n },\r\n selectAll: {\r\n command: DiagramCommand.SelectAll,\r\n hint: _message.default.format(\"dxDiagram-commandSelectAll\"),\r\n text: _message.default.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: _message.default.format(\"dxDiagram-commandDelete\"),\r\n text: _message.default.format(\"dxDiagram-commandDelete\"),\r\n icon: \"remove\",\r\n menuIcon: \"remove\"\r\n },\r\n fontName: {\r\n command: DiagramCommand.FontName,\r\n hint: _message.default.format(\"dxDiagram-commandFontName\"),\r\n text: _message.default.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((function(item) {\r\n return {\r\n text: item,\r\n value: item\r\n }\r\n })),\r\n cssClass: CSS_CLASSES.MEDIUM_EDITOR_ITEM\r\n },\r\n fontSize: {\r\n command: DiagramCommand.FontSize,\r\n hint: _message.default.format(\"dxDiagram-commandFontSize\"),\r\n text: _message.default.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((function(item) {\r\n return {\r\n text: item + \"pt\",\r\n value: item + \"pt\"\r\n }\r\n })),\r\n cssClass: CSS_CLASSES.SMALL_EDITOR_ITEM\r\n },\r\n bold: {\r\n command: DiagramCommand.Bold,\r\n hint: _message.default.format(\"dxDiagram-commandBold\"),\r\n text: _message.default.format(\"dxDiagram-commandBold\"),\r\n icon: \"bold\",\r\n menuIcon: \"bold\"\r\n },\r\n italic: {\r\n command: DiagramCommand.Italic,\r\n hint: _message.default.format(\"dxDiagram-commandItalic\"),\r\n text: _message.default.format(\"dxDiagram-commandItalic\"),\r\n icon: \"italic\",\r\n menuIcon: \"italic\"\r\n },\r\n underline: {\r\n command: DiagramCommand.Underline,\r\n hint: _message.default.format(\"dxDiagram-commandUnderline\"),\r\n text: _message.default.format(\"dxDiagram-commandUnderline\"),\r\n icon: \"underline\",\r\n menuIcon: \"underline\"\r\n },\r\n fontColor: {\r\n command: DiagramCommand.FontColor,\r\n text: _message.default.format(\"dxDiagram-commandTextColor\"),\r\n hint: _message.default.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: _message.default.format(\"dxDiagram-commandLineColor\"),\r\n hint: _message.default.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: _message.default.format(\"dxDiagram-commandLineWidth\"),\r\n hint: _message.default.format(\"dxDiagram-commandLineWidth\"),\r\n widget: \"dxSelectBox\",\r\n items: [1, 2, 3, 4, 5, 6, 7, 8].map((function(item) {\r\n return {\r\n text: item + \"px\",\r\n value: item.toString()\r\n }\r\n })),\r\n cssClass: CSS_CLASSES.SMALL_EDITOR_ITEM\r\n },\r\n lineStyle: {\r\n command: DiagramCommand.StrokeStyle,\r\n text: _message.default.format(\"dxDiagram-commandLineStyle\"),\r\n hint: _message.default.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: _message.default.format(\"dxDiagram-commandLineStyleSolid\")\r\n }, {\r\n value: \"2,2\",\r\n menuIcon: \"dx-diagram-i-line-dotted dx-diagram-i\",\r\n hint: _message.default.format(\"dxDiagram-commandLineStyleDotted\")\r\n }, {\r\n value: \"6,2\",\r\n menuIcon: \"dx-diagram-i-line-dashed dx-diagram-i\",\r\n hint: _message.default.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: _message.default.format(\"dxDiagram-commandFillColor\"),\r\n hint: _message.default.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: _message.default.format(\"dxDiagram-commandAlignLeft\"),\r\n text: _message.default.format(\"dxDiagram-commandAlignLeft\"),\r\n icon: \"alignleft\",\r\n menuIcon: \"alignleft\"\r\n },\r\n textAlignCenter: {\r\n command: DiagramCommand.TextCenterAlign,\r\n hint: _message.default.format(\"dxDiagram-commandAlignCenter\"),\r\n text: _message.default.format(\"dxDiagram-commandAlignCenter\"),\r\n icon: \"aligncenter\",\r\n menuIcon: \"aligncenter\"\r\n },\r\n textAlignRight: {\r\n command: DiagramCommand.TextRightAlign,\r\n hint: _message.default.format(\"dxDiagram-commandAlignRight\"),\r\n text: _message.default.format(\"dxDiagram-commandAlignRight\"),\r\n icon: \"alignright\",\r\n menuIcon: \"alignright\"\r\n },\r\n lock: {\r\n command: DiagramCommand.Lock,\r\n hint: _message.default.format(\"dxDiagram-commandLock\"),\r\n text: _message.default.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: _message.default.format(\"dxDiagram-commandUnlock\"),\r\n text: _message.default.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: _message.default.format(\"dxDiagram-commandBringToFront\"),\r\n text: _message.default.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: _message.default.format(\"dxDiagram-commandSendToBack\"),\r\n text: _message.default.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: _message.default.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: _message.default.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: _message.default.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: _message.default.format(\"dxDiagram-commandConnectorLineType\"),\r\n text: _message.default.format(\"dxDiagram-commandConnectorLineType\"),\r\n items: [{\r\n value: 0,\r\n menuIcon: \"dx-diagram-i-connector-straight dx-diagram-i\",\r\n hint: _message.default.format(\"dxDiagram-commandConnectorLineStraight\"),\r\n text: _message.default.format(\"dxDiagram-commandConnectorLineStraight\")\r\n }, {\r\n value: 1,\r\n menuIcon: \"dx-diagram-i-connector-orthogonal dx-diagram-i\",\r\n hint: _message.default.format(\"dxDiagram-commandConnectorLineOrthogonal\"),\r\n text: _message.default.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: _message.default.format(\"dxDiagram-commandConnectorLineNone\"),\r\n text: _message.default.format(\"dxDiagram-commandConnectorLineNone\")\r\n }, {\r\n value: 1,\r\n menuIcon: \"dx-diagram-i-connector-begin-arrow dx-diagram-i\",\r\n hint: _message.default.format(\"dxDiagram-commandConnectorLineArrow\"),\r\n text: _message.default.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: _message.default.format(\"dxDiagram-commandConnectorLineArrow\"),\r\n text: _message.default.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: _message.default.format(\"dxDiagram-commandConnectorLineArrow\"),\r\n text: _message.default.format(\"dxDiagram-commandConnectorLineArrow\")\r\n }],\r\n hint: _message.default.format(\"dxDiagram-commandConnectorLineStart\"),\r\n text: _message.default.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: _message.default.format(\"dxDiagram-commandConnectorLineNone\"),\r\n text: _message.default.format(\"dxDiagram-commandConnectorLineNone\")\r\n }, {\r\n value: 1,\r\n menuIcon: \"dx-diagram-i-connector-end-arrow dx-diagram-i\",\r\n hint: _message.default.format(\"dxDiagram-commandConnectorLineArrow\"),\r\n text: _message.default.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: _message.default.format(\"dxDiagram-commandConnectorLineArrow\"),\r\n text: _message.default.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: _message.default.format(\"dxDiagram-commandConnectorLineArrow\"),\r\n text: _message.default.format(\"dxDiagram-commandConnectorLineArrow\")\r\n }],\r\n hint: _message.default.format(\"dxDiagram-commandConnectorLineEnd\"),\r\n text: _message.default.format(\"dxDiagram-commandConnectorLineEnd\"),\r\n cssClass: CSS_CLASSES.IMAGE_DROPDOWN_ITEM\r\n },\r\n layoutTreeTopToBottom: {\r\n command: DiagramCommand.AutoLayoutTreeVertical,\r\n text: _message.default.format(\"dxDiagram-commandLayoutTopToBottom\"),\r\n hint: _message.default.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: _message.default.format(\"dxDiagram-commandLayoutBottomToTop\"),\r\n hint: _message.default.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: _message.default.format(\"dxDiagram-commandLayoutLeftToRight\"),\r\n hint: _message.default.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: _message.default.format(\"dxDiagram-commandLayoutRightToLeft\"),\r\n hint: _message.default.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: _message.default.format(\"dxDiagram-commandLayoutTopToBottom\"),\r\n hint: _message.default.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: _message.default.format(\"dxDiagram-commandLayoutBottomToTop\"),\r\n hint: _message.default.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: _message.default.format(\"dxDiagram-commandLayoutLeftToRight\"),\r\n hint: _message.default.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: _message.default.format(\"dxDiagram-commandLayoutRightToLeft\"),\r\n hint: _message.default.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: _message.default.format(\"dxDiagram-commandFullscreen\"),\r\n text: _message.default.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: _message.default.format(\"dxDiagram-commandUnits\"),\r\n text: _message.default.format(\"dxDiagram-commandUnits\"),\r\n widget: \"dxSelectBox\"\r\n },\r\n simpleView: {\r\n command: DiagramCommand.ToggleSimpleView,\r\n hint: _message.default.format(\"dxDiagram-commandSimpleView\"),\r\n text: _message.default.format(\"dxDiagram-commandSimpleView\"),\r\n widget: \"dxCheckBox\"\r\n },\r\n showGrid: {\r\n command: DiagramCommand.ShowGrid,\r\n hint: _message.default.format(\"dxDiagram-commandShowGrid\"),\r\n text: _message.default.format(\"dxDiagram-commandShowGrid\"),\r\n widget: \"dxCheckBox\"\r\n },\r\n snapToGrid: {\r\n command: DiagramCommand.SnapToGrid,\r\n hint: _message.default.format(\"dxDiagram-commandSnapToGrid\"),\r\n text: _message.default.format(\"dxDiagram-commandSnapToGrid\"),\r\n widget: \"dxCheckBox\"\r\n },\r\n gridSize: {\r\n command: DiagramCommand.GridSize,\r\n hint: _message.default.format(\"dxDiagram-commandGridSize\"),\r\n text: _message.default.format(\"dxDiagram-commandGridSize\"),\r\n widget: \"dxSelectBox\"\r\n },\r\n pageSize: {\r\n command: DiagramCommand.PageSize,\r\n hint: _message.default.format(\"dxDiagram-commandPageSize\"),\r\n text: _message.default.format(\"dxDiagram-commandPageSize\"),\r\n widget: \"dxSelectBox\",\r\n cssClass: CSS_CLASSES.LARGE_EDITOR_ITEM,\r\n getCommandValue: function(v) {\r\n return JSON.parse(v)\r\n },\r\n getEditorValue: function(v) {\r\n return JSON.stringify(v)\r\n }\r\n },\r\n pageOrientation: {\r\n command: DiagramCommand.PageLandscape,\r\n hint: _message.default.format(\"dxDiagram-commandPageOrientation\"),\r\n text: _message.default.format(\"dxDiagram-commandPageOrientation\"),\r\n widget: \"dxSelectBox\",\r\n items: [{\r\n value: true,\r\n text: _message.default.format(\"dxDiagram-commandPageOrientationLandscape\")\r\n }, {\r\n value: false,\r\n text: _message.default.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: _message.default.format(\"dxDiagram-commandPageColor\"),\r\n text: _message.default.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: _message.default.format(\"dxDiagram-commandZoomLevel\"),\r\n text: _message.default.format(\"dxDiagram-commandZoomLevel\"),\r\n widget: \"dxTextBox\",\r\n items: [SEPARATOR_COMMAND, {\r\n command: DiagramCommand.FitToScreen,\r\n hint: _message.default.format(\"dxDiagram-commandFitToContent\"),\r\n text: _message.default.format(\"dxDiagram-commandFitToContent\")\r\n }, {\r\n command: DiagramCommand.FitToWidth,\r\n hint: _message.default.format(\"dxDiagram-commandFitToWidth\"),\r\n text: _message.default.format(\"dxDiagram-commandFitToWidth\")\r\n }, SEPARATOR_COMMAND, {\r\n command: DiagramCommand.AutoZoomToContent,\r\n hint: _message.default.format(\"dxDiagram-commandAutoZoomByContent\"),\r\n text: _message.default.format(\"dxDiagram-commandAutoZoomByContent\")\r\n }, {\r\n command: DiagramCommand.AutoZoomToWidth,\r\n hint: _message.default.format(\"dxDiagram-commandAutoZoomByWidth\"),\r\n text: _message.default.format(\"dxDiagram-commandAutoZoomByWidth\")\r\n }],\r\n getEditorDisplayValue: function(v) {\r\n return Math.round(100 * v) + \"%\"\r\n },\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: _message.default.format(\"dxDiagram-uiShowToolbox\"),\r\n text: _message.default.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: _message.default.format(\"dxDiagram-uiProperties\"),\r\n text: _message.default.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: _message.default.format(\"dxDiagram-uiLayout\"),\r\n showText: \"always\",\r\n items: [{\r\n text: _message.default.format(\"dxDiagram-uiLayoutTree\"),\r\n items: [allCommands.layoutTreeTopToBottom, allCommands.layoutTreeBottomToTop, allCommands.layoutTreeLeftToRight, allCommands.layoutTreeRightToLeft]\r\n }, {\r\n text: _message.default.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: _message.default.format(\"dxDiagram-uiExport\"),\r\n hint: _message.default.format(\"dxDiagram-uiExport\"),\r\n items: [allCommands.exportSvg, allCommands.exportPng, allCommands.exportJpg]\r\n }, {\r\n icon: \"preferences\",\r\n hint: _message.default.format(\"dxDiagram-uiSettings\"),\r\n text: _message.default.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: _message.default.format(\"dxDiagram-uiStyle\"),\r\n groups: [{\r\n title: _message.default.format(\"dxDiagram-uiText\"),\r\n commands: [\"fontName\", \"fontSize\", \"bold\", \"italic\", \"underline\", \"textAlignLeft\", \"textAlignCenter\", \"textAlignRight\", \"fontColor\"]\r\n }, {\r\n title: _message.default.format(\"dxDiagram-uiObject\"),\r\n commands: [\"lineStyle\", \"lineWidth\", \"lineColor\", \"fillColor\"]\r\n }, {\r\n title: _message.default.format(\"dxDiagram-uiConnector\"),\r\n commands: [\"connectorLineType\", \"connectorLineStart\", \"connectorLineEnd\"]\r\n }]\r\n }, {\r\n title: _message.default.format(\"dxDiagram-uiLayout\"),\r\n groups: [{\r\n title: _message.default.format(\"dxDiagram-uiLayoutLayered\"),\r\n commands: [\"layoutLayeredTopToBottom\", \"layoutLayeredBottomToTop\", \"layoutLayeredLeftToRight\", \"layoutLayeredRightToLeft\"]\r\n }, {\r\n title: _message.default.format(\"dxDiagram-uiLayoutTree\"),\r\n commands: [\"layoutTreeTopToBottom\", \"layoutTreeBottomToTop\", \"layoutTreeLeftToRight\", \"layoutTreeRightToLeft\"]\r\n }]\r\n }, {\r\n title: _message.default.format(\"dxDiagram-uiDiagram\"),\r\n groups: [{\r\n title: _message.default.format(\"dxDiagram-uiPage\"),\r\n commands: [\"pageSize\", \"pageOrientation\", \"pageColor\"]\r\n }]\r\n }])\r\n },\r\n _preparePropertyPanelGroups: function(groups) {\r\n var _this2 = this;\r\n var allCommands = this.getAllCommands();\r\n var result = [];\r\n groups.forEach((function(g) {\r\n var commands = g.commands;\r\n if (commands) {\r\n commands = _this2._getPreparedCommands(allCommands, commands);\r\n commands = _this2._prepareToolbarCommands(commands)\r\n }\r\n var subGroups;\r\n if (g.groups) {\r\n subGroups = [];\r\n g.groups.forEach((function(sg) {\r\n var subCommands = sg.commands;\r\n if (subCommands) {\r\n subCommands = _this2._getPreparedCommands(allCommands, subCommands);\r\n subCommands = _this2._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: function(allCommands, commands) {\r\n var _this3 = this;\r\n return commands.map((function(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 = _this3._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((function(c) {\r\n return c\r\n }))\r\n },\r\n _prepareContextMenuCommands: function(commands, excludeCommands, rootCommand) {\r\n var _this4 = this;\r\n var beginGroup = false;\r\n return commands.map((function(c) {\r\n if (!_this4._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 = _this4._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((function(c) {\r\n return c\r\n }))\r\n },\r\n _prepareToolbarCommands: function(commands, excludeCommands) {\r\n var _this5 = this;\r\n return commands.map((function(c) {\r\n if (_this5._isValidCommand(c, excludeCommands)) {\r\n return _this5._cloneCommand(c, excludeCommands)\r\n }\r\n })).filter((function(c) {\r\n return c\r\n })).filter((function(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: function(c, excludeCommands) {\r\n var command = (0, _extend.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: function(c, excludeCommands) {\r\n excludeCommands = excludeCommands || [];\r\n return -1 === excludeCommands.indexOf(c.command)\r\n },\r\n _exportTo: function(widget, dataURI, format, mimeString) {\r\n var window = (0, _window.getWindow)();\r\n if (window && window.atob && (0, _type.isFunction)(window.Blob)) {\r\n var blob = this._getBlobByDataURI(window, dataURI, mimeString);\r\n var options = widget.option(\"export\");\r\n _file_saver.fileSaver.saveAs(options.fileName || \"foo\", format, blob)\r\n }\r\n },\r\n _getBlobByDataURI: function(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\nvar _default = DiagramCommandsManager;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/diagram/diagram.edges_option.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _diagram = _interopRequireDefault(require(\"./diagram.items_option\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar EdgesOption = function(_ItemsOption) {\r\n _inheritsLoose(EdgesOption, _ItemsOption);\r\n\r\n function EdgesOption() {\r\n return _ItemsOption.apply(this, arguments) || this\r\n }\r\n var _proto = EdgesOption.prototype;\r\n _proto._getKeyExpr = function() {\r\n return this._diagramWidget._createOptionGetter(\"edges.keyExpr\")\r\n };\r\n return EdgesOption\r\n}(_diagram.default);\r\nvar _default = EdgesOption;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/diagram/diagram.importer.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.getDiagram = getDiagram;\r\nvar _ui = _interopRequireDefault(require(\"../widget/ui.errors\"));\r\nvar Diagram = _interopRequireWildcard(require(\"devexpress-diagram\"));\r\n\r\nfunction _getRequireWildcardCache(nodeInterop) {\r\n if (\"function\" !== typeof WeakMap) {\r\n return null\r\n }\r\n var cacheBabelInterop = new WeakMap;\r\n var cacheNodeInterop = new WeakMap;\r\n return (_getRequireWildcardCache = function(nodeInterop) {\r\n return nodeInterop ? cacheNodeInterop : cacheBabelInterop\r\n })(nodeInterop)\r\n}\r\n\r\nfunction _interopRequireWildcard(obj, nodeInterop) {\r\n if (!nodeInterop && obj && obj.__esModule) {\r\n return obj\r\n }\r\n if (null === obj || \"object\" !== _typeof(obj) && \"function\" !== typeof obj) {\r\n return {\r\n default: obj\r\n }\r\n }\r\n var cache = _getRequireWildcardCache(nodeInterop);\r\n if (cache && cache.has(obj)) {\r\n return cache.get(obj)\r\n }\r\n var newObj = {};\r\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\r\n for (var key in obj) {\r\n if (\"default\" !== key && Object.prototype.hasOwnProperty.call(obj, key)) {\r\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\r\n if (desc && (desc.get || desc.set)) {\r\n Object.defineProperty(newObj, key, desc)\r\n } else {\r\n newObj[key] = obj[key]\r\n }\r\n }\r\n }\r\n newObj.default = obj;\r\n if (cache) {\r\n cache.set(obj, newObj)\r\n }\r\n return newObj\r\n}\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction getDiagram() {\r\n if (!Diagram.default) {\r\n throw _ui.default.Error(\"E1041\", \"devexpress-diagram\")\r\n }\r\n return Diagram\r\n}\r\n","/**\r\n * DevExtreme (cjs/ui/diagram/diagram.items_option.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _component = require(\"../../core/component\");\r\nvar _data_helper = _interopRequireDefault(require(\"../../data_helper\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar ItemsOptionBase = _component.Component.inherit({}).include(_data_helper.default);\r\nvar ItemsOption = function(_ItemsOptionBase) {\r\n _inheritsLoose(ItemsOption, _ItemsOptionBase);\r\n\r\n function ItemsOption(diagramWidget) {\r\n var _this;\r\n _this = _ItemsOptionBase.call(this) || this;\r\n _this._diagramWidget = diagramWidget;\r\n _this._resetCache();\r\n return _this\r\n }\r\n var _proto = ItemsOption.prototype;\r\n _proto._dataSourceChangedHandler = function(newItems, e) {\r\n this._resetCache();\r\n this._items = newItems.map((function(item) {\r\n return (0, _extend.extend)(true, {}, item)\r\n }));\r\n this._dataSourceItems = newItems.slice();\r\n if (e && e.changes) {\r\n var internalChanges = e.changes.filter((function(change) {\r\n return change.internalChange\r\n }));\r\n var externalChanges = e.changes.filter((function(change) {\r\n return !change.internalChange\r\n }));\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 _proto._dataSourceLoadingChangedHandler = function(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 _proto._prepareData = function(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 _proto.insert = function(data, callback, errorCallback) {\r\n var _this2 = this;\r\n this._resetCache();\r\n var store = this._getStore();\r\n store.insert(this._prepareData(data)).done((function(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 _this2._resetCache()\r\n })).fail((function(error) {\r\n if (errorCallback) {\r\n errorCallback(error)\r\n }\r\n _this2._resetCache()\r\n }))\r\n };\r\n _proto.update = function(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((function(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((function(error) {\r\n if (errorCallback) {\r\n errorCallback(error)\r\n }\r\n }))\r\n };\r\n _proto.remove = function(key, data, callback, errorCallback) {\r\n var _this3 = this;\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((function(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 _this3._resetCache()\r\n })).fail((function(error) {\r\n if (errorCallback) {\r\n errorCallback(error)\r\n }\r\n _this3._resetCache()\r\n }))\r\n };\r\n _proto.findItem = function(itemKey) {\r\n if (!this._items) {\r\n return null\r\n }\r\n return this._getItemByKey(itemKey)\r\n };\r\n _proto.getItems = function() {\r\n return this._items\r\n };\r\n _proto.hasItems = function() {\r\n return !!this._items\r\n };\r\n _proto._reloadContentByChanges = function(changes, isExternalChanges) {\r\n var _this4 = this;\r\n changes = changes.map((function(change) {\r\n return (0, _extend.extend)(change, {\r\n internalKey: _this4._getInternalKey(change.key)\r\n })\r\n }));\r\n this._diagramWidget._reloadContentByChanges(changes, isExternalChanges)\r\n };\r\n _proto._getItemByKey = function(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 _proto._getIndexByKey = function(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((function(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 _proto._ensureCache = function() {\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 _proto._fillCache = function(cache, items) {\r\n var _this5 = this;\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((function(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((function(item) {\r\n return _this5._fillCache(cache, itemsExpr(item))\r\n }))\r\n }\r\n var containerChildrenExpr = this._getContainerChildrenExpr();\r\n if (containerChildrenExpr) {\r\n items.forEach((function(item) {\r\n return _this5._fillCache(cache, containerChildrenExpr(item))\r\n }))\r\n }\r\n };\r\n _proto._getKeyExpr = function() {\r\n throw \"Not Implemented\"\r\n };\r\n _proto._getItemsExpr = function() {};\r\n _proto._getContainerChildrenExpr = function() {};\r\n _proto._initDataSource = function() {\r\n _ItemsOptionBase.prototype._initDataSource.call(this);\r\n this._dataSource && this._dataSource.paginate(false)\r\n };\r\n _proto._dataSourceOptions = function() {\r\n return {\r\n paginate: false\r\n }\r\n };\r\n _proto._getStore = function() {\r\n return this._dataSource && this._dataSource.store()\r\n };\r\n _proto._getStoreKey = function(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((function(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 _proto._getInternalKey = function(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 _proto._resetCache = function() {\r\n this._cache = {}\r\n };\r\n return ItemsOption\r\n}(ItemsOptionBase);\r\nvar _default = ItemsOption;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/diagram/diagram.nodes_option.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _diagram = _interopRequireDefault(require(\"./diagram.items_option\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar NodesOption = function(_ItemsOption) {\r\n _inheritsLoose(NodesOption, _ItemsOption);\r\n\r\n function NodesOption() {\r\n return _ItemsOption.apply(this, arguments) || this\r\n }\r\n var _proto = NodesOption.prototype;\r\n _proto._getKeyExpr = function() {\r\n return this._diagramWidget._createOptionGetter(\"nodes.keyExpr\")\r\n };\r\n _proto._getItemsExpr = function() {\r\n return this._diagramWidget._createOptionGetter(\"nodes.itemsExpr\")\r\n };\r\n _proto._getContainerChildrenExpr = function() {\r\n return this._diagramWidget._createOptionGetter(\"nodes.containerChildrenExpr\")\r\n };\r\n return NodesOption\r\n}(_diagram.default);\r\nvar _default = NodesOption;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/diagram/diagram.options_update.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _diagram = _interopRequireDefault(require(\"./diagram.bar\"));\r\nvar _diagram2 = require(\"./diagram.importer\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar DiagramOptionsUpdateBar = function(_DiagramBar) {\r\n _inheritsLoose(DiagramOptionsUpdateBar, _DiagramBar);\r\n\r\n function DiagramOptionsUpdateBar(owner) {\r\n var _this;\r\n _this = _DiagramBar.call(this, owner) || this;\r\n var _getDiagram = (0, _diagram2.getDiagram)(),\r\n DiagramCommand = _getDiagram.DiagramCommand;\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 _getDiagram2 = (0, _diagram2.getDiagram)(),\r\n AutoZoomMode = _getDiagram2.AutoZoomMode;\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 _getDiagram3 = (0, _diagram2.getDiagram)(),\r\n DiagramUnit = _getDiagram3.DiagramUnit;\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 return _this\r\n }\r\n var _proto = DiagramOptionsUpdateBar.prototype;\r\n _proto.getCommandKeys = function() {\r\n return Object.keys(this.commandOptions).map((function(key) {\r\n return parseInt(key)\r\n }))\r\n };\r\n _proto.setItemValue = function(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 _proto.beginUpdate = function() {\r\n this._updateLock++\r\n };\r\n _proto.endUpdate = function() {\r\n this._updateLock--\r\n };\r\n _proto.isUpdateLocked = function() {\r\n return this._updateLock > 0\r\n };\r\n _proto._getOption = function(name) {\r\n return this._owner.option(name)\r\n };\r\n _proto._setOption = function(name, value) {\r\n this._owner.option(name, value)\r\n };\r\n return DiagramOptionsUpdateBar\r\n}(_diagram.default);\r\nvar _default = DiagramOptionsUpdateBar;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/diagram/diagram.toolbox_manager.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _message = _interopRequireDefault(require(\"../../localization/message\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar DiagramToolboxManager = {\r\n getDefaultGroups: function() {\r\n return this._groups || (this._groups = {\r\n general: {\r\n category: \"general\",\r\n title: _message.default.format(\"dxDiagram-categoryGeneral\")\r\n },\r\n flowchart: {\r\n category: \"flowchart\",\r\n title: _message.default.format(\"dxDiagram-categoryFlowchart\")\r\n },\r\n orgChart: {\r\n category: \"orgChart\",\r\n title: _message.default.format(\"dxDiagram-categoryOrgChart\")\r\n },\r\n containers: {\r\n category: \"containers\",\r\n title: _message.default.format(\"dxDiagram-categoryContainers\")\r\n },\r\n custom: {\r\n category: \"custom\",\r\n title: _message.default.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\nvar _default = DiagramToolboxManager;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/diagram/ui.diagram.context_menu.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _ui = _interopRequireDefault(require(\"../widget/ui.widget\"));\r\nvar _context_menu = _interopRequireDefault(require(\"../context_menu\"));\r\nvar _diagram = _interopRequireDefault(require(\"./diagram.commands_manager\"));\r\nvar _uiDiagram = _interopRequireDefault(require(\"./ui.diagram.menu_helper\"));\r\nvar _diagram2 = _interopRequireDefault(require(\"./diagram.bar\"));\r\nvar _diagram3 = require(\"./diagram.importer\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\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\nvar DiagramContextMenuWrapper = function(_Widget) {\r\n _inheritsLoose(DiagramContextMenuWrapper, _Widget);\r\n\r\n function DiagramContextMenuWrapper() {\r\n return _Widget.apply(this, arguments) || this\r\n }\r\n var _proto = DiagramContextMenuWrapper.prototype;\r\n _proto._init = function() {\r\n _Widget.prototype._init.call(this);\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 _proto._initMarkup = function() {\r\n var _this = this;\r\n _Widget.prototype._initMarkup.call(this);\r\n this._commands = this._getCommands();\r\n this._commandToIndexMap = {};\r\n this._fillCommandToIndexMap(this._commands, []);\r\n this._$contextMenuTargetElement = (0, _renderer.default)(\"<div>\").addClass(DIAGRAM_TOUCHBAR_TARGET_CLASS).appendTo(this.$element());\r\n var $contextMenu = (0, _renderer.default)(\"<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 : _uiDiagram.default.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 _uiDiagram.default.getContextMenuItemTemplate(this, itemData, itemIndex, itemElement)\r\n },\r\n onItemClick: function(_ref) {\r\n var itemData = _ref.itemData;\r\n return _this._onItemClick(itemData)\r\n },\r\n onShowing: function(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 _proto._show = function(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 _proto._hide = function() {\r\n this._$contextMenuTargetElement.hide();\r\n this._contextMenuInstance.hide()\r\n };\r\n _proto._isTouchBarMode = function() {\r\n var _getDiagram = (0, _diagram3.getDiagram)(),\r\n Browser = _getDiagram.Browser;\r\n return Browser.TouchUI\r\n };\r\n _proto._onItemClick = function(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 _uiDiagram.default.onContextMenuItemClick(this, itemData, this._executeCommand.bind(this));\r\n this._contextMenuInstance.hide()\r\n }\r\n };\r\n _proto._executeCommand = function(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 _proto._createOnInternalCommand = function() {\r\n this._onInternalCommandAction = this._createActionByOption(\"onInternalCommand\")\r\n };\r\n _proto._createOnCustomCommand = function() {\r\n this._onCustomCommandAction = this._createActionByOption(\"onCustomCommand\")\r\n };\r\n _proto._getCommands = function() {\r\n return _diagram.default.getContextMenuCommands(this.option(\"commands\"))\r\n };\r\n _proto._fillCommandToIndexMap = function(commands, indexPath) {\r\n var _this2 = this;\r\n commands.forEach((function(command, index) {\r\n var commandIndexPath = indexPath.concat([index]);\r\n if (void 0 !== command.command) {\r\n _this2._commandToIndexMap[command.command] = commandIndexPath\r\n }\r\n if (Array.isArray(command.items)) {\r\n _this2._fillCommandToIndexMap(command.items, commandIndexPath)\r\n }\r\n }))\r\n };\r\n _proto._setItemEnabled = function(key, enabled) {\r\n this._setItemVisible(key, enabled)\r\n };\r\n _proto._setItemVisible = function(key, visible) {\r\n var itemOptionText = _uiDiagram.default.getItemOptionText(this._contextMenuInstance, this._commandToIndexMap[key]);\r\n _uiDiagram.default.updateContextMenuItemVisible(this._contextMenuInstance, itemOptionText, visible)\r\n };\r\n _proto._setItemValue = function(key, value) {\r\n var itemOptionText = _uiDiagram.default.getItemOptionText(this._contextMenuInstance, this._commandToIndexMap[key]);\r\n _uiDiagram.default.updateContextMenuItemValue(this._contextMenuInstance, itemOptionText, key, value)\r\n };\r\n _proto._setItemSubItems = function(key, items) {\r\n var itemOptionText = _uiDiagram.default.getItemOptionText(this._contextMenuInstance, this._commandToIndexMap[key]);\r\n _uiDiagram.default.updateContextMenuItems(this._contextMenuInstance, itemOptionText, key, items)\r\n };\r\n _proto._setEnabled = function(enabled) {\r\n this._contextMenuInstance.option(\"disabled\", !enabled)\r\n };\r\n _proto.isVisible = function() {\r\n return this._inOnShowing\r\n };\r\n _proto._createOnVisibilityChangingAction = function() {\r\n this._onVisibilityChangingAction = this._createActionByOption(\"onVisibilityChanging\")\r\n };\r\n _proto._createOnItemClickAction = function() {\r\n this._onItemClickAction = this._createActionByOption(\"onItemClick\")\r\n };\r\n _proto._optionChanged = function(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 _Widget.prototype._optionChanged.call(this, args)\r\n }\r\n };\r\n return DiagramContextMenuWrapper\r\n}(_ui.default);\r\nvar DiagramContextMenu = function(_ContextMenu) {\r\n _inheritsLoose(DiagramContextMenu, _ContextMenu);\r\n\r\n function DiagramContextMenu() {\r\n return _ContextMenu.apply(this, arguments) || this\r\n }\r\n var _proto2 = DiagramContextMenu.prototype;\r\n _proto2._renderContextMenuOverlay = function() {\r\n var _this3 = this;\r\n _ContextMenu.prototype._renderContextMenuOverlay.call(this);\r\n if (this._overlay && this.option(\"isTouchBarMode\")) {\r\n this._overlay && this._overlay.option(\"onShown\", (function() {\r\n var $content = (0, _renderer.default)(_this3._overlay.$content());\r\n $content.parent().addClass(DIAGRAM_TOUCHBAR_OVERLAY_CLASS)\r\n }))\r\n }\r\n };\r\n return DiagramContextMenu\r\n}(_context_menu.default);\r\nvar DiagramContextMenuBar = function(_DiagramBar) {\r\n _inheritsLoose(DiagramContextMenuBar, _DiagramBar);\r\n\r\n function DiagramContextMenuBar(owner) {\r\n return _DiagramBar.call(this, owner) || this\r\n }\r\n var _proto3 = DiagramContextMenuBar.prototype;\r\n _proto3.getCommandKeys = function() {\r\n return this._getKeys(this._owner._commands)\r\n };\r\n _proto3.setItemValue = function(key, value) {\r\n this._owner._setItemValue(key, value)\r\n };\r\n _proto3.setItemEnabled = function(key, enabled) {\r\n this._owner._setItemEnabled(key, enabled)\r\n };\r\n _proto3.setItemVisible = function(key, visible) {\r\n this._owner._setItemVisible(key, visible)\r\n };\r\n _proto3.setItemSubItems = function(key, items) {\r\n this._owner._setItemSubItems(key, items)\r\n };\r\n _proto3.setEnabled = function(enabled) {\r\n this._owner._setEnabled(enabled)\r\n };\r\n _proto3.isVisible = function() {\r\n return this._owner.isVisible()\r\n };\r\n return DiagramContextMenuBar\r\n}(_diagram2.default);\r\nvar _default = {\r\n DiagramContextMenuWrapper: DiagramContextMenuWrapper,\r\n DiagramContextMenu: DiagramContextMenu\r\n};\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/diagram/ui.diagram.context_toolbox.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _ui = _interopRequireDefault(require(\"../widget/ui.widget\"));\r\nvar _ui2 = _interopRequireDefault(require(\"../popover/ui.popover\"));\r\nvar _diagram = require(\"./diagram.importer\");\r\nvar _window = require(\"../../core/utils/window\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\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\nvar DiagramContextToolbox = function(_Widget) {\r\n _inheritsLoose(DiagramContextToolbox, _Widget);\r\n\r\n function DiagramContextToolbox() {\r\n return _Widget.apply(this, arguments) || this\r\n }\r\n var _proto = DiagramContextToolbox.prototype;\r\n _proto._init = function() {\r\n _Widget.prototype._init.call(this);\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 _proto._initMarkup = function() {\r\n _Widget.prototype._initMarkup.call(this);\r\n this._$popoverTargetElement = (0, _renderer.default)(\"<div>\").addClass(DIAGRAM_CONTEXT_TOOLBOX_TARGET_CLASS).appendTo(this.$element());\r\n var $popoverElement = (0, _renderer.default)(\"<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, _ui2.default, {\r\n hideOnOutsideClick: false,\r\n container: this.$element()\r\n });\r\n this._popoverInstance.$element().addClass(popoverClass)\r\n };\r\n _proto._isTouchMode = function() {\r\n var _getDiagram = (0, _diagram.getDiagram)(),\r\n Browser = _getDiagram.Browser;\r\n return Browser.TouchUI\r\n };\r\n _proto._show = function(x, y, side, category, callback) {\r\n this._popoverInstance.hide();\r\n var $content = (0, _renderer.default)(\"<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 = (0, _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 _this = this;\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: function() {\r\n return _this._popoverInstance.hide()\r\n }\r\n })\r\n }.bind(this)\r\n });\r\n this._popoverInstance.show()\r\n };\r\n _proto._hide = function() {\r\n this._$popoverTargetElement.hide();\r\n this._popoverInstance.hide()\r\n };\r\n return DiagramContextToolbox\r\n}(_ui.default);\r\nvar _default = DiagramContextToolbox;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/diagram/ui.diagram.dialog_manager.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _diagram = require(\"./diagram.importer\");\r\nvar _message = _interopRequireDefault(require(\"../../localization/message\"));\r\nvar _file_uploader = _interopRequireDefault(require(\"../file_uploader\"));\r\nvar _window = require(\"../../core/utils/window\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar DiagramDialogManager = {\r\n getConfigurations: function() {\r\n var _getDiagram = (0, _diagram.getDiagram)(),\r\n DiagramCommand = _getDiagram.DiagramCommand;\r\n return this.dialogList || (this.dialogList = [{\r\n command: DiagramCommand.InsertShapeImage,\r\n title: _message.default.format(\"dxDiagram-dialogInsertShapeImageTitle\"),\r\n onGetContent: this.getChangeImageDialogContent\r\n }, {\r\n command: DiagramCommand.EditShapeImage,\r\n title: _message.default.format(\"dxDiagram-dialogEditShapeImageTitle\"),\r\n onGetContent: this.getChangeImageDialogContent\r\n }])\r\n },\r\n getChangeImageDialogContent: function(args) {\r\n var $uploader = (0, _renderer.default)(\"<div>\");\r\n args.component._createComponent($uploader, _file_uploader.default, {\r\n selectButtonText: _message.default.format(\"dxDiagram-dialogEditShapeImageSelectButton\"),\r\n accept: \"image/*\",\r\n uploadMode: \"useForm\",\r\n onValueChanged: function(e) {\r\n var window = (0, _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: function(command) {\r\n var commandIndex = this.getConfigurations().map((function(c) {\r\n return c.command\r\n })).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\nvar _default = DiagramDialogManager;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/diagram/ui.diagram.dialogs.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _ui = _interopRequireDefault(require(\"../widget/ui.widget\"));\r\nvar _message = _interopRequireDefault(require(\"../../localization/message\"));\r\nvar _ui2 = _interopRequireDefault(require(\"../popup/ui.popup\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar DiagramDialog = function(_Widget) {\r\n _inheritsLoose(DiagramDialog, _Widget);\r\n\r\n function DiagramDialog() {\r\n return _Widget.apply(this, arguments) || this\r\n }\r\n var _proto = DiagramDialog.prototype;\r\n _proto._init = function() {\r\n _Widget.prototype._init.call(this);\r\n this._command = void 0;\r\n this._isShown = false;\r\n this._createOnGetContentOption();\r\n this._createOnHiddenOption()\r\n };\r\n _proto._initMarkup = function() {\r\n _Widget.prototype._initMarkup.call(this);\r\n this._command = this.option(\"command\");\r\n this._$popupElement = (0, _renderer.default)(\"<div>\").appendTo(this.$element());\r\n this._popup = this._createComponent(this._$popupElement, _ui2.default, {\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 _proto._clean = function() {\r\n delete this._popup;\r\n this._$popupElement && this._$popupElement.remove()\r\n };\r\n _proto._getDefaultOptions = function() {\r\n return (0, _extend.extend)(_Widget.prototype._getDefaultOptions.call(this), {\r\n title: \"\",\r\n maxWidth: 500,\r\n height: \"auto\",\r\n toolbarItems: this._getToolbarItems()\r\n })\r\n };\r\n _proto._getToolbarItems = function() {\r\n return [this._getOkToolbarItem(), this._getCancelToolbarItem()]\r\n };\r\n _proto._getOkToolbarItem = function() {\r\n return {\r\n widget: \"dxButton\",\r\n location: \"after\",\r\n toolbar: \"bottom\",\r\n options: {\r\n text: _message.default.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 _proto._getCancelToolbarItem = function() {\r\n return {\r\n widget: \"dxButton\",\r\n location: \"after\",\r\n toolbar: \"bottom\",\r\n options: {\r\n text: _message.default.format(\"dxDiagram-dialogButtonCancel\"),\r\n onClick: this._hide.bind(this)\r\n }\r\n }\r\n };\r\n _proto._optionChanged = function(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 _Widget.prototype._optionChanged.call(this, args)\r\n }\r\n };\r\n _proto._createOnGetContentOption = function() {\r\n this._onGetContentAction = this._createActionByOption(\"onGetContent\")\r\n };\r\n _proto._createOnHiddenOption = function() {\r\n this._onHiddenAction = this._createActionByOption(\"onHidden\")\r\n };\r\n _proto._hide = function() {\r\n this._popup.hide();\r\n this._isShown = false\r\n };\r\n _proto._show = function() {\r\n this._popup.$content().empty().append(this._onGetContentAction());\r\n this._popup.show();\r\n this._isShown = true\r\n };\r\n _proto.isVisible = function() {\r\n return this._isShown\r\n };\r\n return DiagramDialog\r\n}(_ui.default);\r\nvar _default = DiagramDialog;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/diagram/ui.diagram.floating_panel.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _size = require(\"../../core/utils/size\");\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _window = require(\"../../core/utils/window\");\r\nvar _ui = _interopRequireDefault(require(\"../popup/ui.popup\"));\r\nvar _uiDiagram = _interopRequireDefault(require(\"./ui.diagram.panel\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar DIAGRAM_MOBILE_POPUP_CLASS = \"dx-diagram-mobile-popup\";\r\nvar DiagramFloatingPanel = function(_DiagramPanel) {\r\n _inheritsLoose(DiagramFloatingPanel, _DiagramPanel);\r\n\r\n function DiagramFloatingPanel() {\r\n return _DiagramPanel.apply(this, arguments) || this\r\n }\r\n var _proto = DiagramFloatingPanel.prototype;\r\n _proto._init = function() {\r\n _DiagramPanel.prototype._init.call(this);\r\n this._createOnVisibilityChangingAction();\r\n this._createOnVisibilityChangedAction()\r\n };\r\n _proto.isVisible = function() {\r\n return this.option(\"isVisible\")\r\n };\r\n _proto.isMobileView = function() {\r\n return this.option(\"isMobileView\")\r\n };\r\n _proto._initMarkup = function() {\r\n _DiagramPanel.prototype._initMarkup.call(this);\r\n var $parent = this.$element();\r\n var $popupElement = (0, _renderer.default)(\"<div>\").addClass(this._getPopupClass()).addClass(this.isMobileView() && DIAGRAM_MOBILE_POPUP_CLASS).appendTo($parent);\r\n this._popup = this._createComponent($popupElement, _ui.default, this._getPopupOptions());\r\n this._updatePopupVisible()\r\n };\r\n _proto.show = function() {\r\n this.option(\"isVisible\", true)\r\n };\r\n _proto.hide = function() {\r\n this.option(\"isVisible\", false)\r\n };\r\n _proto.toggle = function() {\r\n this.option(\"isVisible\", !this.isVisible())\r\n };\r\n _proto.repaint = function() {\r\n this._popup.repaint()\r\n };\r\n _proto._getPopupContent = function() {\r\n return this._popup.content()\r\n };\r\n _proto._getPopupTitle = function() {\r\n var $content = (0, _renderer.default)(this._getPopupContent());\r\n return $content.parent().find(\".dx-popup-title\")\r\n };\r\n _proto._getPointerUpElements = function() {\r\n return [this._getPopupContent(), this._getPopupTitle()]\r\n };\r\n _proto._getVerticalPaddingsAndBorders = function() {\r\n var $content = (0, _renderer.default)(this._getPopupContent());\r\n return (0, _size.getOuterHeight)($content) - (0, _size.getHeight)($content)\r\n };\r\n _proto._getHorizontalPaddingsAndBorders = function() {\r\n var $content = (0, _renderer.default)(this._getPopupContent());\r\n return (0, _size.getOuterWidth)($content) - (0, _size.getWidth)($content)\r\n };\r\n _proto._getPopupClass = function() {\r\n return \"\"\r\n };\r\n _proto._getPopupWidth = function() {\r\n return this.option(\"width\") || \"auto\"\r\n };\r\n _proto._getPopupMaxWidth = function() {\r\n return this.option(\"maxWidth\")\r\n };\r\n _proto._getPopupMinWidth = function() {\r\n return this.option(\"minWidth\")\r\n };\r\n _proto._getPopupHeight = function() {\r\n return this.option(\"height\") || \"auto\"\r\n };\r\n _proto._getPopupMaxHeight = function() {\r\n return this.option(\"maxHeight\")\r\n };\r\n _proto._getPopupMinHeight = function() {\r\n return this.option(\"minHeight\")\r\n };\r\n _proto._getPopupPosition = function() {\r\n return {}\r\n };\r\n _proto._getPopupContainer = function() {\r\n return this.option(\"container\")\r\n };\r\n _proto._getPopupSlideAnimationObject = function(properties) {\r\n return (0, _extend.extend)({\r\n type: \"slide\",\r\n start: function() {\r\n (0, _renderer.default)(\"body\").css(\"overflow\", \"hidden\")\r\n },\r\n complete: function() {\r\n (0, _renderer.default)(\"body\").css(\"overflow\", \"\")\r\n }\r\n }, properties)\r\n };\r\n _proto._getPopupAnimation = function() {\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 _proto._getPopupOptions = function() {\r\n var _this = this;\r\n var that = this;\r\n return {\r\n animation: (0, _window.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: function() {\r\n _this._onVisibilityChangingAction({\r\n visible: true,\r\n component: _this\r\n })\r\n },\r\n onShown: function() {\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: function() {\r\n _this._onVisibilityChangingAction({\r\n visible: false,\r\n component: _this\r\n })\r\n },\r\n onHidden: function() {\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 _proto._renderPopupContent = function($parent) {};\r\n _proto._updatePopupVisible = function() {\r\n this._popup.option(\"visible\", this.isVisible())\r\n };\r\n _proto._createOnVisibilityChangingAction = function() {\r\n this._onVisibilityChangingAction = this._createActionByOption(\"onVisibilityChanging\")\r\n };\r\n _proto._createOnVisibilityChangedAction = function() {\r\n this._onVisibilityChangedAction = this._createActionByOption(\"onVisibilityChanged\")\r\n };\r\n _proto._optionChanged = function(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 _DiagramPanel.prototype._optionChanged.call(this, args)\r\n }\r\n };\r\n _proto._getDefaultOptions = function() {\r\n return (0, _extend.extend)(_DiagramPanel.prototype._getDefaultOptions.call(this), {\r\n isVisible: true,\r\n isMobileView: false,\r\n offsetX: 0,\r\n offsetY: 0\r\n })\r\n };\r\n return DiagramFloatingPanel\r\n}(_uiDiagram.default);\r\nvar _default = DiagramFloatingPanel;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/diagram/ui.diagram.history_toolbar.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _uiDiagram = _interopRequireDefault(require(\"./ui.diagram.toolbar\"));\r\nvar _diagram = _interopRequireDefault(require(\"./diagram.commands_manager\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar DiagramHistoryToolbar = function(_DiagramToolbar) {\r\n _inheritsLoose(DiagramHistoryToolbar, _DiagramToolbar);\r\n\r\n function DiagramHistoryToolbar() {\r\n return _DiagramToolbar.apply(this, arguments) || this\r\n }\r\n var _proto = DiagramHistoryToolbar.prototype;\r\n _proto._getCommands = function() {\r\n return _diagram.default.getHistoryToolbarCommands(this.option(\"commands\"), this._getExcludeCommands())\r\n };\r\n _proto._getExcludeCommands = function() {\r\n var commands = [].concat(this.option(\"excludeCommands\"));\r\n if (!this.option(\"isMobileView\")) {\r\n commands.push(_diagram.default.SHOW_TOOLBOX_COMMAND_NAME)\r\n }\r\n return commands\r\n };\r\n return DiagramHistoryToolbar\r\n}(_uiDiagram.default);\r\nvar _default = DiagramHistoryToolbar;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/diagram/ui.diagram.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.default = void 0;\r\nvar _size = require(\"../../core/utils/size\");\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _ui = _interopRequireDefault(require(\"../widget/ui.widget\"));\r\nvar _load_indicator = _interopRequireDefault(require(\"../load_indicator\"));\r\nvar _component_registrator = _interopRequireDefault(require(\"../../core/component_registrator\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _data = require(\"../../core/utils/data\");\r\nvar _position = _interopRequireDefault(require(\"../../animation/position\"));\r\nvar _diagram = require(\"./diagram.importer\");\r\nvar _window = require(\"../../core/utils/window\");\r\nvar _element = require(\"../../core/element\");\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _index = require(\"../../events/utils/index\");\r\nvar _message = _interopRequireDefault(require(\"../../localization/message\"));\r\nvar _number = _interopRequireDefault(require(\"../../localization/number\"));\r\nvar zIndexPool = _interopRequireWildcard(require(\"../overlay/z_index\"));\r\nvar _ui2 = _interopRequireDefault(require(\"../overlay/ui.overlay\"));\r\nvar _uiDiagram = _interopRequireDefault(require(\"./ui.diagram.toolbar\"));\r\nvar _uiDiagram2 = _interopRequireDefault(require(\"./ui.diagram.main_toolbar\"));\r\nvar _uiDiagram3 = _interopRequireDefault(require(\"./ui.diagram.history_toolbar\"));\r\nvar _uiDiagram4 = _interopRequireDefault(require(\"./ui.diagram.view_toolbar\"));\r\nvar _uiDiagram5 = _interopRequireDefault(require(\"./ui.diagram.properties_toolbar\"));\r\nvar _uiDiagram6 = _interopRequireDefault(require(\"./ui.diagram.context_menu\"));\r\nvar _uiDiagram7 = _interopRequireDefault(require(\"./ui.diagram.context_toolbox\"));\r\nvar _uiDiagram8 = _interopRequireDefault(require(\"./ui.diagram.dialogs\"));\r\nvar _uiDiagram9 = _interopRequireDefault(require(\"./ui.diagram.scroll_view\"));\r\nvar _diagram2 = _interopRequireDefault(require(\"./diagram.toolbox_manager\"));\r\nvar _uiDiagram10 = _interopRequireDefault(require(\"./ui.diagram.toolbox\"));\r\nvar _uiDiagram11 = _interopRequireDefault(require(\"./ui.diagram.properties_panel\"));\r\nvar _diagram3 = _interopRequireDefault(require(\"./diagram.options_update\"));\r\nvar _uiDiagram12 = _interopRequireDefault(require(\"./ui.diagram.dialog_manager\"));\r\nvar _diagram4 = _interopRequireDefault(require(\"./diagram.commands_manager\"));\r\nvar _diagram5 = _interopRequireDefault(require(\"./diagram.nodes_option\"));\r\nvar _diagram6 = _interopRequireDefault(require(\"./diagram.edges_option\"));\r\n\r\nfunction _getRequireWildcardCache(nodeInterop) {\r\n if (\"function\" !== typeof WeakMap) {\r\n return null\r\n }\r\n var cacheBabelInterop = new WeakMap;\r\n var cacheNodeInterop = new WeakMap;\r\n return (_getRequireWildcardCache = function(nodeInterop) {\r\n return nodeInterop ? cacheNodeInterop : cacheBabelInterop\r\n })(nodeInterop)\r\n}\r\n\r\nfunction _interopRequireWildcard(obj, nodeInterop) {\r\n if (!nodeInterop && obj && obj.__esModule) {\r\n return obj\r\n }\r\n if (null === obj || \"object\" !== _typeof(obj) && \"function\" !== typeof obj) {\r\n return {\r\n default: obj\r\n }\r\n }\r\n var cache = _getRequireWildcardCache(nodeInterop);\r\n if (cache && cache.has(obj)) {\r\n return cache.get(obj)\r\n }\r\n var newObj = {};\r\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\r\n for (var key in obj) {\r\n if (\"default\" !== key && Object.prototype.hasOwnProperty.call(obj, key)) {\r\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\r\n if (desc && (desc.get || desc.set)) {\r\n Object.defineProperty(newObj, key, desc)\r\n } else {\r\n newObj[key] = obj[key]\r\n }\r\n }\r\n }\r\n newObj.default = obj;\r\n if (cache) {\r\n cache.set(obj, newObj)\r\n }\r\n return newObj\r\n}\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\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 = (0, _index.addNamespace)(\"fullscreenchange\", DIAGRAM_NAMESPACE);\r\nvar IE_FULLSCREEN_CHANGE_EVENT_NAME = (0, _index.addNamespace)(\"msfullscreenchange\", DIAGRAM_NAMESPACE);\r\nvar WEBKIT_FULLSCREEN_CHANGE_EVENT_NAME = (0, _index.addNamespace)(\"webkitfullscreenchange\", DIAGRAM_NAMESPACE);\r\nvar MOZ_FULLSCREEN_CHANGE_EVENT_NAME = (0, _index.addNamespace)(\"mozfullscreenchange\", DIAGRAM_NAMESPACE);\r\nvar Diagram = function(_Widget) {\r\n _inheritsLoose(Diagram, _Widget);\r\n\r\n function Diagram() {\r\n return _Widget.apply(this, arguments) || this\r\n }\r\n var _proto = Diagram.prototype;\r\n _proto._init = function() {\r\n this._updateDiagramLockCount = 0;\r\n this.toggleFullscreenLock = 0;\r\n this._toolbars = [];\r\n _Widget.prototype._init.call(this);\r\n this._initDiagram();\r\n this._createCustomCommand()\r\n };\r\n _proto._initMarkup = function() {\r\n var _this = this;\r\n _Widget.prototype._initMarkup.call(this);\r\n this._toolbars = [];\r\n delete this._isMobileScreenSize;\r\n var isServerSide = !(0, _window.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 = (0, _renderer.default)(\"<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 = (0, _renderer.default)(\"<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 = (0, _renderer.default)(\"<div>\").addClass(DIAGRAM_SCROLL_VIEW_CLASS).appendTo(this._$content);\r\n this._createComponent($scrollViewWrapper, _uiDiagram9.default, {\r\n useNativeScrolling: this.option(\"useNativeScrolling\"),\r\n onCreateDiagram: function(e) {\r\n _this._diagramInstance.createDocument(e.$parent[0], e.scrollView, $contentWrapper[0])\r\n }\r\n })\r\n }\r\n this._setCustomCommandChecked(_diagram4.default.SHOW_PROPERTIES_PANEL_COMMAND_NAME, this._isPropertiesPanelVisible());\r\n this._setCustomCommandChecked(_diagram4.default.SHOW_TOOLBOX_COMMAND_NAME, this._isToolboxVisible());\r\n this._createOptionsUpdateBar()\r\n };\r\n _proto._dimensionChanged = function() {\r\n this._isMobileScreenSize = void 0;\r\n this._processDiagramResize()\r\n };\r\n _proto._visibilityChanged = function(visible) {\r\n if (visible) {\r\n this._bindDiagramData();\r\n this.repaint()\r\n }\r\n };\r\n _proto._processDiagramResize = function() {\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 _proto.isMobileScreenSize = function() {\r\n if (void 0 === this._isMobileScreenSize) {\r\n this._isMobileScreenSize = (0, _window.hasWindow)() && (0, _size.getOuterWidth)(this.$element()) < DIAGRAM_MAX_MOBILE_WINDOW_WIDTH\r\n }\r\n return this._isMobileScreenSize\r\n };\r\n _proto._captureFocus = function() {\r\n if (this._diagramInstance) {\r\n this._diagramInstance.captureFocus()\r\n }\r\n };\r\n _proto._captureFocusOnTimeout = function() {\r\n var _this2 = this;\r\n this._captureFocusTimeout = setTimeout((function() {\r\n _this2._captureFocus();\r\n delete _this2._captureFocusTimeout\r\n }), 100)\r\n };\r\n _proto._killCaptureFocusTimeout = function() {\r\n if (this._captureFocusTimeout) {\r\n clearTimeout(this._captureFocusTimeout);\r\n delete this._captureFocusTimeout\r\n }\r\n };\r\n _proto.notifyBarCommandExecuted = function() {\r\n this._captureFocusOnTimeout()\r\n };\r\n _proto._registerToolbar = function(component) {\r\n this._registerBar(component);\r\n this._toolbars.push(component)\r\n };\r\n _proto._registerBar = function(component) {\r\n component.bar.onChanged.add(this);\r\n this._diagramInstance.registerBar(component.bar)\r\n };\r\n _proto._getExcludeCommands = function() {\r\n var excludeCommands = [];\r\n if (!this._isToolboxEnabled()) {\r\n excludeCommands.push(_diagram4.default.SHOW_TOOLBOX_COMMAND_NAME)\r\n }\r\n if (!this._isPropertiesPanelEnabled()) {\r\n excludeCommands.push(_diagram4.default.SHOW_PROPERTIES_PANEL_COMMAND_NAME)\r\n }\r\n return excludeCommands\r\n };\r\n _proto._getToolbarBaseOptions = function() {\r\n var _this3 = this;\r\n return {\r\n onContentReady: function(_ref) {\r\n var component = _ref.component;\r\n return _this3._registerToolbar(component)\r\n },\r\n onSubMenuVisibilityChanging: function(_ref2) {\r\n var component = _ref2.component;\r\n return _this3._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 _proto._onInternalCommand = function(e) {\r\n switch (e.command) {\r\n case _diagram4.default.SHOW_TOOLBOX_COMMAND_NAME:\r\n if (this._toolbox) {\r\n this._toolbox.toggle()\r\n }\r\n break;\r\n case _diagram4.default.SHOW_PROPERTIES_PANEL_COMMAND_NAME:\r\n if (this._propertiesPanel) {\r\n this._propertiesPanel.toggle()\r\n }\r\n }\r\n };\r\n _proto._onCustomCommand = function(e) {\r\n this._customCommandAction({\r\n name: e.name\r\n })\r\n };\r\n _proto._renderMainToolbar = function() {\r\n var $toolbarWrapper = (0, _renderer.default)(\"<div>\").addClass(DIAGRAM_TOOLBAR_WRAPPER_CLASS).appendTo(this.$element());\r\n this._mainToolbar = this._createComponent($toolbarWrapper, _uiDiagram2.default, (0, _extend.extend)(this._getToolbarBaseOptions(), {\r\n commands: this.option(\"mainToolbar.commands\"),\r\n skipAdjustSize: true\r\n }))\r\n };\r\n _proto._isHistoryToolbarVisible = function() {\r\n return this.option(\"historyToolbar.visible\") && !this.isReadOnlyMode()\r\n };\r\n _proto._renderHistoryToolbar = function($parent) {\r\n var _this4 = this;\r\n var $container = (0, _renderer.default)(\"<div>\").addClass(DIAGRAM_FLOATING_TOOLBAR_CONTAINER_CLASS).appendTo($parent);\r\n this._historyToolbar = this._createComponent($container, _uiDiagram3.default, (0, _extend.extend)(this._getToolbarBaseOptions(), {\r\n commands: this.option(\"historyToolbar.commands\"),\r\n locateInMenu: \"never\"\r\n }));\r\n this._updateHistoryToolbarPosition();\r\n this._historyToolbarResizeCallback = function() {\r\n _this4._historyToolbar.option(\"isMobileView\", _this4.isMobileScreenSize())\r\n }\r\n };\r\n _proto._updateHistoryToolbarPosition = function() {\r\n if (!(0, _window.hasWindow)()) {\r\n return\r\n }\r\n _position.default.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 _proto._isToolboxEnabled = function() {\r\n return \"disabled\" !== this.option(\"toolbox.visibility\") && !this.isReadOnlyMode()\r\n };\r\n _proto._isToolboxVisible = function() {\r\n return \"visible\" === this.option(\"toolbox.visibility\") || \"auto\" === this.option(\"toolbox.visibility\") && !this.isMobileScreenSize()\r\n };\r\n _proto._renderToolbox = function($parent) {\r\n var _this5 = this;\r\n var isServerSide = !(0, _window.hasWindow)();\r\n var $toolBox = (0, _renderer.default)(\"<div>\").appendTo($parent);\r\n var bounds = this._getToolboxBounds($parent, isServerSide);\r\n this._toolbox = this._createComponent($toolBox, _uiDiagram10.default, {\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: function(e) {\r\n if (isServerSide) {\r\n return\r\n }\r\n _this5._diagramInstance.createToolbox(e.$element[0], \"texts\" === e.displayMode, e.shapes || e.category, {\r\n shapeIconSpacing: DIAGRAM_TOOLBOX_SHAPE_SPACING,\r\n shapeIconCountInRow: _this5.option(\"toolbox.shapeIconsPerRow\"),\r\n shapeIconAttributes: {\r\n \"data-toggle\": e.dataToggle\r\n }\r\n })\r\n },\r\n onFilterChanged: function(e) {\r\n if (isServerSide) {\r\n return\r\n }\r\n _this5._diagramInstance.applyToolboxFilter(e.text, e.filteringToolboxes)\r\n },\r\n onVisibilityChanging: function(e) {\r\n if (isServerSide) {\r\n return\r\n }\r\n _this5._setCustomCommandChecked(_diagram4.default.SHOW_TOOLBOX_COMMAND_NAME, e.visible);\r\n if (_this5._propertiesPanel) {\r\n if (e.visible && _this5.isMobileScreenSize()) {\r\n _this5._propertiesPanel.hide()\r\n }\r\n }\r\n if (_this5._historyToolbar) {\r\n if (e.visible && _this5.isMobileScreenSize()) {\r\n _this5._historyToolbarZIndex = zIndexPool.create(_ui2.default.baseZIndex());\r\n _this5._historyToolbar.$element().css(\"zIndex\", _this5._historyToolbarZIndex);\r\n _this5._historyToolbar.$element().css(\"boxShadow\", \"none\")\r\n }\r\n }\r\n if (_this5._viewToolbar) {\r\n _this5._viewToolbar.$element().css(\"opacity\", e.visible && _this5.isMobileScreenSize() ? \"0\" : \"1\");\r\n _this5._viewToolbar.$element().css(\"pointerEvents\", e.visible && _this5.isMobileScreenSize() ? \"none\" : \"\")\r\n }\r\n },\r\n onVisibilityChanged: function(e) {\r\n if (!e.visible && !_this5._textInputStarted) {\r\n _this5._captureFocus()\r\n }\r\n if (!isServerSide) {\r\n if (_this5._historyToolbar) {\r\n if (!e.visible && _this5.isMobileScreenSize() && _this5._historyToolbarZIndex) {\r\n zIndexPool.remove(_this5._historyToolbarZIndex);\r\n _this5._historyToolbar.$element().css(\"zIndex\", \"\");\r\n _this5._historyToolbar.$element().css(\"boxShadow\", \"\");\r\n _this5._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 = function() {\r\n var bounds = _this5._getToolboxBounds($parent, isServerSide);\r\n _this5._toolbox.option(\"height\", bounds.height);\r\n var prevIsMobileView = _this5._toolbox.option(\"isMobileView\");\r\n if (prevIsMobileView !== _this5.isMobileScreenSize()) {\r\n _this5._toolbox.option({\r\n isMobileView: _this5.isMobileScreenSize(),\r\n isVisible: _this5._isToolboxVisible()\r\n });\r\n _this5._setCustomCommandChecked(_diagram4.default.SHOW_TOOLBOX_COMMAND_NAME, _this5._isToolboxVisible())\r\n }\r\n _this5._toolbox.updateMaxHeight()\r\n }\r\n };\r\n _proto._getToolboxBounds = function($parent, isServerSide) {\r\n var result = {\r\n offsetX: DIAGRAM_FLOATING_PANEL_OFFSET,\r\n offsetY: DIAGRAM_FLOATING_PANEL_OFFSET,\r\n height: !isServerSide ? (0, _size.getHeight)($parent) - 2 * DIAGRAM_FLOATING_PANEL_OFFSET : 0\r\n };\r\n if (this._historyToolbar && !isServerSide) {\r\n result.offsetY += (0, _size.getOuterHeight)(this._historyToolbar.$element()) + DIAGRAM_FLOATING_PANEL_OFFSET;\r\n result.height -= (0, _size.getOuterHeight)(this._historyToolbar.$element()) + DIAGRAM_FLOATING_PANEL_OFFSET\r\n }\r\n if (this._viewToolbar && !isServerSide) {\r\n result.height -= (0, _size.getOuterHeight)(this._viewToolbar.$element()) + this._getViewToolbarYOffset(isServerSide)\r\n }\r\n return result\r\n };\r\n _proto._renderViewToolbar = function($parent) {\r\n var _this6 = this;\r\n var isServerSide = !(0, _window.hasWindow)();\r\n var $container = (0, _renderer.default)(\"<div>\").addClass(DIAGRAM_FLOATING_TOOLBAR_CONTAINER_CLASS).appendTo($parent);\r\n this._viewToolbar = this._createComponent($container, _uiDiagram4.default, (0, _extend.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 = function() {\r\n _this6._updateViewToolbarPosition($container, $parent, isServerSide)\r\n }\r\n };\r\n _proto._getViewToolbarYOffset = function(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 += ((0, _size.getOuterHeight)(this._propertiesToolbar.$element()) - (0, _size.getOuterHeight)(this._viewToolbar.$element())) / 2\r\n }\r\n return result\r\n };\r\n _proto._updateViewToolbarPosition = function($container, $parent, isServerSide) {\r\n if (isServerSide) {\r\n return\r\n }\r\n _position.default.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 _proto._isPropertiesPanelEnabled = function() {\r\n return \"disabled\" !== this.option(\"propertiesPanel.visibility\") && !this.isReadOnlyMode()\r\n };\r\n _proto._isPropertiesPanelVisible = function() {\r\n return \"visible\" === this.option(\"propertiesPanel.visibility\")\r\n };\r\n _proto._renderPropertiesToolbar = function($parent) {\r\n var _this7 = this;\r\n var isServerSide = !(0, _window.hasWindow)();\r\n var $container = (0, _renderer.default)(\"<div>\").addClass(DIAGRAM_FLOATING_TOOLBAR_CONTAINER_CLASS).addClass(DIAGRAM_PROPERTIES_PANEL_TOOLBAR_CONTAINER_CLASS).appendTo($parent);\r\n this._propertiesToolbar = this._createComponent($container, _uiDiagram5.default, (0, _extend.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 = function() {\r\n _this7._updatePropertiesToolbarPosition($container, $parent, isServerSide)\r\n }\r\n };\r\n _proto._updatePropertiesToolbarPosition = function($container, $parent, isServerSide) {\r\n if (isServerSide) {\r\n return\r\n }\r\n _position.default.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 _proto._renderPropertiesPanel = function($parent) {\r\n var _this8 = this;\r\n var isServerSide = !(0, _window.hasWindow)();\r\n var $propertiesPanel = (0, _renderer.default)(\"<div>\").appendTo($parent);\r\n var offsetX = DIAGRAM_FLOATING_PANEL_OFFSET;\r\n var offsetY = 2 * DIAGRAM_FLOATING_PANEL_OFFSET + (!isServerSide ? (0, _size.getOuterHeight)(this._propertiesToolbar.$element()) : 0);\r\n this._propertiesPanel = this._createComponent($propertiesPanel, _uiDiagram11.default, {\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: function(e) {\r\n e.toolbar = _this8._createComponent(e.$parent, _uiDiagram.default, (0, _extend.extend)(_this8._getToolbarBaseOptions(), {\r\n commands: e.commands,\r\n locateInMenu: \"never\",\r\n editorStylingMode: \"outlined\"\r\n }))\r\n },\r\n onVisibilityChanging: function(e) {\r\n if (isServerSide) {\r\n return\r\n }\r\n _this8._updatePropertiesPanelGroupBars(e.component);\r\n _this8._setCustomCommandChecked(_diagram4.default.SHOW_PROPERTIES_PANEL_COMMAND_NAME, e.visible);\r\n if (_this8._toolbox) {\r\n if (e.visible && _this8.isMobileScreenSize()) {\r\n _this8._toolbox.hide()\r\n }\r\n }\r\n },\r\n onVisibilityChanged: function(e) {\r\n if (!e.visible && !_this8._textInputStarted) {\r\n _this8._captureFocus()\r\n }\r\n },\r\n onSelectedGroupChanged: function(_ref3) {\r\n var component = _ref3.component;\r\n return _this8._updatePropertiesPanelGroupBars(component)\r\n },\r\n onPointerUp: this._onPanelPointerUp.bind(this)\r\n });\r\n this._propertiesPanelResizeCallback = function() {\r\n var prevIsMobileView = _this8._propertiesPanel.option(\"isMobileView\");\r\n if (prevIsMobileView !== _this8.isMobileScreenSize()) {\r\n _this8._propertiesPanel.option({\r\n isMobileView: _this8.isMobileScreenSize(),\r\n isVisible: _this8._isPropertiesPanelVisible()\r\n });\r\n _this8._setCustomCommandChecked(_diagram4.default.SHOW_PROPERTIES_PANEL_COMMAND_NAME, _this8._isPropertiesPanelVisible())\r\n }\r\n }\r\n };\r\n _proto._updatePropertiesPanelGroupBars = function(component) {\r\n var _this9 = this;\r\n component.getActiveToolbars().forEach((function(toolbar) {\r\n _this9._diagramInstance.updateBarItemsState(toolbar.bar)\r\n }))\r\n };\r\n _proto._onPanelPointerUp = function() {\r\n this._captureFocusOnTimeout()\r\n };\r\n _proto._renderContextMenu = function($parent) {\r\n var _this10 = this;\r\n var $contextMenu = (0, _renderer.default)(\"<div>\").appendTo($parent);\r\n this._contextMenu = this._createComponent($contextMenu, _uiDiagram6.default.DiagramContextMenuWrapper, {\r\n commands: this.option(\"contextMenu.commands\"),\r\n onContentReady: function(_ref4) {\r\n var component = _ref4.component;\r\n return _this10._registerBar(component)\r\n },\r\n onVisibilityChanging: function(_ref5) {\r\n var component = _ref5.component;\r\n return _this10._diagramInstance.updateBarItemsState(component.bar)\r\n },\r\n onItemClick: function(itemData) {\r\n return _this10._onBeforeCommandExecuted(itemData.command)\r\n },\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 _proto._renderContextToolbox = function($parent) {\r\n var _this11 = this;\r\n var isServerSide = !(0, _window.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 = (0, _renderer.default)(\"<div>\").appendTo($parent);\r\n this._contextToolbox = this._createComponent($contextToolbox, _uiDiagram7.default, {\r\n toolboxWidth: this.option(\"contextToolbox.width\"),\r\n onShown: function(e) {\r\n if (isServerSide) {\r\n return\r\n }\r\n var $toolboxContainer = (0, _renderer.default)(e.$element);\r\n var isTextGroup = \"texts\" === displayMode;\r\n if (!shapes && !category && !isTextGroup) {\r\n var group = _this11._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 _this11._diagramInstance.createContextToolbox($toolboxContainer[0], isTextGroup, shapes || category || e.category, {\r\n shapeIconSpacing: DIAGRAM_CONTEXT_TOOLBOX_SHAPE_SPACING,\r\n shapeIconCountInRow: _this11.option(\"contextToolbox.shapeIconsPerRow\")\r\n }, (function(shapeType) {\r\n e.callback(shapeType);\r\n _this11._captureFocus();\r\n e.hide()\r\n }))\r\n }\r\n })\r\n };\r\n _proto._setCustomCommandChecked = function(command, checked) {\r\n this._toolbars.forEach((function(tb) {\r\n tb.setCommandChecked(command, checked)\r\n }))\r\n };\r\n _proto._onBeforeCommandExecuted = function(command) {\r\n var dialogParameters = _uiDiagram12.default.getDialogParameters(command);\r\n if (dialogParameters) {\r\n this._showDialog(dialogParameters)\r\n }\r\n return !!dialogParameters\r\n };\r\n _proto._renderDialog = function($parent) {\r\n var $dialogElement = (0, _renderer.default)(\"<div>\").appendTo($parent);\r\n this._dialogInstance = this._createComponent($dialogElement, _uiDiagram8.default, {})\r\n };\r\n _proto._showDialog = function(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 _proto._showLoadingIndicator = function() {\r\n this._loadingIndicator = (0, _renderer.default)(\"<div>\").addClass(DIAGRAM_LOADING_INDICATOR_CLASS);\r\n this._createComponent(this._loadingIndicator, _load_indicator.default, {});\r\n var $parent = this._$content || this.$element();\r\n $parent.append(this._loadingIndicator)\r\n };\r\n _proto._hideLoadingIndicator = function() {\r\n if (!this._loadingIndicator) {\r\n return\r\n }\r\n this._loadingIndicator.remove();\r\n this._loadingIndicator = null\r\n };\r\n _proto._initDiagram = function() {\r\n var _getDiagram = (0, _diagram.getDiagram)(),\r\n DiagramControl = _getDiagram.DiagramControl;\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 = (0, _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 ((0, _window.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 _proto._createOptionsUpdateBar = function() {\r\n if (!this.optionsUpdateBar) {\r\n this.optionsUpdateBar = new _diagram3.default(this);\r\n this._diagramInstance.registerBar(this.optionsUpdateBar)\r\n }\r\n };\r\n _proto._deleteOptionsUpdateBar = function() {\r\n delete this.optionsUpdateBar\r\n };\r\n _proto._clean = function() {\r\n if (this._diagramInstance) {\r\n this._diagramInstance.cleanMarkup((function(element) {\r\n (0, _renderer.default)(element).empty()\r\n }));\r\n this._deleteOptionsUpdateBar()\r\n }\r\n _Widget.prototype._clean.call(this)\r\n };\r\n _proto._dispose = function() {\r\n this._killCaptureFocusTimeout();\r\n _Widget.prototype._dispose.call(this);\r\n if (this._diagramInstance) {\r\n this._diagramInstance.dispose();\r\n this._diagramInstance = void 0\r\n }\r\n };\r\n _proto._executeDiagramCommand = function(command, parameter) {\r\n this._diagramInstance.getCommand(command).execute(parameter)\r\n };\r\n _proto.getNodeDataSource = function() {\r\n return this._nodesOption && this._nodesOption.getDataSource()\r\n };\r\n _proto.getEdgeDataSource = function() {\r\n return this._edgesOption && this._edgesOption.getDataSource()\r\n };\r\n _proto._refreshDataSources = function() {\r\n this._beginUpdateDiagram();\r\n this._refreshNodesDataSource();\r\n this._refreshEdgesDataSource();\r\n this._endUpdateDiagram()\r\n };\r\n _proto._refreshNodesDataSource = function() {\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 _diagram5.default(this);\r\n this._nodesOption.option(\"dataSource\", this.option(\"nodes.dataSource\"));\r\n this._nodesOption._refreshDataSource()\r\n }\r\n };\r\n _proto._refreshEdgesDataSource = function() {\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 _diagram6.default(this);\r\n this._edgesOption.option(\"dataSource\", this.option(\"edges.dataSource\"));\r\n this._edgesOption._refreshDataSource()\r\n }\r\n };\r\n _proto._getDiagramData = function() {\r\n var value;\r\n var _getDiagram2 = (0, _diagram.getDiagram)(),\r\n DiagramCommand = _getDiagram2.DiagramCommand;\r\n this._executeDiagramCommand(DiagramCommand.Export, (function(data) {\r\n value = data\r\n }));\r\n return value\r\n };\r\n _proto._setDiagramData = function(data, keepExistingItems) {\r\n var _getDiagram3 = (0, _diagram.getDiagram)(),\r\n DiagramCommand = _getDiagram3.DiagramCommand;\r\n this._executeDiagramCommand(DiagramCommand.Import, {\r\n data: data,\r\n keepExistingItems: keepExistingItems\r\n })\r\n };\r\n _proto.isReadOnlyMode = function() {\r\n return this.option(\"readOnly\") || this.option(\"disabled\")\r\n };\r\n _proto._onDataSourceChanged = function() {\r\n this._bindDiagramData()\r\n };\r\n _proto._getChangesKeys = function(changes) {\r\n return changes.map((function(change) {\r\n if ((0, _type.isDefined)(change.internalKey)) {\r\n return change.internalKey\r\n } else if ((0, _type.isDefined)(change.key)) {\r\n return change.key\r\n } else {\r\n return null\r\n }\r\n })).filter((function(key) {\r\n return (0, _type.isDefined)(key)\r\n }))\r\n };\r\n _proto._createOptionGetter = function(optionName) {\r\n var expr = this.option(optionName);\r\n return expr && (0, _data.compileGetter)(expr)\r\n };\r\n _proto._onRequestUpdateLayout = function(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 _proto._createOptionSetter = function(optionName) {\r\n var expr = this.option(optionName);\r\n if ((0, _type.isFunction)(expr)) {\r\n return expr\r\n }\r\n return expr && (0, _data.compileSetter)(expr)\r\n };\r\n _proto._bindDiagramData = function() {\r\n if (this._updateDiagramLockCount || !this._isBindingMode()) {\r\n return\r\n }\r\n var _getDiagram4 = (0, _diagram.getDiagram)(),\r\n DiagramCommand = _getDiagram4.DiagramCommand,\r\n ConnectorLineOption = _getDiagram4.ConnectorLineOption,\r\n ConnectorLineEnding = _getDiagram4.ConnectorLineEnding;\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 _proto._reloadContentByChanges = function(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 _proto._reloadContent = function(itemKeys, applyLayout, isExternalChanges) {\r\n var _this12 = this;\r\n this._diagramInstance.reloadContent(itemKeys, (function() {\r\n var nodeDataSource;\r\n var edgeDataSource;\r\n if (_this12._nodesOption && isExternalChanges) {\r\n nodeDataSource = _this12._nodesOption.getItems()\r\n }\r\n if (_this12._edgesOption && isExternalChanges) {\r\n edgeDataSource = _this12._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 _proto._getConnectorLineOption = function(lineType) {\r\n var _getDiagram5 = (0, _diagram.getDiagram)(),\r\n ConnectorLineOption = _getDiagram5.ConnectorLineOption;\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 _proto._getConnectorLineEnding = function(lineEnd) {\r\n var _getDiagram6 = (0, _diagram.getDiagram)(),\r\n ConnectorLineEnding = _getDiagram6.ConnectorLineEnding;\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 _proto._getDataBindingLayoutParameters = function() {\r\n var _getDiagram7 = (0, _diagram.getDiagram)(),\r\n DataLayoutType = _getDiagram7.DataLayoutType,\r\n DataLayoutOrientation = _getDiagram7.DataLayoutOrientation;\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 _proto._hasNodePositionExprs = function() {\r\n return this.option(\"nodes.topExpr\") && this.option(\"nodes.leftExpr\")\r\n };\r\n _proto._getAutoZoomValue = function(option) {\r\n var _getDiagram8 = (0, _diagram.getDiagram)(),\r\n AutoZoomMode = _getDiagram8.AutoZoomMode;\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 _proto._isBindingMode = function() {\r\n return this._nodesOption && this._nodesOption.hasItems() || this._edgesOption && this._edgesOption.hasItems()\r\n };\r\n _proto._beginUpdateDiagram = function() {\r\n this._updateDiagramLockCount++\r\n };\r\n _proto._endUpdateDiagram = function() {\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 _proto._getCustomShapes = function() {\r\n return this.option(\"customShapes\") || []\r\n };\r\n _proto._getToolboxGroups = function() {\r\n return _diagram2.default.getGroups(this.option(\"toolbox.groups\"))\r\n };\r\n _proto._updateAllCustomShapes = function() {\r\n this._diagramInstance.removeAllCustomShapes();\r\n this._updateCustomShapes(this._getCustomShapes())\r\n };\r\n _proto._updateCustomShapes = function(customShapes, prevCustomShapes) {\r\n var _this13 = this;\r\n if (Array.isArray(prevCustomShapes)) {\r\n this._diagramInstance.removeCustomShapes(prevCustomShapes.map((function(s) {\r\n return s.type\r\n })))\r\n }\r\n if (Array.isArray(customShapes)) {\r\n this._diagramInstance.addCustomShapes(customShapes.map((function(s) {\r\n var templateOption = s.template || _this13.option(\"customShapeTemplate\");\r\n var template = templateOption && _this13._getTemplate(templateOption);\r\n var toolboxTemplateOption = s.toolboxTemplate || _this13.option(\"customShapeToolboxTemplate\");\r\n var toolboxTemplate = toolboxTemplateOption && _this13._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((function(pt) {\r\n return {\r\n x: pt.x,\r\n y: pt.y\r\n }\r\n })),\r\n createTemplate: template && function(container, item) {\r\n template.render({\r\n model: _this13._nativeItemToDiagramItem(item),\r\n container: (0, _element.getPublicElement)((0, _renderer.default)(container))\r\n })\r\n },\r\n createToolboxTemplate: toolboxTemplate && function(container, item) {\r\n toolboxTemplate.render({\r\n model: _this13._nativeItemToDiagramItem(item),\r\n container: (0, _element.getPublicElement)((0, _renderer.default)(container))\r\n })\r\n },\r\n destroyTemplate: template && function(container) {\r\n (0, _renderer.default)(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 _proto._getViewport = function() {\r\n var $viewPort = this.$element().closest(\".dx-viewport\");\r\n return $viewPort.length ? $viewPort : (0, _renderer.default)(\"body\")\r\n };\r\n _proto._onToggleFullScreen = function(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(_ui2.default.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 _proto._changeNativeFullscreen = function(setModeOn) {\r\n var window = (0, _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 _proto._setNativeFullscreen = function(on) {\r\n var window = (0, _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 _proto._inNativeFullscreen = function() {\r\n var document = (0, _window.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 _proto._subscribeFullscreenNativeChanged = function() {\r\n var document = (0, _window.getWindow)().document;\r\n var handler = this._onNativeFullscreenChangeHandler.bind(this);\r\n _events_engine.default.on(document, FULLSCREEN_CHANGE_EVENT_NAME, handler);\r\n _events_engine.default.on(document, IE_FULLSCREEN_CHANGE_EVENT_NAME, handler);\r\n _events_engine.default.on(document, WEBKIT_FULLSCREEN_CHANGE_EVENT_NAME, handler);\r\n _events_engine.default.on(document, MOZ_FULLSCREEN_CHANGE_EVENT_NAME, handler)\r\n };\r\n _proto._unsubscribeFullscreenNativeChanged = function() {\r\n var document = (0, _window.getWindow)().document;\r\n _events_engine.default.off(document, FULLSCREEN_CHANGE_EVENT_NAME);\r\n _events_engine.default.off(document, IE_FULLSCREEN_CHANGE_EVENT_NAME);\r\n _events_engine.default.off(document, WEBKIT_FULLSCREEN_CHANGE_EVENT_NAME);\r\n _events_engine.default.off(document, MOZ_FULLSCREEN_CHANGE_EVENT_NAME)\r\n };\r\n _proto._onNativeFullscreenChangeHandler = function() {\r\n if (!this._inNativeFullscreen()) {\r\n this._unsubscribeFullscreenNativeChanged();\r\n this.option(\"fullScreen\", false)\r\n }\r\n };\r\n _proto._executeDiagramFullscreenCommand = function(fullscreen) {\r\n var _getDiagram9 = (0, _diagram.getDiagram)(),\r\n DiagramCommand = _getDiagram9.DiagramCommand;\r\n this.toggleFullscreenLock++;\r\n this._executeDiagramCommand(DiagramCommand.Fullscreen, fullscreen);\r\n this.toggleFullscreenLock--\r\n };\r\n _proto._onShowContextMenu = function(x, y, selection) {\r\n if (this._contextMenu) {\r\n this._contextMenu._show(x, y, selection)\r\n }\r\n };\r\n _proto._onHideContextMenu = function() {\r\n if (this._contextMenu) {\r\n this._contextMenu._hide()\r\n }\r\n };\r\n _proto._onShowContextToolbox = function(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 _proto._onHideContextToolbox = function() {\r\n if (this._contextToolbox) {\r\n this._contextToolbox._hide()\r\n }\r\n };\r\n _proto._getDiagramUnitValue = function(value) {\r\n var _getDiagram10 = (0, _diagram.getDiagram)(),\r\n DiagramUnit = _getDiagram10.DiagramUnit;\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 _proto._updateReadOnlyState = function() {\r\n var _getDiagram11 = (0, _diagram.getDiagram)(),\r\n DiagramCommand = _getDiagram11.DiagramCommand;\r\n var readOnly = this.isReadOnlyMode();\r\n this._executeDiagramCommand(DiagramCommand.ToggleReadOnly, readOnly)\r\n };\r\n _proto._updateZoomLevelState = function() {\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 _getDiagram12 = (0, _diagram.getDiagram)(),\r\n DiagramCommand = _getDiagram12.DiagramCommand;\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 _getDiagram13 = (0, _diagram.getDiagram)(),\r\n _DiagramCommand = _getDiagram13.DiagramCommand;\r\n this._executeDiagramCommand(_DiagramCommand.ZoomLevel, _zoomLevel)\r\n }\r\n };\r\n _proto._updateZoomLevelItemsState = function() {\r\n var zoomLevelItems = this.option(\"zoomLevel.items\");\r\n if (!Array.isArray(zoomLevelItems)) {\r\n return\r\n }\r\n var _getDiagram14 = (0, _diagram.getDiagram)(),\r\n DiagramCommand = _getDiagram14.DiagramCommand;\r\n this._executeDiagramCommand(DiagramCommand.ZoomLevelItems, zoomLevelItems)\r\n };\r\n _proto._updateAutoZoomState = function() {\r\n var _getDiagram15 = (0, _diagram.getDiagram)(),\r\n DiagramCommand = _getDiagram15.DiagramCommand;\r\n this._executeDiagramCommand(DiagramCommand.SwitchAutoZoom, this._getAutoZoomValue(this.option(\"autoZoomMode\")))\r\n };\r\n _proto._updateSimpleViewState = function() {\r\n var _getDiagram16 = (0, _diagram.getDiagram)(),\r\n DiagramCommand = _getDiagram16.DiagramCommand;\r\n this._executeDiagramCommand(DiagramCommand.ToggleSimpleView, this.option(\"simpleView\"))\r\n };\r\n _proto._updateFullscreenState = function() {\r\n var fullscreen = this.option(\"fullScreen\");\r\n this._executeDiagramFullscreenCommand(fullscreen);\r\n this._onToggleFullScreen(fullscreen)\r\n };\r\n _proto._updateShowGridState = function() {\r\n var _getDiagram17 = (0, _diagram.getDiagram)(),\r\n DiagramCommand = _getDiagram17.DiagramCommand;\r\n this._executeDiagramCommand(DiagramCommand.ShowGrid, this.option(\"showGrid\"))\r\n };\r\n _proto._updateSnapToGridState = function() {\r\n var _getDiagram18 = (0, _diagram.getDiagram)(),\r\n DiagramCommand = _getDiagram18.DiagramCommand;\r\n this._executeDiagramCommand(DiagramCommand.SnapToGrid, this.option(\"snapToGrid\"))\r\n };\r\n _proto._updateGridSizeState = function() {\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 _getDiagram19 = (0, _diagram.getDiagram)(),\r\n DiagramCommand = _getDiagram19.DiagramCommand;\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 _getDiagram20 = (0, _diagram.getDiagram)(),\r\n _DiagramCommand2 = _getDiagram20.DiagramCommand;\r\n this._executeDiagramCommand(_DiagramCommand2.GridSize, _gridSize)\r\n }\r\n };\r\n _proto._updateGridSizeItemsState = function() {\r\n var gridSizeItems = this.option(\"gridSize.items\");\r\n if (!Array.isArray(gridSizeItems)) {\r\n return\r\n }\r\n var _getDiagram21 = (0, _diagram.getDiagram)(),\r\n DiagramCommand = _getDiagram21.DiagramCommand;\r\n this._executeDiagramCommand(DiagramCommand.GridSizeItems, gridSizeItems)\r\n };\r\n _proto._updateUnitItems = function() {\r\n var _getDiagram22 = (0, _diagram.getDiagram)(),\r\n DiagramLocalizationService = _getDiagram22.DiagramLocalizationService;\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 _proto._getUnitItems = function() {\r\n var _getDiagram23 = (0, _diagram.getDiagram)(),\r\n DiagramUnit = _getDiagram23.DiagramUnit;\r\n var items = {};\r\n items[DiagramUnit.In] = _message.default.format(\"dxDiagram-unitIn\");\r\n items[DiagramUnit.Cm] = _message.default.format(\"dxDiagram-unitCm\");\r\n items[DiagramUnit.Px] = _message.default.format(\"dxDiagram-unitPx\");\r\n return items\r\n };\r\n _proto._updateFormatUnitsMethod = function() {\r\n var _getDiagram24 = (0, _diagram.getDiagram)(),\r\n DiagramLocalizationService = _getDiagram24.DiagramLocalizationService;\r\n DiagramLocalizationService.formatUnit = function(value) {\r\n return _number.default.format(value)\r\n }\r\n };\r\n _proto._updateViewUnitsState = function() {\r\n var _getDiagram25 = (0, _diagram.getDiagram)(),\r\n DiagramCommand = _getDiagram25.DiagramCommand;\r\n this._executeDiagramCommand(DiagramCommand.ViewUnits, this._getDiagramUnitValue(this.option(\"viewUnits\")))\r\n };\r\n _proto._updateUnitsState = function() {\r\n var _getDiagram26 = (0, _diagram.getDiagram)(),\r\n DiagramCommand = _getDiagram26.DiagramCommand;\r\n this._executeDiagramCommand(DiagramCommand.Units, this._getDiagramUnitValue(this.option(\"units\")))\r\n };\r\n _proto._updatePageSizeState = function() {\r\n var pageSize = this.option(\"pageSize\");\r\n if (!pageSize || !pageSize.width || !pageSize.height) {\r\n return\r\n }\r\n var _getDiagram27 = (0, _diagram.getDiagram)(),\r\n DiagramCommand = _getDiagram27.DiagramCommand;\r\n this._executeDiagramCommand(DiagramCommand.PageSize, pageSize)\r\n };\r\n _proto._updatePageSizeItemsState = function() {\r\n var pageSizeItems = this.option(\"pageSize.items\");\r\n if (!Array.isArray(pageSizeItems)) {\r\n return\r\n }\r\n var _getDiagram28 = (0, _diagram.getDiagram)(),\r\n DiagramCommand = _getDiagram28.DiagramCommand;\r\n this._executeDiagramCommand(DiagramCommand.PageSizeItems, pageSizeItems)\r\n };\r\n _proto._updatePageOrientationState = function() {\r\n var _getDiagram29 = (0, _diagram.getDiagram)(),\r\n DiagramCommand = _getDiagram29.DiagramCommand;\r\n this._executeDiagramCommand(DiagramCommand.PageLandscape, \"landscape\" === this.option(\"pageOrientation\"))\r\n };\r\n _proto._updatePageColorState = function() {\r\n var _getDiagram30 = (0, _diagram.getDiagram)(),\r\n DiagramCommand = _getDiagram30.DiagramCommand;\r\n this._executeDiagramCommand(DiagramCommand.PageColor, this.option(\"pageColor\"))\r\n };\r\n _proto._updateShapeTexts = function() {\r\n var _getDiagram31 = (0, _diagram.getDiagram)(),\r\n DiagramLocalizationService = _getDiagram31.DiagramLocalizationService;\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 _proto._getShapeTexts = function() {\r\n var _getDiagram32 = (0, _diagram.getDiagram)(),\r\n ShapeTypes = _getDiagram32.ShapeTypes;\r\n var texts = {};\r\n texts[ShapeTypes.Text] = _message.default.format(\"dxDiagram-shapeText\");\r\n texts[ShapeTypes.Rectangle] = _message.default.format(\"dxDiagram-shapeRectangle\");\r\n texts[ShapeTypes.Ellipse] = _message.default.format(\"dxDiagram-shapeEllipse\");\r\n texts[ShapeTypes.Cross] = _message.default.format(\"dxDiagram-shapeCross\");\r\n texts[ShapeTypes.Triangle] = _message.default.format(\"dxDiagram-shapeTriangle\");\r\n texts[ShapeTypes.Diamond] = _message.default.format(\"dxDiagram-shapeDiamond\");\r\n texts[ShapeTypes.Heart] = _message.default.format(\"dxDiagram-shapeHeart\");\r\n texts[ShapeTypes.Pentagon] = _message.default.format(\"dxDiagram-shapePentagon\");\r\n texts[ShapeTypes.Hexagon] = _message.default.format(\"dxDiagram-shapeHexagon\");\r\n texts[ShapeTypes.Octagon] = _message.default.format(\"dxDiagram-shapeOctagon\");\r\n texts[ShapeTypes.Star] = _message.default.format(\"dxDiagram-shapeStar\");\r\n texts[ShapeTypes.ArrowLeft] = _message.default.format(\"dxDiagram-shapeArrowLeft\");\r\n texts[ShapeTypes.ArrowUp] = _message.default.format(\"dxDiagram-shapeArrowUp\");\r\n texts[ShapeTypes.ArrowRight] = _message.default.format(\"dxDiagram-shapeArrowRight\");\r\n texts[ShapeTypes.ArrowDown] = _message.default.format(\"dxDiagram-shapeArrowDown\");\r\n texts[ShapeTypes.ArrowUpDown] = _message.default.format(\"dxDiagram-shapeArrowUpDown\");\r\n texts[ShapeTypes.ArrowLeftRight] = _message.default.format(\"dxDiagram-shapeArrowLeftRight\");\r\n texts[ShapeTypes.Process] = _message.default.format(\"dxDiagram-shapeProcess\");\r\n texts[ShapeTypes.Decision] = _message.default.format(\"dxDiagram-shapeDecision\");\r\n texts[ShapeTypes.Terminator] = _message.default.format(\"dxDiagram-shapeTerminator\");\r\n texts[ShapeTypes.PredefinedProcess] = _message.default.format(\"dxDiagram-shapePredefinedProcess\");\r\n texts[ShapeTypes.Document] = _message.default.format(\"dxDiagram-shapeDocument\");\r\n texts[ShapeTypes.MultipleDocuments] = _message.default.format(\"dxDiagram-shapeMultipleDocuments\");\r\n texts[ShapeTypes.ManualInput] = _message.default.format(\"dxDiagram-shapeManualInput\");\r\n texts[ShapeTypes.Preparation] = _message.default.format(\"dxDiagram-shapePreparation\");\r\n texts[ShapeTypes.Data] = _message.default.format(\"dxDiagram-shapeData\");\r\n texts[ShapeTypes.Database] = _message.default.format(\"dxDiagram-shapeDatabase\");\r\n texts[ShapeTypes.HardDisk] = _message.default.format(\"dxDiagram-shapeHardDisk\");\r\n texts[ShapeTypes.InternalStorage] = _message.default.format(\"dxDiagram-shapeInternalStorage\");\r\n texts[ShapeTypes.PaperTape] = _message.default.format(\"dxDiagram-shapePaperTape\");\r\n texts[ShapeTypes.ManualOperation] = _message.default.format(\"dxDiagram-shapeManualOperation\");\r\n texts[ShapeTypes.Delay] = _message.default.format(\"dxDiagram-shapeDelay\");\r\n texts[ShapeTypes.StoredData] = _message.default.format(\"dxDiagram-shapeStoredData\");\r\n texts[ShapeTypes.Display] = _message.default.format(\"dxDiagram-shapeDisplay\");\r\n texts[ShapeTypes.Merge] = _message.default.format(\"dxDiagram-shapeMerge\");\r\n texts[ShapeTypes.Connector] = _message.default.format(\"dxDiagram-shapeConnector\");\r\n texts[ShapeTypes.Or] = _message.default.format(\"dxDiagram-shapeOr\");\r\n texts[ShapeTypes.SummingJunction] = _message.default.format(\"dxDiagram-shapeSummingJunction\");\r\n texts[ShapeTypes.Container] = _message.default.format(\"dxDiagram-shapeContainerDefaultText\");\r\n texts[ShapeTypes.VerticalContainer] = _message.default.format(\"dxDiagram-shapeVerticalContainer\");\r\n texts[ShapeTypes.HorizontalContainer] = _message.default.format(\"dxDiagram-shapeHorizontalContainer\");\r\n texts[ShapeTypes.Card] = _message.default.format(\"dxDiagram-shapeCardDefaultText\");\r\n texts[ShapeTypes.CardWithImageOnLeft] = _message.default.format(\"dxDiagram-shapeCardWithImageOnLeft\");\r\n texts[ShapeTypes.CardWithImageOnTop] = _message.default.format(\"dxDiagram-shapeCardWithImageOnTop\");\r\n texts[ShapeTypes.CardWithImageOnRight] = _message.default.format(\"dxDiagram-shapeCardWithImageOnRight\");\r\n return texts\r\n };\r\n _proto._updateEventSubscriptionMethods = function() {\r\n var _getDiagram33 = (0, _diagram.getDiagram)(),\r\n RenderHelper = _getDiagram33.RenderHelper;\r\n RenderHelper.addEventListener = function(element, eventName, handler) {\r\n _events_engine.default.on(element, eventName, handler)\r\n };\r\n RenderHelper.removeEventListener = function(element, eventName, handler) {\r\n _events_engine.default.off(element, eventName, handler)\r\n }\r\n };\r\n _proto._updateDefaultItemProperties = function() {\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 _proto._updateEditingSettings = function() {\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 _proto.fitToContent = function() {\r\n var _getDiagram34 = (0, _diagram.getDiagram)(),\r\n DiagramCommand = _getDiagram34.DiagramCommand;\r\n this._executeDiagramCommand(DiagramCommand.FitToScreen)\r\n };\r\n _proto.fitToWidth = function() {\r\n var _getDiagram35 = (0, _diagram.getDiagram)(),\r\n DiagramCommand = _getDiagram35.DiagramCommand;\r\n this._executeDiagramCommand(DiagramCommand.FitToWidth)\r\n };\r\n _proto.focus = function() {\r\n this._captureFocus()\r\n };\r\n _proto.export = function() {\r\n return this._getDiagramData()\r\n };\r\n _proto.exportTo = function(format, callback) {\r\n var command = this._getDiagramExportToCommand(format);\r\n this._executeDiagramCommand(command, callback)\r\n };\r\n _proto._getDiagramExportToCommand = function(format) {\r\n var _getDiagram36 = (0, _diagram.getDiagram)(),\r\n DiagramCommand = _getDiagram36.DiagramCommand;\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 _proto.import = function(data, updateExistingItemsOnly) {\r\n this._setDiagramData(data, updateExistingItemsOnly);\r\n this._raiseDataChangeAction()\r\n };\r\n _proto.updateToolbox = function() {\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 _proto._getDefaultOptions = function() {\r\n return (0, _extend.extend)(_Widget.prototype._getDefaultOptions.call(this), {\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 _proto._raiseDataChangeAction = function() {\r\n if (this._initialized) {\r\n this.option(\"hasChanges\", true)\r\n }\r\n };\r\n _proto._raiseEdgeInsertedAction = function(data, callback, errorCallback) {\r\n if (this._edgesOption) {\r\n this._edgesOption.insert(data, callback, errorCallback)\r\n }\r\n };\r\n _proto._raiseEdgeUpdatedAction = function(key, data, callback, errorCallback) {\r\n if (this._edgesOption) {\r\n this._edgesOption.update(key, data, callback, errorCallback)\r\n }\r\n };\r\n _proto._raiseEdgeRemovedAction = function(key, data, callback, errorCallback) {\r\n if (this._edgesOption) {\r\n this._edgesOption.remove(key, data, callback, errorCallback)\r\n }\r\n };\r\n _proto._raiseNodeInsertedAction = function(data, callback, errorCallback) {\r\n if (this._nodesOption) {\r\n this._nodesOption.insert(data, callback, errorCallback)\r\n }\r\n };\r\n _proto._raiseNodeUpdatedAction = function(key, data, callback, errorCallback) {\r\n if (this._nodesOption) {\r\n this._nodesOption.update(key, data, callback, errorCallback)\r\n }\r\n };\r\n _proto._raiseNodeRemovedAction = function(key, data, callback, errorCallback) {\r\n if (this._nodesOption) {\r\n this._nodesOption.remove(key, data, callback, errorCallback)\r\n }\r\n };\r\n _proto._raiseToolboxDragStart = function() {\r\n if (this._toolbox && this.isMobileScreenSize()) {\r\n this._toolbox.hide();\r\n this._toolboxDragHidden = true\r\n }\r\n };\r\n _proto._raiseToolboxDragEnd = function() {\r\n if (this._toolbox && this._toolboxDragHidden) {\r\n this._toolbox.show();\r\n delete this._toolboxDragHidden\r\n }\r\n };\r\n _proto._raiseTextInputStart = function() {\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 _proto._raiseTextInputEnd = function() {\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 _proto._createItemClickAction = function() {\r\n this._itemClickAction = this._createActionByOption(\"onItemClick\")\r\n };\r\n _proto._createItemDblClickAction = function() {\r\n this._itemDblClickAction = this._createActionByOption(\"onItemDblClick\")\r\n };\r\n _proto._createSelectionChangedAction = function() {\r\n this._selectionChangedAction = this._createActionByOption(\"onSelectionChanged\")\r\n };\r\n _proto._createRequestEditOperationAction = function() {\r\n this._requestEditOperationAction = this._createActionByOption(\"onRequestEditOperation\")\r\n };\r\n _proto._createRequestLayoutUpdateAction = function() {\r\n this._requestLayoutUpdateAction = this._createActionByOption(\"onRequestLayoutUpdate\")\r\n };\r\n _proto._createCustomCommand = function() {\r\n this._customCommandAction = this._createActionByOption(\"onCustomCommand\")\r\n };\r\n _proto._raiseItemClickAction = function(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 _proto._raiseItemDblClickAction = function(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 _proto._raiseSelectionChanged = function(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 _proto._raiseRequestEditOperation = function(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 _proto._getModelOperation = function(operation) {\r\n var _getDiagram37 = (0, _diagram.getDiagram)(),\r\n DiagramModelOperation = _getDiagram37.DiagramModelOperation;\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 _proto._getRequestEditOperationEventArgs = function(operation, args) {\r\n var _getDiagram38 = (0, _diagram.getDiagram)(),\r\n DiagramModelOperation = _getDiagram38.DiagramModelOperation,\r\n ConnectorPosition = _getDiagram38.ConnectorPosition;\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((function(pt) {\r\n return {\r\n x: pt.x,\r\n y: pt.y\r\n }\r\n })),\r\n oldPoints: args.oldPoints && args.oldPoints.map((function(pt) {\r\n return {\r\n x: pt.x,\r\n y: pt.y\r\n }\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 _proto._nativeItemToDiagramItem = function(nativeItem) {\r\n var _getDiagram39 = (0, _diagram.getDiagram)(),\r\n NativeShape = _getDiagram39.NativeShape;\r\n var createMethod = nativeItem instanceof NativeShape ? this._nativeShapeToDiagramShape.bind(this) : this._nativeConnectorToDiagramConnector.bind(this);\r\n return (0, _extend.extend)({\r\n id: nativeItem.id,\r\n key: nativeItem.key,\r\n dataItem: void 0\r\n }, createMethod(nativeItem))\r\n };\r\n _proto._nativeShapeToDiagramShape = function(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 _proto._nativeConnectorToDiagramConnector = function(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((function(pt) {\r\n return {\r\n x: pt.x,\r\n y: pt.y\r\n }\r\n }))\r\n }\r\n };\r\n _proto.getItemByKey = function(key) {\r\n var nativeItem = this._diagramInstance && this._diagramInstance.getNativeItemByDataKey(key);\r\n return nativeItem && this._nativeItemToDiagramItem(nativeItem)\r\n };\r\n _proto.getItemById = function(id) {\r\n var nativeItem = this._diagramInstance && this._diagramInstance.getNativeItemByKey(id);\r\n return nativeItem && this._nativeItemToDiagramItem(nativeItem)\r\n };\r\n _proto.getItems = function() {\r\n var _this14 = this;\r\n return this._diagramInstance.getNativeItems().map((function(nativeItem) {\r\n return nativeItem && _this14._nativeItemToDiagramItem(nativeItem)\r\n }))\r\n };\r\n _proto.getSelectedItems = function() {\r\n var _this15 = this;\r\n return this._diagramInstance.getNativeSelectedItems().map((function(nativeItem) {\r\n return nativeItem && _this15._nativeItemToDiagramItem(nativeItem)\r\n }))\r\n };\r\n _proto.setSelectedItems = function(items) {\r\n return this._diagramInstance.setSelectedItems(items.map((function(item) {\r\n return item.id\r\n })))\r\n };\r\n _proto.scrollToItem = function(item) {\r\n return this._diagramInstance.scrollToItems([item.id])\r\n };\r\n _proto._invalidateContextMenuCommands = function() {\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 _proto._invalidateMainToolbarCommands = function() {\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 _proto._invalidateHistoryToolbarCommands = function() {\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 _proto._invalidateViewToolbarCommands = function() {\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 _proto._invalidateToolboxGroups = function() {\r\n if (this._toolbox) {\r\n this._toolbox.option({\r\n toolboxGroups: this._getToolboxGroups()\r\n })\r\n }\r\n };\r\n _proto._optionChanged = function(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 _proto._optionChangedCore = function(args) {\r\n var _this16 = this;\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((function(toolbar) {\r\n toolbar.option(\"export\", _this16.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 _Widget.prototype._optionChanged.call(this, args)\r\n }\r\n };\r\n return Diagram\r\n}(_ui.default);\r\n(0, _component_registrator.default)(\"dxDiagram\", Diagram);\r\nvar _default = Diagram;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/diagram/ui.diagram.main_toolbar.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _uiDiagram = _interopRequireDefault(require(\"./ui.diagram.toolbar\"));\r\nvar _diagram = _interopRequireDefault(require(\"./diagram.commands_manager\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar DiagramMainToolbar = function(_DiagramToolbar) {\r\n _inheritsLoose(DiagramMainToolbar, _DiagramToolbar);\r\n\r\n function DiagramMainToolbar() {\r\n return _DiagramToolbar.apply(this, arguments) || this\r\n }\r\n var _proto = DiagramMainToolbar.prototype;\r\n _proto._getCommands = function() {\r\n return _diagram.default.getMainToolbarCommands(this.option(\"commands\"), this.option(\"excludeCommands\"))\r\n };\r\n return DiagramMainToolbar\r\n}(_uiDiagram.default);\r\nvar _default = DiagramMainToolbar;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/diagram/ui.diagram.menu_helper.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _icon = require(\"../../core/utils/icon\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nvar DIAGRAM_CONTEXT_MENU_CLASS = \"dx-diagram-contextmenu\";\r\nvar DiagramMenuHelper = {\r\n getContextMenuItemTemplate: function(contextMenu, itemData, itemIndex, itemElement) {\r\n var $itemElement = (0, _renderer.default)(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 = (0, _icon.getImageContainer)(itemData.icon);\r\n $itemElement.append($iconElement)\r\n } else if (contextMenu._menuHasCheckedItems && true === contextMenu._menuHasCheckedItems[itemKey]) {\r\n var $checkElement = (0, _icon.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: function() {\r\n return DIAGRAM_CONTEXT_MENU_CLASS\r\n },\r\n onContextMenuItemClick: function(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: function(item) {\r\n return \"object\" === _typeof(item.value) ? JSON.stringify(item.value) : item.value\r\n },\r\n getItemOptionText: function(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: function(indexPath) {\r\n var parentIndexPath = indexPath.slice(0, indexPath.length - 1);\r\n return this._getItemOptionTextCore(parentIndexPath)\r\n },\r\n _getItemOptionTextCore: function(indexPath) {\r\n return indexPath.reduce((function(r, i) {\r\n return r + \"items[\".concat(i, \"].\")\r\n }), \"\")\r\n },\r\n getItemCommandParameter: function(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: function(contextMenu, itemOptionText, rootCommandKey, items) {\r\n var _this = this;\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((function(item) {\r\n return {\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 }));\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: function(contextMenu, itemOptionText, visible) {\r\n contextMenu.option(itemOptionText + \"visible\", visible)\r\n },\r\n updateContextMenuItemValue: function(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((function(item, index) {\r\n item.checked = item.value === value\r\n }))\r\n }\r\n }\r\n },\r\n _setContextMenuHasCheckedItems: function(contextMenu, key) {\r\n if (!contextMenu._menuHasCheckedItems) {\r\n contextMenu._menuHasCheckedItems = {}\r\n }\r\n contextMenu._menuHasCheckedItems[key] = true\r\n }\r\n};\r\nvar _default = DiagramMenuHelper;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/diagram/ui.diagram.panel.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _ui = _interopRequireDefault(require(\"../widget/ui.widget\"));\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _index = require(\"../../events/utils/index\");\r\nvar _pointer = _interopRequireDefault(require(\"../../events/pointer\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar POINTERUP_EVENT_NAME = (0, _index.addNamespace)(_pointer.default.up, \"dxDiagramPanel\");\r\nvar PREVENT_REFOCUS_SELECTOR = \".dx-textbox\";\r\nvar DiagramPanel = function(_Widget) {\r\n _inheritsLoose(DiagramPanel, _Widget);\r\n\r\n function DiagramPanel() {\r\n return _Widget.apply(this, arguments) || this\r\n }\r\n var _proto = DiagramPanel.prototype;\r\n _proto._init = function() {\r\n _Widget.prototype._init.call(this);\r\n this._createOnPointerUpAction()\r\n };\r\n _proto._render = function() {\r\n _Widget.prototype._render.call(this);\r\n this._attachPointerUpEvent()\r\n };\r\n _proto._getPointerUpElements = function() {\r\n return [this.$element()]\r\n };\r\n _proto._attachPointerUpEvent = function() {\r\n var _this = this;\r\n var elements = this._getPointerUpElements();\r\n elements.forEach((function(element) {\r\n _events_engine.default.off(element, POINTERUP_EVENT_NAME);\r\n _events_engine.default.on(element, POINTERUP_EVENT_NAME, (function(e) {\r\n if (!(0, _renderer.default)(e.target).closest(PREVENT_REFOCUS_SELECTOR).length) {\r\n _this._onPointerUpAction()\r\n }\r\n }))\r\n }))\r\n };\r\n _proto._createOnPointerUpAction = function() {\r\n this._onPointerUpAction = this._createActionByOption(\"onPointerUp\")\r\n };\r\n _proto._optionChanged = function(args) {\r\n switch (args.name) {\r\n case \"onPointerUp\":\r\n this._createOnPointerUpAction();\r\n break;\r\n default:\r\n _Widget.prototype._optionChanged.call(this, args)\r\n }\r\n };\r\n return DiagramPanel\r\n}(_ui.default);\r\nvar _default = DiagramPanel;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/diagram/ui.diagram.properties_panel.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _size = require(\"../../core/utils/size\");\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _scroll_view = _interopRequireDefault(require(\"../scroll_view\"));\r\nvar _tab_panel = _interopRequireDefault(require(\"../tab_panel\"));\r\nvar _uiDiagram = _interopRequireDefault(require(\"./ui.diagram.floating_panel\"));\r\nvar _diagram = _interopRequireDefault(require(\"./diagram.commands_manager\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\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\nvar DiagramPropertiesPanel = function(_DiagramFloatingPanel) {\r\n _inheritsLoose(DiagramPropertiesPanel, _DiagramFloatingPanel);\r\n\r\n function DiagramPropertiesPanel() {\r\n return _DiagramFloatingPanel.apply(this, arguments) || this\r\n }\r\n var _proto = DiagramPropertiesPanel.prototype;\r\n _proto._init = function() {\r\n _DiagramFloatingPanel.prototype._init.call(this);\r\n this._commandTabs = _diagram.default.getPropertyPanelCommandTabs(this.option(\"propertyTabs\"));\r\n this._createOnCreateToolbar();\r\n this._createOnSelectedGroupChanged()\r\n };\r\n _proto._initMarkup = function() {\r\n this._toolbars = [];\r\n this._selectedToolbar = void 0;\r\n _DiagramFloatingPanel.prototype._initMarkup.call(this)\r\n };\r\n _proto._getPopupClass = function() {\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 _proto._getPopupWidth = function() {\r\n return this.isMobileView() ? \"100%\" : DIAGRAM_PROPERTIES_POPUP_WIDTH\r\n };\r\n _proto._getPopupHeight = function() {\r\n return DIAGRAM_PROPERTIES_POPUP_HEIGHT\r\n };\r\n _proto._getPopupPosition = function() {\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 _proto._getPopupAnimation = function() {\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 _DiagramFloatingPanel.prototype._getPopupAnimation.call(this)\r\n };\r\n _proto._getPopupOptions = function() {\r\n return (0, _extend.extend)(_DiagramFloatingPanel.prototype._getPopupOptions.call(this), {\r\n showTitle: this.isMobileView(),\r\n showCloseButton: this.isMobileView()\r\n })\r\n };\r\n _proto._renderPopupContent = function($parent) {\r\n if (!this._commandTabs.length) {\r\n return\r\n }\r\n var $panel = (0, _renderer.default)(\"<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 _proto._hasTabPanel = function() {\r\n return this._commandTabs.length > 1\r\n };\r\n _proto._renderTabPanel = function($parent) {\r\n var _this = this;\r\n var $tabPanel = (0, _renderer.default)(\"<div>\").appendTo($parent);\r\n this._tabPanel = this._createComponent($tabPanel, _tab_panel.default, {\r\n focusStateEnabled: false,\r\n dataSource: this._commandTabs,\r\n itemTemplate: function(data, index, $element) {\r\n _this._renderTabContent($element, data, index)\r\n },\r\n onSelectionChanged: function(e) {\r\n _this._onSelectedGroupChangedAction();\r\n _this._onPointerUpAction()\r\n },\r\n onContentReady: function(e) {\r\n _this._popup.option(\"height\", (0, _size.getHeight)(e.component.$element()) + _this._getVerticalPaddingsAndBorders());\r\n if (_this._firstScrollView) {\r\n _this._scrollViewHeight = (0, _size.getOuterHeight)(_this._firstScrollView.$element());\r\n _this._firstScrollView.option(\"height\", _this._scrollViewHeight)\r\n }\r\n }\r\n })\r\n };\r\n _proto._renderTabContent = function($parent, tab, index, isSingleTab) {\r\n var $scrollViewWrapper = (0, _renderer.default)(\"<div>\").appendTo($parent);\r\n var scrollView = this._createComponent($scrollViewWrapper, _scroll_view.default, {\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\", (0, _size.getHeight)(scrollView.$element()) + this._getVerticalPaddingsAndBorders())\r\n } else {\r\n this._firstScrollView = this._firstScrollView || scrollView\r\n }\r\n };\r\n _proto._renderTabInnerContent = function($parent, group, index) {\r\n var _this2 = this;\r\n if (group.groups) {\r\n group.groups.forEach((function(sg, si) {\r\n _this2._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 _proto._renderTabGroupContent = function($parent, index, title, commands) {\r\n if (title) {\r\n (0, _renderer.default)(\"<div>\").addClass(DIAGRAM_PROPERTIES_PANEL_GROUP_TITLE_CLASS).appendTo($parent).text(title)\r\n }\r\n var $toolbar = (0, _renderer.default)(\"<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 _proto.getActiveToolbars = function() {\r\n var index = this._tabPanel ? this._tabPanel.option(\"selectedIndex\") : 0;\r\n return this._toolbars[index]\r\n };\r\n _proto._createOnCreateToolbar = function() {\r\n this._onCreateToolbarAction = this._createActionByOption(\"onCreateToolbar\")\r\n };\r\n _proto._createOnSelectedGroupChanged = function() {\r\n this._onSelectedGroupChangedAction = this._createActionByOption(\"onSelectedGroupChanged\")\r\n };\r\n _proto._optionChanged = function(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 _DiagramFloatingPanel.prototype._optionChanged.call(this, args)\r\n }\r\n };\r\n return DiagramPropertiesPanel\r\n}(_uiDiagram.default);\r\nvar _default = DiagramPropertiesPanel;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/diagram/ui.diagram.properties_toolbar.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _uiDiagram = _interopRequireDefault(require(\"./ui.diagram.toolbar\"));\r\nvar _diagram = _interopRequireDefault(require(\"./diagram.commands_manager\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar DiagramPropertiesToolbar = function(_DiagramToolbar) {\r\n _inheritsLoose(DiagramPropertiesToolbar, _DiagramToolbar);\r\n\r\n function DiagramPropertiesToolbar() {\r\n return _DiagramToolbar.apply(this, arguments) || this\r\n }\r\n var _proto = DiagramPropertiesToolbar.prototype;\r\n _proto._getCommands = function() {\r\n return _diagram.default.getPropertiesToolbarCommands()\r\n };\r\n return DiagramPropertiesToolbar\r\n}(_uiDiagram.default);\r\nvar _default = DiagramPropertiesToolbar;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/diagram/ui.diagram.scroll_view.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _size = require(\"../../core/utils/size\");\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _ui = _interopRequireDefault(require(\"../widget/ui.widget\"));\r\nvar _scroll_view = _interopRequireDefault(require(\"../scroll_view\"));\r\nvar _m_widget_utils = require(\"../../__internal/grids/pivot_grid/m_widget_utils\");\r\nvar _diagram = require(\"./diagram.importer\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar DiagramScrollView = function(_Widget) {\r\n _inheritsLoose(DiagramScrollView, _Widget);\r\n\r\n function DiagramScrollView() {\r\n return _Widget.apply(this, arguments) || this\r\n }\r\n var _proto = DiagramScrollView.prototype;\r\n _proto._init = function() {\r\n _Widget.prototype._init.call(this);\r\n var _getDiagram = (0, _diagram.getDiagram)(),\r\n EventDispatcher = _getDiagram.EventDispatcher;\r\n this.onScroll = new EventDispatcher;\r\n this._createOnCreateDiagramAction()\r\n };\r\n _proto._initMarkup = function() {\r\n var _this = this;\r\n _Widget.prototype._initMarkup.call(this);\r\n var $scrollViewWrapper = (0, _renderer.default)(\"<div>\").appendTo(this.$element());\r\n var options = {\r\n direction: \"both\",\r\n bounceEnabled: false,\r\n scrollByContent: false,\r\n onScroll: function(_ref) {\r\n var scrollOffset = _ref.scrollOffset;\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, _scroll_view.default, options);\r\n this._onCreateDiagramAction({\r\n $parent: (0, _renderer.default)(this._scrollView.content()),\r\n scrollView: this\r\n })\r\n };\r\n _proto.setScroll = function(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 _proto.offsetScroll = function(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 _proto.getSize = function() {\r\n var _getDiagram2 = (0, _diagram.getDiagram)(),\r\n Size = _getDiagram2.Size;\r\n var $element = this._scrollView.$element();\r\n return new Size(Math.floor((0, _size.getWidth)($element)), Math.floor((0, _size.getHeight)($element)))\r\n };\r\n _proto.getScrollContainer = function() {\r\n return this._scrollView.$element()[0]\r\n };\r\n _proto.getScrollBarWidth = function() {\r\n return this.option(\"useNativeScrolling\") ? (0, _m_widget_utils.calculateScrollbarWidth)() : 0\r\n };\r\n _proto.detachEvents = function() {};\r\n _proto._raiseOnScroll = function(left, top) {\r\n var _getDiagram3 = (0, _diagram.getDiagram)(),\r\n Point = _getDiagram3.Point;\r\n this.onScroll.raise(\"notifyScrollChanged\", (function() {\r\n return new Point(left, top)\r\n }))\r\n };\r\n _proto._raiseOnScrollWithoutPoint = function() {\r\n var _this2 = this;\r\n var _getDiagram4 = (0, _diagram.getDiagram)(),\r\n Point = _getDiagram4.Point;\r\n this.onScroll.raise(\"notifyScrollChanged\", (function() {\r\n return new Point(_this2._scrollView.scrollLeft(), _this2._scrollView.scrollTop())\r\n }))\r\n };\r\n _proto._createOnCreateDiagramAction = function() {\r\n this._onCreateDiagramAction = this._createActionByOption(\"onCreateDiagram\")\r\n };\r\n _proto._optionChanged = function(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 _Widget.prototype._optionChanged.call(this, args)\r\n }\r\n };\r\n return DiagramScrollView\r\n}(_ui.default);\r\nvar _default = DiagramScrollView;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/diagram/ui.diagram.toolbar.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _size = require(\"../../core/utils/size\");\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _toolbar = _interopRequireDefault(require(\"../toolbar\"));\r\nvar _context_menu = _interopRequireDefault(require(\"../context_menu\"));\r\nvar _diagram = _interopRequireDefault(require(\"./diagram.bar\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _window = require(\"../../core/utils/window\");\r\nvar _uiDiagram = _interopRequireDefault(require(\"./ui.diagram.panel\"));\r\nvar _uiDiagram2 = _interopRequireDefault(require(\"./ui.diagram.menu_helper\"));\r\nvar _diagram2 = require(\"./diagram.importer\");\r\nrequire(\"../select_box\");\r\nrequire(\"../color_box\");\r\nrequire(\"../check_box\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\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\nvar DiagramToolbar = function(_DiagramPanel) {\r\n _inheritsLoose(DiagramToolbar, _DiagramPanel);\r\n\r\n function DiagramToolbar() {\r\n return _DiagramPanel.apply(this, arguments) || this\r\n }\r\n var _proto = DiagramToolbar.prototype;\r\n _proto._init = function() {\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 _DiagramPanel.prototype._init.call(this)\r\n };\r\n _proto._initMarkup = function() {\r\n _DiagramPanel.prototype._initMarkup.call(this);\r\n var isServerSide = !(0, _window.hasWindow)();\r\n if (!this.option(\"skipAdjustSize\") && !isServerSide) {\r\n (0, _size.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 (0, _size.setWidth)(this.$element(), (0, _size.getWidth)($toolbarContent))\r\n }\r\n };\r\n _proto._createMainElement = function() {\r\n return (0, _renderer.default)(\"<div>\").addClass(DIAGRAM_TOOLBAR_CLASS).appendTo(this._$element)\r\n };\r\n _proto._getCommands = function() {\r\n return this.option(\"commands\") || []\r\n };\r\n _proto._renderToolbar = function($toolbar) {\r\n var beforeCommands = this._commands.filter((function(command) {\r\n return -1 === [\"after\", \"center\"].indexOf(command.location)\r\n }));\r\n var centerCommands = this._commands.filter((function(command) {\r\n return \"center\" === command.location\r\n }));\r\n var afterCommands = this._commands.filter((function(command) {\r\n return \"after\" === command.location\r\n }));\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.default, {\r\n dataSource: dataSource\r\n })\r\n };\r\n _proto._prepareToolbarItems = function(items, location, actionHandler) {\r\n var _this = this;\r\n return items.map((function(item) {\r\n return (0, _extend.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 };\r\n _proto._createItem = function(item, location, actionHandler) {\r\n var _this2 = this;\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: function(data, index, element) {\r\n (0, _renderer.default)(element).addClass(DIAGRAM_TOOLBAR_SEPARATOR_CLASS)\r\n },\r\n menuItemTemplate: function(data, index, element) {\r\n (0, _renderer.default)(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: function(e) {\r\n return _this2._onItemInitialized(e.component, item)\r\n },\r\n onContentReady: function(e) {\r\n return _this2._onItemContentReady(e.component, item, actionHandler)\r\n }\r\n }\r\n }\r\n };\r\n _proto._createItemOptions = function(_ref) {\r\n var widget = _ref.widget,\r\n command = _ref.command,\r\n items = _ref.items,\r\n valueExpr = _ref.valueExpr,\r\n displayExpr = _ref.displayExpr,\r\n showText = _ref.showText,\r\n hint = _ref.hint,\r\n icon = _ref.icon;\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 _proto._createSelectBoxItemOptions = function(command, hint, items, valueExpr, displayExpr) {\r\n var options = this._createTextEditorItemOptions(hint);\r\n options = (0, _extend.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((function(i) {\r\n return void 0 !== i.icon\r\n }));\r\n if (isSelectButton) {\r\n options = (0, _extend.extend)(true, options, {\r\n options: {\r\n fieldTemplate: function(data, container) {\r\n (0, _renderer.default)(\"<i>\").addClass(data && data.icon || \"dx-diagram-i-selectbox-null-icon dx-diagram-i\").appendTo(container);\r\n (0, _renderer.default)(\"<div>\").dxTextBox({\r\n readOnly: true,\r\n stylingMode: \"outlined\"\r\n }).appendTo(container)\r\n },\r\n itemTemplate: function(data, index, container) {\r\n (0, _renderer.default)(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 _proto._createTextBoxItemOptions = function(command, hint) {\r\n var _this3 = this;\r\n var options = this._createTextEditorItemOptions(hint);\r\n options = (0, _extend.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: function(e) {\r\n var contextMenu = _this3._commandContextMenus[command];\r\n if (contextMenu) {\r\n _this3._toggleContextMenu(contextMenu)\r\n }\r\n }\r\n }\r\n }]\r\n }\r\n });\r\n return options\r\n };\r\n _proto._createColorBoxItemOptions = function(command, hint, icon) {\r\n var _this4 = this;\r\n var options = this._createTextEditorItemOptions(hint);\r\n if (icon) {\r\n options = (0, _extend.extend)(true, options, {\r\n options: {\r\n openOnFieldClick: true,\r\n fieldTemplate: function(data, container) {\r\n (0, _renderer.default)(\"<i>\").addClass(icon).css(\"borderBottomColor\", data).appendTo(container);\r\n (0, _renderer.default)(\"<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 = (0, _extend.extend)(true, options, {\r\n options: {\r\n onOpened: function() {\r\n if (_this4.option(\"isMobileView\")) {\r\n (0, _renderer.default)(\"body\").addClass(DIAGRAM_MOBILE_TOOLBAR_COLOR_BOX_OPENED_CLASS)\r\n }\r\n },\r\n onClosed: function() {\r\n (0, _renderer.default)(\"body\").removeClass(DIAGRAM_MOBILE_TOOLBAR_COLOR_BOX_OPENED_CLASS)\r\n }\r\n }\r\n });\r\n return options\r\n };\r\n _proto._createTextEditorItemOptions = function(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 _proto._createItemActionOptions = function(item, handler) {\r\n var _this5 = this;\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: function(e) {\r\n var parameter = _uiDiagram2.default.getItemCommandParameter(_this5, item, e.component.option(\"value\"));\r\n handler.call(_this5, 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: function(e) {\r\n if (!item.items) {\r\n var parameter = _uiDiagram2.default.getItemCommandParameter(_this5, item);\r\n handler.call(_this5, item.command, item.name, parameter)\r\n } else {\r\n var contextMenu = e.component._contextMenu;\r\n if (contextMenu) {\r\n _this5._toggleContextMenu(contextMenu)\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n };\r\n _proto._toggleContextMenu = function(contextMenu) {\r\n this._contextMenuList.forEach((function(cm) {\r\n if (contextMenu !== cm) {\r\n cm.hide()\r\n }\r\n }));\r\n contextMenu.toggle()\r\n };\r\n _proto._onItemInitialized = function(widget, item) {\r\n this._addItemHelper(item.command, new DiagramToolbarItemHelper(widget))\r\n };\r\n _proto._onItemContentReady = function(widget, item, actionHandler) {\r\n var _this6 = this;\r\n if ((\"dxButton\" === widget.NAME || \"dxTextBox\" === widget.NAME) && item.items) {\r\n var isTouchMode = this._isTouchMode();\r\n var $menuContainer = (0, _renderer.default)(\"<div>\").appendTo(this.$element());\r\n widget._contextMenu = this._createComponent($menuContainer, _context_menu.default, {\r\n items: item.items,\r\n target: widget.$element(),\r\n cssClass: _uiDiagram2.default.getContextMenuCssClass(),\r\n showEvent: \"\",\r\n hideOnOutsideClick: function(e) {\r\n return !isTouchMode && 0 === (0, _renderer.default)(e.target).closest(widget._contextMenu._dropDownButtonElement).length\r\n },\r\n focusStateEnabled: false,\r\n position: {\r\n at: \"left bottom\"\r\n },\r\n itemTemplate: function(itemData, itemIndex, itemElement) {\r\n _uiDiagram2.default.getContextMenuItemTemplate(this, itemData, itemIndex, itemElement)\r\n },\r\n onItemClick: function(_ref2) {\r\n var component = _ref2.component,\r\n itemData = _ref2.itemData;\r\n _uiDiagram2.default.onContextMenuItemClick(_this6, itemData, actionHandler.bind(_this6));\r\n if (!itemData.items || !itemData.items.length) {\r\n component.hide()\r\n }\r\n },\r\n onShowing: function(e) {\r\n if (_this6._showingSubMenu) {\r\n return\r\n }\r\n _this6._showingSubMenu = e.component;\r\n _this6._onSubMenuVisibilityChangingAction({\r\n visible: true,\r\n component: _this6\r\n });\r\n e.component.option(\"items\", e.component.option(\"items\"));\r\n delete _this6._showingSubMenu\r\n },\r\n onInitialized: function(_ref3) {\r\n var component = _ref3.component;\r\n return _this6._onContextMenuInitialized(component, item, widget)\r\n },\r\n onDisposing: function(_ref4) {\r\n var component = _ref4.component;\r\n return _this6._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 _proto._isTouchMode = function() {\r\n var _getDiagram = (0, _diagram2.getDiagram)(),\r\n Browser = _getDiagram.Browser;\r\n return Browser.TouchUI\r\n };\r\n _proto._onContextMenuInitialized = function(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 _proto._addItemHelper = function(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 _proto._addContextMenuHelper = function(item, widget, indexPath, rootWidget) {\r\n var _this7 = this;\r\n if (item.items) {\r\n item.items.forEach((function(subItem, index) {\r\n var itemIndexPath = indexPath.concat(index);\r\n _this7._addItemHelper(subItem.command, new DiagramToolbarSubItemHelper(widget, itemIndexPath, subItem.command, rootWidget));\r\n _this7._addContextMenuHelper(subItem, widget, itemIndexPath, rootWidget)\r\n }))\r\n }\r\n };\r\n _proto._onContextMenuDisposing = function(widget, item) {\r\n this._contextMenuList.splice(this._contextMenuList.indexOf(widget), 1);\r\n delete this._commandContextMenus[item.command]\r\n };\r\n _proto._executeCommand = function(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 _proto._createOnInternalCommand = function() {\r\n this._onInternalCommandAction = this._createActionByOption(\"onInternalCommand\")\r\n };\r\n _proto._createOnCustomCommand = function() {\r\n this._onCustomCommandAction = this._createActionByOption(\"onCustomCommand\")\r\n };\r\n _proto._setItemEnabled = function(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 _proto._setEnabled = function(enabled) {\r\n this._toolbarInstance.option(\"disabled\", !enabled);\r\n this._contextMenuList.forEach((function(contextMenu) {\r\n contextMenu.option(\"disabled\", !enabled)\r\n }))\r\n };\r\n _proto._setItemValue = function(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 _proto._setItemSubItems = function(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 _proto._createOnSubMenuVisibilityChangingAction = function() {\r\n this._onSubMenuVisibilityChangingAction = this._createActionByOption(\"onSubMenuVisibilityChanging\")\r\n };\r\n _proto._optionChanged = function(args) {\r\n switch (args.name) {\r\n case \"isMobileView\":\r\n (0, _renderer.default)(\"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 _DiagramPanel.prototype._optionChanged.call(this, args)\r\n }\r\n };\r\n _proto._getDefaultOptions = function() {\r\n return (0, _extend.extend)(_DiagramPanel.prototype._getDefaultOptions.call(this), {\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 _proto.setCommandChecked = function(command, checked) {\r\n this._setItemValue(command, checked)\r\n };\r\n _proto.setCommandEnabled = function(command, enabled) {\r\n this._setItemEnabled(command, enabled)\r\n };\r\n return DiagramToolbar\r\n}(_uiDiagram.default);\r\nvar DiagramToolbarBar = function(_DiagramBar) {\r\n _inheritsLoose(DiagramToolbarBar, _DiagramBar);\r\n\r\n function DiagramToolbarBar() {\r\n return _DiagramBar.apply(this, arguments) || this\r\n }\r\n var _proto2 = DiagramToolbarBar.prototype;\r\n _proto2.getCommandKeys = function() {\r\n return this._getKeys(this._owner._commands)\r\n };\r\n _proto2.setItemValue = function(key, value) {\r\n this._owner._setItemValue(key, value)\r\n };\r\n _proto2.setItemEnabled = function(key, enabled) {\r\n this._owner._setItemEnabled(key, enabled)\r\n };\r\n _proto2.setEnabled = function(enabled) {\r\n this._owner._setEnabled(enabled)\r\n };\r\n _proto2.setItemSubItems = function(key, items) {\r\n this._owner._setItemSubItems(key, items)\r\n };\r\n return DiagramToolbarBar\r\n}(_diagram.default);\r\nvar DiagramToolbarItemHelper = function() {\r\n function DiagramToolbarItemHelper(widget) {\r\n this._widget = widget\r\n }\r\n var _proto3 = DiagramToolbarItemHelper.prototype;\r\n _proto3.canUpdate = function(showingSubMenu) {\r\n return void 0 === showingSubMenu\r\n };\r\n _proto3.setEnabled = function(enabled) {\r\n this._widget.option(\"disabled\", !enabled)\r\n };\r\n _proto3.setValue = function(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 _proto3.setItems = function(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 _proto3._updateContextMenuItems = function(contextMenu, itemOptionText, rootCommandKey, items) {\r\n _uiDiagram2.default.updateContextMenuItems(contextMenu, itemOptionText, rootCommandKey, items)\r\n };\r\n _proto3._updateEditorItems = function(items) {\r\n if (\"items\" in this._widget.option()) {\r\n this._widget.option(\"items\", items.map((function(item) {\r\n return {\r\n value: _uiDiagram2.default.getItemValue(item),\r\n text: item.text\r\n }\r\n })))\r\n }\r\n };\r\n _proto3._updateEditorValue = function(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 _proto3._updateButtonValue = function(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 _proto3._updateContextMenuItemValue = function(contextMenu, itemOptionText, rootCommandKey, value) {\r\n _uiDiagram2.default.updateContextMenuItemValue(contextMenu, itemOptionText, rootCommandKey, value)\r\n };\r\n return DiagramToolbarItemHelper\r\n}();\r\nvar DiagramToolbarSubItemHelper = function(_DiagramToolbarItemHe) {\r\n _inheritsLoose(DiagramToolbarSubItemHelper, _DiagramToolbarItemHe);\r\n\r\n function DiagramToolbarSubItemHelper(widget, indexPath, rootCommandKey, rootWidget) {\r\n var _this8;\r\n _this8 = _DiagramToolbarItemHe.call(this, widget) || this;\r\n _this8._indexPath = indexPath;\r\n _this8._rootCommandKey = rootCommandKey;\r\n _this8._rootWidget = rootWidget;\r\n return _this8\r\n }\r\n var _proto4 = DiagramToolbarSubItemHelper.prototype;\r\n _proto4.canUpdate = function(showingSubMenu) {\r\n return _DiagramToolbarItemHe.prototype.canUpdate.call(this, showingSubMenu) || showingSubMenu === this._widget\r\n };\r\n _proto4.setEnabled = function(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 _proto4._hasEnabledCommandItems = function(items) {\r\n var _this9 = this;\r\n if (items) {\r\n return items.some((function(item) {\r\n return void 0 !== item.command && !item.disabled || _this9._hasEnabledCommandItems(item.items)\r\n }))\r\n }\r\n return false\r\n };\r\n _proto4.setValue = function(value) {\r\n this._updateContextMenuItemValue(this._widget, this._getItemOptionText(), this._rootCommandKey, value)\r\n };\r\n _proto4.setItems = function(items) {\r\n this._updateContextMenuItems(this._widget, this._getItemOptionText(), this._rootCommandKey, items)\r\n };\r\n _proto4._getItemOptionText = function() {\r\n return _uiDiagram2.default.getItemOptionText(this._widget, this._indexPath)\r\n };\r\n return DiagramToolbarSubItemHelper\r\n}(DiagramToolbarItemHelper);\r\nvar _default = DiagramToolbar;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/diagram/ui.diagram.toolbox.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _size = require(\"../../core/utils/size\");\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _window = require(\"../../core/utils/window\");\r\nvar _deferred = require(\"../../core/utils/deferred\");\r\nvar _message = _interopRequireDefault(require(\"../../localization/message\"));\r\nvar _text_box = _interopRequireDefault(require(\"../text_box\"));\r\nvar _accordion = _interopRequireDefault(require(\"../accordion\"));\r\nvar _scroll_view = _interopRequireDefault(require(\"../scroll_view\"));\r\nvar _tooltip = _interopRequireDefault(require(\"../tooltip\"));\r\nvar _diagram = require(\"./diagram.importer\");\r\nvar _uiDiagram = _interopRequireDefault(require(\"./ui.diagram.floating_panel\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\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\nvar DiagramToolbox = function(_DiagramFloatingPanel) {\r\n _inheritsLoose(DiagramToolbox, _DiagramFloatingPanel);\r\n\r\n function DiagramToolbox() {\r\n return _DiagramFloatingPanel.apply(this, arguments) || this\r\n }\r\n var _proto = DiagramToolbox.prototype;\r\n _proto._init = function() {\r\n _DiagramFloatingPanel.prototype._init.call(this);\r\n this._toolboxes = [];\r\n this._filterText = \"\";\r\n this._createOnShapeCategoryRenderedAction();\r\n this._createOnFilterChangedAction()\r\n };\r\n _proto._getPopupClass = function() {\r\n return DIAGRAM_TOOLBOX_POPUP_CLASS\r\n };\r\n _proto._getPopupHeight = function() {\r\n return this.isMobileView() ? \"100%\" : _DiagramFloatingPanel.prototype._getPopupHeight.call(this)\r\n };\r\n _proto._getPopupMaxHeight = function() {\r\n return this.isMobileView() ? \"100%\" : _DiagramFloatingPanel.prototype._getPopupMaxHeight.call(this)\r\n };\r\n _proto._getPopupMinHeight = function() {\r\n return DIAGRAM_TOOLBOX_MIN_HEIGHT\r\n };\r\n _proto._getPopupPosition = function() {\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 (0, _extend.extend)(position, {\r\n offset: this.option(\"offsetX\") + \" \" + this.option(\"offsetY\")\r\n })\r\n }\r\n return position\r\n };\r\n _proto._getPopupAnimation = function() {\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 _DiagramFloatingPanel.prototype._getPopupAnimation.call(this)\r\n };\r\n _proto._getPopupOptions = function() {\r\n var options = _DiagramFloatingPanel.prototype._getPopupOptions.call(this);\r\n if (!this.isMobileView()) {\r\n return (0, _extend.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 _proto._renderPopupContent = function($parent) {\r\n var panelHeight = \"100%\";\r\n if (this.option(\"showSearch\")) {\r\n var $inputContainer = (0, _renderer.default)(\"<div>\").addClass(DIAGRAM_TOOLBOX_INPUT_CONTAINER_CLASS).appendTo($parent);\r\n this._updateElementWidth($inputContainer);\r\n this._renderSearchInput($inputContainer);\r\n if ((0, _window.hasWindow)()) {\r\n panelHeight = \"calc(100% - \" + (0, _size.getHeight)(this._searchInput.$element()) + \"px)\"\r\n }\r\n }\r\n var $panel = (0, _renderer.default)(\"<div>\").addClass(DIAGRAM_TOOLBOX_PANEL_CLASS).appendTo($parent);\r\n (0, _size.setHeight)($panel, panelHeight);\r\n this._updateElementWidth($panel);\r\n this._renderScrollView($panel)\r\n };\r\n _proto._updateElementWidth = function($element) {\r\n if (void 0 !== this.option(\"toolboxWidth\")) {\r\n $element.css(\"width\", this.option(\"toolboxWidth\"))\r\n }\r\n };\r\n _proto.updateMaxHeight = function() {\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 += (0, _size.getOuterHeight)($title)\r\n }\r\n if (this._accordion) {\r\n maxHeight += (0, _size.getOuterHeight)(this._accordion.$element())\r\n }\r\n if (this._searchInput) {\r\n maxHeight += (0, _size.getOuterHeight)(this._searchInput.$element())\r\n }\r\n this.option(\"maxHeight\", maxHeight)\r\n };\r\n _proto._renderSearchInput = function($parent) {\r\n var _this = this;\r\n var $input = (0, _renderer.default)(\"<div>\").addClass(DIAGRAM_TOOLBOX_INPUT_CLASS).appendTo($parent);\r\n this._searchInput = this._createComponent($input, _text_box.default, {\r\n stylingMode: \"outlined\",\r\n placeholder: _message.default.format(\"dxDiagram-uiSearch\"),\r\n onValueChanged: function(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: function() {\r\n _this._searchInput.focus()\r\n }\r\n }\r\n }]\r\n })\r\n };\r\n _proto._renderScrollView = function($parent) {\r\n var _this2 = this;\r\n var $scrollViewWrapper = (0, _renderer.default)(\"<div>\").appendTo($parent);\r\n this._scrollView = this._createComponent($scrollViewWrapper, _scroll_view.default);\r\n var _moveIsAllowed = this._scrollView._moveIsAllowed.bind(this._scrollView);\r\n this._scrollView._moveIsAllowed = function(e) {\r\n for (var i = 0; i < _this2._toolboxes.length; i++) {\r\n var $element = _this2._toolboxes[i];\r\n if ((0, _renderer.default)($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 = (0, _renderer.default)(\"<div>\").appendTo(this._scrollView.content());\r\n this._updateElementWidth($accordion);\r\n this._renderAccordion($accordion)\r\n };\r\n _proto._getAccordionDataSource = function() {\r\n var _this3 = this;\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: function(widget, $element, data) {\r\n var $toolboxElement = (0, _renderer.default)($element);\r\n _this3._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 _this3._toolboxes.push($toolboxElement);\r\n if (\"\" !== _this3._filterText) {\r\n _this3._onFilterChangedAction({\r\n text: _this3._filterText,\r\n filteringToolboxes: _this3._toolboxes.length - 1\r\n })\r\n }\r\n _this3._createTooltips($toolboxElement)\r\n }\r\n };\r\n result.push(groupObj)\r\n }\r\n return result\r\n };\r\n _proto._createTooltips = function($toolboxElement) {\r\n var _this4 = this;\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((function(index, element) {\r\n var $target = (0, _renderer.default)(element);\r\n var title = $target.attr(\"title\");\r\n if (title) {\r\n var $tooltip = (0, _renderer.default)(\"<div>\").text(title).appendTo($container);\r\n _this4._createComponent($tooltip, _tooltip.default, {\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 _proto._isTouchMode = function() {\r\n var _getDiagram = (0, _diagram.getDiagram)(),\r\n Browser = _getDiagram.Browser;\r\n return Browser.TouchUI\r\n };\r\n _proto._renderAccordion = function($container) {\r\n var _this5 = this;\r\n this._accordion = this._createComponent($container, _accordion.default, {\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: function(data, index, $element) {\r\n data.onTemplate(_this5, $element, data)\r\n },\r\n onSelectionChanged: function(e) {\r\n _this5._updateScrollAnimateSubscription(e.component)\r\n },\r\n onContentReady: function(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 _this5._updateScrollAnimateSubscription(e.component)\r\n }\r\n })\r\n };\r\n _proto._updateScrollAnimateSubscription = function(component) {\r\n var _this6 = this;\r\n component._deferredAnimate = new _deferred.Deferred;\r\n component._deferredAnimate.done((function() {\r\n _this6.updateMaxHeight();\r\n _this6._scrollView.update();\r\n _this6._updateScrollAnimateSubscription(component)\r\n }))\r\n };\r\n _proto._onInputChanged = function(text) {\r\n this._filterText = text;\r\n this._onFilterChangedAction({\r\n text: this._filterText,\r\n filteringToolboxes: this._toolboxes.map((function($element, index) {\r\n return index\r\n }))\r\n });\r\n this.updateTooltips();\r\n this.updateMaxHeight();\r\n this._scrollView.update()\r\n };\r\n _proto.updateFilter = function() {\r\n this._onInputChanged(this._filterText)\r\n };\r\n _proto.updateTooltips = function() {\r\n var _this7 = this;\r\n this._toolboxes.forEach((function($element) {\r\n var $tooltipContainer = (0, _renderer.default)($element);\r\n _this7._createTooltips($tooltipContainer)\r\n }))\r\n };\r\n _proto._createOnShapeCategoryRenderedAction = function() {\r\n this._onShapeCategoryRenderedAction = this._createActionByOption(\"onShapeCategoryRendered\")\r\n };\r\n _proto._createOnFilterChangedAction = function() {\r\n this._onFilterChangedAction = this._createActionByOption(\"onFilterChanged\")\r\n };\r\n _proto._optionChanged = function(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 _DiagramFloatingPanel.prototype._optionChanged.call(this, args)\r\n }\r\n };\r\n return DiagramToolbox\r\n}(_uiDiagram.default);\r\nvar _default = DiagramToolbox;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/diagram/ui.diagram.view_toolbar.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _uiDiagram = _interopRequireDefault(require(\"./ui.diagram.toolbar\"));\r\nvar _diagram = _interopRequireDefault(require(\"./diagram.commands_manager\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar DiagramViewToolbar = function(_DiagramToolbar) {\r\n _inheritsLoose(DiagramViewToolbar, _DiagramToolbar);\r\n\r\n function DiagramViewToolbar() {\r\n return _DiagramToolbar.apply(this, arguments) || this\r\n }\r\n var _proto = DiagramViewToolbar.prototype;\r\n _proto._getCommands = function() {\r\n return _diagram.default.getViewToolbarCommands(this.option(\"commands\"), this.option(\"excludeCommands\"))\r\n };\r\n return DiagramViewToolbar\r\n}(_uiDiagram.default);\r\nvar _default = DiagramViewToolbar;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/dialog.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.custom = exports.confirm = exports.alert = void 0;\r\nvar _size = require(\"../core/utils/size\");\r\nvar _renderer = _interopRequireDefault(require(\"../core/renderer\"));\r\nvar _action = _interopRequireDefault(require(\"../core/action\"));\r\nvar _devices = _interopRequireDefault(require(\"../core/devices\"));\r\nvar _config = _interopRequireDefault(require(\"../core/config\"));\r\nvar _dom = require(\"../core/utils/dom\");\r\nvar _deferred = require(\"../core/utils/deferred\");\r\nvar _type = require(\"../core/utils/type\");\r\nvar _iterator = require(\"../core/utils/iterator\");\r\nvar _extend = require(\"../core/utils/extend\");\r\nvar _window = require(\"../core/utils/window\");\r\nvar _events_engine = _interopRequireDefault(require(\"../events/core/events_engine\"));\r\nvar _view_port = require(\"../core/utils/view_port\");\r\nvar _message = _interopRequireDefault(require(\"../localization/message\"));\r\nvar _ui = _interopRequireDefault(require(\"./widget/ui.errors\"));\r\nvar _ui2 = _interopRequireDefault(require(\"./popup/ui.popup\"));\r\nvar _common = require(\"../core/utils/common\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar window = (0, _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\nvar custom = function(options) {\r\n var _options$title;\r\n var deferred = new _deferred.Deferred;\r\n options = options || {};\r\n var $element = (0, _renderer.default)(\"<div>\").addClass(DX_DIALOG_CLASSNAME).appendTo((0, _view_port.value)());\r\n var isMessageDefined = \"message\" in options;\r\n var isMessageHtmlDefined = \"messageHtml\" in options;\r\n if (isMessageDefined) {\r\n _ui.default.log(\"W1013\")\r\n }\r\n var messageHtml = String(isMessageHtmlDefined ? options.messageHtml : options.message);\r\n var $message = (0, _renderer.default)(\"<div>\").addClass(DX_DIALOG_MESSAGE_CLASSNAME).html(messageHtml);\r\n var popupToolbarItems = [];\r\n (0, _iterator.each)(options.buttons || [DEFAULT_BUTTON], (function() {\r\n var action = new _action.default(this.onClick, {\r\n context: popupInstance\r\n });\r\n popupToolbarItems.push({\r\n toolbar: \"bottom\",\r\n location: _devices.default.current().android ? \"after\" : \"center\",\r\n widget: \"dxButton\",\r\n options: (0, _extend.extend)({}, this, {\r\n onClick: function() {\r\n var result = action.execute.apply(action, arguments);\r\n hide(result)\r\n }\r\n })\r\n })\r\n }));\r\n var popupInstance = new _ui2.default($element, (0, _extend.extend)({\r\n title: null !== (_options$title = options.title) && void 0 !== _options$title ? _options$title : \"\",\r\n showTitle: (0, _common.ensureDefined)(options.showTitle, true),\r\n dragEnabled: (0, _common.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 (0, _dom.resetActiveElement)()\r\n },\r\n onShown: function(e) {\r\n var $firstButton = e.component.bottomToolbar().find(\".\".concat(DX_BUTTON_CLASSNAME)).first();\r\n _events_engine.default.trigger($firstButton, \"focus\")\r\n },\r\n onHiding: function() {\r\n deferred.reject()\r\n },\r\n onHidden: function(_ref) {\r\n var element = _ref.element;\r\n (0, _renderer.default)(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: (0, _config.default)().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 (\"phone\" === _devices.default.real().deviceType) {\r\n var isPortrait = (0, _size.getHeight)(window) > (0, _size.getWidth)(window);\r\n var width = isPortrait ? \"90%\" : \"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\nexports.custom = custom;\r\nvar 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 = (0, _type.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\nexports.alert = alert;\r\nvar 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 = (0, _type.isPlainObject)(messageHtml) ? messageHtml : {\r\n title: title,\r\n messageHtml: messageHtml,\r\n showTitle: showTitle,\r\n buttons: [{\r\n text: _message.default.format(\"Yes\"),\r\n onClick: function() {\r\n return true\r\n }\r\n }, {\r\n text: _message.default.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\nexports.confirm = confirm;\r\n","/**\r\n * DevExtreme (cjs/ui/draggable.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _m_draggable = _interopRequireDefault(require(\"../__internal/m_draggable\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar _default = _m_draggable.default;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/drawer.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _ui = _interopRequireDefault(require(\"./drawer/ui.drawer\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar _default = _ui.default;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/drawer/ui.drawer.animation.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.animation = void 0;\r\nvar _fx = _interopRequireDefault(require(\"../../animation/fx\"));\r\nvar _inflector = require(\"../../core/utils/inflector\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar animation = {\r\n moveTo: function(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.default.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: function(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\" + (0, _inflector.camelize)(direction, true)] = margin;\r\n _fx.default.animate($element, {\r\n to: toConfig,\r\n duration: config.duration,\r\n complete: config.complete\r\n })\r\n },\r\n fade: function($element, config, duration, completeAction) {\r\n _fx.default.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: function(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.default.animate($element, {\r\n to: toConfig,\r\n duration: duration,\r\n complete: config.complete\r\n })\r\n },\r\n complete: function($element) {\r\n _fx.default.stop($element, true)\r\n }\r\n};\r\nexports.animation = animation;\r\n","/**\r\n * DevExtreme (cjs/ui/drawer/ui.drawer.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _element = require(\"../../core/element\");\r\nvar _component_registrator = _interopRequireDefault(require(\"../../core/component_registrator\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _position = require(\"../../core/utils/position\");\r\nvar _ui = _interopRequireDefault(require(\"../widget/ui.widget\"));\r\nvar _empty_template = require(\"../../core/templates/empty_template\");\r\nvar _window = require(\"../../core/utils/window\");\r\nvar _uiDrawerRenderingStrategy = _interopRequireDefault(require(\"./ui.drawer.rendering.strategy.push\"));\r\nvar _uiDrawerRenderingStrategy2 = _interopRequireDefault(require(\"./ui.drawer.rendering.strategy.shrink\"));\r\nvar _uiDrawerRenderingStrategy3 = _interopRequireDefault(require(\"./ui.drawer.rendering.strategy.overlap\"));\r\nvar _uiDrawer = require(\"./ui.drawer.animation\");\r\nvar _click = require(\"../../events/click\");\r\nvar _fx = _interopRequireDefault(require(\"../../animation/fx\"));\r\nvar _deferred = require(\"../../core/utils/deferred\");\r\nvar _visibility_change = require(\"../../events/visibility_change\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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 = _ui.default.inherit({\r\n _getDefaultOptions: function() {\r\n return (0, _extend.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: function() {\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 = (0, _renderer.default)(\"<div>\").addClass(DRAWER_WRAPPER_CLASS);\r\n this._$viewContentWrapper = (0, _renderer.default)(\"<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: function() {\r\n switch (this.option(\"openedStateMode\")) {\r\n case \"push\":\r\n this._strategy = new _uiDrawerRenderingStrategy.default(this);\r\n break;\r\n case \"shrink\":\r\n this._strategy = new _uiDrawerRenderingStrategy2.default(this);\r\n break;\r\n case \"overlap\":\r\n this._strategy = new _uiDrawerRenderingStrategy3.default(this);\r\n break;\r\n default:\r\n this._strategy = new _uiDrawerRenderingStrategy.default(this)\r\n }\r\n },\r\n _getAnonymousTemplateName: function() {\r\n return ANONYMOUS_TEMPLATE_NAME\r\n },\r\n _initTemplates: function() {\r\n var defaultTemplates = {};\r\n defaultTemplates[PANEL_TEMPLATE_NAME] = new _empty_template.EmptyTemplate;\r\n defaultTemplates[ANONYMOUS_TEMPLATE_NAME] = new _empty_template.EmptyTemplate;\r\n this._templateManager.addDefaultTemplates(defaultTemplates);\r\n this.callBase()\r\n },\r\n _viewContentWrapperClickHandler: function(e) {\r\n var closeOnOutsideClick = this.option(\"closeOnOutsideClick\");\r\n if ((0, _type.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: function() {\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.Deferred;\r\n this._strategy.renderPanelContent(this._whenPanelContentRendered);\r\n this._strategy.onPanelContentRendered();\r\n this._renderViewContent();\r\n _events_engine.default.off(this._$viewContentWrapper, _click.name);\r\n _events_engine.default.on(this._$viewContentWrapper, _click.name, this._viewContentWrapperClickHandler.bind(this));\r\n this._refreshWrapperChildrenOrder()\r\n },\r\n _render: function() {\r\n var _this = this;\r\n this._initMinMaxSize();\r\n this.callBase();\r\n this._whenPanelContentRendered.always((function() {\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: function() {\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: function() {\r\n this._$panelContentWrapper = (0, _renderer.default)(\"<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: function(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: function(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: function() {\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: function(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: function() {\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 (0, _renderer.default)(this._$viewContentWrapper).children().not(\".\".concat(DRAWER_SHADER_CLASS)).replaceWith($viewTemplate)\r\n }\r\n }\r\n },\r\n _renderShader: function() {\r\n this._$shader = this._$shader || (0, _renderer.default)(\"<div>\").addClass(DRAWER_SHADER_CLASS);\r\n this._$shader.appendTo(this.viewContent());\r\n this._toggleShaderVisibility(this.option(\"opened\"))\r\n },\r\n _initSize: function() {\r\n this._initMinMaxSize()\r\n },\r\n _initMinMaxSize: function() {\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: function() {\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: function() {\r\n return this._$wrapper\r\n },\r\n getOverlay: function() {\r\n return this._overlay\r\n },\r\n getMaxSize: function() {\r\n return this._maxSize\r\n },\r\n getMinSize: function() {\r\n return this._minSize\r\n },\r\n getRealPanelWidth: function() {\r\n if ((0, _window.hasWindow)()) {\r\n if ((0, _type.isDefined)(this.option(\"templateSize\"))) {\r\n return this.option(\"templateSize\")\r\n } else {\r\n return (0, _position.getBoundingRect)(this._getPanelTemplateElement()).width\r\n }\r\n } else {\r\n return 0\r\n }\r\n },\r\n getRealPanelHeight: function() {\r\n if ((0, _window.hasWindow)()) {\r\n if ((0, _type.isDefined)(this.option(\"templateSize\"))) {\r\n return this.option(\"templateSize\")\r\n } else {\r\n return (0, _position.getBoundingRect)(this._getPanelTemplateElement()).height\r\n }\r\n } else {\r\n return 0\r\n }\r\n },\r\n _getPanelTemplateElement: function() {\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: function($element) {\r\n var $children = $element.children();\r\n return $children.length ? (0, _position.getBoundingRect)($children.eq(0).get(0)).height : (0, _position.getBoundingRect)($element.get(0)).height\r\n },\r\n isHorizontalDirection: function() {\r\n var position = this.calcTargetPosition();\r\n return \"left\" === position || \"right\" === position\r\n },\r\n stopAnimations: function(jumpToEnd) {\r\n _fx.default.stop(this._$shader, jumpToEnd);\r\n _fx.default.stop((0, _renderer.default)(this.content()), jumpToEnd);\r\n _fx.default.stop((0, _renderer.default)(this.viewContent()), jumpToEnd);\r\n var overlay = this.getOverlay();\r\n if (overlay) {\r\n _fx.default.stop((0, _renderer.default)(overlay.$content()), jumpToEnd)\r\n }\r\n },\r\n setZIndex: function(zIndex) {\r\n this._$shader.css(\"zIndex\", zIndex - 1);\r\n this._$panelContentWrapper.css(\"zIndex\", zIndex)\r\n },\r\n resizeContent: function() {\r\n this.resizeViewContent\r\n },\r\n resizeViewContent: function() {\r\n (0, _visibility_change.triggerResizeEvent)(this.viewContent())\r\n },\r\n _isInvertedPosition: function() {\r\n var position = this.calcTargetPosition();\r\n return \"right\" === position || \"bottom\" === position\r\n },\r\n _renderPosition: function(isDrawerOpened, disableAnimation, jumpToEnd) {\r\n this.stopAnimations(jumpToEnd);\r\n if (!(0, _window.hasWindow)()) {\r\n return\r\n }(0, _renderer.default)(this.viewContent()).css(\"paddingLeft\", 0);\r\n (0, _renderer.default)(this.viewContent()).css(\"paddingRight\", 0);\r\n (0, _renderer.default)(this.viewContent()).css(\"paddingTop\", 0);\r\n (0, _renderer.default)(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: function() {\r\n this.resizeViewContent();\r\n if (this._whenAnimationCompleted) {\r\n this._whenAnimationCompleted.resolve()\r\n }\r\n },\r\n _getPositionCorrection: function() {\r\n return this._isInvertedPosition() ? -1 : 1\r\n },\r\n _dispose: function() {\r\n _uiDrawer.animation.complete((0, _renderer.default)(this.viewContent()));\r\n this.callBase()\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._initMinMaxSize();\r\n this._strategy.refreshPanelElementSize(\"slide\" === this.option(\"revealMode\"));\r\n this._renderPosition(this.option(\"opened\"), true)\r\n },\r\n _toggleShaderVisibility: function(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: function(opened) {\r\n this.$element().toggleClass(OPENED_STATE_CLASS, opened)\r\n },\r\n _refreshPanel: function() {\r\n var _this2 = this;\r\n (0, _renderer.default)(this.viewContent()).css(\"left\", 0);\r\n (0, _renderer.default)(this.viewContent()).css(\"transform\", \"translate(0px, 0px)\");\r\n (0, _renderer.default)(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.Deferred;\r\n this._strategy.renderPanelContent(this._whenPanelContentRefreshed);\r\n this._strategy.onPanelContentRendered();\r\n if ((0, _window.hasWindow)()) {\r\n this._whenPanelContentRefreshed.always((function() {\r\n _this2._strategy.refreshPanelElementSize(\"slide\" === _this2.option(\"revealMode\"));\r\n _this2._renderPosition(_this2.option(\"opened\"), true, true);\r\n _this2._removePanelManualPosition()\r\n }))\r\n }\r\n },\r\n _clean: function() {\r\n this._cleanFocusState();\r\n this._removePanelContentWrapper();\r\n this._removeOverlay()\r\n },\r\n _removePanelContentWrapper: function() {\r\n if (this._$panelContentWrapper) {\r\n this._$panelContentWrapper.remove()\r\n }\r\n },\r\n _removeOverlay: function() {\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: function(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: function() {\r\n return (0, _element.getPublicElement)(this._$panelContentWrapper)\r\n },\r\n viewContent: function() {\r\n return (0, _element.getPublicElement)(this._$viewContentWrapper)\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 toggle: function(opened) {\r\n var targetOpened = void 0 === opened ? !this.option(\"opened\") : opened;\r\n this._whenAnimationCompleted = new _deferred.Deferred;\r\n this.option(\"opened\", targetOpened);\r\n return this._whenAnimationCompleted.promise()\r\n }\r\n});\r\n(0, _component_registrator.default)(\"dxDrawer\", Drawer);\r\nvar _default = Drawer;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/drawer/ui.drawer.rendering.strategy.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _size = require(\"../../core/utils/size\");\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _uiDrawer = require(\"./ui.drawer.animation\");\r\nvar _deferred = require(\"../../core/utils/deferred\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar DrawerStrategy = function() {\r\n function DrawerStrategy(drawer) {\r\n this._drawer = drawer\r\n }\r\n var _proto = DrawerStrategy.prototype;\r\n _proto.getDrawerInstance = function() {\r\n return this._drawer\r\n };\r\n _proto.renderPanelContent = function(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: function() {\r\n whenPanelContentRendered.resolve()\r\n }\r\n })\r\n }\r\n };\r\n _proto.renderPosition = function(changePositionUsingFxAnimation, animationDuration) {\r\n var whenPositionAnimationCompleted = new _deferred.Deferred;\r\n var whenShaderAnimationCompleted = new _deferred.Deferred;\r\n var drawer = this.getDrawerInstance();\r\n if (changePositionUsingFxAnimation) {\r\n _deferred.when.apply(_renderer.default, [whenPositionAnimationCompleted, whenShaderAnimationCompleted]).done((function() {\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 _proto._getPanelOffset = function(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 _proto._getPanelSize = function(isDrawerOpened) {\r\n return isDrawerOpened ? this.getDrawerInstance().getMaxSize() : this.getDrawerInstance().getMinSize()\r\n };\r\n _proto.renderShaderVisibility = function(changePositionUsingFxAnimation, duration, whenAnimationCompleted) {\r\n var _this = this;\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 _uiDrawer.animation.fade((0, _renderer.default)(drawer._$shader), fadeConfig, duration, (function() {\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 _proto.getPanelContent = function() {\r\n return (0, _renderer.default)(this.getDrawerInstance().content())\r\n };\r\n _proto.setPanelSize = function(calcFromRealPanelSize) {\r\n this.refreshPanelElementSize(calcFromRealPanelSize)\r\n };\r\n _proto.refreshPanelElementSize = function(calcFromRealPanelSize) {\r\n var drawer = this.getDrawerInstance();\r\n var panelSize = this._getPanelSize(drawer.option(\"opened\"));\r\n if (drawer.isHorizontalDirection()) {\r\n (0, _size.setWidth)((0, _renderer.default)(drawer.content()), calcFromRealPanelSize ? drawer.getRealPanelWidth() : panelSize)\r\n } else {\r\n (0, _size.setHeight)((0, _renderer.default)(drawer.content()), calcFromRealPanelSize ? drawer.getRealPanelHeight() : panelSize)\r\n }\r\n };\r\n _proto.isViewContentFirst = function() {\r\n return false\r\n };\r\n _proto.onPanelContentRendered = function() {};\r\n return DrawerStrategy\r\n}();\r\nvar _default = DrawerStrategy;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/drawer/ui.drawer.rendering.strategy.overlap.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _size = require(\"../../core/utils/size\");\r\nvar _uiDrawer = require(\"./ui.drawer.animation\");\r\nvar _uiDrawerRendering = _interopRequireDefault(require(\"./ui.drawer.rendering.strategy\"));\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _translator = require(\"../../animation/translator\");\r\nvar _ui = _interopRequireDefault(require(\"../overlay/ui.overlay\"));\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _inflector = require(\"../../core/utils/inflector\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar OverlapStrategy = function(_DrawerStrategy) {\r\n _inheritsLoose(OverlapStrategy, _DrawerStrategy);\r\n\r\n function OverlapStrategy() {\r\n return _DrawerStrategy.apply(this, arguments) || this\r\n }\r\n var _proto = OverlapStrategy.prototype;\r\n _proto.renderPanelContent = function(whenPanelContentRendered) {\r\n var _this = this;\r\n delete this._initialPosition;\r\n var drawer = this.getDrawerInstance();\r\n var _drawer$option = drawer.option(),\r\n opened = _drawer$option.opened,\r\n minSize = _drawer$option.minSize;\r\n drawer._overlay = drawer._createComponent(drawer.content(), _ui.default, {\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: function(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 _proto._fixOverlayPosition = function($overlayContent) {\r\n var position = (0, _common.ensureDefined)(this._initialPosition, {\r\n left: 0,\r\n top: 0\r\n });\r\n (0, _translator.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 _proto._getOverlayPosition = function() {\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 _proto.refreshPanelElementSize = function(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\", (0, _size.getWidth)(drawer.getOverlayTarget()));\r\n overlay.option(\"height\", calcFromRealPanelSize ? drawer.getRealPanelHeight() : this._getPanelSize(drawer.option(\"opened\")))\r\n }\r\n };\r\n _proto.onPanelContentRendered = function() {\r\n this._updateViewContentStyles()\r\n };\r\n _proto._updateViewContentStyles = function() {\r\n var drawer = this.getDrawerInstance();\r\n (0, _renderer.default)(drawer.viewContent()).css(\"padding\" + (0, _inflector.camelize)(drawer.calcTargetPosition(), true), drawer.option(\"minSize\"));\r\n (0, _renderer.default)(drawer.viewContent()).css(\"transform\", \"inherit\")\r\n };\r\n _proto._internalRenderPosition = function(changePositionUsingFxAnimation, whenAnimationCompleted) {\r\n var drawer = this.getDrawerInstance();\r\n var $panel = (0, _renderer.default)(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 _uiDrawer.animation.moveTo({\r\n complete: function() {\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 (0, _translator.move)($panelOverlayContent, this._initialPosition);\r\n _uiDrawer.animation.size({\r\n complete: function() {\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 (0, _translator.move)($panel, this._initialPosition)\r\n } else if (\"expand\" === revealMode) {\r\n this._initialPosition = {\r\n left: 0\r\n };\r\n (0, _translator.move)($panelOverlayContent, this._initialPosition);\r\n if (drawer.isHorizontalDirection()) {\r\n (0, _renderer.default)($panelOverlayContent).css(\"width\", panelSize)\r\n } else {\r\n (0, _renderer.default)($panelOverlayContent).css(\"height\", panelSize);\r\n if (\"bottom\" === targetPanelPosition) {\r\n (0, _renderer.default)($panelOverlayContent).css(\"marginTop\", marginTop)\r\n }\r\n }\r\n }\r\n };\r\n _proto.getPanelContent = function() {\r\n return (0, _renderer.default)(this.getDrawerInstance().getOverlay().content())\r\n };\r\n _proto._processOverlayZIndex = function($element) {\r\n var styles = (0, _renderer.default)($element).get(0).style;\r\n var zIndex = styles.zIndex || 1;\r\n this.getDrawerInstance().setZIndex(zIndex)\r\n };\r\n _proto.isViewContentFirst = function(position) {\r\n return \"right\" === position || \"bottom\" === position\r\n };\r\n return OverlapStrategy\r\n}(_uiDrawerRendering.default);\r\nvar _default = OverlapStrategy;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/drawer/ui.drawer.rendering.strategy.push.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _uiDrawer = require(\"./ui.drawer.animation\");\r\nvar _uiDrawerRendering = _interopRequireDefault(require(\"./ui.drawer.rendering.strategy\"));\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _translator = require(\"../../animation/translator\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar PushStrategy = function(_DrawerStrategy) {\r\n _inheritsLoose(PushStrategy, _DrawerStrategy);\r\n\r\n function PushStrategy() {\r\n return _DrawerStrategy.apply(this, arguments) || this\r\n }\r\n var _proto = PushStrategy.prototype;\r\n _proto._internalRenderPosition = function(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 (0, _renderer.default)(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 }(0, _renderer.default)(drawer.viewContent()).css(paddingCssPropertyName, drawer.getMinSize())\r\n }\r\n if (changePositionUsingFxAnimation) {\r\n _uiDrawer.animation.moveTo({\r\n $element: (0, _renderer.default)(drawer.viewContent()),\r\n position: contentPosition,\r\n direction: drawer.calcTargetPosition(),\r\n duration: drawer.option(\"animationDuration\"),\r\n complete: function() {\r\n whenAnimationCompleted.resolve()\r\n }\r\n })\r\n } else if (drawer.isHorizontalDirection()) {\r\n (0, _translator.move)((0, _renderer.default)(drawer.viewContent()), {\r\n left: contentPosition\r\n })\r\n } else {\r\n (0, _translator.move)((0, _renderer.default)(drawer.viewContent()), {\r\n top: contentPosition\r\n })\r\n }\r\n };\r\n _proto.onPanelContentRendered = function() {\r\n (0, _renderer.default)(this.getDrawerInstance().viewContent()).addClass(\"dx-theme-background-color\")\r\n };\r\n return PushStrategy\r\n}(_uiDrawerRendering.default);\r\nvar _default = PushStrategy;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/drawer/ui.drawer.rendering.strategy.shrink.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _uiDrawer = require(\"./ui.drawer.animation\");\r\nvar _uiDrawerRendering = _interopRequireDefault(require(\"./ui.drawer.rendering.strategy\"));\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _inflector = require(\"../../core/utils/inflector\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar ShrinkStrategy = function(_DrawerStrategy) {\r\n _inheritsLoose(ShrinkStrategy, _DrawerStrategy);\r\n\r\n function ShrinkStrategy() {\r\n return _DrawerStrategy.apply(this, arguments) || this\r\n }\r\n var _proto = ShrinkStrategy.prototype;\r\n _proto._internalRenderPosition = function(changePositionUsingFxAnimation, whenAnimationCompleted) {\r\n var drawer = this.getDrawerInstance();\r\n var direction = drawer.calcTargetPosition();\r\n var $panel = (0, _renderer.default)(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 _uiDrawer.animation.margin({\r\n complete: function() {\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 _uiDrawer.animation.size({\r\n complete: function() {\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\" + (0, _inflector.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 _proto.isViewContentFirst = function(position, isRtl) {\r\n return (isRtl ? \"left\" === position : \"right\" === position) || \"bottom\" === position\r\n };\r\n return ShrinkStrategy\r\n}(_uiDrawerRendering.default);\r\nvar _default = ShrinkStrategy;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/drop_down_box.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _ui = _interopRequireDefault(require(\"./drop_down_editor/ui.drop_down_editor\"));\r\nvar _ui2 = _interopRequireDefault(require(\"./editor/ui.data_expression\"));\r\nvar _common = require(\"../core/utils/common\");\r\nvar _type = require(\"../core/utils/type\");\r\nvar _iterator = require(\"../core/utils/iterator\");\r\nvar _selectors = require(\"./widget/selectors\");\r\nvar _deferred = require(\"../core/utils/deferred\");\r\nvar _renderer = _interopRequireDefault(require(\"../core/renderer\"));\r\nvar _events_engine = _interopRequireDefault(require(\"../events/core/events_engine\"));\r\nvar _extend = require(\"../core/utils/extend\");\r\nvar _utils = require(\"../ui/overlay/utils\");\r\nvar _component_registrator = _interopRequireDefault(require(\"../core/component_registrator\"));\r\nvar _index = require(\"../events/utils/index\");\r\nvar _short = require(\"../events/short\");\r\nvar _devices = _interopRequireDefault(require(\"../core/devices\"));\r\nvar _dom_adapter = _interopRequireDefault(require(\"../core/dom_adapter\"));\r\nvar _element = require(\"../core/element\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar getActiveElement = _dom_adapter.default.getActiveElement;\r\nvar DROP_DOWN_BOX_CLASS = \"dx-dropdownbox\";\r\nvar ANONYMOUS_TEMPLATE_NAME = \"content\";\r\nvar realDevice = _devices.default.real();\r\nvar DropDownBox = _ui.default.inherit({\r\n _supportedKeys: function() {\r\n return (0, _extend.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 && _events_engine.default.trigger($focusableElement, \"focus\");\r\n e.preventDefault()\r\n }\r\n })\r\n },\r\n _getTabbableElements: function() {\r\n return this._getElements().filter(_selectors.tabbable)\r\n },\r\n _getElements: function() {\r\n return (0, _renderer.default)(this.content()).find(\"*\")\r\n },\r\n _getDefaultOptions: function() {\r\n return (0, _extend.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\") && (0, _type.isObject)(value)\r\n },\r\n _renderInputValue: function() {\r\n var _this = this;\r\n this._rejectValueLoading();\r\n var values = [];\r\n if (!this._dataSource) {\r\n this.callBase(values);\r\n return (new _deferred.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 = (0, _iterator.map)(keys, (function(key) {\r\n var deferred = new _deferred.Deferred;\r\n _this._loadItem(key).always((function(item) {\r\n var displayValue = _this._displayGetter(item);\r\n if ((0, _type.isDefined)(displayValue)) {\r\n values.push(displayValue)\r\n } else if (_this.option(\"acceptCustomValue\")) {\r\n values.push(key)\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 _deferred.when.apply(this, itemLoadDeferreds).always((function() {\r\n _this.option(\"displayValue\", values);\r\n callBase(values.length && values)\r\n }))\r\n },\r\n _loadItem: function(value) {\r\n var deferred = new _deferred.Deferred;\r\n var that = this;\r\n var selectedItem = (0, _common.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\" !== (0, _index.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 _events_engine.default.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 var _this2 = this;\r\n this.callBase();\r\n if (this.option(\"focusStateEnabled\")) {\r\n _short.keyboard.on(this.content(), null, (function(e) {\r\n return _this2._popupElementTabHandler(e)\r\n }))\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: (0, _element.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 _this$callBase = this.callBase(isRtlEnabled),\r\n my = _this$callBase.my,\r\n at = _this$callBase.at;\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 _this3 = this;\r\n var _this$option = this.option(),\r\n focusStateEnabled = _this$option.focusStateEnabled;\r\n return (0, _extend.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: (0, _extend.extend)(this.option(\"popupPosition\"), {\r\n of: this.$element()\r\n }),\r\n onKeyboardHandled: function(opts) {\r\n return _this3.option(\"focusStateEnabled\") && _this3._popupElementTabHandler(opts)\r\n },\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 (0, _utils.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 _events_engine.default.trigger($firstElement, \"focus\")\r\n },\r\n _setCollectionWidgetOption: _common.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(_ui2.default);\r\n(0, _component_registrator.default)(\"dxDropDownBox\", DropDownBox);\r\nvar _default = DropDownBox;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/drop_down_button.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../core/renderer\"));\r\nvar _ui = _interopRequireDefault(require(\"./widget/ui.widget\"));\r\nvar _function_template = require(\"../core/templates/function_template\");\r\nvar _component_registrator = _interopRequireDefault(require(\"../core/component_registrator\"));\r\nvar _button_group = _interopRequireDefault(require(\"./button_group\"));\r\nvar _ui2 = _interopRequireDefault(require(\"./popup/ui.popup\"));\r\nvar _list_light = _interopRequireDefault(require(\"./list_light\"));\r\nvar _data = require(\"../core/utils/data\");\r\nvar _element = require(\"../core/element\");\r\nvar _icon = require(\"../core/utils/icon\");\r\nvar _data_helper = _interopRequireDefault(require(\"../data_helper\"));\r\nvar _data_source = require(\"../data/data_source/data_source\");\r\nvar _array_store = _interopRequireDefault(require(\"../data/array_store\"));\r\nvar _deferred = require(\"../core/utils/deferred\");\r\nvar _extend = require(\"../core/utils/extend\");\r\nvar _type = require(\"../core/utils/type\");\r\nvar _common = require(\"../core/utils/common\");\r\nvar _guid = _interopRequireDefault(require(\"../core/guid\"));\r\nvar _utils = require(\"./drop_down_editor/utils\");\r\nvar _message = _interopRequireDefault(require(\"../localization/message\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\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_CLASS = \"dx-button\";\r\nvar DX_BUTTON_TEXT_CLASS = \"dx-button-text\";\r\nvar DX_ICON_RIGHT_CLASS = \"dx-icon-right\";\r\nvar DropDownButton = _ui.default.inherit({\r\n _getDefaultOptions: function() {\r\n return (0, _extend.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: _message.default.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: function() {\r\n this.callBase();\r\n (0, _extend.extend)(this._optionsByReference, {\r\n selectedItem: true\r\n })\r\n },\r\n _init: function() {\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: function() {\r\n var _this = this;\r\n this._templateManager.addDefaultTemplates({\r\n content: new _function_template.FunctionTemplate((function(options) {\r\n var $popupContent = (0, _renderer.default)(options.container);\r\n var $listContainer = (0, _renderer.default)(\"<div>\").appendTo($popupContent);\r\n _this._list = _this._createComponent($listContainer, _list_light.default, _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 _data_source.DataSource({\r\n store: new _array_store.default({\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 (0, _type.isDefined)(storeKey) && (!(0, _type.isDefined)(keyExpr) || \"this\" === keyExpr) ? storeKey : keyExpr\r\n },\r\n _compileKeyGetter: function() {\r\n this._keyGetter = (0, _data.compileGetter)(this._getKey())\r\n },\r\n _compileDisplayGetter: function() {\r\n this._displayGetter = (0, _data.compileGetter)(this.option(\"displayExpr\"))\r\n },\r\n _initMarkup: function() {\r\n this.callBase();\r\n this.$element().addClass(DROP_DOWN_BUTTON_CLASS);\r\n this._renderButtonGroup();\r\n this._updateArrowClass();\r\n if ((0, _type.isDefined)(this.option(\"selectedItemKey\"))) {\r\n this._loadSelectedItem().done(this._updateActionButton.bind(this))\r\n }\r\n },\r\n _renderFocusTarget: _common.noop,\r\n _render: function() {\r\n if (!this.option(\"deferRendering\") || this.option(\"opened\")) {\r\n this._renderPopup()\r\n }\r\n this.callBase()\r\n },\r\n _renderContentImpl: function() {\r\n if (this._popup) {\r\n this._renderPopupContent()\r\n }\r\n return this.callBase()\r\n },\r\n _loadSelectedItem: function() {\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.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((function() {\r\n d.resolve(null)\r\n }));\r\n this._loadSingleDeferred = d;\r\n return d.promise()\r\n },\r\n _createActionClickAction: function() {\r\n this._actionClickAction = this._createActionByOption(\"onButtonClick\")\r\n },\r\n _createSelectionChangedAction: function() {\r\n this._selectionChangedAction = this._createActionByOption(\"onSelectionChanged\")\r\n },\r\n _createItemClickAction: function() {\r\n this._itemClickAction = this._createActionByOption(\"onItemClick\")\r\n },\r\n _fireSelectionChangedAction: function(_ref) {\r\n var previousValue = _ref.previousValue,\r\n value = _ref.value;\r\n this._selectionChangedAction({\r\n item: value,\r\n previousItem: previousValue\r\n })\r\n },\r\n _fireItemClickAction: function(_ref2) {\r\n var event = _ref2.event,\r\n itemElement = _ref2.itemElement,\r\n itemData = _ref2.itemData;\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: function() {\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: function() {\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: function(_ref3) {\r\n var event = _ref3.event,\r\n itemData = _ref3.itemData;\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: function() {\r\n var _this2 = this;\r\n var _this$option = this.option(),\r\n splitButton = _this$option.splitButton,\r\n showArrowIcon = _this$option.showArrowIcon,\r\n focusStateEnabled = _this$option.focusStateEnabled,\r\n hoverStateEnabled = _this$option.hoverStateEnabled,\r\n stylingMode = _this$option.stylingMode,\r\n accessKey = _this$option.accessKey,\r\n tabIndex = _this$option.tabIndex;\r\n var buttonTemplate = splitButton || !showArrowIcon ? \"content\" : function(_ref4, buttonContent) {\r\n var text = _ref4.text,\r\n icon = _ref4.icon;\r\n var $firstIcon = (0, _icon.getImageContainer)(icon);\r\n var $textContainer = text ? (0, _renderer.default)(\"<span>\").text(text).addClass(DX_BUTTON_TEXT_CLASS) : void 0;\r\n var $secondIcon = (0, _icon.getImageContainer)(\"spindown\").addClass(DX_ICON_RIGHT_CLASS);\r\n (0, _renderer.default)(buttonContent).append($firstIcon, $textContainer, $secondIcon)\r\n };\r\n return (0, _extend.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: function(e) {\r\n return _this2._keyboardHandler(e)\r\n },\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: function() {\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.default;\r\n this.setAria(\"id\", this._popupContentId, $content);\r\n return template.render({\r\n container: (0, _element.getPublicElement)($content),\r\n model: this.option(\"items\") || this._dataSource\r\n })\r\n },\r\n _popupOptions: function() {\r\n var _this3 = this;\r\n var horizontalAlignment = this.option(\"rtlEnabled\") ? \"right\" : \"left\";\r\n return (0, _extend.extend)({\r\n dragEnabled: false,\r\n focusStateEnabled: false,\r\n deferRendering: this.option(\"deferRendering\"),\r\n hideOnOutsideClick: function(e) {\r\n var $element = _this3.$element();\r\n var $buttonClicked = (0, _renderer.default)(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: function() {\r\n return (0, _utils.getElementWidth)(_this3.$element())\r\n },\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: function() {\r\n var _this4 = this;\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: function() {\r\n return _this4._fireContentReadyAction()\r\n },\r\n selectedItemKeys: (0, _type.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: function(e) {\r\n if (!_this4.option(\"useSelectMode\")) {\r\n _this4._lastSelectedItemData = e.itemData\r\n }\r\n _this4.option(\"selectedItemKey\", _this4._keyGetter(e.itemData));\r\n var actionResult = _this4._fireItemClickAction(e);\r\n if (false !== actionResult) {\r\n _this4.toggle(false);\r\n _this4._buttonGroup.focus()\r\n }\r\n }\r\n }\r\n },\r\n _upDownKeyHandler: function() {\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: function() {\r\n this.close();\r\n this._buttonGroup.focus();\r\n return true\r\n },\r\n _tabHandler: function() {\r\n this.close();\r\n return true\r\n },\r\n _renderPopup: function() {\r\n var $popup = (0, _renderer.default)(\"<div>\");\r\n this.$element().append($popup);\r\n this._popup = this._createComponent($popup, _ui2.default, 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: function() {\r\n this.option(\"opened\", false);\r\n this._updateAriaAttributes(false)\r\n },\r\n _popupOptionChanged: function(args) {\r\n var options = _ui.default.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 _this5 = this;\r\n var popupWidth = (0, _utils.getSizeValue)(this.option(\"dropDownOptions.width\"));\r\n if (void 0 === popupWidth) {\r\n this._setPopupOption(\"width\", (function() {\r\n return (0, _utils.getElementWidth)(_this5.$element())\r\n }))\r\n }\r\n },\r\n _setPopupOption: function(optionName, value) {\r\n this._setWidgetOption(\"_popup\", arguments)\r\n },\r\n _popupShowingHandler: function() {\r\n this.option(\"opened\", true);\r\n this._updateAriaAttributes(true)\r\n },\r\n _setElementAria: function(value) {\r\n var elementAria = {\r\n owns: value ? this._popupContentId : void 0\r\n };\r\n this.setAria(elementAria, this.$element())\r\n },\r\n _setButtonsAria: function(value) {\r\n var _this6 = this;\r\n var commonButtonAria = {\r\n expanded: value,\r\n haspopup: \"listbox\"\r\n };\r\n var firstButtonAria = {};\r\n if (!this.option(\"text\")) {\r\n firstButtonAria.label = \"dropdownbutton\"\r\n }\r\n this._getButtons().each((function(index, $button) {\r\n if (0 === index) {\r\n _this6.setAria(_extends({}, firstButtonAria, commonButtonAria), (0, _renderer.default)($button))\r\n } else {\r\n _this6.setAria(commonButtonAria, (0, _renderer.default)($button))\r\n }\r\n }))\r\n },\r\n _updateAriaAttributes: function(value) {\r\n this._setElementAria(value);\r\n this._setButtonsAria(value)\r\n },\r\n _getButtons: function() {\r\n return this._buttonGroup.$element().find(\".\".concat(DX_BUTTON_CLASS))\r\n },\r\n _renderButtonGroup: function() {\r\n var $buttonGroup = this._buttonGroup && this._buttonGroup.$element() || (0, _renderer.default)(\"<div>\");\r\n if (!this._buttonGroup) {\r\n this.$element().append($buttonGroup)\r\n }\r\n this._buttonGroup = this._createComponent($buttonGroup, _button_group.default, this._buttonGroupOptions());\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._updateAriaAttributes(this.option(\"opened\"))\r\n },\r\n _updateArrowClass: function() {\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: function(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: function() {\r\n return this.toggle(true)\r\n },\r\n close: function() {\r\n return this.toggle(false)\r\n },\r\n _setListOption: function(name, value) {\r\n this._list && this._list.option(name, value)\r\n },\r\n _getDisplayValue: function(item) {\r\n var isPrimitiveItem = !(0, _type.isPlainObject)(item);\r\n var displayValue = isPrimitiveItem ? item : this._displayGetter(item);\r\n return !(0, _type.isPlainObject)(displayValue) ? String((0, _common.ensureDefined)(displayValue, \"\")) : \"\"\r\n },\r\n _updateActionButton: function(selectedItem) {\r\n if (this.option(\"useSelectMode\")) {\r\n this.option({\r\n text: this._getDisplayValue(selectedItem),\r\n icon: (0, _type.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: function() {\r\n this._list && this._list.$element().remove();\r\n this._popup && this._popup.$element().remove()\r\n },\r\n _selectedItemKeyChanged: function(value) {\r\n var _this7 = this;\r\n this._setListOption(\"selectedItemKeys\", this.option(\"useSelectMode\") && (0, _type.isDefined)(value) ? [value] : []);\r\n var previousItem = this.option(\"selectedItem\");\r\n this._loadSelectedItem().done((function(selectedItem) {\r\n _this7._updateActionButton(selectedItem);\r\n if (_this7._displayGetter(previousItem) !== _this7._displayGetter(selectedItem)) {\r\n _this7._fireSelectionChangedAction({\r\n previousValue: previousItem,\r\n value: selectedItem\r\n })\r\n }\r\n }))\r\n },\r\n _updateButtonGroup: function(name, value) {\r\n this._buttonGroup.option(name, value);\r\n this._updateAriaAttributes(this.option(\"opened\"))\r\n },\r\n _actionButtonOptionChanged: function(_ref5) {\r\n var name = _ref5.name,\r\n value = _ref5.value;\r\n var newConfig = {};\r\n newConfig[name] = value;\r\n this._updateButtonGroup(\"items[0]\", (0, _extend.extend)({}, this._actionButtonConfig(), newConfig));\r\n this._popup && this._popup.repaint()\r\n },\r\n _selectModeChanged: function(value) {\r\n if (value) {\r\n this._setListOption(\"selectionMode\", \"single\");\r\n var selectedItemKey = this.option(\"selectedItemKey\");\r\n this._setListOption(\"selectedItemKeys\", (0, _type.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: function(optionName) {\r\n var _this8 = this;\r\n var selectedItemKey = this.option(\"selectedItemKey\");\r\n this._setListOption(\"selectedItem\", null);\r\n this._setWidgetOption(\"_list\", [optionName]);\r\n if ((0, _type.isDefined)(selectedItemKey)) {\r\n this._loadSelectedItem().done((function(selectedItem) {\r\n _this8._setListOption(\"selectedItemKeys\", [selectedItemKey]);\r\n _this8._setListOption(\"selectedItem\", selectedItem)\r\n })).fail((function(error) {\r\n _this8._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: function(args) {\r\n var _this$_popup;\r\n var name = args.name,\r\n value = args.value;\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._updateButtonGroup(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._updateButtonGroup(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._updateButtonGroup(name, value);\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n }\r\n}).include(_data_helper.default);\r\n(0, _component_registrator.default)(\"dxDropDownButton\", DropDownButton);\r\nvar _default = DropDownButton;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/drop_down_editor/ui.drop_down_button.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _message = _interopRequireDefault(require(\"../../localization/message\"));\r\nvar _button = _interopRequireDefault(require(\"../text_box/texteditor_button_collection/button\"));\r\nvar _button2 = _interopRequireDefault(require(\"../button\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\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\nvar DropDownButton = function(_TextEditorButton) {\r\n _inheritsLoose(DropDownButton, _TextEditorButton);\r\n\r\n function DropDownButton(name, editor, options) {\r\n var _this;\r\n _this = _TextEditorButton.call(this, name, editor, options) || this;\r\n _this.currentTemplate = null;\r\n return _this\r\n }\r\n var _proto = DropDownButton.prototype;\r\n _proto._attachEvents = function(instance) {\r\n var editor = this.editor;\r\n instance.option(\"onClick\", (function(e) {\r\n var _editor$_shouldCallOp;\r\n if (null !== (_editor$_shouldCallOp = editor._shouldCallOpenHandler) && void 0 !== _editor$_shouldCallOp && _editor$_shouldCallOp.call(editor)) {\r\n editor._openHandler(e);\r\n return\r\n }!editor.option(\"openOnFieldClick\") && editor._openHandler(e)\r\n }));\r\n _events_engine.default.on(instance.$element(), \"mousedown\", (function(e) {\r\n if (editor.$element().is(\".dx-state-focused\")) {\r\n e.preventDefault()\r\n }\r\n }))\r\n };\r\n _proto._create = function() {\r\n var editor = this.editor;\r\n var $element = (0, _renderer.default)(\"<div>\");\r\n var options = this._getOptions();\r\n this._addToContainer($element);\r\n var instance = editor._createComponent($element, _button2.default, (0, _extend.extend)({}, options, {\r\n elementAttr: {\r\n \"aria-label\": _message.default.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 _proto._getOptions = function() {\r\n var editor = this.editor;\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 _proto._isVisible = function() {\r\n var editor = this.editor;\r\n return _TextEditorButton.prototype._isVisible.call(this) && editor.option(\"showDropDownButton\")\r\n };\r\n _proto._legacyRender = function($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 _proto._isSameTemplate = function() {\r\n return this.editor.option(\"dropDownButtonTemplate\") === this.currentTemplate\r\n };\r\n _proto._addTemplate = function(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 _proto.update = function() {\r\n var shouldUpdate = _TextEditorButton.prototype.update.call(this);\r\n if (shouldUpdate) {\r\n var editor = this.editor,\r\n instance = this.instance;\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 return DropDownButton\r\n}(_button.default);\r\nexports.default = DropDownButton;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/drop_down_editor/ui.drop_down_editor.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _guid = _interopRequireDefault(require(\"../../core/guid\"));\r\nvar _component_registrator = _interopRequireDefault(require(\"../../core/component_registrator\"));\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _selectors = require(\"../widget/selectors\");\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _element = require(\"../../core/element\");\r\nvar _ui = _interopRequireDefault(require(\"../widget/ui.errors\"));\r\nvar _position = _interopRequireDefault(require(\"../../animation/position\"));\r\nvar _position2 = require(\"../../core/utils/position\");\r\nvar _ui2 = _interopRequireDefault(require(\"./ui.drop_down_button\"));\r\nvar _ui3 = _interopRequireDefault(require(\"../widget/ui.widget\"));\r\nvar _message = _interopRequireDefault(require(\"../../localization/message\"));\r\nvar _index = require(\"../../events/utils/index\");\r\nvar _text_box = _interopRequireDefault(require(\"../text_box\"));\r\nvar _click = require(\"../../events/click\");\r\nvar _devices = _interopRequireDefault(require(\"../../core/devices\"));\r\nvar _function_template = require(\"../../core/templates/function_template\");\r\nvar _ui4 = _interopRequireDefault(require(\"../popup/ui.popup\"));\r\nvar _window = require(\"../../core/utils/window\");\r\nvar _utils = require(\"./utils\");\r\nvar _translator = require(\"../../animation/translator\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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.default.current().platform;\r\nvar DropDownEditor = _text_box.default.inherit({\r\n _supportedKeys: function() {\r\n return (0, _extend.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 _events_engine.default.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 (!(0, _index.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 (!(0, _index.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: _ui2.default\r\n }])\r\n },\r\n _getDefaultOptions: function() {\r\n return (0, _extend.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: _message.default.format(\"OK\"),\r\n cancelButtonText: _message.default.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 = (0, _position2.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 _this$_getDefaultPopu = this._getDefaultPopupPosition(isRtlEnabled),\r\n my = _this$_getDefaultPopu.my,\r\n at = _this$_getDefaultPopu.at;\r\n var currentPosition = this.option(\"popupPosition\");\r\n this.option(\"popupPosition\", (0, _extend.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((0, _renderer.default)(\"<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 _this$_fieldRenderQue, _this = this;\r\n this._fieldRenderQueueLength = (null !== (_this$_fieldRenderQue = this._fieldRenderQueueLength) && void 0 !== _this$_fieldRenderQue ? _this$_fieldRenderQue : 0) + 1;\r\n var isFocused = (0, _selectors.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 = (0, _renderer.default)(\"<div>\").addClass(DROP_DOWN_EDITOR_FIELD_TEMPLATE_WRAPPER).appendTo($container);\r\n fieldTemplate.render({\r\n model: data,\r\n container: (0, _element.getPublicElement)($templateWrapper),\r\n onRendered: function() {\r\n _this._fieldRenderQueueLength--;\r\n if (0 !== _this._fieldRenderQueueLength) {\r\n return\r\n }\r\n var $input = _this._input();\r\n if (!$input.length) {\r\n throw _ui.default.Error(\"E1010\")\r\n }\r\n _this._integrateInput();\r\n isFocused && _events_engine.default.trigger($input, \"focus\")\r\n }\r\n });\r\n this._attachWrapperContent($container)\r\n },\r\n _detachWrapperContent: function() {\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: function($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: function() {\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 _events_engine.default.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 _function_template.FunctionTemplate((function(options) {\r\n var $icon = (0, _renderer.default)(\"<div>\").addClass(DROP_DOWN_EDITOR_BUTTON_ICON);\r\n (0, _renderer.default)(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 = (0, _index.addNamespace)(_click.name, this.NAME);\r\n var openOnFieldClick = this.option(\"openOnFieldClick\");\r\n _events_engine.default.off($inputWrapper, eventName);\r\n _events_engine.default.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 var _this2 = this;\r\n if (isIOs) {\r\n this._detachFocusOutEvents();\r\n _events_engine.default.on(this._inputWrapper(), (0, _index.addNamespace)(\"focusout\", this.NAME), (function(event) {\r\n var newTarget = event.relatedTarget;\r\n if (newTarget && _this2.option(\"opened\")) {\r\n var isNewTargetOutside = _this2._isTargetOutOfComponent(newTarget);\r\n if (isNewTargetOutside) {\r\n _this2.close()\r\n }\r\n }\r\n }))\r\n }\r\n },\r\n _isTargetOutOfComponent: function(newTarget) {\r\n var popupWrapper = this.content ? (0, _renderer.default)(this.content()).closest(\".\".concat(DROP_DOWN_EDITOR_OVERLAY)) : this._$popup;\r\n var isTargetOutsidePopup = 0 === (0, _renderer.default)(newTarget).closest(\".\".concat(DROP_DOWN_EDITOR_OVERLAY), popupWrapper).length;\r\n return isTargetOutsidePopup\r\n },\r\n _detachFocusOutEvents: function() {\r\n isIOs && _events_engine.default.off(this._inputWrapper(), (0, _index.addNamespace)(\"focusout\", this.NAME))\r\n },\r\n _getInputClickHandler: function(openOnFieldClick) {\r\n var _this3 = this;\r\n return openOnFieldClick ? function(e) {\r\n _this3._executeOpenAction(e)\r\n } : function(e) {\r\n _this3._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\") && !(0, _selectors.focused)(this._input())) {\r\n this._resetCaretPosition();\r\n _events_engine.default.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 value = inputElement.value;\r\n var caretPosition = (0, _type.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: function() {\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 = (0, _renderer.default)(\"<div>\").addClass(DROP_DOWN_EDITOR_OVERLAY).appendTo(this.$element());\r\n this._renderPopup();\r\n this._renderPopupContent()\r\n },\r\n _renderPopupContent: _common.noop,\r\n _renderPopup: function() {\r\n var popupConfig = (0, _extend.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, _ui4.default, 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: function($popupContent) {\r\n this._popupContentId = \"dx-\" + new _guid.default;\r\n this.setAria(\"id\", this._popupContentId, $popupContent)\r\n },\r\n _contentReadyHandler: _common.noop,\r\n _popupConfig: function() {\r\n var _this4 = this;\r\n return {\r\n onInitialized: this._popupInitializedHandler(),\r\n position: (0, _extend.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: function() {\r\n return (0, _utils.getElementWidth)(_this4.$element())\r\n },\r\n height: \"auto\",\r\n shading: false,\r\n hideOnParentScroll: true,\r\n hideOnOutsideClick: function(e) {\r\n return _this4._closeOutsideDropDownHandler(e)\r\n },\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 _wrapperClassExternal: DROP_DOWN_EDITOR_OVERLAY,\r\n _ignorePreventScrollEventsDeprecation: true\r\n }\r\n },\r\n _popupInitializedHandler: function() {\r\n var _this5 = this;\r\n if (!this.option(\"onPopupInitialized\")) {\r\n return null\r\n }\r\n return function(e) {\r\n _this5._popupInitializedAction({\r\n popup: e.component\r\n })\r\n }\r\n },\r\n _dimensionChanged: function() {\r\n if ((0, _window.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 _this6 = this;\r\n var popupWidth = (0, _utils.getSizeValue)(this.option(\"dropDownOptions.width\"));\r\n if (void 0 === popupWidth) {\r\n this._setPopupOption(\"width\", (function() {\r\n return (0, _utils.getElementWidth)(_this6.$element())\r\n }))\r\n }\r\n },\r\n _popupPositionedHandler: function(e) {\r\n var _e$position, _e$position$v;\r\n var _this$option = this.option(),\r\n labelMode = _this$option.labelMode,\r\n stylingMode = _this$option.stylingMode;\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 (0, _translator.move)($popupOverlayContent, {\r\n top: (0, _translator.locate)($popupOverlayContent).top - parseInt($label.css(\"fontSize\"))\r\n })\r\n }\r\n },\r\n _popupShowingHandler: _common.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 _animationPosition$se = _position.default.setup(this.$element()),\r\n myTop = _animationPosition$se.top;\r\n var _animationPosition$se2 = _position.default.setup(this._popup.$content()),\r\n popupTop = _animationPosition$se2.top;\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 target = _ref.target;\r\n var $target = (0, _renderer.default)(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 = (0, _renderer.default)(e.currentTarget);\r\n if (e.shiftKey && $element.is(this._getFirstPopupElement()) || !e.shiftKey && $element.is(this._getLastPopupElement())) {\r\n _events_engine.default.trigger(this._input(), \"focus\");\r\n e.preventDefault()\r\n }\r\n },\r\n _popupElementEscHandler: function() {\r\n _events_engine.default.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 = (0, _common.splitPair)(buttonsLocation);\r\n (0, _iterator.each)(resultConfig, (function(_, element) {\r\n (0, _extend.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 = _ui3.default.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 = (0, _renderer.default)(\"<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 ((0, _type.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 ((0, _window.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 (0, _element.getPublicElement)(this._input())\r\n },\r\n content: function() {\r\n return this._popup ? this._popup.content() : null\r\n }\r\n});\r\n(0, _component_registrator.default)(\"dxDropDownEditor\", DropDownEditor);\r\nvar _default = DropDownEditor;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/drop_down_editor/ui.drop_down_list.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _size = require(\"../../core/utils/size\");\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _window = require(\"../../core/utils/window\");\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _guid = _interopRequireDefault(require(\"../../core/guid\"));\r\nvar _component_registrator = _interopRequireDefault(require(\"../../core/component_registrator\"));\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _ui = _interopRequireDefault(require(\"./ui.drop_down_editor\"));\r\nvar _list_light = _interopRequireDefault(require(\"../list_light\"));\r\nvar _ui2 = _interopRequireDefault(require(\"../widget/ui.errors\"));\r\nvar _index = require(\"../../events/utils/index\");\r\nvar _devices = _interopRequireDefault(require(\"../../core/devices\"));\r\nvar _query = _interopRequireDefault(require(\"../../data/query\"));\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _ui3 = _interopRequireDefault(require(\"../editor/ui.data_expression\"));\r\nvar _message = _interopRequireDefault(require(\"../../localization/message\"));\r\nvar _child_default_template = require(\"../../core/templates/child_default_template\");\r\nvar _deferred = require(\"../../core/utils/deferred\");\r\nvar _grouped_data_converter_mixin = _interopRequireDefault(require(\"../shared/grouped_data_converter_mixin\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nvar window = (0, _window.getWindow)();\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.default.real().platform;\r\nvar DropDownList = _ui.default.inherit({\r\n _supportedKeys: function() {\r\n var parent = this.callBase();\r\n return (0, _extend.extend)({}, parent, {\r\n tab: function(e) {\r\n if (this._allowSelectItemByTab()) {\r\n this._saveValueChangeEvent(e);\r\n var $focusedItem = (0, _renderer.default)(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: _common.noop,\r\n home: _common.noop,\r\n end: _common.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 (0, _extend.extend)(this.callBase(), (0, _extend.extend)(_ui3.default._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: _message.default.format(\"dxCollectionWidget-noDataText\"),\r\n encodeNoDataText: false,\r\n onSelectionChanged: null,\r\n onItemClick: _common.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 (0, _extend.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 _child_default_template.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 _query.default(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 (0, _iterator.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 _events_engine.default.off($popupContent, \"mouseup\");\r\n _events_engine.default.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 && (0, _renderer.default)(customContainer);\r\n if ($container && $container.length && !(0, _type.isWindow)($container.get(0))) {\r\n var $containerWithParents = [].slice.call($container.parents());\r\n $containerWithParents.unshift($container.get(0));\r\n (0, _iterator.each)($containerWithParents, function(i, parent) {\r\n if (parent === (0, _renderer.default)(\"body\").get(0)) {\r\n return false\r\n } else if (\"hidden\" === window.getComputedStyle(parent).overflowY) {\r\n this._$customBoundaryContainer = (0, _renderer.default)(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 = (0, _common.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.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: function() {\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 = (0, _renderer.default)(\"#\".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\", (0, _common.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 = (0, _renderer.default)(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 _ui2.default.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) : (0, _renderer.default)()\r\n },\r\n _popupConfig: function() {\r\n return (0, _extend.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: function() {\r\n var canListHaveFocus = this._canListHaveFocus();\r\n return this.callBase().concat([!canListHaveFocus && this._list])\r\n },\r\n _renderList: function() {\r\n this._listId = \"dx-\" + (new _guid.default)._value;\r\n var $list = (0, _renderer.default)(\"<div>\").attr(\"id\", this._listId).appendTo(this._popup.$content());\r\n this._$list = $list;\r\n this._list = this._createComponent($list, _list_light.default, this._listConfig());\r\n this._refreshList();\r\n this._renderPreventBlurOnListClick();\r\n this._setListFocusedElementOptionChange()\r\n },\r\n _renderPreventBlurOnListClick: function() {\r\n var eventName = (0, _index.addNamespace)(\"mousedown\", \"dxDropDownList\");\r\n _events_engine.default.off(this._$list, eventName);\r\n _events_engine.default.on(this._$list, eventName, (function(e) {\r\n return e.preventDefault()\r\n }))\r\n },\r\n _getControlsAria: function() {\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.default.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: function() {\r\n return false\r\n },\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: _common.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 (0, _index.addNamespace)(SEARCH_EVENT, this.NAME + \"Search\")\r\n },\r\n _getCompositionStartEvent: function() {\r\n return (0, _index.addNamespace)(\"compositionstart\", this.NAME + \"CompositionStart\")\r\n },\r\n _getCompositionEndEvent: function() {\r\n return (0, _index.addNamespace)(\"compositionend\", this.NAME + \"CompositionEnd\")\r\n },\r\n _getSetFocusPolicyEvent: function() {\r\n return (0, _index.addNamespace)(\"input\", this.NAME + \"FocusPolicy\")\r\n },\r\n _renderEvents: function() {\r\n var _this = this;\r\n this.callBase();\r\n _events_engine.default.on(this._input(), this._getSetFocusPolicyEvent(), (function() {\r\n _this._setFocusPolicy()\r\n }));\r\n if (this._shouldRenderSearchEvent()) {\r\n _events_engine.default.on(this._input(), this._getSearchEvent(), (function(e) {\r\n _this._searchHandler(e)\r\n }));\r\n if (useCompositionEvents) {\r\n _events_engine.default.on(this._input(), this._getCompositionStartEvent(), (function() {\r\n _this._isTextCompositionInProgress(true)\r\n }));\r\n _events_engine.default.on(this._input(), this._getCompositionEndEvent(), (function(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 _events_engine.default.off(this._input(), this._getSearchEvent());\r\n _events_engine.default.off(this._input(), this._getSetFocusPolicyEvent());\r\n if (useCompositionEvents) {\r\n _events_engine.default.off(this._input(), this._getCompositionStartEvent());\r\n _events_engine.default.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 var _this2 = this;\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((function() {\r\n _this2._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 = (0, _type.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 = (0, _size.getOuterHeight)(window);\r\n var containerHeight = $customBoundaryContainer ? Math.min((0, _size.getOuterHeight)($customBoundaryContainer), windowHeight) : windowHeight;\r\n var maxHeight = Math.max(offsetTop, containerHeight - offsetTop - (0, _size.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\") && (0, _type.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(_ui3.default, _grouped_data_converter_mixin.default);\r\n(0, _component_registrator.default)(\"dxDropDownList\", DropDownList);\r\nvar _default = DropDownList;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/drop_down_editor/utils.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.getSizeValue = exports.getElementWidth = void 0;\r\nvar _size = require(\"../../core/utils/size\");\r\nvar _window = require(\"../../core/utils/window\");\r\nvar getElementWidth = function($element) {\r\n if ((0, _window.hasWindow)()) {\r\n return (0, _size.getOuterWidth)($element)\r\n }\r\n};\r\nexports.getElementWidth = getElementWidth;\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\nexports.getSizeValue = getSizeValue;\r\n","/**\r\n * DevExtreme (cjs/ui/editor/editor.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _element_data = require(\"../../core/element_data\");\r\nvar _callbacks = _interopRequireDefault(require(\"../../core/utils/callbacks\"));\r\nvar _window = require(\"../../core/utils/window\");\r\nvar _index = require(\"../../events/utils/index\");\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _ui = _interopRequireDefault(require(\"../widget/ui.widget\"));\r\nvar _validation_engine = _interopRequireDefault(require(\"../validation_engine\"));\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _validation_message = _interopRequireDefault(require(\"../validation_message\"));\r\nvar _guid = _interopRequireDefault(require(\"../../core/guid\"));\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _dom = require(\"../../core/utils/dom\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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 = _ui.default.inherit({\r\n ctor: function() {\r\n this.showValidationMessageTimeout = null;\r\n this.validationRequest = (0, _callbacks.default)();\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 (0, _element_data.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(_validation_engine.default.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 (0, _extend.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 _showValidationMessage: true\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 (0, _extend.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((function() {\r\n return null === $validationMessageWrapper || void 0 === $validationMessageWrapper ? void 0 : $validationMessageWrapper.addClass(INVALID_MESSAGE_AUTO)\r\n }), 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 _this = this;\r\n var optionValue = this.option(\"stylingMode\");\r\n var prefix = this._getStylingModePrefix();\r\n var allowedStylingClasses = ALLOWED_STYLING_MODES.map((function(mode) {\r\n return prefix + mode\r\n }));\r\n allowedStylingClasses.forEach((function(className) {\r\n return _this.$element().removeClass(className)\r\n }));\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 (!(0, _window.hasWindow)() || false === this.option(\"_showValidationMessage\")) {\r\n return\r\n }\r\n this._disposeValidationMessage();\r\n if (!isValid && validationErrors) {\r\n var _this$option2 = this.option(),\r\n validationMessageMode = _this$option2.validationMessageMode,\r\n validationMessageOffset = _this$option2.validationMessageOffset,\r\n validationBoundary = _this$option2.validationBoundary,\r\n rtlEnabled = _this$option2.rtlEnabled;\r\n this._$validationMessage = (0, _renderer.default)(\"<div>\").appendTo($element);\r\n var validationMessageContentId = \"dx-\".concat(new _guid.default);\r\n this.setAria(\"describedby\", validationMessageContentId);\r\n this._validationMessage = new _validation_message.default(this._$validationMessage, (0, _extend.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: this._getValidationMessagePosition(),\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 _getValidationMessagePosition: function() {\r\n return this.option(\"validationMessagePosition\")\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 = (0, _index.addNamespace)(\"keydown\", READONLY_NAMESPACE);\r\n _events_engine.default.off($eventTarget, eventName);\r\n if (isReadOnly) {\r\n _events_engine.default.on($eventTarget, eventName, (function(e) {\r\n if (\"backspace\" === (0, _index.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 (0, _element_data.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 name = _ref.name,\r\n value = _ref.value;\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: _common.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(_validation_engine.default.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 case \"_showValidationMessage\":\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 (0, _dom.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 = function(instance) {\r\n return instance instanceof Editor\r\n};\r\nvar _default = Editor;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/editor/ui.data_expression.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _variable_wrapper = _interopRequireDefault(require(\"../../core/utils/variable_wrapper\"));\r\nvar _data = require(\"../../core/utils/data\");\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _data_helper = _interopRequireDefault(require(\"../../data_helper\"));\r\nvar _data_source = require(\"../../data/data_source/data_source\");\r\nvar _array_store = _interopRequireDefault(require(\"../../data/array_store\"));\r\nvar _deferred = require(\"../../core/utils/deferred\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nvar DataExpressionMixin = (0, _extend.extend)({}, _data_helper.default, {\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 _data_source.DataSource({\r\n store: new _array_store.default(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 = (0, _data.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 = (0, _data.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.Deferred;\r\n value = this._unwrappedValue(value);\r\n if (!(0, _type.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 _variable_wrapper.default.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 && (0, _type.isDefined)(value1) && (0, _type.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 = _type.isObject;\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 = _variable_wrapper.default.unwrap;\r\n var valueKey1 = (0, _common.ensureDefined)(unwrapObservable(value1[key]), value1);\r\n var valueKey2 = (0, _common.ensureDefined)(unwrapObservable(value2[key]), value2);\r\n return this._compareValues(valueKey1, valueKey2)\r\n },\r\n _compareValues: function(value1, value2) {\r\n return (0, _data.toComparable)(value1, true) === (0, _data.toComparable)(value2, true)\r\n },\r\n _initDynamicTemplates: _common.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 = (0, _type.isString)(valueExpr) && \"this\" !== valueExpr || (0, _type.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\nvar _default = DataExpressionMixin;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/file_manager.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _ui = _interopRequireDefault(require(\"./file_manager/ui.file_manager\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar _default = _ui.default;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/file_manager/file_items_controller.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.OPERATIONS = exports.FileItemsController = void 0;\r\nvar _provider_base = _interopRequireDefault(require(\"../../file_management/provider_base\"));\r\nvar _file_system_item = _interopRequireDefault(require(\"../../file_management/file_system_item\"));\r\nvar _object_provider = _interopRequireDefault(require(\"../../file_management/object_provider\"));\r\nvar _remote_provider = _interopRequireDefault(require(\"../../file_management/remote_provider\"));\r\nvar _custom_provider = _interopRequireDefault(require(\"../../file_management/custom_provider\"));\r\nvar _error = _interopRequireDefault(require(\"../../file_management/error\"));\r\nvar _error_codes = _interopRequireDefault(require(\"../../file_management/error_codes\"));\r\nvar _utils = require(\"../../file_management/utils\");\r\nvar _uiFile_manager = require(\"./ui.file_manager.common\");\r\nvar _deferred = require(\"../../core/utils/deferred\");\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _guid = _interopRequireDefault(require(\"../../core/guid\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\n\r\nfunction _toConsumableArray(arr) {\r\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread()\r\n}\r\n\r\nfunction _nonIterableSpread() {\r\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _unsupportedIterableToArray(o, minLen) {\r\n if (!o) {\r\n return\r\n }\r\n if (\"string\" === typeof o) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n var n = Object.prototype.toString.call(o).slice(8, -1);\r\n if (\"Object\" === n && o.constructor) {\r\n n = o.constructor.name\r\n }\r\n if (\"Map\" === n || \"Set\" === n) {\r\n return Array.from(o)\r\n }\r\n if (\"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n}\r\n\r\nfunction _iterableToArray(iter) {\r\n if (\"undefined\" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter[\"@@iterator\"]) {\r\n return Array.from(iter)\r\n }\r\n}\r\n\r\nfunction _arrayWithoutHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return _arrayLikeToArray(arr)\r\n }\r\n}\r\n\r\nfunction _arrayLikeToArray(arr, len) {\r\n if (null == len || len > arr.length) {\r\n len = arr.length\r\n }\r\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\r\n arr2[i] = arr[i]\r\n }\r\n return arr2\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\nvar DEFAULT_ROOT_FILE_SYSTEM_ITEM_NAME = \"Files\";\r\nvar OPERATIONS = {\r\n NAVIGATION: \"navigation\",\r\n REFRESH: \"refresh\"\r\n};\r\nexports.OPERATIONS = OPERATIONS;\r\nvar FileItemsController = function() {\r\n function FileItemsController(options) {\r\n options = options || {};\r\n this._options = (0, _extend.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 var _proto = FileItemsController.prototype;\r\n _proto._initialize = function() {\r\n var _this = this;\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 = function() {\r\n _this._isInitialized = true;\r\n _this._raiseInitialized()\r\n };\r\n if (result) {\r\n (0, _deferred.when)(result).always(completeInitialization)\r\n } else {\r\n completeInitialization()\r\n }\r\n };\r\n _proto._setSecurityController = function() {\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 _proto.setAllowedFileExtensions = function(allowedFileExtensions) {\r\n if ((0, _type.isDefined)(allowedFileExtensions)) {\r\n this._options.allowedFileExtensions = allowedFileExtensions\r\n }\r\n this._setSecurityController();\r\n this.refresh()\r\n };\r\n _proto.setUploadOptions = function(_ref) {\r\n var maxFileSize = _ref.maxFileSize,\r\n chunkSize = _ref.chunkSize;\r\n if ((0, _type.isDefined)(chunkSize)) {\r\n this._options.uploadChunkSize = chunkSize\r\n }\r\n if ((0, _type.isDefined)(maxFileSize)) {\r\n this._options.uploadMaxFileSize = maxFileSize;\r\n this._setSecurityController();\r\n this.refresh()\r\n }\r\n };\r\n _proto._setProvider = function(fileProvider) {\r\n this._fileProvider = this._createFileProvider(fileProvider);\r\n this._resetState()\r\n };\r\n _proto.updateProvider = function(fileProvider, currentPathKeys) {\r\n var _this2 = this;\r\n if (!(0, _type.isDefined)(currentPathKeys)) {\r\n return this._updateProviderOnly(fileProvider)\r\n }\r\n return (0, _deferred.when)(this._getDirectoryByPathParts(this._rootDirectoryInfo, currentPathKeys, true)).then((function(newDirectory) {\r\n if (newDirectory !== _this2._rootDirectoryInfo) {\r\n _this2._resetCurrentDirectory()\r\n }\r\n _this2._setProvider(fileProvider)\r\n })).then((function() {\r\n return _this2.setCurrentPathByKeys(currentPathKeys)\r\n }))\r\n };\r\n _proto._updateProviderOnly = function(fileProvider) {\r\n this._resetCurrentDirectory();\r\n this._setProvider(fileProvider);\r\n return (0, _deferred.when)(this.refresh())\r\n };\r\n _proto._createFileProvider = function(fileProvider) {\r\n if (!fileProvider) {\r\n fileProvider = []\r\n }\r\n if (Array.isArray(fileProvider)) {\r\n return new _object_provider.default({\r\n data: fileProvider\r\n })\r\n }\r\n if (fileProvider instanceof _provider_base.default) {\r\n return fileProvider\r\n }\r\n switch (fileProvider.type) {\r\n case \"remote\":\r\n return new _remote_provider.default(fileProvider);\r\n case \"custom\":\r\n return new _custom_provider.default(fileProvider)\r\n }\r\n return new _object_provider.default(fileProvider)\r\n };\r\n _proto.setCurrentPath = function(path) {\r\n var pathParts = (0, _utils.getPathParts)(path);\r\n var rawPath = _utils.pathCombine.apply(void 0, _toConsumableArray(pathParts));\r\n if (this.getCurrentDirectory().fileItem.relativeName === rawPath) {\r\n return (new _deferred.Deferred).resolve().promise()\r\n }\r\n return this._setCurrentDirectoryByPathParts(pathParts)\r\n };\r\n _proto.setCurrentPathByKeys = function(pathKeys) {\r\n if ((0, _common.equalByValue)(this.getCurrentDirectory().fileItem.pathKeys, pathKeys)) {\r\n return (new _deferred.Deferred).resolve().promise()\r\n }\r\n return this._setCurrentDirectoryByPathParts(pathKeys, true)\r\n };\r\n _proto.getCurrentPath = function() {\r\n var currentPath = \"\";\r\n var directory = this.getCurrentDirectory();\r\n while (directory && !directory.fileItem.isRoot()) {\r\n var escapedName = (0, _utils.getEscapedFileName)(directory.fileItem.name);\r\n currentPath = (0, _utils.pathCombine)(escapedName, currentPath);\r\n directory = directory.parentDirectory\r\n }\r\n return currentPath\r\n };\r\n _proto.getCurrentPathKeys = function() {\r\n return this.getCurrentDirectory().fileItem.pathKeys\r\n };\r\n _proto.getCurrentDirectory = function() {\r\n return this._currentDirectoryInfo\r\n };\r\n _proto.setCurrentDirectory = function(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 _proto._resetCurrentDirectory = function() {\r\n this._currentDirectoryInfo = this._rootDirectoryInfo\r\n };\r\n _proto.getCurrentItems = function(onlyFiles) {\r\n var _this3 = this;\r\n return this._dataLoadingDeferred ? this._dataLoadingDeferred.then((function() {\r\n return _this3._getCurrentItemsInternal(onlyFiles)\r\n })) : this._getCurrentItemsInternal(onlyFiles)\r\n };\r\n _proto._getCurrentItemsInternal = function(onlyFiles) {\r\n var _this4 = this;\r\n var currentDirectory = this.getCurrentDirectory();\r\n var getItemsPromise = this.getDirectoryContents(currentDirectory);\r\n return getItemsPromise.then((function(items) {\r\n var separatedItems = _this4._separateItemsByType(items);\r\n currentDirectory.fileItem.hasSubDirectories = !!separatedItems.folders.length;\r\n return onlyFiles ? separatedItems.files : items\r\n }))\r\n };\r\n _proto.getDirectories = function(parentDirectoryInfo, skipNavigationOnError) {\r\n return this.getDirectoryContents(parentDirectoryInfo, skipNavigationOnError).then((function(itemInfos) {\r\n return itemInfos.filter((function(info) {\r\n return info.fileItem.isDirectory\r\n }))\r\n }))\r\n };\r\n _proto._separateItemsByType = function(itemInfos) {\r\n var folders = [];\r\n var files = [];\r\n itemInfos.forEach((function(info) {\r\n return info.fileItem.isDirectory ? folders.push(info) : files.push(info)\r\n }));\r\n return {\r\n folders: folders,\r\n files: files\r\n }\r\n };\r\n _proto.getDirectoryContents = function(parentDirectoryInfo, skipNavigationOnError) {\r\n var _this5 = this;\r\n if (!parentDirectoryInfo) {\r\n return (new _deferred.Deferred).resolve([this._rootDirectoryInfo]).promise()\r\n }\r\n if (parentDirectoryInfo.itemsLoaded) {\r\n return (new _deferred.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.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((function(fileItems) {\r\n fileItems = fileItems || [];\r\n parentDirectoryInfo.items = fileItems.map((function(fileItem) {\r\n return fileItem.isDirectory && _this5._createDirectoryInfo(fileItem, parentDirectoryInfo) || _this5._createFileInfo(fileItem, parentDirectoryInfo)\r\n }));\r\n parentDirectoryInfo.itemsLoaded = true;\r\n return parentDirectoryInfo.items\r\n }), (function() {\r\n if (_this5._singleOperationLockId && parentDirectoryInfo.itemsSingleLoadErrorId !== _this5._singleOperationLockId) {\r\n parentDirectoryInfo.itemsSingleLoadErrorId = _this5._singleOperationLockId\r\n }\r\n return []\r\n }));\r\n this._loadedItems[dirKey] = loadItemsDeferred;\r\n loadItemsDeferred.always((function() {\r\n delete _this5._loadedItems[dirKey]\r\n }));\r\n return loadItemsDeferred\r\n };\r\n _proto._getFileItems = function(parentDirectoryInfo, skipNavigationOnError) {\r\n var _this6 = this;\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 (0, _deferred.when)(loadItemsDeferred).then((function(fileItems) {\r\n return _this6._securityController.getAllowedItems(fileItems)\r\n }), (function(errorInfo) {\r\n return _this6._handleItemLoadError(parentDirectoryInfo, errorInfo, skipNavigationOnError)\r\n }))\r\n };\r\n _proto.createDirectory = function(parentDirectoryInfo, name) {\r\n var _this7 = this;\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, (function(args) {\r\n args.parentDirectory = parentDirItem;\r\n args.name = name;\r\n _this7._editingEvents.onDirectoryCreating(args)\r\n }), (function() {\r\n return _this7._fileProvider.createDirectory(parentDirItem, name).done((function(info) {\r\n if (!parentDirItem.isRoot()) {\r\n parentDirItem.hasSubDirectories = true\r\n }\r\n return info\r\n }))\r\n }), (function() {\r\n var args = {\r\n parentDirectory: parentDirItem,\r\n name: name\r\n };\r\n _this7._editingEvents.onDirectoryCreated(args)\r\n }), (function() {\r\n return _this7._resetDirectoryState(parentDirectoryInfo, true)\r\n }))\r\n };\r\n _proto.renameItem = function(fileItemInfo, name) {\r\n var _this8 = this;\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, (function(args, itemInfo) {\r\n if (!itemInfo.fileItem.isDirectory) {\r\n _this8._securityController.validateExtension(name)\r\n }\r\n args.item = sourceItem;\r\n args.newName = name;\r\n _this8._editingEvents.onItemRenaming(args)\r\n }), (function(item) {\r\n return _this8._fileProvider.renameItem(item, name)\r\n }), (function() {\r\n var args = {\r\n sourceItem: sourceItem,\r\n itemName: name\r\n };\r\n _this8._editingEvents.onItemRenamed(args)\r\n }), (function() {\r\n var parentDirectory = _this8._getActualDirectoryInfo(fileItemInfo.parentDirectory);\r\n _this8._resetDirectoryState(parentDirectory);\r\n _this8.setCurrentDirectory(parentDirectory)\r\n }))\r\n };\r\n _proto.moveItems = function(itemInfos, destinationDirectory) {\r\n var _this9 = this;\r\n var actionInfo = this._createEditActionInfo(\"move\", itemInfos, destinationDirectory);\r\n return this._processEditAction(actionInfo, (function(args, itemInfo) {\r\n args.item = itemInfo.fileItem;\r\n args.destinationDirectory = destinationDirectory.fileItem;\r\n _this9._editingEvents.onItemMoving(args)\r\n }), (function(item) {\r\n return _this9._fileProvider.moveItems([item], destinationDirectory.fileItem)\r\n }), (function(itemInfo) {\r\n var args = {\r\n sourceItem: itemInfo.fileItem,\r\n parentDirectory: destinationDirectory.fileItem,\r\n itemName: itemInfo.fileItem.name,\r\n itemPath: (0, _utils.pathCombine)(destinationDirectory.fileItem.path, itemInfo.fileItem.name)\r\n };\r\n _this9._editingEvents.onItemMoved(args)\r\n }), (function(needChangeCurrentDirectory) {\r\n itemInfos.forEach((function(itemInfo) {\r\n return _this9._resetDirectoryState(itemInfo.parentDirectory, true)\r\n }));\r\n if (needChangeCurrentDirectory) {\r\n _this9._resetDirectoryState(destinationDirectory);\r\n _this9.setCurrentPathByKeys(destinationDirectory.fileItem.pathKeys);\r\n destinationDirectory.expanded = true\r\n }\r\n }))\r\n };\r\n _proto.copyItems = function(itemInfos, destinationDirectory) {\r\n var _this10 = this;\r\n var actionInfo = this._createEditActionInfo(\"copy\", itemInfos, destinationDirectory);\r\n return this._processEditAction(actionInfo, (function(args, itemInfo) {\r\n args.item = itemInfo.fileItem;\r\n args.destinationDirectory = destinationDirectory.fileItem;\r\n _this10._editingEvents.onItemCopying(args)\r\n }), (function(item) {\r\n return _this10._fileProvider.copyItems([item], destinationDirectory.fileItem)\r\n }), (function(itemInfo) {\r\n var args = {\r\n sourceItem: itemInfo.fileItem,\r\n parentDirectory: destinationDirectory.fileItem,\r\n itemName: itemInfo.fileItem.name,\r\n itemPath: (0, _utils.pathCombine)(destinationDirectory.fileItem.path, itemInfo.fileItem.name)\r\n };\r\n _this10._editingEvents.onItemCopied(args)\r\n }), (function(needChangeCurrentDirectory) {\r\n if (needChangeCurrentDirectory) {\r\n destinationDirectory = _this10._getActualDirectoryInfo(destinationDirectory);\r\n _this10._resetDirectoryState(destinationDirectory);\r\n _this10.setCurrentDirectory(destinationDirectory);\r\n destinationDirectory.expanded = true\r\n }\r\n }))\r\n };\r\n _proto.deleteItems = function(itemInfos) {\r\n var _this11 = this;\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, (function(args, itemInfo) {\r\n args.item = itemInfo.fileItem;\r\n _this11._editingEvents.onItemDeleting(args)\r\n }), (function(item) {\r\n return _this11._fileProvider.deleteItems([item])\r\n }), (function(itemInfo) {\r\n return _this11._editingEvents.onItemDeleted({\r\n item: itemInfo.fileItem\r\n })\r\n }), (function() {\r\n itemInfos.forEach((function(itemInfo) {\r\n var parentDir = _this11._getActualDirectoryInfo(itemInfo.parentDirectory);\r\n _this11._resetDirectoryState(parentDir);\r\n _this11.setCurrentDirectory(parentDir)\r\n }))\r\n }))\r\n };\r\n _proto.processUploadSession = function(sessionInfo, uploadDirectoryInfo) {\r\n var _this12 = this;\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, (function() {}), (function(_, index) {\r\n return sessionInfo.deferreds[index]\r\n }), (function() {}), (function() {\r\n return _this12._resetDirectoryState(uploadDirectoryInfo, true)\r\n }))\r\n };\r\n _proto.uploadFileChunk = function(fileData, chunksInfo, destinationDirectory) {\r\n var _this13 = this;\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((function(args) {\r\n args.fileData = fileData;\r\n args.destinationDirectory = destinationDirectory;\r\n _this13._editingEvents.onFileUploading(args)\r\n }))\r\n } else {\r\n startDeferred = (new _deferred.Deferred).resolve().promise()\r\n }\r\n var result = startDeferred.then((function() {\r\n return _this13._fileProvider.uploadFileChunk(fileData, chunksInfo, destinationDirectory)\r\n }));\r\n if (chunksInfo.chunkIndex === chunksInfo.chunkCount - 1) {\r\n result = result.done((function() {\r\n var args = {\r\n fileData: fileData,\r\n parentDirectory: destinationDirectory\r\n };\r\n _this13._editingEvents.onFileUploaded(args)\r\n }))\r\n }\r\n return result\r\n };\r\n _proto.abortFileUpload = function(fileData, chunksInfo, destinationDirectory) {\r\n return (0, _deferred.when)(this._fileProvider.abortFileUpload(fileData, chunksInfo, destinationDirectory))\r\n };\r\n _proto.getFileUploadChunkSize = function() {\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 _proto.downloadItems = function(itemInfos) {\r\n var _this14 = this;\r\n var deferreds = itemInfos.map((function(itemInfo) {\r\n return _this14._processBeforeItemEditAction((function(args) {\r\n args.item = itemInfo.fileItem;\r\n _this14._editingEvents.onItemDownloading(args)\r\n }), itemInfo)\r\n }));\r\n return _deferred.when.apply(void 0, _toConsumableArray(deferreds)).then((function() {\r\n var items = itemInfos.map((function(i) {\r\n return i.fileItem\r\n }));\r\n return (0, _deferred.when)(_this14._getItemActionResult(_this14._fileProvider.downloadItems(items))).then((function() {}), (function(errorInfo) {\r\n _this14._raiseDownloadItemsError(itemInfos, itemInfos[0].parentDirectory, errorInfo)\r\n }))\r\n }), (function(errorInfo) {\r\n _this14._raiseDownloadItemsError(itemInfos, itemInfos[0].parentDirectory, errorInfo)\r\n }))\r\n };\r\n _proto.getItemContent = function(itemInfos) {\r\n var items = itemInfos.map((function(i) {\r\n return i.fileItem\r\n }));\r\n return (0, _deferred.when)(this._fileProvider.getItemsContent(items))\r\n };\r\n _proto._handleItemLoadError = function(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.Deferred).reject().promise()\r\n };\r\n _proto._raiseGetItemsError = function(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 _proto._raiseDownloadItemsError = function(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 _proto._changeDirectoryOnError = function(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 _proto._getItemActionResult = function(actionResult) {\r\n return Array.isArray(actionResult) ? actionResult[0] : actionResult\r\n };\r\n _proto._processEditAction = function(actionInfo, beforeAction, action, afterAction, completeAction) {\r\n var _this15 = this;\r\n var isAnyOperationSuccessful = false;\r\n this._raiseEditActionStarting(actionInfo);\r\n var actionResult = actionInfo.itemInfos.map((function(itemInfo, itemIndex) {\r\n return _this15._processBeforeItemEditAction(beforeAction, itemInfo).then((function() {\r\n var itemActionResult = _this15._getItemActionResult(action(itemInfo.fileItem, itemIndex));\r\n return itemActionResult.done((function() {\r\n return afterAction(itemInfo)\r\n }))\r\n }))\r\n }));\r\n actionInfo.singleRequest = 1 === actionResult.length;\r\n this._raiseEditActionResultAcquired(actionInfo);\r\n return (0, _uiFile_manager.whenSome)(actionResult, (function(info) {\r\n isAnyOperationSuccessful = true;\r\n _this15._raiseCompleteEditActionItem(actionInfo, info)\r\n }), (function(errorInfo) {\r\n return _this15._raiseEditActionItemError(actionInfo, errorInfo)\r\n })).then((function() {\r\n completeAction(isAnyOperationSuccessful);\r\n _this15._raiseCompleteEditAction(actionInfo)\r\n }))\r\n };\r\n _proto._createEditActionInfo = function(name, targetItemInfos, directory, customData) {\r\n targetItemInfos = Array.isArray(targetItemInfos) ? targetItemInfos : [targetItemInfos];\r\n customData = customData || {};\r\n var items = targetItemInfos.map((function(itemInfo) {\r\n return itemInfo.fileItem\r\n }));\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 _proto._processBeforeItemEditAction = function(action, itemInfo) {\r\n var deferred = new _deferred.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 ((0, _type.isPromise)(args.cancel)) {\r\n (0, _deferred.when)(args.cancel).then((function(res) {\r\n if (true === res) {\r\n deferred.reject()\r\n } else if ((0, _type.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 _proto._createBeforeActionArgs = function() {\r\n return {\r\n errorCode: void 0,\r\n errorText: \"\",\r\n cancel: false\r\n }\r\n };\r\n _proto._getItemInfosForUploaderFiles = function(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 _file_system_item.default(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 _proto.refresh = function() {\r\n var _this16 = this;\r\n if (this._lockRefresh) {\r\n return this._refreshDeferred\r\n }\r\n this._lockRefresh = true;\r\n return this._executeDataLoad((function() {\r\n return _this16._refreshDeferred = _this16._refreshInternal()\r\n }), OPERATIONS.REFRESH)\r\n };\r\n _proto.startSingleLoad = function() {\r\n this._singleOperationLockId = (new _guid.default).toString()\r\n };\r\n _proto.endSingleLoad = function() {\r\n delete this._singleOperationLockId\r\n };\r\n _proto._refreshInternal = function() {\r\n var _this17 = this;\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((function() {\r\n var dirInfo = _this17._findDirectoryByPathKeyParts(selectedKeyParts);\r\n _this17.setCurrentDirectory(dirInfo);\r\n delete _this17._lockRefresh\r\n }))\r\n };\r\n _proto._loadItemsRecursive = function(directoryInfo, cachedDirectoryInfo) {\r\n var _this18 = this;\r\n return this.getDirectories(directoryInfo).then((function(dirInfos) {\r\n var itemDeferreds = [];\r\n var _loop = function(i) {\r\n var cachedItem = cachedDirectoryInfo.items.find((function(cache) {\r\n return dirInfos[i].fileItem.key === cache.fileItem.key\r\n }));\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(_this18._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 (0, _uiFile_manager.whenSome)(itemDeferreds)\r\n }), (function() {\r\n return null\r\n }))\r\n };\r\n _proto._setCurrentDirectoryByPathParts = function(pathParts, useKeys) {\r\n var _this19 = this;\r\n return this._executeDataLoad((function() {\r\n return _this19._setCurrentDirectoryByPathPartsInternal(pathParts, useKeys)\r\n }), OPERATIONS.NAVIGATION)\r\n };\r\n _proto._setCurrentDirectoryByPathPartsInternal = function(pathParts, useKeys) {\r\n var _this20 = this;\r\n return this._getDirectoryByPathParts(this._rootDirectoryInfo, pathParts, useKeys).then((function(directoryInfo) {\r\n for (var info = directoryInfo.parentDirectory; info; info = info.parentDirectory) {\r\n info.expanded = true\r\n }\r\n _this20.setCurrentDirectory(directoryInfo)\r\n }), (function() {\r\n _this20._raisePathPotentiallyChanged()\r\n }))\r\n };\r\n _proto._executeDataLoad = function(action, operation) {\r\n var _this21 = this;\r\n if (this._dataLoadingDeferred) {\r\n return this._dataLoadingDeferred.then((function() {\r\n return _this21._executeDataLoad(action, operation)\r\n }))\r\n }\r\n this._dataLoading = true;\r\n this._dataLoadingDeferred = new _deferred.Deferred;\r\n if (this._isInitialized) {\r\n this._raiseDataLoading(operation)\r\n }\r\n return action().always((function() {\r\n var tempDeferred = _this21._dataLoadingDeferred;\r\n _this21._dataLoadingDeferred = null;\r\n _this21._dataLoading = false;\r\n tempDeferred.resolve()\r\n }))\r\n };\r\n _proto._getDirectoryByPathParts = function(parentDirectoryInfo, pathParts, useKeys) {\r\n var _this22 = this;\r\n if (pathParts.length < 1) {\r\n return (new _deferred.Deferred).resolve(parentDirectoryInfo).promise()\r\n }\r\n var fieldName = useKeys ? \"key\" : \"name\";\r\n return this.getDirectories(parentDirectoryInfo).then((function(dirInfos) {\r\n var subDirInfo = dirInfos.find((function(d) {\r\n return d.fileItem[fieldName] === pathParts[0]\r\n }));\r\n if (!subDirInfo) {\r\n return (new _deferred.Deferred).reject().promise()\r\n }\r\n var restPathParts = _toConsumableArray(pathParts).splice(1);\r\n return _this22._getDirectoryByPathParts(subDirInfo, restPathParts, useKeys)\r\n }))\r\n };\r\n _proto._getDirectoryPathKeyParts = function(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 _proto._findDirectoryByPathKeyParts = function(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((function(info) {\r\n return info.fileItem.key === keyParts[i]\r\n }));\r\n if (newSelectedDir) {\r\n selectedDirInfo = newSelectedDir\r\n }\r\n i++\r\n }\r\n return selectedDirInfo\r\n };\r\n _proto._getActualDirectoryInfo = function(directoryInfo) {\r\n var keys = this._getDirectoryPathKeyParts(directoryInfo);\r\n return this._findDirectoryByPathKeyParts(keys)\r\n };\r\n _proto._createDirInfoByName = function(name, parentDirectoryInfo) {\r\n var dirPathInfo = this._getPathInfo(parentDirectoryInfo);\r\n var fileItem = new _file_system_item.default(dirPathInfo, name, true);\r\n return this._createDirectoryInfo(fileItem, parentDirectoryInfo)\r\n };\r\n _proto._createDirectoryInfo = function(fileItem, parentDirectoryInfo) {\r\n return (0, _extend.extend)(this._createFileInfo(fileItem, parentDirectoryInfo), {\r\n icon: \"folder\",\r\n expanded: fileItem.isRoot(),\r\n items: []\r\n })\r\n };\r\n _proto._createFileInfo = function(fileItem, parentDirectoryInfo) {\r\n return {\r\n fileItem: fileItem,\r\n parentDirectory: parentDirectoryInfo,\r\n icon: this._getFileItemDefaultIcon(fileItem),\r\n getInternalKey: function() {\r\n return \"FIK_\".concat(this.fileItem.key)\r\n },\r\n getDisplayName: function() {\r\n return this.displayName || this.fileItem.name\r\n }\r\n }\r\n };\r\n _proto._resetDirectoryState = function(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 _proto._getFileItemDefaultIcon = function(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 _proto._createDefaultIconMap = function() {\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((function(extension) {\r\n result[extension] = \"image\"\r\n }));\r\n return result\r\n };\r\n _proto._createRootDirectoryInfo = function(text) {\r\n var rootDirectory = new _file_system_item.default(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 _proto.setRootText = function(rootText) {\r\n this._rootDirectoryInfo.displayName = rootText || DEFAULT_ROOT_FILE_SYSTEM_ITEM_NAME\r\n };\r\n _proto._raiseInitialized = function() {\r\n this._tryCallAction(\"onInitialized\", {\r\n controller: this\r\n })\r\n };\r\n _proto._raiseDataLoading = function(operation) {\r\n this._tryCallAction(\"onDataLoading\", {\r\n operation: operation\r\n })\r\n };\r\n _proto._raiseSelectedDirectoryChanged = function(directoryInfo) {\r\n this._tryCallAction(\"onSelectedDirectoryChanged\", {\r\n selectedDirectoryInfo: directoryInfo\r\n })\r\n };\r\n _proto._raiseEditActionStarting = function(actionInfo) {\r\n this._tryCallAction(\"onEditActionStarting\", actionInfo)\r\n };\r\n _proto._raiseEditActionResultAcquired = function(actionInfo) {\r\n this._tryCallAction(\"onEditActionResultAcquired\", actionInfo)\r\n };\r\n _proto._raiseEditActionError = function(actionInfo, errorInfo) {\r\n this._tryCallAction(\"onEditActionError\", actionInfo, errorInfo)\r\n };\r\n _proto._raiseEditActionItemError = function(actionInfo, errorInfo) {\r\n this._tryCallAction(\"onEditActionItemError\", actionInfo, errorInfo)\r\n };\r\n _proto._raiseCompleteEditActionItem = function(actionInfo, info) {\r\n this._tryCallAction(\"onCompleteEditActionItem\", actionInfo, info)\r\n };\r\n _proto._raiseCompleteEditAction = function(actionInfo) {\r\n this._tryCallAction(\"onCompleteEditAction\", actionInfo)\r\n };\r\n _proto._raisePathPotentiallyChanged = function() {\r\n this._tryCallAction(\"onPathPotentiallyChanged\")\r\n };\r\n _proto._tryCallAction = function(actionName) {\r\n var args = Array.prototype.slice.call(arguments, 1);\r\n if (this._isInitialized && this._options[actionName]) {\r\n var _this$_options;\r\n (_this$_options = this._options)[actionName].apply(_this$_options, _toConsumableArray(args))\r\n }\r\n };\r\n _proto._resetState = function() {\r\n this._selectedDirectory = null;\r\n this._rootDirectoryInfo.items = [];\r\n this._rootDirectoryInfo.itemsLoaded = false;\r\n this._loadedItems = {}\r\n };\r\n _proto._getPathInfo = function(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 _proto.on = function(eventName, eventHandler) {\r\n var finalEventName = \"on\".concat(eventName);\r\n this._options[finalEventName] = eventHandler\r\n };\r\n _createClass(FileItemsController, [{\r\n key: \"_editingEvents\",\r\n get: function() {\r\n return this._options.editingEvents\r\n }\r\n }]);\r\n return FileItemsController\r\n}();\r\nexports.FileItemsController = FileItemsController;\r\nvar FileSecurityController = function() {\r\n function FileSecurityController(options) {\r\n var _this23 = this;\r\n this._options = (0, _extend.extend)({\r\n allowedFileExtensions: [],\r\n maxFileSize: 0\r\n }, options);\r\n this._extensionsMap = {};\r\n this._allowedFileExtensions.forEach((function(extension) {\r\n _this23._extensionsMap[extension.toUpperCase()] = true\r\n }))\r\n }\r\n var _proto2 = FileSecurityController.prototype;\r\n _proto2.getAllowedItems = function(items) {\r\n var _this24 = this;\r\n if (0 === this._allowedFileExtensions.length) {\r\n return items\r\n }\r\n return items.filter((function(item) {\r\n return item.isDirectory || _this24._isValidExtension(item.name)\r\n }))\r\n };\r\n _proto2.validateExtension = function(name) {\r\n if (!this._isValidExtension(name)) {\r\n throw new _error.default(_error_codes.default.WrongFileExtension, null)\r\n }\r\n };\r\n _proto2.validateMaxFileSize = function(size) {\r\n if (this._maxFileSize && size > this._maxFileSize) {\r\n throw new _error.default(_error_codes.default.MaxFileSizeExceeded, null)\r\n }\r\n };\r\n _proto2._isValidExtension = function(name) {\r\n if (0 === this._allowedFileExtensions.length) {\r\n return true\r\n }\r\n var extension = (0, _utils.getFileExtension)(name).toUpperCase();\r\n return this._extensionsMap[extension]\r\n };\r\n _createClass(FileSecurityController, [{\r\n key: \"_allowedFileExtensions\",\r\n get: function() {\r\n return this._options.allowedFileExtensions\r\n }\r\n }, {\r\n key: \"_maxFileSize\",\r\n get: function() {\r\n return this._options.maxFileSize\r\n }\r\n }]);\r\n return FileSecurityController\r\n}();\r\n","/**\r\n * DevExtreme (cjs/ui/file_manager/ui.file_manager.adaptivity.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _size = require(\"../../core/utils/size\");\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _window = require(\"../../core/utils/window\");\r\nvar _ui = _interopRequireDefault(require(\"../widget/ui.widget\"));\r\nvar _ui2 = _interopRequireDefault(require(\"../drawer/ui.drawer\"));\r\nvar _splitter = _interopRequireDefault(require(\"../splitter\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar window = (0, _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\nvar FileManagerAdaptivityControl = function(_Widget) {\r\n _inheritsLoose(FileManagerAdaptivityControl, _Widget);\r\n\r\n function FileManagerAdaptivityControl() {\r\n return _Widget.apply(this, arguments) || this\r\n }\r\n var _proto = FileManagerAdaptivityControl.prototype;\r\n _proto._initMarkup = function() {\r\n _Widget.prototype._initMarkup.call(this);\r\n this._initActions();\r\n this._isInAdaptiveState = false;\r\n var $drawer = (0, _renderer.default)(\"<div>\").appendTo(this.$element());\r\n (0, _renderer.default)(\"<div>\").addClass(FILE_MANAGER_ADAPTIVITY_DRAWER_PANEL_CLASS).appendTo($drawer);\r\n this._drawer = this._createComponent($drawer, _ui2.default);\r\n this._drawer.option({\r\n opened: true,\r\n template: this._createDrawerTemplate.bind(this)\r\n });\r\n (0, _renderer.default)(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 ((0, _type.isFunction)(contentRenderer)) {\r\n contentRenderer($drawerContent)\r\n }\r\n this._updateDrawerMaxSize()\r\n };\r\n _proto._createDrawerTemplate = function(container) {\r\n this.option(\"drawerTemplate\")(container);\r\n this._splitter = this._createComponent(\"<div>\", _splitter.default, {\r\n container: this.$element(),\r\n leftElement: (0, _renderer.default)(this._drawer.content()),\r\n rightElement: (0, _renderer.default)(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 _proto._render = function() {\r\n _Widget.prototype._render.call(this);\r\n this._checkAdaptiveState()\r\n };\r\n _proto._onApplyPanelSize = function(e) {\r\n if (!(0, _window.hasWindow)()) {\r\n return\r\n }\r\n if (!this._splitter.isSplitterMoved()) {\r\n this._setDrawerWidth(\"\");\r\n return\r\n }(0, _renderer.default)(this._drawer.content()).removeClass(DRAWER_PANEL_CONTENT_INITIAL);\r\n this._setDrawerWidth(e.leftPanelWidth)\r\n };\r\n _proto._onActiveStateChanged = function(_ref) {\r\n var isActive = _ref.isActive;\r\n this._splitter.disableSplitterCalculation(!isActive);\r\n !isActive && this._splitter.$element().css(\"left\", \"auto\")\r\n };\r\n _proto._setDrawerWidth = function(width) {\r\n (0, _renderer.default)(this._drawer.content()).css(\"width\", width);\r\n this._updateDrawerMaxSize();\r\n this._drawer.resizeViewContent()\r\n };\r\n _proto._updateDrawerMaxSize = function() {\r\n this._drawer.option(\"maxSize\", this._drawer.getRealPanelWidth())\r\n };\r\n _proto._dimensionChanged = function(dimension) {\r\n if (!dimension || \"height\" !== dimension) {\r\n this._checkAdaptiveState()\r\n }\r\n };\r\n _proto._checkAdaptiveState = function() {\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 (0, _renderer.default)(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 _proto._isSmallScreen = function() {\r\n return (0, _size.getWidth)(window) <= ADAPTIVE_STATE_SCREEN_WIDTH\r\n };\r\n _proto._isDrawerOpened = function() {\r\n return this._drawer.option(\"opened\")\r\n };\r\n _proto._initActions = function() {\r\n this._actions = {\r\n onAdaptiveStateChanged: this._createActionByOption(\"onAdaptiveStateChanged\")\r\n }\r\n };\r\n _proto._raiseAdaptiveStateChanged = function(enabled) {\r\n this._actions.onAdaptiveStateChanged({\r\n enabled: enabled\r\n })\r\n };\r\n _proto._getDefaultOptions = function() {\r\n return (0, _extend.extend)(_Widget.prototype._getDefaultOptions.call(this), {\r\n drawerTemplate: null,\r\n contentTemplate: null,\r\n onAdaptiveStateChanged: null\r\n })\r\n };\r\n _proto._optionChanged = function(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 _Widget.prototype._optionChanged.call(this, args)\r\n }\r\n };\r\n _proto.isInAdaptiveState = function() {\r\n return this._isInAdaptiveState\r\n };\r\n _proto.toggleDrawer = function(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 _proto.getSplitterElement = function() {\r\n return this._splitter.getSplitterBorderElement().get(0)\r\n };\r\n return FileManagerAdaptivityControl\r\n}(_ui.default);\r\nvar _default = FileManagerAdaptivityControl;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/file_manager/ui.file_manager.breadcrumbs.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _ui = _interopRequireDefault(require(\"../widget/ui.widget\"));\r\nvar _ui2 = _interopRequireDefault(require(\"../menu/ui.menu\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\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\nvar FileManagerBreadcrumbs = function(_Widget) {\r\n _inheritsLoose(FileManagerBreadcrumbs, _Widget);\r\n\r\n function FileManagerBreadcrumbs() {\r\n return _Widget.apply(this, arguments) || this\r\n }\r\n var _proto = FileManagerBreadcrumbs.prototype;\r\n _proto._init = function() {\r\n _Widget.prototype._init.call(this);\r\n this._currentDirectory = null\r\n };\r\n _proto._initMarkup = function() {\r\n _Widget.prototype._initMarkup.call(this);\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 _proto.setCurrentDirectory = function(directory) {\r\n if (!this._areDirsEqual(this._currentDirectory, directory)) {\r\n this._currentDirectory = directory;\r\n this.repaint()\r\n }\r\n };\r\n _proto._renderMenu = function() {\r\n var $menu = (0, _renderer.default)(\"<div>\").appendTo(this.$element());\r\n this._menu = this._createComponent($menu, _ui2.default, {\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 _proto._getMenuItems = function() {\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((function(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 _proto._onItemClick = function(_ref) {\r\n var itemData = _ref.itemData;\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 _proto._onItemRendered = function(_ref2) {\r\n var itemElement = _ref2.itemElement,\r\n itemData = _ref2.itemData;\r\n if (itemData.cssClass) {\r\n (0, _renderer.default)(itemElement).addClass(itemData.cssClass)\r\n }\r\n };\r\n _proto._getParentDirsLine = function() {\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 _proto._areDirsEqual = function(dir1, dir2) {\r\n return dir1 && dir2 && dir1 === dir2 && dir1.fileItem.key === dir2.fileItem.key\r\n };\r\n _proto._initActions = function() {\r\n this._actions = {\r\n onCurrentDirectoryChanging: this._createActionByOption(\"onCurrentDirectoryChanging\")\r\n }\r\n };\r\n _proto._raiseCurrentDirectoryChanged = function(currentDirectory) {\r\n this._actions.onCurrentDirectoryChanging({\r\n currentDirectory: currentDirectory\r\n })\r\n };\r\n _proto._getDefaultOptions = function() {\r\n return (0, _extend.extend)(_Widget.prototype._getDefaultOptions.call(this), {\r\n rootFolderDisplayName: \"Files\",\r\n onCurrentDirectoryChanging: null\r\n })\r\n };\r\n _proto._optionChanged = function(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 _Widget.prototype._optionChanged.call(this, args)\r\n }\r\n };\r\n return FileManagerBreadcrumbs\r\n}(_ui.default);\r\nvar _default = FileManagerBreadcrumbs;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/file_manager/ui.file_manager.command_manager.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.defaultPermissions = exports.FileManagerCommandManager = void 0;\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _message = _interopRequireDefault(require(\"../../localization/message\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar 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\nexports.defaultPermissions = defaultPermissions;\r\nvar FileManagerCommandManager = function() {\r\n function FileManagerCommandManager(permissions) {\r\n this._actions = {};\r\n this._permissions = permissions || {};\r\n this._initCommands()\r\n }\r\n var _proto = FileManagerCommandManager.prototype;\r\n _proto._initCommands = function() {\r\n var _this = this;\r\n this._commands = [{\r\n name: \"create\",\r\n text: _message.default.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: _message.default.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: _message.default.format(\"dxFileManager-commandMove\"),\r\n icon: \"movetofolder\",\r\n enabled: this._permissions.move\r\n }, {\r\n name: \"copy\",\r\n text: _message.default.format(\"dxFileManager-commandCopy\"),\r\n icon: \"copy\",\r\n enabled: this._permissions.copy\r\n }, {\r\n name: \"delete\",\r\n text: _message.default.format(\"dxFileManager-commandDelete\"),\r\n icon: \"trash\",\r\n enabled: this._permissions.delete\r\n }, {\r\n name: \"download\",\r\n text: _message.default.format(\"dxFileManager-commandDownload\"),\r\n icon: \"download\",\r\n enabled: this._permissions.download\r\n }, {\r\n name: \"upload\",\r\n text: _message.default.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: _message.default.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: _message.default.format(\"dxFileManager-commandThumbnails\"),\r\n icon: \"mediumiconslayout\",\r\n enabled: true,\r\n noFileItemRequired: true\r\n }, {\r\n name: \"details\",\r\n text: _message.default.format(\"dxFileManager-commandDetails\"),\r\n icon: \"detailslayout\",\r\n enabled: true,\r\n noFileItemRequired: true\r\n }, {\r\n name: \"clearSelection\",\r\n text: _message.default.format(\"dxFileManager-commandClearSelection\"),\r\n icon: \"remove\",\r\n enabled: true\r\n }, {\r\n name: \"showNavPane\",\r\n hint: _message.default.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((function(command) {\r\n _this._commandMap[command.name] = command\r\n }))\r\n };\r\n _proto.registerActions = function(actions) {\r\n this._actions = (0, _extend.extend)(this._actions, actions)\r\n };\r\n _proto.executeCommand = function(command, arg) {\r\n var commandName = (0, _type.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 _proto.updatePermissions = function(permissions) {\r\n var _this2 = this;\r\n var resultPermissions = (0, _extend.extend)({}, defaultPermissions, permissions);\r\n this._permissions = resultPermissions;\r\n (0, _iterator.each)(this._permissions, (function(permission) {\r\n _this2._commandMap[permission].enabled = _this2._permissions[permission]\r\n }))\r\n };\r\n _proto.setCommandEnabled = function(commandName, enabled) {\r\n var command = this.getCommandByName(commandName);\r\n if (command) {\r\n command.enabled = enabled\r\n }\r\n };\r\n _proto.getCommandByName = function(name) {\r\n return this._commandMap[name]\r\n };\r\n _proto.isCommandAvailable = function(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((function(item) {\r\n return item.fileItem.isRoot() || item.fileItem.isParentFolder\r\n }))) {\r\n return false\r\n }\r\n if (\"download\" === commandName) {\r\n return itemInfos.every((function(itemInfo) {\r\n return !itemInfo.fileItem.isDirectory\r\n }))\r\n }\r\n return !command.isSingleFileItemCommand || 1 === itemsLength\r\n };\r\n return FileManagerCommandManager\r\n}();\r\nexports.FileManagerCommandManager = FileManagerCommandManager;\r\n","/**\r\n * DevExtreme (cjs/ui/file_manager/ui.file_manager.common.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.whenSome = exports.getMapFromObject = exports.getDisplayFileSize = exports.findItemsByKeys = exports.extendAttributes = void 0;\r\nvar _deferred = require(\"../../core/utils/deferred\");\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _type = require(\"../../core/utils/type\");\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\n\r\nfunction _defineProperty(obj, key, value) {\r\n key = _toPropertyKey(key);\r\n if (key in obj) {\r\n Object.defineProperty(obj, key, {\r\n value: value,\r\n enumerable: true,\r\n configurable: true,\r\n writable: true\r\n })\r\n } else {\r\n obj[key] = value\r\n }\r\n return obj\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\nvar whenSome = function(arg, onSuccess, onError) {\r\n onSuccess = onSuccess || _common.noop;\r\n onError = onError || _common.noop;\r\n if (!Array.isArray(arg)) {\r\n arg = [arg]\r\n }\r\n var deferreds = arg.map((function(item, index) {\r\n return (0, _deferred.when)(item).then((function(result) {\r\n (0, _type.isFunction)(onSuccess) && onSuccess({\r\n item: item,\r\n index: index,\r\n result: result\r\n });\r\n return result\r\n }), (function(error) {\r\n if (!error) {\r\n error = {}\r\n }\r\n error.index = index;\r\n (0, _type.isFunction)(onError) && onError(error);\r\n return (new _deferred.Deferred).resolve().promise()\r\n }))\r\n }));\r\n return _deferred.when.apply(null, deferreds)\r\n};\r\nexports.whenSome = whenSome;\r\nvar 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\nexports.getDisplayFileSize = getDisplayFileSize;\r\nvar extendAttributes = function(targetObject, sourceObject, objectKeysArray) {\r\n objectKeysArray.forEach((function(objectKey) {\r\n (0, _extend.extend)(true, targetObject, (0, _type.isDefined)(sourceObject[objectKey]) ? _defineProperty({}, objectKey, sourceObject[objectKey]) : {})\r\n }));\r\n return targetObject\r\n};\r\nexports.extendAttributes = extendAttributes;\r\nvar findItemsByKeys = function(itemInfos, keys) {\r\n var itemMap = {};\r\n keys.forEach((function(key) {\r\n itemMap[key] = null\r\n }));\r\n itemInfos.forEach((function(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((function(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\nexports.findItemsByKeys = findItemsByKeys;\r\nvar getMapFromObject = function(object) {\r\n var keys = Object.keys(object);\r\n var values = [];\r\n keys.forEach((function(key) {\r\n return values.push(object[key])\r\n }));\r\n return {\r\n keys: keys,\r\n values: values\r\n }\r\n};\r\nexports.getMapFromObject = getMapFromObject;\r\n","/**\r\n * DevExtreme (cjs/ui/file_manager/ui.file_manager.context_menu.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _ui = _interopRequireDefault(require(\"../widget/ui.widget\"));\r\nvar _ui2 = _interopRequireDefault(require(\"../context_menu/ui.context_menu\"));\r\nvar _uiFile_manager = require(\"./ui.file_manager.common\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\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\nvar FileManagerContextMenu = function(_Widget) {\r\n _inheritsLoose(FileManagerContextMenu, _Widget);\r\n\r\n function FileManagerContextMenu() {\r\n return _Widget.apply(this, arguments) || this\r\n }\r\n var _proto = FileManagerContextMenu.prototype;\r\n _proto._initMarkup = function() {\r\n var _this = this;\r\n this._initActions();\r\n this._isVisible = false;\r\n var $menu = (0, _renderer.default)(\"<div>\").appendTo(this.$element());\r\n this._contextMenu = this._createComponent($menu, _ui2.default, {\r\n cssClass: FILEMANAGER_CONTEXT_MEMU_CLASS,\r\n showEvent: \"\",\r\n onItemClick: function(args) {\r\n return _this._onContextMenuItemClick(args.itemData.name, args)\r\n },\r\n onShowing: function(e) {\r\n return _this._onContextMenuShowing(e)\r\n },\r\n onShown: function() {\r\n return _this._onContextMenuShown()\r\n },\r\n onHidden: function() {\r\n return _this._onContextMenuHidden()\r\n }\r\n });\r\n _Widget.prototype._initMarkup.call(this)\r\n };\r\n _proto.showAt = function(fileItems, element, event, target) {\r\n var itemData = target.itemData,\r\n itemElement = target.itemElement,\r\n _target$isActionButto = target.isActionButton,\r\n isActionButton = void 0 === _target$isActionButto ? false : _target$isActionButto;\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 _proto.createContextMenuItems = function(fileItems, contextMenuItems, targetFileItem) {\r\n var _this2 = this;\r\n this._targetFileItems = fileItems;\r\n this._targetFileItem = (0, _type.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((function(srcItem) {\r\n var commandName = (0, _type.isString)(srcItem) ? srcItem : srcItem.name;\r\n var item = _this2._configureItemByCommandName(commandName, srcItem, fileItems, _this2._targetFileItem);\r\n if (_this2._isContextMenuItemAvailable(item, fileItems)) {\r\n result.push(item)\r\n }\r\n }));\r\n return result\r\n };\r\n _proto._isContextMenuItemAvailable = function(menuItem, fileItems) {\r\n if (!this._isDefaultItem(menuItem.name) || !menuItem._autoHide) {\r\n return (0, _common.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 _proto._isIsolatedCreationItemCommand = function(commandName) {\r\n return (\"create\" === commandName || \"upload\" === commandName) && this.option(\"isolateCreationItemCommands\")\r\n };\r\n _proto._isDefaultItem = function(commandName) {\r\n return !!DEFAULT_CONTEXT_MENU_ITEMS[commandName]\r\n };\r\n _proto._configureItemByCommandName = function(commandName, item, fileItems, targetFileItem) {\r\n if (!this._isDefaultItem(commandName)) {\r\n var res = (0, _extend.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 (0, _extend.extend)(result, defaultConfig);\r\n result.originalItemData = item;\r\n (0, _uiFile_manager.extendAttributes)(result, item, DEFAULT_ITEM_ALLOWED_PROPERTIES);\r\n if (!(0, _type.isDefined)(result.visible)) {\r\n result._autoHide = true\r\n }\r\n if (commandName && !result.name) {\r\n (0, _extend.extend)(result, {\r\n name: commandName\r\n })\r\n }\r\n return result\r\n };\r\n _proto._createMenuItemByCommandName = function(commandName) {\r\n var _this$_commandManager = this._commandManager.getCommandByName(commandName),\r\n text = _this$_commandManager.text,\r\n icon = _this$_commandManager.icon;\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 _proto._addItemClickHandler = function(commandName, contextMenuItem) {\r\n var _this3 = this;\r\n contextMenuItem.onItemClick = function(args) {\r\n return _this3._onContextMenuItemClick(commandName, args)\r\n }\r\n };\r\n _proto._onContextMenuItemClick = function(commandName, args) {\r\n var _this$_targetFileItem;\r\n var changedArgs = (0, _extend.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 _proto._initActions = function() {\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 _proto._onContextMenuShowing = function(e) {\r\n if (this._isVisible) {\r\n this._onContextMenuHidden(true)\r\n }\r\n e = (0, _extend.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 _proto.tryUpdateVisibleContextMenu = function() {\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 _proto._onContextMenuShown = function() {\r\n this._isVisible = true\r\n };\r\n _proto._onContextMenuHidden = function(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 _proto._raiseContextMenuHidden = function() {\r\n this._actions.onContextMenuHidden()\r\n };\r\n _proto._getDefaultOptions = function() {\r\n return (0, _extend.extend)(_Widget.prototype._getDefaultOptions.call(this), {\r\n commandManager: null,\r\n onContextMenuHidden: null,\r\n onItemClick: null\r\n })\r\n };\r\n _proto._optionChanged = function(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 _Widget.prototype._optionChanged.call(this, args)\r\n }\r\n };\r\n _createClass(FileManagerContextMenu, [{\r\n key: \"_commandManager\",\r\n get: function() {\r\n return this.option(\"commandManager\")\r\n }\r\n }]);\r\n return FileManagerContextMenu\r\n}(_ui.default);\r\nvar _default = FileManagerContextMenu;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/file_manager/ui.file_manager.dialog.delete_item.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _message = _interopRequireDefault(require(\"../../localization/message\"));\r\nvar _scroll_view = _interopRequireDefault(require(\"../scroll_view\"));\r\nvar _uiFile_manager = _interopRequireDefault(require(\"./ui.file_manager.dialog\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\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\nvar FileManagerDeleteItemDialog = function(_FileManagerDialogBas) {\r\n _inheritsLoose(FileManagerDeleteItemDialog, _FileManagerDialogBas);\r\n\r\n function FileManagerDeleteItemDialog() {\r\n return _FileManagerDialogBas.apply(this, arguments) || this\r\n }\r\n var _proto = FileManagerDeleteItemDialog.prototype;\r\n _proto.show = function(_ref) {\r\n var itemName = _ref.itemName,\r\n itemCount = _ref.itemCount;\r\n var text = 1 === itemCount ? _message.default.format(\"dxFileManager-dialogDeleteItemSingleItemConfirmation\", itemName) : _message.default.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 _FileManagerDialogBas.prototype.show.call(this)\r\n };\r\n _proto._getDialogOptions = function() {\r\n return (0, _extend.extend)(_FileManagerDialogBas.prototype._getDialogOptions.call(this), {\r\n title: _message.default.format(\"dxFileManager-dialogDeleteItemTitle\"),\r\n buttonText: _message.default.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 _proto._createContentTemplate = function(element) {\r\n _FileManagerDialogBas.prototype._createContentTemplate.call(this, element);\r\n this._$text = (0, _renderer.default)(\"<div>\").text(this._initialText).appendTo(this._$contentElement);\r\n this._createComponent(this._$contentElement, _scroll_view.default, {\r\n width: \"100%\",\r\n height: \"100%\"\r\n })\r\n };\r\n _proto._getDialogResult = function() {\r\n return {}\r\n };\r\n return FileManagerDeleteItemDialog\r\n}(_uiFile_manager.default);\r\nvar _default = FileManagerDeleteItemDialog;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/file_manager/ui.file_manager.dialog.folder_chooser.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _message = _interopRequireDefault(require(\"../../localization/message\"));\r\nvar _uiFile_manager = require(\"./ui.file_manager.common\");\r\nvar _uiFile_manager2 = _interopRequireDefault(require(\"./ui.file_manager.dialog\"));\r\nvar _uiFile_manager3 = _interopRequireDefault(require(\"./ui.file_manager.files_tree_view\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _toConsumableArray(arr) {\r\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread()\r\n}\r\n\r\nfunction _nonIterableSpread() {\r\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _unsupportedIterableToArray(o, minLen) {\r\n if (!o) {\r\n return\r\n }\r\n if (\"string\" === typeof o) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n var n = Object.prototype.toString.call(o).slice(8, -1);\r\n if (\"Object\" === n && o.constructor) {\r\n n = o.constructor.name\r\n }\r\n if (\"Map\" === n || \"Set\" === n) {\r\n return Array.from(o)\r\n }\r\n if (\"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n}\r\n\r\nfunction _iterableToArray(iter) {\r\n if (\"undefined\" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter[\"@@iterator\"]) {\r\n return Array.from(iter)\r\n }\r\n}\r\n\r\nfunction _arrayWithoutHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return _arrayLikeToArray(arr)\r\n }\r\n}\r\n\r\nfunction _arrayLikeToArray(arr, len) {\r\n if (null == len || len > arr.length) {\r\n len = arr.length\r\n }\r\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\r\n arr2[i] = arr[i]\r\n }\r\n return arr2\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\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\nvar FileManagerFolderChooserDialog = function(_FileManagerDialogBas) {\r\n _inheritsLoose(FileManagerFolderChooserDialog, _FileManagerDialogBas);\r\n\r\n function FileManagerFolderChooserDialog() {\r\n return _FileManagerDialogBas.apply(this, arguments) || this\r\n }\r\n var _proto = FileManagerFolderChooserDialog.prototype;\r\n _proto.show = function() {\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 _FileManagerDialogBas.prototype.show.call(this)\r\n };\r\n _proto.switchToCopyDialog = function(targetItemInfos) {\r\n this._targetItemInfos = targetItemInfos;\r\n this._setTitle(_message.default.format(\"dxFileManager-dialogDirectoryChooserCopyTitle\"));\r\n this._setApplyButtonOptions({\r\n text: _message.default.format(\"dxFileManager-dialogDirectoryChooserCopyButtonText\"),\r\n disabled: true\r\n })\r\n };\r\n _proto.switchToMoveDialog = function(targetItemInfos) {\r\n this._targetItemInfos = targetItemInfos;\r\n this._setTitle(_message.default.format(\"dxFileManager-dialogDirectoryChooserMoveTitle\"));\r\n this._setApplyButtonOptions({\r\n text: _message.default.format(\"dxFileManager-dialogDirectoryChooserMoveButtonText\"),\r\n disabled: true\r\n })\r\n };\r\n _proto._getDialogOptions = function() {\r\n return (0, _extend.extend)(_FileManagerDialogBas.prototype._getDialogOptions.call(this), {\r\n contentCssClass: FILE_MANAGER_DIALOG_FOLDER_CHOOSER,\r\n popupCssClass: FILE_MANAGER_DIALOG_FOLDER_CHOOSER_POPUP\r\n })\r\n };\r\n _proto._createContentTemplate = function(element) {\r\n var _this = this;\r\n _FileManagerDialogBas.prototype._createContentTemplate.call(this, element);\r\n this._filesTreeView = this._createComponent((0, _renderer.default)(\"<div>\"), _uiFile_manager3.default, {\r\n getDirectories: this.option(\"getDirectories\"),\r\n getCurrentDirectory: function() {\r\n return _this._getDialogSelectedDirectory()\r\n },\r\n onDirectoryClick: function(e) {\r\n return _this._onFilesTreeViewDirectoryClick(e)\r\n },\r\n onFilesTreeViewContentReady: function() {\r\n return _this._toggleUnavailableLocationsDisabled(true)\r\n }\r\n });\r\n this._$contentElement.append(this._filesTreeView.$element())\r\n };\r\n _proto._getDialogResult = function() {\r\n var result = this._getDialogSelectedDirectory();\r\n return result ? {\r\n folder: result\r\n } : result\r\n };\r\n _proto._getDefaultOptions = function() {\r\n return (0, _extend.extend)(_FileManagerDialogBas.prototype._getDefaultOptions.call(this), {\r\n getItems: null\r\n })\r\n };\r\n _proto._getDialogSelectedDirectory = function() {\r\n return this._selectedDirectoryInfo\r\n };\r\n _proto._onFilesTreeViewDirectoryClick = function(_ref) {\r\n var itemData = _ref.itemData;\r\n this._setSelectedDirInfo(itemData);\r\n this._filesTreeView.updateCurrentDirectory()\r\n };\r\n _proto._setSelectedDirInfo = function(dirInfo) {\r\n this._selectedDirectoryInfo = dirInfo;\r\n this._setApplyButtonOptions({\r\n disabled: !dirInfo\r\n })\r\n };\r\n _proto._onPopupShown = function() {\r\n this._toggleUnavailableLocationsDisabled(true);\r\n _FileManagerDialogBas.prototype._onPopupShown.call(this)\r\n };\r\n _proto._onPopupHidden = function() {\r\n this._toggleUnavailableLocationsDisabled(false);\r\n _FileManagerDialogBas.prototype._onPopupHidden.call(this)\r\n };\r\n _proto._toggleUnavailableLocationsDisabled = function(isDisabled) {\r\n var _this2 = this;\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((function() {\r\n return _this2._filesTreeView.toggleDirectoryLineExpandedState(locations.locationsToCollapse, !isDisabled).then((function() {\r\n return locations.locationKeysToDisable.forEach((function(key) {\r\n return _this2._filesTreeView.toggleNodeDisabledState(key, isDisabled)\r\n }))\r\n }))\r\n }))\r\n };\r\n _proto._getLocationsToProcess = function(isDisabled) {\r\n var _expandMap$keys;\r\n var expandLocations = {};\r\n var collapseLocations = {};\r\n this._targetItemInfos.forEach((function(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 = (0, _uiFile_manager.getMapFromObject)(expandLocations);\r\n var collapseMap = (0, _uiFile_manager.getMapFromObject)(collapseLocations);\r\n return {\r\n locationsToExpand: isDisabled ? expandMap.values : [],\r\n locationsToCollapse: isDisabled ? collapseMap.values : [],\r\n locationKeysToDisable: (_expandMap$keys = expandMap.keys).concat.apply(_expandMap$keys, _toConsumableArray(collapseMap.keys))\r\n }\r\n };\r\n return FileManagerFolderChooserDialog\r\n}(_uiFile_manager2.default);\r\nvar _default = FileManagerFolderChooserDialog;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/file_manager/ui.file_manager.dialog.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _message = _interopRequireDefault(require(\"../../localization/message\"));\r\nvar _ui = _interopRequireDefault(require(\"../widget/ui.widget\"));\r\nvar _ui2 = _interopRequireDefault(require(\"../popup/ui.popup\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar FILE_MANAGER_DIALOG_CONTENT = \"dx-filemanager-dialog\";\r\nvar FILE_MANAGER_DIALOG_POPUP = \"dx-filemanager-dialog-popup\";\r\nvar FileManagerDialogBase = function(_Widget) {\r\n _inheritsLoose(FileManagerDialogBase, _Widget);\r\n\r\n function FileManagerDialogBase() {\r\n return _Widget.apply(this, arguments) || this\r\n }\r\n var _proto = FileManagerDialogBase.prototype;\r\n _proto._initMarkup = function() {\r\n var _options$popupCssClas, _this = this;\r\n _Widget.prototype._initMarkup.call(this);\r\n this._createOnClosedAction();\r\n var options = this._getDialogOptions();\r\n var $popup = (0, _renderer.default)(\"<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: _message.default.format(\"dxFileManager-dialogButtonCancel\"),\r\n onClick: this._closeDialog.bind(this)\r\n }\r\n }],\r\n onInitialized: function(_ref) {\r\n var component = _ref.component;\r\n component.registerKeyHandler(\"enter\", _this._applyDialogChanges.bind(_this))\r\n },\r\n onHidden: this._onPopupHidden.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 ((0, _type.isDefined)(options.height)) {\r\n popupOptions.height = options.height\r\n }\r\n if ((0, _type.isDefined)(options.maxHeight)) {\r\n popupOptions.maxHeight = options.maxHeight\r\n }\r\n this._popup = this._createComponent($popup, _ui2.default, popupOptions)\r\n };\r\n _proto.show = function() {\r\n this._dialogResult = null;\r\n this._popup.show()\r\n };\r\n _proto._getDialogOptions = function() {\r\n return {\r\n title: \"Title\",\r\n buttonText: \"ButtonText\",\r\n contentCssClass: \"\",\r\n popupCssClass: \"\"\r\n }\r\n };\r\n _proto._createContentTemplate = function(element) {\r\n this._$contentElement = (0, _renderer.default)(\"<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 _proto._getDialogResult = function() {\r\n return null\r\n };\r\n _proto._applyDialogChanges = function() {\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 _proto._closeDialog = function() {\r\n this._popup.hide()\r\n };\r\n _proto._onPopupHidden = function() {\r\n this._onClosedAction({\r\n dialogResult: this._dialogResult\r\n })\r\n };\r\n _proto._onPopupShown = function() {};\r\n _proto._createOnClosedAction = function() {\r\n this._onClosedAction = this._createActionByOption(\"onClosed\")\r\n };\r\n _proto._setTitle = function(newTitle) {\r\n this._popup.option(\"title\", newTitle)\r\n };\r\n _proto._setApplyButtonOptions = function(options) {\r\n this._popup.option(\"toolbarItems[0].options\", options)\r\n };\r\n _proto._getDefaultOptions = function() {\r\n return (0, _extend.extend)(_Widget.prototype._getDefaultOptions.call(this), {\r\n onClosed: null\r\n })\r\n };\r\n _proto._optionChanged = function(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 _Widget.prototype._optionChanged.call(this, args)\r\n }\r\n };\r\n return FileManagerDialogBase\r\n}(_ui.default);\r\nvar _default = FileManagerDialogBase;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/file_manager/ui.file_manager.dialog.name_editor.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _text_box = _interopRequireDefault(require(\"../text_box\"));\r\nvar _uiFile_manager = _interopRequireDefault(require(\"./ui.file_manager.dialog\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\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\nvar FileManagerNameEditorDialog = function(_FileManagerDialogBas) {\r\n _inheritsLoose(FileManagerNameEditorDialog, _FileManagerDialogBas);\r\n\r\n function FileManagerNameEditorDialog() {\r\n return _FileManagerDialogBas.apply(this, arguments) || this\r\n }\r\n var _proto = FileManagerNameEditorDialog.prototype;\r\n _proto.show = function(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 _FileManagerDialogBas.prototype.show.call(this)\r\n };\r\n _proto._onPopupShown = function() {\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 _proto._getDialogOptions = function() {\r\n return (0, _extend.extend)(_FileManagerDialogBas.prototype._getDialogOptions.call(this), {\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 _proto._createContentTemplate = function(element) {\r\n var _this = this;\r\n _FileManagerDialogBas.prototype._createContentTemplate.call(this, element);\r\n this._nameTextBox = this._createComponent((0, _renderer.default)(\"<div>\"), _text_box.default, {\r\n value: this._initialNameValue,\r\n onEnterKey: function() {\r\n return _this._hasCompositionJustEnded && _this._applyDialogChanges()\r\n },\r\n onKeyDown: function(e) {\r\n return _this._checkCompositionEnded(e)\r\n }\r\n });\r\n this._$contentElement.append(this._nameTextBox.$element())\r\n };\r\n _proto._checkCompositionEnded = function(_ref) {\r\n var event = _ref.event;\r\n this._hasCompositionJustEnded = 229 !== event.which\r\n };\r\n _proto._getDialogResult = function() {\r\n var nameValue = this._nameTextBox.option(\"value\");\r\n return nameValue ? {\r\n name: nameValue\r\n } : null\r\n };\r\n _proto._getDefaultOptions = function() {\r\n return (0, _extend.extend)(_FileManagerDialogBas.prototype._getDefaultOptions.call(this), {\r\n title: \"\",\r\n buttonText: \"\"\r\n })\r\n };\r\n return FileManagerNameEditorDialog\r\n}(_uiFile_manager.default);\r\nvar _default = FileManagerNameEditorDialog;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/file_manager/ui.file_manager.dialog_manager.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _message = _interopRequireDefault(require(\"../../localization/message\"));\r\nvar _uiFile_managerDialog = _interopRequireDefault(require(\"./ui.file_manager.dialog.name_editor\"));\r\nvar _uiFile_managerDialog2 = _interopRequireDefault(require(\"./ui.file_manager.dialog.folder_chooser\"));\r\nvar _uiFile_managerDialog3 = _interopRequireDefault(require(\"./ui.file_manager.dialog.delete_item\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar FileManagerDialogManager = function() {\r\n function FileManagerDialogManager($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 = (0, _renderer.default)(\"<div>\").appendTo(this._$element);\r\n this._chooseDirectoryDialog = new _uiFile_managerDialog2.default($chooseFolderDialog, (0, _extend.extend)(baseDialogOptions, this._options.chooseDirectoryDialog));\r\n var $renameDialog = (0, _renderer.default)(\"<div>\").appendTo(this._$element);\r\n this._renameItemDialog = new _uiFile_managerDialog.default($renameDialog, (0, _extend.extend)(baseDialogOptions, {\r\n title: _message.default.format(\"dxFileManager-dialogRenameItemTitle\"),\r\n buttonText: _message.default.format(\"dxFileManager-dialogRenameItemButtonText\")\r\n }));\r\n var $createDialog = (0, _renderer.default)(\"<div>\").appendTo(this._$element);\r\n this._createItemDialog = new _uiFile_managerDialog.default($createDialog, (0, _extend.extend)(baseDialogOptions, {\r\n title: _message.default.format(\"dxFileManager-dialogCreateDirectoryTitle\"),\r\n buttonText: _message.default.format(\"dxFileManager-dialogCreateDirectoryButtonText\")\r\n }));\r\n var $deleteItemDialog = (0, _renderer.default)(\"<div>\").appendTo(this._$element);\r\n this._deleteItemDialog = new _uiFile_managerDialog3.default($deleteItemDialog, baseDialogOptions)\r\n }\r\n var _proto = FileManagerDialogManager.prototype;\r\n _proto.getCopyDialog = function(targetItemInfos) {\r\n this._chooseDirectoryDialog.switchToCopyDialog(targetItemInfos);\r\n return this._chooseDirectoryDialog\r\n };\r\n _proto.getMoveDialog = function(targetItemInfos) {\r\n this._chooseDirectoryDialog.switchToMoveDialog(targetItemInfos);\r\n return this._chooseDirectoryDialog\r\n };\r\n _proto.getRenameItemDialog = function() {\r\n return this._renameItemDialog\r\n };\r\n _proto.getCreateItemDialog = function() {\r\n return this._createItemDialog\r\n };\r\n _proto.getDeleteItemDialog = function() {\r\n return this._deleteItemDialog\r\n };\r\n _proto.updateDialogRtl = function(value) {\r\n [this._chooseDirectoryDialog, this._renameItemDialog, this._createItemDialog, this._deleteItemDialog].forEach((function(dialog) {\r\n dialog.option(\"rtlEnabled\", value)\r\n }))\r\n };\r\n return FileManagerDialogManager\r\n}();\r\nvar _default = FileManagerDialogManager;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/file_manager/ui.file_manager.editing.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _deferred = require(\"../../core/utils/deferred\");\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _string = require(\"../../core/utils/string\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _message = _interopRequireDefault(require(\"../../localization/message\"));\r\nvar _ui = _interopRequireDefault(require(\"../widget/ui.widget\"));\r\nvar _uiFile_manager = _interopRequireDefault(require(\"./ui.file_manager.dialog_manager\"));\r\nvar _uiFile_manager2 = _interopRequireDefault(require(\"./ui.file_manager.file_uploader\"));\r\nvar _uiFile_manager3 = require(\"./ui.file_manager.messages\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _toConsumableArray(arr) {\r\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread()\r\n}\r\n\r\nfunction _nonIterableSpread() {\r\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _unsupportedIterableToArray(o, minLen) {\r\n if (!o) {\r\n return\r\n }\r\n if (\"string\" === typeof o) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n var n = Object.prototype.toString.call(o).slice(8, -1);\r\n if (\"Object\" === n && o.constructor) {\r\n n = o.constructor.name\r\n }\r\n if (\"Map\" === n || \"Set\" === n) {\r\n return Array.from(o)\r\n }\r\n if (\"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n}\r\n\r\nfunction _iterableToArray(iter) {\r\n if (\"undefined\" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter[\"@@iterator\"]) {\r\n return Array.from(iter)\r\n }\r\n}\r\n\r\nfunction _arrayWithoutHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return _arrayLikeToArray(arr)\r\n }\r\n}\r\n\r\nfunction _arrayLikeToArray(arr, len) {\r\n if (null == len || len > arr.length) {\r\n len = arr.length\r\n }\r\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\r\n arr2[i] = arr[i]\r\n }\r\n return arr2\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar FileManagerEditingControl = function(_Widget) {\r\n _inheritsLoose(FileManagerEditingControl, _Widget);\r\n\r\n function FileManagerEditingControl() {\r\n return _Widget.apply(this, arguments) || this\r\n }\r\n var _proto = FileManagerEditingControl.prototype;\r\n _proto._initMarkup = function() {\r\n _Widget.prototype._initMarkup.call(this);\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 _uiFile_manager.default(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 _proto._initNotificationControl = function(notificationControl) {\r\n var _this = this;\r\n this._notificationControl = notificationControl;\r\n this._notificationControl.option({\r\n onOperationCanceled: function(_ref) {\r\n var info = _ref.info;\r\n return _this._onCancelUploadSession(info)\r\n },\r\n onOperationItemCanceled: function(_ref2) {\r\n var item = _ref2.item,\r\n itemIndex = _ref2.itemIndex;\r\n return _this._onCancelFileUpload(item, itemIndex)\r\n }\r\n })\r\n };\r\n _proto._getFileUploaderComponent = function() {\r\n return _uiFile_manager2.default\r\n };\r\n _proto._createFileUploader = function() {\r\n var _this2 = this;\r\n var $fileUploader = (0, _renderer.default)(\"<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: function(e) {\r\n return _this2._onUploadSessionStarted(e)\r\n },\r\n onUploadProgress: function(e) {\r\n return _this2._onUploadProgress(e)\r\n },\r\n onUploadFinished: function(e) {\r\n return _this2._onUploadFinished(e)\r\n }\r\n })\r\n };\r\n _proto.setUploaderDropZone = function($element) {\r\n this._fileUploader.option(\"dropZone\", $element)\r\n };\r\n _proto.setUploaderSplitterElement = function(element) {\r\n this._fileUploader.option(\"splitterElement\", element)\r\n };\r\n _proto._getFileUploaderController = function() {\r\n var _this3 = this;\r\n var uploadDirectory = this.uploadDirectoryInfo.fileItem;\r\n return {\r\n chunkSize: this._controller.getFileUploadChunkSize(),\r\n uploadFileChunk: function(fileData, chunksInfo) {\r\n return _this3._controller.uploadFileChunk(fileData, chunksInfo, uploadDirectory)\r\n },\r\n abortFileUpload: function(fileData, chunksInfo) {\r\n return _this3._controller.abortFileUpload(fileData, chunksInfo, uploadDirectory)\r\n }\r\n }\r\n };\r\n _proto._createMetadataMap = function() {\r\n var _this4 = this;\r\n this._metadataMap = {\r\n create: {\r\n action: function(arg) {\r\n return _this4._tryCreate(arg)\r\n },\r\n affectsAllItems: true,\r\n singleItemProcessingMessage: _message.default.format(\"dxFileManager-editingCreateSingleItemProcessingMessage\"),\r\n singleItemSuccessMessage: _message.default.format(\"dxFileManager-editingCreateSingleItemSuccessMessage\"),\r\n singleItemErrorMessage: _message.default.format(\"dxFileManager-editingCreateSingleItemErrorMessage\"),\r\n commonErrorMessage: _message.default.format(\"dxFileManager-editingCreateCommonErrorMessage\")\r\n },\r\n rename: {\r\n action: function(arg) {\r\n return _this4._tryRename(arg)\r\n },\r\n singleItemProcessingMessage: _message.default.format(\"dxFileManager-editingRenameSingleItemProcessingMessage\"),\r\n singleItemSuccessMessage: _message.default.format(\"dxFileManager-editingRenameSingleItemSuccessMessage\"),\r\n singleItemErrorMessage: _message.default.format(\"dxFileManager-editingRenameSingleItemErrorMessage\"),\r\n commonErrorMessage: _message.default.format(\"dxFileManager-editingRenameCommonErrorMessage\")\r\n },\r\n delete: {\r\n action: function(arg) {\r\n return _this4._tryDelete(arg)\r\n },\r\n singleItemProcessingMessage: _message.default.format(\"dxFileManager-editingDeleteSingleItemProcessingMessage\"),\r\n multipleItemsProcessingMessage: _message.default.format(\"dxFileManager-editingDeleteMultipleItemsProcessingMessage\"),\r\n singleItemSuccessMessage: _message.default.format(\"dxFileManager-editingDeleteSingleItemSuccessMessage\"),\r\n multipleItemsSuccessMessage: _message.default.format(\"dxFileManager-editingDeleteMultipleItemsSuccessMessage\"),\r\n singleItemErrorMessage: _message.default.format(\"dxFileManager-editingDeleteSingleItemErrorMessage\"),\r\n multipleItemsErrorMessage: _message.default.format(\"dxFileManager-editingDeleteMultipleItemsErrorMessage\"),\r\n commonErrorMessage: _message.default.format(\"dxFileManager-editingDeleteCommonErrorMessage\")\r\n },\r\n move: {\r\n action: function(arg) {\r\n return _this4._tryMove(arg)\r\n },\r\n singleItemProcessingMessage: _message.default.format(\"dxFileManager-editingMoveSingleItemProcessingMessage\"),\r\n multipleItemsProcessingMessage: _message.default.format(\"dxFileManager-editingMoveMultipleItemsProcessingMessage\"),\r\n singleItemSuccessMessage: _message.default.format(\"dxFileManager-editingMoveSingleItemSuccessMessage\"),\r\n multipleItemsSuccessMessage: _message.default.format(\"dxFileManager-editingMoveMultipleItemsSuccessMessage\"),\r\n singleItemErrorMessage: _message.default.format(\"dxFileManager-editingMoveSingleItemErrorMessage\"),\r\n multipleItemsErrorMessage: _message.default.format(\"dxFileManager-editingMoveMultipleItemsErrorMessage\"),\r\n commonErrorMessage: _message.default.format(\"dxFileManager-editingMoveCommonErrorMessage\")\r\n },\r\n copy: {\r\n action: function(arg) {\r\n return _this4._tryCopy(arg)\r\n },\r\n singleItemProcessingMessage: _message.default.format(\"dxFileManager-editingCopySingleItemProcessingMessage\"),\r\n multipleItemsProcessingMessage: _message.default.format(\"dxFileManager-editingCopyMultipleItemsProcessingMessage\"),\r\n singleItemSuccessMessage: _message.default.format(\"dxFileManager-editingCopySingleItemSuccessMessage\"),\r\n multipleItemsSuccessMessage: _message.default.format(\"dxFileManager-editingCopyMultipleItemsSuccessMessage\"),\r\n singleItemErrorMessage: _message.default.format(\"dxFileManager-editingCopySingleItemErrorMessage\"),\r\n multipleItemsErrorMessage: _message.default.format(\"dxFileManager-editingCopyMultipleItemsErrorMessage\"),\r\n commonErrorMessage: _message.default.format(\"dxFileManager-editingCopyCommonErrorMessage\")\r\n },\r\n upload: {\r\n action: function(arg) {\r\n return _this4._tryUpload(arg)\r\n },\r\n allowCancel: true,\r\n allowItemProgress: true,\r\n singleItemProcessingMessage: _message.default.format(\"dxFileManager-editingUploadSingleItemProcessingMessage\"),\r\n multipleItemsProcessingMessage: _message.default.format(\"dxFileManager-editingUploadMultipleItemsProcessingMessage\"),\r\n singleItemSuccessMessage: _message.default.format(\"dxFileManager-editingUploadSingleItemSuccessMessage\"),\r\n multipleItemsSuccessMessage: _message.default.format(\"dxFileManager-editingUploadMultipleItemsSuccessMessage\"),\r\n singleItemErrorMessage: _message.default.format(\"dxFileManager-editingUploadSingleItemErrorMessage\"),\r\n multipleItemsErrorMessage: _message.default.format(\"dxFileManager-editingUploadMultipleItemsErrorMessage\"),\r\n canceledMessage: _message.default.format(\"dxFileManager-editingUploadCanceledMessage\")\r\n },\r\n download: {\r\n action: function(arg) {\r\n return _this4._download(arg)\r\n },\r\n singleItemProcessingMessage: \"\",\r\n multipleItemsProcessingMessage: \"\",\r\n singleItemErrorMessage: _message.default.format(\"dxFileManager-editingDownloadSingleItemErrorMessage\"),\r\n multipleItemsErrorMessage: _message.default.format(\"dxFileManager-editingDownloadMultipleItemsErrorMessage\")\r\n },\r\n getItemContent: {\r\n action: function(arg) {\r\n return _this4._getItemContent(arg)\r\n }\r\n },\r\n getItems: {\r\n singleItemProcessingMessage: \"\",\r\n singleItemErrorMessage: _message.default.format(\"dxFileManager-errorDirectoryOpenFailed\"),\r\n commonErrorMessage: _message.default.format(\"dxFileManager-errorDirectoryOpenFailed\")\r\n }\r\n }\r\n };\r\n _proto.getCommandActions = function() {\r\n var _this5 = this;\r\n var result = {};\r\n (0, _iterator.each)(this._metadataMap, (function(name) {\r\n if (Object.prototype.hasOwnProperty.call(_this5._metadataMap, name)) {\r\n result[name] = function(arg) {\r\n return _this5._executeAction(name, arg)\r\n }\r\n }\r\n }));\r\n return result\r\n };\r\n _proto._executeAction = function(actionName, arg) {\r\n var actionMetadata = this._metadataMap[actionName];\r\n return actionMetadata ? actionMetadata.action(arg) : null\r\n };\r\n _proto._onCancelUploadSession = function(info) {\r\n this._fileUploader.cancelUpload(info.uploadSessionId)\r\n };\r\n _proto._onCancelFileUpload = function(item, itemIndex) {\r\n this._fileUploader.cancelFileUpload(item.info.uploadSessionId, itemIndex)\r\n };\r\n _proto._onUploadProgress = function(_ref3) {\r\n var sessionId = _ref3.sessionId,\r\n fileIndex = _ref3.fileIndex,\r\n commonValue = _ref3.commonValue,\r\n fileValue = _ref3.fileValue;\r\n var operationInfo = this._uploadOperationInfoMap[sessionId].operationInfo;\r\n this._notificationControl.updateOperationItemProgress(operationInfo, fileIndex, 100 * fileValue, 100 * commonValue)\r\n };\r\n _proto._onUploadFinished = function(_ref4) {\r\n var sessionId = _ref4.sessionId,\r\n commonValue = _ref4.commonValue;\r\n var operationInfo = this._uploadOperationInfoMap[sessionId].operationInfo;\r\n this._notificationControl.finishOperation(operationInfo, 100 * commonValue);\r\n this._scheduleUploadSessionDisposal(sessionId, \"uploader\")\r\n };\r\n _proto._onUploadSessionStarted = function(_ref5) {\r\n var sessionInfo = _ref5.sessionInfo;\r\n this._controller.processUploadSession(sessionInfo, this.uploadDirectoryInfo)\r\n };\r\n _proto._onEditActionStarting = function(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 (0, _extend.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 _proto._onEditActionResultAcquired = function(actionInfo) {\r\n var _this6 = this;\r\n var _actionInfo$customDat = actionInfo.customData,\r\n context = _actionInfo$customDat.context,\r\n operationInfo = _actionInfo$customDat.operationInfo;\r\n context.singleRequest = actionInfo.singleRequest;\r\n var details = context.itemInfos.map((function(itemInfo) {\r\n return _this6._getItemProgressDisplayInfo(itemInfo)\r\n }));\r\n this._notificationControl.addOperationDetails(operationInfo, details, context.actionMetadata.allowCancel)\r\n };\r\n _proto._onEditActionError = function(actionInfo, errorInfo) {\r\n var _actionInfo$customDat2 = actionInfo.customData,\r\n context = _actionInfo$customDat2.context,\r\n operationInfo = _actionInfo$customDat2.operationInfo;\r\n context.singleRequest = actionInfo.singleRequest;\r\n this._handleActionError(operationInfo, context, errorInfo);\r\n this._completeAction(operationInfo, context)\r\n };\r\n _proto._onEditActionItemError = function(actionInfo, errorInfo) {\r\n var _actionInfo$customDat3 = actionInfo.customData,\r\n context = _actionInfo$customDat3.context,\r\n operationInfo = _actionInfo$customDat3.operationInfo;\r\n this._handleActionError(operationInfo, context, errorInfo)\r\n };\r\n _proto._onCompleteEditActionItem = function(actionInfo, info) {\r\n var _actionInfo$customDat4 = actionInfo.customData,\r\n context = _actionInfo$customDat4.context,\r\n operationInfo = _actionInfo$customDat4.operationInfo;\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 _proto._onCompleteEditAction = function(actionInfo) {\r\n var _actionInfo$customDat5 = actionInfo.customData,\r\n context = _actionInfo$customDat5.context,\r\n operationInfo = _actionInfo$customDat5.operationInfo;\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 _proto._scheduleUploadSessionDisposal = function(sessionId, requester) {\r\n if ((0, _type.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 _proto._tryCreate = function(parentDirectories) {\r\n var _this7 = this;\r\n var parentDirectoryInfo = parentDirectories && parentDirectories[0] || this._getCurrentDirectory();\r\n var newDirName = _message.default.format(\"dxFileManager-newDirectoryName\");\r\n return this._showDialog(this._dialogManager.getCreateItemDialog(), newDirName).then((function(_ref6) {\r\n var name = _ref6.name;\r\n return _this7._controller.createDirectory(parentDirectoryInfo, name)\r\n }))\r\n };\r\n _proto._tryRename = function(itemInfos) {\r\n var _this8 = this;\r\n var itemInfo = itemInfos && itemInfos[0] || this._model.getMultipleSelectedItems()[0];\r\n if (!itemInfo) {\r\n return (new _deferred.Deferred).reject().promise()\r\n }\r\n return this._showDialog(this._dialogManager.getRenameItemDialog(), itemInfo.fileItem.name).then((function(_ref7) {\r\n var name = _ref7.name;\r\n return _this8._controller.renameItem(itemInfo, name)\r\n }))\r\n };\r\n _proto._tryDelete = function(itemInfos) {\r\n var _this9 = this;\r\n itemInfos = itemInfos || this._model.getMultipleSelectedItems();\r\n if (0 === itemInfos.length) {\r\n return (new _deferred.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((function() {\r\n return _this9._controller.deleteItems(itemInfos)\r\n }))\r\n };\r\n _proto._tryMove = function(itemInfos) {\r\n var _this10 = this;\r\n itemInfos = itemInfos || this._model.getMultipleSelectedItems();\r\n if (0 === itemInfos.length) {\r\n return (new _deferred.Deferred).reject().promise()\r\n }\r\n return this._showDialog(this._dialogManager.getMoveDialog(itemInfos)).then((function(_ref8) {\r\n var folder = _ref8.folder;\r\n return _this10._controller.moveItems(itemInfos, folder)\r\n }))\r\n };\r\n _proto._tryCopy = function(itemInfos) {\r\n var _this11 = this;\r\n itemInfos = itemInfos || this._model.getMultipleSelectedItems();\r\n if (0 === itemInfos.length) {\r\n return (new _deferred.Deferred).reject().promise()\r\n }\r\n return this._showDialog(this._dialogManager.getCopyDialog(itemInfos)).then((function(_ref9) {\r\n var folder = _ref9.folder;\r\n return _this11._controller.copyItems(itemInfos, folder)\r\n }))\r\n };\r\n _proto._tryUpload = function(destinationFolder) {\r\n this._uploadDirectoryInfo = null === destinationFolder || void 0 === destinationFolder ? void 0 : destinationFolder[0];\r\n this._fileUploader.tryUpload()\r\n };\r\n _proto._download = function(itemInfos) {\r\n itemInfos = itemInfos || this._model.getMultipleSelectedItems();\r\n if (0 === itemInfos.length) {\r\n return (new _deferred.Deferred).reject().promise()\r\n }\r\n return this._controller.downloadItems(itemInfos)\r\n };\r\n _proto._getItemContent = function(itemInfos) {\r\n itemInfos = itemInfos || this._model.getMultipleSelectedItems();\r\n return this._controller.getItemContent(itemInfos)\r\n };\r\n _proto._completeAction = function(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 _proto._handleActionError = function(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 _proto._handleSingleRequestActionError = function(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 _proto._handleMultipleRequestActionError = function(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 _proto._getOperationErrorInfo = function(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 _proto._getErrorText = function(errorInfo, itemInfo, itemName) {\r\n var errorText = errorInfo.errorText || _uiFile_manager3.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 _proto._getItemProgressDisplayInfo = function(itemInfo) {\r\n return {\r\n commonText: itemInfo.fileItem.name,\r\n imageUrl: this._getItemThumbnail(itemInfo)\r\n }\r\n };\r\n _proto._showDialog = function(dialog, dialogArgument) {\r\n this._dialogDeferred = new _deferred.Deferred;\r\n dialog.show(dialogArgument);\r\n return this._dialogDeferred.promise()\r\n };\r\n _proto._onDialogClosed = function(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 _proto.updateDialogRtl = function(value) {\r\n this._dialogManager.updateDialogRtl(value)\r\n };\r\n _proto._getItemThumbnail = function(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 _proto._initActions = function() {\r\n this._actions = {\r\n onSuccess: this._createActionByOption(\"onSuccess\"),\r\n onError: this._createActionByOption(\"onError\")\r\n }\r\n };\r\n _proto._getDefaultOptions = function() {\r\n return (0, _extend.extend)(_Widget.prototype._getDefaultOptions.call(this), {\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 _proto._optionChanged = function(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 _Widget.prototype._optionChanged.call(this, args)\r\n }\r\n };\r\n _proto._raiseOnSuccess = function(updatedOnlyFiles) {\r\n this._actions.onSuccess({\r\n updatedOnlyFiles: updatedOnlyFiles\r\n })\r\n };\r\n _proto._raiseOnError = function(args) {\r\n this._actions.onError(args)\r\n };\r\n _proto._getCurrentDirectory = function() {\r\n return this._controller.getCurrentDirectory()\r\n };\r\n _createClass(FileManagerEditingControl, [{\r\n key: \"uploadDirectoryInfo\",\r\n get: function() {\r\n return this._uploadDirectoryInfo || this._getCurrentDirectory()\r\n }\r\n }]);\r\n return FileManagerEditingControl\r\n}(_ui.default);\r\nvar FileManagerActionContext = function() {\r\n function FileManagerActionContext(actionMetadata, itemInfos, directoryInfo) {\r\n this._actionMetadata = actionMetadata;\r\n this._itemInfos = itemInfos;\r\n this._onlyFiles = !this._actionMetadata.affectsAllItems && this._itemInfos.every((function(info) {\r\n return !info.fileItem.isDirectory\r\n }));\r\n this._items = this._itemInfos.map((function(itemInfo) {\r\n return itemInfo.fileItem\r\n }));\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 var _proto2 = FileManagerActionContext.prototype;\r\n _proto2.completeOperationItem = function(itemIndex) {\r\n if (this._singleRequest) {\r\n this._completedItems = _toConsumableArray(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 _proto2.processSingleRequestError = function(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 _proto2.processMultipleRequestError = function(itemIndex, errorText) {\r\n this._errorState.failedCount++;\r\n this._errorState.commonErrorText = this._errorState.failedCount > 1 ? (0, _string.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 _proto2.hasModifiedItems = function() {\r\n return this._hasCompletedItems() || this._singleRequest && !this.success && this._multipleItems\r\n };\r\n _proto2.getItemForSingleRequestError = function() {\r\n return this._multipleItems ? null : this._itemInfos[0]\r\n };\r\n _proto2.getItemForMultipleRequestError = function(itemIndex) {\r\n return this._itemInfos[itemIndex]\r\n };\r\n _proto2.getItemName = function(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 _proto2._isItemExistsErrorCode = function(errorCode) {\r\n return errorCode === _uiFile_manager3.ErrorCode.DirectoryExists || errorCode === _uiFile_manager3.ErrorCode.FileExists\r\n };\r\n _proto2._setCurrentDetailError = function(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 _proto2._hasCompletedItems = function() {\r\n return this._completedItems.length > 0\r\n };\r\n _createClass(FileManagerActionContext, [{\r\n key: \"actionMetadata\",\r\n get: function() {\r\n return this._actionMetadata\r\n }\r\n }, {\r\n key: \"itemInfos\",\r\n get: function() {\r\n return this._itemInfos\r\n }\r\n }, {\r\n key: \"itemNewName\",\r\n get: function() {\r\n return this._itemNewName\r\n },\r\n set: function(value) {\r\n this._itemNewName = value\r\n }\r\n }, {\r\n key: \"errorState\",\r\n get: function() {\r\n return this._errorState\r\n }\r\n }, {\r\n key: \"singleRequest\",\r\n get: function() {\r\n return this._singleRequest\r\n },\r\n set: function(value) {\r\n this._singleRequest = value\r\n }\r\n }, {\r\n key: \"multipleItems\",\r\n get: function() {\r\n return this._multipleItems\r\n }\r\n }, {\r\n key: \"onlyFiles\",\r\n get: function() {\r\n return this._onlyFiles\r\n }\r\n }, {\r\n key: \"processingMessage\",\r\n get: function() {\r\n return this._multipleItems ? (0, _string.format)(this._actionMetadata.multipleItemsProcessingMessage, this._items.length, this._location) : (0, _string.format)(this._actionMetadata.singleItemProcessingMessage, this._location)\r\n }\r\n }, {\r\n key: \"successMessage\",\r\n get: function() {\r\n if (this._hasCompletedItems()) {\r\n return this._multipleItems ? (0, _string.format)(this._actionMetadata.multipleItemsSuccessMessage, this._completedItems.length, this._location) : (0, _string.format)(this._actionMetadata.singleItemSuccessMessage, this._location)\r\n } else {\r\n return this._multipleItems ? (0, _string.format)(this._actionMetadata.multipleItemsErrorMessage, this._items.length) : this._actionMetadata.singleItemErrorMessage\r\n }\r\n }\r\n }, {\r\n key: \"completionMessage\",\r\n get: function() {\r\n return this.success ? this.successMessage : this.errorState.commonErrorText\r\n }\r\n }, {\r\n key: \"statusText\",\r\n get: function() {\r\n return this.success && !this._hasCompletedItems() ? this._actionMetadata.canceledMessage : void 0\r\n }\r\n }, {\r\n key: \"commonProgress\",\r\n get: function() {\r\n return this._commonProgress\r\n }\r\n }, {\r\n key: \"success\",\r\n get: function() {\r\n return !this._errorState.failedCount\r\n }\r\n }]);\r\n return FileManagerActionContext\r\n}();\r\nvar _default = FileManagerEditingControl;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/file_manager/ui.file_manager.file_actions_button.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _ui = _interopRequireDefault(require(\"../widget/ui.widget\"));\r\nvar _button = _interopRequireDefault(require(\"../button\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\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\nvar FileManagerFileActionsButton = function(_Widget) {\r\n _inheritsLoose(FileManagerFileActionsButton, _Widget);\r\n\r\n function FileManagerFileActionsButton() {\r\n return _Widget.apply(this, arguments) || this\r\n }\r\n var _proto = FileManagerFileActionsButton.prototype;\r\n _proto._initMarkup = function() {\r\n var _this = this;\r\n this._createClickAction();\r\n var $button = (0, _renderer.default)(\"<div>\");\r\n this.$element().append($button).addClass(FILE_MANAGER_FILE_ACTIONS_BUTTON);\r\n this._button = this._createComponent($button, _button.default, {\r\n icon: \"overflow\",\r\n stylingMode: \"text\",\r\n onClick: function(e) {\r\n return _this._raiseClick(e)\r\n }\r\n });\r\n _Widget.prototype._initMarkup.call(this)\r\n };\r\n _proto._createClickAction = function() {\r\n this._clickAction = this._createActionByOption(\"onClick\")\r\n };\r\n _proto._raiseClick = function(e) {\r\n this._clickAction(e)\r\n };\r\n _proto._getDefaultOptions = function() {\r\n return (0, _extend.extend)(_Widget.prototype._getDefaultOptions.call(this), {\r\n cssClass: \"\",\r\n onClick: null\r\n })\r\n };\r\n _proto._optionChanged = function(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 _Widget.prototype._optionChanged.call(this, args)\r\n }\r\n };\r\n _proto.setActive = function(active) {\r\n var _this2 = this;\r\n this.$element().toggleClass(FILE_MANAGER_FILE_ACTIONS_BUTTON_ACTIVATED, active);\r\n setTimeout((function() {\r\n return _this2._button.$element().toggleClass(ACTIVE_STATE_CLASS, active)\r\n }))\r\n };\r\n return FileManagerFileActionsButton\r\n}(_ui.default);\r\nvar _default = FileManagerFileActionsButton;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/file_manager/ui.file_manager.file_uploader.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _size = require(\"../../core/utils/size\");\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _deferred = require(\"../../core/utils/deferred\");\r\nvar _window = require(\"../../core/utils/window\");\r\nvar _guid = _interopRequireDefault(require(\"../../core/guid\"));\r\nvar _ui = _interopRequireDefault(require(\"../widget/ui.widget\"));\r\nvar _file_uploader = _interopRequireDefault(require(\"../file_uploader\"));\r\nvar _uiFile_manager = require(\"./ui.file_manager.common\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\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\nvar FileManagerFileUploader = function(_Widget) {\r\n _inheritsLoose(FileManagerFileUploader, _Widget);\r\n\r\n function FileManagerFileUploader() {\r\n return _Widget.apply(this, arguments) || this\r\n }\r\n var _proto = FileManagerFileUploader.prototype;\r\n _proto._initMarkup = function() {\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 _Widget.prototype._initMarkup.call(this)\r\n };\r\n _proto._createInternalFileUploader = function() {\r\n var _this = this;\r\n var chunkSize = this._getController().chunkSize;\r\n var $fileUploader = (0, _renderer.default)(\"<div>\").appendTo(this.$element());\r\n var fileUploader = this._createComponent($fileUploader, _file_uploader.default, {\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: function(e) {\r\n return _this._onFileUploaderValueChanged(e)\r\n },\r\n onProgress: function(e) {\r\n return _this._onFileUploaderProgress(e)\r\n },\r\n onUploaded: function(e) {\r\n return _this._onFileUploaderUploaded(e)\r\n },\r\n onFilesUploaded: function(e) {\r\n return _this._onFileUploaderAllFilesUploaded(e)\r\n },\r\n onUploadAborted: function(e) {\r\n return _this._onFileUploaderUploadAborted(e)\r\n },\r\n onUploadError: function(e) {\r\n return _this._onFileUploaderUploadError(e)\r\n },\r\n onDropZoneEnter: function() {\r\n return _this._setDropZonePlaceholderVisible(true)\r\n },\r\n onDropZoneLeave: function() {\r\n return _this._setDropZonePlaceholderVisible(false)\r\n }\r\n });\r\n fileUploader.option({\r\n uploadChunk: function(file, chunksData) {\r\n return _this._fileUploaderUploadChunk(fileUploader, file, chunksData)\r\n },\r\n abortUpload: function(file, chunksData) {\r\n return _this._fileUploaderAbortUpload(fileUploader, file, chunksData)\r\n }\r\n });\r\n fileUploader._shouldRaiseDragLeaveBase = fileUploader._shouldRaiseDragLeave;\r\n fileUploader._shouldRaiseDragLeave = function(e) {\r\n return _this._shouldRaiseDragLeave(e, fileUploader)\r\n };\r\n var uploaderInfo = {\r\n fileUploader: fileUploader\r\n };\r\n this._uploaderInfos.push(uploaderInfo)\r\n };\r\n _proto.tryUpload = function() {\r\n var info = this._findAndUpdateAvailableUploaderInfo();\r\n if (info) {\r\n info.fileUploader._selectButtonClickHandler()\r\n }\r\n };\r\n _proto.cancelUpload = function(sessionId) {\r\n this._cancelUpload(sessionId)\r\n };\r\n _proto.cancelFileUpload = function(sessionId, fileIndex) {\r\n this._cancelUpload(sessionId, fileIndex)\r\n };\r\n _proto._cancelUpload = function(sessionId, fileIndex) {\r\n var _this$_findUploaderIn = this._findUploaderInfoBySessionId(sessionId),\r\n fileUploader = _this$_findUploaderIn.fileUploader;\r\n fileUploader.abortUpload(fileIndex)\r\n };\r\n _proto._fileUploaderUploadChunk = function(fileUploader, file, chunksInfo) {\r\n var _this$_findSessionByF = this._findSessionByFile(fileUploader, file),\r\n session = _this$_findSessionByF.session,\r\n fileIndex = _this$_findSessionByF.fileIndex;\r\n var controller = session.controller;\r\n chunksInfo.fileIndex = fileIndex;\r\n return controller.uploadFileChunk(file, chunksInfo)\r\n };\r\n _proto._fileUploaderAbortUpload = function(fileUploader, file, chunksInfo) {\r\n var _this$_findSessionByF2 = this._findSessionByFile(fileUploader, file),\r\n session = _this$_findSessionByF2.session,\r\n fileIndex = _this$_findSessionByF2.fileIndex;\r\n var controller = session.controller;\r\n chunksInfo.fileIndex = fileIndex;\r\n return controller.abortFileUpload(file, chunksInfo)\r\n };\r\n _proto._onFileUploaderValueChanged = function(_ref) {\r\n var _this2 = this;\r\n var component = _ref.component,\r\n value = _ref.value;\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((function() {\r\n if (!_this2._findAndUpdateAvailableUploaderInfo()) {\r\n _this2._createInternalFileUploader()\r\n }\r\n }))\r\n };\r\n _proto._onFileUploaderProgress = function(_ref2) {\r\n var component = _ref2.component,\r\n file = _ref2.file,\r\n bytesLoaded = _ref2.bytesLoaded,\r\n bytesTotal = _ref2.bytesTotal;\r\n var _this$_findSessionByF3 = this._findSessionByFile(component, file),\r\n session = _this$_findSessionByF3.session,\r\n fileIndex = _this$_findSessionByF3.fileIndex;\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 _proto._onFileUploaderAllFilesUploaded = function(_ref3) {\r\n var component = _ref3.component;\r\n var _this$_findSessionByF4 = this._findSessionByFile(component, component._files[0].value),\r\n session = _this$_findSessionByF4.session;\r\n this._raiseUploadFinished({\r\n sessionId: session.id,\r\n commonValue: component.option(\"progress\") / 100\r\n })\r\n };\r\n _proto._onFileUploaderUploaded = function(_ref4) {\r\n var component = _ref4.component,\r\n file = _ref4.file;\r\n var deferred = this._getDeferredForFile(component, file);\r\n deferred.resolve()\r\n };\r\n _proto._onFileUploaderUploadAborted = function(_ref5) {\r\n var component = _ref5.component,\r\n file = _ref5.file;\r\n var deferred = this._getDeferredForFile(component, file);\r\n deferred.resolve({\r\n canceled: true\r\n })\r\n };\r\n _proto._onFileUploaderUploadError = function(_ref6) {\r\n var component = _ref6.component,\r\n file = _ref6.file,\r\n error = _ref6.error;\r\n var deferred = this._getDeferredForFile(component, file);\r\n deferred.reject(error)\r\n };\r\n _proto._createDropZonePlaceholder = function() {\r\n this._$dropZonePlaceholder = (0, _renderer.default)(\"<div>\").addClass(FILE_MANAGER_FILE_UPLOADER_DROPZONE_PLACEHOLER_CLASS).appendTo(this.option(\"dropZonePlaceholderContainer\"))\r\n };\r\n _proto._adjustDropZonePlaceholder = function() {\r\n var $dropZoneTarget = this.option(\"dropZone\");\r\n if (!(0, _window.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 = (0, _size.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 (0, _size.setHeight)(this._$dropZonePlaceholder, $dropZoneTarget.get(0).offsetHeight - 2 * placeholderBorderTopWidth);\r\n (0, _size.setWidth)(this._$dropZonePlaceholder, $dropZoneTarget.get(0).offsetWidth - 2 * placeholderBorderLeftWidth)\r\n };\r\n _proto._setDropZonePlaceholderVisible = function(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 _proto._shouldRaiseDragLeave = function(e, uploaderInstance) {\r\n return uploaderInstance.isMouseOverElement(e, this.option(\"splitterElement\")) || uploaderInstance._shouldRaiseDragLeaveBase(e, true)\r\n };\r\n _proto._uploadFiles = function(uploaderInfo, files) {\r\n this._setDropZonePlaceholderVisible(false);\r\n var sessionId = (new _guid.default).toString();\r\n var controller = this._getController();\r\n var deferreds = files.map((function() {\r\n return new _deferred.Deferred\r\n }));\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 (0, _uiFile_manager.whenSome)(deferreds).always((function() {\r\n return setTimeout((function() {\r\n uploaderInfo.fileUploader.reset();\r\n uploaderInfo.session = null\r\n }))\r\n }))\r\n };\r\n _proto._getDeferredForFile = function(fileUploader, file) {\r\n var _this$_findSessionByF5 = this._findSessionByFile(fileUploader, file),\r\n session = _this$_findSessionByF5.session,\r\n fileIndex = _this$_findSessionByF5.fileIndex;\r\n return session.deferreds[fileIndex]\r\n };\r\n _proto._findSessionByFile = function(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 _proto._findUploaderInfoBySessionId = function(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 _proto._findAndUpdateAvailableUploaderInfo = function() {\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 _proto._findUploaderInfo = function(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 _proto._getController = function() {\r\n var controllerGetter = this.option(\"getController\");\r\n return controllerGetter()\r\n };\r\n _proto._raiseUploadSessionStarted = function(sessionInfo) {\r\n this._actions.onUploadSessionStarted({\r\n sessionInfo: sessionInfo\r\n })\r\n };\r\n _proto._raiseUploadProgress = function(args) {\r\n this._actions.onUploadProgress(args)\r\n };\r\n _proto._raiseUploadFinished = function(args) {\r\n this._actions.onUploadFinished(args)\r\n };\r\n _proto._initActions = function() {\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 _proto._getDefaultOptions = function() {\r\n return (0, _extend.extend)(_Widget.prototype._getDefaultOptions.call(this), {\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 _proto._optionChanged = function(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 _Widget.prototype._optionChanged.call(this, args)\r\n }\r\n };\r\n return FileManagerFileUploader\r\n}(_ui.default);\r\nvar _default = FileManagerFileUploader;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/file_manager/ui.file_manager.files_tree_view.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _icon = require(\"../../core/utils/icon\");\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _ui = _interopRequireDefault(require(\"../widget/ui.widget\"));\r\nvar _uiTree_view = _interopRequireDefault(require(\"../tree_view/ui.tree_view.search\"));\r\nvar _uiFile_manager = _interopRequireDefault(require(\"./ui.file_manager.file_actions_button\"));\r\nvar _deferred = require(\"../../core/utils/deferred\");\r\nvar _window = require(\"../../core/utils/window\");\r\nvar _type = require(\"../../core/utils/type\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _toConsumableArray(arr) {\r\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread()\r\n}\r\n\r\nfunction _nonIterableSpread() {\r\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _unsupportedIterableToArray(o, minLen) {\r\n if (!o) {\r\n return\r\n }\r\n if (\"string\" === typeof o) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n var n = Object.prototype.toString.call(o).slice(8, -1);\r\n if (\"Object\" === n && o.constructor) {\r\n n = o.constructor.name\r\n }\r\n if (\"Map\" === n || \"Set\" === n) {\r\n return Array.from(o)\r\n }\r\n if (\"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n}\r\n\r\nfunction _iterableToArray(iter) {\r\n if (\"undefined\" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter[\"@@iterator\"]) {\r\n return Array.from(iter)\r\n }\r\n}\r\n\r\nfunction _arrayWithoutHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return _arrayLikeToArray(arr)\r\n }\r\n}\r\n\r\nfunction _arrayLikeToArray(arr, len) {\r\n if (null == len || len > arr.length) {\r\n len = arr.length\r\n }\r\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\r\n arr2[i] = arr[i]\r\n }\r\n return arr2\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\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\nvar FileManagerFilesTreeView = function(_Widget) {\r\n _inheritsLoose(FileManagerFilesTreeView, _Widget);\r\n\r\n function FileManagerFilesTreeView() {\r\n return _Widget.apply(this, arguments) || this\r\n }\r\n var _proto = FileManagerFilesTreeView.prototype;\r\n _proto._initMarkup = function() {\r\n var _this = this;\r\n this._initActions();\r\n this._getCurrentDirectory = this.option(\"getCurrentDirectory\");\r\n this._createFileActionsButton = _common.noop;\r\n this._storeExpandedState = this.option(\"storeExpandedState\") || false;\r\n var $treeView = (0, _renderer.default)(\"<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: function(itemInfo) {\r\n return itemInfo.getDisplayName()\r\n },\r\n hasItemsExpr: \"fileItem.hasSubDirectories\",\r\n onItemClick: function(e) {\r\n return _this._actions.onDirectoryClick(e)\r\n },\r\n onItemExpanded: function(e) {\r\n return _this._onFilesTreeViewItemExpanded(e)\r\n },\r\n onItemCollapsed: function(e) {\r\n return _this._onFilesTreeViewItemCollapsed(e)\r\n },\r\n onItemRendered: function(e) {\r\n return _this._onFilesTreeViewItemRendered(e)\r\n },\r\n onContentReady: function() {\r\n return _this._actions.onFilesTreeViewContentReady()\r\n }\r\n };\r\n if (this._contextMenu) {\r\n this._contextMenu.option(\"onContextMenuHidden\", (function() {\r\n return _this._onContextMenuHidden()\r\n }));\r\n treeViewOptions.onItemContextMenu = function(e) {\r\n return _this._onFilesTreeViewItemContextMenu(e)\r\n };\r\n this._createFileActionsButton = function(element, options) {\r\n return _this._createComponent(element, _uiFile_manager.default, options)\r\n }\r\n }\r\n this._filesTreeView = this._createComponent($treeView, _uiTree_view.default, treeViewOptions)\r\n };\r\n _proto._initActions = function() {\r\n this._actions = {\r\n onDirectoryClick: this._createActionByOption(\"onDirectoryClick\"),\r\n onFilesTreeViewContentReady: this._createActionByOption(\"onFilesTreeViewContentReady\")\r\n }\r\n };\r\n _proto._render = function() {\r\n _Widget.prototype._render.call(this);\r\n var that = this;\r\n setTimeout((function() {\r\n that._updateFocusedElement()\r\n }))\r\n };\r\n _proto._onFilesTreeViewCreateSubDirectories = function(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 _proto._onFilesTreeViewItemRendered = function(_ref) {\r\n var itemData = _ref.itemData;\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 _proto._onFilesTreeViewItemExpanded = function(_ref2) {\r\n var itemData = _ref2.itemData;\r\n if (this._storeExpandedState) {\r\n itemData.expanded = true\r\n }\r\n };\r\n _proto._onFilesTreeViewItemCollapsed = function(_ref3) {\r\n var itemData = _ref3.itemData;\r\n if (this._storeExpandedState) {\r\n itemData.expanded = false\r\n }\r\n };\r\n _proto._createFilesTreeViewItemTemplate = function(itemData, itemIndex, itemElement) {\r\n var _this2 = this;\r\n var $itemElement = (0, _renderer.default)(itemElement);\r\n var $itemWrapper = $itemElement.closest(this._filesTreeViewItemSelector);\r\n $itemWrapper.data(\"item\", itemData);\r\n var $image = (0, _icon.getImageContainer)(itemData.icon);\r\n var $text = (0, _renderer.default)(\"<span>\").text(itemData.getDisplayName()).addClass(FILE_MANAGER_DIRS_TREE_ITEM_TEXT_CLASS);\r\n var $button = (0, _renderer.default)(\"<div>\");\r\n $itemElement.append($image, $text, $button);\r\n this._createFileActionsButton($button, {\r\n onClick: function(e) {\r\n return _this2._onFileItemActionButtonClick(e)\r\n }\r\n })\r\n };\r\n _proto._onFilesTreeViewItemContextMenu = function(_ref4) {\r\n var itemElement = _ref4.itemElement,\r\n event = _ref4.event;\r\n event.preventDefault();\r\n event.stopPropagation();\r\n var itemData = (0, _renderer.default)(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 _proto._onFileItemActionButtonClick = function(_ref5) {\r\n var component = _ref5.component,\r\n element = _ref5.element,\r\n event = _ref5.event;\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 _proto._onContextMenuHidden = function() {\r\n if (this._activeFileActionsButton) {\r\n this._activeFileActionsButton.setActive(false)\r\n }\r\n };\r\n _proto.toggleNodeDisabledState = function(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((function(item) {\r\n return item.getInternalKey()\r\n })).indexOf(node.getInternalKey());\r\n if (-1 !== itemIndex) {\r\n this._filesTreeView.option(\"items[\".concat(itemIndex, \"].disabled\"), state)\r\n }\r\n };\r\n _proto._saveScrollTopPosition = function() {\r\n if (!(0, _window.hasWindow)()) {\r\n return\r\n }\r\n this._scrollTopPosition = this._filesTreeView.getScrollable().scrollTop()\r\n };\r\n _proto._restoreScrollTopPosition = function() {\r\n var _this3 = this;\r\n if (!(0, _window.hasWindow)() || !(0, _type.isNumeric)(this._scrollTopPosition)) {\r\n return\r\n }\r\n setTimeout((function() {\r\n return _this3._filesTreeView.getScrollable().scrollTo(_this3._scrollTopPosition)\r\n }))\r\n };\r\n _proto._updateFocusedElement = function() {\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 || (0, _renderer.default)();\r\n this._$focusedElement.toggleClass(FILE_MANAGER_DIRS_TREE_FOCUSED_ITEM_CLASS, true)\r\n };\r\n _proto._getNodeByKey = function(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 _proto._getPublicNode = function(key) {\r\n var _this$_filesTreeView2;\r\n var nodesQueue = _toConsumableArray(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.apply(nodesQueue, _toConsumableArray(node.children))\r\n }\r\n }\r\n return\r\n };\r\n _proto._getItemElementByKey = function(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 _proto._getDefaultOptions = function() {\r\n return (0, _extend.extend)(_Widget.prototype._getDefaultOptions.call(this), {\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 _proto._optionChanged = function(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 _Widget.prototype._optionChanged.call(this, args)\r\n }\r\n };\r\n _proto.toggleDirectoryExpandedState = function(directoryInfo, state) {\r\n var deferred = new _deferred.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 _proto.refresh = function() {\r\n this._$focusedElement = null;\r\n this._saveScrollTopPosition();\r\n this._filesTreeView.option(\"dataSource\", [])\r\n };\r\n _proto.updateCurrentDirectory = function() {\r\n if (this._disposed) {\r\n return\r\n }\r\n this._updateFocusedElement();\r\n this._storeExpandedState && this._updateExpandedStateToCurrentDirectory()\r\n };\r\n _proto._updateExpandedStateToCurrentDirectory = function() {\r\n return this.toggleDirectoryExpandedStateRecursive(this._getCurrentDirectory().parentDirectory, true)\r\n };\r\n _proto.toggleDirectoryExpandedStateRecursive = function(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 _proto.toggleDirectoryLineExpandedState = function(dirLine, state) {\r\n var _this4 = this;\r\n if (!dirLine.length) {\r\n return (new _deferred.Deferred).resolve().promise()\r\n }\r\n return this.toggleDirectoryExpandedState(dirLine.shift(), state).then((function() {\r\n return _this4.toggleDirectoryLineExpandedState(dirLine, state)\r\n }))\r\n };\r\n _createClass(FileManagerFilesTreeView, [{\r\n key: \"_filesTreeViewItemSelector\",\r\n get: function() {\r\n return \".\".concat(TREE_VIEW_ITEM_CLASS)\r\n }\r\n }, {\r\n key: \"_contextMenu\",\r\n get: function() {\r\n return this.option(\"contextMenu\")\r\n }\r\n }]);\r\n return FileManagerFilesTreeView\r\n}(_ui.default);\r\nvar _default = FileManagerFilesTreeView;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/file_manager/ui.file_manager.item_list.details.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _uiFile_manager = require(\"./ui.file_manager.common\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _message = _interopRequireDefault(require(\"../../localization/message\"));\r\nvar _ui = _interopRequireDefault(require(\"../data_grid/ui.data_grid\"));\r\nvar _uiFile_manager2 = _interopRequireDefault(require(\"./ui.file_manager.item_list\"));\r\nvar _uiFile_manager3 = _interopRequireDefault(require(\"./ui.file_manager.file_actions_button\"));\r\nvar _deferred = require(\"../../core/utils/deferred\");\r\nvar _file_items_controller = require(\"./file_items_controller\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\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: _message.default.format(\"dxFileManager-listDetailsColumnCaptionName\")\r\n },\r\n dateModified: {\r\n caption: _message.default.format(\"dxFileManager-listDetailsColumnCaptionDateModified\"),\r\n width: 110,\r\n hidingPriority: 1\r\n },\r\n size: {\r\n caption: _message.default.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\nvar FileManagerDetailsItemList = function(_FileManagerItemListB) {\r\n _inheritsLoose(FileManagerDetailsItemList, _FileManagerItemListB);\r\n\r\n function FileManagerDetailsItemList() {\r\n return _FileManagerItemListB.apply(this, arguments) || this\r\n }\r\n var _proto = FileManagerDetailsItemList.prototype;\r\n _proto._initMarkup = function() {\r\n var _this = this;\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\", (function() {\r\n return _this._onContextMenuHidden()\r\n }));\r\n _FileManagerItemListB.prototype._initMarkup.call(this)\r\n };\r\n _proto._createFilesView = function() {\r\n var $filesView = (0, _renderer.default)(\"<div>\").appendTo(this.$element());\r\n var selectionMode = this._isMultipleSelectionMode() ? \"multiple\" : \"none\";\r\n this._filesView = this._createComponent($filesView, _ui.default, {\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 _proto._createColumns = function() {\r\n var _this2 = this;\r\n var columns = this.option(\"detailColumns\");\r\n columns = columns.slice(0);\r\n columns = columns.map((function(column) {\r\n var extendedItem = column;\r\n if ((0, _type.isString)(column)) {\r\n extendedItem = {\r\n dataField: column\r\n }\r\n }\r\n return _this2._getPreparedColumn(extendedItem)\r\n }));\r\n var customizeDetailColumns = this.option(\"customizeDetailColumns\");\r\n if ((0, _type.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((function(column) {\r\n return _this2._updateColumnDataField(column)\r\n }));\r\n return columns\r\n };\r\n _proto._getPreparedColumn = function(columnOptions) {\r\n var result = {};\r\n var resultCssClass = \"\";\r\n if (this._isDefaultColumn(columnOptions.dataField)) {\r\n var defaultConfig = (0, _extend.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 = _message.default.format(\"dxFileManager-listDetailsColumnCaptionName\");\r\n break;\r\n case \"size\":\r\n defaultConfig.calculateCellValue = this._calculateSizeColumnCellValue.bind(this);\r\n defaultConfig.caption = _message.default.format(\"dxFileManager-listDetailsColumnCaptionFileSize\");\r\n defaultConfig.calculateSortValue = function(rowData) {\r\n return rowData.fileItem.isDirectory ? -1 : rowData.fileItem.size\r\n };\r\n break;\r\n case \"dateModified\":\r\n defaultConfig.caption = _message.default.format(\"dxFileManager-listDetailsColumnCaptionDateModified\")\r\n }(0, _extend.extend)(true, result, defaultConfig)\r\n }(0, _uiFile_manager.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 _proto._updateColumnDataField = function(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 _proto._isDefaultColumn = function(columnDataField) {\r\n return !!DEFAULT_COLUMN_CONFIGS[columnDataField]\r\n };\r\n _proto._onFileItemActionButtonClick = function(_ref) {\r\n var component = _ref.component,\r\n element = _ref.element,\r\n event = _ref.event;\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 _proto._onContextMenuHidden = function() {\r\n if (this._activeFileActionsButton) {\r\n this._activeFileActionsButton.setActive(false)\r\n }\r\n };\r\n _proto._getItemThumbnailCssClass = function() {\r\n return FILE_MANAGER_DETAILS_ITEM_THUMBNAIL_CLASS\r\n };\r\n _proto._getItemSelector = function() {\r\n return \".\".concat(DATA_GRID_DATA_ROW_CLASS)\r\n };\r\n _proto._onItemDblClick = function(e) {\r\n var $row = (0, _renderer.default)(e.currentTarget);\r\n var fileItemInfo = $row.data(\"item\");\r\n this._raiseSelectedItemOpened(fileItemInfo)\r\n };\r\n _proto._isAllItemsSelected = function() {\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 _proto._onEditorPreparing = function(_ref2) {\r\n var _this3 = this;\r\n var component = _ref2.component,\r\n command = _ref2.command,\r\n row = _ref2.row,\r\n parentType = _ref2.parentType,\r\n editorOptions = _ref2.editorOptions;\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 = function(_ref3) {\r\n var component = _ref3.component;\r\n _this3._selectAllCheckBox = component\r\n };\r\n editorOptions.value = this._isAllItemsSelected();\r\n editorOptions.onValueChanged = function(args) {\r\n return _this3._onSelectAllCheckBoxValueChanged(args)\r\n }\r\n }\r\n };\r\n _proto._onSelectAllCheckBoxValueChanged = function(_ref4) {\r\n var event = _ref4.event,\r\n previousValue = _ref4.previousValue,\r\n value = _ref4.value;\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 _proto._onRowPrepared = function(_ref5) {\r\n var rowType = _ref5.rowType,\r\n rowElement = _ref5.rowElement,\r\n data = _ref5.data;\r\n if (\"data\" === rowType) {\r\n var $row = (0, _renderer.default)(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 _proto._onContextMenuPreparing = function(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 = (0, _extend.extend)({}, {\r\n targetElement: \"content\" === e.target && (0, _type.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 _proto._onFilesViewSelectionChanged = function(_ref6) {\r\n var component = _ref6.component,\r\n selectedRowsData = _ref6.selectedRowsData,\r\n selectedRowKeys = _ref6.selectedRowKeys,\r\n currentSelectedRowKeys = _ref6.currentSelectedRowKeys,\r\n currentDeselectedRowKeys = _ref6.currentDeselectedRowKeys;\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((function(itemInfo) {\r\n return itemInfo.fileItem\r\n }));\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 _proto._onFilesViewFocusedRowChanged = function(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 _proto._onFilesViewOptionChanged = function(_ref7) {\r\n var fullName = _ref7.fullName;\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 _proto._resetFocus = function() {\r\n this._setFocusedItemKey(void 0)\r\n };\r\n _proto._createThumbnailColumnCell = function(container, cellInfo) {\r\n this._getItemThumbnailContainer(cellInfo.data).appendTo(container)\r\n };\r\n _proto._createNameColumnCell = function(container, cellInfo) {\r\n var _this4 = this;\r\n var $button = (0, _renderer.default)(\"<div>\");\r\n var $name = (0, _renderer.default)(\"<span>\").text(cellInfo.data.fileItem.name).addClass(FILE_MANAGER_DETAILS_ITEM_NAME_CLASS);\r\n var $wrapper = (0, _renderer.default)(\"<div>\").append($name, $button).addClass(FILE_MANAGER_DETAILS_ITEM_NAME_WRAPPER_CLASS);\r\n (0, _renderer.default)(container).append($wrapper);\r\n this._createComponent($button, _uiFile_manager3.default, {\r\n onClick: function(e) {\r\n return _this4._onFileItemActionButtonClick(e)\r\n }\r\n })\r\n };\r\n _proto._calculateSizeColumnCellValue = function(rowData) {\r\n return rowData.fileItem.isDirectory ? \"\" : (0, _uiFile_manager.getDisplayFileSize)(rowData.fileItem.size)\r\n };\r\n _proto._selectItem = function(fileItemInfo) {\r\n var selectItemFunc = this._isMultipleSelectionMode() ? this._selectItemMultipleSelection : this._selectItemSingleSelection;\r\n selectItemFunc.call(this, fileItemInfo)\r\n };\r\n _proto._deselectItem = function(item) {\r\n this._filesView.deselectRows([item.fileItem.key])\r\n };\r\n _proto._selectItemSingleSelection = function(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: [].concat(selectedKeys),\r\n currentDeselectedItemKeys: deselectedKeys\r\n })\r\n }\r\n };\r\n _proto._selectItemMultipleSelection = function(_ref8) {\r\n var fileItem = _ref8.fileItem;\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 _proto._setSelectedItemKeys = function(itemKeys) {\r\n this._filesView.option(\"selectedRowKeys\", itemKeys)\r\n };\r\n _proto._setFocusedItemKey = function(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 _proto.clearSelection = function() {\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 _proto.refresh = function(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 ((0, _type.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 = !(0, _type.isDefined)(actualOptions.focusedRowKey) && -1 === actualOptions.focusedRowIndex;\r\n if (hasNoScrollTarget && operation === _file_items_controller.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.Deferred;\r\n return this._refreshDeferred.promise()\r\n };\r\n _proto._getScrollable = function() {\r\n return this._filesView.getScrollable()\r\n };\r\n _proto.getSelectedItems = function() {\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 return FileManagerDetailsItemList\r\n}(_uiFile_manager2.default);\r\nvar _default = FileManagerDetailsItemList;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/file_manager/ui.file_manager.item_list.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.default = void 0;\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _deferred = require(\"../../core/utils/deferred\");\r\nvar _window = require(\"../../core/utils/window\");\r\nvar _double_click = require(\"../../events/double_click\");\r\nvar _index = require(\"../../events/utils/index\");\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _icon = require(\"../../core/utils/icon\");\r\nvar _devices = _interopRequireDefault(require(\"../../core/devices\"));\r\nvar _custom_store = _interopRequireDefault(require(\"../../data/custom_store\"));\r\nvar _ui = _interopRequireDefault(require(\"../widget/ui.widget\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _toConsumableArray(arr) {\r\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread()\r\n}\r\n\r\nfunction _nonIterableSpread() {\r\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _unsupportedIterableToArray(o, minLen) {\r\n if (!o) {\r\n return\r\n }\r\n if (\"string\" === typeof o) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n var n = Object.prototype.toString.call(o).slice(8, -1);\r\n if (\"Object\" === n && o.constructor) {\r\n n = o.constructor.name\r\n }\r\n if (\"Map\" === n || \"Set\" === n) {\r\n return Array.from(o)\r\n }\r\n if (\"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n}\r\n\r\nfunction _iterableToArray(iter) {\r\n if (\"undefined\" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter[\"@@iterator\"]) {\r\n return Array.from(iter)\r\n }\r\n}\r\n\r\nfunction _arrayWithoutHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return _arrayLikeToArray(arr)\r\n }\r\n}\r\n\r\nfunction _arrayLikeToArray(arr, len) {\r\n if (null == len || len > arr.length) {\r\n len = arr.length\r\n }\r\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\r\n arr2[i] = arr[i]\r\n }\r\n return arr2\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar FILE_MANAGER_FILES_VIEW_CLASS = \"dx-filemanager-files-view\";\r\nvar FILE_MANAGER_ITEM_LIST_ITEM_OPEN_EVENT_NAMESPACE = \"dxFileManager_open\";\r\nvar FileManagerItemListBase = function(_Widget) {\r\n _inheritsLoose(FileManagerItemListBase, _Widget);\r\n\r\n function FileManagerItemListBase() {\r\n return _Widget.apply(this, arguments) || this\r\n }\r\n var _proto = FileManagerItemListBase.prototype;\r\n _proto._init = function() {\r\n this._initActions();\r\n this._lockFocusedItemProcessing = false;\r\n this._focusedItemKey = this.option(\"focusedItemKey\");\r\n _Widget.prototype._init.call(this)\r\n };\r\n _proto._initMarkup = function() {\r\n this._needResetScrollPosition = false;\r\n this.$element().addClass(FILE_MANAGER_FILES_VIEW_CLASS);\r\n var dblClickEventName = (0, _index.addNamespace)(_double_click.name, FILE_MANAGER_ITEM_LIST_ITEM_OPEN_EVENT_NAMESPACE);\r\n _events_engine.default.on(this.$element(), dblClickEventName, this._getItemSelector(), this._onItemDblClick.bind(this));\r\n _Widget.prototype._initMarkup.call(this)\r\n };\r\n _proto._initActions = function() {\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 _proto._getDefaultOptions = function() {\r\n return (0, _extend.extend)(_Widget.prototype._getDefaultOptions.call(this), {\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 _proto._optionChanged = function(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 _Widget.prototype._optionChanged.call(this, args)\r\n }\r\n };\r\n _proto._getItems = function() {\r\n var _this = this;\r\n return this._getItemsInternal().done((function(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((function() {\r\n _this._onDataLoaded()\r\n }))\r\n };\r\n _proto._getItemsInternal = function() {\r\n var itemsGetter = this.option(\"getItems\");\r\n var itemsResult = itemsGetter ? itemsGetter() : [];\r\n return (0, _deferred.when)(itemsResult)\r\n };\r\n _proto._raiseOnError = function(error) {\r\n this._actions.onError({\r\n error: error\r\n })\r\n };\r\n _proto._raiseSelectionChanged = function(args) {\r\n this._actions.onSelectionChanged(args)\r\n };\r\n _proto._raiseFocusedItemChanged = function(args) {\r\n this._actions.onFocusedItemChanged(args)\r\n };\r\n _proto._raiseSelectedItemOpened = function(fileItemInfo) {\r\n this._actions.onSelectedItemOpened({\r\n fileItemInfo: fileItemInfo\r\n })\r\n };\r\n _proto._raiseContextMenuShowing = function(e) {\r\n this._actions.onContextMenuShowing(e)\r\n };\r\n _proto._raiseItemListDataLoaded = function() {\r\n this._actions.onItemListDataLoaded()\r\n };\r\n _proto._onDataLoaded = function() {\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 _proto._onContentReady = function() {\r\n if (this._needResetScrollPosition) {\r\n this._resetScrollTopPosition();\r\n this._needResetScrollPosition = false\r\n }\r\n };\r\n _proto._tryRaiseSelectionChanged = function(_ref) {\r\n var _this2 = this;\r\n var selectedItemInfos = _ref.selectedItemInfos,\r\n selectedItems = _ref.selectedItems,\r\n selectedItemKeys = _ref.selectedItemKeys,\r\n currentSelectedItemKeys = _ref.currentSelectedItemKeys,\r\n currentDeselectedItemKeys = _ref.currentDeselectedItemKeys;\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, (function(item) {\r\n return item.fileItem.key === _this2._parentDirectoryItemKey\r\n }));\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 _proto._onFocusedItemChanged = function(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 _proto._resetFocus = function() {};\r\n _proto._resetScrollTopPosition = function() {\r\n var _this3 = this;\r\n if (!(0, _window.hasWindow)()) {\r\n return\r\n }\r\n setTimeout((function() {\r\n var _this3$_getScrollable;\r\n return null === (_this3$_getScrollable = _this3._getScrollable()) || void 0 === _this3$_getScrollable ? void 0 : _this3$_getScrollable.scrollTo(0)\r\n }))\r\n };\r\n _proto._getScrollable = function() {};\r\n _proto._getItemThumbnail = function(fileInfo) {\r\n var itemThumbnailGetter = this.option(\"getItemThumbnail\");\r\n return itemThumbnailGetter ? itemThumbnailGetter(fileInfo) : {\r\n thumbnail: \"\"\r\n }\r\n };\r\n _proto._getItemThumbnailContainer = function(fileInfo) {\r\n var _this$_getItemThumbna = this._getItemThumbnail(fileInfo),\r\n thumbnail = _this$_getItemThumbna.thumbnail,\r\n cssClass = _this$_getItemThumbna.cssClass;\r\n var $itemThumbnail = (0, _icon.getImageContainer)(thumbnail).addClass(this._getItemThumbnailCssClass());\r\n if (cssClass) {\r\n $itemThumbnail.addClass(cssClass)\r\n }\r\n return $itemThumbnail\r\n };\r\n _proto._getItemThumbnailCssClass = function() {\r\n return \"\"\r\n };\r\n _proto._getItemSelector = function() {};\r\n _proto._onItemDblClick = function(e) {};\r\n _proto._isDesktop = function() {\r\n return \"desktop\" === _devices.default.real().deviceType\r\n };\r\n _proto._showContextMenu = function(items, element, event, target) {\r\n this._contextMenu.showAt(items, element, event, target)\r\n };\r\n _proto._findParentDirectoryItem = function(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 _proto._getFileItemsForContextMenu = function(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 _proto._isParentDirectoryItem = function(itemInfo) {\r\n return itemInfo.fileItem.isParentFolder\r\n };\r\n _proto._hasValidKeys = function(keys) {\r\n return keys.length > 1 || 1 === keys.length && keys[0] !== this._parentDirectoryItemKey\r\n };\r\n _proto._filterOutParentDirectory = function(array, createNewArray) {\r\n var _this4 = this;\r\n return this._filterOutItemByPredicate(array, (function(item) {\r\n return item.key === _this4._parentDirectoryItemKey\r\n }), createNewArray)\r\n };\r\n _proto._filterOutParentDirectoryKey = function(array, createNewArray) {\r\n var _this5 = this;\r\n return this._filterOutItemByPredicate(array, (function(key) {\r\n return key === _this5._parentDirectoryItemKey\r\n }), createNewArray)\r\n };\r\n _proto._filterOutItemByPredicate = function(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 = _toConsumableArray(array)\r\n }\r\n result.splice(index, 1)\r\n }\r\n return result\r\n };\r\n _proto._isMultipleSelectionMode = function() {\r\n return \"multiple\" === this.option(\"selectionMode\")\r\n };\r\n _proto._deselectItem = function(item) {};\r\n _proto._setSelectedItemKeys = function(itemKeys) {};\r\n _proto._setFocusedItemKey = function(itemKey) {};\r\n _proto._createDataSource = function() {\r\n return {\r\n store: new _custom_store.default({\r\n key: \"fileItem.key\",\r\n load: this._getItems.bind(this)\r\n })\r\n }\r\n };\r\n _proto.getSelectedItems = function() {};\r\n _proto.clearSelection = function() {};\r\n _proto.selectItem = function() {};\r\n _proto.refresh = function(options, operation) {};\r\n _createClass(FileManagerItemListBase, [{\r\n key: \"_contextMenu\",\r\n get: function() {\r\n return this.option(\"contextMenu\")\r\n }\r\n }]);\r\n return FileManagerItemListBase\r\n}(_ui.default);\r\nvar _default = FileManagerItemListBase;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/file_manager/ui.file_manager.item_list.thumbnails.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _deferred = require(\"../../core/utils/deferred\");\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _index = require(\"../../events/utils/index\");\r\nvar _contextmenu = require(\"../../events/contextmenu\");\r\nvar _uiFile_manager = require(\"./ui.file_manager.common\");\r\nvar _message = _interopRequireDefault(require(\"../../localization/message\"));\r\nvar _uiFile_managerItems_listThumbnails = _interopRequireDefault(require(\"./ui.file_manager.items_list.thumbnails.list_box\"));\r\nvar _uiFile_manager2 = _interopRequireDefault(require(\"./ui.file_manager.item_list\"));\r\nvar _file_items_controller = require(\"./file_items_controller\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\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\nvar FileManagerThumbnailsItemList = function(_FileManagerItemListB) {\r\n _inheritsLoose(FileManagerThumbnailsItemList, _FileManagerItemListB);\r\n\r\n function FileManagerThumbnailsItemList() {\r\n return _FileManagerItemListB.apply(this, arguments) || this\r\n }\r\n var _proto = FileManagerThumbnailsItemList.prototype;\r\n _proto._initMarkup = function() {\r\n _FileManagerItemListB.prototype._initMarkup.call(this);\r\n this.$element().addClass(FILE_MANAGER_THUMBNAILS_ITEM_LIST_CLASS);\r\n var contextMenuEvent = (0, _index.addNamespace)(_contextmenu.name, FILE_MANAGER_THUMBNAILS_EVENT_NAMESPACE);\r\n _events_engine.default.on(this.$element(), contextMenuEvent, this._onContextMenu.bind(this));\r\n this._createItemList()\r\n };\r\n _proto._createItemList = function() {\r\n var selectionMode = this._isMultipleSelectionMode() ? \"multiple\" : \"single\";\r\n var $itemListContainer = (0, _renderer.default)(\"<div>\").appendTo(this.$element());\r\n this._itemList = this._createComponent($itemListContainer, _uiFile_managerItems_listThumbnails.default, {\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 _proto._onContextMenu = function(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 = (0, _renderer.default)(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 _proto._getItemThumbnailCssClass = function() {\r\n return FILE_MANAGER_THUMBNAILS_ITEM_THUMBNAIL_CLASS\r\n };\r\n _proto._getItemSelector = function() {\r\n return \".\".concat(FILE_MANAGER_THUMBNAILS_ITEM_CLASS)\r\n };\r\n _proto._getTooltipText = function(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(_message.default.format(\"dxFileManager-listThumbnailsTooltipTextSize\"), \": \").concat((0, _uiFile_manager.getDisplayFileSize)(item.size), \"\\r\\n\")\r\n }\r\n text += \"\".concat(_message.default.format(\"dxFileManager-listThumbnailsTooltipTextDateModified\"), \": \").concat(item.dateModified);\r\n return text\r\n };\r\n _proto._onItemDblClick = function(e) {\r\n var $item = (0, _renderer.default)(e.currentTarget);\r\n var item = this._itemList.getItemByItemElement($item);\r\n this._tryOpen(item)\r\n };\r\n _proto._tryOpen = function(item) {\r\n if (item) {\r\n this._raiseSelectedItemOpened(item)\r\n }\r\n };\r\n _proto._getItemsInternal = function() {\r\n return _FileManagerItemListB.prototype._getItemsInternal.call(this).then((function(items) {\r\n var deferred = new _deferred.Deferred;\r\n setTimeout((function() {\r\n return deferred.resolve(items)\r\n }));\r\n return deferred.promise()\r\n }))\r\n };\r\n _proto._disableDragging = function() {\r\n return false\r\n };\r\n _proto._getDefaultOptions = function() {\r\n return (0, _extend.extend)(_FileManagerItemListB.prototype._getDefaultOptions.call(this), {\r\n focusStateEnabled: true\r\n })\r\n };\r\n _proto._onItemListSelectionChanged = function(_ref) {\r\n var addedItemKeys = _ref.addedItemKeys,\r\n removedItemKeys = _ref.removedItemKeys;\r\n var selectedItemInfos = this.getSelectedItems();\r\n var selectedItems = selectedItemInfos.map((function(itemInfo) {\r\n return itemInfo.fileItem\r\n }));\r\n var selectedItemKeys = selectedItems.map((function(item) {\r\n return item.key\r\n }));\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 _proto._onItemListFocusedItemChanged = function(_ref2) {\r\n var item = _ref2.item,\r\n itemElement = _ref2.itemElement;\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 _proto._getScrollable = function() {\r\n return this._itemList.getScrollable()\r\n };\r\n _proto._setSelectedItemKeys = function(itemKeys) {\r\n this._itemList.option(\"selectedItemKeys\", itemKeys)\r\n };\r\n _proto._setFocusedItemKey = function(itemKey) {\r\n this._itemList.option(\"focusedItemKey\", itemKey)\r\n };\r\n _proto.refresh = function(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 (!(0, _type.isDefined)(actualOptions.focusedItemKey) && operation === _file_items_controller.OPERATIONS.NAVIGATION) {\r\n this._needResetScrollPosition = true\r\n }\r\n this._itemList.option(actualOptions);\r\n this._refreshDeferred = new _deferred.Deferred;\r\n return this._refreshDeferred.promise()\r\n };\r\n _proto._deselectItem = function(item) {\r\n var itemElement = this._itemList.getItemElementByItem(item);\r\n this._itemList.unselectItem(itemElement)\r\n };\r\n _proto._selectItemSingleSelection = function(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 _proto.clearSelection = function() {\r\n this._itemList.clearSelection()\r\n };\r\n _proto.getSelectedItems = function() {\r\n return this._itemList.getSelectedItems()\r\n };\r\n return FileManagerThumbnailsItemList\r\n}(_uiFile_manager2.default);\r\nvar _default = FileManagerThumbnailsItemList;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/file_manager/ui.file_manager.items_list.thumbnails.list_box.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _size = require(\"../../core/utils/size\");\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _deferred = require(\"../../core/utils/deferred\");\r\nvar _hold = _interopRequireDefault(require(\"../../events/hold\"));\r\nvar _index = require(\"../../events/utils/index\");\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _bindable_template = require(\"../../core/templates/bindable_template\");\r\nvar _scroll_view = _interopRequireDefault(require(\"../scroll_view\"));\r\nvar _uiCollection_widget = _interopRequireDefault(require(\"../collection/ui.collection_widget.edit\"));\r\nvar _selection = _interopRequireDefault(require(\"../selection/selection\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\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 = (0, _index.addNamespace)(_hold.default.name, FILE_MANAGER_THUMBNAILS_LIST_BOX_NAMESPACE);\r\nvar FileManagerThumbnailListBox = function(_CollectionWidget) {\r\n _inheritsLoose(FileManagerThumbnailListBox, _CollectionWidget);\r\n\r\n function FileManagerThumbnailListBox() {\r\n return _CollectionWidget.apply(this, arguments) || this\r\n }\r\n var _proto = FileManagerThumbnailListBox.prototype;\r\n _proto._initMarkup = function() {\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 _CollectionWidget.prototype._initMarkup.call(this);\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 _proto._initActions = function() {\r\n this._actions = {\r\n onItemEnterKeyPressed: this._createActionByOption(\"onItemEnterKeyPressed\"),\r\n onFocusedItemChanged: this._createActionByOption(\"onFocusedItemChanged\")\r\n }\r\n };\r\n _proto._initTemplates = function() {\r\n _CollectionWidget.prototype._initTemplates.call(this);\r\n this._itemThumbnailTemplate = this.option(\"itemThumbnailTemplate\");\r\n this._getTooltipText = this.option(\"getTooltipText\");\r\n this._templateManager.addDefaultTemplates({\r\n item: new _bindable_template.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 _proto._createScrollViewControl = function() {\r\n if (!this._scrollView) {\r\n this._scrollView = this._createComponent(this._$scrollView, _scroll_view.default, {\r\n scrollByContent: true,\r\n scrollByThumb: true,\r\n useKeyboard: false,\r\n showScrollbar: \"onHover\"\r\n })\r\n }\r\n };\r\n _proto._renderScrollView = function() {\r\n if (!this._$scrollView) {\r\n this._$scrollView = (0, _renderer.default)(\"<div>\").appendTo(this.$element())\r\n }\r\n };\r\n _proto.getScrollable = function() {\r\n return this._scrollView\r\n };\r\n _proto._renderItemsContainer = function() {\r\n if (!this._$itemContainer) {\r\n this._$itemContainer = (0, _renderer.default)(\"<div>\").addClass(FILE_MANAGER_THUMBNAILS_ITEM_LIST_CONTAINER_CLASS).appendTo(this._$scrollView)\r\n }\r\n };\r\n _proto._render = function() {\r\n _CollectionWidget.prototype._render.call(this);\r\n this._detachEventHandlers();\r\n this._attachEventHandlers()\r\n };\r\n _proto._clean = function() {\r\n this._detachEventHandlers();\r\n _CollectionWidget.prototype._clean.call(this)\r\n };\r\n _proto._supportedKeys = function() {\r\n return (0, _extend.extend)(_CollectionWidget.prototype._supportedKeys.call(this), {\r\n upArrow: function(e) {\r\n this._beforeKeyProcessing(e);\r\n this._processArrowKeys(-1, false, e)\r\n },\r\n downArrow: function(e) {\r\n this._beforeKeyProcessing(e);\r\n this._processArrowKeys(1, false, e)\r\n },\r\n home: function(e) {\r\n this._beforeKeyProcessing(e);\r\n this._processHomeEndKeys(0, true, e)\r\n },\r\n end: function(e) {\r\n this._beforeKeyProcessing(e);\r\n this._processHomeEndKeys(this._getItemsLength() - 1, true, e)\r\n },\r\n pageUp: function(e) {\r\n this._beforeKeyProcessing(e);\r\n this._processPageChange(true, e)\r\n },\r\n pageDown: function(e) {\r\n this._beforeKeyProcessing(e);\r\n this._processPageChange(false, e)\r\n },\r\n enter: function(e) {\r\n this._beforeKeyProcessing(e);\r\n this._actions.onItemEnterKeyPressed(this._getFocusedItem())\r\n },\r\n A: function(e) {\r\n this._beforeKeyProcessing(e);\r\n if ((0, _index.isCommandKeyPressed)(e)) {\r\n this.selectAll()\r\n }\r\n }\r\n })\r\n };\r\n _proto._beforeKeyProcessing = function(e) {\r\n e.preventDefault();\r\n this._layoutUtils.reset()\r\n };\r\n _proto._processArrowKeys = function(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 _proto._processHomeEndKeys = function(index, scrollToItem, eventArgs) {\r\n this._focusItemByIndex(index, scrollToItem, eventArgs)\r\n };\r\n _proto._processPageChange = function(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 _proto._processLongTap = function(e) {\r\n var $targetItem = this._closestItemElement((0, _renderer.default)(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 _proto._attachEventHandlers = function() {\r\n var _this = this;\r\n if (\"multiple\" === this.option(\"selectionMode\")) {\r\n _events_engine.default.on(this._itemContainer(), FILE_MANAGER_THUMBNAILS_LIST_BOX_HOLD_EVENT_NAME, \".\".concat(this._itemContentClass()), (function(e) {\r\n _this._processLongTap(e);\r\n e.stopPropagation()\r\n }))\r\n }\r\n _events_engine.default.on(this._itemContainer(), \"mousedown selectstart\", (function(e) {\r\n if (e.shiftKey) {\r\n e.preventDefault()\r\n }\r\n }))\r\n };\r\n _proto._detachEventHandlers = function() {\r\n _events_engine.default.off(this._itemContainer(), FILE_MANAGER_THUMBNAILS_LIST_BOX_HOLD_EVENT_NAME);\r\n _events_engine.default.off(this._itemContainer(), \"mousedown selectstart\")\r\n };\r\n _proto._itemContainer = function() {\r\n return this._$itemContainer\r\n };\r\n _proto._itemClass = function() {\r\n return FILE_MANAGER_THUMBNAILS_ITEM_CLASS\r\n };\r\n _proto._itemDataKey = function() {\r\n return FILE_MANAGER_THUMBNAILS_ITEM_DATA_KEY\r\n };\r\n _proto._getDefaultItemTemplate = function(fileItemInfo, $itemElement) {\r\n $itemElement.attr(\"title\", this._getTooltipText(fileItemInfo));\r\n var $itemThumbnail = this._itemThumbnailTemplate(fileItemInfo);\r\n var $itemSpacer = (0, _renderer.default)(\"<div>\").addClass(FILE_MANAGER_THUMBNAILS_ITEM_SPACER_CLASS);\r\n var $itemName = (0, _renderer.default)(\"<div>\").addClass(FILE_MANAGER_THUMBNAILS_ITEM_NAME_CLASS).text(fileItemInfo.fileItem.name);\r\n $itemElement.append($itemThumbnail, $itemSpacer, $itemName)\r\n };\r\n _proto._itemSelectHandler = function(e) {\r\n var options = {};\r\n if (\"multiple\" === this.option(\"selectionMode\")) {\r\n if (!this._isPreserveSelectionMode) {\r\n this._isPreserveSelectionMode = (0, _index.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 _proto._initSelectionModule = function() {\r\n var _this2 = this;\r\n _CollectionWidget.prototype._initSelectionModule.call(this);\r\n var options = (0, _extend.extend)(this._selection.options, {\r\n selectedKeys: this.option(\"selectedItemKeys\"),\r\n onSelectionChanged: function(args) {\r\n _this2.option(\"selectedItems\", _this2._getItemsByKeys(args.selectedItemKeys, args.selectedItems));\r\n _this2._updateSelectedItems(args)\r\n }\r\n });\r\n this._selection = new _selection.default(options)\r\n };\r\n _proto._updateSelectedItems = function(args) {\r\n var _this3 = this;\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 }(0, _deferred.when)(selectionChangePromise).done((function() {\r\n return _this3._fireSelectionChangeEvent(args)\r\n }))\r\n }\r\n };\r\n _proto._fireSelectionChangeEvent = function(args) {\r\n this._createActionByOption(\"onSelectionChanged\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })(args)\r\n };\r\n _proto._updateSelection = function(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 _proto._normalizeSelectedItems = function() {\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.Deferred).resolve().promise()\r\n };\r\n _proto._focusOutHandler = function() {};\r\n _proto._getItems = function() {\r\n return this.option(\"items\") || []\r\n };\r\n _proto._getItemsLength = function() {\r\n return this._getItems().length\r\n };\r\n _proto._getIndexByItemElement = function(itemElement) {\r\n return this._editStrategy.getNormalizedIndex(itemElement)\r\n };\r\n _proto._getItemByIndex = function(index) {\r\n return this._getItems()[index]\r\n };\r\n _proto._getFocusedItem = function() {\r\n return this.getItemByItemElement(this.option(\"focusedElement\"))\r\n };\r\n _proto._focusItem = function(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 _proto._focusItemByIndex = function(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 _proto._syncFocusedItemKey = function() {\r\n var _this4 = this;\r\n if (!this._syncFocusedItemKeyDeferred) {\r\n this._syncFocusedItemKeyDeferred = new _deferred.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 ((0, _type.isDefined)(focusedItemKey)) {\r\n var items = this.option(\"items\");\r\n var focusedItem = items.find((function(item) {\r\n return _this4.keyOf(item) === focusedItemKey\r\n }));\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 _proto._onFocusedItemChanged = function() {\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 _proto._raiseFocusedItemChanged = function(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 _proto._changeItemSelection = function(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 _proto._chooseSelectOption = function() {\r\n return \"selectedItemKeys\"\r\n };\r\n _proto.getSelectedItems = function() {\r\n return this._selection.getSelectedItems()\r\n };\r\n _proto.getItemElementByItem = function(item) {\r\n return this._editStrategy.getItemElement(item)\r\n };\r\n _proto.getItemByItemElement = function(itemElement) {\r\n return this._getItemByIndex(this._getIndexByItemElement(itemElement))\r\n };\r\n _proto.selectAll = function() {\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 _proto.selectItem = function(item) {\r\n this._changeItemSelection(item, true)\r\n };\r\n _proto.deselectItem = function(item) {\r\n this._changeItemSelection(item, false)\r\n };\r\n _proto.clearSelection = function() {\r\n this._selection.deselectAll()\r\n };\r\n _proto._optionChanged = function(args) {\r\n var _this5 = this;\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 _CollectionWidget.prototype._optionChanged.call(this, args);\r\n break;\r\n case \"focusedItemKey\":\r\n if (this._lockFocusedItemProcessing) {\r\n break\r\n }\r\n if ((0, _type.isDefined)(args.value)) {\r\n this._syncFocusedItemKey().done((function() {\r\n var focusedItem = _this5._getFocusedItem();\r\n _this5._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 _CollectionWidget.prototype._optionChanged.call(this, args)\r\n }\r\n };\r\n return FileManagerThumbnailListBox\r\n}(_uiCollection_widget.default);\r\nvar ListBoxLayoutUtils = function() {\r\n function ListBoxLayoutUtils(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 var _proto2 = ListBoxLayoutUtils.prototype;\r\n _proto2.updateItems = function($item) {\r\n this._$item = $item\r\n };\r\n _proto2.reset = function() {\r\n this._layoutModel = null\r\n };\r\n _proto2.getLayoutModel = function() {\r\n if (!this._layoutModel) {\r\n this._layoutModel = this._createLayoutModel()\r\n }\r\n return this._layoutModel\r\n };\r\n _proto2._createLayoutModel = function() {\r\n if (!this._$item) {\r\n return null\r\n }\r\n var itemWidth = (0, _size.getOuterWidth)(this._$item, true);\r\n if (0 === itemWidth) {\r\n return null\r\n }\r\n var itemHeight = (0, _size.getOuterHeight)(this._$item, true);\r\n var viewPortWidth = (0, _size.getInnerWidth)(this._$itemContainer);\r\n var viewPortHeight = (0, _size.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 _proto2.createItemLayoutModel = function(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 _proto2.scrollToItem = function(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 return ListBoxLayoutUtils\r\n}();\r\nvar _default = FileManagerThumbnailListBox;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/file_manager/ui.file_manager.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _deferred = require(\"../../core/utils/deferred\");\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _message = _interopRequireDefault(require(\"../../localization/message\"));\r\nvar _component_registrator = _interopRequireDefault(require(\"../../core/component_registrator\"));\r\nvar _ui = _interopRequireDefault(require(\"../widget/ui.widget\"));\r\nvar _notify = _interopRequireDefault(require(\"../notify\"));\r\nvar _uiFile_manager = require(\"./ui.file_manager.common\");\r\nvar _file_items_controller = require(\"./file_items_controller\");\r\nvar _uiFile_manager2 = require(\"./ui.file_manager.command_manager\");\r\nvar _uiFile_manager3 = _interopRequireDefault(require(\"./ui.file_manager.context_menu\"));\r\nvar _uiFile_manager4 = _interopRequireDefault(require(\"./ui.file_manager.files_tree_view\"));\r\nvar _uiFile_managerItem_list = _interopRequireDefault(require(\"./ui.file_manager.item_list.details\"));\r\nvar _uiFile_managerItem_list2 = _interopRequireDefault(require(\"./ui.file_manager.item_list.thumbnails\"));\r\nvar _uiFile_manager5 = _interopRequireDefault(require(\"./ui.file_manager.toolbar\"));\r\nvar _uiFile_manager6 = _interopRequireDefault(require(\"./ui.file_manager.notification\"));\r\nvar _uiFile_manager7 = _interopRequireDefault(require(\"./ui.file_manager.editing\"));\r\nvar _uiFile_manager8 = _interopRequireDefault(require(\"./ui.file_manager.breadcrumbs\"));\r\nvar _uiFile_manager9 = _interopRequireDefault(require(\"./ui.file_manager.adaptivity\"));\r\nvar _utils = require(\"../../core/options/utils\");\r\nvar _comparator = require(\"../../core/utils/comparator\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _toConsumableArray(arr) {\r\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread()\r\n}\r\n\r\nfunction _nonIterableSpread() {\r\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _unsupportedIterableToArray(o, minLen) {\r\n if (!o) {\r\n return\r\n }\r\n if (\"string\" === typeof o) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n var n = Object.prototype.toString.call(o).slice(8, -1);\r\n if (\"Object\" === n && o.constructor) {\r\n n = o.constructor.name\r\n }\r\n if (\"Map\" === n || \"Set\" === n) {\r\n return Array.from(o)\r\n }\r\n if (\"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n}\r\n\r\nfunction _iterableToArray(iter) {\r\n if (\"undefined\" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter[\"@@iterator\"]) {\r\n return Array.from(iter)\r\n }\r\n}\r\n\r\nfunction _arrayWithoutHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return _arrayLikeToArray(arr)\r\n }\r\n}\r\n\r\nfunction _arrayLikeToArray(arr, len) {\r\n if (null == len || len > arr.length) {\r\n len = arr.length\r\n }\r\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\r\n arr2[i] = arr[i]\r\n }\r\n return arr2\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\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\nvar FileManager = function(_Widget) {\r\n _inheritsLoose(FileManager, _Widget);\r\n\r\n function FileManager() {\r\n return _Widget.apply(this, arguments) || this\r\n }\r\n var _proto = FileManager.prototype;\r\n _proto._initTemplates = function() {};\r\n _proto._init = function() {\r\n _Widget.prototype._init.call(this);\r\n this._initActions();\r\n this._providerUpdateDeferred = null;\r\n this._lockCurrentPathProcessing = false;\r\n this._wasRendered = false;\r\n this._controller = new _file_items_controller.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 _proto._initMarkup = function() {\r\n _Widget.prototype._initMarkup.call(this);\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 _uiFile_manager2.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 _proto._createNotificationControl = function() {\r\n var _this = this;\r\n var $notificationControl = (0, _renderer.default)(\"<div>\").addClass(\"dx-filemanager-notification-container\").appendTo(this.$element());\r\n this._notificationControl = this._createComponent($notificationControl, _uiFile_manager6.default, {\r\n progressPanelContainer: this.$element(),\r\n contentTemplate: function(container, notificationControl) {\r\n return _this._createWrapper(container, notificationControl)\r\n },\r\n onActionProgress: function(e) {\r\n return _this._onActionProgress(e)\r\n },\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 _proto._createWrapper = function(container, notificationControl) {\r\n var _this2 = this;\r\n this._$wrapper = (0, _renderer.default)(\"<div>\").addClass(FILE_MANAGER_WRAPPER_CLASS).appendTo(container);\r\n this._createEditing(notificationControl);\r\n var $toolbar = (0, _renderer.default)(\"<div>\").appendTo(this._$wrapper);\r\n this._toolbar = this._createComponent($toolbar, _uiFile_manager5.default, {\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: function(args) {\r\n return _this2._actions.onToolbarItemClick(args)\r\n }\r\n });\r\n this._createAdaptivityControl()\r\n };\r\n _proto._createAdaptivityControl = function() {\r\n var _this3 = this;\r\n var $container = (0, _renderer.default)(\"<div>\").addClass(FILE_MANAGER_CONTAINER_CLASS).appendTo(this._$wrapper);\r\n this._adaptivityControl = this._createComponent($container, _uiFile_manager9.default, {\r\n drawerTemplate: function(container) {\r\n return _this3._createFilesTreeView(container)\r\n },\r\n contentTemplate: function(container) {\r\n return _this3._createItemsPanel(container)\r\n },\r\n onAdaptiveStateChanged: function(e) {\r\n return _this3._onAdaptiveStateChanged(e)\r\n }\r\n });\r\n this._editing.setUploaderSplitterElement(this._adaptivityControl.getSplitterElement())\r\n };\r\n _proto._createEditing = function(notificationControl) {\r\n var _this4 = this;\r\n var $editingContainer = (0, _renderer.default)(\"<div>\").addClass(FILE_MANAGER_EDITING_CONTAINER_CLASS).appendTo(this.$element());\r\n this._editing = this._createComponent($editingContainer, _uiFile_manager7.default, {\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: function(_ref) {\r\n var updatedOnlyFiles = _ref.updatedOnlyFiles;\r\n return _this4._redrawComponent(updatedOnlyFiles)\r\n },\r\n onError: function(e) {\r\n return _this4._onEditingError(e)\r\n }\r\n })\r\n };\r\n _proto._createItemsPanel = function($container) {\r\n this._$itemsPanel = (0, _renderer.default)(\"<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 _proto._updateUploadDropZone = function() {\r\n var dropZone = this._commandManager.isCommandAvailable(\"upload\") ? this._$itemsPanel : (0, _renderer.default)();\r\n this._editing.setUploaderDropZone(dropZone)\r\n };\r\n _proto._createFilesTreeView = function(container) {\r\n var _this5 = this;\r\n this._filesTreeViewContextMenu = this._createContextMenu(false, VIEW_AREAS.folders);\r\n var $filesTreeView = (0, _renderer.default)(\"<div>\").addClass(FILE_MANAGER_DIRS_PANEL_CLASS).appendTo(container);\r\n this._filesTreeView = this._createComponent($filesTreeView, _uiFile_manager4.default, {\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: function(_ref2) {\r\n var itemData = _ref2.itemData;\r\n return _this5._setCurrentDirectory(itemData)\r\n },\r\n onItemListDataLoaded: function() {\r\n return _this5._tryEndLoading(VIEW_AREAS.folders)\r\n }\r\n });\r\n this._filesTreeView.updateCurrentDirectory()\r\n };\r\n _proto._createItemView = function($container, viewMode) {\r\n var _this6 = this;\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: function(_ref3) {\r\n var error = _ref3.error;\r\n return _this6._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: function(e) {\r\n return _this6._onContextMenuShowing(VIEW_AREAS.items, e)\r\n },\r\n onItemListItemsLoaded: function() {\r\n return _this6._tryEndLoading(VIEW_AREAS.items)\r\n },\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 = (0, _renderer.default)(\"<div>\").appendTo($container);\r\n viewMode = viewMode || itemViewOptions.mode;\r\n var widgetClass = \"thumbnails\" === viewMode ? _uiFile_managerItem_list2.default : _uiFile_managerItem_list.default;\r\n this._itemView = this._createComponent($itemView, widgetClass, options)\r\n };\r\n _proto._createBreadcrumbs = function($container) {\r\n var _this7 = this;\r\n var $breadcrumbs = (0, _renderer.default)(\"<div>\").appendTo($container);\r\n this._breadcrumbs = this._createComponent($breadcrumbs, _uiFile_manager8.default, {\r\n rootFolderDisplayName: this.option(\"rootFolderName\"),\r\n onCurrentDirectoryChanging: function(_ref4) {\r\n var currentDirectory = _ref4.currentDirectory;\r\n return _this7._setCurrentDirectory(currentDirectory, true)\r\n }\r\n });\r\n this._breadcrumbs.setCurrentDirectory(this._getCurrentDirectory())\r\n };\r\n _proto._createContextMenu = function(isolateCreationItemCommands, viewArea) {\r\n var _this8 = this;\r\n var $contextMenu = (0, _renderer.default)(\"<div>\").appendTo(this._$wrapper);\r\n return this._createComponent($contextMenu, _uiFile_manager3.default, {\r\n commandManager: this._commandManager,\r\n items: this.option(\"contextMenu.items\"),\r\n onItemClick: function(args) {\r\n return _this8._actions.onContextMenuItemClick(args)\r\n },\r\n onContextMenuShowing: function(e) {\r\n return _this8._onContextMenuShowing(viewArea, e)\r\n },\r\n isolateCreationItemCommands: isolateCreationItemCommands,\r\n viewArea: viewArea\r\n })\r\n };\r\n _proto._initCommandManager = function() {\r\n var _this9 = this;\r\n var actions = (0, _extend.extend)(this._editing.getCommandActions(), {\r\n refresh: function() {\r\n return _this9._refreshAndShowProgress()\r\n },\r\n thumbnails: function() {\r\n return _this9.option(\"itemView.mode\", \"thumbnails\")\r\n },\r\n details: function() {\r\n return _this9.option(\"itemView.mode\", \"details\")\r\n },\r\n clearSelection: function() {\r\n return _this9._clearSelection()\r\n },\r\n showNavPane: function() {\r\n return _this9._adaptivityControl.toggleDrawer()\r\n }\r\n });\r\n this._commandManager.registerActions(actions)\r\n };\r\n _proto._onItemViewSelectionChanged = function(_ref5) {\r\n var selectedItemInfos = _ref5.selectedItemInfos,\r\n selectedItems = _ref5.selectedItems,\r\n selectedItemKeys = _ref5.selectedItemKeys,\r\n currentSelectedItemKeys = _ref5.currentSelectedItemKeys,\r\n currentDeselectedItemKeys = _ref5.currentDeselectedItemKeys;\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 _proto._onItemViewFocusedItemChanged = function(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 _proto._onAdaptiveStateChanged = function(_ref6) {\r\n var enabled = _ref6.enabled;\r\n this._commandManager.setCommandEnabled(\"showNavPane\", enabled);\r\n this._updateToolbar()\r\n };\r\n _proto._onActionProgress = function(_ref7) {\r\n var message = _ref7.message,\r\n status = _ref7.status;\r\n this._toolbar.updateRefreshItem(message, status);\r\n this._updateToolbar()\r\n };\r\n _proto._onEditingError = function(e) {\r\n var args = (0, _uiFile_manager.extendAttributes)({}, e, [\"errorCode\", \"errorText\", \"fileSystemItem\"]);\r\n this._actions.onErrorOccurred(args);\r\n e.errorText = args.errorText\r\n };\r\n _proto._refreshAndShowProgress = function() {\r\n var _this10 = this;\r\n this._prepareToLoad();\r\n return (0, _deferred.when)(this._notificationControl.tryShowProgressPanel(), this._controller.refresh()).then((function() {\r\n return _this10._filesTreeView.refresh()\r\n }))\r\n };\r\n _proto._isAllWidgetsLoaded = function() {\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 _proto._tryEndLoading = function(area) {\r\n this._loadedWidgets.push(area);\r\n if (this._isAllWidgetsLoaded()) {\r\n this._controller.endSingleLoad()\r\n }\r\n };\r\n _proto._prepareToLoad = function() {\r\n this._loadedWidgets = [];\r\n this._controller.startSingleLoad()\r\n };\r\n _proto._updateToolbar = function(selectedItems) {\r\n var items = selectedItems || this._getSelectedItemInfos();\r\n this._toolbar.option(\"contextItems\", (0, _common.ensureDefined)(items, []))\r\n };\r\n _proto._switchView = function(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 _proto._disposeWidget = function(widget) {\r\n widget.dispose();\r\n widget.$element().remove()\r\n };\r\n _proto._clearSelection = function() {\r\n this._itemView.clearSelection()\r\n };\r\n _proto._showError = function(message) {\r\n this._showNotification(message, false)\r\n };\r\n _proto._showNotification = function(message, isSuccess) {\r\n (0, _notify.default)({\r\n message: message,\r\n width: 450\r\n }, isSuccess ? \"success\" : \"error\", 5e3)\r\n };\r\n _proto._redrawComponent = function(onlyFileItemsView) {\r\n var _this11 = this;\r\n this._itemView.refresh().then((function() {\r\n return !onlyFileItemsView && _this11._filesTreeView.refresh()\r\n }))\r\n };\r\n _proto._getItemViewItems = function() {\r\n var _this12 = this;\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 = (0, _deferred.when)(result).then((function(items) {\r\n return _this12._getPreparedItemViewItems(items)\r\n }))\r\n }\r\n return result\r\n };\r\n _proto._updateToolbarWithSelectionOnFirstLoad = function(itemsResult) {\r\n var _this13 = this;\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 (0, _deferred.when)(itemsResult).done((function(items) {\r\n var selectedItems = (0, _uiFile_manager.findItemsByKeys)(items, selectedItemKeys);\r\n if (selectedItems.length > 0) {\r\n _this13._updateToolbar(selectedItems)\r\n }\r\n }))\r\n }\r\n };\r\n _proto._getPreparedItemViewItems = function(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 = _toConsumableArray(items);\r\n itemsCopy.unshift({\r\n fileItem: parentDirItem,\r\n icon: \"parentfolder\"\r\n });\r\n return itemsCopy\r\n };\r\n _proto._onContextMenuShowing = function(viewArea, e) {\r\n var _e$itemData;\r\n var eventArgs = (0, _uiFile_manager.extendAttributes)({}, e, [\"targetElement\", \"cancel\", \"event\"]);\r\n eventArgs = (0, _extend.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 = (0, _common.ensureDefined)(eventArgs.cancel, false)\r\n };\r\n _proto._getItemThumbnailInfo = function(fileInfo) {\r\n var func = this.option(\"customizeThumbnail\");\r\n var thumbnail = (0, _type.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 _proto._getDefaultOptions = function() {\r\n return (0, _extend.extend)(_Widget.prototype._getDefaultOptions.call(this), {\r\n fileSystemProvider: null,\r\n currentPath: \"\",\r\n currentPathKeys: [],\r\n rootFolderName: _message.default.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: (0, _extend.extend)({}, _uiFile_manager2.defaultPermissions),\r\n notifications: {\r\n showPanel: true,\r\n showPopup: true\r\n }\r\n })\r\n };\r\n _proto.option = function(options, value) {\r\n var _this14 = this;\r\n var optionsToCheck = (0, _utils.normalizeOptions)(options, value);\r\n var isGetter = arguments.length < 2 && \"object\" !== (0, _type.type)(options);\r\n var isOptionDefined = function(name) {\r\n return (0, _type.isDefined)(optionsToCheck[name])\r\n };\r\n var isOptionValueDiffers = function(name) {\r\n if (!isOptionDefined(name)) {\r\n return false\r\n }\r\n var previousValue = _this14.option(name);\r\n var value = optionsToCheck[name];\r\n return !(0, _comparator.equals)(previousValue, value)\r\n };\r\n if (!isGetter && isOptionDefined(\"fileSystemProvider\")) {\r\n this._providerUpdateDeferred = new _deferred.Deferred;\r\n if (isOptionValueDiffers(\"currentPath\") || isOptionValueDiffers(\"currentPathKeys\")) {\r\n this._lockCurrentPathProcessing = true\r\n }\r\n }\r\n return _Widget.prototype.option.apply(this, arguments)\r\n };\r\n _proto._optionChanged = function(args) {\r\n var _this15 = this;\r\n var name = args.name;\r\n switch (name) {\r\n case \"currentPath\":\r\n var updateFunc = function() {\r\n _this15._lockCurrentPathProcessing = false;\r\n return _this15._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 = function() {\r\n _this15._lockCurrentPathProcessing = false;\r\n return _this15._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.Deferred\r\n }\r\n var pathKeys = this._lockCurrentPathProcessing ? void 0 : this.option(\"currentPathKeys\");\r\n this._controller.updateProvider(args.value, pathKeys).then((function() {\r\n return _this15._providerUpdateDeferred.resolve()\r\n })).always((function() {\r\n _this15._providerUpdateDeferred = null;\r\n _this15.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 _Widget.prototype._optionChanged.call(this, args);\r\n break;\r\n default:\r\n _Widget.prototype._optionChanged.call(this, args)\r\n }\r\n };\r\n _proto._initActions = function() {\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 _proto.executeCommand = function(commandName) {\r\n return this._commandManager.executeCommand(commandName)\r\n };\r\n _proto._setCurrentDirectory = function(directoryInfo, checkActuality) {\r\n this._controller.setCurrentDirectory(directoryInfo, checkActuality)\r\n };\r\n _proto._getCurrentDirectory = function() {\r\n return this._controller.getCurrentDirectory()\r\n };\r\n _proto._onControllerInitialized = function(_ref8) {\r\n var controller = _ref8.controller;\r\n this._controller = this._controller || controller;\r\n this._syncToCurrentDirectory()\r\n };\r\n _proto._onDataLoading = function(_ref9) {\r\n var operation = _ref9.operation;\r\n var options = null;\r\n if (operation === _file_items_controller.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 _proto._onSelectedDirectoryChanged = function() {\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 _proto._syncToCurrentDirectory = function() {\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 _proto._checkPathActuality = function() {\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 (!(0, _common.equalByValue)(this.option(\"currentPathKeys\"), currentPathKeys)) {\r\n options.currentPathKeys = currentPathKeys\r\n }\r\n if (!(0, _type.isEmptyObject)(options)) {\r\n this.option(options)\r\n }\r\n };\r\n _proto.getDirectories = function(parentDirectoryInfo, skipNavigationOnError) {\r\n return this._controller.getDirectories(parentDirectoryInfo, skipNavigationOnError)\r\n };\r\n _proto._getSelectedItemInfos = function() {\r\n return this._itemView ? this._itemView.getSelectedItems() : []\r\n };\r\n _proto.refresh = function() {\r\n return this.executeCommand(\"refresh\")\r\n };\r\n _proto.getCurrentDirectory = function() {\r\n var directoryInfo = this._getCurrentDirectory();\r\n return directoryInfo && directoryInfo.fileItem || null\r\n };\r\n _proto.getSelectedItems = function() {\r\n return this._getSelectedItemInfos().map((function(itemInfo) {\r\n return itemInfo.fileItem\r\n }))\r\n };\r\n _proto._onSelectedItemOpened = function(_ref10) {\r\n var fileItemInfo = _ref10.fileItemInfo;\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 return FileManager\r\n}(_ui.default);\r\n(0, _component_registrator.default)(\"dxFileManager\", FileManager);\r\nvar _default = FileManager;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/file_manager/ui.file_manager.messages.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"ErrorCode\", {\r\n enumerable: true,\r\n get: function() {\r\n return _error_codes.default\r\n }\r\n});\r\nexports.FileManagerMessages = void 0;\r\nvar _message = _interopRequireDefault(require(\"../../localization/message\"));\r\nvar _error_codes = _interopRequireDefault(require(\"../../file_management/error_codes\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar FileManagerMessages = {\r\n get: function(errorCode, args) {\r\n switch (errorCode) {\r\n case _error_codes.default.NoAccess:\r\n return _message.default.format(\"dxFileManager-errorNoAccess\");\r\n case _error_codes.default.FileExists:\r\n return _message.default.format(\"dxFileManager-errorFileExistsFormat\", args);\r\n case _error_codes.default.FileNotFound:\r\n return _message.default.format(\"dxFileManager-errorFileNotFoundFormat\", args);\r\n case _error_codes.default.DirectoryExists:\r\n return _message.default.format(\"dxFileManager-errorDirectoryExistsFormat\", args);\r\n case _error_codes.default.DirectoryNotFound:\r\n return _message.default.format(\"dxFileManager-errorDirectoryNotFoundFormat\", args);\r\n case _error_codes.default.WrongFileExtension:\r\n return _message.default.format(\"dxFileManager-errorWrongFileExtension\");\r\n case _error_codes.default.MaxFileSizeExceeded:\r\n return _message.default.format(\"dxFileManager-errorMaxFileSizeExceeded\");\r\n case _error_codes.default.InvalidSymbols:\r\n return _message.default.format(\"dxFileManager-errorInvalidSymbols\")\r\n }\r\n return _message.default.format(\"dxFileManager-errorDefault\")\r\n }\r\n};\r\nexports.FileManagerMessages = FileManagerMessages;\r\n","/**\r\n * DevExtreme (cjs/ui/file_manager/ui.file_manager.notification.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.default = void 0;\r\nvar _size = require(\"../../core/utils/size\");\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _deferred = require(\"../../core/utils/deferred\");\r\nvar _window = require(\"../../core/utils/window\");\r\nvar _ui = _interopRequireDefault(require(\"../widget/ui.widget\"));\r\nvar _ui2 = _interopRequireDefault(require(\"../popup/ui.popup\"));\r\nvar _ui3 = _interopRequireDefault(require(\"../drawer/ui.drawer\"));\r\nvar _uiFile_manager = require(\"./ui.file_manager.notification_manager\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _defineProperty(obj, key, value) {\r\n key = _toPropertyKey(key);\r\n if (key in obj) {\r\n Object.defineProperty(obj, key, {\r\n value: value,\r\n enumerable: true,\r\n configurable: true,\r\n writable: true\r\n })\r\n } else {\r\n obj[key] = value\r\n }\r\n return obj\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar window = (0, _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\nvar FileManagerNotificationControl = function(_Widget) {\r\n _inheritsLoose(FileManagerNotificationControl, _Widget);\r\n\r\n function FileManagerNotificationControl() {\r\n return _Widget.apply(this, arguments) || this\r\n }\r\n var _proto = FileManagerNotificationControl.prototype;\r\n _proto._initMarkup = function() {\r\n var _this = this;\r\n _Widget.prototype._initMarkup.call(this);\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 = (0, _renderer.default)(\"<div>\").addClass(FILE_MANAGER_NOTIFICATION_DRAWER_CLASS).appendTo($progressPanelContainer);\r\n (0, _renderer.default)(\"<div>\").addClass(FILE_MANAGER_NOTIFICATION_DRAWER_PANEL_CLASS).appendTo($progressDrawer);\r\n var drawerOptions = (0, _extend.extend)({\r\n opened: false,\r\n position: \"right\",\r\n template: function(container) {\r\n return _this._ensureProgressPanelCreated(container)\r\n }\r\n }, this._getProgressDrawerAdaptiveOptions());\r\n this._progressDrawer = this._createComponent($progressDrawer, _ui3.default, 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 ((0, _type.isFunction)(contentRenderer)) {\r\n contentRenderer($drawerContent, this)\r\n }\r\n };\r\n _proto._setNotificationManager = function(options) {\r\n options = (0, _extend.extend)({\r\n onActionProgressStatusChanged: this._raiseActionProgress.bind(this)\r\n }, options);\r\n if (!this._notificationManagerStubId) {\r\n var stubManager = new _uiFile_manager.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 _proto._getNotificationManager = function(operationInfo) {\r\n var actualManagerId = (null === operationInfo || void 0 === operationInfo ? void 0 : operationInfo[_uiFile_manager.MANAGER_ID_NAME]) || this._getActualNotificationManagerId();\r\n return this._managerMap[actualManagerId] || this._managerMap[this._notificationManagerStubId]\r\n };\r\n _proto._clearManagerMap = function() {\r\n var stubManager = this._managerMap[this._notificationManagerStubId];\r\n delete this._managerMap;\r\n this._managerMap = _defineProperty({}, this._notificationManagerStubId, stubManager)\r\n };\r\n _proto._getActualNotificationManagerId = function() {\r\n var _this2 = this;\r\n return Object.keys(this._managerMap).filter((function(managerId) {\r\n return _this2._managerMap[managerId].isActual()\r\n }))[0]\r\n };\r\n _proto.tryShowProgressPanel = function() {\r\n var _this3 = this;\r\n var promise = new _deferred.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((function() {\r\n _this3._progressDrawer.show().done(promise.resolve);\r\n _this3._hidePopup();\r\n notificationManager.tryHideActionProgress()\r\n }));\r\n return promise.promise()\r\n };\r\n _proto.addOperation = function(processingMessage, allowCancel, allowProgressAutoUpdate) {\r\n var notificationManager = this._getNotificationManager();\r\n return notificationManager.addOperation(processingMessage, allowCancel, allowProgressAutoUpdate)\r\n };\r\n _proto.addOperationDetails = function(operationInfo, details, showCloseButton) {\r\n var notificationManager = this._getNotificationManager(operationInfo);\r\n notificationManager.addOperationDetails(operationInfo, details, showCloseButton)\r\n };\r\n _proto.updateOperationItemProgress = function(operationInfo, itemIndex, itemProgress, commonProgress) {\r\n var notificationManager = this._getNotificationManager(operationInfo);\r\n notificationManager.updateOperationItemProgress(operationInfo, itemIndex, itemProgress, commonProgress)\r\n };\r\n _proto.completeOperationItem = function(operationInfo, itemIndex, commonProgress) {\r\n var notificationManager = this._getNotificationManager(operationInfo);\r\n notificationManager.completeOperationItem(operationInfo, itemIndex, commonProgress)\r\n };\r\n _proto.finishOperation = function(operationInfo, commonProgress) {\r\n var notificationManager = this._getNotificationManager(operationInfo);\r\n notificationManager.finishOperation(operationInfo, commonProgress)\r\n };\r\n _proto.completeOperation = function(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 _proto.completeSingleOperationWithError = function(operationInfo, errorInfo) {\r\n var notificationManager = this._getNotificationManager(operationInfo);\r\n notificationManager.completeSingleOperationWithError(operationInfo, errorInfo);\r\n this._showPopupError(errorInfo)\r\n };\r\n _proto.addOperationDetailsError = function(operationInfo, errorInfo) {\r\n var notificationManager = this._getNotificationManager(operationInfo);\r\n notificationManager.addOperationDetailsError(operationInfo, errorInfo);\r\n this._showPopupError(errorInfo)\r\n };\r\n _proto._hideProgressPanel = function() {\r\n var _this4 = this;\r\n setTimeout((function() {\r\n return _this4._progressDrawer.hide()\r\n }))\r\n };\r\n _proto._isSmallScreen = function() {\r\n if (!(0, _window.hasWindow)()) {\r\n return false\r\n }\r\n return (0, _size.getWidth)(window) <= ADAPTIVE_STATE_SCREEN_WIDTH\r\n };\r\n _proto._dimensionChanged = function(dimension) {\r\n if (!(dimension && \"height\" === dimension)) {\r\n this._checkAdaptiveState()\r\n }\r\n };\r\n _proto._checkAdaptiveState = function() {\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 _proto._getProgressDrawerAdaptiveOptions = function() {\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 _proto._ensureProgressPanelCreated = function(container) {\r\n var _this5 = this;\r\n var notificationManager = this._getNotificationManager();\r\n notificationManager.ensureProgressPanelCreated(container, {\r\n onOperationCanceled: function(_ref) {\r\n var info = _ref.info;\r\n return _this5._raiseOperationCanceled(info)\r\n },\r\n onOperationItemCanceled: function(_ref2) {\r\n var item = _ref2.item,\r\n itemIndex = _ref2.itemIndex;\r\n return _this5._raiseOperationItemCanceled(item, itemIndex)\r\n },\r\n onPanelClosed: function() {\r\n return _this5._hideProgressPanel()\r\n }\r\n })\r\n };\r\n _proto._getProgressManagerComponent = function() {\r\n return _uiFile_manager.NotificationManager\r\n };\r\n _proto._isProgressDrawerDisabled = function() {\r\n return !this.option(\"showProgressPanel\")\r\n };\r\n _proto._isProgressDrawerOpened = function() {\r\n return this._progressDrawer.option(\"opened\")\r\n };\r\n _proto._hidePopup = function(forceHide) {\r\n if (!this.option(\"showNotificationPopup\") && !forceHide) {\r\n return\r\n }\r\n this._getNotificationPopup().hide()\r\n };\r\n _proto._showPopup = function(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 _proto._showPopupError = function(errorInfo) {\r\n if (!this.option(\"showNotificationPopup\")) {\r\n return\r\n }\r\n var notificationManager = this._getNotificationManager();\r\n var $content = (0, _renderer.default)(\"<div>\");\r\n var $message = (0, _renderer.default)(\"<div>\").addClass(FILE_MANAGER_NOTIFICATION_COMMON_CLASS).text(errorInfo.commonErrorText);\r\n var $separator = (0, _renderer.default)(\"<div>\").addClass(FILE_MANAGER_NOTIFICATION_SEPARATOR_CLASS);\r\n (0, _renderer.default)(\"<div>\").appendTo($separator);\r\n var $details = (0, _renderer.default)(\"<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 _proto._getNotificationPopup = function() {\r\n if (!this._notificationPopup) {\r\n var $popup = (0, _renderer.default)(\"<div>\").appendTo(this.$element());\r\n this._notificationPopup = this._createComponent($popup, _ui2.default, {\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 _proto._raiseActionProgress = function(message, status) {\r\n this._actions.onActionProgress({\r\n message: message,\r\n status: status\r\n })\r\n };\r\n _proto._raiseOperationCanceled = function(info) {\r\n this._actions.onOperationCanceled({\r\n info: info\r\n })\r\n };\r\n _proto._raiseOperationItemCanceled = function(item, index) {\r\n this._actions.onOperationItemCanceled({\r\n item: item,\r\n itemIndex: index\r\n })\r\n };\r\n _proto._initActions = function() {\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 _proto._getDefaultOptions = function() {\r\n return (0, _extend.extend)(_Widget.prototype._getDefaultOptions.call(this), {\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 _proto._optionChanged = function(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 _Widget.prototype._optionChanged.call(this, args)\r\n }\r\n };\r\n return FileManagerNotificationControl\r\n}(_ui.default);\r\nexports.default = FileManagerNotificationControl;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/file_manager/ui.file_manager.notification.progress_panel.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _icon = require(\"../../core/utils/icon\");\r\nvar _message = _interopRequireDefault(require(\"../../localization/message\"));\r\nvar _ui = _interopRequireDefault(require(\"../widget/ui.widget\"));\r\nvar _progress_bar = _interopRequireDefault(require(\"../progress_bar\"));\r\nvar _button = _interopRequireDefault(require(\"../button\"));\r\nvar _scroll_view = _interopRequireDefault(require(\"../scroll_view\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\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\nvar FileManagerProgressPanel = function(_Widget) {\r\n _inheritsLoose(FileManagerProgressPanel, _Widget);\r\n\r\n function FileManagerProgressPanel() {\r\n return _Widget.apply(this, arguments) || this\r\n }\r\n var _proto = FileManagerProgressPanel.prototype;\r\n _proto._initMarkup = function() {\r\n var _this = this;\r\n _Widget.prototype._initMarkup.call(this);\r\n this._initActions();\r\n this._operationCount = 0;\r\n this.$element().addClass(FILE_MANAGER_PROGRESS_PANEL_CLASS);\r\n var $scrollView = (0, _renderer.default)(\"<div>\").appendTo(this.$element());\r\n var $container = (0, _renderer.default)(\"<div>\").addClass(FILE_MANAGER_PROGRESS_PANEL_CONTAINER_CLASS).appendTo($scrollView);\r\n this._scrollView = this._createComponent($scrollView, _scroll_view.default, {\r\n scrollByContent: true,\r\n scrollByThumb: true,\r\n showScrollbar: \"onScroll\"\r\n });\r\n var $title = (0, _renderer.default)(\"<div>\").addClass(FILE_MANAGER_PROGRESS_PANEL_TITLE_CLASS).appendTo($container);\r\n (0, _renderer.default)(\"<div>\").text(_message.default.format(\"dxFileManager-notificationProgressPanelTitle\")).addClass(FILE_MANAGER_PROGRESS_PANEL_TITLE_TEXT_CLASS).appendTo($title);\r\n var $closeButton = (0, _renderer.default)(\"<div>\").addClass(FILE_MANAGER_PROGRESS_PANEL_CLOSE_BUTTON_CLASS).appendTo($title);\r\n this._createComponent($closeButton, _button.default, {\r\n icon: \"close\",\r\n stylingMode: \"text\",\r\n onClick: function() {\r\n return _this._raisePanelClosed()\r\n }\r\n });\r\n this._$infosContainer = (0, _renderer.default)(\"<div>\").addClass(FILE_MANAGER_PROGRESS_PANEL_INFOS_CONTAINER_CLASS).appendTo($container);\r\n this._renderEmptyListText()\r\n };\r\n _proto._getDefaultOptions = function() {\r\n return (0, _extend.extend)(_Widget.prototype._getDefaultOptions.call(this), {\r\n onOperationClosed: null,\r\n onOperationCanceled: null,\r\n onOperationItemCanceled: null,\r\n onPanelClosed: null\r\n })\r\n };\r\n _proto._initActions = function() {\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 _proto._optionChanged = function(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 _Widget.prototype._optionChanged.call(this, args)\r\n }\r\n };\r\n _proto.addOperation = function(commonText, showCloseButtonAlways, allowProgressAutoUpdate) {\r\n var _this2 = this;\r\n if (this._operationCount) {\r\n (0, _renderer.default)(\"<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: (0, _common.ensureDefined)(allowProgressAutoUpdate, true)\r\n };\r\n var $info = (0, _renderer.default)(\"<div>\").addClass(FILE_MANAGER_PROGRESS_PANEL_INFO_CLASS).prependTo(this._$infosContainer);\r\n info.$info = $info;\r\n var $common = (0, _renderer.default)(\"<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: function() {\r\n return _this2._closeOperation(info)\r\n }\r\n });\r\n return info\r\n };\r\n _proto.addOperationDetails = function(info, details, showCloseButton) {\r\n var _this3 = this;\r\n info.$info.addClass(FILE_MANAGER_PROGRESS_PANEL_INFO_WITH_DETAILS_CLASS);\r\n var $details = (0, _renderer.default)(\"<div>\").addClass(FILE_MANAGER_PROGRESS_PANEL_DETAILS_CLASS).appendTo(info.$info);\r\n info.details = details.map((function(itemInfo, index) {\r\n itemInfo.info = info;\r\n return _this3._createDetailsItem($details, itemInfo, index, false, showCloseButton)\r\n }))\r\n };\r\n _proto._createDetailsItem = function($container, item, itemIndex, skipProgressBox, showCloseButton) {\r\n var _this4 = this;\r\n var $detailsItem = (0, _renderer.default)(\"<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: function() {\r\n return _this4._cancelOperationItem(item, itemIndex)\r\n }\r\n })\r\n };\r\n _proto.completeOperationItem = function(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 _proto.updateOperationItemProgress = function(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 _proto.updateOperationCommonProgress = function(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 _proto.completeOperation = function(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 _proto.completeSingleOperationWithError = function(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 _proto.addOperationDetailsError = function(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 _proto._renderError = function($container, $target, errorText) {\r\n (0, _renderer.default)(\"<div>\").text(errorText).addClass(FILE_MANAGER_PROGRESS_BOX_ERROR_CLASS).appendTo($container)\r\n };\r\n _proto._renderEmptyListText = function() {\r\n this._$infosContainer.text(_message.default.format(\"dxFileManager-notificationProgressPanelEmptyListText\"))\r\n };\r\n _proto._renderOperationError = function(info, errorText) {\r\n this._removeProgressBar(info);\r\n this._renderError(info.$wrapper, info.$commonText, errorText)\r\n };\r\n _proto._removeProgressBar = function(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 _proto._createProgressBox = function($container, options) {\r\n var _this5 = this;\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 (0, _icon.getImageContainer)(options.imageUrl).addClass(FILE_MANAGER_PROGRESS_BOX_IMAGE_CLASS).appendTo($container)\r\n }\r\n var $wrapper = (0, _renderer.default)(\"<div>\").addClass(FILE_MANAGER_PROGRESS_BOX_WRAPPER_CLASS).appendTo($container);\r\n var $commonText = (0, _renderer.default)(\"<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 = (0, _renderer.default)(\"<div>\").addClass(FILE_MANAGER_PROGRESS_BOX_PROGRESS_BAR_CLASS).appendTo($wrapper);\r\n progressBar = this._createComponent($progressBar, _progress_bar.default, {\r\n min: 0,\r\n max: 100,\r\n width: \"100%\",\r\n validationMessageMode: \"always\",\r\n statusFormat: function(ratio, value) {\r\n return _this5._getStatusString(ratio, value)\r\n }\r\n })\r\n }\r\n var closeButton = null;\r\n if (options.showCloseButton) {\r\n var $button = (0, _renderer.default)(\"<div>\").addClass(FILE_MANAGER_PROGRESS_BOX_CLOSE_BUTTON_CLASS).appendTo($container);\r\n closeButton = this._createComponent($button, _button.default, {\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 _proto._setCloseButtonVisible = function(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 _proto._setProgressBarText = function(progressBox, text) {\r\n progressBox.progressBar.option(\"statusFormat\", (function() {\r\n return text\r\n }))\r\n };\r\n _proto._closeOperation = function(info) {\r\n var _this6 = this;\r\n if (info.customCloseHandling && !info.completed) {\r\n this._raiseOperationCanceled(info);\r\n this._setCloseButtonVisible(info.common, false);\r\n info.details.forEach((function(item) {\r\n return _this6._displayClosedOperationItem(item)\r\n }))\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 _proto._cancelOperationItem = function(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 _proto._displayClosedOperationItem = function(itemInfo) {\r\n this._setProgressBarText(itemInfo, _message.default.format(\"dxFileManager-notificationProgressPanelOperationCanceled\"));\r\n this._setCloseButtonVisible(itemInfo, false)\r\n };\r\n _proto._getStatusString = function(ratio, value) {\r\n return 1 === ratio ? _message.default.format(\"Done\") : Math.round(100 * ratio) + \"%\"\r\n };\r\n _proto._raiseOperationClosed = function(info) {\r\n this._actions.onOperationClosed({\r\n info: info\r\n })\r\n };\r\n _proto._raiseOperationCanceled = function(info) {\r\n this._actions.onOperationCanceled({\r\n info: info\r\n })\r\n };\r\n _proto._raiseOperationItemCanceled = function(item, itemIndex) {\r\n this._actions.onOperationItemCanceled({\r\n item: item,\r\n itemIndex: itemIndex\r\n })\r\n };\r\n _proto._raisePanelClosed = function() {\r\n this._actions.onPanelClosed()\r\n };\r\n return FileManagerProgressPanel\r\n}(_ui.default);\r\nvar _default = FileManagerProgressPanel;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/file_manager/ui.file_manager.notification_manager.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.NotificationManagerStub = exports.NotificationManager = exports.MANAGER_ID_NAME = void 0;\r\nvar _guid = _interopRequireDefault(require(\"../../core/guid\"));\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _icon = require(\"../../core/utils/icon\");\r\nvar _uiFile_managerNotification = _interopRequireDefault(require(\"./ui.file_manager.notification.progress_panel\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _defineProperty(obj, key, value) {\r\n key = _toPropertyKey(key);\r\n if (key in obj) {\r\n Object.defineProperty(obj, key, {\r\n value: value,\r\n enumerable: true,\r\n configurable: true,\r\n writable: true\r\n })\r\n } else {\r\n obj[key] = value\r\n }\r\n return obj\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\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\nexports.MANAGER_ID_NAME = MANAGER_ID_NAME;\r\nvar ACTION_PROGRESS_STATUS = {\r\n default: \"default\",\r\n progress: \"progress\",\r\n error: \"error\",\r\n success: \"success\"\r\n};\r\nvar NotificationManagerBase = function() {\r\n function NotificationManagerBase(_ref) {\r\n var onActionProgressStatusChanged = _ref.onActionProgressStatusChanged,\r\n isActual = _ref.isActual;\r\n this._id = (new _guid.default).toString();\r\n this._isActual = isActual || false;\r\n this._actionProgressStatus = ACTION_PROGRESS_STATUS.default;\r\n this._raiseActionProgress = onActionProgressStatusChanged\r\n }\r\n var _proto = NotificationManagerBase.prototype;\r\n _proto.getId = function() {\r\n return this._id\r\n };\r\n _proto.isActual = function() {\r\n return this._isActual\r\n };\r\n _proto.createErrorDetailsProgressBox = function($container, item, errorText) {\r\n var detailsItem = this._createDetailsItem($container, item);\r\n this.renderError(detailsItem.$wrapper, errorText)\r\n };\r\n _proto.renderError = function($container, errorText) {\r\n (0, _renderer.default)(\"<div>\").text(errorText).addClass(FILE_MANAGER_PROGRESS_BOX_ERROR_CLASS).appendTo($container)\r\n };\r\n _proto.isActionProgressStatusDefault = function() {\r\n return this._actionProgressStatus === ACTION_PROGRESS_STATUS.default\r\n };\r\n _proto._createDetailsItem = function($container, item) {\r\n var $detailsItem = (0, _renderer.default)(\"<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 _proto._createProgressBox = function($container, options) {\r\n $container.addClass(FILE_MANAGER_PROGRESS_BOX_CLASS);\r\n if (options.imageUrl) {\r\n (0, _icon.getImageContainer)(options.imageUrl).addClass(FILE_MANAGER_PROGRESS_BOX_IMAGE_CLASS).appendTo($container)\r\n }\r\n var $wrapper = (0, _renderer.default)(\"<div>\").addClass(FILE_MANAGER_PROGRESS_BOX_WRAPPER_CLASS).appendTo($container);\r\n var $commonText = (0, _renderer.default)(\"<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 return NotificationManagerBase\r\n}();\r\nvar NotificationManagerStub = function(_NotificationManagerB) {\r\n _inheritsLoose(NotificationManagerStub, _NotificationManagerB);\r\n\r\n function NotificationManagerStub() {\r\n return _NotificationManagerB.apply(this, arguments) || this\r\n }\r\n var _proto2 = NotificationManagerStub.prototype;\r\n _proto2.addOperation = function() {\r\n return _defineProperty({}, MANAGER_ID_NAME, this._id)\r\n };\r\n _proto2.addOperationDetails = function() {};\r\n _proto2.updateOperationItemProgress = function() {};\r\n _proto2.completeOperationItem = function() {};\r\n _proto2.finishOperation = function() {};\r\n _proto2.completeOperation = function() {};\r\n _proto2.completeSingleOperationWithError = function() {};\r\n _proto2.addOperationDetailsError = function() {};\r\n _proto2.handleDimensionChanged = function() {\r\n return false\r\n };\r\n _proto2.ensureProgressPanelCreated = function() {};\r\n _proto2.tryHideActionProgress = function() {\r\n this._updateActionProgress(\"\", ACTION_PROGRESS_STATUS.default)\r\n };\r\n _proto2.updateActionProgressStatus = function() {\r\n this._updateActionProgress(\"\", ACTION_PROGRESS_STATUS.default)\r\n };\r\n _proto2._updateActionProgress = function(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 _proto2.hasNoOperations = function() {\r\n return true\r\n };\r\n _createClass(NotificationManagerStub, [{\r\n key: \"_operationInProgressCount\",\r\n get: function() {\r\n return 0\r\n },\r\n set: function(value) {}\r\n }, {\r\n key: \"_failedOperationCount\",\r\n get: function() {\r\n return 0\r\n },\r\n set: function(value) {}\r\n }]);\r\n return NotificationManagerStub\r\n}(NotificationManagerBase);\r\nexports.NotificationManagerStub = NotificationManagerStub;\r\nvar NotificationManager = function(_NotificationManagerB2) {\r\n _inheritsLoose(NotificationManager, _NotificationManagerB2);\r\n\r\n function NotificationManager(options) {\r\n var _this;\r\n _this = _NotificationManagerB2.call(this, options) || this;\r\n _this._failedOperationCount = 0;\r\n _this._operationInProgressCount = 0;\r\n return _this\r\n }\r\n var _proto3 = NotificationManager.prototype;\r\n _proto3.addOperation = function(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 _proto3.addOperationDetails = function(operationInfo, details, showCloseButton) {\r\n this._progressPanel.addOperationDetails(operationInfo, details, showCloseButton)\r\n };\r\n _proto3.updateOperationItemProgress = function(operationInfo, itemIndex, itemProgress, commonProgress) {\r\n this._progressPanel.updateOperationItemProgress(operationInfo, itemIndex, itemProgress, commonProgress)\r\n };\r\n _proto3.completeOperationItem = function(operationInfo, itemIndex, commonProgress) {\r\n this._progressPanel.completeOperationItem(operationInfo, itemIndex, commonProgress)\r\n };\r\n _proto3.finishOperation = function(operationInfo, commonProgress) {\r\n this._progressPanel.updateOperationCommonProgress(operationInfo, commonProgress)\r\n };\r\n _proto3.completeOperation = function(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 _proto3.completeSingleOperationWithError = function(operationInfo, errorInfo) {\r\n this._progressPanel.completeSingleOperationWithError(operationInfo, errorInfo.detailErrorText);\r\n this._notifyError(errorInfo)\r\n };\r\n _proto3.addOperationDetailsError = function(operationInfo, errorInfo) {\r\n this._progressPanel.addOperationDetailsError(operationInfo, errorInfo.itemIndex, errorInfo.detailErrorText);\r\n this._notifyError(errorInfo)\r\n };\r\n _proto3.handleDimensionChanged = function() {\r\n if (this._progressPanel) {\r\n this._progressPanel.$element().detach()\r\n }\r\n return true\r\n };\r\n _proto3.ensureProgressPanelCreated = function(container, options) {\r\n var _this2 = this;\r\n if (!this._progressPanel) {\r\n var $progressPanelElement = (0, _renderer.default)(\"<div>\").appendTo(container);\r\n var ProgressPanelClass = this._getProgressPanelComponent();\r\n this._progressPanel = new ProgressPanelClass($progressPanelElement, (0, _extend.extend)({}, options, {\r\n onOperationClosed: function(_ref3) {\r\n var info = _ref3.info;\r\n return _this2._onProgressPanelOperationClosed(info)\r\n }\r\n }))\r\n } else {\r\n this._progressPanel.$element().appendTo(container)\r\n }\r\n };\r\n _proto3._getProgressPanelComponent = function() {\r\n return _uiFile_managerNotification.default\r\n };\r\n _proto3._onProgressPanelOperationClosed = function(operationInfo) {\r\n if (operationInfo.hasError) {\r\n this._failedOperationCount--;\r\n this.tryHideActionProgress()\r\n }\r\n };\r\n _proto3.tryHideActionProgress = function() {\r\n if (this.hasNoOperations()) {\r\n this._updateActionProgress(\"\", ACTION_PROGRESS_STATUS.default)\r\n }\r\n };\r\n _proto3.updateActionProgressStatus = function(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 _proto3._notifyError = function(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 _proto3._updateActionProgress = function(message, status) {\r\n this._actionProgressStatus = status;\r\n this._raiseActionProgress(message, status)\r\n };\r\n _proto3.hasNoOperations = function() {\r\n return 0 === this._operationInProgressCount && 0 === this._failedOperationCount\r\n };\r\n _createClass(NotificationManager, [{\r\n key: \"_operationInProgressCount\",\r\n get: function() {\r\n return this._operationInProgressCountInternal\r\n },\r\n set: function(value) {\r\n this._operationInProgressCountInternal = value\r\n }\r\n }, {\r\n key: \"_failedOperationCount\",\r\n get: function() {\r\n return this._failedOperationCountInternal\r\n },\r\n set: function(value) {\r\n this._failedOperationCountInternal = value\r\n }\r\n }]);\r\n return NotificationManager\r\n}(NotificationManagerBase);\r\nexports.NotificationManager = NotificationManager;\r\n","/**\r\n * DevExtreme (cjs/ui/file_manager/ui.file_manager.toolbar.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.default = void 0;\r\nvar _size = require(\"../../core/utils/size\");\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _message = _interopRequireDefault(require(\"../../localization/message\"));\r\nvar _uiFile_manager = require(\"./ui.file_manager.common\");\r\nvar _ui = _interopRequireDefault(require(\"../widget/ui.widget\"));\r\nvar _toolbar = _interopRequireDefault(require(\"../toolbar\"));\r\nrequire(\"../drop_down_button\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\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\nvar FileManagerToolbar = function(_Widget) {\r\n _inheritsLoose(FileManagerToolbar, _Widget);\r\n\r\n function FileManagerToolbar() {\r\n return _Widget.apply(this, arguments) || this\r\n }\r\n var _proto = FileManagerToolbar.prototype;\r\n _proto._init = function() {\r\n _Widget.prototype._init.call(this);\r\n this._generalToolbarVisible = true;\r\n this._refreshItemState = {\r\n message: \"\",\r\n status: \"default\"\r\n }\r\n };\r\n _proto._initMarkup = function() {\r\n this._createItemClickedAction();\r\n this._$viewSwitcherPopup = (0, _renderer.default)(\"<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 _proto._render = function() {\r\n _Widget.prototype._render.call(this);\r\n var toolbar = this._getVisibleToolbar();\r\n this._checkCompactMode(toolbar)\r\n };\r\n _proto._clean = function() {\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 _Widget.prototype._clean.call(this)\r\n };\r\n _proto._dimensionChanged = function(dimension) {\r\n if (!dimension || \"height\" !== dimension) {\r\n var toolbar = this._getVisibleToolbar();\r\n this._checkCompactMode(toolbar)\r\n }\r\n };\r\n _proto._getVisibleToolbar = function() {\r\n return this._generalToolbarVisible ? this._generalToolbar : this._fileToolbar\r\n };\r\n _proto._createToolbar = function(items, hidden) {\r\n var _this = this;\r\n var toolbarItems = this._getPreparedItems(items);\r\n var $toolbar = (0, _renderer.default)(\"<div>\").appendTo(this.$element());\r\n var result = this._createComponent($toolbar, _toolbar.default, {\r\n items: toolbarItems,\r\n visible: !hidden,\r\n onItemClick: function(args) {\r\n return _this._raiseItemClicked(args)\r\n }\r\n });\r\n result.compactMode = false;\r\n return result\r\n };\r\n _proto._getPreparedItems = function(items) {\r\n var _this2 = this;\r\n items = items.map((function(item) {\r\n var extendedItem = item;\r\n if ((0, _type.isString)(item)) {\r\n extendedItem = {\r\n name: item\r\n }\r\n }\r\n var commandName = extendedItem.name;\r\n var preparedItem = _this2._configureItemByCommandName(commandName, extendedItem);\r\n preparedItem.originalItemData = item;\r\n if (\"separator\" !== commandName) {\r\n _this2._setItemVisibleAvailable(preparedItem)\r\n }\r\n return preparedItem\r\n }));\r\n this._updateSeparatorsVisibility(items);\r\n return items\r\n };\r\n _proto._updateSeparatorsVisibility = function(items, toolbar) {\r\n var _this3 = this;\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((function(item, i) {\r\n var itemLocation = item.location;\r\n if (\"separator\" === item.name) {\r\n var isSeparatorVisible = hasItemsBefore[itemLocation] && _this3._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 (!_this3._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 _proto._getMenuItems = function(toolbar) {\r\n var result = toolbar ? toolbar._getMenuItems() : [];\r\n return result.map((function(menuItem) {\r\n return menuItem.originalItemData\r\n }))\r\n };\r\n _proto._isItemInMenu = function(menuItems, item) {\r\n return !!menuItems.length && \"never\" !== (0, _common.ensureDefined)(item.locateInMenu, \"never\") && -1 !== menuItems.indexOf(item.originalItemData)\r\n };\r\n _proto._getItemsInGroup = function(items, menuItems, groupName) {\r\n var _this4 = this;\r\n return items.filter((function(item) {\r\n return item.location === groupName && !_this4._isItemInMenu(menuItems, item)\r\n }))\r\n };\r\n _proto._groupHasItemsAfter = function(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 _proto._configureItemByCommandName = function(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 (0, _extend.extend)(true, result, defaultConfig);\r\n var resultCssClass = result.cssClass || \"\";\r\n (0, _uiFile_manager.extendAttributes)(result, item, DEFAULT_ITEM_ALLOWED_PROPERTIES);\r\n if ((0, _type.isDefined)(item.options)) {\r\n (0, _uiFile_manager.extendAttributes)(result.options, item.options, DEFAULT_ITEM_ALLOWED_OPTION_PROPERTIES)\r\n }(0, _uiFile_manager.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 (!(0, _type.isDefined)(item.visible)) {\r\n result._autoHide = true\r\n }\r\n if (\"dxButton\" === result.widget) {\r\n if (\"inMenu\" === result.showText && !(0, _type.isDefined)(result.options.hint)) {\r\n result.options.hint = result.options.text\r\n }\r\n if (result.compactMode && !(0, _type.isDefined)(result.options.hint)) {\r\n this._configureHintForCompactMode(result)\r\n }\r\n }\r\n } else {\r\n (0, _extend.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 (0, _extend.extend)(result, {\r\n name: commandName\r\n })\r\n }\r\n result.location = (0, _common.ensureDefined)(result.location, \"before\");\r\n if (!(0, _type.isDefined)(null === (_result$options = result.options) || void 0 === _result$options ? void 0 : _result$options.stylingMode)) {\r\n if (\"dxButton\" === result.widget) {\r\n (0, _extend.extend)(true, result, {\r\n options: {\r\n stylingMode: \"text\"\r\n }\r\n })\r\n }\r\n if (\"dxSelectBox\" === result.widget) {\r\n (0, _extend.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 _proto._isDefaultItem = function(commandName) {\r\n return !!DEFAULT_ITEM_CONFIGS[commandName]\r\n };\r\n _proto._createCommandItem = function(command) {\r\n var _this5 = this;\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: function(e) {\r\n return _this5._executeCommand(command)\r\n }\r\n }\r\n }\r\n };\r\n _proto._createSeparatorItem = function() {\r\n return {\r\n template: function(data, index, element) {\r\n (0, _renderer.default)(element).addClass(FILE_MANAGER_TOOLBAR_SEPARATOR_ITEM_CLASS)\r\n }\r\n }\r\n };\r\n _proto._createViewModeItem = function() {\r\n var _this6 = this;\r\n var commandItems = [\"details\", \"thumbnails\"].map((function(name) {\r\n var _this6$_commandManage = _this6._commandManager.getCommandByName(name),\r\n text = _this6$_commandManage.text,\r\n icon = _this6$_commandManage.icon;\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 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: {\r\n container: this._$viewSwitcherPopup\r\n },\r\n onItemClick: function(e) {\r\n return _this6._executeCommand(e.itemData.name)\r\n }\r\n }\r\n }\r\n };\r\n _proto._configureHintForCompactMode = function(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 _proto._checkCompactMode = function(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 _proto._toolbarHasItemsOverflow = function(toolbar) {\r\n var toolbarWidth = (0, _size.getWidth)(toolbar.$element());\r\n var itemsWidth = toolbar._getItemsWidth();\r\n return toolbarWidth < itemsWidth\r\n };\r\n _proto._toggleCompactMode = function(toolbar, useCompactMode) {\r\n var _this7 = this;\r\n var hasModifications = false;\r\n var items = toolbar.option(\"items\");\r\n items.forEach((function(item) {\r\n if (item.compactMode) {\r\n var optionsSource = null;\r\n if (useCompactMode) {\r\n item.saved = _this7._getCompactModeOptions(item, item._available);\r\n optionsSource = item.compactMode\r\n } else {\r\n optionsSource = item.saved\r\n }\r\n var options = _this7._getCompactModeOptions(optionsSource, item._available);\r\n (0, _extend.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 _proto._getCompactModeOptions = function(_ref, available) {\r\n var showText = _ref.showText,\r\n locateInMenu = _ref.locateInMenu,\r\n options = _ref.options;\r\n return {\r\n visible: available,\r\n showText: (0, _common.ensureDefined)(showText, \"always\"),\r\n locateInMenu: (0, _common.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 _proto._ensureAvailableCommandsVisible = function(toolbar) {\r\n var _this8 = this;\r\n var hasModifications = false;\r\n var items = toolbar.option(\"items\");\r\n items.forEach((function(item) {\r\n if (\"separator\" !== item.name) {\r\n var itemVisible = item._available;\r\n _this8._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 _proto._setItemVisibleAvailable = function(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 = (0, _type.isDefined)(originalVisible) ? originalVisible : item._available\r\n };\r\n _proto._fileToolbarHasEffectiveItems = function() {\r\n var _this9 = this;\r\n var items = this._fileToolbar.option(\"items\");\r\n return items.some((function(item) {\r\n return _this9._isFileToolbarItemAvailable(item)\r\n }))\r\n };\r\n _proto._executeCommand = function(command) {\r\n this._commandManager.executeCommand(command)\r\n };\r\n _proto._isToolbarItemAvailable = function(toolbarItem) {\r\n if (!this._isDefaultItem(toolbarItem.name) || !toolbarItem._autoHide) {\r\n return (0, _common.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 _proto._isFileToolbarItemAvailable = function(_ref2) {\r\n var name = _ref2.name,\r\n visible = _ref2.visible;\r\n return !this._isDefaultItem(name) && (0, _common.ensureDefined)(visible, true) || \"clearSelection\" !== name && \"refresh\" !== name && this._isCommandAvailable(name)\r\n };\r\n _proto._isCommandAvailable = function(name) {\r\n return this._commandManager.isCommandAvailable(name, this.option(\"contextItems\"))\r\n };\r\n _proto._updateItemInToolbar = function(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 _proto._raiseItemClicked = function(args) {\r\n var changedArgs = (0, _extend.extend)(true, {}, args);\r\n changedArgs.itemData = args.itemData.originalItemData;\r\n this._itemClickedAction(changedArgs)\r\n };\r\n _proto._createItemClickedAction = function() {\r\n this._itemClickedAction = this._createActionByOption(\"onItemClick\")\r\n };\r\n _proto._getDefaultOptions = function() {\r\n return (0, _extend.extend)(_Widget.prototype._getDefaultOptions.call(this), {\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 _proto._optionChanged = function(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 _Widget.prototype._optionChanged.call(this, args)\r\n }\r\n };\r\n _proto.updateItemPermissions = function() {\r\n this.repaint();\r\n this._restoreRefreshItemState()\r\n };\r\n _proto._restoreRefreshItemState = function() {\r\n this.updateRefreshItem(this._refreshItemState.message, this._refreshItemState.status)\r\n };\r\n _proto.updateRefreshItem = function(message, status) {\r\n var generalToolbarOptions = null;\r\n var text = _message.default.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 = (0, _extend.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 _proto._updateRefreshItemText = function(isDeferredUpdate, text, showText) {\r\n var _this10 = this;\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((function() {\r\n _this10._applyRefreshItemOptions(options);\r\n _this10._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 _proto._applyRefreshItemOptions = function(generalToolbarOptions, fileToolbarOptions) {\r\n if (!fileToolbarOptions) {\r\n fileToolbarOptions = (0, _extend.extend)({}, generalToolbarOptions)\r\n }\r\n this._updateItemInToolbar(this._generalToolbar, \"refresh\", generalToolbarOptions);\r\n this._updateItemInToolbar(this._fileToolbar, \"refresh\", fileToolbarOptions)\r\n };\r\n _proto._update = function() {\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 _createClass(FileManagerToolbar, [{\r\n key: \"_commandManager\",\r\n get: function() {\r\n return this.option(\"commandManager\")\r\n }\r\n }]);\r\n return FileManagerToolbar\r\n}(_ui.default);\r\nvar _default = FileManagerToolbar;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/file_uploader.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _size = require(\"../core/utils/size\");\r\nvar _renderer = _interopRequireDefault(require(\"../core/renderer\"));\r\nvar _guid = _interopRequireDefault(require(\"../core/guid\"));\r\nvar _window = require(\"../core/utils/window\");\r\nvar _events_engine = _interopRequireDefault(require(\"../events/core/events_engine\"));\r\nvar _component_registrator = _interopRequireDefault(require(\"../core/component_registrator\"));\r\nvar _callbacks = _interopRequireDefault(require(\"../core/utils/callbacks\"));\r\nvar _type = require(\"../core/utils/type\");\r\nvar _iterator = require(\"../core/utils/iterator\");\r\nvar _extend = require(\"../core/utils/extend\");\r\nvar _deferred = require(\"../core/utils/deferred\");\r\nvar _ajax = _interopRequireDefault(require(\"../core/utils/ajax\"));\r\nvar _editor = _interopRequireDefault(require(\"./editor/editor\"));\r\nvar _button = _interopRequireDefault(require(\"./button\"));\r\nvar _progress_bar = _interopRequireDefault(require(\"./progress_bar\"));\r\nvar _devices = _interopRequireDefault(require(\"../core/devices\"));\r\nvar _index = require(\"../events/utils/index\");\r\nvar _click = require(\"../events/click\");\r\nvar _message = _interopRequireDefault(require(\"../localization/message\"));\r\nvar _themes = require(\"./themes\");\r\nvar _dom_adapter = _interopRequireDefault(require(\"../core/dom_adapter\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar window = (0, _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 renderFileUploaderInput = function() {\r\n return (0, _renderer.default)(\"<input>\").attr(\"type\", \"file\")\r\n};\r\nvar isFormDataSupported = function() {\r\n return !!window.FormData\r\n};\r\nvar FileUploader = function(_Editor) {\r\n _inheritsLoose(FileUploader, _Editor);\r\n\r\n function FileUploader() {\r\n return _Editor.apply(this, arguments) || this\r\n }\r\n var _proto = FileUploader.prototype;\r\n _proto._supportedKeys = function() {\r\n var _this = this;\r\n var click = function(e) {\r\n e.preventDefault();\r\n var $selectButton = _this._selectButton.$element();\r\n _events_engine.default.trigger($selectButton, _click.name)\r\n };\r\n return (0, _extend.extend)(_Editor.prototype._supportedKeys.call(this), {\r\n space: click,\r\n enter: click\r\n })\r\n };\r\n _proto._setOptionsByReference = function() {\r\n _Editor.prototype._setOptionsByReference.call(this);\r\n (0, _extend.extend)(this._optionsByReference, {\r\n value: true\r\n })\r\n };\r\n _proto._getDefaultOptions = function() {\r\n return (0, _extend.extend)(_Editor.prototype._getDefaultOptions.call(this), {\r\n chunkSize: 0,\r\n value: [],\r\n selectButtonText: _message.default.format(\"dxFileUploader-selectFile\"),\r\n uploadButtonText: _message.default.format(\"dxFileUploader-upload\"),\r\n labelText: _message.default.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: _message.default.format(\"dxFileUploader-readyToUpload\"),\r\n uploadedMessage: _message.default.format(\"dxFileUploader-uploaded\"),\r\n uploadFailedMessage: _message.default.format(\"dxFileUploader-uploadFailedMessage\"),\r\n uploadAbortedMessage: _message.default.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: _message.default.format(\"dxFileUploader-invalidFileExtension\"),\r\n invalidMaxFileSizeMessage: _message.default.format(\"dxFileUploader-invalidMaxFileSize\"),\r\n invalidMinFileSizeMessage: _message.default.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 _proto._defaultOptionsRules = function() {\r\n return _Editor.prototype._defaultOptionsRules.call(this).concat([{\r\n device: function() {\r\n return \"desktop\" === _devices.default.real().deviceType && !_devices.default.isSimulator()\r\n },\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: function() {\r\n return \"desktop\" !== _devices.default.real().deviceType\r\n },\r\n options: {\r\n useDragOver: false\r\n }\r\n }, {\r\n device: function() {\r\n return !isFormDataSupported()\r\n },\r\n options: {\r\n uploadMode: \"useForm\"\r\n }\r\n }, {\r\n device: function() {\r\n return \"desktop\" !== _devices.default.real().deviceType\r\n },\r\n options: {\r\n nativeDropSupported: false\r\n }\r\n }, {\r\n device: function() {\r\n return (0, _themes.isMaterial)()\r\n },\r\n options: {\r\n _uploadButtonType: \"default\"\r\n }\r\n }])\r\n };\r\n _proto._initOptions = function(options) {\r\n var isLabelTextDefined = \"labelText\" in options;\r\n _Editor.prototype._initOptions.call(this, options);\r\n if (!isLabelTextDefined && !this._shouldDragOverBeRendered()) {\r\n this.option(\"labelText\", \"\")\r\n }\r\n };\r\n _proto._init = function() {\r\n _Editor.prototype._init.call(this);\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 _proto._setUploadStrategy = function() {\r\n var strategy = null;\r\n if (this.option(\"chunkSize\") > 0) {\r\n var uploadChunk = this.option(\"uploadChunk\");\r\n strategy = uploadChunk && (0, _type.isFunction)(uploadChunk) ? new CustomChunksFileUploadStrategy(this) : new DefaultChunksFileUploadStrategy(this)\r\n } else {\r\n var uploadFile = this.option(\"uploadFile\");\r\n strategy = uploadFile && (0, _type.isFunction)(uploadFile) ? new CustomWholeFileUploadStrategy(this) : new DefaultWholeFileUploadStrategy(this)\r\n }\r\n this._uploadStrategy = strategy\r\n };\r\n _proto._initFileInput = function() {\r\n var _this2 = this;\r\n this._isCustomClickEvent = false;\r\n if (!this._$fileInput) {\r\n this._$fileInput = renderFileUploaderInput();\r\n _events_engine.default.on(this._$fileInput, \"change\", this._inputChangeHandler.bind(this));\r\n _events_engine.default.on(this._$fileInput, \"click\", (function(e) {\r\n e.stopPropagation();\r\n _this2._resetInputValue();\r\n return _this2.option(\"useNativeInputClick\") || _this2._isCustomClickEvent\r\n }))\r\n }\r\n this._$fileInput.prop({\r\n multiple: this.option(\"multiple\"),\r\n accept: this.option(\"accept\"),\r\n tabIndex: -1\r\n })\r\n };\r\n _proto._inputChangeHandler = function() {\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 _proto._shouldFileListBeExtended = function() {\r\n return \"useForm\" !== this.option(\"uploadMode\") && this.option(\"extendSelection\") && this.option(\"multiple\")\r\n };\r\n _proto._changeValue = function(value) {\r\n var files = this._shouldFileListBeExtended() ? this.option(\"value\").slice() : [];\r\n this.option(\"value\", files.concat(value))\r\n };\r\n _proto._getFiles = function(fileList) {\r\n var values = [];\r\n (0, _iterator.each)(fileList, (function(_, value) {\r\n return values.push(value)\r\n }));\r\n return values\r\n };\r\n _proto._getFile = function(fileData) {\r\n var targetFileValue = (0, _type.isNumeric)(fileData) ? this.option(\"value\")[fileData] : fileData;\r\n return this._files.filter((function(file) {\r\n return file.value === targetFileValue\r\n }))[0]\r\n };\r\n _proto._initLabel = function() {\r\n if (!this._$inputLabel) {\r\n this._$inputLabel = (0, _renderer.default)(\"<div>\")\r\n }\r\n this._updateInputLabelText()\r\n };\r\n _proto._updateInputLabelText = function() {\r\n var correctedValue = this._isInteractionDisabled() ? \"\" : this.option(\"labelText\");\r\n this._$inputLabel.text(correctedValue)\r\n };\r\n _proto._focusTarget = function() {\r\n return this.$element().find(\".\" + FILEUPLOADER_BUTTON_CLASS)\r\n };\r\n _proto._getSubmitElement = function() {\r\n return this._$fileInput\r\n };\r\n _proto._initMarkup = function() {\r\n _Editor.prototype._initMarkup.call(this);\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 _proto._render = function() {\r\n this._preventRecreatingFiles = false;\r\n this._attachDragEventHandlers(this._$inputWrapper);\r\n this._attachDragEventHandlers(this.option(\"dropZone\"));\r\n this._renderFiles();\r\n _Editor.prototype._render.call(this)\r\n };\r\n _proto._createFileProgressBar = function(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 _proto._setStatusMessage = function(file, message) {\r\n var _this3 = this;\r\n setTimeout((function() {\r\n if (_this3.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 _proto._getUploadAbortedStatusMessage = function() {\r\n return \"instantly\" === this.option(\"uploadMode\") ? this.option(\"uploadAbortedMessage\") : this.option(\"readyToUploadMessage\")\r\n };\r\n _proto._createFiles = function() {\r\n var _this4 = this;\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 }(0, _iterator.each)(value.slice(this._files.length), (function(_, value) {\r\n var file = _this4._createFile(value);\r\n _this4._validateFile(file);\r\n _this4._files.push(file)\r\n }))\r\n };\r\n _proto._preventFilesUploading = function(files) {\r\n var _this5 = this;\r\n files.forEach((function(file) {\r\n return _this5._uploadStrategy.abortUpload(file)\r\n }))\r\n };\r\n _proto._validateFile = function(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 _proto._validateFileExtension = function(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 _proto._validateMaxFileSize = function(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 _proto._validateMinFileSize = function(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 _proto._createBeforeSendAction = function() {\r\n this._beforeSendAction = this._createActionByOption(\"onBeforeSend\", {\r\n excludeValidators: [\"readOnly\"]\r\n })\r\n };\r\n _proto._createUploadStartedAction = function() {\r\n this._uploadStartedAction = this._createActionByOption(\"onUploadStarted\", {\r\n excludeValidators: [\"readOnly\"]\r\n })\r\n };\r\n _proto._createUploadedAction = function() {\r\n this._uploadedAction = this._createActionByOption(\"onUploaded\", {\r\n excludeValidators: [\"readOnly\"]\r\n })\r\n };\r\n _proto._createFilesUploadedAction = function() {\r\n this._filesUploadedAction = this._createActionByOption(\"onFilesUploaded\", {\r\n excludeValidators: [\"readOnly\"]\r\n })\r\n };\r\n _proto._createProgressAction = function() {\r\n this._progressAction = this._createActionByOption(\"onProgress\", {\r\n excludeValidators: [\"readOnly\"]\r\n })\r\n };\r\n _proto._createUploadAbortedAction = function() {\r\n this._uploadAbortedAction = this._createActionByOption(\"onUploadAborted\", {\r\n excludeValidators: [\"readOnly\"]\r\n })\r\n };\r\n _proto._createUploadErrorAction = function() {\r\n this._uploadErrorAction = this._createActionByOption(\"onUploadError\", {\r\n excludeValidators: [\"readOnly\"]\r\n })\r\n };\r\n _proto._createDropZoneEnterAction = function() {\r\n this._dropZoneEnterAction = this._createActionByOption(\"onDropZoneEnter\")\r\n };\r\n _proto._createDropZoneLeaveAction = function() {\r\n this._dropZoneLeaveAction = this._createActionByOption(\"onDropZoneLeave\")\r\n };\r\n _proto._createFile = function(value) {\r\n return {\r\n value: value,\r\n loadedSize: 0,\r\n onProgress: (0, _callbacks.default)(),\r\n onAbort: (0, _callbacks.default)(),\r\n onLoad: (0, _callbacks.default)(),\r\n onError: (0, _callbacks.default)(),\r\n onLoadStart: (0, _callbacks.default)(),\r\n isValidFileExtension: true,\r\n isValidMaxSize: true,\r\n isValidMinSize: true,\r\n isValid: function() {\r\n return this.isValidFileExtension && this.isValidMaxSize && this.isValidMinSize\r\n },\r\n isInitialized: false\r\n }\r\n };\r\n _proto._resetFileState = function(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 _proto._renderFiles = function() {\r\n var _this$_validationMess, _this6 = this;\r\n var value = this.option(\"value\");\r\n if (!this._$filesContainer) {\r\n this._$filesContainer = (0, _renderer.default)(\"<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 (0, _iterator.each)(this._files, (function(_, file) {\r\n if (!file.$file) {\r\n _this6._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 _proto._renderFile = function(file) {\r\n var value = file.value;\r\n var $fileContainer = (0, _renderer.default)(\"<div>\").addClass(FILEUPLOADER_FILE_CONTAINER_CLASS).appendTo(this._$filesContainer);\r\n this._renderFileButtons(file, $fileContainer);\r\n file.$file = (0, _renderer.default)(\"<div>\").addClass(FILEUPLOADER_FILE_CLASS).appendTo($fileContainer);\r\n var $fileInfo = (0, _renderer.default)(\"<div>\").addClass(FILEUPLOADER_FILE_INFO_CLASS).appendTo(file.$file);\r\n file.$statusMessage = (0, _renderer.default)(\"<div>\").addClass(FILEUPLOADER_FILE_STATUS_MESSAGE_CLASS).appendTo(file.$file);\r\n (0, _renderer.default)(\"<div>\").addClass(FILEUPLOADER_FILE_NAME_CLASS).text(value.name).appendTo($fileInfo);\r\n if ((0, _type.isDefined)(value.size)) {\r\n (0, _renderer.default)(\"<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 _proto._createValidationElement = function(key) {\r\n return (0, _renderer.default)(\"<span>\").text(this.option(key))\r\n };\r\n _proto._updateFileNameMaxWidth = function() {\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 = (0, _size.getWidth)(this._$filesContainer.find(\".\" + FILEUPLOADER_FILE_CONTAINER_CLASS).first()) || (0, _size.getWidth)(this._$filesContainer);\r\n var $buttonContainer = this._$filesContainer.find(\".\" + FILEUPLOADER_BUTTON_CONTAINER_CLASS).eq(0);\r\n var buttonsWidth = (0, _size.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 = (0, _size.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 _proto._renderFileButtons = function(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 _proto._getCancelButton = function(file) {\r\n var _this7 = this;\r\n if (\"useForm\" === this.option(\"uploadMode\")) {\r\n return null\r\n }\r\n file.cancelButton = this._createComponent((0, _renderer.default)(\"<div>\").addClass(FILEUPLOADER_BUTTON_CLASS + \" \" + FILEUPLOADER_CANCEL_BUTTON_CLASS), _button.default, {\r\n onClick: function() {\r\n return _this7._removeFile(file)\r\n },\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 (0, _renderer.default)(\"<div>\").addClass(FILEUPLOADER_BUTTON_CONTAINER_CLASS).append(file.cancelButton.$element())\r\n };\r\n _proto._getUploadButton = function(file) {\r\n var _this8 = this;\r\n if (!file.isValid() || \"useButtons\" !== this.option(\"uploadMode\")) {\r\n return null\r\n }\r\n file.uploadButton = this._createComponent((0, _renderer.default)(\"<div>\").addClass(FILEUPLOADER_BUTTON_CLASS + \" \" + FILEUPLOADER_UPLOAD_BUTTON_CLASS), _button.default, {\r\n onClick: function() {\r\n return _this8._uploadFile(file)\r\n },\r\n icon: \"upload\",\r\n hoverStateEnabled: this.option(\"hoverStateEnabled\")\r\n });\r\n file.onLoadStart.add((function() {\r\n return file.uploadButton.option({\r\n visible: false,\r\n disabled: true\r\n })\r\n }));\r\n file.onAbort.add((function() {\r\n return file.uploadButton.option({\r\n visible: true,\r\n disabled: false\r\n })\r\n }));\r\n return (0, _renderer.default)(\"<div>\").addClass(FILEUPLOADER_BUTTON_CONTAINER_CLASS).append(file.uploadButton.$element())\r\n };\r\n _proto._removeFile = function(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 _proto.removeFile = function(fileData) {\r\n if (\"useForm\" === this.option(\"uploadMode\") || !(0, _type.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 _proto._toggleFileUploaderEmptyClassName = function() {\r\n this.$element().toggleClass(FILEUPLOADER_EMPTY_CLASS, !this._files.length || this._hasInvalidFile(this._files))\r\n };\r\n _proto._hasInvalidFile = function(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 _proto._getFileSize = function(size) {\r\n var i = 0;\r\n var labels = [_message.default.format(\"dxFileUploader-bytes\"), _message.default.format(\"dxFileUploader-kb\"), _message.default.format(\"dxFileUploader-Mb\"), _message.default.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 _proto._renderSelectButton = function() {\r\n var $button = (0, _renderer.default)(\"<div>\").addClass(FILEUPLOADER_BUTTON_CLASS).appendTo(this._$inputWrapper);\r\n this._selectButton = this._createComponent($button, _button.default, {\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.default.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 _proto._selectButtonClickHandler = function() {\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 _events_engine.default.trigger(this._$fileInput, \"click\");\r\n this._isCustomClickEvent = false\r\n };\r\n _proto._attachSelectFileDialogHandler = function(target) {\r\n if (!(0, _type.isDefined)(target)) {\r\n return\r\n }\r\n this._detachSelectFileDialogHandler(target);\r\n _events_engine.default.on((0, _renderer.default)(target), \"click\", this._selectFileDialogHandler)\r\n };\r\n _proto._detachSelectFileDialogHandler = function(target) {\r\n if (!(0, _type.isDefined)(target)) {\r\n return\r\n }\r\n _events_engine.default.off((0, _renderer.default)(target), \"click\", this._selectFileDialogHandler)\r\n };\r\n _proto._renderUploadButton = function() {\r\n if (\"useButtons\" !== this.option(\"uploadMode\")) {\r\n return\r\n }\r\n var $uploadButton = (0, _renderer.default)(\"<div>\").addClass(FILEUPLOADER_BUTTON_CLASS).addClass(FILEUPLOADER_UPLOAD_BUTTON_CLASS).appendTo(this._$content);\r\n this._uploadButton = this._createComponent($uploadButton, _button.default, {\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 _proto._uploadButtonClickHandler = function() {\r\n this._uploadFiles()\r\n };\r\n _proto._shouldDragOverBeRendered = function() {\r\n return !this.option(\"readOnly\") && (\"useForm\" !== this.option(\"uploadMode\") || this.option(\"nativeDropSupported\"))\r\n };\r\n _proto._isInteractionDisabled = function() {\r\n return this.option(\"readOnly\") || this.option(\"disabled\")\r\n };\r\n _proto._renderInputContainer = function() {\r\n this._$inputContainer = (0, _renderer.default)(\"<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.default);\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 _proto._renderInput = function() {\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 _proto._selectButtonInputTemplate = function(data, content) {\r\n var $content = (0, _renderer.default)(content);\r\n var $text = (0, _renderer.default)(\"<span>\").addClass(\"dx-button-text\").text(data.text);\r\n $content.append($text).append(this._$fileInput);\r\n return $content\r\n };\r\n _proto._renderInputWrapper = function() {\r\n this._$inputWrapper = (0, _renderer.default)(\"<div>\").addClass(FILEUPLOADER_INPUT_WRAPPER_CLASS).appendTo(this._$content)\r\n };\r\n _proto._detachDragEventHandlers = function(target) {\r\n if (!(0, _type.isDefined)(target)) {\r\n return\r\n }\r\n _events_engine.default.off((0, _renderer.default)(target), (0, _index.addNamespace)(\"\", this.NAME))\r\n };\r\n _proto._attachDragEventHandlers = function(target) {\r\n var isCustomTarget = target !== this._$inputWrapper;\r\n if (!(0, _type.isDefined)(target) || !this._shouldDragOverBeRendered()) {\r\n return\r\n }\r\n this._detachDragEventHandlers(target);\r\n target = (0, _renderer.default)(target);\r\n _events_engine.default.on(target, (0, _index.addNamespace)(\"dragenter\", this.NAME), this._dragEnterHandler.bind(this, isCustomTarget));\r\n _events_engine.default.on(target, (0, _index.addNamespace)(\"dragover\", this.NAME), this._dragOverHandler.bind(this, isCustomTarget));\r\n _events_engine.default.on(target, (0, _index.addNamespace)(\"dragleave\", this.NAME), this._dragLeaveHandler.bind(this, isCustomTarget));\r\n _events_engine.default.on(target, (0, _index.addNamespace)(\"drop\", this.NAME), this._dropHandler.bind(this, isCustomTarget))\r\n };\r\n _proto._applyInputAttributes = function(customAttributes) {\r\n this._$fileInput.attr(customAttributes)\r\n };\r\n _proto._useInputForDrop = function() {\r\n return this.option(\"nativeDropSupported\") && \"useForm\" === this.option(\"uploadMode\")\r\n };\r\n _proto._getDropZoneElement = function(isCustomTarget, e) {\r\n var targetList = isCustomTarget ? Array.from((0, _renderer.default)(this.option(\"dropZone\"))) : [this._$inputWrapper];\r\n targetList = targetList.map((function(element) {\r\n return (0, _renderer.default)(element).get(0)\r\n }));\r\n return targetList[targetList.indexOf(e.currentTarget)]\r\n };\r\n _proto._dragEnterHandler = function(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 ((0, _type.isDefined)(dropZoneElement) && this._shouldRaiseDragOver(e, dropZoneElement)) {\r\n this._activeDropZone = dropZoneElement;\r\n this._tryToggleDropZoneActive(true, isCustomTarget, e)\r\n }\r\n };\r\n _proto._shouldRaiseDragOver = function(e, dropZoneElement) {\r\n return null === this._activeDropZone && this.isMouseOverElement(e, dropZoneElement, false) && \"Files\" === e.originalEvent.dataTransfer.types[0]\r\n };\r\n _proto._dragOverHandler = function(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 _proto._dragLeaveHandler = function(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 _proto._shouldRaiseDragLeave = function(e, isCustomTarget) {\r\n return null !== this._activeDropZone && !this.isMouseOverElement(e, this._activeDropZone, !isCustomTarget)\r\n };\r\n _proto._tryToggleDropZoneActive = function(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 _proto._dropHandler = function(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 _proto._areAllFilesLoaded = function() {\r\n return this._files.every((function(file) {\r\n return !file.isValid() || file._isError || file._isLoaded || file.isAborted\r\n }))\r\n };\r\n _proto._handleAllFilesUploaded = function() {\r\n this._recalculateProgress();\r\n if (this._areAllFilesLoaded()) {\r\n this._filesUploadedAction()\r\n }\r\n };\r\n _proto._getAllowedFileTypes = function(acceptSting) {\r\n if (!acceptSting.length) {\r\n return []\r\n }\r\n return acceptSting.split(\",\").map((function(item) {\r\n return item.trim()\r\n }))\r\n };\r\n _proto._isFileTypeAllowed = function(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 _proto._renderWrapper = function() {\r\n var $wrapper = (0, _renderer.default)(\"<div>\").addClass(FILEUPLOADER_WRAPPER_CLASS).appendTo(this.$element());\r\n var $container = (0, _renderer.default)(\"<div>\").addClass(FILEUPLOADER_CONTAINER_CLASS).appendTo($wrapper);\r\n this._$content = (0, _renderer.default)(\"<div>\").addClass(FILEUPLOADER_CONTENT_CLASS).appendTo($container)\r\n };\r\n _proto._clean = function() {\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((function(file) {\r\n file.$file = null;\r\n file.$statusMessage = null\r\n }))\r\n }\r\n _Editor.prototype._clean.call(this)\r\n };\r\n _proto.abortUpload = function(fileData) {\r\n if (\"useForm\" === this.option(\"uploadMode\")) {\r\n return\r\n }\r\n if ((0, _type.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 _proto.upload = function(fileData) {\r\n if (\"useForm\" === this.option(\"uploadMode\")) {\r\n return\r\n }\r\n if ((0, _type.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 _proto._uploadFiles = function() {\r\n var _this9 = this;\r\n if (isFormDataSupported()) {\r\n (0, _iterator.each)(this._files, (function(_, file) {\r\n return _this9._uploadFile(file)\r\n }))\r\n }\r\n };\r\n _proto._uploadFile = function(file) {\r\n this._uploadStrategy.upload(file)\r\n };\r\n _proto._updateProgressBar = function(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 _proto._updateTotalProgress = function(totalFilesSize, totalLoadedFilesSize) {\r\n var progress = 0;\r\n if ((0, _type.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 _proto._getProgressValue = function(ratio) {\r\n return Math.floor(100 * ratio)\r\n };\r\n _proto._initStatusMessage = function(file) {\r\n file.$statusMessage.css(\"display\", \"none\")\r\n };\r\n _proto._ensureCancelButtonInitialized = function(file) {\r\n var _this10 = this;\r\n if (file.isInitialized) {\r\n return\r\n }\r\n file.cancelButton.option(\"onClick\", (function() {\r\n _this10._preventFilesUploading([file]);\r\n _this10._removeFile(file)\r\n }));\r\n var hideCancelButton = function() {\r\n setTimeout((function() {\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 _proto._createProgressBar = function(fileSize) {\r\n var _this11 = this;\r\n return this._createComponent((0, _renderer.default)(\"<div>\"), _progress_bar.default, {\r\n value: void 0,\r\n min: 0,\r\n max: fileSize,\r\n statusFormat: function(ratio) {\r\n return _this11._getProgressValue(ratio) + \"%\"\r\n },\r\n showStatus: false,\r\n statusPosition: \"right\"\r\n })\r\n };\r\n _proto._getTotalFilesSize = function() {\r\n var _this12 = this;\r\n if (!this._totalFilesSize) {\r\n this._totalFilesSize = 0;\r\n (0, _iterator.each)(this._files, (function(_, file) {\r\n _this12._totalFilesSize += file.value.size\r\n }))\r\n }\r\n return this._totalFilesSize\r\n };\r\n _proto._getTotalLoadedFilesSize = function() {\r\n var _this13 = this;\r\n if (!this._totalLoadedFilesSize) {\r\n this._totalLoadedFilesSize = 0;\r\n (0, _iterator.each)(this._files, (function(_, file) {\r\n _this13._totalLoadedFilesSize += file.loadedSize\r\n }))\r\n }\r\n return this._totalLoadedFilesSize\r\n };\r\n _proto._setLoadedSize = function(value) {\r\n this._totalLoadedFilesSize = value\r\n };\r\n _proto._recalculateProgress = function() {\r\n this._totalFilesSize = 0;\r\n this._totalLoadedFilesSize = 0;\r\n this._updateTotalProgress(this._getTotalFilesSize(), this._getTotalLoadedFilesSize())\r\n };\r\n _proto.isMouseOverElement = function(mouseEvent, element, correctPseudoElements) {\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 = (0, _size.getOffset)(element).left;\r\n var y = (0, _size.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 >= x && eventX < x + w && eventY >= y && eventY < y + h\r\n };\r\n _proto._getEventX = function(e) {\r\n return (0, _index.isTouchEvent)(e) ? this._getTouchEventX(e) : e.clientX + this._getDocumentScrollLeft()\r\n };\r\n _proto._getEventY = function(e) {\r\n return (0, _index.isTouchEvent)(e) ? this._getTouchEventY(e) : e.clientY + this._getDocumentScrollTop()\r\n };\r\n _proto._getTouchEventX = function(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 _proto._getTouchEventY = function(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 _proto._getDocumentScrollTop = function() {\r\n var document = _dom_adapter.default.getDocument();\r\n return document.documentElement.scrollTop || document.body.scrollTop\r\n };\r\n _proto._getDocumentScrollLeft = function() {\r\n var document = _dom_adapter.default.getDocument();\r\n return document.documentElement.scrollLeft || document.body.scrollLeft\r\n };\r\n _proto._updateReadOnlyState = function() {\r\n var readOnly = this.option(\"readOnly\");\r\n this._selectButton.option(\"disabled\", readOnly);\r\n this._files.forEach((function(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 _proto._updateHoverState = function() {\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((function(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 _proto._optionChanged = function(args) {\r\n var name = args.name,\r\n value = args.value,\r\n previousValue = args.previousValue;\r\n switch (name) {\r\n case \"height\":\r\n case \"width\":\r\n this._updateFileNameMaxWidth();\r\n _Editor.prototype._optionChanged.call(this, 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 _Editor.prototype._optionChanged.call(this, args);\r\n break;\r\n case \"name\":\r\n this._initFileInput();\r\n _Editor.prototype._optionChanged.call(this, 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 _Editor.prototype._optionChanged.call(this, args);\r\n break;\r\n case \"disabled\":\r\n this._updateInputLabelText();\r\n _Editor.prototype._optionChanged.call(this, 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 _Editor.prototype._optionChanged.call(this, 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 default:\r\n _Editor.prototype._optionChanged.call(this, args)\r\n }\r\n };\r\n _proto._resetInputValue = function(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 _proto.reset = function() {\r\n this.option(\"value\", [])\r\n };\r\n return FileUploader\r\n}(_editor.default);\r\nvar FileBlobReader = function() {\r\n function FileBlobReader(file, chunkSize) {\r\n this.file = file;\r\n this.chunkSize = chunkSize;\r\n this.index = 0\r\n }\r\n var _proto2 = FileBlobReader.prototype;\r\n _proto2.read = function() {\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 _proto2.createBlobResult = function(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 _proto2.sliceFile = function(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 return FileBlobReader\r\n}();\r\nvar FileUploadStrategyBase = function() {\r\n function FileUploadStrategyBase(fileUploader) {\r\n this.fileUploader = fileUploader\r\n }\r\n var _proto3 = FileUploadStrategyBase.prototype;\r\n _proto3.upload = function(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 _proto3.abortUpload = function(file) {\r\n var _this14 = this;\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 = (0, _deferred.fromPromise)(result)\r\n } catch (error) {\r\n deferred = (new _deferred.Deferred).reject(error).promise()\r\n }\r\n deferred.done((function() {\r\n return file.onAbort.fire()\r\n })).fail((function(error) {\r\n return _this14._handleFileError(file, error)\r\n }))\r\n }\r\n };\r\n _proto3._beforeSend = function(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 _proto3._createUploadArgument = function(file) {};\r\n _proto3._uploadCore = function(file) {};\r\n _proto3._isCustomCallback = function(name) {\r\n var callback = this.fileUploader.option(name);\r\n return callback && (0, _type.isFunction)(callback)\r\n };\r\n _proto3._handleProgress = function(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 _proto3._handleProgressCore = function(file, e) {};\r\n _proto3._handleFileError = function(file, error) {\r\n file._isError = true;\r\n file.onError.fire(error)\r\n };\r\n _proto3._prepareFileBeforeUpload = function(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 _proto3._shouldHandleError = function(file, e) {\r\n return (this._isStatusError(e.status) || !file._isProgressStarted) && !file.isAborted\r\n };\r\n _proto3._isStatusError = function(status) {\r\n return 400 <= status && status < 500 || 500 <= status && status < 600\r\n };\r\n _proto3._onUploadStarted = function(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 _proto3._onAbortHandler = function(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 _proto3._onErrorHandler = function(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 _proto3._onLoadedHandler = function(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 _proto3._onProgressHandler = function(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 _proto3._getLoadedData = function(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 _proto3._extendFormData = function(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) && (0, _type.isDefined)(formDataEntries[entryName])) {\r\n formData.append(entryName, formDataEntries[entryName])\r\n }\r\n }\r\n };\r\n return FileUploadStrategyBase\r\n}();\r\nvar ChunksFileUploadStrategyBase = function(_FileUploadStrategyBa) {\r\n _inheritsLoose(ChunksFileUploadStrategyBase, _FileUploadStrategyBa);\r\n\r\n function ChunksFileUploadStrategyBase(fileUploader) {\r\n var _this15;\r\n _this15 = _FileUploadStrategyBa.call(this, fileUploader) || this;\r\n _this15.chunkSize = _this15.fileUploader.option(\"chunkSize\");\r\n return _this15\r\n }\r\n var _proto4 = ChunksFileUploadStrategyBase.prototype;\r\n _proto4._uploadCore = function(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.default,\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 _proto4._getFileChunksCount = function(jsFile) {\r\n return 0 === jsFile.size ? 1 : Math.ceil(jsFile.size / this.chunkSize)\r\n };\r\n _proto4._sendChunk = function(file, chunksData) {\r\n var _this16 = this;\r\n var chunk = chunksData.blobReader.read();\r\n chunksData.currentChunk = chunk;\r\n if (chunk) {\r\n this._sendChunkCore(file, chunksData, chunk).done((function() {\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((function() {\r\n return _this16._sendChunk(file, chunksData)\r\n }))\r\n })).fail((function(error) {\r\n if (_this16._shouldHandleError(file, error)) {\r\n _this16._handleFileError(file, error)\r\n }\r\n }))\r\n }\r\n };\r\n _proto4._sendChunkCore = function(file, chunksData, chunk) {};\r\n _proto4._tryRaiseStartLoad = function(file) {\r\n if (!file.isStartLoad) {\r\n file.isStartLoad = true;\r\n file.onLoadStart.fire()\r\n }\r\n };\r\n _proto4._getEvent = function(e) {\r\n return null\r\n };\r\n _proto4._createUploadArgument = function(file) {\r\n return this._createChunksInfo(file.chunksData)\r\n };\r\n _proto4._createChunksInfo = function(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 return ChunksFileUploadStrategyBase\r\n}(FileUploadStrategyBase);\r\nvar DefaultChunksFileUploadStrategy = function(_ChunksFileUploadStra) {\r\n _inheritsLoose(DefaultChunksFileUploadStrategy, _ChunksFileUploadStra);\r\n\r\n function DefaultChunksFileUploadStrategy() {\r\n return _ChunksFileUploadStra.apply(this, arguments) || this\r\n }\r\n var _proto5 = DefaultChunksFileUploadStrategy.prototype;\r\n _proto5._sendChunkCore = function(file, chunksData, chunk) {\r\n var _this17 = this;\r\n return _ajax.default.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: function(xhr) {\r\n return _this17._beforeSend(xhr, file)\r\n },\r\n upload: {\r\n onprogress: function(e) {\r\n return _this17._handleProgress(file, e)\r\n },\r\n onloadstart: function() {\r\n return _this17._tryRaiseStartLoad(file)\r\n },\r\n onabort: function() {\r\n return file.onAbort.fire()\r\n }\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 _proto5._createFormData = function(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 return DefaultChunksFileUploadStrategy\r\n}(ChunksFileUploadStrategyBase);\r\nvar CustomChunksFileUploadStrategy = function(_ChunksFileUploadStra2) {\r\n _inheritsLoose(CustomChunksFileUploadStrategy, _ChunksFileUploadStra2);\r\n\r\n function CustomChunksFileUploadStrategy() {\r\n return _ChunksFileUploadStra2.apply(this, arguments) || this\r\n }\r\n var _proto6 = CustomChunksFileUploadStrategy.prototype;\r\n _proto6._sendChunkCore = function(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 (0, _deferred.fromPromise)(result)\r\n } catch (error) {\r\n return (new _deferred.Deferred).reject(error).promise()\r\n }\r\n };\r\n _proto6._shouldHandleError = function(file, error) {\r\n return true\r\n };\r\n return CustomChunksFileUploadStrategy\r\n}(ChunksFileUploadStrategyBase);\r\nvar WholeFileUploadStrategyBase = function(_FileUploadStrategyBa2) {\r\n _inheritsLoose(WholeFileUploadStrategyBase, _FileUploadStrategyBa2);\r\n\r\n function WholeFileUploadStrategyBase() {\r\n return _FileUploadStrategyBa2.apply(this, arguments) || this\r\n }\r\n var _proto7 = WholeFileUploadStrategyBase.prototype;\r\n _proto7._uploadCore = function(file) {\r\n var _this18 = this;\r\n file.loadedSize = 0;\r\n this._uploadFile(file).done((function() {\r\n if (!file.isAborted) {\r\n file.onLoad.fire()\r\n }\r\n })).fail((function(error) {\r\n if (_this18._shouldHandleError(file, error)) {\r\n _this18._handleFileError(file, error)\r\n }\r\n }))\r\n };\r\n _proto7._uploadFile = function(file) {};\r\n _proto7._handleProgressCore = function(file, e) {\r\n file.onProgress.fire(e)\r\n };\r\n _proto7._getLoadedData = function(loaded, total, segmentSize, event) {\r\n var result = _FileUploadStrategyBa2.prototype._getLoadedData.call(this, loaded, total, segmentSize, event);\r\n result.event = event;\r\n return result\r\n };\r\n return WholeFileUploadStrategyBase\r\n}(FileUploadStrategyBase);\r\nvar DefaultWholeFileUploadStrategy = function(_WholeFileUploadStrat) {\r\n _inheritsLoose(DefaultWholeFileUploadStrategy, _WholeFileUploadStrat);\r\n\r\n function DefaultWholeFileUploadStrategy() {\r\n return _WholeFileUploadStrat.apply(this, arguments) || this\r\n }\r\n var _proto8 = DefaultWholeFileUploadStrategy.prototype;\r\n _proto8._uploadFile = function(file) {\r\n var _this19 = this;\r\n return _ajax.default.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: function(xhr) {\r\n return _this19._beforeSend(xhr, file)\r\n },\r\n upload: {\r\n onprogress: function(e) {\r\n return _this19._handleProgress(file, e)\r\n },\r\n onloadstart: function() {\r\n return file.onLoadStart.fire()\r\n },\r\n onabort: function() {\r\n return file.onAbort.fire()\r\n }\r\n },\r\n data: this._createFormData(this.fileUploader.option(\"name\"), file.value)\r\n })\r\n };\r\n _proto8._createFormData = function(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 return DefaultWholeFileUploadStrategy\r\n}(WholeFileUploadStrategyBase);\r\nvar CustomWholeFileUploadStrategy = function(_WholeFileUploadStrat2) {\r\n _inheritsLoose(CustomWholeFileUploadStrategy, _WholeFileUploadStrat2);\r\n\r\n function CustomWholeFileUploadStrategy() {\r\n return _WholeFileUploadStrat2.apply(this, arguments) || this\r\n }\r\n var _proto9 = CustomWholeFileUploadStrategy.prototype;\r\n _proto9._uploadFile = function(file) {\r\n var _this20 = this;\r\n file.onLoadStart.fire();\r\n var uploadFile = this.fileUploader.option(\"uploadFile\");\r\n try {\r\n var result = uploadFile(file.value, (function(loadedBytes) {\r\n var arg = {\r\n loaded: loadedBytes,\r\n total: file.value.size\r\n };\r\n _this20._handleProgress(file, arg)\r\n }));\r\n return (0, _deferred.fromPromise)(result)\r\n } catch (error) {\r\n return (new _deferred.Deferred).reject(error).promise()\r\n }\r\n };\r\n _proto9._shouldHandleError = function(file, e) {\r\n return true\r\n };\r\n return CustomWholeFileUploadStrategy\r\n}(WholeFileUploadStrategyBase);\r\n(0, _component_registrator.default)(\"dxFileUploader\", FileUploader);\r\nvar _default = FileUploader;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/filter_builder.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _filter_builder = _interopRequireDefault(require(\"./filter_builder/filter_builder\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar _default = _filter_builder.default;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/filter_builder/between.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.getConfig = getConfig;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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 = (0, _renderer.default)(\"<div>\").addClass(FILTER_BUILDER_RANGE_START_CLASS);\r\n var $editorEnd = (0, _renderer.default)(\"<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((0, _renderer.default)(\"<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, (0, _extend.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, (0, _extend.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\n\r\nfunction 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 (cjs/ui/filter_builder/filter_builder.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _dom_adapter = _interopRequireDefault(require(\"../../core/dom_adapter\"));\r\nvar _class = _interopRequireDefault(require(\"../../core/class\"));\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _ui = _interopRequireDefault(require(\"../widget/ui.widget\"));\r\nvar _component_registrator = _interopRequireDefault(require(\"../../core/component_registrator\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _message = _interopRequireDefault(require(\"../../localization/message\"));\r\nvar _deferred = require(\"../../core/utils/deferred\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _tree_view = _interopRequireDefault(require(\"../tree_view\"));\r\nvar _ui2 = _interopRequireDefault(require(\"../popup/ui.popup\"));\r\nvar _utils = require(\"../overlay/utils\");\r\nvar _ui3 = _interopRequireDefault(require(\"../shared/ui.editor_factory_mixin\"));\r\nvar _index = require(\"../../events/utils/index\");\r\nvar _utils2 = require(\"./utils\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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.default.inherit(_ui3.default);\r\nvar FilterBuilder = _ui.default.inherit({\r\n _getDefaultOptions: function() {\r\n return (0, _extend.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: _message.default.format(\"dxFilterBuilder-and\"),\r\n or: _message.default.format(\"dxFilterBuilder-or\"),\r\n notAnd: _message.default.format(\"dxFilterBuilder-notAnd\"),\r\n notOr: _message.default.format(\"dxFilterBuilder-notOr\")\r\n },\r\n customOperations: [],\r\n closePopupOnTargetScroll: true,\r\n filterOperationDescriptions: {\r\n between: _message.default.format(\"dxFilterBuilder-filterOperationBetween\"),\r\n equal: _message.default.format(\"dxFilterBuilder-filterOperationEquals\"),\r\n notEqual: _message.default.format(\"dxFilterBuilder-filterOperationNotEquals\"),\r\n lessThan: _message.default.format(\"dxFilterBuilder-filterOperationLess\"),\r\n lessThanOrEqual: _message.default.format(\"dxFilterBuilder-filterOperationLessOrEquals\"),\r\n greaterThan: _message.default.format(\"dxFilterBuilder-filterOperationGreater\"),\r\n greaterThanOrEqual: _message.default.format(\"dxFilterBuilder-filterOperationGreaterOrEquals\"),\r\n startsWith: _message.default.format(\"dxFilterBuilder-filterOperationStartsWith\"),\r\n contains: _message.default.format(\"dxFilterBuilder-filterOperationContains\"),\r\n notContains: _message.default.format(\"dxFilterBuilder-filterOperationNotContains\"),\r\n endsWith: _message.default.format(\"dxFilterBuilder-filterOperationEndsWith\"),\r\n isBlank: _message.default.format(\"dxFilterBuilder-filterOperationIsBlank\"),\r\n isNotBlank: _message.default.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 = (0, _extend.extend)(true, [], this._model);\r\n return (0, _utils2.getFilterExpression)((0, _utils2.getNormalizedFilter)(value), fields, this._customOperations, SOURCE)\r\n },\r\n _getNormalizedFields: function() {\r\n return (0, _utils2.getNormalizedFields)(this.option(\"fields\"))\r\n },\r\n _updateFilter: function() {\r\n this._disableInvalidateForValue = true;\r\n var value = (0, _extend.extend)(true, [], this._model);\r\n var normalizedValue = (0, _utils2.getNormalizedFilter)(value);\r\n var oldValue = (0, _utils2.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 = (0, _utils2.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 (0, _utils2.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 = (0, _extend.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 (0, _renderer.default)(\"<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 = (0, _utils2.getGroupCriteria)(criteria);\r\n for (var i = 0; i < groupCriteria.length; i++) {\r\n var innerCriteria = groupCriteria[i];\r\n if ((0, _utils2.isGroup)(innerCriteria)) {\r\n this._createGroupElementByCriteria(innerCriteria, criteria, groupLevel + 1).appendTo($groupContent)\r\n } else if ((0, _utils2.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 _this = this;\r\n var $groupItem = (0, _renderer.default)(\"<div>\").addClass(FILTER_BUILDER_GROUP_ITEM_CLASS);\r\n var $groupContent = (0, _renderer.default)(\"<div>\").addClass(FILTER_BUILDER_GROUP_CONTENT_CLASS);\r\n var $group = (0, _renderer.default)(\"<div>\").addClass(FILTER_BUILDER_GROUP_CLASS).append($groupItem).append($groupContent);\r\n if (null != parent) {\r\n this._createRemoveButton((function() {\r\n (0, _utils2.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((function() {\r\n var newGroup = (0, _utils2.createEmptyGroup)(_this._getDefaultGroupOperation());\r\n (0, _utils2.addItem)(newGroup, criteria);\r\n _this._createGroupElement(newGroup, criteria, groupLevel + 1).appendTo($groupContent);\r\n _this._updateFilter()\r\n }), (function() {\r\n var field = _this.option(\"fields\")[0];\r\n var newCondition = (0, _utils2.createCondition)(field, _this._customOperations);\r\n (0, _utils2.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 (0, _renderer.default)(\"<div>\").text(caption)\r\n },\r\n _createGroupOperationButton: function(criteria) {\r\n var _this2 = this;\r\n var groupOperations = this._getGroupOperations(criteria);\r\n var groupMenuItem = (0, _utils2.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: function(e) {\r\n if (groupMenuItem !== e.itemData) {\r\n (0, _utils2.setGroupValue)(criteria, e.itemData.value);\r\n $operationButton.text(e.itemData.text);\r\n groupMenuItem = e.itemData;\r\n _this2._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 (0, _extend.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 = (0, _renderer.default)(info.component.content()).find(\".dx-treeview\");\r\n var treeView = treeViewElement.dxTreeView(\"instance\");\r\n _events_engine.default.on(treeViewElement, \"keyup keydown\", (function(e) {\r\n var keyName = (0, _index.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 _events_engine.default.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 = (0, _utils2.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 _this3 = this;\r\n var that = this;\r\n var availableOperations = (0, _utils2.getAvailableOperations)(field, this.option(\"filterOperationDescriptions\"), this._customOperations);\r\n var currentOperation = (0, _utils2.getOperationFromAvailable)((0, _utils2.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 && (0, _renderer.default)(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: function(e) {\r\n if (currentOperation !== e.itemData) {\r\n currentOperation = e.itemData;\r\n (0, _utils2.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.html(currentOperation.text);\r\n _this3._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 _this4 = this;\r\n var that = this;\r\n var allowHierarchicalFields = this.option(\"allowHierarchicalFields\");\r\n var items = (0, _utils2.getItems)(fields, allowHierarchicalFields);\r\n var item = (0, _utils2.getField)(field.name || field.dataField, items);\r\n var getFullCaption = function(item, items) {\r\n return allowHierarchicalFields ? (0, _utils2.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: function(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 (0, _utils2.updateConditionByOperation)(condition, (0, _utils2.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.html(caption);\r\n _this4._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 _this5 = this;\r\n var $item = (0, _renderer.default)(\"<div>\").addClass(FILTER_BUILDER_GROUP_ITEM_CLASS);\r\n var fields = this._getNormalizedFields();\r\n var field = (0, _utils2.getField)(condition[0], fields);\r\n this._createRemoveButton((function() {\r\n (0, _utils2.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 _this5._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 = [(0, _utils2.getGroupValue)(criteria).replace(\"!\", \"not\")]\r\n }\r\n return groupOperations.map((function(operation) {\r\n return {\r\n text: groupOperationDescriptions[operation],\r\n value: OPERATORS[operation]\r\n }\r\n }))\r\n },\r\n _createRemoveButton: function(handler) {\r\n var $removeButton = (0, _renderer.default)(\"<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 ((0, _type.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: _message.default.format(\"dxFilterBuilder-addCondition\"),\r\n click: addConditionHandler\r\n }, {\r\n caption: _message.default.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 = (0, _renderer.default)(\"<div>\").html(\" \").addClass(FILTER_BUILDER_ITEM_VALUE_TEXT_CLASS).attr(\"tabindex\", 0).appendTo($container);\r\n var value = item[2];\r\n var customOperation = (0, _utils2.getCustomOperation)(that._customOperations, item[1]);\r\n if (!customOperation && field.lookup) {\r\n (0, _utils2.getCurrentLookupValueText)(field, value, (function(result) {\r\n (0, _utils2.renderValueText)($text, result)\r\n }))\r\n } else {\r\n (0, _deferred.when)((0, _utils2.getCurrentValueText)(field, value, customOperation)).done((function(result) {\r\n (0, _utils2.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 = _dom_adapter.default.getDocument();\r\n var documentKeyUpHandler = function(e) {\r\n if (isComposing || hasCompositionJustEnded) {\r\n hasCompositionJustEnded = false;\r\n return\r\n }\r\n handler(e)\r\n };\r\n _events_engine.default.on(document, \"keyup\", documentKeyUpHandler);\r\n var input = $editor.find(\"input\");\r\n _events_engine.default.on(input, \"compositionstart\", (function() {\r\n isComposing = true\r\n }));\r\n _events_engine.default.on(input, \"compositionend\", (function() {\r\n isComposing = false;\r\n hasCompositionJustEnded = true\r\n }));\r\n _events_engine.default.on(input, \"keydown\", (function(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 _this6 = this;\r\n var document = _dom_adapter.default.getDocument();\r\n var documentClickHandler = function(e) {\r\n if (!_this6._isFocusOnEditorParts($editor, e.target)) {\r\n _events_engine.default.trigger($editor.find(\"input\"), \"change\");\r\n closeEditorFunc()\r\n }\r\n };\r\n _events_engine.default.on(document, \"dxpointerdown\", documentClickHandler);\r\n this._documentClickHandler = documentClickHandler\r\n },\r\n _isFocusOnEditorParts: function($editor, target) {\r\n var activeElement = target || _dom_adapter.default.getActiveElement();\r\n return (0, _renderer.default)(activeElement).closest($editor.children()).length || (0, _renderer.default)(activeElement).closest(\".dx-dropdowneditor-overlay\").length\r\n },\r\n _removeEvents: function() {\r\n var document = _dom_adapter.default.getDocument();\r\n (0, _type.isDefined)(this._documentKeyUpHandler) && _events_engine.default.off(document, \"keyup\", this._documentKeyUpHandler);\r\n (0, _type.isDefined)(this._documentClickHandler) && _events_engine.default.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 _this7 = this;\r\n var value = item[2];\r\n var createValueText = function() {\r\n $container.empty();\r\n _this7._removeEvents();\r\n return _this7._createValueText(item, field, $container)\r\n };\r\n var closeEditor = function() {\r\n _this7._updateConditionValue(item, value, (function() {\r\n createValueText()\r\n }))\r\n };\r\n var options = {\r\n value: \"\" === value ? null : value,\r\n filterOperation: (0, _utils2.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 _events_engine.default.trigger($editor.find(\"input\").not(\":hidden\").eq(0), \"focus\");\r\n this._removeEvents();\r\n this._addDocumentClick($editor, closeEditor);\r\n this._addDocumentKeyUp($editor, (function(e) {\r\n var keyName = (0, _index.normalizeKeyName)(e);\r\n if (keyName === TAB_KEY) {\r\n if (_this7._isFocusOnEditorParts($editor)) {\r\n return\r\n }\r\n _this7._updateConditionValue(item, value, (function() {\r\n createValueText();\r\n if (e.shiftKey) {\r\n _events_engine.default.trigger($container.prev(), \"focus\")\r\n }\r\n }))\r\n }\r\n if (keyName === ESCAPE_KEY) {\r\n _events_engine.default.trigger(createValueText(), \"focus\")\r\n }\r\n if (keyName === ENTER_KEY) {\r\n _this7._updateConditionValue(item, value, (function() {\r\n _events_engine.default.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 = (0, _renderer.default)(\"<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 = (0, _renderer.default)(\"<div>\").attr(\"tabindex\", 0).appendTo($container);\r\n var customOperation = (0, _utils2.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: (0, _extend.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, (0, _extend.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 = (0, _renderer.default)(\"<div>\").addClass(options.menu.cssClass).appendTo($container);\r\n this._createComponent($popup, _ui2.default, {\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 = (0, _renderer.default)(\"<div>\").appendTo(contentElement);\r\n that._createComponent($menuContainer, _tree_view.default, options.menu);\r\n this.repaint()\r\n },\r\n _ignoreFunctionValueDeprecation: true,\r\n maxHeight: function() {\r\n return (0, _utils.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 _events_engine.default.on($button, \"dxclick\", handler);\r\n _events_engine.default.on($button, \"keyup\", (function(e) {\r\n if ((0, _index.normalizeKeyName)(e) === ENTER_KEY) {\r\n handler(e)\r\n }\r\n }))\r\n }\r\n});\r\n(0, _component_registrator.default)(\"dxFilterBuilder\", FilterBuilder);\r\nvar _default = FilterBuilder;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/filter_builder/ui.filter_operations_dictionary.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\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\nvar _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\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/filter_builder/utils.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.addItem = addItem;\r\nexports.convertToInnerStructure = convertToInnerStructure;\r\nexports.createCondition = createCondition;\r\nexports.createEmptyGroup = createEmptyGroup;\r\nexports.filterHasField = filterHasField;\r\nexports.getAvailableOperations = getAvailableOperations;\r\nexports.getCaptionByOperation = getCaptionByOperation;\r\nexports.getCaptionWithParents = getCaptionWithParents;\r\nexports.getCurrentLookupValueText = getCurrentLookupValueText;\r\nexports.getCurrentValueText = getCurrentValueText;\r\nexports.getCustomOperation = getCustomOperation;\r\nexports.getDefaultOperation = getDefaultOperation;\r\nexports.getField = getField;\r\nexports.getFilterExpression = getFilterExpression;\r\nexports.getFilterOperations = getFilterOperations;\r\nexports.getGroupCriteria = getGroupCriteria;\r\nexports.getGroupMenuItem = getGroupMenuItem;\r\nexports.getGroupValue = getGroupValue;\r\nexports.getItems = getItems;\r\nexports.getMatchedConditions = getMatchedConditions;\r\nexports.getMergedOperations = getMergedOperations;\r\nexports.getNormalizedFields = getNormalizedFields;\r\nexports.getNormalizedFilter = getNormalizedFilter;\r\nexports.getOperationFromAvailable = getOperationFromAvailable;\r\nexports.getOperationValue = getOperationValue;\r\nexports.isCondition = isCondition;\r\nexports.isEmptyGroup = isEmptyGroup;\r\nexports.isGroup = isGroup;\r\nexports.isValidCondition = isValidCondition;\r\nexports.removeFieldConditionsFromFilter = removeFieldConditionsFromFilter;\r\nexports.removeItem = removeItem;\r\nexports.renderValueText = void 0;\r\nexports.setGroupValue = setGroupValue;\r\nexports.syncFilters = syncFilters;\r\nexports.updateConditionByOperation = updateConditionByOperation;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _deferred = require(\"../../core/utils/deferred\");\r\nvar _errors = require(\"../../data/errors\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _data = require(\"../../core/utils/data\");\r\nvar _ui = _interopRequireDefault(require(\"../widget/ui.errors\"));\r\nvar _filtering = _interopRequireDefault(require(\"../shared/filtering\"));\r\nvar _format_helper = _interopRequireDefault(require(\"../../format_helper\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _inflector = require(\"../../core/utils/inflector\");\r\nvar _between = require(\"./between\");\r\nvar _message = _interopRequireDefault(require(\"../../localization/message\"));\r\nvar _data_source = require(\"../../data/data_source/data_source\");\r\nvar _ui2 = _interopRequireDefault(require(\"./ui.filter_operations_dictionary\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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 _format_helper.default.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\n\r\nfunction 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\n\r\nfunction 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\n\r\nfunction 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 _errors.errors.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\n\r\nfunction 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\n\r\nfunction getFilterOperations(field) {\r\n var result = containItems(field.filterOperations) ? field.filterOperations : getDefaultFilterOperations(field);\r\n return (0, _extend.extend)([], result)\r\n}\r\n\r\nfunction getCaptionByOperation(operation, filterOperationDescriptions) {\r\n var operationName = _ui2.default.getNameByFilterOperation(operation);\r\n return filterOperationDescriptions && filterOperationDescriptions[operationName] ? filterOperationDescriptions[operationName] : operationName\r\n}\r\n\r\nfunction 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 _ui.default.Error(\"E1048\", operation)\r\n}\r\n\r\nfunction 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\n\r\nfunction 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 || (0, _inflector.captionize)(customOperation.name),\r\n value: customOperation.name,\r\n isCustom: true\r\n }\r\n } else {\r\n return {\r\n icon: _ui2.default.getIconByFilterOperation(operation) || EMPTY_MENU_ICON,\r\n text: getCaptionByOperation(operation, filterOperationDescriptions),\r\n value: operation\r\n }\r\n }\r\n }))\r\n}\r\n\r\nfunction getDefaultOperation(field) {\r\n return field.defaultFilterOperation || getFilterOperations(field)[0]\r\n}\r\n\r\nfunction 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\n\r\nfunction 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\n\r\nfunction 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\n\r\nfunction 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\n\r\nfunction 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\n\r\nfunction 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 _ui.default.Error(\"E1047\", dataField)\r\n}\r\n\r\nfunction 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\n\r\nfunction 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\n\r\nfunction 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 = (0, _extend.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\n\r\nfunction getNormalizedFields(fields) {\r\n return fields.reduce((function(result, field) {\r\n if ((0, _type.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 = _filtering.default.defaultCalculateFilterExpression;\r\n if (!(0, _type.isDefined)(normalizedField.dataType)) {\r\n normalizedField.dataType = DEFAULT_DATA_TYPE\r\n }\r\n if (!(0, _type.isDefined)(normalizedField.trueText)) {\r\n normalizedField.trueText = _message.default.format(\"dxDataGrid-trueText\")\r\n }\r\n if (!(0, _type.isDefined)(normalizedField.falseText)) {\r\n normalizedField.falseText = _message.default.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\n\r\nfunction getFilterExpression(value, fields, customOperations, target) {\r\n if (!(0, _type.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\n\r\nfunction 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\n\r\nfunction 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 = (0, _type.isFunction)(lookup.dataSource) ? lookup.dataSource({}) : lookup.dataSource;\r\n var dataSource = new _data_source.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 ? (0, _data.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 || _message.default.format(\"dxDataGrid-trueText\")\r\n } else if (false === value) {\r\n valueText = field.falseText || _message.default.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((function(v) {\r\n return getPrimitiveValueText(field, v, customOperation, target, options)\r\n }))\r\n}\r\n\r\nfunction checkDefaultValue(value) {\r\n return \"\" === value || null === value\r\n}\r\n\r\nfunction 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.Deferred;\r\n _deferred.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((function(item) {\r\n return !checkDefaultValue(item)\r\n })) ? args.map((function(item) {\r\n return !checkDefaultValue(item) ? item : \"?\"\r\n })) : \"\";\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 })\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 += (0, _inflector.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 (0, _inflector.captionize)(dataField)\r\n}\r\n\r\nfunction getItems(fields, allowHierarchicalFields) {\r\n var items = [];\r\n for (var i = 0; i < fields.length; i++) {\r\n var item = (0, _extend.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\n\r\nfunction 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\n\r\nfunction 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\n\r\nfunction 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\n\r\nfunction isValidCondition(condition) {\r\n return \"\" !== condition[2]\r\n}\r\n\r\nfunction getMergedOperations(customOperations, betweenCaption, context) {\r\n var result = (0, _extend.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] = (0, _extend.extend)((0, _between.getConfig)(betweenCaption, context), result[betweenIndex])\r\n } else {\r\n result.unshift((0, _between.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\n\r\nfunction 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\n\r\nfunction 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\n\r\nfunction 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\n\r\nfunction 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\nvar 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((function(t, i) {\r\n (0, _renderer.default)(\"<span>\").addClass(FILTER_BUILDER_ITEM_TEXT_PART_CLASS).text(t).appendTo($container);\r\n if (i !== lastItemIndex) {\r\n (0, _renderer.default)(\"<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(_message.default.format(\"dxFilterBuilder-enterValueText\"))\r\n }\r\n};\r\nexports.renderValueText = renderValueText;\r\n","/**\r\n * DevExtreme (cjs/ui/form.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _ui = _interopRequireDefault(require(\"./form/ui.form\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar _default = _ui.default;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/form/components/button_item.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.renderButtonItem = renderButtonItem;\r\nvar _renderer = _interopRequireDefault(require(\"../../../core/renderer\"));\r\nvar _type = require(\"../../../core/utils/type\");\r\nvar _extend = require(\"../../../core/utils/extend\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar FIELD_BUTTON_ITEM_CLASS = \"dx-field-button-item\";\r\n\r\nfunction renderButtonItem(_ref) {\r\n var item = _ref.item,\r\n $parent = _ref.$parent,\r\n rootElementCssClassList = _ref.rootElementCssClassList,\r\n validationGroup = _ref.validationGroup,\r\n createComponentCallback = _ref.createComponentCallback;\r\n var $rootElement = (0, _renderer.default)(\"<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 = (0, _renderer.default)(\"<div>\").appendTo($rootElement);\r\n return {\r\n $rootElement: $rootElement,\r\n buttonInstance: createComponentCallback($button, \"dxButton\", (0, _extend.extend)({\r\n validationGroup: validationGroup\r\n }, item.buttonOptions))\r\n }\r\n}\r\n\r\nfunction convertAlignmentToTextAlign(horizontalAlignment) {\r\n return (0, _type.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 (cjs/ui/form/components/empty_item.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.FIELD_EMPTY_ITEM_CLASS = void 0;\r\nexports.renderEmptyItem = renderEmptyItem;\r\nvar _renderer = _interopRequireDefault(require(\"../../../core/renderer\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar FIELD_EMPTY_ITEM_CLASS = \"dx-field-empty-item\";\r\nexports.FIELD_EMPTY_ITEM_CLASS = FIELD_EMPTY_ITEM_CLASS;\r\n\r\nfunction renderEmptyItem(_ref) {\r\n var $parent = _ref.$parent,\r\n rootElementCssClassList = _ref.rootElementCssClassList;\r\n return (0, _renderer.default)(\"<div>\").addClass(FIELD_EMPTY_ITEM_CLASS).html(\" \").addClass(rootElementCssClassList.join(\" \")).appendTo($parent)\r\n}\r\n","/**\r\n * DevExtreme (cjs/ui/form/components/field_item.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.TOGGLE_CONTROLS_PADDING_CLASS = exports.LABEL_VERTICAL_ALIGNMENT_CLASS = exports.LABEL_HORIZONTAL_ALIGNMENT_CLASS = exports.FLEX_LAYOUT_CLASS = exports.FIELD_ITEM_REQUIRED_CLASS = exports.FIELD_ITEM_OPTIONAL_CLASS = exports.FIELD_ITEM_LABEL_ALIGN_CLASS = exports.FIELD_ITEM_HELP_TEXT_CLASS = exports.FIELD_ITEM_CONTENT_WRAPPER_CLASS = exports.FIELD_ITEM_CONTENT_LOCATION_CLASS = void 0;\r\nexports.renderFieldItem = renderFieldItem;\r\nvar _renderer = _interopRequireDefault(require(\"../../../core/renderer\"));\r\nvar _events_engine = _interopRequireDefault(require(\"../../../events/core/events_engine\"));\r\nvar _click = require(\"../../../events/click\");\r\nvar _element = require(\"../../../core/element\");\r\nvar _inflector = require(\"../../../core/utils/inflector\");\r\nvar _string = require(\"../../../core/utils/string\");\r\nvar _themes = require(\"../../themes\");\r\nvar _ui = _interopRequireDefault(require(\"../../widget/ui.errors\"));\r\nvar _validator = _interopRequireDefault(require(\"../../validator\"));\r\nvar _constants = require(\"../constants\");\r\nvar _label = require(\"./label\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar FLEX_LAYOUT_CLASS = \"dx-flex-layout\";\r\nexports.FLEX_LAYOUT_CLASS = FLEX_LAYOUT_CLASS;\r\nvar FIELD_ITEM_OPTIONAL_CLASS = \"dx-field-item-optional\";\r\nexports.FIELD_ITEM_OPTIONAL_CLASS = FIELD_ITEM_OPTIONAL_CLASS;\r\nvar FIELD_ITEM_REQUIRED_CLASS = \"dx-field-item-required\";\r\nexports.FIELD_ITEM_REQUIRED_CLASS = FIELD_ITEM_REQUIRED_CLASS;\r\nvar FIELD_ITEM_CONTENT_WRAPPER_CLASS = \"dx-field-item-content-wrapper\";\r\nexports.FIELD_ITEM_CONTENT_WRAPPER_CLASS = FIELD_ITEM_CONTENT_WRAPPER_CLASS;\r\nvar FIELD_ITEM_CONTENT_LOCATION_CLASS = \"dx-field-item-content-location-\";\r\nexports.FIELD_ITEM_CONTENT_LOCATION_CLASS = FIELD_ITEM_CONTENT_LOCATION_CLASS;\r\nvar FIELD_ITEM_LABEL_ALIGN_CLASS = \"dx-field-item-label-align\";\r\nexports.FIELD_ITEM_LABEL_ALIGN_CLASS = FIELD_ITEM_LABEL_ALIGN_CLASS;\r\nvar FIELD_ITEM_HELP_TEXT_CLASS = \"dx-field-item-help-text\";\r\nexports.FIELD_ITEM_HELP_TEXT_CLASS = FIELD_ITEM_HELP_TEXT_CLASS;\r\nvar LABEL_VERTICAL_ALIGNMENT_CLASS = \"dx-label-v-align\";\r\nexports.LABEL_VERTICAL_ALIGNMENT_CLASS = LABEL_VERTICAL_ALIGNMENT_CLASS;\r\nvar LABEL_HORIZONTAL_ALIGNMENT_CLASS = \"dx-label-h-align\";\r\nexports.LABEL_HORIZONTAL_ALIGNMENT_CLASS = LABEL_HORIZONTAL_ALIGNMENT_CLASS;\r\nvar TOGGLE_CONTROLS_PADDING_CLASS = \"dx-toggle-controls-paddings\";\r\nexports.TOGGLE_CONTROLS_PADDING_CLASS = TOGGLE_CONTROLS_PADDING_CLASS;\r\nvar TEMPLATE_WRAPPER_CLASS = \"dx-template-wrapper\";\r\nvar VALIDATION_TARGET_CLASS = \"dx-validation-target\";\r\nvar INVALID_CLASS = \"dx-invalid\";\r\n\r\nfunction renderFieldItem(_ref) {\r\n var $parent = _ref.$parent,\r\n rootElementCssClassList = _ref.rootElementCssClassList,\r\n formOrLayoutManager = _ref.formOrLayoutManager,\r\n createComponentCallback = _ref.createComponentCallback,\r\n labelOptions = _ref.labelOptions,\r\n labelNeedBaselineAlign = _ref.labelNeedBaselineAlign,\r\n labelLocation = _ref.labelLocation,\r\n needRenderLabel = _ref.needRenderLabel,\r\n formLabelLocation = _ref.formLabelLocation,\r\n item = _ref.item,\r\n editorOptions = _ref.editorOptions,\r\n isSimpleItem = _ref.isSimpleItem,\r\n isRequired = _ref.isRequired,\r\n template = _ref.template,\r\n helpID = _ref.helpID,\r\n labelID = _ref.labelID,\r\n name = _ref.name,\r\n helpText = _ref.helpText,\r\n requiredMessageTemplate = _ref.requiredMessageTemplate,\r\n validationGroup = _ref.validationGroup;\r\n var $rootElement = (0, _renderer.default)(\"<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 = (0, _renderer.default)(\"<div>\");\r\n $fieldEditorContainer.data(\"dx-form-item\", item);\r\n $fieldEditorContainer.addClass(_constants.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 = (0, _label.renderLabel)(labelOptions)\r\n }\r\n if ($label) {\r\n var editorType = item.editorType;\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 _events_engine.default.on($label, _click.name, (function() {\r\n _events_engine.default.trigger($fieldEditorContainer.children(), _click.name)\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: (0, _element.getPublicElement)($fieldEditorContainer),\r\n model: getTemplateData(item, editorOptions, formOrLayoutManager),\r\n onRendered: function() {\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 = (0, _renderer.default)(\"<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 _ui.default.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 && (0, _inflector.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 = (0, _string.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.default, {\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((0, _renderer.default)(\"<div>\").addClass(FIELD_ITEM_CONTENT_WRAPPER_CLASS).append($fieldEditorContainer).append((0, _renderer.default)(\"<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 && (0, _themes.isMaterial)()) {\r\n var wrapperClass = \".\".concat(FIELD_ITEM_CONTENT_WRAPPER_CLASS);\r\n var toggleInvalidClass = function(_ref2) {\r\n var element = _ref2.element,\r\n component = _ref2.component;\r\n var _component$option = component.option(),\r\n isValid = _component$option.isValid,\r\n validationMessageMode = _component$option.validationMessageMode;\r\n (0, _renderer.default)(element).parents(wrapperClass).toggleClass(INVALID_CLASS, false === isValid && (component._isFocused() || \"always\" === validationMessageMode))\r\n };\r\n validationTargetInstance.on(\"optionChanged\", (function(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 (cjs/ui/form/components/label.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.GET_LABEL_WIDTH_BY_TEXT_CLASS = exports.FIELD_ITEM_REQUIRED_MARK_CLASS = exports.FIELD_ITEM_OPTIONAL_MARK_CLASS = exports.FIELD_ITEM_LABEL_TEXT_CLASS = exports.FIELD_ITEM_LABEL_LOCATION_CLASS = void 0;\r\nexports.renderLabel = renderLabel;\r\nexports.setLabelWidthByMaxLabelWidth = setLabelWidthByMaxLabelWidth;\r\nvar _renderer = _interopRequireDefault(require(\"../../../core/renderer\"));\r\nvar _type = require(\"../../../core/utils/type\");\r\nvar _element = require(\"../../../core/element\");\r\nvar _uiFormLayout_manager = require(\"../ui.form.layout_manager.utils\");\r\nvar _constants = require(\"../constants\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar GET_LABEL_WIDTH_BY_TEXT_CLASS = \"dx-layout-manager-hidden-label\";\r\nexports.GET_LABEL_WIDTH_BY_TEXT_CLASS = GET_LABEL_WIDTH_BY_TEXT_CLASS;\r\nvar FIELD_ITEM_REQUIRED_MARK_CLASS = \"dx-field-item-required-mark\";\r\nexports.FIELD_ITEM_REQUIRED_MARK_CLASS = FIELD_ITEM_REQUIRED_MARK_CLASS;\r\nvar FIELD_ITEM_LABEL_LOCATION_CLASS = \"dx-field-item-label-location-\";\r\nexports.FIELD_ITEM_LABEL_LOCATION_CLASS = FIELD_ITEM_LABEL_LOCATION_CLASS;\r\nvar FIELD_ITEM_OPTIONAL_MARK_CLASS = \"dx-field-item-optional-mark\";\r\nexports.FIELD_ITEM_OPTIONAL_MARK_CLASS = FIELD_ITEM_OPTIONAL_MARK_CLASS;\r\nvar FIELD_ITEM_LABEL_TEXT_CLASS = \"dx-field-item-label-text\";\r\nexports.FIELD_ITEM_LABEL_TEXT_CLASS = FIELD_ITEM_LABEL_TEXT_CLASS;\r\n\r\nfunction renderLabel(_ref) {\r\n var text = _ref.text,\r\n id = _ref.id,\r\n location = _ref.location,\r\n alignment = _ref.alignment,\r\n _ref$labelID = _ref.labelID,\r\n labelID = void 0 === _ref$labelID ? null : _ref$labelID,\r\n _ref$markOptions = _ref.markOptions,\r\n markOptions = void 0 === _ref$markOptions ? {} : _ref$markOptions,\r\n labelTemplate = _ref.labelTemplate,\r\n labelTemplateData = _ref.labelTemplateData,\r\n onLabelTemplateRendered = _ref.onLabelTemplateRendered;\r\n if ((!(0, _type.isDefined)(text) || text.length <= 0) && !(0, _type.isDefined)(labelTemplate)) {\r\n return null\r\n }\r\n var $label = (0, _renderer.default)(\"<label>\").addClass(_constants.FIELD_ITEM_LABEL_CLASS + \" \" + FIELD_ITEM_LABEL_LOCATION_CLASS + location).attr(\"for\", id).attr(\"id\", labelID).css(\"textAlign\", alignment);\r\n var $labelContainer = (0, _renderer.default)(\"<span>\").addClass(_constants.FIELD_ITEM_LABEL_CONTENT_CLASS);\r\n var $labelContent = (0, _renderer.default)(\"<span>\").addClass(FIELD_ITEM_LABEL_TEXT_CLASS).text(text);\r\n if (labelTemplate) {\r\n $labelContent = (0, _renderer.default)(\"<div>\").addClass(\"dx-field-item-custom-label-content\");\r\n labelTemplateData.text = text;\r\n labelTemplate.render({\r\n container: (0, _element.getPublicElement)($labelContent),\r\n model: labelTemplateData,\r\n onRendered: function() {\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 = (0, _uiFormLayout_manager.getLabelMarkText)(markOptions);\r\n if (\"\" === markText) {\r\n return null\r\n }\r\n return (0, _renderer.default)(\"<span>\").addClass(markOptions.showRequiredMark ? FIELD_ITEM_REQUIRED_MARK_CLASS : FIELD_ITEM_OPTIONAL_MARK_CLASS).text(markText)\r\n}\r\n\r\nfunction setLabelWidthByMaxLabelWidth($targetContainer, labelsSelector, labelMarkOptions) {\r\n var FIELD_ITEM_LABEL_CONTENT_CLASS_Selector = \"\".concat(labelsSelector, \" > .\").concat(_constants.FIELD_ITEM_LABEL_CLASS, \":not(.\").concat(FIELD_ITEM_LABEL_LOCATION_CLASS, \"top) > .\").concat(_constants.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 (cjs/ui/form/constants.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.WIDGET_CLASS = exports.SINGLE_COLUMN_ITEM_CONTENT = exports.SIMPLE_ITEM_TYPE = exports.ROOT_SIMPLE_ITEM_CLASS = exports.LAYOUT_MANAGER_ONE_COLUMN = exports.GROUP_COL_COUNT_CLASS = exports.GROUP_COL_COUNT_ATTR = exports.FORM_VALIDATION_SUMMARY = exports.FORM_UNDERLINED_CLASS = exports.FORM_LAYOUT_MANAGER_CLASS = exports.FORM_GROUP_WITH_CAPTION_CLASS = exports.FORM_GROUP_CONTENT_CLASS = exports.FORM_GROUP_CLASS = exports.FORM_GROUP_CAPTION_CLASS = exports.FORM_FIELD_ITEM_COL_CLASS = exports.FORM_CLASS = exports.FIELD_ITEM_TAB_CLASS = exports.FIELD_ITEM_LABEL_CONTENT_CLASS = exports.FIELD_ITEM_LABEL_CLASS = exports.FIELD_ITEM_CONTENT_HAS_TABS_CLASS = exports.FIELD_ITEM_CONTENT_HAS_GROUP_CLASS = exports.FIELD_ITEM_CONTENT_CLASS = exports.FIELD_ITEM_CLASS = void 0;\r\nvar WIDGET_CLASS = \"dx-widget\";\r\nexports.WIDGET_CLASS = WIDGET_CLASS;\r\nvar FORM_CLASS = \"dx-form\";\r\nexports.FORM_CLASS = FORM_CLASS;\r\nvar FORM_GROUP_CLASS = \"dx-form-group\";\r\nexports.FORM_GROUP_CLASS = FORM_GROUP_CLASS;\r\nvar FORM_GROUP_CAPTION_CLASS = \"dx-form-group-caption\";\r\nexports.FORM_GROUP_CAPTION_CLASS = FORM_GROUP_CAPTION_CLASS;\r\nvar FORM_FIELD_ITEM_COL_CLASS = \"dx-col-\";\r\nexports.FORM_FIELD_ITEM_COL_CLASS = FORM_FIELD_ITEM_COL_CLASS;\r\nvar FIELD_ITEM_CLASS = \"dx-field-item\";\r\nexports.FIELD_ITEM_CLASS = FIELD_ITEM_CLASS;\r\nvar LAYOUT_MANAGER_ONE_COLUMN = \"dx-layout-manager-one-col\";\r\nexports.LAYOUT_MANAGER_ONE_COLUMN = LAYOUT_MANAGER_ONE_COLUMN;\r\nvar FIELD_ITEM_LABEL_CONTENT_CLASS = \"dx-field-item-label-content\";\r\nexports.FIELD_ITEM_LABEL_CONTENT_CLASS = FIELD_ITEM_LABEL_CONTENT_CLASS;\r\nvar FORM_LAYOUT_MANAGER_CLASS = \"dx-layout-manager\";\r\nexports.FORM_LAYOUT_MANAGER_CLASS = FORM_LAYOUT_MANAGER_CLASS;\r\nvar FIELD_ITEM_LABEL_CLASS = \"dx-field-item-label\";\r\nexports.FIELD_ITEM_LABEL_CLASS = FIELD_ITEM_LABEL_CLASS;\r\nvar FIELD_ITEM_CONTENT_CLASS = \"dx-field-item-content\";\r\nexports.FIELD_ITEM_CONTENT_CLASS = FIELD_ITEM_CONTENT_CLASS;\r\nvar SINGLE_COLUMN_ITEM_CONTENT = \"dx-single-column-item-content\";\r\nexports.SINGLE_COLUMN_ITEM_CONTENT = SINGLE_COLUMN_ITEM_CONTENT;\r\nvar ROOT_SIMPLE_ITEM_CLASS = \"dx-root-simple-item\";\r\nexports.ROOT_SIMPLE_ITEM_CLASS = ROOT_SIMPLE_ITEM_CLASS;\r\nvar FORM_GROUP_CONTENT_CLASS = \"dx-form-group-content\";\r\nexports.FORM_GROUP_CONTENT_CLASS = FORM_GROUP_CONTENT_CLASS;\r\nvar FIELD_ITEM_CONTENT_HAS_GROUP_CLASS = \"dx-field-item-has-group\";\r\nexports.FIELD_ITEM_CONTENT_HAS_GROUP_CLASS = FIELD_ITEM_CONTENT_HAS_GROUP_CLASS;\r\nvar FIELD_ITEM_CONTENT_HAS_TABS_CLASS = \"dx-field-item-has-tabs\";\r\nexports.FIELD_ITEM_CONTENT_HAS_TABS_CLASS = FIELD_ITEM_CONTENT_HAS_TABS_CLASS;\r\nvar FORM_GROUP_WITH_CAPTION_CLASS = \"dx-form-group-with-caption\";\r\nexports.FORM_GROUP_WITH_CAPTION_CLASS = FORM_GROUP_WITH_CAPTION_CLASS;\r\nvar FIELD_ITEM_TAB_CLASS = \"dx-field-item-tab\";\r\nexports.FIELD_ITEM_TAB_CLASS = FIELD_ITEM_TAB_CLASS;\r\nvar GROUP_COL_COUNT_CLASS = \"dx-group-colcount-\";\r\nexports.GROUP_COL_COUNT_CLASS = GROUP_COL_COUNT_CLASS;\r\nvar GROUP_COL_COUNT_ATTR = \"group-col-count\";\r\nexports.GROUP_COL_COUNT_ATTR = GROUP_COL_COUNT_ATTR;\r\nvar FORM_VALIDATION_SUMMARY = \"dx-form-validation-summary\";\r\nexports.FORM_VALIDATION_SUMMARY = FORM_VALIDATION_SUMMARY;\r\nvar FORM_UNDERLINED_CLASS = \"dx-form-styling-mode-underlined\";\r\nexports.FORM_UNDERLINED_CLASS = FORM_UNDERLINED_CLASS;\r\nvar SIMPLE_ITEM_TYPE = \"simple\";\r\nexports.SIMPLE_ITEM_TYPE = SIMPLE_ITEM_TYPE;\r\n","/**\r\n * DevExtreme (cjs/ui/form/ui.form.item_option_action.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _class = _interopRequireDefault(require(\"../../core/class\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar ItemOptionAction = function() {\r\n function ItemOptionAction(options) {\r\n this._options = options;\r\n this._itemsRunTimeInfo = this._options.itemsRunTimeInfo\r\n }\r\n var _proto = ItemOptionAction.prototype;\r\n _proto.findInstance = function() {\r\n return this._itemsRunTimeInfo.findWidgetInstanceByItem(this._options.item)\r\n };\r\n _proto.findItemContainer = function() {\r\n return this._itemsRunTimeInfo.findItemContainerByItem(this._options.item)\r\n };\r\n _proto.findPreparedItem = function() {\r\n return this._itemsRunTimeInfo.findPreparedItemByItem(this._options.item)\r\n };\r\n _proto.tryExecute = function() {\r\n _class.default.abstract()\r\n };\r\n return ItemOptionAction\r\n}();\r\nexports.default = ItemOptionAction;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/form/ui.form.item_options_actions.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _uiForm = _interopRequireDefault(require(\"./ui.form.item_option_action\"));\r\nvar _element_data = require(\"../../core/element_data\");\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _uiForm2 = require(\"./ui.form.utils\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar WidgetOptionItemOptionAction = function(_ItemOptionAction) {\r\n _inheritsLoose(WidgetOptionItemOptionAction, _ItemOptionAction);\r\n\r\n function WidgetOptionItemOptionAction() {\r\n return _ItemOptionAction.apply(this, arguments) || this\r\n }\r\n var _proto = WidgetOptionItemOptionAction.prototype;\r\n _proto.tryExecute = function() {\r\n var value = this._options.value;\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 return WidgetOptionItemOptionAction\r\n}(_uiForm.default);\r\nvar TabOptionItemOptionAction = function(_ItemOptionAction2) {\r\n _inheritsLoose(TabOptionItemOptionAction, _ItemOptionAction2);\r\n\r\n function TabOptionItemOptionAction() {\r\n return _ItemOptionAction2.apply(this, arguments) || this\r\n }\r\n var _proto2 = TabOptionItemOptionAction.prototype;\r\n _proto2.tryExecute = function() {\r\n var tabPanel = this.findInstance();\r\n if (tabPanel) {\r\n var _this$_options = this._options,\r\n optionName = _this$_options.optionName,\r\n item = _this$_options.item,\r\n value = _this$_options.value;\r\n var itemIndex = this._itemsRunTimeInfo.findItemIndexByItem(item);\r\n if (itemIndex >= 0) {\r\n tabPanel.option((0, _uiForm2.getFullOptionName)(\"items[\".concat(itemIndex, \"]\"), optionName), value);\r\n return true\r\n }\r\n }\r\n return false\r\n };\r\n return TabOptionItemOptionAction\r\n}(_uiForm.default);\r\nvar SimpleItemTemplateChangedAction = function(_ItemOptionAction3) {\r\n _inheritsLoose(SimpleItemTemplateChangedAction, _ItemOptionAction3);\r\n\r\n function SimpleItemTemplateChangedAction() {\r\n return _ItemOptionAction3.apply(this, arguments) || this\r\n }\r\n var _proto3 = SimpleItemTemplateChangedAction.prototype;\r\n _proto3.tryExecute = function() {\r\n return false\r\n };\r\n return SimpleItemTemplateChangedAction\r\n}(_uiForm.default);\r\nvar GroupItemTemplateChangedAction = function(_ItemOptionAction4) {\r\n _inheritsLoose(GroupItemTemplateChangedAction, _ItemOptionAction4);\r\n\r\n function GroupItemTemplateChangedAction() {\r\n return _ItemOptionAction4.apply(this, arguments) || this\r\n }\r\n var _proto4 = GroupItemTemplateChangedAction.prototype;\r\n _proto4.tryExecute = function() {\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 return GroupItemTemplateChangedAction\r\n}(_uiForm.default);\r\nvar TabsOptionItemOptionAction = function(_ItemOptionAction5) {\r\n _inheritsLoose(TabsOptionItemOptionAction, _ItemOptionAction5);\r\n\r\n function TabsOptionItemOptionAction() {\r\n return _ItemOptionAction5.apply(this, arguments) || this\r\n }\r\n var _proto5 = TabsOptionItemOptionAction.prototype;\r\n _proto5.tryExecute = function() {\r\n var tabPanel = this.findInstance();\r\n if (tabPanel) {\r\n var value = this._options.value;\r\n tabPanel.option(\"dataSource\", value);\r\n return true\r\n }\r\n return false\r\n };\r\n return TabsOptionItemOptionAction\r\n}(_uiForm.default);\r\nvar ValidationRulesItemOptionAction = function(_ItemOptionAction6) {\r\n _inheritsLoose(ValidationRulesItemOptionAction, _ItemOptionAction6);\r\n\r\n function ValidationRulesItemOptionAction() {\r\n return _ItemOptionAction6.apply(this, arguments) || this\r\n }\r\n var _proto6 = ValidationRulesItemOptionAction.prototype;\r\n _proto6.tryExecute = function() {\r\n var item = this._options.item;\r\n var instance = this.findInstance();\r\n var validator = instance && (0, _element_data.data)(instance.$element()[0], \"dxValidator\");\r\n if (validator && item) {\r\n var filterRequired = function(item) {\r\n return \"required\" === item.type\r\n };\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 return ValidationRulesItemOptionAction\r\n}(_uiForm.default);\r\nvar CssClassItemOptionAction = function(_ItemOptionAction7) {\r\n _inheritsLoose(CssClassItemOptionAction, _ItemOptionAction7);\r\n\r\n function CssClassItemOptionAction() {\r\n return _ItemOptionAction7.apply(this, arguments) || this\r\n }\r\n var _proto7 = CssClassItemOptionAction.prototype;\r\n _proto7.tryExecute = function() {\r\n var $itemContainer = this.findItemContainer();\r\n var _this$_options2 = this._options,\r\n previousValue = _this$_options2.previousValue,\r\n value = _this$_options2.value;\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 return CssClassItemOptionAction\r\n}(_uiForm.default);\r\nvar tryCreateItemOptionAction = function(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((0, _extend.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((0, _extend.extend)(itemActionOptions, {\r\n optionName: optionName\r\n }));\r\n default:\r\n return null\r\n }\r\n};\r\nvar _default = tryCreateItemOptionAction;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/form/ui.form.items_runtime_info.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _guid = _interopRequireDefault(require(\"../../core/guid\"));\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _type = require(\"../../core/utils/type\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar FormItemsRunTimeInfo = function() {\r\n function FormItemsRunTimeInfo() {\r\n this._map = {}\r\n }\r\n var _proto = FormItemsRunTimeInfo.prototype;\r\n _proto._findWidgetInstance = function(condition) {\r\n var result;\r\n (0, _iterator.each)(this._map, (function(guid, _ref) {\r\n var widgetInstance = _ref.widgetInstance,\r\n item = _ref.item;\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 _proto._findFieldByCondition = function(callback, valueExpr) {\r\n var result;\r\n (0, _iterator.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 _proto.clear = function() {\r\n this._map = {}\r\n };\r\n _proto.removeItemsByItems = function(itemsRunTimeInfo) {\r\n var _this = this;\r\n (0, _iterator.each)(itemsRunTimeInfo.getItems(), (function(guid) {\r\n return _this.removeItemByKey(guid)\r\n }))\r\n };\r\n _proto.removeItemByKey = function(key) {\r\n delete this._map[key]\r\n };\r\n _proto.add = function(options) {\r\n var key = options.guid || new _guid.default;\r\n this._map[key] = options;\r\n return key\r\n };\r\n _proto.addItemsOrExtendFrom = function(itemsRunTimeInfo) {\r\n var _this2 = this;\r\n itemsRunTimeInfo.each((function(key, itemRunTimeInfo) {\r\n if (_this2._map[key]) {\r\n if (itemRunTimeInfo.widgetInstance) {\r\n _this2._map[key].widgetInstance = itemRunTimeInfo.widgetInstance\r\n }\r\n _this2._map[key].$itemContainer = itemRunTimeInfo.$itemContainer\r\n } else {\r\n _this2.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 _proto.extendRunTimeItemInfoByKey = function(key, options) {\r\n if (this._map[key]) {\r\n this._map[key] = (0, _extend.extend)(this._map[key], options)\r\n }\r\n };\r\n _proto.findWidgetInstanceByItem = function(item) {\r\n return this._findWidgetInstance((function(storedItem) {\r\n return storedItem === item\r\n }))\r\n };\r\n _proto.findGroupOrTabLayoutManagerByPath = function(targetPath) {\r\n return this._findFieldByCondition((function(_ref2) {\r\n var path = _ref2.path;\r\n return path === targetPath\r\n }), \"layoutManager\")\r\n };\r\n _proto.findKeyByPath = function(targetPath) {\r\n return this._findFieldByCondition((function(_ref3) {\r\n var path = _ref3.path;\r\n return path === targetPath\r\n }), \"guid\")\r\n };\r\n _proto.findWidgetInstanceByName = function(name) {\r\n return this._findWidgetInstance((function(item) {\r\n return name === item.name\r\n }))\r\n };\r\n _proto.findWidgetInstanceByDataField = function(dataField) {\r\n return this._findWidgetInstance((function(item) {\r\n return dataField === ((0, _type.isString)(item) ? item : item.dataField)\r\n }))\r\n };\r\n _proto.findItemContainerByItem = function(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 _proto.findItemIndexByItem = function(targetItem) {\r\n return this._findFieldByCondition((function(_ref4) {\r\n var item = _ref4.item;\r\n return item === targetItem\r\n }), \"itemIndex\")\r\n };\r\n _proto.findPreparedItemByItem = function(item) {\r\n return this._findFieldByCondition((function(_ref5) {\r\n var currentItem = _ref5.item;\r\n return currentItem === item\r\n }), \"preparedItem\")\r\n };\r\n _proto.getItems = function() {\r\n return this._map\r\n };\r\n _proto.each = function(handler) {\r\n (0, _iterator.each)(this._map, (function(key, itemRunTimeInfo) {\r\n handler(key, itemRunTimeInfo)\r\n }))\r\n };\r\n _proto.removeItemsByPathStartWith = function(path) {\r\n var _this3 = this;\r\n var keys = Object.keys(this._map);\r\n var filteredKeys = keys.filter((function(key) {\r\n if (_this3._map[key].path) {\r\n return _this3._map[key].path.indexOf(path, 0) > -1\r\n }\r\n return false\r\n }));\r\n filteredKeys.forEach((function(key) {\r\n return _this3.removeItemByKey(key)\r\n }))\r\n };\r\n return FormItemsRunTimeInfo\r\n}();\r\nexports.default = FormItemsRunTimeInfo;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/form/ui.form.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _component_registrator = _interopRequireDefault(require(\"../../core/component_registrator\"));\r\nvar _guid = _interopRequireDefault(require(\"../../core/guid\"));\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _config = _interopRequireDefault(require(\"../../core/config\"));\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _visibility_change = require(\"../../events/visibility_change\");\r\nvar _element = require(\"../../core/element\");\r\nvar _message = _interopRequireDefault(require(\"../../localization/message\"));\r\nvar _ui = _interopRequireDefault(require(\"../widget/ui.widget\"));\r\nvar _editor = _interopRequireDefault(require(\"../editor/editor\"));\r\nvar _window = require(\"../../core/utils/window\");\r\nvar _validation_engine = _interopRequireDefault(require(\"../validation_engine\"));\r\nvar _uiForm = _interopRequireDefault(require(\"./ui.form.items_runtime_info\"));\r\nvar _tab_panel = _interopRequireDefault(require(\"../tab_panel\"));\r\nvar _ui2 = _interopRequireDefault(require(\"../scroll_view/ui.scrollable\"));\r\nvar _deferred = require(\"../../core/utils/deferred\");\r\nvar _themes = require(\"../themes\");\r\nvar _uiForm2 = _interopRequireDefault(require(\"./ui.form.item_options_actions\"));\r\nvar _resize_observer = _interopRequireDefault(require(\"../../core/resize_observer\"));\r\nrequire(\"./ui.form.layout_manager\");\r\nvar _uiForm4 = require(\"./ui.form.utils\");\r\nvar _uiFormLayout_manager = require(\"./ui.form.layout_manager.utils\");\r\nvar _label = require(\"./components/label\");\r\nrequire(\"../validation_summary\");\r\nrequire(\"../validation_group\");\r\nvar _constants = require(\"./constants\");\r\nvar _constants2 = require(\"../toolbar/constants\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _toConsumableArray(arr) {\r\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread()\r\n}\r\n\r\nfunction _nonIterableSpread() {\r\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _unsupportedIterableToArray(o, minLen) {\r\n if (!o) {\r\n return\r\n }\r\n if (\"string\" === typeof o) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n var n = Object.prototype.toString.call(o).slice(8, -1);\r\n if (\"Object\" === n && o.constructor) {\r\n n = o.constructor.name\r\n }\r\n if (\"Map\" === n || \"Set\" === n) {\r\n return Array.from(o)\r\n }\r\n if (\"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n}\r\n\r\nfunction _iterableToArray(iter) {\r\n if (\"undefined\" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter[\"@@iterator\"]) {\r\n return Array.from(iter)\r\n }\r\n}\r\n\r\nfunction _arrayWithoutHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return _arrayLikeToArray(arr)\r\n }\r\n}\r\n\r\nfunction _arrayLikeToArray(arr, len) {\r\n if (null == len || len > arr.length) {\r\n len = arr.length\r\n }\r\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\r\n arr2[i] = arr[i]\r\n }\r\n return arr2\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\nvar FOCUSED_STATE_CLASS = \"dx-state-focused\";\r\nvar ITEM_OPTIONS_FOR_VALIDATION_UPDATING = [\"items\", \"isRequired\", \"validationRules\", \"visible\"];\r\nvar Form = _ui.default.inherit({\r\n _init: function() {\r\n this.callBase();\r\n this._cachedColCountOptions = [];\r\n this._itemsRunTimeInfo = new _uiForm.default;\r\n this._groupsColCount = [];\r\n this._attachSyncSubscriptions()\r\n },\r\n _getDefaultOptions: function() {\r\n return (0, _extend.extend)(this.callBase(), {\r\n formID: \"dx-\" + new _guid.default,\r\n formData: {},\r\n colCount: 1,\r\n screenByWidth: _window.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: _message.default.format(\"dxForm-optionalMark\"),\r\n requiredMessage: _message.default.getFormatter(\"dxForm-requiredMessage\"),\r\n showValidationSummary: false,\r\n items: void 0,\r\n scrollingEnabled: false,\r\n validationGroup: void 0,\r\n stylingMode: (0, _config.default)().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 (0, _themes.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 (0, _extend.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(_constants.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 ? _constants.FIELD_ITEM_CLASS : _constants.FORM_FIELD_ITEM_COL_CLASS + index;\r\n var cssExcludeTabbedSelector = options.excludeTabbed ? \":not(.\".concat(_constants.FIELD_ITEM_TAB_CLASS, \")\") : \"\";\r\n (0, _label.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 = (0, _type.isDefined)(colCount) ? \".\" + _constants.GROUP_COL_COUNT_CLASS + colCount : \"\";\r\n var groupSelector = \".\" + _constants.FORM_FIELD_ITEM_COL_CLASS + columnIndex + \" > .\" + _constants.FIELD_ITEM_CONTENT_CLASS + \" > .\" + _constants.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(_constants.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(\".\" + _constants.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 layoutManager = _ref.layoutManager,\r\n inOneColumn = _ref.inOneColumn,\r\n $container = _ref.$container,\r\n excludeTabbed = _ref.excludeTabbed,\r\n items = _ref.items;\r\n if (!(0, _window.hasWindow)() || \"top\" === this._labelLocation()) {\r\n return\r\n }\r\n var labelMarkOptions = (0, _uiFormLayout_manager.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 (!(0, _type.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(_constants.FORM_UNDERLINED_CLASS)\r\n }\r\n },\r\n _initMarkup: function() {\r\n _validation_engine.default.addGroup(this._getValidationGroup());\r\n this._clearCachedInstances();\r\n this._prepareFormData();\r\n this.$element().addClass(_constants.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 var _this = this;\r\n if ((0, _window.hasWindow)()) {\r\n var formRootElement = this.$element().get(0);\r\n _resize_observer.default.unobserve(formRootElement);\r\n _resize_observer.default.observe(formRootElement, (function() {\r\n _this._resizeHandler()\r\n }))\r\n }\r\n },\r\n _resizeHandler: function() {\r\n if (this._cachedLayoutManagers.length) {\r\n (0, _iterator.each)(this._cachedLayoutManagers, (function(_, 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 (0, _window.hasWindow)() ? (0, _window.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 (0, _visibility_change.triggerResizeEvent)(this.$element().find(\".\".concat(_constants2.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 _resize_observer.default.unobserve(this.$element().get(0))\r\n },\r\n _renderScrollable: function() {\r\n var useNativeScrolling = this.option(\"useNativeScrolling\");\r\n this._scrollable = new _ui2.default(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\") ? (0, _renderer.default)(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 = (0, _renderer.default)(\"<div>\").addClass(_constants.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: function(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 = (0, _uiForm4.concatPaths)(currentPath, (0, _uiForm4.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 ((0, _type.isString)(item)) {\r\n item = {\r\n dataField: item\r\n }\r\n }\r\n if ((0, _type.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 = _constants.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 var _this2 = this;\r\n if (\"group\" === item.itemType) {\r\n item.alignItemLabels = (0, _common.ensureDefined)(item.alignItemLabels, true);\r\n item._prepareGroupItemTemplate = function(itemTemplate) {\r\n if (item.template) {\r\n item.groupContentTemplate = _this2._getTemplate(itemTemplate)\r\n }\r\n item.template = _this2._itemGroupTemplate.bind(_this2, 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, _this3 = this;\r\n var $tabPanel = (0, _renderer.default)(\"<div>\").appendTo($container);\r\n var tabPanelOptions = (0, _extend.extend)({}, item.tabPanelOptions, {\r\n dataSource: item.tabs,\r\n onItemRendered: function(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 (0, _visibility_change.triggerShownEvent)(args.itemElement)\r\n },\r\n itemTemplate: function(itemData, e, container) {\r\n var $container = (0, _renderer.default)(container);\r\n var alignItemLabels = (0, _common.ensureDefined)(itemData.alignItemLabels, true);\r\n var layoutManager = _this3._renderLayoutManager($container, _this3._createLayoutManagerOptions(_this3._tryGetItemsForTemplate(itemData), {\r\n colCount: itemData.colCount,\r\n alignItemLabels: alignItemLabels,\r\n screenByWidth: _this3.option(\"screenByWidth\"),\r\n colCountByScreen: itemData.colCountByScreen,\r\n cssItemClass: itemData.cssItemClass,\r\n onLayoutChanged: function(inOneColumn) {\r\n _this3._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 (_this3._itemsRunTimeInfo) {\r\n _this3._itemsRunTimeInfo.extendRunTimeItemInfoByKey(itemData.guid, {\r\n layoutManager: layoutManager\r\n })\r\n }\r\n if (alignItemLabels) {\r\n _this3._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 = function(items, instance) {\r\n if (Array.isArray(items)) {\r\n items.forEach((function(item) {\r\n return _this3._itemsRunTimeInfo.extendRunTimeItemInfoByKey(item.guid, {\r\n widgetInstance: instance\r\n })\r\n }))\r\n }\r\n };\r\n var tabPanel = this._createComponent($tabPanel, _tab_panel.default, tabPanelOptions);\r\n (0, _renderer.default)($container).parent().addClass(_constants.FIELD_ITEM_CONTENT_HAS_TABS_CLASS);\r\n tabPanel.on(\"optionChanged\", (function(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 }].concat(_toConsumableArray(null !== (_item$tabs = item.tabs) && void 0 !== _item$tabs ? _item$tabs : [])), tabPanel)\r\n },\r\n _itemGroupTemplate: function(item, options, $container) {\r\n var _this4 = this;\r\n var id = options.editorOptions.inputAttr.id;\r\n var $group = (0, _renderer.default)(\"<div>\").toggleClass(_constants.FORM_GROUP_WITH_CAPTION_CLASS, (0, _type.isDefined)(item.caption) && item.caption.length).addClass(_constants.FORM_GROUP_CLASS).appendTo($container);\r\n var groupAria = {\r\n role: \"group\",\r\n labelledby: id\r\n };\r\n this.setAria(groupAria, $group);\r\n (0, _renderer.default)($container).parent().addClass(_constants.FIELD_ITEM_CONTENT_HAS_GROUP_CLASS);\r\n if (item.caption) {\r\n (0, _renderer.default)(\"<span>\").addClass(_constants.FORM_GROUP_CAPTION_CLASS).text(item.caption).attr(\"id\", id).appendTo($group)\r\n }\r\n var $groupContent = (0, _renderer.default)(\"<div>\").addClass(_constants.FORM_GROUP_CONTENT_CLASS).appendTo($group);\r\n if (item.groupContentTemplate) {\r\n item._renderGroupContentTemplate = function() {\r\n $groupContent.empty();\r\n var data = {\r\n formData: _this4.option(\"formData\"),\r\n component: _this4\r\n };\r\n item.groupContentTemplate.render({\r\n model: data,\r\n container: (0, _element.getPublicElement)($groupContent)\r\n })\r\n };\r\n item._renderGroupContentTemplate()\r\n } else {\r\n var 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 var colCount = layoutManager._getColCount();\r\n if (!this._groupsColCount.includes(colCount)) {\r\n this._groupsColCount.push(colCount)\r\n }\r\n $group.addClass(_constants.GROUP_COL_COUNT_CLASS + colCount);\r\n $group.attr(_constants.GROUP_COL_COUNT_ATTR, colCount)\r\n }\r\n },\r\n _createLayoutManagerOptions: function(items, extendedLayoutManagerOptions) {\r\n var _this5 = this;\r\n return (0, _uiForm4.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: function(args) {\r\n if (!_this5._isDataUpdating) {\r\n _this5._triggerOnFieldDataChanged(args)\r\n }\r\n },\r\n onContentReady: function(args) {\r\n _this5._itemsRunTimeInfo.addItemsOrExtendFrom(args.component._itemsRunTimeInfo);\r\n extendedLayoutManagerOptions.onContentReady && extendedLayoutManagerOptions.onContentReady(args)\r\n },\r\n onDisposing: function(_ref2) {\r\n var component = _ref2.component;\r\n var nestedItemsRunTimeInfo = component.getItemsRunTimeInfo();\r\n _this5._itemsRunTimeInfo.removeItemsByItems(nestedItemsRunTimeInfo)\r\n },\r\n onFieldItemRendered: function() {\r\n var _this5$_validationSum;\r\n null === (_this5$_validationSum = _this5._validationSummary) || void 0 === _this5$_validationSum ? void 0 : _this5$_validationSum.refreshValidationGroup()\r\n }\r\n })\r\n },\r\n _renderLayoutManager: function($parent, layoutManagerOptions) {\r\n var _this6 = this;\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: (0, _extend.extend)(baseColCountByScreen, layoutManagerOptions.colCountByScreen)\r\n });\r\n var $element = (0, _renderer.default)(\"<div>\");\r\n $element.appendTo($parent);\r\n var instance = this._createComponent($element, \"dxLayoutManager\", layoutManagerOptions);\r\n instance.on(\"autoColCountChanged\", (function() {\r\n _this6._clearAutoColCountChangedTimeout();\r\n _this6.autoColCountChangedTimeoutId = setTimeout((function() {\r\n return !_this6._disposed && _this6._refresh()\r\n }), 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 (!(0, _type.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 (0, _iterator.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 ((0, _type.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 _validation_engine.default.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 (0, _uiForm2.default)(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 = (0, _uiForm4.getOptionNameFromFullName)(fullName);\r\n if (ITEM_OPTIONS_FOR_VALIDATION_UPDATING.indexOf(optionName) > -1) {\r\n _validation_engine.default.addGroup(this._getValidationGroup());\r\n if (this.option(\"showValidationSummary\")) {\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 _setLayoutManagerItemOption: function(layoutManager, optionName, value, path) {\r\n var _this7 = this;\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, (function() {\r\n !layoutManager._disposed && layoutManager.endUpdate();\r\n return (new _deferred.Deferred).resolve()\r\n }))\r\n }\r\n layoutManager.on(\"contentReady\", (function contentReadyHandler(e) {\r\n e.component.off(\"contentReady\", contentReadyHandler);\r\n if ((0, _uiForm4.isFullPathContainsTabs)(path)) {\r\n var tabPath = (0, _uiForm4.tryGetTabPath)(path);\r\n var tabLayoutManager = _this7._itemsRunTimeInfo.findGroupOrTabLayoutManagerByPath(tabPath);\r\n if (tabLayoutManager) {\r\n _this7._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 _this7._alignLabels(_this7._rootLayoutManager, _this7._rootLayoutManager.isSingleColumnMode())\r\n }\r\n }));\r\n layoutManager.option(optionName, value);\r\n this._updateValidationGroupAndSummaryIfNeeded(optionName)\r\n },\r\n _tryChangeLayoutManagerItemOption: function(fullName, value) {\r\n var nameParts = fullName.split(\".\");\r\n var optionName = (0, _uiForm4.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 = (0, _uiForm4.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((0, _uiForm4.getFullOptionName)(_itemPath, \"items\"));\r\n if (formItems && formItems.length) {\r\n var layoutManagerItems = _layoutManager.option(\"items\");\r\n formItems.forEach((function(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: function(itemPath, options) {\r\n var _this8 = this;\r\n var result;\r\n this.beginUpdate();\r\n (0, _iterator.each)(options, (function(optionName, optionValue) {\r\n result = _this8._tryChangeLayoutManagerItemOption((0, _uiForm4.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 && (0, _type.isObject)(data)) {\r\n (0, _iterator.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 ((0, _type.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 && (0, _type.isDefined)(formData)) {\r\n (0, _iterator.each)(formData, (function(dataField) {\r\n result.push({\r\n dataField: dataField\r\n })\r\n }))\r\n }\r\n if (items) {\r\n (0, _iterator.each)(items, (function(index, item) {\r\n if ((0, _type.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 = (0, _type.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 (0, _iterator.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 ((0, _uiForm4.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 = (0, _type.isDefined)(name);\r\n var nameWithoutSpaces = (0, _uiForm4.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 && !(0, _type.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 (0, _iterator.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 ((0, _type.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 (0, _iterator.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 = \".\" + FOCUSED_STATE_CLASS + \" input, .\" + FOCUSED_STATE_CLASS + \" textarea\";\r\n _events_engine.default.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 ((0, _type.isDefined)(itemRunTimeInfo.widgetInstance) && _editor.default.isEditor(itemRunTimeInfo.widgetInstance)) {\r\n itemRunTimeInfo.widgetInstance.reset();\r\n itemRunTimeInfo.widgetInstance.option(\"isValid\", true)\r\n }\r\n }));\r\n _validation_engine.default.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 ((0, _type.isObject)(_data)) {\r\n (0, _iterator.each)(_data, (function(dataField, fieldValue) {\r\n that._updateData(isComplexData ? data + \".\" + dataField : dataField, fieldValue, (0, _type.isObject)(fieldValue))\r\n }))\r\n } else if ((0, _type.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 ((0, _type.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(\".\" + _constants.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 _validation_engine.default.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.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 _this9 = this;\r\n var items = this._generateItemsFromData(this.option(\"items\"));\r\n var item = this._getItemByField(id, items);\r\n var path = (0, _uiForm4.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 = (0, _uiForm4.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 ((0, _type.isObject)(option)) {\r\n if (!this._tryChangeLayoutManagerItemOptions(path, option)) {\r\n var allowUpdateItems;\r\n (0, _iterator.each)(option, (function(optionName, optionValue) {\r\n var itemAction = _this9._tryCreateItemOptionAction(optionName, item, optionValue, item[optionName], path);\r\n _this9._changeItemOption(item, optionName, optionValue);\r\n if (!allowUpdateItems && !_this9._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 _validation_engine.default.validateGroup(this._getValidationGroup())\r\n },\r\n getItemID: function(name) {\r\n return \"dx_\" + this.option(\"formID\") + \"_\" + (name || new _guid.default)\r\n },\r\n getTargetScreenFactor: function() {\r\n return this._targetScreenFactor\r\n }\r\n});\r\n(0, _component_registrator.default)(\"dxForm\", Form);\r\nvar _default = Form;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/form/ui.form.layout_manager.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _size = require(\"../../core/utils/size\");\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _uiForm = _interopRequireDefault(require(\"./ui.form.items_runtime_info\"));\r\nvar _component_registrator = _interopRequireDefault(require(\"../../core/component_registrator\"));\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _variable_wrapper = _interopRequireDefault(require(\"../../core/utils/variable_wrapper\"));\r\nvar _window = require(\"../../core/utils/window\");\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _array = require(\"../../core/utils/array\");\r\nvar _data = require(\"../../core/utils/data\");\r\nvar _remove = require(\"../../events/remove\");\r\nvar _message = _interopRequireDefault(require(\"../../localization/message\"));\r\nvar _ui = _interopRequireDefault(require(\"../widget/ui.widget\"));\r\nvar _responsive_box = _interopRequireDefault(require(\"../responsive_box\"));\r\nvar _constants = require(\"./constants\");\r\nrequire(\"../text_box\");\r\nrequire(\"../number_box\");\r\nrequire(\"../check_box\");\r\nrequire(\"../date_box\");\r\nrequire(\"../button\");\r\nvar _field_item = require(\"./components/field_item\");\r\nvar _button_item = require(\"./components/button_item\");\r\nvar _empty_item = require(\"./components/empty_item\");\r\nvar _uiFormLayout_manager = require(\"./ui.form.layout_manager.utils\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\n\r\nfunction _toConsumableArray(arr) {\r\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread()\r\n}\r\n\r\nfunction _nonIterableSpread() {\r\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _unsupportedIterableToArray(o, minLen) {\r\n if (!o) {\r\n return\r\n }\r\n if (\"string\" === typeof o) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n var n = Object.prototype.toString.call(o).slice(8, -1);\r\n if (\"Object\" === n && o.constructor) {\r\n n = o.constructor.name\r\n }\r\n if (\"Map\" === n || \"Set\" === n) {\r\n return Array.from(o)\r\n }\r\n if (\"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n}\r\n\r\nfunction _iterableToArray(iter) {\r\n if (\"undefined\" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter[\"@@iterator\"]) {\r\n return Array.from(iter)\r\n }\r\n}\r\n\r\nfunction _arrayWithoutHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return _arrayLikeToArray(arr)\r\n }\r\n}\r\n\r\nfunction _arrayLikeToArray(arr, len) {\r\n if (null == len || len > arr.length) {\r\n len = arr.length\r\n }\r\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\r\n arr2[i] = arr[i]\r\n }\r\n return arr2\r\n}\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 = _ui.default.inherit({\r\n _getDefaultOptions: function() {\r\n return (0, _extend.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: _message.default.format(\"dxForm-optionalMark\"),\r\n requiredMessage: _message.default.getFormatter(\"dxForm-requiredMessage\")\r\n })\r\n },\r\n _setOptionsByReference: function() {\r\n this.callBase();\r\n (0, _extend.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 _uiForm.default;\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 _this = this;\r\n var layoutData = this.option(\"layoutData\");\r\n var userItems = this.option(\"items\");\r\n if ((0, _type.isDefined)(userItems)) {\r\n userItems.forEach((function(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 ((0, _type.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 allowIndeterminateState = _ref.allowIndeterminateState,\r\n editorType = _ref.editorType,\r\n dataField = _ref.dataField;\r\n if (true === allowIndeterminateState && \"dxCheckBox\" === editorType) {\r\n var nameParts = [\"layoutData\"].concat(_toConsumableArray(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 (!_variable_wrapper.default.isWrapped(layoutData[dataField]) && (0, _type.isDefined)(dataField)) {\r\n this.option(\"layoutData.\" + dataField, newValue)\r\n } else if (_variable_wrapper.default.isWritableWrapped(layoutData[dataField])) {\r\n newValue = (0, _type.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 = (0, _type.isDefined)(userItems);\r\n var customizeItem = that.option(\"customizeItem\");\r\n var items = isUserItemsExist ? userItems : this._generateItemsByData(layoutData);\r\n if ((0, _type.isDefined)(items)) {\r\n var processedItems = [];\r\n (0, _iterator.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 ((0, _type.isObject)(item) && false !== _variable_wrapper.default.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 ((0, _type.isObject)(item) && (0, _type.isDefined)(item.visible) && (0, _type.isFunction)(watch)) {\r\n that._itemWatchers.push(watch((function() {\r\n return _variable_wrapper.default.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 ((0, _type.isDefined)(layoutData)) {\r\n (0, _iterator.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 !((0, _type.isFunction)(itemData) && !_variable_wrapper.default.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 = _constants.SIMPLE_ITEM_TYPE\r\n }\r\n if (!(0, _type.isDefined)(item.editorType) && (0, _type.isDefined)(item.dataField)) {\r\n var value = this._getDataByField(item.dataField);\r\n item.editorType = (0, _type.isDefined)(value) ? this._getEditorTypeByDataType((0, _type.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 (0, _array.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(_constants.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 = (0, _renderer.default)(\"<div>\").appendTo(this.$element());\r\n this._prepareItemsWithMerging(colCount);\r\n var layoutItems = this._generateLayoutItems();\r\n this._responsiveBox = this._createComponent($container, _responsive_box.default, this._getResponsiveBoxConfig(layoutItems, colCount, templatesInfo));\r\n if (!(0, _window.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((function(_ref2) {\r\n var _item$label;\r\n var item = _ref2.item;\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 (0, _iterator.each)(templatesInfo, (function(index, info) {\r\n switch (info.itemType) {\r\n case \"empty\":\r\n (0, _empty_item.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(_constants.LAYOUT_MANAGER_ONE_COLUMN, isSingleColumnMode);\r\n onLayoutChanged(isSingleColumnMode)\r\n }\r\n },\r\n onContentReady: function(e) {\r\n if ((0, _window.hasWindow)()) {\r\n that._renderTemplates(templatesInfo)\r\n }\r\n if (that.option(\"onLayoutChanged\")) {\r\n that.$element().toggleClass(_constants.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 = (0, _renderer.default)(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(_constants.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 === _constants.SIMPLE_ITEM_TYPE && that.option(\"isRoot\")) {\r\n $itemElement.addClass(_constants.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(_constants.FIELD_ITEM_CLASS);\r\n itemCssClassList.push(that.option(\"cssItemClass\"));\r\n if ((0, _type.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 = (0, _window.hasWindow)() ? (0, _window.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 (!(0, _window.hasWindow)()) {\r\n return 1\r\n }\r\n var minColWidth = this.option(\"minColWidth\");\r\n var width = (0, _size.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 ((0, _type.isDefined)(item.disabled)) {\r\n generatedItem.disabled = item.disabled\r\n }\r\n if ((0, _type.isDefined)(item.visible)) {\r\n generatedItem.visible = item.visible\r\n }\r\n if ((0, _type.isDefined)(item.colSpan)) {\r\n generatedItem.location.colspan = item.colSpan\r\n }\r\n if ((0, _type.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 (0, _empty_item.renderEmptyItem)({\r\n $container: $container\r\n })\r\n },\r\n _renderButtonItem: function(_ref3) {\r\n var item = _ref3.item,\r\n $parent = _ref3.$parent,\r\n rootElementCssClassList = _ref3.rootElementCssClassList;\r\n var _renderButtonItem2 = (0, _button_item.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 $rootElement = _renderButtonItem2.$rootElement,\r\n buttonInstance = _renderButtonItem2.buttonInstance;\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, _this2 = this;\r\n var item = _ref4.item,\r\n $parent = _ref4.$parent,\r\n rootElementCssClassList = _ref4.rootElementCssClassList;\r\n var editorValue = this._getDataByField(item.dataField);\r\n var canAssignUndefinedValueToEditor = false;\r\n if (void 0 === editorValue) {\r\n var allowIndeterminateState = item.allowIndeterminateState,\r\n editorType = item.editorType,\r\n dataField = item.dataField;\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 _renderFieldItem2 = (0, _field_item.renderFieldItem)((0, _uiFormLayout_manager.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: function() {\r\n _this2._incTemplateRenderedCallCount();\r\n if (_this2._shouldAlignLabelsOnTemplateRendered(formOrLayoutManager, itemsWithLabelTemplateCount)) {\r\n formOrLayoutManager._alignLabels(_this2, _this2.isSingleColumnMode(formOrLayoutManager))\r\n }\r\n }\r\n })),\r\n $fieldEditorContainer = _renderFieldItem2.$fieldEditorContainer,\r\n widgetInstance = _renderFieldItem2.widgetInstance,\r\n $rootElement = _renderFieldItem2.$rootElement;\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: function() {\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: function(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\")((0, _extend.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 (!(0, _type.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 _events_engine.default.on($container, _remove.removeEvent, dispose)\r\n },\r\n _getWatch: function() {\r\n if (!(0, _type.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\", (function(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 _this3 = this;\r\n var layoutData = this.option(\"layoutData\");\r\n if ((0, _type.isObject)(layoutData)) {\r\n Object.getOwnPropertyNames(layoutData).forEach((function(property) {\r\n return delete _this3._optionsByReference[\"layoutData.\" + property]\r\n }))\r\n }\r\n if ((0, _type.isObject)(newLayoutData)) {\r\n Object.getOwnPropertyNames(newLayoutData).forEach((function(property) {\r\n return _this3._optionsByReference[\"layoutData.\" + property] = true\r\n }))\r\n }\r\n },\r\n _resetWidget: function(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: function(args) {\r\n var _this4 = this;\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 (!(0, _type.isEmptyObject)(args.value)) {\r\n this._itemsRunTimeInfo.each((function(_, itemRunTimeInfo) {\r\n if ((0, _type.isDefined)(itemRunTimeInfo.item)) {\r\n var dataField = itemRunTimeInfo.item.dataField;\r\n if (dataField && (0, _type.isDefined)(itemRunTimeInfo.widgetInstance)) {\r\n var valueGetter = (0, _data.compileGetter)(dataField);\r\n var dataValue = valueGetter(args.value);\r\n var _itemRunTimeInfo$item = itemRunTimeInfo.item,\r\n allowIndeterminateState = _itemRunTimeInfo$item.allowIndeterminateState,\r\n editorType = _itemRunTimeInfo$item.editorType;\r\n if (void 0 !== dataValue || _this4._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 _this4._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: function(editorInstance, dataField) {\r\n var _this5 = this;\r\n this.on(\"optionChanged\", (function(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\", (function(args) {\r\n var isValueReferenceType = (0, _type.isObject)(args.value) || Array.isArray(args.value);\r\n if (!_this5._disableEditorValueChangedHandler && !(isValueReferenceType && args.value === args.previousValue)) {\r\n _this5._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 ((0, _type.isObject)(data)) {\r\n (0, _iterator.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\n(0, _component_registrator.default)(\"dxLayoutManager\", LayoutManager);\r\nvar _default = LayoutManager;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/form/ui.form.layout_manager.utils.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.EDITORS_WITHOUT_LABELS = void 0;\r\nexports.convertToLabelMarkOptions = convertToLabelMarkOptions;\r\nexports.convertToRenderFieldItemOptions = convertToRenderFieldItemOptions;\r\nexports.getLabelMarkText = getLabelMarkText;\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _inflector = require(\"../../core/utils/inflector\");\r\nvar _guid = _interopRequireDefault(require(\"../../core/guid\"));\r\nvar _constants = require(\"./constants\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar EDITORS_WITH_ARRAY_VALUE = [\"dxTagBox\", \"dxRangeSlider\", \"dxDateRangeBox\"];\r\nvar EDITORS_WITHOUT_LABELS = [\"dxCalendar\", \"dxCheckBox\", \"dxHtmlEditor\", \"dxRadioGroup\", \"dxRangeSlider\", \"dxSlider\", \"dxSwitch\"];\r\nexports.EDITORS_WITHOUT_LABELS = EDITORS_WITHOUT_LABELS;\r\n\r\nfunction convertToRenderFieldItemOptions(_ref) {\r\n var $parent = _ref.$parent,\r\n rootElementCssClassList = _ref.rootElementCssClassList,\r\n formOrLayoutManager = _ref.formOrLayoutManager,\r\n createComponentCallback = _ref.createComponentCallback,\r\n item = _ref.item,\r\n template = _ref.template,\r\n labelTemplate = _ref.labelTemplate,\r\n name = _ref.name,\r\n formLabelLocation = _ref.formLabelLocation,\r\n requiredMessageTemplate = _ref.requiredMessageTemplate,\r\n validationGroup = _ref.validationGroup,\r\n editorValue = _ref.editorValue,\r\n canAssignUndefinedValueToEditor = _ref.canAssignUndefinedValueToEditor,\r\n editorValidationBoundary = _ref.editorValidationBoundary,\r\n editorStylingMode = _ref.editorStylingMode,\r\n showColonAfterLabel = _ref.showColonAfterLabel,\r\n managerLabelLocation = _ref.managerLabelLocation,\r\n itemId = _ref.itemId,\r\n managerMarkOptions = _ref.managerMarkOptions,\r\n labelMode = _ref.labelMode,\r\n onLabelTemplateRendered = _ref.onLabelTemplateRendered;\r\n var isRequired = (0, _type.isDefined)(item.isRequired) ? item.isRequired : !!_hasRequiredRuleInSet(item.validationRules);\r\n var isSimpleItem = item.itemType === _constants.SIMPLE_ITEM_TYPE;\r\n var helpID = item.helpText ? \"dx-\" + new _guid.default : 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 labelLocation = labelOptions.location,\r\n labelID = labelOptions.labelID;\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 && !(0, _type.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\n\r\nfunction getLabelMarkText(_ref2) {\r\n var showRequiredMark = _ref2.showRequiredMark,\r\n requiredMark = _ref2.requiredMark,\r\n showOptionalMark = _ref2.showOptionalMark,\r\n optionalMark = _ref2.optionalMark;\r\n if (!showRequiredMark && !showOptionalMark) {\r\n return \"\"\r\n }\r\n return String.fromCharCode(160) + (showRequiredMark ? requiredMark : optionalMark)\r\n}\r\n\r\nfunction convertToLabelMarkOptions(_ref3, isRequired) {\r\n var showRequiredMark = _ref3.showRequiredMark,\r\n requiredMark = _ref3.requiredMark,\r\n showOptionalMark = _ref3.showOptionalMark,\r\n optionalMark = _ref3.optionalMark;\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 editorType = _ref4.editorType,\r\n defaultEditorName = _ref4.defaultEditorName,\r\n editorValue = _ref4.editorValue,\r\n canAssignUndefinedValueToEditor = _ref4.canAssignUndefinedValueToEditor,\r\n externalEditorOptions = _ref4.externalEditorOptions,\r\n editorInputId = _ref4.editorInputId,\r\n editorValidationBoundary = _ref4.editorValidationBoundary,\r\n editorStylingMode = _ref4.editorStylingMode,\r\n formLabelMode = _ref4.formLabelMode,\r\n labelText = _ref4.labelText,\r\n labelMark = _ref4.labelMark;\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 (!(0, _type.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 = (0, _extend.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 (0, _iterator.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 item = _ref5.item,\r\n id = _ref5.id,\r\n isRequired = _ref5.isRequired,\r\n managerMarkOptions = _ref5.managerMarkOptions,\r\n showColonAfterLabel = _ref5.showColonAfterLabel,\r\n labelLocation = _ref5.labelLocation,\r\n labelTemplate = _ref5.labelTemplate,\r\n formLabelMode = _ref5.formLabelMode,\r\n onLabelTemplateRendered = _ref5.onLabelTemplateRendered;\r\n var isEditorWithoutLabels = EDITORS_WITHOUT_LABELS.includes(item.editorType);\r\n var labelOptions = (0, _extend.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\", \"dxDateRangeBox\"].includes(item.editorType)) {\r\n labelOptions.labelID = \"dx-label-\".concat(new _guid.default)\r\n }\r\n if (!labelOptions.text && item.dataField) {\r\n labelOptions.text = (0, _inflector.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 (cjs/ui/form/ui.form.utils.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.concatPaths = void 0;\r\nexports.convertToLayoutManagerOptions = convertToLayoutManagerOptions;\r\nexports.tryGetTabPath = exports.isFullPathContainsTabs = exports.isEqualToDataFieldOrNameOrTitleOrCaption = exports.getTextWithoutSpaces = exports.getOptionNameFromFullName = exports.getItemPath = exports.getFullOptionName = exports.createItemPathByIndex = void 0;\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _extend = require(\"../../core/utils/extend\");\r\n\r\nfunction _toConsumableArray(arr) {\r\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread()\r\n}\r\n\r\nfunction _nonIterableSpread() {\r\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _unsupportedIterableToArray(o, minLen) {\r\n if (!o) {\r\n return\r\n }\r\n if (\"string\" === typeof o) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n var n = Object.prototype.toString.call(o).slice(8, -1);\r\n if (\"Object\" === n && o.constructor) {\r\n n = o.constructor.name\r\n }\r\n if (\"Map\" === n || \"Set\" === n) {\r\n return Array.from(o)\r\n }\r\n if (\"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n}\r\n\r\nfunction _iterableToArray(iter) {\r\n if (\"undefined\" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter[\"@@iterator\"]) {\r\n return Array.from(iter)\r\n }\r\n}\r\n\r\nfunction _arrayWithoutHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return _arrayLikeToArray(arr)\r\n }\r\n}\r\n\r\nfunction _arrayLikeToArray(arr, len) {\r\n if (null == len || len > arr.length) {\r\n len = arr.length\r\n }\r\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\r\n arr2[i] = arr[i]\r\n }\r\n return arr2\r\n}\r\nvar createItemPathByIndex = function(index, isTabs) {\r\n return \"\".concat(isTabs ? \"tabs\" : \"items\", \"[\").concat(index, \"]\")\r\n};\r\nexports.createItemPathByIndex = createItemPathByIndex;\r\nvar concatPaths = function(path1, path2) {\r\n if ((0, _type.isDefined)(path1) && (0, _type.isDefined)(path2)) {\r\n return \"\".concat(path1, \".\").concat(path2)\r\n }\r\n return path1 || path2\r\n};\r\nexports.concatPaths = concatPaths;\r\nvar getTextWithoutSpaces = function(text) {\r\n return text ? text.replace(/\\s/g, \"\") : void 0\r\n};\r\nexports.getTextWithoutSpaces = getTextWithoutSpaces;\r\nvar isEqualToDataFieldOrNameOrTitleOrCaption = function(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\nexports.isEqualToDataFieldOrNameOrTitleOrCaption = isEqualToDataFieldOrNameOrTitleOrCaption;\r\nvar getFullOptionName = function(path, optionName) {\r\n return \"\".concat(path, \".\").concat(optionName)\r\n};\r\nexports.getFullOptionName = getFullOptionName;\r\nvar getOptionNameFromFullName = function(fullName) {\r\n var parts = fullName.split(\".\");\r\n return parts[parts.length - 1].replace(/\\[\\d+]/, \"\")\r\n};\r\nexports.getOptionNameFromFullName = getOptionNameFromFullName;\r\nvar tryGetTabPath = function(fullPath) {\r\n var pathParts = fullPath.split(\".\");\r\n var resultPathParts = _toConsumableArray(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\nexports.tryGetTabPath = tryGetTabPath;\r\nvar isFullPathContainsTabs = function(fullPath) {\r\n return fullPath.indexOf(\"tabs\") > -1\r\n};\r\nexports.isFullPathContainsTabs = isFullPathContainsTabs;\r\nvar getItemPath = function 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\nexports.getItemPath = getItemPath;\r\n\r\nfunction convertToLayoutManagerOptions(_ref) {\r\n var form = _ref.form,\r\n $formElement = _ref.$formElement,\r\n formOptions = _ref.formOptions,\r\n items = _ref.items,\r\n validationGroup = _ref.validationGroup,\r\n extendedLayoutManagerOptions = _ref.extendedLayoutManagerOptions,\r\n onFieldDataChanged = _ref.onFieldDataChanged,\r\n onContentReady = _ref.onContentReady,\r\n onDisposing = _ref.onDisposing,\r\n onFieldItemRendered = _ref.onFieldItemRendered;\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 = (0, _extend.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 (cjs/ui/gallery.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _size = require(\"../core/utils/size\");\r\nvar _renderer = _interopRequireDefault(require(\"../core/renderer\"));\r\nvar _events_engine = _interopRequireDefault(require(\"../events/core/events_engine\"));\r\nvar _component_registrator = _interopRequireDefault(require(\"../core/component_registrator\"));\r\nvar _common = require(\"../core/utils/common\");\r\nvar _type = require(\"../core/utils/type\");\r\nvar _window = require(\"../core/utils/window\");\r\nvar _extend = require(\"../core/utils/extend\");\r\nvar _element = require(\"../core/element\");\r\nvar _fx = _interopRequireDefault(require(\"../animation/fx\"));\r\nvar _click = require(\"../events/click\");\r\nvar _translator = require(\"../animation/translator\");\r\nvar _devices = _interopRequireDefault(require(\"../core/devices\"));\r\nvar _ui = _interopRequireDefault(require(\"./widget/ui.widget\"));\r\nvar _index = require(\"../events/utils/index\");\r\nvar _uiCollection_widget = _interopRequireDefault(require(\"./collection/ui.collection_widget.edit\"));\r\nvar _swipeable = _interopRequireDefault(require(\"../events/gesture/swipeable\"));\r\nvar _bindable_template = require(\"../core/templates/bindable_template\");\r\nvar _deferred = require(\"../core/utils/deferred\");\r\nvar _visibility_change = require(\"../events/visibility_change\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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 ITEM_CONTENT_SELECTOR = \".dx-item-content\";\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 = _ui.default.inherit({\r\n _supportedKeys: function() {\r\n return (0, _extend.extend)(this.callBase(), {\r\n pageUp: _common.noop,\r\n pageDown: _common.noop\r\n })\r\n },\r\n _getDefaultOptions: function() {\r\n return (0, _extend.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 = (0, _index.addNamespace)(_click.name, this.NAME);\r\n $element.addClass(GALLERY_CLASS + \"-nav-button-\" + this.option(\"direction\"));\r\n _events_engine.default.off($element, eventName);\r\n _events_engine.default.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 = _uiCollection_widget.default.inherit({\r\n _activeStateUnit: GALLERY_ITEM_SELECTOR,\r\n _wasAnyItemTemplateRendered: false,\r\n _getDefaultOptions: function() {\r\n return (0, _extend.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 selectByClick: false\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: function() {\r\n return \"desktop\" === _devices.default.real().deviceType && !_devices.default.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 _bindable_template.BindableTemplate(function($container, data) {\r\n var $img = (0, _renderer.default)(\"<img>\").addClass(GALLERY_IMAGE_CLASS);\r\n if ((0, _type.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 = (0, _size.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 = (0, _window.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 = (0, _index.addNamespace)(\"dragstart\", this.NAME);\r\n _events_engine.default.off(this.$element(), eventName);\r\n _events_engine.default.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 = (0, _renderer.default)(\"<div>\").addClass(GALLERY_WRAPPER_CLASS).appendTo(this.$element())\r\n },\r\n _renderItems: function(items) {\r\n if (!(0, _window.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: function() {\r\n var _this = this;\r\n return function() {\r\n if (!_this._wasAnyItemTemplateRendered) {\r\n _this._wasAnyItemTemplateRendered = true;\r\n (0, _visibility_change.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 = (0, _renderer.default)(\"<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 var $clonedItem = (0, _renderer.default)(item).clone(false).addClass(GALLERY_LOOP_ITEM_CLASS).css(\"margin\", 0).appendTo($container);\r\n this.setAria({\r\n role: \"presentation\"\r\n }, $clonedItem)\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 (0, _size.setOuterWidth)((0, _renderer.default)($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 = (0, _renderer.default)(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 (0, _renderer.default)(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 (0, _renderer.default)(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 ((0, _type.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 (0, _translator.move)(this._$container, {\r\n left: targetPosition * this._elementWidth(),\r\n top: 0\r\n });\r\n positionReady = (new _deferred.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.Deferred;\r\n _fx.default.animate(this._$container, (0, _extend.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 (0, _translator.move)($container, {\r\n left: 0,\r\n top: 0\r\n })\r\n }\r\n if (that._needMoveContainerBack()) {\r\n (0, _translator.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(ITEM_CONTENT_SELECTOR);\r\n if (!$firstItem || $firstItem.is(\":hidden\")) {\r\n return\r\n }\r\n if (!this.option(\"height\")) {\r\n this.option(\"height\", (0, _size.getOuterHeight)($firstItem))\r\n }\r\n if (!this.option(\"width\")) {\r\n this.option(\"width\", (0, _size.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 = (0, _renderer.default)(\"<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 = (0, _renderer.default)(\"<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 _events_engine.default.on($element, (0, _index.addNamespace)(_click.name, this.NAME), function(event) {\r\n this._indicatorSelectHandler(event, index)\r\n }.bind(this))\r\n },\r\n _detachIndicatorClickHandler: function($element) {\r\n _events_engine.default.off($element, (0, _index.addNamespace)(_click.name, 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((0, _renderer.default)(element), index) : this._detachIndicatorClickHandler((0, _renderer.default)(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 var selectedIndex = this.option(\"selectedIndex\");\r\n this._itemElements().each((function(index, item) {\r\n if (selectedIndex !== index) {\r\n (0, _renderer.default)(item).find(ITEM_CONTENT_SELECTOR).addClass(GALLERY_INVISIBLE_ITEM_CLASS)\r\n }\r\n }))\r\n },\r\n _releaseInvisibleItems: function() {\r\n this._itemElements().find(ITEM_CONTENT_SELECTOR).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.default, {\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 = (0, _renderer.default)(\"<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 = (0, _renderer.default)(\"<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 = (0, _size.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.default.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\", (0, _element.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.default.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.default.isAnimating(this._$container) || this._userInteraction) {\r\n return\r\n }\r\n this.callBase.apply(this, arguments)\r\n },\r\n _selectFocusedItem: _common.noop,\r\n _moveFocus: function() {\r\n this._stopItemAnimations();\r\n this.callBase.apply(this, arguments);\r\n var index = this.itemElements().index((0, _renderer.default)(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 ((0, _window.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 ((0, _window.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.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\n(0, _component_registrator.default)(\"dxGallery\", Gallery);\r\nvar _default = Gallery;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/gantt.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _ui = _interopRequireDefault(require(\"./gantt/ui.gantt\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar _default = _ui.default;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/gantt/gantt_importer.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.getGanttViewCore = getGanttViewCore;\r\nvar _ui = _interopRequireDefault(require(\"../widget/ui.errors\"));\r\nvar _devexpressGantt = _interopRequireDefault(require(\"devexpress-gantt\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction getGanttViewCore() {\r\n if (!_devexpressGantt.default) {\r\n throw _ui.default.Error(\"E1041\", \"devexpress-gantt\")\r\n }\r\n return _devexpressGantt.default\r\n}\r\n","/**\r\n * DevExtreme (cjs/ui/gantt/ui.gantt.actions.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.GanttActionsManager = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _element = require(\"../../core/element\");\r\nvar _extend = require(\"../../core/utils/extend\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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\nvar GanttActionsManager = function() {\r\n function GanttActionsManager(gantt) {\r\n this._gantt = gantt;\r\n this._mappingHelper = gantt._mappingHelper;\r\n this._customFieldsManager = gantt._customFieldsManager\r\n }\r\n var _proto = GanttActionsManager.prototype;\r\n _proto._createActionByOption = function(optionName) {\r\n return this._gantt._createActionByOption(optionName)\r\n };\r\n _proto._getTaskData = function(key) {\r\n return this._gantt.getTaskData(key)\r\n };\r\n _proto._convertCoreToMappedData = function(optionName, coreData) {\r\n return this._mappingHelper.convertCoreToMappedData(optionName, coreData)\r\n };\r\n _proto._convertMappedToCoreData = function(optionName, mappedData) {\r\n return this._mappingHelper.convertMappedToCoreData(optionName, mappedData)\r\n };\r\n _proto._convertMappedToCoreFields = function(optionName, fields) {\r\n return this._mappingHelper.convertMappedToCoreFields(optionName, fields)\r\n };\r\n _proto._convertCoreToMappedFields = function(optionName, fields) {\r\n return this._mappingHelper.convertCoreToMappedFields(optionName, fields)\r\n };\r\n _proto._saveCustomFieldsDataToCache = function(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 _proto.createTaskDblClickAction = function() {\r\n this._taskDblClickAction = this._createActionByOption(Actions.onTaskDblClick)\r\n };\r\n _proto.taskDblClickAction = function(args) {\r\n if (!this._taskDblClickAction) {\r\n this.createTaskDblClickAction()\r\n }\r\n this._taskDblClickAction(args)\r\n };\r\n _proto.raiseTaskDblClickAction = function(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 _proto.createTaskClickAction = function() {\r\n this._taskClickAction = this._createActionByOption(Actions.onTaskClick)\r\n };\r\n _proto.taskClickAction = function(args) {\r\n if (!this._taskClickAction) {\r\n this.createTaskClickAction()\r\n }\r\n this._taskClickAction(args)\r\n };\r\n _proto.raiseTaskClickAction = function(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 _proto.createSelectionChangedAction = function() {\r\n this._selectionChangedAction = this._createActionByOption(Actions.onSelectionChanged)\r\n };\r\n _proto.selectionChangedAction = function(args) {\r\n if (!this._selectionChangedAction) {\r\n this.createSelectionChangedAction()\r\n }\r\n this._selectionChangedAction(args)\r\n };\r\n _proto.raiseSelectionChangedAction = function(selectedRowKey) {\r\n this.selectionChangedAction({\r\n selectedRowKey: selectedRowKey\r\n })\r\n };\r\n _proto.createCustomCommandAction = function() {\r\n this._customCommandAction = this._createActionByOption(Actions.onCustomCommand)\r\n };\r\n _proto.customCommandAction = function(args) {\r\n if (!this._customCommandAction) {\r\n this.createCustomCommandAction()\r\n }\r\n this._customCommandAction(args)\r\n };\r\n _proto.raiseCustomCommand = function(commandName) {\r\n this.customCommandAction({\r\n name: commandName\r\n })\r\n };\r\n _proto.createContextMenuPreparingAction = function() {\r\n this._contextMenuPreparingAction = this._createActionByOption(Actions.onContextMenuPreparing)\r\n };\r\n _proto.contextMenuPreparingAction = function(args) {\r\n if (!this._contextMenuPreparingAction) {\r\n this.createContextMenuPreparingAction()\r\n }\r\n this._contextMenuPreparingAction(args)\r\n };\r\n _proto.raiseContextMenuPreparing = function(options) {\r\n this.contextMenuPreparingAction(options)\r\n };\r\n _proto._getInsertingAction = function(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 function() {}\r\n };\r\n _proto.raiseInsertingAction = function(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 (0, _extend.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 _proto.createTaskInsertingAction = function() {\r\n this._taskInsertingAction = this._createActionByOption(Actions.onTaskInserting)\r\n };\r\n _proto.taskInsertingAction = function(args) {\r\n var action = this._getTaskInsertingAction();\r\n action(args)\r\n };\r\n _proto._getTaskInsertingAction = function() {\r\n if (!this._taskInsertingAction) {\r\n this.createTaskInsertingAction()\r\n }\r\n return this._taskInsertingAction\r\n };\r\n _proto.createDependencyInsertingAction = function() {\r\n this._dependencyInsertingAction = this._createActionByOption(Actions.onDependencyInserting)\r\n };\r\n _proto.dependencyInsertingAction = function(args) {\r\n var action = this._getDependencyInsertingAction();\r\n action(args)\r\n };\r\n _proto._getDependencyInsertingAction = function() {\r\n if (!this._dependencyInsertingAction) {\r\n this.createDependencyInsertingAction()\r\n }\r\n return this._dependencyInsertingAction\r\n };\r\n _proto.createResourceInsertingAction = function() {\r\n this._resourceInsertingAction = this._createActionByOption(Actions.onResourceInserting)\r\n };\r\n _proto.resourceInsertingAction = function(args) {\r\n var action = this._getResourceInsertingAction();\r\n action(args)\r\n };\r\n _proto._getResourceInsertingAction = function() {\r\n if (!this._resourceInsertingAction) {\r\n this.createResourceInsertingAction()\r\n }\r\n return this._resourceInsertingAction\r\n };\r\n _proto.createResourceAssigningAction = function() {\r\n this._resourceAssigningAction = this._createActionByOption(Actions.onResourceAssigning)\r\n };\r\n _proto.resourceAssigningAction = function(args) {\r\n var action = this._getResourceAssigningAction();\r\n action(args)\r\n };\r\n _proto._getResourceAssigningAction = function() {\r\n if (!this._resourceAssigningAction) {\r\n this.createResourceAssigningAction()\r\n }\r\n return this._resourceAssigningAction\r\n };\r\n _proto._getInsertedAction = function(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 function() {}\r\n };\r\n _proto.raiseInsertedAction = function(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 _proto.createTaskInsertedAction = function() {\r\n this._taskInsertedAction = this._createActionByOption(Actions.onTaskInserted)\r\n };\r\n _proto.taskInsertedAction = function(args) {\r\n var action = this._getTaskInsertedAction();\r\n action(args)\r\n };\r\n _proto._getTaskInsertedAction = function() {\r\n if (!this._taskInsertedAction) {\r\n this.createTaskInsertedAction()\r\n }\r\n return this._taskInsertedAction\r\n };\r\n _proto.createDependencyInsertedAction = function() {\r\n this._dependencyInsertedAction = this._createActionByOption(Actions.onDependencyInserted)\r\n };\r\n _proto.dependencyInsertedAction = function(args) {\r\n var action = this._getDependencyInsertedAction();\r\n action(args)\r\n };\r\n _proto._getDependencyInsertedAction = function() {\r\n if (!this._dependencyInsertedAction) {\r\n this.createDependencyInsertedAction()\r\n }\r\n return this._dependencyInsertedAction\r\n };\r\n _proto.createResourceInsertedAction = function() {\r\n this._resourceInsertedAction = this._createActionByOption(Actions.onResourceInserted)\r\n };\r\n _proto.resourceInsertedAction = function(args) {\r\n var action = this._getResourceInsertedAction();\r\n action(args)\r\n };\r\n _proto._getResourceInsertedAction = function() {\r\n if (!this._resourceInsertedAction) {\r\n this.createResourceInsertedAction()\r\n }\r\n return this._resourceInsertedAction\r\n };\r\n _proto.createResourceAssignedAction = function() {\r\n this._resourceAssignedAction = this._createActionByOption(Actions.onResourceAssigned)\r\n };\r\n _proto.resourceAssignedAction = function(args) {\r\n var action = this._getResourceAssignedAction();\r\n action(args)\r\n };\r\n _proto._getResourceAssignedAction = function() {\r\n if (!this._resourceAssignedAction) {\r\n this.createResourceAssignedAction()\r\n }\r\n return this._resourceAssignedAction\r\n };\r\n _proto._getDeletingAction = function(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 function() {}\r\n };\r\n _proto.raiseDeletingAction = function(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 _proto.createTaskDeletingAction = function() {\r\n this._taskDeletingAction = this._createActionByOption(Actions.onTaskDeleting)\r\n };\r\n _proto.taskDeletingAction = function(args) {\r\n var action = this._getTaskDeletingAction();\r\n action(args)\r\n };\r\n _proto._getTaskDeletingAction = function() {\r\n if (!this._taskDeletingAction) {\r\n this.createTaskDeletingAction()\r\n }\r\n return this._taskDeletingAction\r\n };\r\n _proto.createDependencyDeletingAction = function() {\r\n this._dependencyDeletingAction = this._createActionByOption(Actions.onDependencyDeleting)\r\n };\r\n _proto.dependencyDeletingAction = function(args) {\r\n var action = this._getDependencyDeletingAction();\r\n action(args)\r\n };\r\n _proto._getDependencyDeletingAction = function() {\r\n if (!this._dependencyDeletingAction) {\r\n this.createDependencyDeletingAction()\r\n }\r\n return this._dependencyDeletingAction\r\n };\r\n _proto.createResourceDeletingAction = function() {\r\n this._resourceDeletingAction = this._createActionByOption(Actions.onResourceDeleting)\r\n };\r\n _proto.resourceDeletingAction = function(args) {\r\n var action = this._getResourceDeletingAction();\r\n action(args)\r\n };\r\n _proto._getResourceDeletingAction = function() {\r\n if (!this._resourceDeletingAction) {\r\n this.createResourceDeletingAction()\r\n }\r\n return this._resourceDeletingAction\r\n };\r\n _proto.createResourceUnassigningAction = function() {\r\n this._resourceUnassigningAction = this._createActionByOption(Actions.onResourceUnassigning)\r\n };\r\n _proto.resourceUnassigningAction = function(args) {\r\n var action = this._getResourceUnassigningAction();\r\n action(args)\r\n };\r\n _proto._getResourceUnassigningAction = function() {\r\n if (!this._resourceUnassigningAction) {\r\n this.createResourceUnassigningAction()\r\n }\r\n return this._resourceUnassigningAction\r\n };\r\n _proto._getDeletedAction = function(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 function() {}\r\n };\r\n _proto.raiseDeletedAction = function(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 _proto.createTaskDeletedAction = function() {\r\n this._taskDeletedAction = this._createActionByOption(Actions.onTaskDeleted)\r\n };\r\n _proto.taskDeletedAction = function(args) {\r\n var action = this._getTaskDeletedAction();\r\n action(args)\r\n };\r\n _proto._getTaskDeletedAction = function() {\r\n if (!this._taskDeletedAction) {\r\n this.createTaskDeletedAction()\r\n }\r\n return this._taskDeletedAction\r\n };\r\n _proto.createDependencyDeletedAction = function() {\r\n this._dependencyDeletedAction = this._createActionByOption(Actions.onDependencyDeleted)\r\n };\r\n _proto.dependencyDeletedAction = function(args) {\r\n var action = this._getDependencyDeletedAction();\r\n action(args)\r\n };\r\n _proto._getDependencyDeletedAction = function() {\r\n if (!this._dependencyDeletedAction) {\r\n this.createDependencyDeletedAction()\r\n }\r\n return this._dependencyDeletedAction\r\n };\r\n _proto.createResourceDeletedAction = function() {\r\n this._resourceDeletedAction = this._createActionByOption(Actions.onResourceDeleted)\r\n };\r\n _proto.resourceDeletedAction = function(args) {\r\n var action = this._getResourceDeletedAction();\r\n action(args)\r\n };\r\n _proto._getResourceDeletedAction = function() {\r\n if (!this._resourceDeletedAction) {\r\n this.createResourceDeletedAction()\r\n }\r\n return this._resourceDeletedAction\r\n };\r\n _proto.createResourceUnassignedAction = function() {\r\n this._resourceUnassignedAction = this._createActionByOption(Actions.onResourceUnassigned)\r\n };\r\n _proto.resourceUnassignedAction = function(args) {\r\n var action = this._getResourceUnassignedAction();\r\n action(args)\r\n };\r\n _proto._getResourceUnassignedAction = function() {\r\n if (!this._resourceUnassignedAction) {\r\n this.createResourceUnassignedAction()\r\n }\r\n return this._resourceUnassignedAction\r\n };\r\n _proto._getUpdatingAction = function(optionName) {\r\n switch (optionName) {\r\n case GANTT_TASKS:\r\n return this._getTaskUpdatingAction()\r\n }\r\n return function() {}\r\n };\r\n _proto.raiseUpdatingAction = function(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 (0, _extend.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 _proto.createTaskUpdatingAction = function() {\r\n this._taskUpdatingAction = this._createActionByOption(Actions.onTaskUpdating)\r\n };\r\n _proto.taskUpdatingAction = function(args) {\r\n var action = this._getTaskUpdatingAction();\r\n action(args)\r\n };\r\n _proto._getTaskUpdatingAction = function() {\r\n if (!this._taskUpdatingAction) {\r\n this.createTaskUpdatingAction()\r\n }\r\n return this._taskUpdatingAction\r\n };\r\n _proto._getUpdatedAction = function(optionName) {\r\n switch (optionName) {\r\n case GANTT_TASKS:\r\n return this._getTaskUpdatedAction()\r\n }\r\n return function() {}\r\n };\r\n _proto.raiseUpdatedAction = function(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 _proto.createTaskUpdatedAction = function() {\r\n this._taskUpdatedAction = this._createActionByOption(Actions.onTaskUpdated)\r\n };\r\n _proto.taskUpdatedAction = function(args) {\r\n var action = this._getTaskUpdatedAction();\r\n action(args)\r\n };\r\n _proto._getTaskUpdatedAction = function() {\r\n if (!this._taskUpdatedAction) {\r\n this.createTaskUpdatedAction()\r\n }\r\n return this._taskUpdatedAction\r\n };\r\n _proto.createTaskEditDialogShowingAction = function() {\r\n this._taskEditDialogShowingAction = this._createActionByOption(Actions.onTaskEditDialogShowing)\r\n };\r\n _proto.taskEditDialogShowingAction = function(args) {\r\n var action = this._getTaskEditDialogShowingAction();\r\n action(args)\r\n };\r\n _proto._getTaskEditDialogShowingAction = function() {\r\n if (!this._taskEditDialogShowingAction) {\r\n this.createTaskEditDialogShowingAction()\r\n }\r\n return this._taskEditDialogShowingAction\r\n };\r\n _proto.raiseTaskEditDialogShowingAction = function(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 (0, _extend.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 _proto.createResourceManagerDialogShowingAction = function() {\r\n this._resourceManagerDialogShowingAction = this._createActionByOption(Actions.onResourceManagerDialogShowing)\r\n };\r\n _proto.resourceManagerDialogShowingAction = function(args) {\r\n var action = this._getResourceManagerDialogShowingAction();\r\n action(args)\r\n };\r\n _proto._getResourceManagerDialogShowingAction = function() {\r\n if (!this._resourceManagerDialogShowingAction) {\r\n this.createResourceManagerDialogShowingAction()\r\n }\r\n return this._resourceManagerDialogShowingAction\r\n };\r\n _proto.raiseResourceManagerDialogShowingAction = function(coreArgs) {\r\n var _this = this;\r\n var action = this._getResourceManagerDialogShowingAction();\r\n if (action) {\r\n var mappedResources = coreArgs.values.resources.items.map((function(r) {\r\n return _this._convertMappedToCoreData(GANTT_RESOURCES, r)\r\n }));\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 _proto.createTaskMovingAction = function() {\r\n this._taskMovingAction = this._createActionByOption(Actions.onTaskMoving)\r\n };\r\n _proto.taskMovingAction = function(args) {\r\n var action = this.getTaskMovingAction();\r\n action(args)\r\n };\r\n _proto.getTaskMovingAction = function() {\r\n if (!this._taskMovingAction) {\r\n this.createTaskMovingAction()\r\n }\r\n return this._taskMovingAction\r\n };\r\n _proto.getScaleCellPreparedAction = function() {\r\n if (!this._scaleCellPreparedAction) {\r\n this.createScaleCellPreparedAction()\r\n }\r\n return this._scaleCellPreparedAction\r\n };\r\n _proto.createScaleCellPreparedAction = function() {\r\n this._scaleCellPreparedAction = this._createActionByOption(Actions.onScaleCellPrepared)\r\n };\r\n _proto.raiseScaleCellPreparedAction = function(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: (0, _element.getPublicElement)((0, _renderer.default)(data.scaleElement)),\r\n separatorElement: (0, _element.getPublicElement)((0, _renderer.default)(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 _proto._getScaleType = function(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 return GanttActionsManager\r\n}();\r\nexports.GanttActionsManager = GanttActionsManager;\r\n","/**\r\n * DevExtreme (cjs/ui/gantt/ui.gantt.bars.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.GanttToolbar = exports.GanttContextMenuBar = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _toolbar = _interopRequireDefault(require(\"../toolbar\"));\r\nvar _context_menu = _interopRequireDefault(require(\"../context_menu\"));\r\nvar _message = _interopRequireDefault(require(\"../../localization/message\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\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\nvar Bar = function() {\r\n function Bar(element, owner) {\r\n this._element = element;\r\n this._owner = owner;\r\n this._items = [];\r\n this._createControl()\r\n }\r\n var _proto = Bar.prototype;\r\n _proto.createItems = function(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 _proto._createItemsCore = function(items) {\r\n var _this = this;\r\n return items.map((function(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 ? (0, _extend.extend)(_this._createItemByText(item.name), item) : (0, _extend.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 _proto._createItemByText = function(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, _message.default.format(\"dxGantt-undo\"), this._getIcon(\"undo\"));\r\n case \"redo\":\r\n return this._createDefaultItem(COMMANDS.redo, _message.default.format(\"dxGantt-redo\"), this._getIcon(\"redo\"));\r\n case \"expandall\":\r\n return this._createDefaultItem(COMMANDS.expandAll, _message.default.format(\"dxGantt-expandAll\"), this._getIcon(\"expand\"));\r\n case \"collapseall\":\r\n return this._createDefaultItem(COMMANDS.collapseAll, _message.default.format(\"dxGantt-collapseAll\"), this._getIcon(\"collapse\"));\r\n case \"addtask\":\r\n return this._createDefaultItem(COMMANDS.createTask, _message.default.format(\"dxGantt-addNewTask\"), this._getIcon(\"add\"));\r\n case \"addsubtask\":\r\n return this._createDefaultItem(COMMANDS.createSubTask, _message.default.format(\"dxGantt-contextMenuNewSubtask\"), this._getIcon(\"add-sub-task\"));\r\n case \"deletetask\":\r\n return this._createDefaultItem(COMMANDS.removeTask, _message.default.format(\"dxGantt-deleteSelectedTask\"), this._getIcon(\"delete\"));\r\n case \"deletedependency\":\r\n return this._createDefaultItem(COMMANDS.removeDependency, _message.default.format(\"dxGantt-contextMenuDeleteDependency\"), this._getIcon(\"delete-dependency\"));\r\n case \"zoomin\":\r\n return this._createDefaultItem(COMMANDS.zoomIn, _message.default.format(\"dxGantt-zoomIn\"), this._getIcon(\"zoom-in\"));\r\n case \"zoomout\":\r\n return this._createDefaultItem(COMMANDS.zoomOut, _message.default.format(\"dxGantt-zoomOut\"), this._getIcon(\"zoom-out\"));\r\n case \"fullscreen\":\r\n return this._createDefaultItem(COMMANDS.fullScreen, _message.default.format(\"dxGantt-fullScreen\"), this._getIcon(\"full-screen\"));\r\n case \"taskdetails\":\r\n return this._createDefaultItem(COMMANDS.taskInformation, _message.default.format(\"dxGantt-dialogTaskDetailsTitle\") + \"...\", this._getIcon(\"task-details\"));\r\n case \"resourcemanager\":\r\n return this._createDefaultItem(COMMANDS.resourceManager, _message.default.format(\"dxGantt-dialogResourceManagerTitle\"), this._getIcon(\"resource-manager\"));\r\n case \"showresources\":\r\n return this._createDefaultItem(COMMANDS.toggleResources, _message.default.format(\"dxGantt-showResources\"), this._getIcon(\"toggle-resources\"));\r\n case \"showdependencies\":\r\n return this._createDefaultItem(COMMANDS.toggleDependencies, _message.default.format(\"dxGantt-showDependencies\"), this._getIcon(\"toggle-dependencies\"));\r\n default:\r\n return (0, _extend.extend)(this._getDefaultItemOptions(), {\r\n options: {\r\n text: text\r\n }\r\n })\r\n }\r\n };\r\n _proto._getDefaultItemOptions = function() {\r\n return {}\r\n };\r\n _proto._getItemsCache = function() {\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 _proto._fillCache = function(items) {\r\n var _this2 = this;\r\n items.forEach((function(item) {\r\n var key = item.commandId;\r\n if (void 0 !== key) {\r\n if (!_this2._cache[key]) {\r\n _this2._cache[key] = []\r\n }\r\n _this2._cache[key].push(item)\r\n }\r\n if (item.items) {\r\n _this2._fillCache(item.items)\r\n }\r\n }))\r\n };\r\n _proto._getIcon = function(name) {\r\n return \"dx-gantt-i dx-gantt-i-\" + name\r\n };\r\n _proto.getCommandKeys = function() {\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 _proto.setItemEnabled = function(key, enabled) {\r\n var itemsCache = this._getItemsCache();\r\n itemsCache[key].forEach((function(item) {\r\n item.disabled = !enabled\r\n }))\r\n };\r\n _proto.setItemVisible = function(key, visible) {\r\n var itemsCache = this._getItemsCache();\r\n itemsCache[key].forEach((function(item) {\r\n item.visible = visible\r\n }))\r\n };\r\n _proto.setItemValue = function(_key, _value) {};\r\n _proto.setEnabled = function(enabled) {\r\n this._menu.option(\"disabled\", !enabled)\r\n };\r\n _proto.updateItemsList = function() {};\r\n _proto.isVisible = function() {\r\n return true\r\n };\r\n _proto.isContextMenu = function() {\r\n return false\r\n };\r\n _proto.completeUpdate = function() {};\r\n return Bar\r\n}();\r\nvar GanttToolbar = function(_Bar) {\r\n _inheritsLoose(GanttToolbar, _Bar);\r\n\r\n function GanttToolbar() {\r\n return _Bar.apply(this, arguments) || this\r\n }\r\n var _proto2 = GanttToolbar.prototype;\r\n _proto2._createControl = function() {\r\n var _this3 = this;\r\n this._menu = this._owner._createComponent(this._element, _toolbar.default, {\r\n onItemClick: function(e) {\r\n var commandId = e.itemData.commandId;\r\n if (void 0 !== commandId) {\r\n _this3._executeCommand(e.itemData.commandId)\r\n }\r\n }\r\n })\r\n };\r\n _proto2._executeCommand = function(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 _proto2._createDefaultItem = function(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 _proto2._createSeparator = function() {\r\n return {\r\n location: \"before\",\r\n template: function(_data, _index, element) {\r\n (0, _renderer.default)(element).addClass(TOOLBAR_SEPARATOR_CLASS)\r\n }\r\n }\r\n };\r\n _proto2._getDefaultItemOptions = function() {\r\n return {\r\n location: \"before\",\r\n widget: \"dxButton\"\r\n }\r\n };\r\n _proto2.completeUpdate = function() {\r\n this._menu.option(\"items\", this._items)\r\n };\r\n return GanttToolbar\r\n}(Bar);\r\nexports.GanttToolbar = GanttToolbar;\r\nvar GanttContextMenuBar = function(_Bar2) {\r\n _inheritsLoose(GanttContextMenuBar, _Bar2);\r\n\r\n function GanttContextMenuBar() {\r\n return _Bar2.apply(this, arguments) || this\r\n }\r\n var _proto3 = GanttContextMenuBar.prototype;\r\n _proto3._createControl = function() {\r\n var _this4 = this;\r\n this._menu = this._owner._createComponent(this._element, _context_menu.default, {\r\n showEvent: void 0,\r\n onItemClick: function(e) {\r\n if (void 0 !== e.itemData.commandId) {\r\n _this4._owner._executeCoreCommand(e.itemData.commandId)\r\n } else if (void 0 !== e.itemData.name) {\r\n _this4._owner._actionsManager.raiseCustomCommand(e.itemData.name)\r\n }\r\n }\r\n })\r\n };\r\n _proto3.createItems = function(items) {\r\n if (!items || 0 === items.length) {\r\n items = this._getDefaultItems()\r\n }\r\n _Bar2.prototype.createItems.call(this, items)\r\n };\r\n _proto3._getDefaultItems = function() {\r\n return [{\r\n text: _message.default.format(\"dxGantt-dialogButtonAdd\"),\r\n commandId: COMMANDS.taskAddContextItem,\r\n icon: this._getIcon(\"add\"),\r\n items: [{\r\n text: _message.default.format(\"dxGantt-contextMenuNewTask\"),\r\n commandId: COMMANDS.createTask,\r\n icon: this._getIcon(\"add-task\")\r\n }, {\r\n text: _message.default.format(\"dxGantt-contextMenuNewSubtask\"),\r\n commandId: COMMANDS.createSubTask,\r\n icon: this._getIcon(\"add-sub-task\")\r\n }]\r\n }, {\r\n text: _message.default.format(\"dxGantt-dialogTaskDetailsTitle\") + \"...\",\r\n commandId: COMMANDS.taskInformation,\r\n icon: this._getIcon(\"task-details\")\r\n }, {\r\n text: _message.default.format(\"dxGantt-contextMenuDeleteTask\"),\r\n commandId: COMMANDS.removeTask,\r\n icon: this._getIcon(\"delete\")\r\n }, {\r\n text: _message.default.format(\"dxGantt-contextMenuDeleteDependency\"),\r\n commandId: COMMANDS.removeDependency,\r\n icon: this._getIcon(\"delete-dependency\")\r\n }]\r\n };\r\n _proto3._createDefaultItem = function(commandId, text, icon) {\r\n return {\r\n commandId: commandId,\r\n text: text,\r\n icon: icon\r\n }\r\n };\r\n _proto3.show = function(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 _proto3.hide = function() {\r\n this._menu.hide()\r\n };\r\n _proto3.isContextMenu = function() {\r\n return true\r\n };\r\n return GanttContextMenuBar\r\n}(Bar);\r\nexports.GanttContextMenuBar = GanttContextMenuBar;\r\n","/**\r\n * DevExtreme (cjs/ui/gantt/ui.gantt.cache.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.GanttDataCache = void 0;\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar GanttDataCache = function() {\r\n function GanttDataCache() {\r\n this._cache = {};\r\n this._timers = {}\r\n }\r\n var _proto = GanttDataCache.prototype;\r\n _proto.saveData = function(key, data, keyExpireCallback) {\r\n if (data) {\r\n this._clearTimer(key);\r\n var storage = this._getCache(key, true);\r\n (0, _extend.extendFromObject)(storage, data, true);\r\n if (keyExpireCallback) {\r\n this._setExpireTimer(key, keyExpireCallback)\r\n }\r\n }\r\n };\r\n _proto.pullDataFromCache = function(key, target) {\r\n var data = this._getCache(key);\r\n if (data) {\r\n (0, _extend.extendFromObject)(target, data)\r\n }\r\n this._onKeyExpired(key)\r\n };\r\n _proto.hasData = function(key) {\r\n return !!this._cache[key]\r\n };\r\n _proto.resetCache = function(key) {\r\n this._onKeyExpired(key)\r\n };\r\n _proto._getCache = function(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 _proto._setExpireTimer = function(key, callback) {\r\n var _this = this;\r\n this._timers[key] = setTimeout((function() {\r\n callback(key, _this._getCache(key));\r\n _this._onKeyExpired(key)\r\n }), 200)\r\n };\r\n _proto._onKeyExpired = function(key) {\r\n this._clearCache(key);\r\n this._clearTimer(key)\r\n };\r\n _proto._clearCache = function(key) {\r\n delete this._cache[key]\r\n };\r\n _proto._clearTimer = function(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 return GanttDataCache\r\n}();\r\nexports.GanttDataCache = GanttDataCache;\r\n","/**\r\n * DevExtreme (cjs/ui/gantt/ui.gantt.custom_fields.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.GanttCustomFieldsManager = void 0;\r\nvar _data = require(\"../../core/utils/data\");\r\nvar _uiGantt = require(\"./ui.gantt.cache\");\r\nvar _uiGantt2 = require(\"./ui.gantt.helper\");\r\nvar GANTT_TASKS = \"tasks\";\r\nvar GanttCustomFieldsManager = function() {\r\n function GanttCustomFieldsManager(gantt) {\r\n this._gantt = gantt;\r\n this._mappingHelper = gantt._mappingHelper;\r\n this.cache = new _uiGantt.GanttDataCache\r\n }\r\n var _proto = GanttCustomFieldsManager.prototype;\r\n _proto._getTaskCustomFields = function() {\r\n var columns = this._gantt.option(\"columns\");\r\n var columnFields = columns && columns.map((function(c) {\r\n return c.dataField\r\n }));\r\n var mappedFields = this._mappingHelper.getTaskMappedFieldNames();\r\n return columnFields ? columnFields.filter((function(f) {\r\n return mappedFields.indexOf(f) < 0\r\n })) : []\r\n };\r\n _proto._getCustomFieldsData = function(data) {\r\n return this._getTaskCustomFields().reduce((function(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 _proto.addCustomFieldsData = function(key, data) {\r\n if (data) {\r\n var modelData = this._gantt._tasksOption && this._gantt._tasksOption._getItems();\r\n var keyGetter = (0, _data.compileGetter)(this._gantt.option(\"\".concat(GANTT_TASKS, \".keyExpr\")));\r\n var modelItem = modelData && modelData.filter((function(obj) {\r\n return keyGetter(obj) === key\r\n }))[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 _proto.appendCustomFields = function(data) {\r\n var modelData = this._gantt._tasksOption && this._gantt._tasksOption._getItems();\r\n var keyGetter = this._gantt._getTaskKeyGetter();\r\n var invertedData = _uiGantt2.GanttHelper.getInvertedData(modelData, keyGetter);\r\n return data.reduce((function(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 _proto.addCustomFieldsDataFromCache = function(key, data) {\r\n this.cache.pullDataFromCache(key, data)\r\n };\r\n _proto.saveCustomFieldsDataToCache = function(key, data) {\r\n var _this = this;\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 var updateCallback = function(key, data) {\r\n var dataOption = _this._gantt[\"_\".concat(GANTT_TASKS, \"Option\")];\r\n if (dataOption && data) {\r\n dataOption.update(key, data, (function(data, key) {\r\n var updatedCustomFields = {};\r\n _this.addCustomFieldsData(key, updatedCustomFields);\r\n dataOption._reloadDataSource().done((function(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 };\r\n this.cache.saveData(key, customFieldsData, forceUpdateOnKeyExpire ? updateCallback : null)\r\n }\r\n };\r\n _proto.resetCustomFieldsDataCache = function(key) {\r\n this.cache.resetCache(key)\r\n };\r\n return GanttCustomFieldsManager\r\n}();\r\nexports.GanttCustomFieldsManager = GanttCustomFieldsManager;\r\n","/**\r\n * DevExtreme (cjs/ui/gantt/ui.gantt.data.option.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _component = require(\"../../core/component\");\r\nvar _data_helper = _interopRequireDefault(require(\"../../data_helper\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar DataOption = function(_Component) {\r\n _inheritsLoose(DataOption, _Component);\r\n\r\n function DataOption(optionName, getLoadPanel, dataSourceChangedCallback) {\r\n var _this;\r\n _this = _Component.call(this) || this;\r\n _this._optionName = optionName;\r\n _this._getLoadPanel = getLoadPanel;\r\n _this._dataSourceChangedCallback = dataSourceChangedCallback;\r\n return _this\r\n }\r\n var _proto = DataOption.prototype;\r\n _proto.insert = function(data, callback, errorCallback) {\r\n var _this2 = this;\r\n this._showLoadPanel();\r\n this._getStore().insert(data).done((function(response) {\r\n if (callback) {\r\n callback(response)\r\n }\r\n _this2._hideLoadPanel()\r\n })).fail((function(error) {\r\n if (errorCallback) {\r\n errorCallback(error)\r\n }\r\n _this2._hideLoadPanel()\r\n }))\r\n };\r\n _proto.update = function(key, data, callback, errorCallback) {\r\n var _this3 = this;\r\n this._showLoadPanel();\r\n this._getStore().update(key, data).done((function(data, key) {\r\n if (callback) {\r\n callback(data, key)\r\n }\r\n _this3._hideLoadPanel()\r\n })).fail((function(error) {\r\n if (errorCallback) {\r\n errorCallback(error)\r\n }\r\n _this3._hideLoadPanel()\r\n }))\r\n };\r\n _proto.remove = function(key, callback, errorCallback) {\r\n var _this4 = this;\r\n this._showLoadPanel();\r\n this._getStore().remove(key).done((function(key) {\r\n if (callback) {\r\n callback(key)\r\n }\r\n _this4._hideLoadPanel()\r\n })).fail((function(error) {\r\n if (errorCallback) {\r\n errorCallback(error)\r\n }\r\n _this4._hideLoadPanel()\r\n }))\r\n };\r\n _proto._dataSourceChangedHandler = function(newItems, e) {\r\n this._dataSourceChangedCallback(this._optionName, newItems)\r\n };\r\n _proto._dataSourceOptions = function() {\r\n return {\r\n paginate: false\r\n }\r\n };\r\n _proto._dataSourceLoadingChangedHandler = function(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 _proto._showLoadPanel = function() {\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 _proto._hideLoadPanel = function() {\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 _proto._getStore = function() {\r\n return this._dataSource.store()\r\n };\r\n _proto._getItems = function() {\r\n return this._getStore()._array || this._dataSource.items()\r\n };\r\n _proto._reloadDataSource = function() {\r\n return this._dataSource.load()\r\n };\r\n _proto.dispose = function() {\r\n this._disposeDataSource()\r\n };\r\n _proto._optionChanged = function(args) {\r\n args.name\r\n };\r\n return DataOption\r\n}(_component.Component);\r\nDataOption.include(_data_helper.default);\r\nvar _default = DataOption;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/gantt/ui.gantt.data_changes_processing_helper.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.GanttDataChangesProcessingHelper = void 0;\r\nvar GanttDataChangesProcessingHelper = function() {\r\n function GanttDataChangesProcessingHelper() {\r\n this._waitingForGanttViewReady = false;\r\n this._waitingForTreeListReady = false;\r\n this._completionActions = []\r\n }\r\n var _proto = GanttDataChangesProcessingHelper.prototype;\r\n _proto.onGanttViewReady = function() {\r\n this._stopWaitForGanttViewReady();\r\n this.executeActionsIfPossible()\r\n };\r\n _proto.onTreeListReady = function() {\r\n this._stopWaitForTreeListReady();\r\n this.executeActionsIfPossible()\r\n };\r\n _proto.addCompletionAction = function(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 _proto.executeActionsIfPossible = function() {\r\n if (this._canExecuteActions()) {\r\n this._completionActions.forEach((function(act) {\r\n return act()\r\n }));\r\n this._completionActions = []\r\n }\r\n };\r\n _proto._startWaitForGanttViewReady = function() {\r\n this._waitingForGanttViewReady = true\r\n };\r\n _proto._stopWaitForGanttViewReady = function() {\r\n this._waitingForGanttViewReady = false\r\n };\r\n _proto._startWaitForTreeListReady = function() {\r\n this._waitingForTreeListReady = true\r\n };\r\n _proto._stopWaitForTreeListReady = function() {\r\n this._waitingForTreeListReady = false\r\n };\r\n _proto._canExecuteActions = function() {\r\n return !(this._waitingForGanttViewReady || this._waitingForTreeListReady)\r\n };\r\n return GanttDataChangesProcessingHelper\r\n}();\r\nexports.GanttDataChangesProcessingHelper = GanttDataChangesProcessingHelper;\r\n","/**\r\n * DevExtreme (cjs/ui/gantt/ui.gantt.dialogs.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.GanttDialog = void 0;\r\nvar _ui = _interopRequireDefault(require(\"../popup/ui.popup\"));\r\nvar _form = _interopRequireDefault(require(\"../form\"));\r\nrequire(\"../tag_box\");\r\nrequire(\"../radio_group\");\r\nvar _date = _interopRequireDefault(require(\"../../localization/date\"));\r\nvar _message = _interopRequireDefault(require(\"../../localization/message\"));\r\nrequire(\"../list_light\");\r\nrequire(\"../list/modules/deleting\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar GanttDialog = function() {\r\n function GanttDialog(owner, $element) {\r\n this._popupInstance = owner._createComponent($element, _ui.default);\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 var _proto = GanttDialog.prototype;\r\n _proto._apply = function() {\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 _proto.show = function(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 _proto.hide = function() {\r\n this._popupInstance.hide();\r\n if (this._afterClosing) {\r\n this._afterClosing()\r\n }\r\n };\r\n return GanttDialog\r\n}();\r\nexports.GanttDialog = GanttDialog;\r\nvar DialogInfoBase = function() {\r\n function DialogInfoBase(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 var _proto2 = DialogInfoBase.prototype;\r\n _proto2._getFormItems = function() {\r\n return {}\r\n };\r\n _proto2._getFormCssClass = function() {\r\n return \"\"\r\n };\r\n _proto2._getFormData = function() {\r\n return this._parameters\r\n };\r\n _proto2._updateParameters = function() {};\r\n _proto2._getOkToolbarItem = function() {\r\n return this._getToolbarItem(\"OK\", this._applyAction)\r\n };\r\n _proto2._getCancelToolbarItem = function() {\r\n return this._getToolbarItem(\"Cancel\", this._hideAction)\r\n };\r\n _proto2._getYesToolbarItem = function() {\r\n return this._getToolbarItem(\"Yes\", this._applyAction)\r\n };\r\n _proto2._getNoToolbarItem = function() {\r\n return this._getToolbarItem(\"No\", this._hideAction)\r\n };\r\n _proto2._getToolbarItem = function(localizationText, action) {\r\n return {\r\n widget: \"dxButton\",\r\n toolbar: \"bottom\",\r\n options: {\r\n text: _message.default.format(localizationText),\r\n onClick: action\r\n }\r\n }\r\n };\r\n _proto2.getTitle = function() {\r\n return \"\"\r\n };\r\n _proto2.getToolbarItems = function() {\r\n return this._editingOptions.enabled ? [this._getOkToolbarItem(), this._getCancelToolbarItem()] : [this._getCancelToolbarItem()]\r\n };\r\n _proto2.getMaxWidth = function() {\r\n return 400\r\n };\r\n _proto2.getHeight = function() {\r\n return \"auto\"\r\n };\r\n _proto2.getContentTemplate = function() {\r\n var _this = this;\r\n return function(content) {\r\n _this._form = new _form.default(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 _proto2.getResult = function() {\r\n var formData = this.getFormData();\r\n this._updateParameters(formData);\r\n return this._parameters\r\n };\r\n _proto2.getFormData = function() {\r\n var formData = this._form && this._form.option(\"formData\");\r\n return formData\r\n };\r\n _proto2.isValidated = function() {\r\n return true\r\n };\r\n return DialogInfoBase\r\n}();\r\nvar TaskEditDialogInfo = function(_DialogInfoBase) {\r\n _inheritsLoose(TaskEditDialogInfo, _DialogInfoBase);\r\n\r\n function TaskEditDialogInfo() {\r\n return _DialogInfoBase.apply(this, arguments) || this\r\n }\r\n var _proto3 = TaskEditDialogInfo.prototype;\r\n _proto3.getTitle = function() {\r\n return _message.default.format(\"dxGantt-dialogTaskDetailsTitle\")\r\n };\r\n _proto3._getFormItems = function() {\r\n var _this2 = this;\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: _message.default.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: _message.default.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: _message.default.format(\"validation-required-formatted\", _message.default.format(\"dxGantt-dialogStartTitle\"))\r\n }, {\r\n type: \"custom\",\r\n validationCallback: function(e) {\r\n if (_this2._parameters.isValidationRequired) {\r\n var correctDateRange = _this2._parameters.getCorrectDateRange(_this2._parameters.id, e.value, _this2._parameters.end);\r\n if (correctDateRange.start.getTime() !== e.value.getTime()) {\r\n e.rule.message = _this2._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: _message.default.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: _message.default.format(\"validation-required-formatted\", _message.default.format(\"dxGantt-dialogEndTitle\"))\r\n }, {\r\n type: \"custom\",\r\n validationCallback: function(e) {\r\n if (_this2._parameters.isValidationRequired) {\r\n var correctDateRange = _this2._parameters.getCorrectDateRange(_this2._parameters.id, _this2._parameters.start, e.value);\r\n if (correctDateRange.end.getTime() !== e.value.getTime()) {\r\n e.rule.message = _this2._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: _message.default.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: _message.default.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: _message.default.format(\"dxGantt-dialogEditResourceListHint\"),\r\n onClick: function() {\r\n _this2._parameters.showResourcesDialogCommand.execute((function() {\r\n _this2._parameters.showTaskEditDialogCommand.execute()\r\n }))\r\n }\r\n }\r\n }]\r\n }\r\n }]\r\n };\r\n _proto3._getValidationMessage = function(isStartDependencies, correctDate) {\r\n if (isStartDependencies) {\r\n return _message.default.format(\"dxGantt-dialogStartDateValidation\", this._getFormattedDateText(correctDate))\r\n }\r\n return _message.default.format(\"dxGantt-dialogEndDateValidation\", this._getFormattedDateText(correctDate))\r\n };\r\n _proto3._getFormattedDateText = function(date) {\r\n return date ? _date.default.format(date, \"shortDateShortTime\") : \"\"\r\n };\r\n _proto3._isReadOnlyField = function(field) {\r\n return this._parameters.readOnlyFields.indexOf(field) > -1\r\n };\r\n _proto3._isHiddenField = function(field) {\r\n return this._parameters.hiddenFields.indexOf(field) > -1\r\n };\r\n _proto3._getFormData = function() {\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 _proto3._updateParameters = function(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 _proto3.isValidated = function() {\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 return TaskEditDialogInfo\r\n}(DialogInfoBase);\r\nvar ResourcesEditDialogInfo = function(_DialogInfoBase2) {\r\n _inheritsLoose(ResourcesEditDialogInfo, _DialogInfoBase2);\r\n\r\n function ResourcesEditDialogInfo() {\r\n return _DialogInfoBase2.apply(this, arguments) || this\r\n }\r\n var _proto4 = ResourcesEditDialogInfo.prototype;\r\n _proto4.getTitle = function() {\r\n return _message.default.format(\"dxGantt-dialogResourceManagerTitle\")\r\n };\r\n _proto4._getFormItems = function() {\r\n var _this3 = this;\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: _message.default.format(\"dxGantt-dialogEditNoResources\"),\r\n onInitialized: function(e) {\r\n _this3.list = e.component\r\n },\r\n onItemDeleted: function(e) {\r\n _this3._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: function(e) {\r\n _this3.textBox = e.component\r\n },\r\n onInput: function(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: _message.default.format(\"dxGantt-dialogButtonAdd\"),\r\n disabled: true,\r\n onClick: function(e) {\r\n var newItem = _this3._parameters.resources.createItem();\r\n newItem.text = _this3.textBox.option(\"text\");\r\n _this3._parameters.resources.add(newItem);\r\n _this3.list.option(\"items\", _this3._parameters.resources.items);\r\n _this3.list.scrollToItem(newItem);\r\n _this3.textBox.reset();\r\n e.component.option(\"disabled\", true)\r\n }\r\n }\r\n }]\r\n }\r\n }]\r\n };\r\n return ResourcesEditDialogInfo\r\n}(DialogInfoBase);\r\nvar ConfirmDialogInfo = function(_DialogInfoBase3) {\r\n _inheritsLoose(ConfirmDialogInfo, _DialogInfoBase3);\r\n\r\n function ConfirmDialogInfo() {\r\n return _DialogInfoBase3.apply(this, arguments) || this\r\n }\r\n var _proto5 = ConfirmDialogInfo.prototype;\r\n _proto5.getContentTemplate = function() {\r\n var _this4 = this;\r\n return function(content) {\r\n return _this4._getConfirmMessage()\r\n }\r\n };\r\n _proto5._getConfirmMessage = function() {\r\n switch (this._parameters.type) {\r\n case 0:\r\n return _message.default.format(\"dxGantt-dialogTaskDeleteConfirmation\");\r\n case 1:\r\n return _message.default.format(\"dxGantt-dialogDependencyDeleteConfirmation\");\r\n case 2:\r\n return _message.default.format(\"dxGantt-dialogResourcesDeleteConfirmation\", this._parameters.message);\r\n default:\r\n return \"\"\r\n }\r\n };\r\n _proto5.getToolbarItems = function() {\r\n return [this._getYesToolbarItem(), this._getNoToolbarItem()]\r\n };\r\n return ConfirmDialogInfo\r\n}(DialogInfoBase);\r\nvar ConstraintViolationDialogInfo = function(_DialogInfoBase4) {\r\n _inheritsLoose(ConstraintViolationDialogInfo, _DialogInfoBase4);\r\n\r\n function ConstraintViolationDialogInfo() {\r\n return _DialogInfoBase4.apply(this, arguments) || this\r\n }\r\n var _proto6 = ConstraintViolationDialogInfo.prototype;\r\n _proto6._getFormItems = function() {\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: _message.default.format(\"dxGantt-dialogCancelOperationMessage\"),\r\n value: 0\r\n });\r\n items.push({\r\n text: _message.default.format(deleteMessage),\r\n value: 1\r\n });\r\n if (!hasCriticalErrors) {\r\n items.push({\r\n text: _message.default.format(moveMessage),\r\n value: 2\r\n })\r\n }\r\n return [{\r\n template: _message.default.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 _proto6._getFormCssClass = function() {\r\n return \"dx-cv-dialog\"\r\n };\r\n _proto6._updateParameters = function(formData) {\r\n this._parameters.option = formData.option\r\n };\r\n return ConstraintViolationDialogInfo\r\n}(DialogInfoBase);\r\n","/**\r\n * DevExtreme (cjs/ui/gantt/ui.gantt.export_helper.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.GanttExportHelper = void 0;\r\nvar _window = require(\"../../core/utils/window\");\r\nvar _uiGrid_core = _interopRequireDefault(require(\"../grid_core/ui.grid_core.utils\"));\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _date = _interopRequireDefault(require(\"../../localization/date\"));\r\nvar _number = _interopRequireDefault(require(\"../../localization/number\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar window = (0, _window.getWindow)();\r\nvar TREELIST_EMPTY_SPACE = \"dx-treelist-empty-space\";\r\nvar TREELIST_TABLE = \"dx-treelist-table\";\r\nvar GanttExportHelper = function() {\r\n function GanttExportHelper(gantt) {\r\n this._gantt = gantt;\r\n this._treeList = gantt._treeList;\r\n this._cache = {}\r\n }\r\n var _proto = GanttExportHelper.prototype;\r\n _proto.reset = function() {\r\n this._cache = {}\r\n };\r\n _proto.getTreeListTableStyle = function() {\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 _proto.getTreeListColCount = function() {\r\n var headerView = this._getHeaderView();\r\n var widths = headerView.getColumnWidths().filter((function(w) {\r\n return w > 0\r\n }));\r\n return widths.length\r\n };\r\n _proto.getTreeListHeaderInfo = function(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 _proto.getTreeListCellInfo = function(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 _proto.getTreeListEmptyDataCellInfo = function() {\r\n return {\r\n content: this._treeList.option(\"noDataText\")\r\n }\r\n };\r\n _proto._ensureColumnWidthCache = function(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 _proto._getColumnWidth = function(colIndex) {\r\n this._ensureColumnWidthCache(colIndex);\r\n var widths = this._cache.columnWidths;\r\n return widths && widths[colIndex]\r\n };\r\n _proto._getEmptySpaceWidth = function(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 _proto._getColumnCellStyle = function(colIndex) {\r\n this._ensureColumnCellStyleCache(colIndex);\r\n return this._cache.columnStyles[colIndex]\r\n };\r\n _proto._ensureColumnCellStyleCache = function(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 _proto._getTask = function(key) {\r\n this._ensureTaskCache(key);\r\n return this._cache.tasks[key]\r\n };\r\n _proto._ensureTaskCache = function(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 _proto._getTreeListTable = function() {\r\n return this._getTreeListElement(TREELIST_TABLE)\r\n };\r\n _proto._getTreeListElement = function(className) {\r\n return this._treeList._$element.find(\".\" + className).get(0)\r\n };\r\n _proto._getDataCell = function(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 _proto._getHeaderElement = function(index) {\r\n return this._getHeaderView().getHeaderElement(index).get(0)\r\n };\r\n _proto._getHeaderView = function() {\r\n return this._treeList._views.columnHeadersView\r\n };\r\n _proto._getDisplayText = function(key, colIndex) {\r\n var task = this._getTask(key);\r\n return task && this._getGridDisplayText(colIndex, task)\r\n };\r\n _proto._getGridDisplayText = function(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 = _uiGrid_core.default.getDisplayValue(column, data[field], data, \"data\");\r\n if ((0, _type.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 = (0, _type.isDate)(value) ? value : new Date(value);\r\n return _date.default.format(date, format)\r\n }\r\n if ((0, _type.isNumeric)(value)) {\r\n return _number.default.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 return GanttExportHelper\r\n}();\r\nexports.GanttExportHelper = GanttExportHelper;\r\n","/**\r\n * DevExtreme (cjs/ui/gantt/ui.gantt.helper.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.GanttHelper = void 0;\r\nvar _data = require(\"../../core/utils/data\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _message = _interopRequireDefault(require(\"../../localization/message\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar GanttHelper = {\r\n prepareMapHandler: function(getters) {\r\n return function(data) {\r\n return Object.keys(getters).reduce((function(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 }\r\n },\r\n prepareSetterMapHandler: function(setters) {\r\n return function(data) {\r\n return Object.keys(setters).reduce((function(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 }\r\n },\r\n compileGettersByOption: function(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]] = (0, _data.compileGetter)(optionValue[exprMatches[0]])\r\n }\r\n }\r\n return getters\r\n },\r\n compileSettersByOption: function(optionValue) {\r\n var setters = {};\r\n for (var field in optionValue) {\r\n var exprMatches = field.match(/(\\w*)Expr/);\r\n if (exprMatches && !(0, _type.isFunction)(optionValue[exprMatches[0]])) {\r\n setters[exprMatches[1]] = (0, _data.compileSetter)(optionValue[exprMatches[0]])\r\n }\r\n }\r\n return setters\r\n },\r\n compileFuncSettersByOption: function(optionValue) {\r\n var setters = {};\r\n for (var field in optionValue) {\r\n var exprMatches = field.match(/(\\w*)Expr/);\r\n if (exprMatches && (0, _type.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: function(option, modelObject) {\r\n var setters = GanttHelper.compileSettersByOption(option);\r\n return Object.keys(setters).reduce((function(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: function(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: function(element) {\r\n return void 0 === element || null === element ? [] : [element]\r\n },\r\n getSelectionMode: function(allowSelection) {\r\n return allowSelection ? \"single\" : \"none\"\r\n },\r\n convertTreeToList: function(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: function(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: function() {\r\n return {\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: _message.default.format(\"dxGantt-sortingAscendingText\"),\r\n descendingText: _message.default.format(\"dxGantt-sortingDescendingText\"),\r\n clearText: _message.default.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\nexports.GanttHelper = GanttHelper;\r\n","/**\r\n * DevExtreme (cjs/ui/gantt/ui.gantt.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _size = require(\"../../core/utils/size\");\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _data = require(\"../../core/utils/data\");\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _window = require(\"../../core/utils/window\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _uiGantt = require(\"./ui.gantt.model_changes_listener\");\r\nvar _uiGanttData = _interopRequireDefault(require(\"./ui.gantt.data.option\"));\r\nvar _load_panel = _interopRequireDefault(require(\"../load_panel\"));\r\nvar _component_registrator = _interopRequireDefault(require(\"../../core/component_registrator\"));\r\nvar _splitter = _interopRequireDefault(require(\"../splitter\"));\r\nvar _ui = _interopRequireDefault(require(\"../widget/ui.widget\"));\r\nvar _uiGantt2 = require(\"./ui.gantt.actions\");\r\nvar _uiGantt3 = require(\"./ui.gantt.custom_fields\");\r\nvar _uiGantt4 = require(\"./ui.gantt.dialogs\");\r\nvar _uiGantt5 = require(\"./ui.gantt.export_helper\");\r\nvar _uiGantt6 = require(\"./ui.gantt.helper\");\r\nvar _uiGantt7 = require(\"./ui.gantt.mapping_helper\");\r\nvar _uiGantt8 = require(\"./ui.gantt.size_helper\");\r\nvar _uiGantt9 = require(\"./ui.gantt.templates\");\r\nvar _uiGantt10 = require(\"./ui.gantt.bars\");\r\nvar _uiGantt11 = require(\"./ui.gantt.treelist\");\r\nvar _uiGantt12 = require(\"./ui.gantt.view\");\r\nvar _uiGantt13 = require(\"./ui.gantt.data_changes_processing_helper\");\r\nvar _uiGrid_core = _interopRequireDefault(require(\"../grid_core/ui.grid_core.utils\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar window = (0, _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\nvar Gantt = function(_Widget) {\r\n _inheritsLoose(Gantt, _Widget);\r\n\r\n function Gantt() {\r\n return _Widget.apply(this, arguments) || this\r\n }\r\n var _proto = Gantt.prototype;\r\n _proto._init = function() {\r\n _Widget.prototype._init.call(this);\r\n _uiGrid_core.default.logHeaderFilterDeprecatedWarningIfNeed(this);\r\n this._initGantt();\r\n this._isGanttRendered = false;\r\n this._initHelpers()\r\n };\r\n _proto._initGantt = function() {\r\n this._refreshDataSources()\r\n };\r\n _proto._initMarkup = function() {\r\n _Widget.prototype._initMarkup.call(this);\r\n this.$element().addClass(GANTT_CLASS);\r\n this._$toolbarWrapper = (0, _renderer.default)(\"<div>\").addClass(GANTT_TOOLBAR_WRAPPER).appendTo(this.$element());\r\n this._$toolbar = (0, _renderer.default)(\"<div>\").appendTo(this._$toolbarWrapper);\r\n this._$mainWrapper = (0, _renderer.default)(\"<div>\").addClass(GANTT_MAIN_WRAPPER).appendTo(this.$element());\r\n this._$treeListWrapper = (0, _renderer.default)(\"<div>\").addClass(GANTT_TREE_LIST_WRAPPER).appendTo(this._$mainWrapper);\r\n this._$treeList = (0, _renderer.default)(\"<div>\").appendTo(this._$treeListWrapper);\r\n this._$splitter = (0, _renderer.default)(\"<div>\").appendTo(this._$mainWrapper);\r\n this._$ganttView = (0, _renderer.default)(\"<div>\").addClass(GANTT_VIEW_CLASS).appendTo(this._$mainWrapper);\r\n this._$dialog = (0, _renderer.default)(\"<div>\").appendTo(this.$element());\r\n this._$loadPanel = (0, _renderer.default)(\"<div>\").appendTo(this.$element());\r\n this._$contextMenu = (0, _renderer.default)(\"<div>\").appendTo(this.$element())\r\n };\r\n _proto._clean = function() {\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 _Widget.prototype._clean.call(this)\r\n };\r\n _proto._refresh = function() {\r\n this._isGanttRendered = false;\r\n this._contentReadyRaised = false;\r\n _Widget.prototype._refresh.call(this)\r\n };\r\n _proto._fireContentReadyAction = function() {\r\n if (!this._contentReadyRaised) {\r\n _Widget.prototype._fireContentReadyAction.call(this)\r\n }\r\n this._contentReadyRaised = true\r\n };\r\n _proto._dimensionChanged = function() {\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 _proto._visibilityChanged = function(visible) {\r\n if (visible) {\r\n this._refreshGantt()\r\n }\r\n };\r\n _proto._refreshGantt = function() {\r\n this._refreshDataSources();\r\n this._refresh()\r\n };\r\n _proto._refreshDataSources = function() {\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 _proto._renderContent = function() {\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 _proto._renderTreeList = function() {\r\n this._ganttTreeList = new _uiGantt11.GanttTreeList(this);\r\n this._treeList = this._ganttTreeList.getTreeList();\r\n this._ganttTreeList.onAfterTreeListCreate()\r\n };\r\n _proto._renderSplitter = function() {\r\n var _this = this;\r\n this._splitter = this._createComponent(this._$splitter, _splitter.default, {\r\n container: this.$element(),\r\n leftElement: this._$treeListWrapper,\r\n rightElement: this._$ganttView,\r\n onApplyPanelSize: function(e) {\r\n _this._sizeHelper.onApplyPanelSize(e)\r\n }\r\n });\r\n this._splitter.option(\"initialLeftPanelWidth\", this.option(\"taskListWidth\"))\r\n };\r\n _proto._renderBars = function() {\r\n this._bars = [];\r\n this._toolbar = new _uiGantt10.GanttToolbar(this._$toolbar, this);\r\n this._updateToolbarContent();\r\n this._bars.push(this._toolbar);\r\n this._contextMenuBar = new _uiGantt10.GanttContextMenuBar(this._$contextMenu, this);\r\n this._updateContextMenu();\r\n this._bars.push(this._contextMenuBar)\r\n };\r\n _proto._initHelpers = function() {\r\n this._mappingHelper = new _uiGantt7.GanttMappingHelper(this);\r\n this._customFieldsManager = new _uiGantt3.GanttCustomFieldsManager(this);\r\n this._actionsManager = new _uiGantt2.GanttActionsManager(this);\r\n this._ganttTemplatesManager = new _uiGantt9.GanttTemplatesManager(this);\r\n this._sizeHelper = new _uiGantt8.GanttSizeHelper(this);\r\n this._dataProcessingHelper = new _uiGantt13.GanttDataChangesProcessingHelper\r\n };\r\n _proto._initGanttView = function() {\r\n var _this2 = this;\r\n if (this._ganttView) {\r\n return\r\n }\r\n this._ganttView = this._createComponent(this._$ganttView, _uiGantt12.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: function(e) {\r\n _this2._ganttTreeList.selectRows(_uiGantt6.GanttHelper.getArrayFromOneElement(e.id))\r\n },\r\n onViewTypeChanged: function(e) {\r\n _this2._onViewTypeChanged(e.type)\r\n },\r\n onScroll: function(e) {\r\n _this2._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: _uiGantt.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: function(e) {\r\n _this2._ganttTreeList.onRowClick(e)\r\n },\r\n onTaskDblClick: function(e) {\r\n _this2._ganttTreeList.onRowDblClick(e)\r\n },\r\n onAdjustControl: function() {\r\n _this2._sizeHelper.onAdjustControl()\r\n },\r\n onContentReady: this._onGanttViewContentReady.bind(this)\r\n })\r\n };\r\n _proto._onGanttViewContentReady = function(e) {\r\n if (!this._isParentAutoUpdateMode()) {\r\n this._fireContentReadyAction()\r\n }\r\n };\r\n _proto._isParentAutoUpdateMode = function() {\r\n return this.option(\"validation.autoUpdateParentTasks\")\r\n };\r\n _proto._onTreeListContentReady = function(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 _proto._onViewTypeChanged = function(type) {\r\n this.option(\"scaleType\", this._actionsManager._getScaleType(type))\r\n };\r\n _proto._refreshDataSource = function(name) {\r\n var _this3 = this;\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 _uiGanttData.default(name, this._getLoadPanel.bind(this), (function(name, data) {\r\n _this3._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 _proto._getSpecificDataSourceOption = function(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 _proto._dataSourceChanged = function(dataSourceName, data) {\r\n var getters = _uiGantt6.GanttHelper.compileGettersByOption(this.option(dataSourceName));\r\n var validatedData = this._validateSourceData(dataSourceName, data);\r\n var mappedData = validatedData.map(_uiGantt6.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 _proto._validateSourceData = function(dataSourceName, data) {\r\n return data && dataSourceName === GANTT_TASKS ? this._validateTaskData(data) : data\r\n };\r\n _proto._validateTaskData = function(data) {\r\n var _this$option;\r\n var keyGetter = (0, _data.compileGetter)(this.option(\"\".concat(GANTT_TASKS, \".keyExpr\")));\r\n var parentIdGetter = (0, _data.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((function(item) {\r\n return validKeys.indexOf(keyGetter(item)) > -1\r\n }))\r\n };\r\n _proto._appendChildKeys = function(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 _proto._onRecordInserted = function(optionName, record, callback) {\r\n var _this4 = this;\r\n var dataOption = this[\"_\".concat(optionName, \"Option\")];\r\n if (dataOption) {\r\n var data = _uiGantt6.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, (function(response) {\r\n var keyGetter = (0, _data.compileGetter)(_this4.option(\"\".concat(optionName, \".keyExpr\")));\r\n var insertedId = keyGetter(response);\r\n callback(insertedId);\r\n _this4._executeFuncSetters(optionName, record, insertedId);\r\n _this4._dataProcessingHelper.addCompletionAction((function() {\r\n _this4._actionsManager.raiseInsertedAction(optionName, data, insertedId)\r\n }), true, isTaskInsert);\r\n _this4._ganttTreeList.saveExpandedKeys();\r\n dataOption._reloadDataSource().done((function(data) {\r\n if (isTaskInsert) {\r\n _this4._ganttTreeList.onTaskInserted(insertedId, record.parentId)\r\n }\r\n }))\r\n }))\r\n }\r\n };\r\n _proto._onRecordUpdated = function(optionName, key, values) {\r\n var _this5 = this;\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, (function() {\r\n _this5._executeFuncSetters(optionName, values, key);\r\n _this5._ganttTreeList.saveExpandedKeys();\r\n _this5._dataProcessingHelper.addCompletionAction((function() {\r\n _this5._actionsManager.raiseUpdatedAction(optionName, data, key)\r\n }), true, isTaskUpdated);\r\n dataOption._reloadDataSource()\r\n }))\r\n }\r\n };\r\n _proto._onRecordRemoved = function(optionName, key, data) {\r\n var _this6 = this;\r\n var dataOption = this[\"_\".concat(optionName, \"Option\")];\r\n if (dataOption) {\r\n dataOption.remove(key, (function() {\r\n _this6._ganttTreeList.saveExpandedKeys();\r\n _this6._dataProcessingHelper.addCompletionAction((function() {\r\n _this6._actionsManager.raiseDeletedAction(optionName, key, _this6._mappingHelper.convertCoreToMappedData(optionName, data))\r\n }), true, optionName === GANTT_TASKS);\r\n dataOption._reloadDataSource()\r\n }))\r\n }\r\n };\r\n _proto._onParentTaskUpdated = function(data) {\r\n var mappedData = this.getTaskDataByCoreData(data);\r\n this._actionsManager.raiseUpdatedAction(GANTT_TASKS, mappedData, data.id)\r\n };\r\n _proto._onParentTasksRecalculated = function(data) {\r\n var _this7 = this;\r\n if (!this.isSieving) {\r\n var setters = _uiGantt6.GanttHelper.compileSettersByOption(this.option(GANTT_TASKS));\r\n var treeDataSource = this._customFieldsManager.appendCustomFields(data.map(_uiGantt6.GanttHelper.prepareSetterMapHandler(setters)));\r\n setTimeout((function() {\r\n var _this7$_ganttTreeList;\r\n _this7._treeListParentRecalculatedDataUpdating = true;\r\n null === (_this7$_ganttTreeList = _this7._ganttTreeList) || void 0 === _this7$_ganttTreeList ? void 0 : _this7$_ganttTreeList.setDataSource(treeDataSource)\r\n }))\r\n }\r\n this.isSieving = false\r\n };\r\n _proto._onGanttViewCoreUpdated = function() {\r\n this._dataProcessingHelper.onGanttViewReady()\r\n };\r\n _proto._executeFuncSetters = function(optionName, coreData, key) {\r\n var funcSetters = _uiGantt6.GanttHelper.compileFuncSettersByOption(this.option(optionName));\r\n var keysToUpdate = Object.keys(funcSetters).filter((function(k) {\r\n return (0, _type.isDefined)(coreData[k])\r\n }));\r\n if (keysToUpdate.length > 0) {\r\n var dataObject = this._getDataSourceItem(optionName, key);\r\n keysToUpdate.forEach((function(k) {\r\n var setter = funcSetters[k];\r\n setter(dataObject, coreData[k])\r\n }))\r\n }\r\n };\r\n _proto._sortAndFilter = function() {\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((function(c) {\r\n return c.sortIndex > -1\r\n }));\r\n var sortedState = sortedColumns.map((function(c) {\r\n return {\r\n sortIndex: c.sortIndex,\r\n sortOrder: c.sortOrder\r\n }\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((function(c) {\r\n var _c$filterValues;\r\n return (0, _type.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 _proto._compareSortedState = function(state1, state2) {\r\n if (!state1 || !state2 || state1.length !== state2.length) {\r\n return false\r\n }\r\n return state1.every((function(c, i) {\r\n return c.sortIndex === state2[i].sortIndex && c.sortOrder === state2[i].sortOrder\r\n }))\r\n };\r\n _proto._getToolbarItems = function() {\r\n var items = this.option(\"toolbar.items\");\r\n return items ? items : []\r\n };\r\n _proto._updateToolbarContent = function() {\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 _proto._updateContextMenu = function() {\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 _proto._updateBarItemsState = function() {\r\n this._ganttView && this._ganttView.updateBarItemsState()\r\n };\r\n _proto._showDialog = function(e) {\r\n if (!this._dialogInstance) {\r\n this._dialogInstance = new _uiGantt4.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 _proto._showPopupMenu = function(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: (0, _extend.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 _proto._hidePopupMenu = function() {\r\n this._contextMenuBar.hide()\r\n };\r\n _proto._getLoadPanel = function() {\r\n if (!this._loadPanel) {\r\n this._loadPanel = this._createComponent(this._$loadPanel, _load_panel.default, {\r\n position: {\r\n of: this.$element()\r\n }\r\n })\r\n }\r\n return this._loadPanel\r\n };\r\n _proto._getTaskKeyGetter = function() {\r\n return this._getDataSourceItemKeyGetter(GANTT_TASKS)\r\n };\r\n _proto._findTaskByKey = function(key) {\r\n return this._getDataSourceItem(GANTT_TASKS, key)\r\n };\r\n _proto._getDataSourceItem = function(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((function(t) {\r\n return keyGetter(t) === key\r\n }))\r\n };\r\n _proto._getDataSourceItemKeyGetter = function(dataOptionName) {\r\n return (0, _data.compileGetter)(this.option(\"\".concat(dataOptionName, \".keyExpr\")))\r\n };\r\n _proto._setGanttViewOption = function(optionName, value) {\r\n this._ganttView && this._ganttView.option(optionName, value)\r\n };\r\n _proto._getGanttViewOption = function(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 _proto._getExportHelper = function() {\r\n var _this$_exportHelper;\r\n null !== (_this$_exportHelper = this._exportHelper) && void 0 !== _this$_exportHelper ? _this$_exportHelper : this._exportHelper = new _uiGantt5.GanttExportHelper(this);\r\n return this._exportHelper\r\n };\r\n _proto._executeCoreCommand = function(id) {\r\n this._ganttView.executeCoreCommand(id)\r\n };\r\n _proto._expandAll = function() {\r\n this._changeExpandAll(true)\r\n };\r\n _proto._collapseAll = function() {\r\n this._changeExpandAll(false)\r\n };\r\n _proto._onTreeListRowExpandChanged = function(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 _proto._changeExpandAll = function(expanded, level, rowKey) {\r\n var _promise, _this8 = this;\r\n var allExpandableNodes = [];\r\n var nodesToExpand = [];\r\n this._treeList.forEachNode((function(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 _uiGantt6.GanttHelper.getAllParentNodesKeys(node, nodesToExpand)\r\n }\r\n var promise;\r\n this._lockRowExpandEvent = allExpandableNodes.length > 0;\r\n var state = allExpandableNodes.reduce((function(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 ? _this8._treeList.expandRow : _this8._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((function() {\r\n _this8._ganttView.applyTasksExpandedState(state);\r\n _this8._sizeHelper.adjustHeight();\r\n delete _this8._lockRowExpandEvent\r\n }))\r\n };\r\n _proto.getTaskResources = function(key) {\r\n var _this9 = this;\r\n if (!(0, _type.isDefined)(key)) {\r\n return null\r\n }\r\n var coreData = this._ganttView._ganttViewCore.getTaskResources(key);\r\n return coreData.map((function(r) {\r\n return _this9._mappingHelper.convertCoreToMappedData(GANTT_RESOURCES, r)\r\n }))\r\n };\r\n _proto.getVisibleTaskKeys = function() {\r\n return this._ganttView._ganttViewCore.getVisibleTaskKeys()\r\n };\r\n _proto.getVisibleDependencyKeys = function() {\r\n return this._ganttView._ganttViewCore.getVisibleDependencyKeys()\r\n };\r\n _proto.getVisibleResourceKeys = function() {\r\n return this._ganttView._ganttViewCore.getVisibleResourceKeys()\r\n };\r\n _proto.getVisibleResourceAssignmentKeys = function() {\r\n return this._ganttView._ganttViewCore.getVisibleResourceAssignmentKeys()\r\n };\r\n _proto.getTaskData = function(key) {\r\n if (!(0, _type.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 _proto.getTaskDataByCoreData = function(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 _proto.insertTask = function(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 _proto.deleteTask = function(key) {\r\n this._ganttView._ganttViewCore.deleteTask(key)\r\n };\r\n _proto.updateTask = function(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 _proto.getDependencyData = function(key) {\r\n if (!(0, _type.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 _proto.insertDependency = function(data) {\r\n this._ganttView._ganttViewCore.insertDependency(this._mappingHelper.convertMappedToCoreData(GANTT_DEPENDENCIES, data))\r\n };\r\n _proto.deleteDependency = function(key) {\r\n this._ganttView._ganttViewCore.deleteDependency(key)\r\n };\r\n _proto.getResourceData = function(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 _proto.deleteResource = function(key) {\r\n this._ganttView._ganttViewCore.deleteResource(key)\r\n };\r\n _proto.insertResource = function(data, taskKeys) {\r\n this._ganttView._ganttViewCore.insertResource(this._mappingHelper.convertMappedToCoreData(GANTT_RESOURCES, data), taskKeys)\r\n };\r\n _proto.getResourceAssignmentData = function(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 _proto.assignResourceToTask = function(resourceKey, taskKey) {\r\n this._ganttView._ganttViewCore.assignResourceToTask(resourceKey, taskKey)\r\n };\r\n _proto.unassignResourceFromTask = function(resourceKey, taskKey) {\r\n this._ganttView._ganttViewCore.unassignResourceFromTask(resourceKey, taskKey)\r\n };\r\n _proto.unassignAllResourcesFromTask = function(taskKey) {\r\n this._ganttView._ganttViewCore.unassignAllResourcesFromTask(taskKey)\r\n };\r\n _proto.updateDimensions = function() {\r\n this._sizeHelper.onAdjustControl()\r\n };\r\n _proto.scrollToDate = function(date) {\r\n this._ganttView._ganttViewCore.scrollToDate(date)\r\n };\r\n _proto.showResourceManagerDialog = function() {\r\n this._ganttView._ganttViewCore.showResourcesDialog()\r\n };\r\n _proto.showTaskDetailsDialog = function(taskKey) {\r\n this._ganttView._ganttViewCore.showTaskDetailsDialog(taskKey)\r\n };\r\n _proto.exportToPdf = function(options) {\r\n return this._exportToPdf(options)\r\n };\r\n _proto._exportToPdf = function(options) {\r\n var _fullOptions$pdfDocum, _fullOptions$docCreat, _window$jspdf$jsPDF, _window$jspdf, _fullOptions$format, _this10 = this;\r\n this._exportHelper.reset();\r\n var fullOptions = (0, _extend.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((function(resolve) {\r\n var _this10$_ganttView;\r\n var doc = null === (_this10$_ganttView = _this10._ganttView) || void 0 === _this10$_ganttView ? void 0 : _this10$_ganttView._ganttViewCore.exportToPdf(fullOptions);\r\n resolve(doc)\r\n }))\r\n };\r\n _proto.refresh = function() {\r\n var _this11 = this;\r\n return new Promise((function(resolve, reject) {\r\n try {\r\n _this11._refreshGantt();\r\n resolve()\r\n } catch (e) {\r\n reject(e.message)\r\n }\r\n }))\r\n };\r\n _proto.expandAll = function() {\r\n this._expandAll()\r\n };\r\n _proto.collapseAll = function() {\r\n this._collapseAll()\r\n };\r\n _proto.expandAllToLevel = function(level) {\r\n this._changeExpandAll(false, level)\r\n };\r\n _proto.expandToTask = function(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 _proto.collapseTask = function(key) {\r\n this._treeList.collapseRow(key)\r\n };\r\n _proto.expandTask = function(key) {\r\n this._treeList.expandRow(key)\r\n };\r\n _proto.showResources = function(value) {\r\n this.option(\"showResources\", value)\r\n };\r\n _proto.showDependencies = function(value) {\r\n this.option(\"showDependencies\", value)\r\n };\r\n _proto.zoomIn = function() {\r\n this._ganttView._ganttViewCore.zoomIn()\r\n };\r\n _proto.zoomOut = function() {\r\n this._ganttView._ganttViewCore.zoomOut()\r\n };\r\n _proto._getDefaultOptions = function() {\r\n return (0, _extend.extend)(_Widget.prototype._getDefaultOptions.call(this), _uiGantt6.GanttHelper.getDefaultOptions())\r\n };\r\n _proto._optionChanged = function(args) {\r\n var _this$_ganttTreeList4, _this$_sizeHelper, _this$_ganttTreeList5, _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$_ganttTreeList6, _this$_ganttTreeList7, _this$_ganttTemplates, _this$_ganttTemplates2, _this$_ganttTemplates3, _this$_ganttTemplates4, _this$_ganttTreeList8, _this$_sizeHelper2, _this$_sizeHelper3, _this$_ganttTreeList9, _this$_ganttTreeList10, _this$_ganttTreeList11;\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$_ganttTreeList4 = this._ganttTreeList) || void 0 === _this$_ganttTreeList4 ? void 0 : _this$_ganttTreeList4.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$_ganttTreeList5 = this._ganttTreeList) || void 0 === _this$_ganttTreeList5 ? void 0 : _this$_ganttTreeList5.selectRows(_uiGantt6.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$_ganttTreeList6 = this._ganttTreeList) || void 0 === _this$_ganttTreeList6 ? void 0 : _this$_ganttTreeList6.setOption(\"selection.mode\", _uiGantt6.GanttHelper.getSelectionMode(args.value));\r\n this._setGanttViewOption(\"allowSelection\", args.value);\r\n break;\r\n case \"showRowLines\":\r\n null === (_this$_ganttTreeList7 = this._ganttTreeList) || void 0 === _this$_ganttTreeList7 ? void 0 : _this$_ganttTreeList7.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$_ganttTreeList8 = this._ganttTreeList) || void 0 === _this$_ganttTreeList8 ? void 0 : _this$_ganttTreeList8.setOption(\"rootValue\", args.value);\r\n break;\r\n case \"width\":\r\n _Widget.prototype._optionChanged.call(this, 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 _Widget.prototype._optionChanged.call(this, args);\r\n null === (_this$_sizeHelper3 = this._sizeHelper) || void 0 === _this$_sizeHelper3 ? void 0 : _this$_sizeHelper3.setGanttHeight((0, _size.getHeight)(this._$element));\r\n break;\r\n case \"sorting\":\r\n null === (_this$_ganttTreeList9 = this._ganttTreeList) || void 0 === _this$_ganttTreeList9 ? void 0 : _this$_ganttTreeList9.setOption(\"sorting\", this.option(args.name));\r\n break;\r\n case \"filterRow\":\r\n null === (_this$_ganttTreeList10 = this._ganttTreeList) || void 0 === _this$_ganttTreeList10 ? void 0 : _this$_ganttTreeList10.setOption(\"filterRow\", this.option(args.name));\r\n break;\r\n case \"headerFilter\":\r\n null === (_this$_ganttTreeList11 = this._ganttTreeList) || void 0 === _this$_ganttTreeList11 ? void 0 : _this$_ganttTreeList11.setOption(\"headerFilter\", this.option(args.name));\r\n break;\r\n default:\r\n _Widget.prototype._optionChanged.call(this, args)\r\n }\r\n };\r\n return Gantt\r\n}(_ui.default);\r\n(0, _component_registrator.default)(\"dxGantt\", Gantt);\r\nvar _default = Gantt;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/gantt/ui.gantt.mapping_helper.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.GanttMappingHelper = void 0;\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _data = require(\"../../core/utils/data\");\r\nvar GANTT_TASKS = \"tasks\";\r\nvar GANTT_MAPPED_FIELD_REGEX = /(\\w*)Expr/;\r\nvar GanttMappingHelper = function() {\r\n function GanttMappingHelper(gantt) {\r\n this._gantt = gantt\r\n }\r\n var _proto = GanttMappingHelper.prototype;\r\n _proto._getMappedFieldName = function(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 _proto.getTaskMappedFieldNames = function() {\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 _proto.convertCoreToMappedData = function(optionName, coreData) {\r\n var _this = this;\r\n return Object.keys(coreData).reduce((function(previous, f) {\r\n var mappedField = _this._getMappedFieldName(optionName, f);\r\n if (mappedField && !(0, _type.isFunction)(mappedField)) {\r\n var setter = (0, _data.compileSetter)(mappedField);\r\n setter(previous, coreData[f])\r\n }\r\n return previous\r\n }), {})\r\n };\r\n _proto.convertMappedToCoreData = function(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 = (0, _data.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 _proto.convertCoreToMappedFields = function(optionName, fields) {\r\n var _this2 = this;\r\n return fields.reduce((function(previous, f) {\r\n var mappedField = _this2._getMappedFieldName(optionName, f);\r\n if (mappedField) {\r\n previous.push(mappedField)\r\n }\r\n return previous\r\n }), [])\r\n };\r\n _proto.convertMappedToCoreFields = function(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 return GanttMappingHelper\r\n}();\r\nexports.GanttMappingHelper = GanttMappingHelper;\r\n","/**\r\n * DevExtreme (cjs/ui/gantt/ui.gantt.model_changes_listener.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.ModelChangesListener = void 0;\r\nvar GANTT_TASKS = \"tasks\";\r\nvar GANTT_DEPENDENCIES = \"dependencies\";\r\nvar GANTT_RESOURCES = \"resources\";\r\nvar GANTT_RESOURCE_ASSIGNMENTS = \"resourceAssignments\";\r\nvar ModelChangesListener = {\r\n create: function(gantt) {\r\n return {\r\n NotifyTaskCreated: function(task, callback, errorCallback) {\r\n gantt._onRecordInserted(GANTT_TASKS, task, callback)\r\n },\r\n NotifyTaskRemoved: function(taskId, errorCallback, task) {\r\n gantt._onRecordRemoved(GANTT_TASKS, taskId, task)\r\n },\r\n NotifyTaskUpdated: function(taskId, newValues, errorCallback) {\r\n gantt._onRecordUpdated(GANTT_TASKS, taskId, newValues)\r\n },\r\n NotifyParentTaskUpdated: function(task, errorCallback) {\r\n gantt._onParentTaskUpdated(task)\r\n },\r\n NotifyDependencyInserted: function(dependency, callback, errorCallback) {\r\n gantt._onRecordInserted(GANTT_DEPENDENCIES, dependency, callback)\r\n },\r\n NotifyDependencyRemoved: function(dependencyId, errorCallback, dependency) {\r\n gantt._onRecordRemoved(GANTT_DEPENDENCIES, dependencyId, dependency)\r\n },\r\n NotifyResourceCreated: function(resource, callback, errorCallback) {\r\n gantt._onRecordInserted(GANTT_RESOURCES, resource, callback)\r\n },\r\n NotifyResourceRemoved: function(resourceId, errorCallback, resource) {\r\n gantt._onRecordRemoved(GANTT_RESOURCES, resourceId, resource)\r\n },\r\n NotifyResourceAssigned: function(assignment, callback, errorCallback) {\r\n gantt._onRecordInserted(GANTT_RESOURCE_ASSIGNMENTS, assignment, callback)\r\n },\r\n NotifyResourceUnassigned: function(assignmentId, errorCallback, assignment) {\r\n gantt._onRecordRemoved(GANTT_RESOURCE_ASSIGNMENTS, assignmentId, assignment)\r\n },\r\n NotifyParentDataRecalculated: function(data) {\r\n gantt._onParentTasksRecalculated(data)\r\n },\r\n NotifyTaskCreating: function(args) {\r\n gantt._actionsManager.raiseInsertingAction(GANTT_TASKS, args)\r\n },\r\n NotifyTaskRemoving: function(args) {\r\n gantt._actionsManager.raiseDeletingAction(GANTT_TASKS, args)\r\n },\r\n NotifyTaskUpdating: function(args) {\r\n gantt._actionsManager.raiseUpdatingAction(GANTT_TASKS, args)\r\n },\r\n NotifyTaskMoving: function(args) {\r\n gantt._actionsManager.raiseUpdatingAction(GANTT_TASKS, args, gantt._actionsManager.getTaskMovingAction())\r\n },\r\n NotifyTaskEditDialogShowing: function(args) {\r\n gantt._actionsManager.raiseTaskEditDialogShowingAction(args)\r\n },\r\n NotifyResourceManagerDialogShowing: function(args) {\r\n gantt._actionsManager.raiseResourceManagerDialogShowingAction(args)\r\n },\r\n NotifyDependencyInserting: function(args) {\r\n gantt._actionsManager.raiseInsertingAction(GANTT_DEPENDENCIES, args)\r\n },\r\n NotifyDependencyRemoving: function(args) {\r\n gantt._actionsManager.raiseDeletingAction(GANTT_DEPENDENCIES, args)\r\n },\r\n NotifyResourceCreating: function(args) {\r\n gantt._actionsManager.raiseInsertingAction(GANTT_RESOURCES, args)\r\n },\r\n NotifyResourceRemoving: function(args) {\r\n gantt._actionsManager.raiseDeletingAction(GANTT_RESOURCES, args)\r\n },\r\n NotifyResourceAssigning: function(args) {\r\n gantt._actionsManager.raiseInsertingAction(GANTT_RESOURCE_ASSIGNMENTS, args)\r\n },\r\n NotifyResourceUnassigning: function(args) {\r\n gantt._actionsManager.raiseDeletingAction(GANTT_RESOURCE_ASSIGNMENTS, args)\r\n },\r\n NotifyScaleCellPrepared: function(args) {\r\n gantt._actionsManager.raiseScaleCellPreparedAction(args)\r\n },\r\n NotifyGanttViewUpdated: function() {\r\n gantt._onGanttViewCoreUpdated()\r\n }\r\n }\r\n }\r\n};\r\nexports.ModelChangesListener = ModelChangesListener;\r\n","/**\r\n * DevExtreme (cjs/ui/gantt/ui.gantt.size_helper.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.GanttSizeHelper = void 0;\r\nvar _size = require(\"../../core/utils/size\");\r\nvar _window = require(\"../../core/utils/window\");\r\nvar GanttSizeHelper = function() {\r\n function GanttSizeHelper(gantt) {\r\n this._gantt = gantt\r\n }\r\n var _proto = GanttSizeHelper.prototype;\r\n _proto._setTreeListDimension = function(dimension, value) {\r\n var _this$_gantt$_ganttTr;\r\n var setter = \"width\" === dimension ? _size.setWidth : _size.setHeight;\r\n var getter = \"width\" === dimension ? _size.getWidth : _size.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 _proto._setGanttViewDimension = function(dimension, value) {\r\n var setter = \"width\" === dimension ? _size.setWidth : _size.setHeight;\r\n var getter = \"width\" === dimension ? _size.getWidth : _size.getHeight;\r\n setter(this._gantt._$ganttView, value);\r\n this._gantt._setGanttViewOption(dimension, getter(this._gantt._$ganttView))\r\n };\r\n _proto._getPanelsWidthByOption = function() {\r\n var _leftPanelWidth$index, _leftPanelWidth$index2;\r\n var ganttWidth = (0, _size.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 _proto.onAdjustControl = function() {\r\n var elementHeight = (0, _size.getHeight)(this._gantt._$element);\r\n this.updateGanttWidth();\r\n this.setGanttHeight(elementHeight)\r\n };\r\n _proto.onApplyPanelSize = function(e) {\r\n this.setInnerElementsWidth(e);\r\n this.updateGanttRowHeights()\r\n };\r\n _proto.updateGanttRowHeights = function() {\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 _proto.adjustHeight = function() {\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 _proto.setInnerElementsWidth = function(widths) {\r\n if (!(0, _window.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 _proto.updateGanttWidth = function() {\r\n this._gantt._splitter._dimensionChanged()\r\n };\r\n _proto.setGanttHeight = function(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 return GanttSizeHelper\r\n}();\r\nexports.GanttSizeHelper = GanttSizeHelper;\r\n","/**\r\n * DevExtreme (cjs/ui/gantt/ui.gantt.task.area.container.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.TaskAreaContainer = void 0;\r\nvar _scroll_view = _interopRequireDefault(require(\"../scroll_view\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\nvar TaskAreaContainer = function() {\r\n function TaskAreaContainer(element, ganttViewWidget) {\r\n this._element = element;\r\n this._scrollView = ganttViewWidget._createComponent(this._element, _scroll_view.default, {\r\n scrollByContent: false,\r\n scrollByThumb: true,\r\n showScrollbar: \"onHover\",\r\n direction: \"both\",\r\n onScroll: function() {\r\n ganttViewWidget.updateView()\r\n }\r\n })\r\n }\r\n var _proto = TaskAreaContainer.prototype;\r\n _proto.getWidth = function() {\r\n return this._element.offsetWidth\r\n };\r\n _proto.getHeight = function() {\r\n return this._element.offsetHeight\r\n };\r\n _proto.getElement = function() {\r\n return this._element\r\n };\r\n _createClass(TaskAreaContainer, [{\r\n key: \"scrollTop\",\r\n get: function() {\r\n return this._scrollView.scrollTop()\r\n },\r\n set: function(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 }, {\r\n key: \"scrollLeft\",\r\n get: function() {\r\n return this._scrollView.scrollLeft()\r\n },\r\n set: function(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 }, {\r\n key: \"scrollWidth\",\r\n get: function() {\r\n return this._scrollView.scrollWidth()\r\n }\r\n }, {\r\n key: \"scrollHeight\",\r\n get: function() {\r\n return this._scrollView.scrollHeight()\r\n }\r\n }, {\r\n key: \"isExternal\",\r\n get: function() {\r\n return true\r\n }\r\n }]);\r\n return TaskAreaContainer\r\n}();\r\nexports.TaskAreaContainer = TaskAreaContainer;\r\n","/**\r\n * DevExtreme (cjs/ui/gantt/ui.gantt.templates.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.GanttTemplatesManager = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _element = require(\"../../core/element\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar GanttTemplatesManager = function() {\r\n function GanttTemplatesManager(gantt) {\r\n this._gantt = gantt\r\n }\r\n var _proto = GanttTemplatesManager.prototype;\r\n _proto.getTaskTooltipContentTemplateFunc = function(taskTooltipContentTemplateOption) {\r\n var _this = this;\r\n var template = taskTooltipContentTemplateOption && this._gantt._getTemplate(taskTooltipContentTemplateOption);\r\n var createTemplateFunction = template && function(container, item, callback) {\r\n template.render({\r\n model: _this._gantt.getTaskDataByCoreData(item),\r\n container: (0, _element.getPublicElement)((0, _renderer.default)(container)),\r\n onRendered: function() {\r\n callback()\r\n }\r\n });\r\n return true\r\n };\r\n return createTemplateFunction\r\n };\r\n _proto.getTaskProgressTooltipContentTemplateFunc = function(taskTooltipContentTemplateOption) {\r\n var template = taskTooltipContentTemplateOption && this._gantt._getTemplate(taskTooltipContentTemplateOption);\r\n var createTemplateFunction = template && function(container, item, callback) {\r\n template.render({\r\n model: item,\r\n container: (0, _element.getPublicElement)((0, _renderer.default)(container)),\r\n onRendered: function() {\r\n callback()\r\n }\r\n });\r\n return true\r\n };\r\n return createTemplateFunction\r\n };\r\n _proto.getTaskTimeTooltipContentTemplateFunc = function(taskTooltipContentTemplateOption) {\r\n var template = taskTooltipContentTemplateOption && this._gantt._getTemplate(taskTooltipContentTemplateOption);\r\n var createTemplateFunction = template && function(container, item, callback) {\r\n template.render({\r\n model: item,\r\n container: (0, _element.getPublicElement)((0, _renderer.default)(container)),\r\n onRendered: function() {\r\n callback()\r\n }\r\n });\r\n return true\r\n };\r\n return createTemplateFunction\r\n };\r\n _proto.getTaskContentTemplateFunc = function(taskContentTemplateOption) {\r\n var _this2 = this;\r\n var template = taskContentTemplateOption && this._gantt._getTemplate(taskContentTemplateOption);\r\n var createTemplateFunction = template && function(container, item, callback, index) {\r\n item.taskData = _this2._gantt.getTaskDataByCoreData(item.taskData);\r\n template.render({\r\n model: item,\r\n container: (0, _element.getPublicElement)((0, _renderer.default)(container)),\r\n onRendered: function() {\r\n callback(container, index)\r\n }\r\n });\r\n return true\r\n };\r\n return createTemplateFunction\r\n };\r\n return GanttTemplatesManager\r\n}();\r\nexports.GanttTemplatesManager = GanttTemplatesManager;\r\n","/**\r\n * DevExtreme (cjs/ui/gantt/ui.gantt.treelist.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.GanttTreeList = void 0;\r\nvar _size = require(\"../../core/utils/size\");\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _tree_list = _interopRequireDefault(require(\"../tree_list\"));\r\nvar _position = require(\"../../core/utils/position\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _uiGantt = require(\"./ui.gantt.helper\");\r\nvar _data_source = require(\"../../data/data_source/data_source\");\r\nvar _array_store = _interopRequireDefault(require(\"../../data/array_store\"));\r\nvar _data2 = require(\"../../core/utils/data\");\r\nvar _uiGanttTreelist = require(\"./ui.gantt.treelist.nodes_state\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar GANTT_TASKS = \"tasks\";\r\nvar GANTT_COLLAPSABLE_ROW = \"dx-gantt-collapsable-row\";\r\nvar GANTT_DEFAULT_ROW_HEIGHT = 34;\r\nvar GanttTreeList = function() {\r\n function GanttTreeList(gantt) {\r\n this._gantt = gantt;\r\n this._$treeList = this._gantt._$treeList\r\n }\r\n var _proto = GanttTreeList.prototype;\r\n _proto.getTreeList = function() {\r\n var _this = this;\r\n var _this$_gantt$option = this._gantt.option(GANTT_TASKS),\r\n keyExpr = _this$_gantt$option.keyExpr,\r\n parentIdExpr = _this$_gantt$option.parentIdExpr;\r\n this._treeList = this._gantt._createComponent(this._$treeList, _tree_list.default, {\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: _uiGantt.GanttHelper.getSelectionMode(this._gantt.option(\"allowSelection\"))\r\n },\r\n selectedRowKeys: _uiGantt.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: function(e) {\r\n _this._onContentReady(e)\r\n },\r\n onSelectionChanged: function(e) {\r\n _this._onSelectionChanged(e)\r\n },\r\n onRowCollapsed: function(e) {\r\n _this._onRowCollapsed(e)\r\n },\r\n onRowExpanded: function(e) {\r\n _this._onRowExpanded(e)\r\n },\r\n onRowPrepared: function(e) {\r\n _this._onRowPrepared(e)\r\n },\r\n onContextMenuPreparing: function(e) {\r\n _this._onContextMenuPreparing(e)\r\n },\r\n onRowClick: function(e) {\r\n _this.onRowClick(e)\r\n },\r\n onRowDblClick: function(e) {\r\n _this.onRowDblClick(e)\r\n },\r\n onNodesInitialized: function(e) {\r\n _this._onNodesInitialized(e)\r\n },\r\n _disableDeprecationWarnings: true\r\n });\r\n return this._treeList\r\n };\r\n _proto.onAfterTreeListCreate = function() {\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 _proto._onContentReady = function(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 _proto._initGanttOnContentReady = function(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 _proto._onSelectionChanged = function(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 _proto._onRowCollapsed = function(e) {\r\n this._gantt._onTreeListRowExpandChanged(e, false)\r\n };\r\n _proto._onRowExpanded = function(e) {\r\n this._gantt._onTreeListRowExpandChanged(e, true)\r\n };\r\n _proto._onRowPrepared = function(e) {\r\n if (\"data\" === e.rowType && e.node.children.length > 0) {\r\n (0, _renderer.default)(e.rowElement).addClass(GANTT_COLLAPSABLE_ROW)\r\n }\r\n };\r\n _proto._onContextMenuPreparing = function(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 _proto._getHeight = function() {\r\n if ((0, _size.getHeight)(this._$treeList)) {\r\n return (0, _size.getHeight)(this._$treeList)\r\n }\r\n this._gantt._hasHeight = (0, _type.isDefined)(this._gantt.option(\"height\")) && \"\" !== this._gantt.option(\"height\");\r\n return this._gantt._hasHeight ? \"100%\" : \"\"\r\n };\r\n _proto._initScrollSync = function(treeList) {\r\n var _this2 = this;\r\n var treeListScrollable = treeList.getScrollable();\r\n if (treeListScrollable) {\r\n treeListScrollable.off(\"scroll\");\r\n treeListScrollable.on(\"scroll\", (function(e) {\r\n _this2._onScroll(e)\r\n }))\r\n }\r\n };\r\n _proto._onScroll = function(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 _proto._correctRowsViewRowHeight = function(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 _proto._skipUpdateTreeListDataSource = function() {\r\n return this._gantt.option(\"validation.autoUpdateParentTasks\")\r\n };\r\n _proto.selectRows = function(keys) {\r\n this.setOption(\"selectedRowKeys\", keys)\r\n };\r\n _proto.scrollBy = function(scrollTop) {\r\n var treeListScrollable = this._treeList.getScrollable();\r\n if (treeListScrollable) {\r\n var diff = scrollTop - treeListScrollable.scrollTop();\r\n if (0 !== diff) {\r\n treeListScrollable.scrollBy({\r\n left: 0,\r\n top: diff\r\n })\r\n }\r\n }\r\n };\r\n _proto.updateDataSource = function(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 _proto.setDataSource = function(data) {\r\n this.setOption(\"dataSource\", this.createDataSource(data))\r\n };\r\n _proto.createDataSource = function(data, key) {\r\n return data && new _data_source.DataSource({\r\n store: new _array_store.default({\r\n data: data,\r\n key: key || this.getOption(\"keyExpr\")\r\n })\r\n })\r\n };\r\n _proto.onRowClick = function(e) {\r\n this._gantt._actionsManager.raiseTaskClickAction(e.key, e.event)\r\n };\r\n _proto.onRowDblClick = function(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 _proto.saveExpandedKeys = function() {\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 _proto._onNodesInitialized = function(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((function(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 _proto.getNodesState = function() {\r\n if (!this._nodeState) {\r\n this._nodeState = new _uiGanttTreelist.GanttTreeListNodesState\r\n }\r\n return this._nodeState\r\n };\r\n _proto.getAllNodes = function() {\r\n var treeList = this._treeList;\r\n var store = null === treeList || void 0 === treeList ? void 0 : treeList.getDataSource().store();\r\n var keyGetter = (0, _data2.compileGetter)(null === store || void 0 === store ? void 0 : store.key());\r\n return store ? store._array.map((function(item) {\r\n return treeList.getNodeByKey(keyGetter(item))\r\n })) : []\r\n };\r\n _proto.isExpandedStateChanged = function(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((function(key, index) {\r\n return key !== keys2[index]\r\n }))\r\n };\r\n _proto.getOffsetHeight = function() {\r\n return this._gantt._treeList._$element.get(0).offsetHeight\r\n };\r\n _proto.getRowHeight = function() {\r\n var $row = this._treeList._$element.find(\".dx-data-row\");\r\n var height = $row.length ? (0, _position.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 _proto.getHeaderHeight = function() {\r\n return (0, _position.getBoundingRect)(this._treeList._$element.find(\".dx-treelist-headers\").get(0)).height\r\n };\r\n _proto.getColumns = function() {\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 _proto.getSievedItems = function() {\r\n var rootNode = this._treeList.getRootNode();\r\n if (!rootNode) {\r\n return\r\n }\r\n var resultArray = [];\r\n _uiGantt.GanttHelper.convertTreeToList(rootNode, resultArray);\r\n var getters = _uiGantt.GanttHelper.compileGettersByOption(this._gantt.option(GANTT_TASKS));\r\n var validatedData = this._gantt._validateSourceData(GANTT_TASKS, resultArray);\r\n var mappedData = validatedData.map(_uiGantt.GanttHelper.prepareMapHandler(getters));\r\n return mappedData\r\n };\r\n _proto.setOption = function(optionName, value) {\r\n this._treeList && this._treeList.option(optionName, value)\r\n };\r\n _proto.getOption = function(optionName) {\r\n var _this$_treeList;\r\n return null === (_this$_treeList = this._treeList) || void 0 === _this$_treeList ? void 0 : _this$_treeList.option(optionName)\r\n };\r\n _proto.onTaskInserted = function(insertedId, parentId) {\r\n if ((0, _type.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(_uiGantt.GanttHelper.getArrayFromOneElement(insertedId));\r\n this.setOption(\"focusedRowKey\", insertedId)\r\n };\r\n _proto.getDataSource = function() {\r\n var _this$_treeList2;\r\n return null === (_this$_treeList2 = this._treeList) || void 0 === _this$_treeList2 ? void 0 : _this$_treeList2.getDataSource()\r\n };\r\n return GanttTreeList\r\n}();\r\nexports.GanttTreeList = GanttTreeList;\r\n","/**\r\n * DevExtreme (cjs/ui/gantt/ui.gantt.treelist.nodes_state.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.GanttTreeListNodesState = exports.GanttTreeListNodeState = void 0;\r\nvar GanttTreeListNodeState = function() {\r\n function GanttTreeListNodeState(treeListNode) {\r\n var _treeListNode$parent;\r\n this.collapsed = false;\r\n this.key = treeListNode.key;\r\n this.children = treeListNode.children.map((function(node) {\r\n return node.key\r\n }));\r\n this.parentKey = null === (_treeListNode$parent = treeListNode.parent) || void 0 === _treeListNode$parent ? void 0 : _treeListNode$parent.key\r\n }\r\n var _proto = GanttTreeListNodeState.prototype;\r\n _proto.hasChildren = function() {\r\n return this.children.length > 0\r\n };\r\n _proto.removeChild = function(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 _proto.equal = function(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((function(value, index) {\r\n return value !== state.children[index]\r\n }))) {\r\n return false\r\n }\r\n return true\r\n };\r\n return GanttTreeListNodeState\r\n}();\r\nexports.GanttTreeListNodeState = GanttTreeListNodeState;\r\nvar GanttTreeListNodesState = function() {\r\n function GanttTreeListNodesState() {\r\n this._resetHash()\r\n }\r\n var _proto2 = GanttTreeListNodesState.prototype;\r\n _proto2.clear = function() {\r\n this._resetHash()\r\n };\r\n _proto2.applyNodes = function(nodes, rootValue) {\r\n var _this = this;\r\n if (this._rootValue !== rootValue) {\r\n this._resetHash();\r\n this._rootValue = rootValue\r\n }\r\n this._removeNonExistentNodes(nodes.map((function(node) {\r\n return node.key\r\n })));\r\n nodes.forEach((function(node) {\r\n return _this._applyNode(node)\r\n }));\r\n this._validateHash()\r\n };\r\n _proto2.saveExpandedState = function(expandedKeys) {\r\n var _this2 = this;\r\n this._hasCollapsed = false;\r\n this._forEachState((function(state) {\r\n if (state.hasChildren() && !expandedKeys.includes(state.key)) {\r\n state.collapsed = true;\r\n _this2._hasCollapsed = true\r\n }\r\n }))\r\n };\r\n _proto2.getExpandedKeys = function() {\r\n if (this._hasCollapsed) {\r\n var keys = [];\r\n this._forEachState((function(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 _proto2._resetHash = function() {\r\n this._nodeHash = {};\r\n this._hasCollapsed = false\r\n };\r\n _proto2._getNodeState = function(key) {\r\n return this._nodeHash[key]\r\n };\r\n _proto2._removeNonExistentNodes = function(existingKeys) {\r\n var _this3 = this;\r\n if (existingKeys) {\r\n this._forEachState((function(state) {\r\n if (!existingKeys.includes(state.key)) {\r\n _this3._removeStateWithChildren(state)\r\n }\r\n }))\r\n }\r\n };\r\n _proto2._removeStateWithChildren = function(key) {\r\n var _this4 = this;\r\n var state = this._getNodeState(key);\r\n if (state) {\r\n state.children.forEach((function(child) {\r\n return _this4._removeStateWithChildren(child)\r\n }));\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 _proto2._applyNode = function(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 _proto2._expandTreelineToNode = function(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 _proto2._validateHash = function() {\r\n var _this5 = this;\r\n Object.keys(this._nodeHash).forEach((function(key) {\r\n var state = _this5._getNodeState(key);\r\n var parentKey = null === state || void 0 === state ? void 0 : state.parentKey;\r\n if (parentKey !== _this5._rootValue && !_this5._getNodeState(parentKey)) {\r\n _this5._removeStateWithChildren(key)\r\n }\r\n }))\r\n };\r\n _proto2._forEachState = function(callback) {\r\n var _this6 = this;\r\n Object.keys(this._nodeHash).forEach((function(key) {\r\n var state = _this6._nodeHash[key];\r\n if (state) {\r\n callback(state)\r\n }\r\n }))\r\n };\r\n return GanttTreeListNodesState\r\n}();\r\nexports.GanttTreeListNodesState = GanttTreeListNodesState;\r\n","/**\r\n * DevExtreme (cjs/ui/gantt/ui.gantt.view.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.GanttView = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _ui = _interopRequireDefault(require(\"../widget/ui.widget\"));\r\nvar _gantt_importer = require(\"./gantt_importer\");\r\nvar _uiGanttTaskArea = require(\"./ui.gantt.task.area.container\");\r\nvar _date = _interopRequireDefault(require(\"../../localization/date\"));\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _message = _interopRequireDefault(require(\"../../localization/message\"));\r\nvar _string = require(\"../../core/utils/string\");\r\nvar _core = _interopRequireDefault(require(\"../../localization/core\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar GanttView = function(_Widget) {\r\n _inheritsLoose(GanttView, _Widget);\r\n\r\n function GanttView() {\r\n return _Widget.apply(this, arguments) || this\r\n }\r\n var _proto = GanttView.prototype;\r\n _proto._init = function() {\r\n _Widget.prototype._init.call(this);\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 _proto._initMarkup = function() {\r\n var _GanttView = (0, _gantt_importer.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 _proto._getFirstDayOfWeek = function(value) {\r\n return (0, _type.isDefined)(value) ? value : _date.default.firstDayOfWeekIndex()\r\n };\r\n _proto.getTaskAreaContainer = function() {\r\n return this._ganttViewCore.getTaskAreaContainer()\r\n };\r\n _proto.getBarManager = function() {\r\n return this._ganttViewCore.barManager\r\n };\r\n _proto.executeCoreCommand = function(id) {\r\n var command = this._ganttViewCore.getCommandByKey(id);\r\n if (command) {\r\n command.execute()\r\n }\r\n };\r\n _proto.changeTaskExpanded = function(id, value) {\r\n this._ganttViewCore.changeTaskExpanded(id, value)\r\n };\r\n _proto.updateView = function() {\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 _proto.updateBarItemsState = function() {\r\n this._ganttViewCore.barManager.updateItemsState([])\r\n };\r\n _proto.setWidth = function(value) {\r\n this._ganttViewCore.setWidth(value)\r\n };\r\n _proto._onDimensionChanged = function() {\r\n this._ganttViewCore.onBrowserWindowResize()\r\n };\r\n _proto._selectTask = function(id) {\r\n this._ganttViewCore.selectTaskById(id)\r\n };\r\n _proto._update = function(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 _proto._getCultureInfo = function() {\r\n return {\r\n monthNames: _date.default.getMonthNames(\"wide\"),\r\n dayNames: _date.default.getDayNames(\"wide\"),\r\n abbrMonthNames: _date.default.getMonthNames(\"abbreviated\"),\r\n abbrDayNames: _date.default.getDayNames(\"abbreviated\"),\r\n quarterNames: this._getQuarterNames(),\r\n amText: this._getAmText(),\r\n pmText: this._getPmText(),\r\n start: _message.default.format(\"dxGantt-dialogStartTitle\"),\r\n end: _message.default.format(\"dxGantt-dialogEndTitle\"),\r\n progress: _message.default.format(\"dxGantt-dialogProgressTitle\")\r\n }\r\n };\r\n _proto._getAmText = function() {\r\n return this._hasAmPM() ? _date.default.getPeriodNames()[0] : \"\"\r\n };\r\n _proto._getPmText = function() {\r\n return this._hasAmPM() ? _date.default.getPeriodNames()[1] : \"\"\r\n };\r\n _proto._hasAmPM = function() {\r\n var date = new Date(Date.UTC(2012, 11, 12, 3, 0, 0));\r\n var dateString = date.toLocaleTimeString(_core.default.locale());\r\n return dateString.match(/am|pm/i) || date.toString().match(/am|pm/i)\r\n };\r\n _proto._getQuarterNames = function() {\r\n var quarterFormat = _message.default.format(\"dxGantt-quarter\");\r\n if (!quarterFormat) {\r\n return _date.default.getQuarterNames()\r\n }\r\n return [(0, _string.format)(quarterFormat, 1), (0, _string.format)(quarterFormat, 2), (0, _string.format)(quarterFormat, 3), (0, _string.format)(quarterFormat, 4)]\r\n };\r\n _proto._getTaskTitlePosition = function(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 _proto._getViewTypeByScaleType = function(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 _proto._parseEditingSettings = function(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 _proto._parseViewTypeRangeSettings = function(value) {\r\n return {\r\n min: this._getViewTypeByScaleType(value.min),\r\n max: this._getViewTypeByScaleType(value.max)\r\n }\r\n };\r\n _proto._optionChanged = function(args) {\r\n switch (args.name) {\r\n case \"width\":\r\n _Widget.prototype._optionChanged.call(this, 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 _Widget.prototype._optionChanged.call(this, args)\r\n }\r\n };\r\n _proto.getRowHeight = function() {\r\n return this.option(\"rowHeight\")\r\n };\r\n _proto.getHeaderHeight = function() {\r\n return this.option(\"headerHeight\")\r\n };\r\n _proto.getGanttTasksData = function() {\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 _proto._sortAndFilter = function(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 _proto.getSieveOptions = function() {\r\n return this._sieveOptions\r\n };\r\n _proto.getGanttDependenciesData = function() {\r\n return this.option(\"dependencies\")\r\n };\r\n _proto.getGanttResourcesData = function() {\r\n return this.option(\"resources\")\r\n };\r\n _proto.getGanttResourceAssignmentsData = function() {\r\n return this.option(\"resourceAssignments\")\r\n };\r\n _proto.getGanttWorkTimeRules = function() {\r\n return null\r\n };\r\n _proto.getExternalTaskAreaContainer = function(element) {\r\n if (!this._taskAreaContainer) {\r\n this._taskAreaContainer = new _uiGanttTaskArea.TaskAreaContainer(element, this)\r\n }\r\n return this._taskAreaContainer\r\n };\r\n _proto.prepareExternalTaskAreaContainer = function(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 _proto.changeGanttTaskSelection = function(id, selected) {\r\n this._onSelectionChanged({\r\n id: id,\r\n selected: selected\r\n })\r\n };\r\n _proto.onGanttScroll = function(scrollTop) {\r\n this._onScroll({\r\n scrollTop: scrollTop\r\n })\r\n };\r\n _proto.showDialog = function(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 _proto.getModelChangesListener = function() {\r\n return this.option(\"modelChangesListener\")\r\n };\r\n _proto.getExportInfo = function() {\r\n return this.option(\"exportInfo\")\r\n };\r\n _proto.showPopupMenu = function(info) {\r\n this._onPopupMenuShowing(info)\r\n };\r\n _proto.hidePopupMenu = function(info) {\r\n this._onPopupMenuHiding(info)\r\n };\r\n _proto.getMainElement = function() {\r\n return this.option(\"mainElement\").get(0)\r\n };\r\n _proto.adjustControl = function() {\r\n this._onAdjustControl()\r\n };\r\n _proto.getRequireFirstLoadParentAutoCalc = function() {\r\n return this.option(\"validation.autoUpdateParentTasks\")\r\n };\r\n _proto.collapseAll = function() {\r\n this._collapseAll()\r\n };\r\n _proto.expandAll = function() {\r\n this._expandAll()\r\n };\r\n _proto.onTaskClick = function(key, event) {\r\n this._taskClick({\r\n key: key,\r\n event: event\r\n });\r\n return true\r\n };\r\n _proto.onTaskDblClick = function(key, event) {\r\n return this._taskDblClick({\r\n key: key,\r\n event: event\r\n })\r\n };\r\n _proto.onGanttViewContextMenu = function(event, key, type) {\r\n return true\r\n };\r\n _proto.getFormattedDateText = function(date) {\r\n var result = \"\";\r\n if (date) {\r\n var datePart = _date.default.format(date, \"shortDate\");\r\n var timeFormat = this._hasAmPM() ? \"hh:mm a\" : \"HH:mm\";\r\n var timePart = _date.default.format(date, timeFormat);\r\n result = datePart + \" \" + timePart\r\n }\r\n return result\r\n };\r\n _proto.destroyTemplate = function(container) {\r\n (0, _renderer.default)(container).empty()\r\n };\r\n _proto.onTaskAreaSizeChanged = function(info) {\r\n var scrollView = this._taskAreaContainer._scrollView;\r\n if ((0, _type.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 _proto.updateGanttViewType = function(type) {\r\n this._onViewTypeChanged({\r\n type: type\r\n })\r\n };\r\n _proto.getTreeListTableStyle = function() {\r\n return this.callExportHelperMethod(\"getTreeListTableStyle\")\r\n };\r\n _proto.getTreeListColCount = function() {\r\n return this.callExportHelperMethod(\"getTreeListColCount\")\r\n };\r\n _proto.getTreeListHeaderInfo = function(colIndex) {\r\n return this.callExportHelperMethod(\"getTreeListHeaderInfo\", colIndex)\r\n };\r\n _proto.getTreeListCellInfo = function(rowIndex, colIndex, key) {\r\n return this.callExportHelperMethod(\"getTreeListCellInfo\", key, colIndex)\r\n };\r\n _proto.getTreeListEmptyDataCellInfo = function() {\r\n return this.callExportHelperMethod(\"getTreeListEmptyDataCellInfo\")\r\n };\r\n _proto.callExportHelperMethod = function(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].apply(helper, args)\r\n };\r\n _proto.applyTasksExpandedState = function(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 _createClass(GanttView, [{\r\n key: \"bars\",\r\n get: function() {\r\n return this.option(\"bars\")\r\n }\r\n }]);\r\n return GanttView\r\n}(_ui.default);\r\nexports.GanttView = GanttView;\r\n","/**\r\n * DevExtreme (cjs/ui/grid_core/ui.grid_core.utils.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _m_utils = _interopRequireDefault(require(\"../../__internal/grids/grid_core/m_utils\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar _default = _m_utils.default;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/hierarchical_collection/ui.data_adapter.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _class = _interopRequireDefault(require(\"../../core/class\"));\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _ui = _interopRequireDefault(require(\"../../ui/widget/ui.errors\"));\r\nvar _ui2 = _interopRequireDefault(require(\"../../ui/widget/ui.search_box_mixin\"));\r\nvar _text_box = _interopRequireDefault(require(\"../../ui/text_box\"));\r\nvar _query = _interopRequireDefault(require(\"../../data/query\"));\r\nvar _store_helper = _interopRequireDefault(require(\"../../data/store_helper\"));\r\nvar _ui3 = _interopRequireDefault(require(\"./ui.data_converter\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar EXPANDED = \"expanded\";\r\nvar SELECTED = \"selected\";\r\nvar DISABLED = \"disabled\";\r\n_ui2.default.setEditorClass(_text_box.default);\r\nvar DataAdapter = _class.default.inherit({\r\n ctor: function(options) {\r\n this.options = {};\r\n (0, _extend.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 _ui3.default,\r\n onNodeChanged: _common.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 (0, _iterator.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 (0, _iterator.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 (0, _iterator.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 (0, _iterator.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 (!(0, _type.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 (0, _iterator.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 || !(0, _type.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 (0, _iterator.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 = (0, _extend.extend)([], this._dataStructure);\r\n (0, _iterator.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 (0, _iterator.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 (0, _iterator.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 (0, _query.default)(this._dataStructure, {\r\n langParams: this.options.langParams\r\n }).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 (!(0, _type.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 (0, _iterator.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 }(0, _iterator.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 = _ui2.default.getOperationBySearchMode(this.options.searchMode);\r\n var criteria = this._createCriteria(selector, filterValue, operation);\r\n dataStructure = dataStructure || this._initialDataStructure;\r\n return (0, _query.default)(dataStructure, {\r\n langParams: this.options.langParams\r\n }).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 _ui.default.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 = _store_helper.default.queryByOptions((0, _query.default)(matches), {\r\n sort: this.options.sort,\r\n langParams: this.options.langParams\r\n }).toArray()\r\n }\r\n dataConverter._indexByKey = {};\r\n (0, _iterator.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\nvar _default = DataAdapter;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/hierarchical_collection/ui.data_converter.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _class = _interopRequireDefault(require(\"../../core/class\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _ui = _interopRequireDefault(require(\"../../ui/widget/ui.errors\"));\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _type = require(\"../../core/utils/type\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar DataConverter = _class.default.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 (0, _iterator.each)(items, (function(_, item) {\r\n var parentId = (0, _type.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 ((0, _type.isDefined)(this._indexByKey[key])) {\r\n throw _ui.default.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) && (0, _type.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: (0, _type.isDefined)(parentKey) ? parentKey : this._rootValue,\r\n item: this._makeObjectFromPrimitive(item),\r\n childrenKeys: []\r\n }\r\n };\r\n (0, _extend.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 (0, _iterator.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 ((0, _type.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 (0, _iterator.each)(data, (function(_, node) {\r\n node = (0, _type.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 (0, _iterator.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 (0, _iterator.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 (0, _iterator.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\nvar _default = DataConverter;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/hierarchical_collection/ui.hierarchical_collection_widget.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _data = require(\"../../core/utils/data\");\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _devices = _interopRequireDefault(require(\"../../core/devices\"));\r\nvar _icon = require(\"../../core/utils/icon\");\r\nvar _ui = _interopRequireDefault(require(\"./ui.data_adapter\"));\r\nvar _uiCollection_widget = _interopRequireDefault(require(\"../collection/ui.collection_widget.edit\"));\r\nvar _bindable_template = require(\"../../core/templates/bindable_template\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _common = require(\"../../core/utils/common\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar DISABLED_STATE_CLASS = \"dx-state-disabled\";\r\nvar HierarchicalCollectionWidget = _uiCollection_widget.default.inherit({\r\n _getDefaultOptions: function() {\r\n return (0, _extend.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.default.real().deviceType && !_devices.default.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 _ui.default((0, _extend.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: _common.noop,\r\n _getItemExtraPropNames: _common.noop,\r\n _initDynamicTemplates: function() {\r\n var fields = [\"text\", \"html\", \"items\", \"icon\"].concat(this._getItemExtraPropNames());\r\n this._templateManager.addDefaultTemplates({\r\n item: new _bindable_template.BindableTemplate(this._addContent.bind(this), fields, this.option(\"integrationOptions.watchMethod\"), {\r\n text: this._displayGetter,\r\n items: this._itemsGetter\r\n })\r\n })\r\n },\r\n _addContent: function($container, itemData) {\r\n $container.html(itemData.html).append(this._getIconContainer(itemData)).append(this._getTextContainer(itemData))\r\n },\r\n _getIconContainer: function(itemData) {\r\n return itemData.icon ? (0, _icon.getImageContainer)(itemData.icon) : void 0\r\n },\r\n _getTextContainer: function(itemData) {\r\n return (0, _renderer.default)(\"<span>\").text(itemData.text)\r\n },\r\n _initAccessors: function() {\r\n var that = this;\r\n (0, _iterator.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 (0, _iterator.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] = _common.noop;\r\n this[setter] = _common.noop;\r\n return\r\n } else if ((0, _type.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] = (0, _data.compileGetter)(optionExpr);\r\n this[setter] = (0, _data.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 (0, _iterator.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 ? function(itemData) {\r\n return itemData.text\r\n } : 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: _common.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\nvar _default = HierarchicalCollectionWidget;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/html_editor.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _ui = _interopRequireDefault(require(\"./html_editor/ui.html_editor\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar _default = _ui.default;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/html_editor/converterController.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar ConverterController = function() {\r\n function ConverterController() {\r\n this._converters = {}\r\n }\r\n var _proto = ConverterController.prototype;\r\n _proto.addConverter = function(name, converter) {\r\n this._converters[name] = converter\r\n };\r\n _proto.getConverter = function(name) {\r\n return this._converters[name]\r\n };\r\n return ConverterController\r\n}();\r\nvar controller = new ConverterController;\r\nvar _default = controller;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/html_editor/converters/delta.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _converterController = _interopRequireDefault(require(\"../converterController\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar DeltaConverter = function() {\r\n function DeltaConverter() {}\r\n var _proto = DeltaConverter.prototype;\r\n _proto.setQuillInstance = function(quillInstance) {\r\n this.quillInstance = quillInstance\r\n };\r\n _proto.toHtml = function() {\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 _proto._isQuillEmpty = function() {\r\n var delta = this.quillInstance.getContents();\r\n return 1 === delta.length() && this._isDeltaEmpty(delta)\r\n };\r\n _proto._isDeltaEmpty = function(delta) {\r\n return delta.reduce((function(__, _ref) {\r\n var insert = _ref.insert;\r\n return -1 !== insert.indexOf(\"\\n\")\r\n }))\r\n };\r\n return DeltaConverter\r\n}();\r\n_converterController.default.addConverter(\"delta\", DeltaConverter);\r\nvar _default = DeltaConverter;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/html_editor/converters/markdown.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _turndown = _interopRequireDefault(require(\"turndown\"));\r\nvar _devextremeShowdown = _interopRequireDefault(require(\"devextreme-showdown\"));\r\nvar _window = require(\"../../../core/utils/window\");\r\nvar _ui = _interopRequireDefault(require(\"../../widget/ui.errors\"));\r\nvar _converterController = _interopRequireDefault(require(\"../converterController\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar MarkdownConverter = function() {\r\n function MarkdownConverter() {\r\n var _this$_html2Markdown;\r\n var window = (0, _window.getWindow)();\r\n var turndown = window && window.TurndownService || _turndown.default;\r\n var showdown = window && window.showdown || _devextremeShowdown.default;\r\n if (!turndown) {\r\n throw _ui.default.Error(\"E1041\", \"Turndown\")\r\n }\r\n if (!showdown) {\r\n throw _ui.default.Error(\"E1041\", \"DevExtreme-Showdown\")\r\n }\r\n this._html2Markdown = new turndown;\r\n if (null !== (_this$_html2Markdown = this._html2Markdown) && void 0 !== _this$_html2Markdown && _this$_html2Markdown.addRule) {\r\n this._html2Markdown.addRule(\"emptyLine\", {\r\n filter: function(element) {\r\n return \"p\" === element.nodeName.toLowerCase() && \"<br>\" === element.innerHTML\r\n },\r\n replacement: function() {\r\n return \"<br>\"\r\n }\r\n });\r\n this._html2Markdown.keep([\"table\"])\r\n }\r\n this._markdown2Html = new showdown.Converter({\r\n simpleLineBreaks: true,\r\n strikethrough: true,\r\n tables: true\r\n })\r\n }\r\n var _proto = MarkdownConverter.prototype;\r\n _proto.toMarkdown = function(htmlMarkup) {\r\n return this._html2Markdown.turndown(htmlMarkup || \"\")\r\n };\r\n _proto.toHtml = function(markdownMarkup) {\r\n var markup = this._markdown2Html.makeHtml(markdownMarkup);\r\n if (markup) {\r\n markup = markup.replace(new RegExp(\"\\\\r?\\\\n\", \"g\"), \"\")\r\n }\r\n return markup\r\n };\r\n return MarkdownConverter\r\n}();\r\n_converterController.default.addConverter(\"markdown\", MarkdownConverter);\r\nvar _default = MarkdownConverter;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/html_editor/formats/align.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _devextremeQuill = _interopRequireDefault(require(\"devextreme-quill\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar AlignStyle = {};\r\nif (_devextremeQuill.default) {\r\n AlignStyle = _devextremeQuill.default.import(\"attributors/style/align\");\r\n AlignStyle.whitelist.push(\"left\")\r\n}\r\nvar _default = AlignStyle;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/html_editor/formats/font.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _devextremeQuill = _interopRequireDefault(require(\"devextreme-quill\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar FontStyle = {};\r\nif (_devextremeQuill.default) {\r\n FontStyle = _devextremeQuill.default.import(\"attributors/style/font\");\r\n FontStyle.whitelist = null\r\n}\r\nvar _default = FontStyle;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/html_editor/formats/image.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _devextremeQuill = _interopRequireDefault(require(\"devextreme-quill\"));\r\nvar _type = require(\"../../../core/utils/type\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar ExtImage = {};\r\nif (_devextremeQuill.default) {\r\n var Image = _devextremeQuill.default.import(\"formats/image\");\r\n ExtImage = function(_Image) {\r\n _inheritsLoose(ExtImage, _Image);\r\n\r\n function ExtImage() {\r\n return _Image.apply(this, arguments) || this\r\n }\r\n ExtImage.create = function(data) {\r\n var SRC = data && data.src || data;\r\n var node = _Image.create.call(this, SRC);\r\n if ((0, _type.isObject)(data)) {\r\n var setAttribute = function(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 ExtImage.formats = function(domNode) {\r\n var formats = _Image.formats.call(this, domNode);\r\n formats.imageSrc = domNode.getAttribute(\"src\");\r\n return formats\r\n };\r\n var _proto = ExtImage.prototype;\r\n _proto.formats = function() {\r\n var formats = _Image.prototype.formats.call(this);\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 _proto.format = function(name, value) {\r\n if (\"float\" === name) {\r\n this.domNode.style[name] = value\r\n } else {\r\n _Image.prototype.format.call(this, name, value)\r\n }\r\n };\r\n ExtImage.value = function(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 return ExtImage\r\n }(Image);\r\n ExtImage.blotName = \"extendedImage\"\r\n}\r\nvar _default = ExtImage;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/html_editor/formats/link.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _devextremeQuill = _interopRequireDefault(require(\"devextreme-quill\"));\r\nvar _type = require(\"../../../core/utils/type\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar ExtLink = {};\r\nif (_devextremeQuill.default) {\r\n var Link = _devextremeQuill.default.import(\"formats/link\");\r\n ExtLink = function(_Link) {\r\n _inheritsLoose(ExtLink, _Link);\r\n\r\n function ExtLink() {\r\n return _Link.apply(this, arguments) || this\r\n }\r\n ExtLink.create = function(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 = _Link.create.call(this, HREF);\r\n if ((0, _type.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 ExtLink.formats = function(domNode) {\r\n return {\r\n href: domNode.getAttribute(\"href\"),\r\n target: domNode.getAttribute(\"target\")\r\n }\r\n };\r\n var _proto = ExtLink.prototype;\r\n _proto.formats = function() {\r\n var formats = _Link.prototype.formats.call(this);\r\n var _ExtLink$formats = ExtLink.formats(this.domNode),\r\n href = _ExtLink$formats.href,\r\n target = _ExtLink$formats.target;\r\n formats.link = href;\r\n formats.target = target;\r\n return formats\r\n };\r\n _proto.format = function(name, value) {\r\n if (\"link\" === name && (0, _type.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 _Link.prototype.format.call(this, name, value)\r\n }\r\n };\r\n ExtLink.value = function(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 return ExtLink\r\n }(Link)\r\n}\r\nvar _default = ExtLink;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/html_editor/formats/mention.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _devextremeQuill = _interopRequireDefault(require(\"devextreme-quill\"));\r\nvar _renderer = _interopRequireDefault(require(\"../../../core/renderer\"));\r\nvar _templates_storage = _interopRequireDefault(require(\"../utils/templates_storage\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar Mention = {};\r\nif (_devextremeQuill.default) {\r\n var Embed = _devextremeQuill.default.import(\"blots/embed\");\r\n var MENTION_CLASS = \"dx-mention\";\r\n Mention = function(_Embed) {\r\n _inheritsLoose(Mention, _Embed);\r\n\r\n function Mention() {\r\n return _Embed.apply(this, arguments) || this\r\n }\r\n Mention.create = function(data) {\r\n var node = _Embed.create.call(this);\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 this.renderContent(node, data);\r\n return node\r\n };\r\n Mention.value = function(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 Mention.renderContent = function(node, data) {\r\n var template = this._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 Mention.baseContentRender = function(node, data) {\r\n var $marker = (0, _renderer.default)(\"<span>\").text(data.marker);\r\n (0, _renderer.default)(node).append($marker).append(data.value)\r\n };\r\n Mention.addTemplate = function(data, template) {\r\n this._templatesStorage.set(data, template)\r\n };\r\n Mention.removeTemplate = function(data) {\r\n this._templatesStorage.delete(data)\r\n };\r\n return Mention\r\n }(Embed);\r\n Mention.blotName = \"mention\";\r\n Mention.tagName = \"span\";\r\n Mention.className = MENTION_CLASS;\r\n Mention._templatesStorage = new _templates_storage.default\r\n}\r\nvar _default = Mention;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/html_editor/formats/size.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _devextremeQuill = _interopRequireDefault(require(\"devextreme-quill\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar SizeStyle = {};\r\nif (_devextremeQuill.default) {\r\n SizeStyle = _devextremeQuill.default.import(\"attributors/style/size\");\r\n SizeStyle.whitelist = null\r\n}\r\nvar _default = SizeStyle;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/html_editor/formats/variable.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _devextremeQuill = _interopRequireDefault(require(\"devextreme-quill\"));\r\nvar _common = require(\"../../../core/utils/common\");\r\nvar _extend = require(\"../../../core/utils/extend\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar Variable = {};\r\nif (_devextremeQuill.default) {\r\n var Embed = _devextremeQuill.default.import(\"blots/embed\");\r\n var VARIABLE_CLASS = \"dx-variable\";\r\n Variable = function(_Embed) {\r\n _inheritsLoose(Variable, _Embed);\r\n\r\n function Variable() {\r\n return _Embed.apply(this, arguments) || this\r\n }\r\n Variable.create = function(data) {\r\n var node = _Embed.create.call(this);\r\n var startEscapeChar;\r\n var endEscapeChar;\r\n var text = data.value;\r\n if (Array.isArray(data.escapeChar)) {\r\n startEscapeChar = (0, _common.ensureDefined)(data.escapeChar[0], \"\");\r\n endEscapeChar = (0, _common.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 Variable.value = function(node) {\r\n return (0, _extend.extend)({}, {\r\n value: node.dataset.varValue,\r\n escapeChar: [node.dataset.varStartEscChar || \"\", node.dataset.varEndEscChar || \"\"]\r\n })\r\n };\r\n return Variable\r\n }(Embed);\r\n Variable.blotName = \"variable\";\r\n Variable.tagName = \"span\";\r\n Variable.className = VARIABLE_CLASS\r\n}\r\nvar _default = Variable;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/html_editor/matchers/wordLists.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\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 = function(quill) {\r\n var Delta = quill.import(\"delta\");\r\n return function(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\nvar _default = getMatcher;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/html_editor/modules/base.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _devextremeQuill = _interopRequireDefault(require(\"devextreme-quill\"));\r\nvar _empty = _interopRequireDefault(require(\"./empty\"));\r\nvar _type = require(\"../../../core/utils/type\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _slicedToArray(arr, i) {\r\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest()\r\n}\r\n\r\nfunction _nonIterableRest() {\r\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _unsupportedIterableToArray(o, minLen) {\r\n if (!o) {\r\n return\r\n }\r\n if (\"string\" === typeof o) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n var n = Object.prototype.toString.call(o).slice(8, -1);\r\n if (\"Object\" === n && o.constructor) {\r\n n = o.constructor.name\r\n }\r\n if (\"Map\" === n || \"Set\" === n) {\r\n return Array.from(o)\r\n }\r\n if (\"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n}\r\n\r\nfunction _arrayLikeToArray(arr, len) {\r\n if (null == len || len > arr.length) {\r\n len = arr.length\r\n }\r\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\r\n arr2[i] = arr[i]\r\n }\r\n return arr2\r\n}\r\n\r\nfunction _iterableToArrayLimit(arr, i) {\r\n var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"];\r\n if (null != _i) {\r\n var _s, _e, _x, _r, _arr = [],\r\n _n = !0,\r\n _d = !1;\r\n try {\r\n if (_x = (_i = _i.call(arr)).next, 0 === i) {\r\n if (Object(_i) !== _i) {\r\n return\r\n }\r\n _n = !1\r\n } else {\r\n for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) {}\r\n }\r\n } catch (err) {\r\n _d = !0, _e = err\r\n } finally {\r\n try {\r\n if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) {\r\n return\r\n }\r\n } finally {\r\n if (_d) {\r\n throw _e\r\n }\r\n }\r\n }\r\n return _arr\r\n }\r\n}\r\n\r\nfunction _arrayWithHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return arr\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar BaseModule = _empty.default;\r\nif (_devextremeQuill.default) {\r\n var BaseQuillModule = _devextremeQuill.default.import(\"core/module\");\r\n BaseModule = function(_BaseQuillModule) {\r\n _inheritsLoose(BaseHtmlEditorModule, _BaseQuillModule);\r\n\r\n function BaseHtmlEditorModule(quill, options) {\r\n var _this;\r\n _this = _BaseQuillModule.call(this, quill, options) || this;\r\n _this.editorInstance = options.editorInstance;\r\n return _this\r\n }\r\n var _proto = BaseHtmlEditorModule.prototype;\r\n _proto.saveValueChangeEvent = function(event) {\r\n this.editorInstance._saveValueChangeEvent(event)\r\n };\r\n _proto.addCleanCallback = function(callback) {\r\n this.editorInstance.addCleanCallback(callback)\r\n };\r\n _proto.handleOptionChangeValue = function(changes) {\r\n var _this2 = this;\r\n if ((0, _type.isObject)(changes)) {\r\n Object.entries(changes).forEach((function(_ref) {\r\n var _ref2 = _slicedToArray(_ref, 2),\r\n name = _ref2[0],\r\n value = _ref2[1];\r\n return _this2.option(name, value)\r\n }))\r\n } else if (!(0, _type.isDefined)(changes)) {\r\n null === this || void 0 === this ? void 0 : this.clean()\r\n }\r\n };\r\n return BaseHtmlEditorModule\r\n }(BaseQuillModule)\r\n}\r\nvar _default = BaseModule;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/html_editor/modules/dropImage.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _devextremeQuill = _interopRequireDefault(require(\"devextreme-quill\"));\r\nvar _events_engine = _interopRequireDefault(require(\"../../../events/core/events_engine\"));\r\nvar _index = require(\"../../../events/utils/index\");\r\nvar _iterator = require(\"../../../core/utils/iterator\");\r\nvar _browser = _interopRequireDefault(require(\"../../../core/utils/browser\"));\r\nvar _window = require(\"../../../core/utils/window\");\r\nvar _base = _interopRequireDefault(require(\"./base\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _assertThisInitialized(self) {\r\n if (void 0 === self) {\r\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\")\r\n }\r\n return self\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar DropImageModule = _base.default;\r\nif (_devextremeQuill.default) {\r\n DropImageModule = function(_BaseModule) {\r\n _inheritsLoose(DropImageModule, _BaseModule);\r\n\r\n function DropImageModule(quill, options) {\r\n var _this;\r\n _this = _BaseModule.call(this, quill, options) || this;\r\n var widgetName = _this.editorInstance.NAME;\r\n _events_engine.default.on(_this.quill.root, (0, _index.addNamespace)(\"drop\", widgetName), _this._dropHandler.bind(_assertThisInitialized(_this)));\r\n _events_engine.default.on(_this.quill.root, (0, _index.addNamespace)(\"paste\", widgetName), _this._pasteHandler.bind(_assertThisInitialized(_this)));\r\n return _this\r\n }\r\n var _proto = DropImageModule.prototype;\r\n _proto._dropHandler = function(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 _proto._pasteHandler = function(e) {\r\n var _clipboardData$items, _this2 = this;\r\n var clipboardData = e.originalEvent.clipboardData;\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, (function(imageData) {\r\n if (_this2._isBrowserSupportImagePaste(_browser.default)) {\r\n return\r\n }\r\n _this2._addImage(imageData)\r\n }))\r\n }\r\n };\r\n _proto._isBrowserSupportImagePaste = function(_ref) {\r\n var mozilla = _ref.mozilla,\r\n chrome = _ref.chrome,\r\n version = _ref.version;\r\n return mozilla || chrome && version > 82\r\n };\r\n _proto._isImage = function(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 _proto._getImage = function(files, callback) {\r\n var _this3 = this;\r\n var window = (0, _window.getWindow)();\r\n (0, _iterator.each)(files, (function(index, file) {\r\n if (!_this3._isImage(file)) {\r\n return\r\n }\r\n var reader = new window.FileReader;\r\n reader.onload = function(_ref2) {\r\n var target = _ref2.target;\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 _proto._addImage = function(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 return DropImageModule\r\n }(_base.default)\r\n}\r\nvar _default = DropImageModule;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/html_editor/modules/empty.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar EmptyModule = function() {};\r\nexports.default = EmptyModule;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/html_editor/modules/imageCursor.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _devextremeQuill = _interopRequireDefault(require(\"devextreme-quill\"));\r\nvar _base = _interopRequireDefault(require(\"./base\"));\r\nvar _events_engine = _interopRequireDefault(require(\"../../../events/core/events_engine\"));\r\nvar _index = require(\"../../../events/utils/index\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _assertThisInitialized(self) {\r\n if (void 0 === self) {\r\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\")\r\n }\r\n return self\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar MODULE_NAMESPACE = \"dxHtmlEditorImageCursor\";\r\nvar clickEvent = (0, _index.addNamespace)(\"dxclick\", MODULE_NAMESPACE);\r\nvar ImageCursorModule = _base.default;\r\nif (_devextremeQuill.default) {\r\n ImageCursorModule = function(_BaseModule) {\r\n _inheritsLoose(ImageCursorModule, _BaseModule);\r\n\r\n function ImageCursorModule(quill, options) {\r\n var _this;\r\n _this = _BaseModule.call(this, quill, options) || this;\r\n _this.addCleanCallback(_this.clean.bind(_assertThisInitialized(_this)));\r\n _this._attachEvents();\r\n return _this\r\n }\r\n var _proto = ImageCursorModule.prototype;\r\n _proto._attachEvents = function() {\r\n _events_engine.default.on(this.quill.root, clickEvent, this._clickHandler.bind(this))\r\n };\r\n _proto._detachEvents = function() {\r\n _events_engine.default.off(this.quill.root, clickEvent)\r\n };\r\n _proto._clickHandler = function(e) {\r\n if (this._isAllowedTarget(e.target)) {\r\n this._adjustSelection(e)\r\n }\r\n };\r\n _proto._isAllowedTarget = function(targetElement) {\r\n return this._isImage(targetElement)\r\n };\r\n _proto._isImage = function(targetElement) {\r\n return \"IMG\" === targetElement.tagName.toUpperCase()\r\n };\r\n _proto._adjustSelection = function(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 _proto.clean = function() {\r\n this._detachEvents()\r\n };\r\n return ImageCursorModule\r\n }(_base.default)\r\n}\r\nvar _default = ImageCursorModule;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/html_editor/modules/imageUpload.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _devextremeQuill = _interopRequireDefault(require(\"devextreme-quill\"));\r\nvar _base = _interopRequireDefault(require(\"./base\"));\r\nvar _events_engine = _interopRequireDefault(require(\"../../../events/core/events_engine\"));\r\nvar _renderer = _interopRequireDefault(require(\"../../../core/renderer\"));\r\nvar _type = require(\"../../../core/utils/type\");\r\nvar _extend = require(\"../../../core/utils/extend\");\r\nvar _image_uploader_helper = require(\"../utils/image_uploader_helper\");\r\nvar _index = require(\"../../../events/utils/index\");\r\nvar _file_uploader = _interopRequireDefault(require(\"../../file_uploader\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar MODULE_NAMESPACE = \"dxHtmlEditorImageUpload\";\r\nvar HIDDEN_FILE_UPLOADER_CLASS = \"dx-htmleditor-hidden-content\";\r\nvar ImageUploadModule = _base.default;\r\nif (_devextremeQuill.default) {\r\n ImageUploadModule = function(_BaseModule) {\r\n _inheritsLoose(ImageUploadModule, _BaseModule);\r\n\r\n function ImageUploadModule(quill, options) {\r\n var _this;\r\n _this = _BaseModule.call(this, quill, options) || this;\r\n _this.options = options;\r\n _this._quillContainer = _this.editorInstance._getQuillContainer();\r\n _this.addCleanCallback(_this.prepareCleanCallback());\r\n _this._handleServerUpload();\r\n return _this\r\n }\r\n var _proto = ImageUploadModule.prototype;\r\n _proto._handleServerUpload = function() {\r\n var useServerUpload = (0, _type.isDefined)(this.options.fileUploadMode) && \"base64\" !== this.options.fileUploadMode;\r\n useServerUpload ? this._enableDragAndDropUploading() : this._disableDragAndDropUploading()\r\n };\r\n _proto._getUploaderModule = function() {\r\n if (!this._uploaderModule) {\r\n this._uploaderModule = this.quill.getModule(\"uploader\")\r\n }\r\n return this._uploaderModule\r\n };\r\n _proto._disableDragAndDropUploading = function() {\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 _proto._enableDragAndDropUploading = function() {\r\n this._initFileUploader();\r\n this._getUploaderModule().preventImageUploading(true);\r\n this._attachEvents()\r\n };\r\n _proto._initFileUploader = function() {\r\n var $container = (0, _renderer.default)(\"<div>\").addClass(HIDDEN_FILE_UPLOADER_CLASS).appendTo(this._quillContainer);\r\n var fileUploaderOptions = (0, _extend.extend)({}, (0, _image_uploader_helper.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, _file_uploader.default, fileUploaderOptions);\r\n return $container\r\n };\r\n _proto._onUploaded = function(data) {\r\n var _this$quill$getSelect;\r\n var _ref = 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 pasteIndex = _ref.index;\r\n (0, _image_uploader_helper.serverUpload)(this.options.uploadDirectory, data.file.name, this.quill, pasteIndex)\r\n };\r\n _proto._attachEvents = function() {\r\n _events_engine.default.on(this.quill.root, (0, _index.addNamespace)(\"drop\", MODULE_NAMESPACE), this._dropHandler.bind(this));\r\n _events_engine.default.on(this.quill.root, (0, _index.addNamespace)(\"paste\", MODULE_NAMESPACE), this._pasteHandler.bind(this))\r\n };\r\n _proto._detachEvents = function() {\r\n _events_engine.default.off(this.quill.root, MODULE_NAMESPACE)\r\n };\r\n _proto._dropHandler = function(e) {\r\n this._handleInsertImages(e, \"dataTransfer\")\r\n };\r\n _proto._pasteHandler = function(e) {\r\n this._handleInsertImages(e, \"clipboardData\")\r\n };\r\n _proto._handleInsertImages = function(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 _proto.clean = function() {\r\n this._disableDragAndDropUploading()\r\n };\r\n _proto.prepareCleanCallback = function() {\r\n var _this2 = this;\r\n return function() {\r\n _this2.clean()\r\n }\r\n };\r\n _proto.option = function(_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 return ImageUploadModule\r\n }(_base.default)\r\n}\r\nvar _default = ImageUploadModule;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/html_editor/modules/mentions.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../../core/renderer\"));\r\nvar _devextremeQuill = _interopRequireDefault(require(\"devextreme-quill\"));\r\nvar _data = require(\"../../../core/utils/data\");\r\nvar _type = require(\"../../../core/utils/type\");\r\nvar _extend = require(\"../../../core/utils/extend\");\r\nvar _element = require(\"../../../core/element\");\r\nvar _events_engine = _interopRequireDefault(require(\"../../../events/core/events_engine\"));\r\nvar _base = _interopRequireDefault(require(\"./base\"));\r\nvar _popup = _interopRequireDefault(require(\"./popup\"));\r\nvar _mention = _interopRequireDefault(require(\"../formats/mention\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _assertThisInitialized(self) {\r\n if (void 0 === self) {\r\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\")\r\n }\r\n return self\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar MentionModule = _base.default;\r\nif (_devextremeQuill.default) {\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 _devextremeQuill.default.register({\r\n \"formats/mention\": _mention.default\r\n }, true);\r\n MentionModule = function(_PopupModule) {\r\n _inheritsLoose(MentionModule, _PopupModule);\r\n var _proto = MentionModule.prototype;\r\n _proto._getDefaultOptions = function() {\r\n var baseConfig = _PopupModule.prototype._getDefaultOptions.call(this);\r\n return (0, _extend.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\r\n function MentionModule(quill, options) {\r\n var _this;\r\n _this = _PopupModule.call(this, quill, options) || this;\r\n _this._mentions = {};\r\n options.mentions.forEach((function(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.default.addTemplate({\r\n marker: marker,\r\n editorKey: _this.editorInstance.getMentionKeyInTemplateStorage()\r\n }, preparedTemplate)\r\n }\r\n _this._mentions[marker] = (0, _extend.extend)({}, _this._getDefaultOptions(), item)\r\n }));\r\n _this._attachKeyboardHandlers();\r\n _this.addCleanCallback(_this.clean.bind(_assertThisInitialized(_this)));\r\n _this.quill.on(\"text-change\", _this.onTextChange.bind(_assertThisInitialized(_this)));\r\n return _this\r\n }\r\n _proto._attachKeyboardHandlers = function() {\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 _proto._moveToItem = function(direction) {\r\n var dataSource = this._list.getDataSource();\r\n if (this._isMentionActive && !dataSource.isLoading()) {\r\n var $focusedItem = (0, _renderer.default)(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\", (0, _element.getPublicElement)($nextItem));\r\n this._list.scrollToItem($nextItem)\r\n }\r\n return !this._isMentionActive\r\n };\r\n _proto._ignoreKeyHandler = function() {\r\n return !this._isMentionActive\r\n };\r\n _proto._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 _proto._selectItemHandler = function() {\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 _proto._escapeKeyHandler = function() {\r\n if (this._isMentionActive) {\r\n this._popup.hide()\r\n }\r\n return !this._isMentionActive\r\n };\r\n _proto.renderList = function($container, options) {\r\n this.compileGetters(this.options);\r\n _PopupModule.prototype.renderList.call(this, $container, options)\r\n };\r\n _proto.compileGetters = function(_ref) {\r\n var displayExpr = _ref.displayExpr,\r\n valueExpr = _ref.valueExpr;\r\n this._valueGetter = (0, _data.compileGetter)(displayExpr);\r\n this._idGetter = (0, _data.compileGetter)(valueExpr)\r\n };\r\n _proto._getListConfig = function(options) {\r\n var _this2 = this;\r\n var baseConfig = _PopupModule.prototype._getListConfig.call(this, options);\r\n return (0, _extend.extend)(baseConfig, {\r\n itemTemplate: this.options.itemTemplate,\r\n onContentReady: function() {\r\n if (_this2._hasSearch) {\r\n _this2._popup.repaint();\r\n _this2._focusFirstElement();\r\n _this2._hasSearch = false\r\n }\r\n }\r\n })\r\n };\r\n _proto.insertEmbedContent = function() {\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 = _devextremeQuill.default.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 _proto._getLastInsertOperation = function(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 _proto.onTextChange = function(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 ops = newDelta.ops;\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 _proto._processSearchValue = function(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 _proto.checkMentionRequest = function(_ref2, ops) {\r\n var insert = _ref2.insert;\r\n var caret = this.quill.getSelection();\r\n if (!insert || !(0, _type.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 _proto._isMarkerPartOfText = function(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 _proto._getCharByIndex = function(index) {\r\n return this.quill.getContents(index, 1).ops[0].insert\r\n };\r\n _proto._updateList = function(_ref3) {\r\n var dataSource = _ref3.dataSource,\r\n displayExpr = _ref3.displayExpr,\r\n valueExpr = _ref3.valueExpr,\r\n itemTemplate = _ref3.itemTemplate,\r\n searchExpr = _ref3.searchExpr;\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 _proto._filterList = function(searchValue) {\r\n var _this3 = this;\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((function() {\r\n _this3._search(searchValue)\r\n }), searchTimeout)\r\n } else {\r\n this._search(searchValue)\r\n }\r\n };\r\n _proto._isMinSearchLengthExceeded = function(searchValue) {\r\n return searchValue.length >= this._activeMentionConfig.minSearchLength\r\n };\r\n _proto._resetFilter = function() {\r\n clearTimeout(this._searchTimer);\r\n this._search(null)\r\n };\r\n _proto._search = function(searchValue) {\r\n this._hasSearch = true;\r\n this._list.option(\"searchValue\", searchValue)\r\n };\r\n _proto._focusFirstElement = function() {\r\n if (!this._list) {\r\n return\r\n }\r\n var $firstItem = this._activeListItems.first();\r\n this._list.option(\"focusedElement\", (0, _element.getPublicElement)($firstItem));\r\n this._list.scrollToItem($firstItem)\r\n };\r\n _proto._getPopupConfig = function() {\r\n var _this4 = this;\r\n return (0, _extend.extend)(_PopupModule.prototype._getPopupConfig.call(this), {\r\n hideOnParentScroll: false,\r\n onShown: function() {\r\n _this4._isMentionActive = true;\r\n _this4._hasSearch = false;\r\n _this4._focusFirstElement()\r\n },\r\n onHidden: function() {\r\n _this4._list.unselectAll();\r\n _this4._list.option(\"focusedElement\", null);\r\n _this4._isMentionActive = false;\r\n _this4._search(null)\r\n },\r\n focusStateEnabled: false\r\n })\r\n };\r\n _proto.clean = function() {\r\n var _this5 = this;\r\n Object.keys(this._mentions).forEach((function(marker) {\r\n if (_this5._mentions[marker].template) {\r\n _mention.default.removeTemplate({\r\n marker: marker,\r\n editorKey: _this5.editorInstance.getMentionKeyInTemplateStorage()\r\n })\r\n }\r\n }))\r\n };\r\n _createClass(MentionModule, [{\r\n key: \"_isPopupVisible\",\r\n get: function() {\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 }, {\r\n key: \"_popupPosition\",\r\n get: function() {\r\n var position = this.getPosition();\r\n var _this$quill$getBounds = this.quill.getBounds(position ? position - 1 : position),\r\n mentionLeft = _this$quill$getBounds.left,\r\n mentionTop = _this$quill$getBounds.top,\r\n mentionHeight = _this$quill$getBounds.height;\r\n var _$$offset = (0, _renderer.default)(this.quill.root).offset(),\r\n leftOffset = _$$offset.left,\r\n topOffset = _$$offset.top;\r\n var positionEvent = _events_engine.default.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 }, {\r\n key: \"_activeListItems\",\r\n get: function() {\r\n return this._list.itemElements().filter(\":not(.\".concat(DISABLED_STATE_CLASS, \")\"))\r\n }\r\n }]);\r\n return MentionModule\r\n }(_popup.default)\r\n}\r\nvar _default = MentionModule;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/html_editor/modules/popup.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.default = void 0;\r\nvar _size = require(\"../../../core/utils/size\");\r\nvar _devextremeQuill = _interopRequireDefault(require(\"devextreme-quill\"));\r\nvar _renderer = _interopRequireDefault(require(\"../../../core/renderer\"));\r\nvar _extend = require(\"../../../core/utils/extend\");\r\nvar _window = require(\"../../../core/utils/window\");\r\nvar _events_engine = _interopRequireDefault(require(\"../../../events/core/events_engine\"));\r\nvar _index = require(\"../../../events/utils/index\");\r\nvar _base = _interopRequireDefault(require(\"./base\"));\r\nvar _popup = _interopRequireDefault(require(\"../../popup\"));\r\nvar _list_light = _interopRequireDefault(require(\"../../list_light\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar MODULE_NAMESPACE = \"dxHtmlEditorPopupModule\";\r\nvar ListPopupModule = _base.default;\r\nif (_devextremeQuill.default) {\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 = function(_BaseModule) {\r\n _inheritsLoose(ListPopupModule, _BaseModule);\r\n var _proto = ListPopupModule.prototype;\r\n _proto._getDefaultOptions = function() {\r\n return {\r\n dataSource: null\r\n }\r\n };\r\n\r\n function ListPopupModule(quill, options) {\r\n var _this;\r\n _this = _BaseModule.call(this, quill, options) || this;\r\n _this.options = (0, _extend.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 return _this\r\n }\r\n _proto.renderList = function($container, options) {\r\n var $list = (0, _renderer.default)(\"<div>\").addClass(SUGGESTION_LIST_CLASS).appendTo($container);\r\n this._list = this.options.editorInstance._createComponent($list, _list_light.default, options)\r\n };\r\n _proto.renderPopup = function() {\r\n var editorInstance = this.options.editorInstance;\r\n var $container = (0, _renderer.default)(\"<div>\").appendTo(editorInstance.$element());\r\n var popupConfig = this._getPopupConfig();\r\n return editorInstance._createComponent($container, _popup.default, popupConfig)\r\n };\r\n _proto._getPopupConfig = function() {\r\n var _this2 = this;\r\n return {\r\n contentTemplate: function(contentElem) {\r\n var listConfig = _this2._getListConfig(_this2.options);\r\n _this2.renderList((0, _renderer.default)(contentElem), listConfig)\r\n },\r\n deferRendering: false,\r\n onShown: function() {\r\n _this2._list.focus()\r\n },\r\n onHidden: function() {\r\n _this2._list.unselectAll();\r\n _this2._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 _proto._getListConfig = function(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 _proto.selectionChangedHandler = function(e) {\r\n if (this._popup.option(\"visible\")) {\r\n this._popup.hide();\r\n this.insertEmbedContent(e)\r\n }\r\n };\r\n _proto._renderPreventFocusOut = function() {\r\n var eventName = (0, _index.addNamespace)(\"mousedown\", MODULE_NAMESPACE);\r\n _events_engine.default.on(this._popup.$wrapper(), eventName, (function(e) {\r\n e.preventDefault()\r\n }))\r\n };\r\n _proto.insertEmbedContent = function(selectionChangedEvent) {};\r\n _proto.showPopup = function() {\r\n this._popup && this._popup.show()\r\n };\r\n _proto.savePosition = function(position) {\r\n this.caretPosition = position\r\n };\r\n _proto.getPosition = function() {\r\n return this.caretPosition\r\n };\r\n _createClass(ListPopupModule, [{\r\n key: \"maxHeight\",\r\n get: function() {\r\n var window = (0, _window.getWindow)();\r\n var windowHeight = window && (0, _size.getHeight)(window) || 0;\r\n return Math.max(MIN_HEIGHT, .5 * windowHeight)\r\n }\r\n }]);\r\n return ListPopupModule\r\n }(_base.default)\r\n}\r\nvar _default = ListPopupModule;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/html_editor/modules/resizing.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../../core/renderer\"));\r\nvar _events_engine = _interopRequireDefault(require(\"../../../events/core/events_engine\"));\r\nvar _click = require(\"../../../events/click\");\r\nvar _index = require(\"../../../events/utils/index\");\r\nvar _translator = require(\"../../../animation/translator\");\r\nvar _devices = _interopRequireDefault(require(\"../../../core/devices\"));\r\nvar _resizable = _interopRequireDefault(require(\"../../resizable\"));\r\nvar _position = require(\"../../../core/utils/position\");\r\nvar _devextremeQuill = _interopRequireDefault(require(\"devextreme-quill\"));\r\nvar _base = _interopRequireDefault(require(\"./base\"));\r\nvar _size = require(\"../../../core/utils/size\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _assertThisInitialized(self) {\r\n if (void 0 === self) {\r\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\")\r\n }\r\n return self\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\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 = (0, _index.addNamespace)(\"keydown\", MODULE_NAMESPACE);\r\nvar SCROLL_EVENT = (0, _index.addNamespace)(\"scroll\", MODULE_NAMESPACE);\r\nvar MOUSEDOWN_EVENT = (0, _index.addNamespace)(\"mousedown\", MODULE_NAMESPACE);\r\nvar FRAME_PADDING = 1;\r\nvar ResizingModule = function(_BaseModule) {\r\n _inheritsLoose(ResizingModule, _BaseModule);\r\n\r\n function ResizingModule(quill, options) {\r\n var _this;\r\n _this = _BaseModule.call(this, quill, options) || this;\r\n _this.allowedTargets = options.allowedTargets || [\"image\"];\r\n _this.enabled = !!options.enabled;\r\n _this._hideFrameWithContext = _this.hideFrame.bind(_assertThisInitialized(_this));\r\n _this._framePositionChangedHandler = _this._prepareFramePositionChangedHandler();\r\n if (_this.enabled) {\r\n _this._attachEvents();\r\n _this._createResizeFrame()\r\n }\r\n return _this\r\n }\r\n var _proto = ResizingModule.prototype;\r\n _proto._attachEvents = function() {\r\n _events_engine.default.on(this.quill.root, (0, _index.addNamespace)(_click.name, MODULE_NAMESPACE), this._clickHandler.bind(this));\r\n _events_engine.default.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 _proto._detachEvents = function() {\r\n _events_engine.default.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 _proto._clickHandler = function(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 = (0, _renderer.default)(this._$target);\r\n var minWidth = Math.max((0, _size.getOuterWidth)($target) - (0, _size.getWidth)($target), this.resizable.option(\"minWidth\"));\r\n var minHeight = Math.max((0, _size.getOuterHeight)($target) - (0, _size.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 _proto._prepareFramePositionChangedHandler = function(e) {\r\n var _this2 = this;\r\n return function() {\r\n if (_this2._$target) {\r\n _this2.updateFramePosition()\r\n }\r\n }\r\n };\r\n _proto._adjustSelection = function() {\r\n if (!this.quill.getSelection()) {\r\n this.quill.setSelection(0, 0)\r\n }\r\n };\r\n _proto._isAllowedTarget = function(targetElement) {\r\n return this._isImage(targetElement)\r\n };\r\n _proto._isImage = function(targetElement) {\r\n return -1 !== this.allowedTargets.indexOf(\"image\") && \"IMG\" === targetElement.tagName.toUpperCase()\r\n };\r\n _proto.showFrame = function() {\r\n this._$resizeFrame.show();\r\n _events_engine.default.on(this.quill.root, KEYDOWN_EVENT, this._handleFrameKeyDown.bind(this))\r\n };\r\n _proto._handleFrameKeyDown = function(e) {\r\n var keyName = (0, _index.normalizeKeyName)(e);\r\n if (\"del\" === keyName || \"backspace\" === keyName) {\r\n this._deleteImage()\r\n }\r\n this.hideFrame()\r\n };\r\n _proto.hideFrame = function() {\r\n this._$target = null;\r\n this._$resizeFrame.hide();\r\n _events_engine.default.off(this.quill.root, KEYDOWN_EVENT)\r\n };\r\n _proto.updateFramePosition = function() {\r\n var _getBoundingRect = (0, _position.getBoundingRect)(this._$target),\r\n height = _getBoundingRect.height,\r\n width = _getBoundingRect.width,\r\n targetTop = _getBoundingRect.top,\r\n targetLeft = _getBoundingRect.left;\r\n var _getBoundingRect2 = (0, _position.getBoundingRect)(this.quill.root),\r\n containerTop = _getBoundingRect2.top,\r\n containerLeft = _getBoundingRect2.left;\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 (0, _translator.move)(this._$resizeFrame, {\r\n left: 0,\r\n top: 0\r\n })\r\n };\r\n _proto._getBorderWidth = function() {\r\n return parseInt(this._$resizeFrame.css(\"borderTopWidth\"))\r\n };\r\n _proto._createResizeFrame = function() {\r\n var _this3 = this;\r\n if (this._$resizeFrame) {\r\n return\r\n }\r\n var _devices$current = _devices.default.current(),\r\n deviceType = _devices$current.deviceType;\r\n this._$resizeFrame = (0, _renderer.default)(\"<div>\").addClass(DX_RESIZE_FRAME_CLASS).toggleClass(DX_TOUCH_DEVICE_CLASS, \"desktop\" !== deviceType).appendTo(this.editorInstance._getQuillContainer()).hide();\r\n _events_engine.default.on(this._$resizeFrame, MOUSEDOWN_EVENT, (function(e) {\r\n e.preventDefault()\r\n }));\r\n this.resizable = this.editorInstance._createComponent(this._$resizeFrame, _resizable.default, {\r\n onResize: function(e) {\r\n if (!_this3._$target) {\r\n return\r\n }(0, _renderer.default)(_this3._$target).attr({\r\n height: e.height,\r\n width: e.width\r\n });\r\n _this3.updateFramePosition()\r\n }\r\n })\r\n };\r\n _proto._deleteImage = function() {\r\n if (this._isAllowedTarget(this._$target)) {\r\n var _Quill$find;\r\n null === (_Quill$find = _devextremeQuill.default.find(this._$target)) || void 0 === _Quill$find ? void 0 : _Quill$find.deleteAt(0)\r\n }\r\n };\r\n _proto.option = function(_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 _proto.clean = function() {\r\n this._detachEvents();\r\n this._$resizeFrame.remove();\r\n this._$resizeFrame = void 0\r\n };\r\n return ResizingModule\r\n}(_base.default);\r\nexports.default = ResizingModule;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/html_editor/modules/tableContextMenu.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _devextremeQuill = _interopRequireDefault(require(\"devextreme-quill\"));\r\nvar _renderer = _interopRequireDefault(require(\"../../../core/renderer\"));\r\nvar _base = _interopRequireDefault(require(\"./base\"));\r\nvar _events_engine = _interopRequireDefault(require(\"../../../events/core/events_engine\"));\r\nvar _index = require(\"../../../events/utils/index\");\r\nvar _context_menu = _interopRequireDefault(require(\"../../context_menu\"));\r\nvar _message = _interopRequireDefault(require(\"../../../localization/message\"));\r\nvar _table_helper = require(\"../utils/table_helper\");\r\nvar _toolbar_helper = require(\"../utils/toolbar_helper\");\r\nvar _iterator = require(\"../../../core/utils/iterator\");\r\nvar _type = require(\"../../../core/utils/type\");\r\nvar _inflector = require(\"../../../core/utils/inflector\");\r\nvar _extend = require(\"../../../core/utils/extend\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _assertThisInitialized(self) {\r\n if (void 0 === self) {\r\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\")\r\n }\r\n return self\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar MODULE_NAMESPACE = \"dxHtmlEditorTableContextMenu\";\r\nvar CONTEXT_MENU_EVENT = (0, _index.addNamespace)(\"dxcontextmenu\", MODULE_NAMESPACE);\r\nvar TableContextMenuModule = _base.default;\r\nvar localize = function(name) {\r\n return _message.default.format(\"dxHtmlEditor-\".concat((0, _inflector.camelize)(name)))\r\n};\r\nif (_devextremeQuill.default) {\r\n TableContextMenuModule = function(_BaseModule) {\r\n _inheritsLoose(TableContextMenuModule, _BaseModule);\r\n\r\n function TableContextMenuModule(quill, options) {\r\n var _this;\r\n _this = _BaseModule.call(this, quill, options) || this;\r\n _this.enabled = !!options.enabled;\r\n _this._quillContainer = _this.editorInstance._getQuillContainer();\r\n _this.addCleanCallback(_this.prepareCleanCallback());\r\n _this._formatHandlers = (0, _toolbar_helper.getFormatHandlers)(_assertThisInitialized(_this));\r\n _this._tableFormats = (0, _table_helper.getTableFormats)(quill);\r\n if (_this.enabled) {\r\n _this._enableContextMenu(options.items)\r\n }\r\n return _this\r\n }\r\n var _proto = TableContextMenuModule.prototype;\r\n _proto._enableContextMenu = function(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 _proto._attachEvents = function() {\r\n _events_engine.default.on(this.editorInstance._getContent(), CONTEXT_MENU_EVENT, this._prepareContextMenuHandler())\r\n };\r\n _proto._detachEvents = function() {\r\n _events_engine.default.off(this.editorInstance._getContent(), CONTEXT_MENU_EVENT)\r\n };\r\n _proto._createContextMenu = function(items) {\r\n var $container = (0, _renderer.default)(\"<div>\").appendTo(this.editorInstance.$element());\r\n var menuConfig = this._getMenuConfig(items);\r\n return this.editorInstance._createComponent($container, _context_menu.default, menuConfig)\r\n };\r\n _proto.showPropertiesForm = function() {\r\n var type = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : \"cell\";\r\n var $element = (0, _renderer.default)(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 _proto._isAcceptableItem = function(widget, acceptableWidgetName) {\r\n return !widget || widget === acceptableWidgetName\r\n };\r\n _proto._handleObjectItem = function(item) {\r\n if (item.name && this._isAcceptableItem(item.widget, \"dxButton\")) {\r\n var defaultButtonItemConfig = this._prepareMenuItemConfig(item.name);\r\n var buttonItemConfig = (0, _extend.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 _proto._prepareMenuItemConfig = function(name) {\r\n var _ICON_MAP$name, _this$_formatHandlers;\r\n var iconName = null !== (_ICON_MAP$name = _toolbar_helper.ICON_MAP[name]) && void 0 !== _ICON_MAP$name ? _ICON_MAP$name : name;\r\n var buttonText = (0, _inflector.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 : (0, _toolbar_helper.getDefaultClickHandler)(this, name)\r\n }\r\n };\r\n _proto._prepareMenuItems = function(items) {\r\n var _this2 = this;\r\n var resultItems = [];\r\n (0, _iterator.each)(items, (function(_, item) {\r\n var newItem;\r\n if ((0, _type.isObject)(item)) {\r\n newItem = _this2._handleObjectItem(item)\r\n } else if ((0, _type.isString)(item)) {\r\n newItem = _this2._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 _proto._getMenuConfig = function(items) {\r\n var _this3 = this;\r\n var defaultItems = [{\r\n text: localize(\"insert\"),\r\n items: [\"insertHeaderRow\", \"insertRowAbove\", \"insertRowBelow\", (0, _extend.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 }, (0, _extend.extend)(this._prepareMenuItemConfig(\"cellProperties\"), {\r\n onClick: function(e) {\r\n _this3.showPropertiesForm(\"cell\")\r\n }\r\n }), (0, _extend.extend)(this._prepareMenuItemConfig(\"tableProperties\"), {\r\n onClick: function(e) {\r\n _this3.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 _proto._prepareContextMenuHandler = function() {\r\n var _this4 = this;\r\n return function(event) {\r\n if (_this4._isTableTarget(event.target)) {\r\n _this4._targetElement = event.target;\r\n _this4._setContextMenuPosition(event);\r\n _this4._contextMenu.show();\r\n event.preventDefault()\r\n }\r\n }\r\n };\r\n _proto._setContextMenuPosition = function(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 _proto._isTableTarget = function(targetElement) {\r\n return !!(0, _renderer.default)(targetElement).closest(\".dx-htmleditor-content td, .dx-htmleditor-content th\").length\r\n };\r\n _proto.clean = function() {\r\n this._detachEvents()\r\n };\r\n _proto.option = function(_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 _proto.prepareCleanCallback = function() {\r\n var _this5 = this;\r\n return function() {\r\n _this5.clean()\r\n }\r\n };\r\n return TableContextMenuModule\r\n }(_base.default)\r\n}\r\nvar _default = TableContextMenuModule;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/html_editor/modules/tableResizing.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _size = require(\"../../../core/utils/size\");\r\nvar _renderer = _interopRequireDefault(require(\"../../../core/renderer\"));\r\nvar _events_engine = _interopRequireDefault(require(\"../../../events/core/events_engine\"));\r\nvar _type = require(\"../../../core/utils/type\");\r\nvar _index = require(\"../../../events/utils/index\");\r\nvar _resize_callbacks = _interopRequireDefault(require(\"../../../core/utils/resize_callbacks\"));\r\nvar _translator = require(\"../../../animation/translator\");\r\nvar _position = require(\"../../../core/utils/position\");\r\nvar _base = _interopRequireDefault(require(\"./base\"));\r\nvar _draggable = _interopRequireDefault(require(\"../../draggable\"));\r\nvar _iterator = require(\"../../../core/utils/iterator\");\r\nvar _window = require(\"../../../core/utils/window\");\r\nvar _extend = require(\"../../../core/utils/extend\");\r\nvar _table_helper = require(\"../utils/table_helper\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\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 = (0, _index.addNamespace)(\"dxpointerdown\", MODULE_NAMESPACE);\r\nvar SCROLL_EVENT = (0, _index.addNamespace)(\"scroll\", MODULE_NAMESPACE);\r\nvar TableResizingModule = function(_BaseModule) {\r\n _inheritsLoose(TableResizingModule, _BaseModule);\r\n\r\n function TableResizingModule(quill, options) {\r\n var _this;\r\n _this = _BaseModule.call(this, quill, options) || this;\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 return _this\r\n }\r\n var _proto = TableResizingModule.prototype;\r\n _proto._applyResizing = function(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 = _resize_callbacks.default.add(this._resizeHandler.bind(this))\r\n };\r\n _proto._minSizeLimit = function(propertyName, newValue) {\r\n return (0, _type.isDefined)(newValue) ? Math.max(newValue, 0) : DEFAULTS[propertyName]\r\n };\r\n _proto._applyResizingImpl = function() {\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 _proto._attachEvents = function() {\r\n _events_engine.default.on(this.editorInstance._getContent(), SCROLL_EVENT, this._updateFramesPositions.bind(this));\r\n this.quill.on(\"text-change\", this._getQuillTextChangeHandler())\r\n };\r\n _proto._detachEvents = function() {\r\n _events_engine.default.off(this.editorInstance._getContent(), MODULE_NAMESPACE);\r\n this.quill.off(\"text-change\", this._quillTextChangeHandler)\r\n };\r\n _proto._getQuillTextChangeHandler = function(delta, oldContent, source) {\r\n var _this2 = this;\r\n return function(delta, oldContent, source) {\r\n if (_this2._isTableChanging()) {\r\n var $tables = _this2._findTables();\r\n _this2._removeResizeFrames();\r\n if (\"api\" === source) {\r\n _this2._fixTablesWidths($tables)\r\n }\r\n _this2._updateTablesColumnsWidth($tables);\r\n _this2._createResizeFrames($tables);\r\n _this2._updateFramesPositions();\r\n _this2._updateFramesSeparators()\r\n } else {\r\n _this2._updateFramesPositions();\r\n if (!_this2._isDragging) {\r\n _this2._updateFramesSeparators()\r\n }\r\n }\r\n }\r\n };\r\n _proto._getFrameForTable = function($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 _proto._resizeHandler = function() {\r\n var _this3 = this;\r\n this._windowResizeTimeout = setTimeout((function() {\r\n var $tables = _this3._findTables();\r\n (0, _iterator.each)($tables, (function(index, table) {\r\n var $table = (0, _renderer.default)(table);\r\n var frame = _this3._tableResizeFrames[index];\r\n var actualTableWidth = (0, _size.getOuterWidth)($table);\r\n var lastTableWidth = _this3._tableLastWidth(frame);\r\n if (Math.abs(actualTableWidth - lastTableWidth) > 1) {\r\n _this3._tableLastWidth(frame, actualTableWidth);\r\n _this3._updateColumnsWidth($table, index)\r\n }\r\n }));\r\n _this3._updateFramesPositions();\r\n _this3._updateFramesSeparators()\r\n }))\r\n };\r\n _proto._findTables = function() {\r\n return (0, _renderer.default)(this._quillContainer).find(\"table\")\r\n };\r\n _proto._getWidthStyleValue = function($element) {\r\n var styleValue = $element[0].style.width;\r\n return \"\" !== styleValue ? parseInt(styleValue) : void 0\r\n };\r\n _proto._tableLastWidth = function(frame, newValue) {\r\n if ((0, _type.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 _proto._fixTablesWidths = function($tables) {\r\n var _this4 = this;\r\n (0, _iterator.each)($tables, (function(index, table) {\r\n var $table = (0, _renderer.default)(table);\r\n var $columnElements = _this4._getTableDeterminantElements($table, \"horizontal\");\r\n if (!_this4._tableResizeFrames[index]) {\r\n _this4._tableResizeFrames[index] = {\r\n lastWidth: void 0\r\n }\r\n }\r\n var frame = _this4._getFrameForTable($table);\r\n if (!frame) {\r\n _this4._tableResizeFrames.push({\r\n $table: $table\r\n })\r\n }\r\n if (0 === (0, _table_helper.getAutoSizedElements)($table).length) {\r\n var _this4$_tableLastWidt;\r\n var _this4$_getColumnElem = _this4._getColumnElementsSum($columnElements),\r\n columnsSum = _this4$_getColumnElem.columnsSum;\r\n (0, _table_helper.unfixTableWidth)($table, {\r\n quill: _this4.quill\r\n });\r\n var tableWidth = null !== (_this4$_tableLastWidt = _this4._tableLastWidth(frame)) && void 0 !== _this4$_tableLastWidt ? _this4$_tableLastWidt : (0, _size.getOuterWidth)($table);\r\n if (frame) {\r\n _this4._tableLastWidth(frame, Math.max(columnsSum, tableWidth))\r\n }\r\n }\r\n }))\r\n };\r\n _proto._createResizeFrames = function($tables) {\r\n var _this5 = this;\r\n this._framesForTables = new Map;\r\n $tables.each((function(index, table) {\r\n var _this5$_tableResizeFr;\r\n var $table = (0, _renderer.default)(table);\r\n var $lastTable = null === (_this5$_tableResizeFr = _this5._tableResizeFrames[index]) || void 0 === _this5$_tableResizeFr ? void 0 : _this5$_tableResizeFr.$table;\r\n var $tableLastWidth = _this5._tableResizeFrames[index].lastWidth;\r\n _this5._tableResizeFrames[index] = {\r\n $frame: _this5._createTableResizeFrame(table),\r\n $table: $table,\r\n index: index,\r\n lastWidth: $lastTable && table === $lastTable.get(0) ? $tableLastWidth : void 0,\r\n columnsCount: _this5._getTableDeterminantElements($table, \"horizontal\").length,\r\n rowsCount: _this5._getTableDeterminantElements($table, \"vertical\").length\r\n };\r\n _this5._framesForTables.set(table, _this5._tableResizeFrames[index])\r\n }));\r\n this._tableResizeFrames.length = $tables.length\r\n };\r\n _proto._isTableChanging = function() {\r\n var _this6 = this;\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 (0, _iterator.each)($tables, (function(index, table) {\r\n var $table = (0, _renderer.default)(table);\r\n var frame = _this6._tableResizeFrames[index];\r\n var isColumnsCountChanged = (null === frame || void 0 === frame ? void 0 : frame.columnsCount) !== _this6._getTableDeterminantElements($table, \"horizontal\").length;\r\n var isRowCountChanged = (null === frame || void 0 === frame ? void 0 : frame.rowsCount) !== _this6._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 _proto._removeResizeFrames = function(clearArray) {\r\n var _this$_framesForTable2, _this7 = this;\r\n (0, _iterator.each)(this._tableResizeFrames, (function(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 _this7._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 _proto._detachSeparatorEvents = function($lineSeparators) {\r\n $lineSeparators.each((function(i, $lineSeparator) {\r\n _events_engine.default.off($lineSeparator, POINTERDOWN_EVENT)\r\n }))\r\n };\r\n _proto._createTableResizeFrame = function() {\r\n return (0, _renderer.default)(\"<div>\").addClass(DX_COLUMN_RESIZE_FRAME_CLASS).appendTo(this._quillContainer)\r\n };\r\n _proto._updateFramesPositions = function() {\r\n var _this8 = this;\r\n (0, _iterator.each)(this._tableResizeFrames, (function(index, tableResizeFrame) {\r\n _this8._updateFramePosition(tableResizeFrame.$table, tableResizeFrame.$frame)\r\n }))\r\n };\r\n _proto._updateFramePosition = function($table, $frame) {\r\n var _getBoundingRect = (0, _position.getBoundingRect)($table.get(0)),\r\n height = _getBoundingRect.height,\r\n width = _getBoundingRect.width,\r\n targetTop = _getBoundingRect.top,\r\n targetLeft = _getBoundingRect.left;\r\n var _getBoundingRect2 = (0, _position.getBoundingRect)(this.quill.root),\r\n containerTop = _getBoundingRect2.top,\r\n containerLeft = _getBoundingRect2.left;\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 (0, _translator.move)($frame, {\r\n left: 0,\r\n top: 0\r\n })\r\n };\r\n _proto._updateFramesSeparators = function(direction) {\r\n var _this9 = this;\r\n (0, _iterator.each)(this._tableResizeFrames, (function(index, frame) {\r\n if (direction) {\r\n _this9._updateFrameSeparators(frame, direction)\r\n } else {\r\n _this9._updateFrameSeparators(frame, \"vertical\");\r\n _this9._updateFrameSeparators(frame, \"horizontal\")\r\n }\r\n }))\r\n };\r\n _proto._isDraggable = function($element) {\r\n return $element.hasClass(\"dx-draggable\") && $element.is(\":visible\")\r\n };\r\n _proto._removeDraggable = function($currentLineSeparator, lineResizerClass) {\r\n if (this._isDraggable($currentLineSeparator)) {\r\n var draggable = (0, _renderer.default)($currentLineSeparator).dxDraggable(\"instance\");\r\n draggable.dispose();\r\n (0, _renderer.default)($currentLineSeparator).addClass(lineResizerClass)\r\n }\r\n };\r\n _proto._getDirectionInfo = function(direction) {\r\n if (\"vertical\" === direction) {\r\n return {\r\n lineResizerClass: DX_ROW_RESIZER_CLASS,\r\n sizeFunction: function(x) {\r\n return (0, _size.getOuterHeight)(x)\r\n },\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: function(x) {\r\n return (0, _size.getOuterWidth)(x)\r\n },\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 _proto._getSize = function($element, directionInfo) {\r\n return directionInfo.sizeFunction($element)\r\n };\r\n _proto._updateFrameSeparators = function(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 (!(0, _type.isDefined)(lineSeparators[i])) {\r\n lineSeparators[i] = (0, _renderer.default)(\"<div>\").addClass(directionInfo.lineResizerClass).appendTo(frame.$frame).get(0)\r\n }\r\n var $currentLineSeparator = (0, _renderer.default)(lineSeparators[i]);\r\n this._removeDraggable($currentLineSeparator, directionInfo.lineResizerClass);\r\n styleOptions[directionInfo.positionCoordinate] = currentPosition - DRAGGABLE_ELEMENT_OFFSET;\r\n (0, _renderer.default)($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 _proto._getTableDeterminantElements = function($table, direction) {\r\n if (\"vertical\" === direction) {\r\n return $table.find(\"th:first-child, td:first-child\")\r\n } else {\r\n return (0, _table_helper.getColumnElements)($table)\r\n }\r\n };\r\n _proto._attachColumnSeparatorEvents = function(options) {\r\n var _this10 = this;\r\n _events_engine.default.on(options.lineSeparator, POINTERDOWN_EVENT, (function() {\r\n _this10._createDraggableElement(options)\r\n }))\r\n };\r\n _proto._dragStartHandler = function(_ref) {\r\n var $determinantElements = _ref.$determinantElements,\r\n index = _ref.index,\r\n frame = _ref.frame,\r\n direction = _ref.direction,\r\n lineSeparator = _ref.lineSeparator;\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((0, _renderer.default)($determinantElements[index]), directionInfo));\r\n this._startTableWidth = (0, _size.getOuterWidth)(frame.$table);\r\n this._startLineSeparatorPosition = parseInt((0, _renderer.default)(lineSeparator).css(directionInfo.positionCoordinate));\r\n this._nextLineSize = 0;\r\n if ($determinantElements[index + 1]) {\r\n this._nextLineSize = parseInt(this._getSize((0, _renderer.default)($determinantElements[index + 1]), directionInfo))\r\n } else if (\"horizontal\" === direction) {\r\n (0, _table_helper.unfixTableWidth)(frame.$table, {\r\n quill: this.quill\r\n })\r\n }\r\n };\r\n _proto._shouldRevertOffset = function(direction) {\r\n return \"horizontal\" === direction && this.editorInstance.option(\"rtlEnabled\")\r\n };\r\n _proto._isNextColumnWidthEnough = function(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) - (0, _size.getOuterWidth)($nextColumnElement)) > ROUGH_OFFSET;\r\n return isWidthIncreased || !isWidthLimited\r\n }\r\n return false\r\n };\r\n _proto._shouldSetNextColumnWidth = function(nextColumnNewSize) {\r\n return this._nextLineSize && nextColumnNewSize > 0\r\n };\r\n _proto._horizontalDragHandler = function(_ref2) {\r\n var currentLineNewSize = _ref2.currentLineNewSize,\r\n directionInfo = _ref2.directionInfo,\r\n eventOffset = _ref2.eventOffset,\r\n $determinantElements = _ref2.$determinantElements,\r\n index = _ref2.index,\r\n frame = _ref2.frame;\r\n var nextColumnNewSize = this._nextLineSize && this._nextLineSize - eventOffset;\r\n var isCurrentColumnWidthEnough = currentLineNewSize >= this._minColumnWidth;\r\n var $lineElements = (0, _table_helper.getLineElements)(frame.$table, index);\r\n var $nextLineElements = (0, _table_helper.getLineElements)(frame.$table, index + 1);\r\n var realWidthDiff = (0, _size.getOuterWidth)($lineElements.eq(0)) - currentLineNewSize;\r\n if (isCurrentColumnWidthEnough) {\r\n if (this._isNextColumnWidthEnough(nextColumnNewSize, $determinantElements.eq(index + 1), eventOffset)) {\r\n (0, _table_helper.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 (0, _table_helper.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 - (0, _size.getOuterWidth)(frame.$table)) < ROUGH_OFFSET;\r\n var shouldRevertNewValue = Math.abs(realWidthDiff) > ROUGH_OFFSET || !this._nextLineSize && isTableWidthChanged;\r\n if (shouldRevertNewValue) {\r\n (0, _table_helper.setLineElementsFormat)(this, {\r\n elements: $lineElements,\r\n property: directionInfo.positionStyleProperty,\r\n value: (0, _size.getOuterWidth)($lineElements.eq(0))\r\n });\r\n nextColumnNewSize += currentLineNewSize - (0, _size.getOuterWidth)($lineElements.eq(0));\r\n if (this._shouldSetNextColumnWidth(nextColumnNewSize)) {\r\n (0, _table_helper.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 _proto._verticalDragHandler = function(_ref3) {\r\n var currentLineNewSize = _ref3.currentLineNewSize,\r\n directionInfo = _ref3.directionInfo,\r\n eventOffset = _ref3.eventOffset,\r\n $determinantElements = _ref3.$determinantElements,\r\n index = _ref3.index,\r\n frame = _ref3.frame;\r\n var newHeight = Math.max(currentLineNewSize, this._minRowHeight);\r\n var $lineElements = (0, _table_helper.getLineElements)(frame.$table, index, \"vertical\");\r\n (0, _table_helper.setLineElementsFormat)(this, {\r\n elements: $lineElements,\r\n property: directionInfo.positionStyleProperty,\r\n value: newHeight\r\n });\r\n var rowHeightDiff = (0, _size.getOuterHeight)($determinantElements.eq(index)) - currentLineNewSize;\r\n this._$highlightedElement.css(directionInfo.positionCoordinate, this._startLineSeparatorPosition + eventOffset + rowHeightDiff + \"px\")\r\n };\r\n _proto._dragMoveHandler = function(event, _ref4) {\r\n var $determinantElements = _ref4.$determinantElements,\r\n index = _ref4.index,\r\n frame = _ref4.frame,\r\n direction = _ref4.direction;\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 _proto._dragEndHandler = function(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, (0, _size.getOuterWidth)(options.frame.$table));\r\n this._updateFramesPositions();\r\n this._updateFramesSeparators()\r\n };\r\n _proto._isLastColumnResizing = function(_ref5) {\r\n var $determinantElements = _ref5.$determinantElements,\r\n index = _ref5.index;\r\n return !(0, _type.isDefined)($determinantElements[index + 1])\r\n };\r\n _proto._getBoundaryConfig = function(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: (0, _window.hasWindow)() ? -(0, _size.getHeight)((0, _window.getWindow)()) : -(0, _size.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 _proto._createDraggableElement = function(options) {\r\n var _this$_$highlightedEl2, _this11 = this;\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 = (0, _renderer.default)(\"<div>\").addClass(\"\".concat(directionClass)).insertAfter((0, _renderer.default)(options.lineSeparator));\r\n var config = {\r\n contentTemplate: null,\r\n allowMoveByClick: false,\r\n dragDirection: options.direction,\r\n onDragMove: function(_ref6) {\r\n _ref6.component;\r\n var event = _ref6.event;\r\n _this11._dragMoveHandler(event, options)\r\n },\r\n onDragStart: function() {\r\n _this11._dragStartHandler(options)\r\n },\r\n onDragEnd: function() {\r\n _this11._dragEndHandler(options)\r\n }\r\n };\r\n (0, _extend.extend)(config, boundaryConfig);\r\n this._currentDraggableElement = this.editorInstance._createComponent(options.lineSeparator, _draggable.default, config)\r\n };\r\n _proto._fixColumnsWidth = function($table) {\r\n var _this12 = this;\r\n var determinantElements = this._getTableDeterminantElements($table);\r\n (0, _iterator.each)(determinantElements, (function(index, element) {\r\n var columnWidth = (0, _size.getOuterWidth)(element);\r\n var $lineElements = (0, _table_helper.getLineElements)($table, index);\r\n (0, _table_helper.setLineElementsFormat)(_this12, {\r\n elements: $lineElements,\r\n property: \"width\",\r\n value: Math.max(columnWidth, _this12._minColumnWidth)\r\n })\r\n }))\r\n };\r\n _proto._getColumnElementsSum = function(columnElements) {\r\n var _this13 = this;\r\n var columnsWidths = [];\r\n var columnsSum = 0;\r\n (0, _iterator.each)(columnElements, (function(index, element) {\r\n var $element = (0, _renderer.default)(element);\r\n var columnWidth = _this13._getWidthStyleValue($element) || (0, _size.getOuterWidth)($element);\r\n columnsWidths[index] = Math.max(columnWidth, _this13._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 _proto._setColumnsRatioWidth = function(columnElements, ratio, columnsWidths, $table) {\r\n var _this14 = this;\r\n (0, _iterator.each)(columnElements, (function(index) {\r\n var $lineElements = (0, _table_helper.getLineElements)($table, index);\r\n var resultWidth;\r\n if (ratio > 0) {\r\n resultWidth = _this14._minColumnWidth + Math.round((columnsWidths[index] - _this14._minColumnWidth) * ratio)\r\n } else {\r\n resultWidth = _this14._minColumnWidth\r\n }(0, _table_helper.setLineElementsFormat)(_this14, {\r\n elements: $lineElements,\r\n property: \"width\",\r\n value: resultWidth\r\n })\r\n }))\r\n };\r\n _proto._updateColumnsWidth = function($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) || (0, _size.getOuterWidth)($table);\r\n var ratio;\r\n var _this$_getColumnEleme = this._getColumnElementsSum(determinantElements),\r\n columnsWidths = _this$_getColumnEleme.columnsWidths,\r\n columnsSum = _this$_getColumnEleme.columnsSum;\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 _proto._updateTablesColumnsWidth = function($tables) {\r\n var _this15 = this;\r\n (0, _iterator.each)($tables, (function(index, table) {\r\n _this15._updateColumnsWidth((0, _renderer.default)(table), index)\r\n }))\r\n };\r\n _proto.option = function(_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 _proto.clean = function() {\r\n this._removeResizeFrames(true);\r\n this._detachEvents();\r\n _resize_callbacks.default.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 return TableResizingModule\r\n}(_base.default);\r\nexports.default = TableResizingModule;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/html_editor/modules/toolbar.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.default = void 0;\r\nvar _devextremeQuill = _interopRequireDefault(require(\"devextreme-quill\"));\r\nvar _renderer = _interopRequireDefault(require(\"../../../core/renderer\"));\r\nvar _base = _interopRequireDefault(require(\"./base\"));\r\nvar _toolbar = _interopRequireDefault(require(\"../../toolbar\"));\r\nrequire(\"../../select_box\");\r\nrequire(\"../../color_box/color_view\");\r\nrequire(\"../../number_box\");\r\nvar _ui = _interopRequireDefault(require(\"../../widget/ui.errors\"));\r\nvar _widget_collector = _interopRequireDefault(require(\"./widget_collector\"));\r\nvar _iterator = require(\"../../../core/utils/iterator\");\r\nvar _type = require(\"../../../core/utils/type\");\r\nvar _extend = require(\"../../../core/utils/extend\");\r\nvar _message = _interopRequireDefault(require(\"../../../localization/message\"));\r\nvar _inflector = require(\"../../../core/utils/inflector\");\r\nvar _events_engine = _interopRequireDefault(require(\"../../../events/core/events_engine\"));\r\nvar _index = require(\"../../../events/utils/index\");\r\nvar _table_helper = require(\"../utils/table_helper\");\r\nvar _toolbar_helper = require(\"../utils/toolbar_helper\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _assertThisInitialized(self) {\r\n if (void 0 === self) {\r\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\")\r\n }\r\n return self\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar ToolbarModule = _base.default;\r\nif (_devextremeQuill.default) {\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 = function(name) {\r\n return _message.default.format(\"dxHtmlEditor-\".concat((0, _inflector.camelize)(name)))\r\n };\r\n var localizeValue = function(value, name) {\r\n if (\"header\" === name) {\r\n var isHeaderValue = (0, _type.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 = function(_BaseModule) {\r\n _inheritsLoose(ToolbarModule, _BaseModule);\r\n\r\n function ToolbarModule(quill, options) {\r\n var _this;\r\n _this = _BaseModule.call(this, quill, options) || this;\r\n _this._toolbarWidgets = new _widget_collector.default;\r\n _this._formatHandlers = (0, _toolbar_helper.getFormatHandlers)(_assertThisInitialized(_this));\r\n _this._tableFormats = (0, _table_helper.getTableFormats)(quill);\r\n if ((0, _type.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.apply(_renderPopup, [toolbarMenu].concat(args));\r\n toolbarMenu._popup.on(\"showing\", (function() {\r\n _this._updateToolbar(true)\r\n }))\r\n }\r\n }\r\n _this.quill.on(\"editor-change\", (function(eventName, newValue, oldValue, eventSource) {\r\n var isSilentMode = eventSource === SILENT_ACTION && (0, _type.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 return _this\r\n }\r\n var _proto = ToolbarModule.prototype;\r\n _proto._addCallbacks = function() {\r\n this.addCleanCallback(this.clean.bind(this));\r\n this.editorInstance.addContentInitializedCallback(this.updateHistoryWidgets.bind(this))\r\n };\r\n _proto._updateToolbar = function(isSelectionChanged) {\r\n this.updateFormatWidgets(isSelectionChanged);\r\n this.updateHistoryWidgets();\r\n this.updateTableWidgets()\r\n };\r\n _proto._updateFormatWidget = function(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 || !(0, _type.isEmptyObject)(formats))\r\n };\r\n _proto._renderToolbar = function() {\r\n var _this2 = this;\r\n var container = this.options.container || this._getContainer();\r\n this._$toolbar = (0, _renderer.default)(\"<div>\").addClass(TOOLBAR_CLASS).appendTo(container);\r\n this._$toolbarContainer = (0, _renderer.default)(container).addClass(TOOLBAR_WRAPPER_CLASS);\r\n _events_engine.default.on(this._$toolbarContainer, (0, _index.addNamespace)(\"mousedown\", this.editorInstance.NAME), (function(e) {\r\n e.preventDefault()\r\n }));\r\n this._subscribeFormatHotKeys();\r\n this.toolbarInstance = this.editorInstance._createComponent(this._$toolbar, _toolbar.default, this.toolbarConfig);\r\n this.editorInstance.on(\"optionChanged\", (function(_ref) {\r\n var name = _ref.name;\r\n if (\"readOnly\" === name || \"disabled\" === name) {\r\n _this2.toolbarInstance.option(\"disabled\", _this2.isInteractionDisabled)\r\n }\r\n }))\r\n };\r\n _proto.isMultilineMode = function() {\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 _proto.clean = function() {\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 _proto.repaint = function() {\r\n this.toolbarInstance && this.toolbarInstance.repaint()\r\n };\r\n _proto._getContainer = function() {\r\n var $container = (0, _renderer.default)(\"<div>\");\r\n this.editorInstance.$element().prepend($container);\r\n return $container\r\n };\r\n _proto._detectRenamedOptions = function(item) {\r\n if ((0, _type.isObject)(item)) {\r\n (0, _iterator.each)([{\r\n newName: \"name\",\r\n oldName: \"formatName\"\r\n }, {\r\n newName: \"acceptedValues\",\r\n oldName: \"formatValues\"\r\n }], (function(index, optionName) {\r\n if (Object.prototype.hasOwnProperty.call(item, optionName.oldName)) {\r\n _ui.default.log(\"W1016\", optionName.oldName, optionName.newName)\r\n }\r\n }))\r\n }\r\n };\r\n _proto._subscribeFormatHotKeys = function() {\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 _proto._handleFormatHotKey = function(range, context, _ref2) {\r\n var which = _ref2.which;\r\n var formatName = FORMAT_HOTKEYS[which];\r\n this._updateButtonState(formatName)\r\n };\r\n _proto._updateButtonState = function(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 _proto._prepareToolbarItems = function() {\r\n var _this3 = this;\r\n var resultItems = [];\r\n (0, _iterator.each)(this.options.items, (function(index, item) {\r\n var newItem;\r\n _this3._detectRenamedOptions(item);\r\n if ((0, _type.isObject)(item)) {\r\n newItem = _this3._handleObjectItem(item)\r\n } else if ((0, _type.isString)(item)) {\r\n var buttonItemConfig = _this3._prepareButtonItemConfig(item);\r\n newItem = _this3._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 _proto._handleObjectItem = function(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 = (0, _extend.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 _proto._isAcceptableItem = function(widget, acceptableWidgetName) {\r\n return !widget || widget === acceptableWidgetName\r\n };\r\n _proto._prepareButtonItemConfig = function(name) {\r\n var _ICON_MAP$name;\r\n var iconName = null !== (_ICON_MAP$name = _toolbar_helper.ICON_MAP[name]) && void 0 !== _ICON_MAP$name ? _ICON_MAP$name : name;\r\n var buttonText = (0, _inflector.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] || (0, _toolbar_helper.getDefaultClickHandler)(this, name),\r\n stylingMode: \"text\"\r\n },\r\n showText: \"inMenu\"\r\n }\r\n };\r\n _proto._prepareSelectItemConfig = function(item) {\r\n var _this4 = this;\r\n var name = item.name,\r\n acceptedValues = item.acceptedValues;\r\n return (0, _extend.extend)(true, {\r\n widget: \"dxSelectBox\",\r\n name: name,\r\n options: {\r\n stylingMode: \"filled\",\r\n dataSource: acceptedValues,\r\n displayExpr: function(value) {\r\n return localizeValue(value, name)\r\n },\r\n placeholder: localize(name),\r\n onValueChanged: function(e) {\r\n if (!_this4._isReset) {\r\n _this4._hideAdaptiveMenu();\r\n (0, _toolbar_helper.applyFormat)(_this4, [name, e.value, USER_ACTION], e.event);\r\n _this4._setValueSilent(e.component, e.value)\r\n }\r\n }\r\n }\r\n }, item)\r\n };\r\n _proto._hideAdaptiveMenu = function() {\r\n if (this.toolbarInstance.option(\"overflowMenuVisible\")) {\r\n this.toolbarInstance.option(\"overflowMenuVisible\", false)\r\n }\r\n };\r\n _proto._getToolbarItem = function(item) {\r\n var _this5 = this;\r\n var baseItem = {\r\n options: {\r\n onInitialized: function(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 _this5._toolbarWidgets.add(item.name, e.component)\r\n }\r\n },\r\n onDisposing: function() {\r\n _this5._toolbarWidgets.remove(item.name)\r\n }\r\n }\r\n };\r\n return (0, _extend.extend)(true, {\r\n location: \"before\",\r\n locateInMenu: \"auto\"\r\n }, this._getDefaultConfig(item.name), item, baseItem)\r\n };\r\n _proto._getDefaultItemsConfig = function() {\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: function(data, index, element) {\r\n (0, _renderer.default)(element).addClass(TOOLBAR_SEPARATOR_CLASS)\r\n },\r\n menuItemTemplate: function(data, index, element) {\r\n (0, _renderer.default)(element).addClass(TOOLBAR_MENU_SEPARATOR_CLASS)\r\n }\r\n }\r\n }\r\n };\r\n _proto._getDefaultConfig = function(name) {\r\n return this._getDefaultItemsConfig()[name]\r\n };\r\n _proto.updateHistoryWidgets = function() {\r\n var historyModule = this.quill.history;\r\n if (!historyModule) {\r\n return\r\n }\r\n var _historyModule$stack = historyModule.stack,\r\n undoOps = _historyModule$stack.undo,\r\n redoOps = _historyModule$stack.redo;\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 _proto.updateTableWidgets = function() {\r\n var _this6 = this;\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((function(format) {\r\n return Boolean(formats[format])\r\n }));\r\n _table_helper.TABLE_OPERATIONS.forEach((function(operationName) {\r\n var isInsertTable = \"insertTable\" === operationName;\r\n var widget = _this6._toolbarWidgets.getByName(operationName);\r\n _this6._updateManipulationWidget(widget, isInsertTable ? !isTableOperationsEnabled : isTableOperationsEnabled)\r\n }))\r\n };\r\n _proto._updateManipulationWidget = function(widget, isOperationEnabled) {\r\n if (!widget) {\r\n return\r\n }\r\n widget.option(\"disabled\", !isOperationEnabled)\r\n };\r\n _proto.updateFormatWidgets = function(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 = !(0, _type.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 _proto._markActiveFormatWidget = function(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 _proto._toggleClearFormatting = function(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 _proto._isColorFormat = function(name) {\r\n return \"color\" === name || \"background\" === name\r\n };\r\n _proto._updateColorWidget = function(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 _proto._getFormatWidgetName = function(name, formats) {\r\n var widgetName;\r\n switch (name) {\r\n case \"align\":\r\n widgetName = name + (0, _inflector.titleize)(formats[name]);\r\n break;\r\n case \"list\":\r\n widgetName = formats[name] + (0, _inflector.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 _proto._setValueSilent = function(widget, value) {\r\n this._isReset = true;\r\n widget.option(\"value\", value);\r\n this._isReset = false\r\n };\r\n _proto._resetFormatWidgets = function() {\r\n var _this7 = this;\r\n this._toolbarWidgets.each((function(name, widget) {\r\n _this7._resetFormatWidget(name, widget)\r\n }))\r\n };\r\n _proto._resetFormatWidget = function(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 _proto.addClickHandler = function(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 _createClass(ToolbarModule, [{\r\n key: \"toolbarConfig\",\r\n get: function() {\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 }, {\r\n key: \"isInteractionDisabled\",\r\n get: function() {\r\n return this.editorInstance.option(\"readOnly\") || this.editorInstance.option(\"disabled\")\r\n }\r\n }]);\r\n return ToolbarModule\r\n }(_base.default)\r\n}\r\nvar _default = ToolbarModule;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/html_editor/modules/variables.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _devextremeQuill = _interopRequireDefault(require(\"devextreme-quill\"));\r\nvar _renderer = _interopRequireDefault(require(\"../../../core/renderer\"));\r\nvar _position = require(\"../../../core/utils/position\");\r\nvar _popup = _interopRequireDefault(require(\"./popup\"));\r\nvar _base = _interopRequireDefault(require(\"./base\"));\r\nvar _variable = _interopRequireDefault(require(\"../formats/variable\"));\r\nvar _extend = require(\"../../../core/utils/extend\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _assertThisInitialized(self) {\r\n if (void 0 === self) {\r\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\")\r\n }\r\n return self\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar VariableModule = _base.default;\r\nif (_devextremeQuill.default) {\r\n var VARIABLE_FORMAT_CLASS = \"dx-variable-format\";\r\n var ACTIVE_FORMAT_CLASS = \"dx-format-active\";\r\n _devextremeQuill.default.register({\r\n \"formats/variable\": _variable.default\r\n }, true);\r\n VariableModule = function(_PopupModule) {\r\n _inheritsLoose(VariableModule, _PopupModule);\r\n var _proto = VariableModule.prototype;\r\n _proto._getDefaultOptions = function() {\r\n var baseConfig = _PopupModule.prototype._getDefaultOptions.call(this);\r\n return (0, _extend.extend)(baseConfig, {\r\n escapeChar: \"\"\r\n })\r\n };\r\n\r\n function VariableModule(quill, options) {\r\n var _this;\r\n _this = _PopupModule.call(this, quill, options) || this;\r\n var toolbar = quill.getModule(\"toolbar\");\r\n if (toolbar) {\r\n toolbar.addClickHandler(\"variable\", _this.showPopup.bind(_assertThisInitialized(_this)))\r\n }\r\n quill.keyboard.addBinding({\r\n key: \"P\",\r\n altKey: true\r\n }, _this.showPopup.bind(_assertThisInitialized(_this)));\r\n _this._popup.on(\"shown\", (function(e) {\r\n var $ofElement = (0, _renderer.default)(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 return _this\r\n }\r\n _proto.showPopup = function(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 _PopupModule.prototype.showPopup.call(this)\r\n };\r\n _proto._resetPopupPosition = function(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 = (0, _position.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 _proto.insertEmbedContent = function(selectionChangedEvent) {\r\n var caretPosition = this.getPosition();\r\n var selectedItem = selectionChangedEvent.component.option(\"selectedItem\");\r\n var variableData = (0, _extend.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 return VariableModule\r\n }(_popup.default)\r\n}\r\nvar _default = VariableModule;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/html_editor/modules/widget_collector.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _iterator = require(\"../../../core/utils/iterator\");\r\nvar WidgetCollector = function() {\r\n function WidgetCollector() {\r\n this._collection = []\r\n }\r\n var _proto = WidgetCollector.prototype;\r\n _proto.clear = function() {\r\n this._collection = []\r\n };\r\n _proto.add = function(name, instance) {\r\n this._collection.push({\r\n name: name,\r\n instance: instance\r\n })\r\n };\r\n _proto.remove = function(name) {\r\n this._collection = this._collection.filter((function(item) {\r\n return item.name !== name\r\n }))\r\n };\r\n _proto.getByName = function(widgetName) {\r\n var widget = null;\r\n (0, _iterator.each)(this._collection, (function(index, _ref) {\r\n var name = _ref.name,\r\n instance = _ref.instance;\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 _proto.each = function(handler) {\r\n this._collection.forEach((function(_ref2) {\r\n var name = _ref2.name,\r\n instance = _ref2.instance;\r\n return instance && handler(name, instance)\r\n }))\r\n };\r\n return WidgetCollector\r\n}();\r\nexports.default = WidgetCollector;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/html_editor/quill_importer.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.getQuill = getQuill;\r\nvar _ui = _interopRequireDefault(require(\"../widget/ui.errors\"));\r\nvar _devextremeQuill = _interopRequireDefault(require(\"devextreme-quill\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction getQuill() {\r\n if (!_devextremeQuill.default) {\r\n throw _ui.default.Error(\"E1041\", \"Quill\")\r\n }\r\n return _devextremeQuill.default\r\n}\r\n","/**\r\n * DevExtreme (cjs/ui/html_editor/quill_registrator.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _quill_importer = require(\"./quill_importer\");\r\nvar _base = _interopRequireDefault(require(\"./themes/base\"));\r\nvar _image = _interopRequireDefault(require(\"./formats/image\"));\r\nvar _link = _interopRequireDefault(require(\"./formats/link\"));\r\nvar _font = _interopRequireDefault(require(\"./formats/font\"));\r\nvar _size = _interopRequireDefault(require(\"./formats/size\"));\r\nvar _align = _interopRequireDefault(require(\"./formats/align\"));\r\nvar _toolbar = _interopRequireDefault(require(\"./modules/toolbar\"));\r\nvar _dropImage = _interopRequireDefault(require(\"./modules/dropImage\"));\r\nvar _variables = _interopRequireDefault(require(\"./modules/variables\"));\r\nvar _resizing = _interopRequireDefault(require(\"./modules/resizing\"));\r\nvar _tableResizing = _interopRequireDefault(require(\"./modules/tableResizing\"));\r\nvar _tableContextMenu = _interopRequireDefault(require(\"./modules/tableContextMenu\"));\r\nvar _imageUpload = _interopRequireDefault(require(\"./modules/imageUpload\"));\r\nvar _imageCursor = _interopRequireDefault(require(\"./modules/imageCursor\"));\r\nvar _mentions = _interopRequireDefault(require(\"./modules/mentions\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar QuillRegistrator = function() {\r\n function QuillRegistrator() {\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\": _align.default,\r\n \"formats/direction\": DirectionStyle,\r\n \"formats/font\": _font.default,\r\n \"formats/size\": _size.default,\r\n \"formats/extendedImage\": _image.default,\r\n \"formats/link\": _link.default,\r\n \"modules/toolbar\": _toolbar.default,\r\n \"modules/dropImage\": _dropImage.default,\r\n \"modules/variables\": _variables.default,\r\n \"modules/resizing\": _resizing.default,\r\n \"modules/tableResizing\": _tableResizing.default,\r\n \"modules/tableContextMenu\": _tableContextMenu.default,\r\n \"modules/imageUpload\": _imageUpload.default,\r\n \"modules/imageCursor\": _imageCursor.default,\r\n \"modules/mentions\": _mentions.default,\r\n \"themes/basic\": _base.default\r\n }, true);\r\n this._customModules = [];\r\n QuillRegistrator._initialized = true\r\n }\r\n var _proto = QuillRegistrator.prototype;\r\n _proto.createEditor = function(container, config) {\r\n var quill = this.getQuill();\r\n return new quill(container, config)\r\n };\r\n _proto.registerModules = function(modulesConfig) {\r\n var isModule = RegExp(\"modules/*\");\r\n var quill = this.getQuill();\r\n var isRegisteredModule = function(modulePath) {\r\n return !!quill.imports[modulePath]\r\n };\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 _proto.getRegisteredModuleNames = function() {\r\n return this._customModules\r\n };\r\n _proto.getQuill = function() {\r\n return (0, _quill_importer.getQuill)()\r\n };\r\n return QuillRegistrator\r\n}();\r\nvar _default = QuillRegistrator;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/html_editor/themes/base.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _devextremeQuill = _interopRequireDefault(require(\"devextreme-quill\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar BaseTheme;\r\nif (_devextremeQuill.default) {\r\n var Theme = _devextremeQuill.default.import(\"core/theme\");\r\n BaseTheme = function(_Theme) {\r\n _inheritsLoose(BaseTheme, _Theme);\r\n\r\n function BaseTheme(quill, options) {\r\n var _this;\r\n _this = _Theme.call(this, quill, options) || this;\r\n _this.quill.root.classList.add(\"dx-htmleditor-content\");\r\n _this.quill.root.setAttribute(\"role\", \"textbox\");\r\n _this.quill.root.setAttribute(\"aria-label\", \"Editor content\");\r\n return _this\r\n }\r\n return BaseTheme\r\n }(Theme)\r\n} else {\r\n BaseTheme = {}\r\n}\r\nvar _default = BaseTheme;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/html_editor/ui.html_editor.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _element = require(\"../../core/element\");\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _component_registrator = _interopRequireDefault(require(\"../../core/component_registrator\"));\r\nvar _empty_template = require(\"../../core/templates/empty_template\");\r\nvar _editor = _interopRequireDefault(require(\"../editor/editor\"));\r\nvar _ui = _interopRequireDefault(require(\"../widget/ui.errors\"));\r\nvar _callbacks = _interopRequireDefault(require(\"../../core/utils/callbacks\"));\r\nvar _deferred = require(\"../../core/utils/deferred\");\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _index = require(\"../../events/utils/index\");\r\nvar _index2 = require(\"../../events/index\");\r\nvar _emitterGesture = _interopRequireDefault(require(\"../../events/gesture/emitter.gesture.scroll\"));\r\nvar _utils = require(\"../text_box/utils.scroll\");\r\nvar _pointer = _interopRequireDefault(require(\"../../events/pointer\"));\r\nvar _devices = _interopRequireDefault(require(\"../../core/devices\"));\r\nvar _quill_registrator = _interopRequireDefault(require(\"./quill_registrator\"));\r\nrequire(\"./converters/delta\");\r\nvar _converterController = _interopRequireDefault(require(\"./converterController\"));\r\nvar _wordLists = _interopRequireDefault(require(\"./matchers/wordLists\"));\r\nvar _formDialog = _interopRequireDefault(require(\"./ui/formDialog\"));\r\nvar _config = _interopRequireDefault(require(\"../../core/config\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\n\r\nfunction _toConsumableArray(arr) {\r\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread()\r\n}\r\n\r\nfunction _nonIterableSpread() {\r\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _unsupportedIterableToArray(o, minLen) {\r\n if (!o) {\r\n return\r\n }\r\n if (\"string\" === typeof o) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n var n = Object.prototype.toString.call(o).slice(8, -1);\r\n if (\"Object\" === n && o.constructor) {\r\n n = o.constructor.name\r\n }\r\n if (\"Map\" === n || \"Set\" === n) {\r\n return Array.from(o)\r\n }\r\n if (\"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n}\r\n\r\nfunction _iterableToArray(iter) {\r\n if (\"undefined\" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter[\"@@iterator\"]) {\r\n return Array.from(iter)\r\n }\r\n}\r\n\r\nfunction _arrayWithoutHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return _arrayLikeToArray(arr)\r\n }\r\n}\r\n\r\nfunction _arrayLikeToArray(arr, len) {\r\n if (null == len || len > arr.length) {\r\n len = arr.length\r\n }\r\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\r\n arr2[i] = arr[i]\r\n }\r\n return arr2\r\n}\r\n\r\nfunction _defineProperty(obj, key, value) {\r\n key = _toPropertyKey(key);\r\n if (key in obj) {\r\n Object.defineProperty(obj, key, {\r\n value: value,\r\n enumerable: true,\r\n configurable: true,\r\n writable: true\r\n })\r\n } else {\r\n obj[key] = value\r\n }\r\n return obj\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\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.default.current().platform;\r\nvar editorsCount = 0;\r\nvar HtmlEditor = _editor.default.inherit({\r\n _getDefaultOptions: function() {\r\n return (0, _extend.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: (0, _config.default)().editorStylingMode || \"outlined\"\r\n })\r\n },\r\n _init: function() {\r\n this._mentionKeyInTemplateStorage = editorsCount++;\r\n this.callBase();\r\n this._cleanCallback = (0, _callbacks.default)();\r\n this._contentInitializedCallback = (0, _callbacks.default)()\r\n },\r\n _getAnonymousTemplateName: function() {\r\n return ANONYMOUS_TEMPLATE_NAME\r\n },\r\n _initTemplates: function() {\r\n this._templateManager.addDefaultTemplates(_defineProperty({}, ANONYMOUS_TEMPLATE_NAME, new _empty_template.EmptyTemplate));\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 relatedTarget = _ref.relatedTarget;\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 relatedTarget = _ref2.relatedTarget;\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 (0, _renderer.default)(relatedTarget).hasClass(QUILL_CLIPBOARD_CLASS)\r\n },\r\n _initMarkup: function() {\r\n this._$htmlContainer = (0, _renderer.default)(\"<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: (0, _element.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 = (0, _renderer.default)(\"<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 (0, _renderer.default)(\"<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 ! function 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 }(frameDocumentBody);\r\n frameDocumentBody.querySelectorAll(\"script\").forEach((function(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.default.getConverter(\"markdown\");\r\n if (MarkdownConverter) {\r\n this._markdownConverter = new MarkdownConverter\r\n } else {\r\n throw _ui.default.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 _quill_registrator.default\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.default.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.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 (0, _common.deferRender)(this.callBase.bind(this))\r\n },\r\n _addKeyPressHandler: function() {\r\n var keyDownEvent = (0, _index.addNamespace)(\"keydown\", \"\".concat(this.NAME, \"TextChange\"));\r\n _events_engine.default.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 _this = this;\r\n var customizeModules = this.option(\"customizeModules\");\r\n var modulesConfig = this._getModulesConfig();\r\n if ((0, _type.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 = (0, _common.executeAsync)((function() {\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 = (0, _utils.prepareScrollData)($scrollContainer);\r\n _events_engine.default.on($scrollContainer, (0, _index.addNamespace)(_emitterGesture.default.init, this.NAME), initScrollData, _common.noop);\r\n _events_engine.default.on($scrollContainer, (0, _index.addNamespace)(_pointer.default.move, this.NAME), this._pointerMoveHandler.bind(this))\r\n },\r\n _applyTranscludedContent: function() {\r\n var valueOption = this.option(\"value\");\r\n if (!(0, _type.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 _this2 = this;\r\n var quill = this._getRegistrator().getQuill();\r\n var wordListMatcher = (0, _wordLists.default)(quill);\r\n var modulesConfig = (0, _extend.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: function(e) {\r\n return _this2._saveValueChangeEvent((0, _index2.Event)(e))\r\n },\r\n imageBlot: \"extendedImage\"\r\n },\r\n keyboard: {\r\n onKeydown: function(e) {\r\n return _this2._saveValueChangeEvent((0, _index2.Event)(e))\r\n }\r\n },\r\n clipboard: {\r\n onPaste: function(e) {\r\n return _this2._saveValueChangeEvent((0, _index2.Event)(e))\r\n },\r\n onCut: function(e) {\r\n return _this2._saveValueChangeEvent((0, _index2.Event)(e))\r\n },\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 (!(0, _type.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 (0, _extend.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 _this3 = this;\r\n var modules = {};\r\n var moduleNames = this._getRegistrator().getRegisteredModuleNames();\r\n moduleNames.forEach((function(modulePath) {\r\n modules[modulePath] = _this3._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 (!(0, _type.isDefined)(converter)) {\r\n return\r\n }\r\n var currentValue = (0, _common.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 = (0, _extend.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.default(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: function(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 = _defineProperty({}, optionData[2], value)\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.apply(moduleInstance, _toConsumableArray(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 _events_engine.default.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: function(methodName, args) {\r\n if (this._quillInstance) {\r\n return this._quillInstance[methodName].apply(this._quillInstance, args)\r\n }\r\n },\r\n _applyQuillHistoryMethod: function(methodName) {\r\n if (this._quillInstance && this._quillInstance.history) {\r\n this._quillInstance.history[methodName]()\r\n }\r\n },\r\n _applyToolbarMethod: function(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: function(callback) {\r\n this._cleanCallback.add(callback)\r\n },\r\n addContentInitializedCallback: function(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: function() {\r\n return this._mentionKeyInTemplateStorage\r\n }\r\n});\r\n(0, _component_registrator.default)(\"dxHtmlEditor\", HtmlEditor);\r\nvar _default = HtmlEditor;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/html_editor/ui/formDialog.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../../core/renderer\"));\r\nvar _extend = require(\"../../../core/utils/extend\");\r\nvar _popup = _interopRequireDefault(require(\"../../popup\"));\r\nvar _form = _interopRequireDefault(require(\"../../form\"));\r\nvar _deferred = require(\"../../../core/utils/deferred\");\r\nvar _message = _interopRequireDefault(require(\"../../../localization/message\"));\r\nvar _window = require(\"../../../core/utils/window\");\r\nvar _devices = _interopRequireDefault(require(\"../../../core/devices\"));\r\nvar _themes = require(\"../../themes\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar DIALOG_CLASS = \"dx-formdialog\";\r\nvar FORM_CLASS = \"dx-formdialog-form\";\r\nvar FormDialog = function() {\r\n function FormDialog(editorInstance, popupConfig) {\r\n this._editorInstance = editorInstance;\r\n this._popupUserConfig = popupConfig;\r\n this._renderPopup();\r\n this._attachOptionChangedHandler()\r\n }\r\n var _proto = FormDialog.prototype;\r\n _proto._renderPopup = function() {\r\n var editorInstance = this._editorInstance;\r\n var $container = (0, _renderer.default)(\"<div>\").addClass(DIALOG_CLASS).appendTo(editorInstance.$element());\r\n var popupConfig = this._getPopupConfig();\r\n return editorInstance._createComponent($container, _popup.default, popupConfig)\r\n };\r\n _proto._attachOptionChangedHandler = function() {\r\n var _this$_popup, _this = this;\r\n null === (_this$_popup = this._popup) || void 0 === _this$_popup ? void 0 : _this$_popup.on(\"optionChanged\", (function(_ref) {\r\n var name = _ref.name,\r\n value = _ref.value;\r\n if (\"title\" === name) {\r\n _this._updateFormLabel(value)\r\n }\r\n }))\r\n };\r\n _proto._escKeyHandler = function() {\r\n this._popup.hide()\r\n };\r\n _proto._addEscapeHandler = function(e) {\r\n e.component.registerKeyHandler(\"escape\", this._escKeyHandler.bind(this))\r\n };\r\n _proto._isSmallScreen = function() {\r\n var screenFactor = (0, _window.hasWindow)() ? (0, _window.getCurrentScreenFactor)() : null;\r\n return \"phone\" === _devices.default.real().deviceType || \"xs\" === screenFactor\r\n };\r\n _proto._getPopupConfig = function() {\r\n var _this2 = this;\r\n return (0, _extend.extend)({\r\n onInitialized: function(e) {\r\n _this2._popup = e.component;\r\n _this2._popup.on(\"hiding\", (function() {\r\n return _this2.onHiding()\r\n }));\r\n _this2._popup.on(\"shown\", (function() {\r\n _this2._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: function(contentElem) {\r\n var $formContainer = (0, _renderer.default)(\"<div>\").appendTo(contentElem);\r\n _this2._renderForm($formContainer, {\r\n onEditorEnterKey: function(e) {\r\n return _this2.callAddButtonAction(e.event)\r\n },\r\n customizeItem: function(item) {\r\n if (\"simple\" === item.itemType) {\r\n item.editorOptions = (0, _extend.extend)(true, {}, item.editorOptions, {\r\n onInitialized: _this2._addEscapeHandler.bind(_this2)\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: _message.default.format(\"OK\"),\r\n onClick: function(e) {\r\n return _this2.callAddButtonAction(e.event)\r\n }\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: _message.default.format(\"Cancel\"),\r\n onClick: function() {\r\n _this2._popup.hide()\r\n }\r\n }\r\n }],\r\n _wrapperClassExternal: DIALOG_CLASS\r\n }, this._popupUserConfig)\r\n };\r\n _proto.onHiding = function() {\r\n this.beforeAddButtonAction = void 0;\r\n this.deferred.reject()\r\n };\r\n _proto.callAddButtonAction = function(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 _proto._renderForm = function($container, options) {\r\n $container.addClass(FORM_CLASS);\r\n this._form = this._editorInstance._createComponent($container, _form.default, options);\r\n this._updateFormLabel()\r\n };\r\n _proto._updateFormLabel = function(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 _proto._getDefaultFormOptions = function() {\r\n return {\r\n colCount: 1,\r\n width: \"auto\",\r\n labelLocation: (0, _themes.isMaterial)() ? \"top\" : \"left\"\r\n }\r\n };\r\n _proto.formOption = function(optionName, optionValue) {\r\n return this._form.option.apply(this._form, arguments)\r\n };\r\n _proto.show = function(formUserConfig) {\r\n if (this._popup.option(\"visible\")) {\r\n return\r\n }\r\n this.deferred = new _deferred.Deferred;\r\n var formConfig = (0, _extend.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 _proto.hide = function(formData, event) {\r\n this.deferred.resolve(formData, event);\r\n this._popup.hide()\r\n };\r\n _proto.popupOption = function(optionName, optionValue) {\r\n return this._popup.option.apply(this._popup, arguments)\r\n };\r\n return FormDialog\r\n}();\r\nvar _default = FormDialog;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/html_editor/utils/image_uploader_helper.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.ImageUploader = void 0;\r\nexports.correctSlashesInUrl = correctSlashesInUrl;\r\nexports.getFileUploaderBaseOptions = getFileUploaderBaseOptions;\r\nexports.serverUpload = serverUpload;\r\nexports.urlUpload = urlUpload;\r\nvar _renderer = _interopRequireDefault(require(\"../../../core/renderer\"));\r\nvar _message = _interopRequireDefault(require(\"../../../localization/message\"));\r\nvar _iterator = require(\"../../../core/utils/iterator\");\r\nvar _extend = require(\"../../../core/utils/extend\");\r\nvar _size = require(\"../../../core/utils/size\");\r\nvar _devices = _interopRequireDefault(require(\"../../../core/devices\"));\r\nvar _type = require(\"../../../core/utils/type\");\r\nvar _button_group = _interopRequireDefault(require(\"../../button_group\"));\r\nvar _file_uploader = _interopRequireDefault(require(\"../../file_uploader\"));\r\nvar _text_box = _interopRequireDefault(require(\"../../text_box\"));\r\nvar _excluded = [\"imageSrc\", \"src\"];\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\n\r\nfunction _objectWithoutProperties(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = _objectWithoutPropertiesLoose(source, excluded);\r\n var key, i;\r\n if (Object.getOwnPropertySymbols) {\r\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\r\n for (i = 0; i < sourceSymbolKeys.length; i++) {\r\n key = sourceSymbolKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n }\r\n return target\r\n}\r\n\r\nfunction _objectWithoutPropertiesLoose(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = {};\r\n var sourceKeys = Object.keys(source);\r\n var key, i;\r\n for (i = 0; i < sourceKeys.length; i++) {\r\n key = sourceKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n return target\r\n}\r\nvar isMobile = \"phone\" === _devices.default.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\nvar ImageUploader = function() {\r\n function ImageUploader(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 var _proto = ImageUploader.prototype;\r\n _proto.render = function() {\r\n var _this = this;\r\n if (this.editorInstance._formDialog) {\r\n this.editorInstance._formDialog.beforeAddButtonAction = function() {\r\n return _this.getCurrentTab().upload()\r\n }\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((function(formData, event) {\r\n _this.tabs[_this.getActiveTabIndex()].strategy.pasteImage(formData, event)\r\n })).always((function() {\r\n _this.resetDialogPopupOptions();\r\n _this.quill.focus()\r\n }))\r\n };\r\n _proto.getCurrentTab = function() {\r\n return this.tabs[this.tabPanelIndex]\r\n };\r\n _proto.updateAddButtonState = function() {\r\n var isDisabled = this.getCurrentTab().isDisableButton();\r\n this.setAddButtonDisabled(isDisabled)\r\n };\r\n _proto.setAddButtonDisabled = function(value) {\r\n this.editorInstance.formDialogOption({\r\n \"toolbarItems[0].options.disabled\": value\r\n })\r\n };\r\n _proto.getActiveTabIndex = function() {\r\n return this.isUpdating ? 0 : this.tabPanelIndex\r\n };\r\n _proto.getFormData = function() {\r\n return this.getUpdateDialogFormData(this.quill.getFormat())\r\n };\r\n _proto.getUpdateDialogFormData = function(formData) {\r\n var imageSrc = formData.imageSrc,\r\n src = formData.src,\r\n props = _objectWithoutProperties(formData, _excluded);\r\n return _extends({\r\n src: null !== imageSrc && void 0 !== imageSrc ? imageSrc : src\r\n }, props)\r\n };\r\n _proto.createUrlTab = function(formData) {\r\n var _this2 = this;\r\n return new UrlTab(this.module, {\r\n config: this.config,\r\n formData: formData,\r\n isUpdating: this.isUpdating\r\n }, (function() {\r\n return _this2.updateAddButtonState()\r\n }))\r\n };\r\n _proto.createFileTab = function() {\r\n var _this3 = this;\r\n return new FileTab(this.module, {\r\n config: this.config\r\n }, (function() {\r\n return _this3.updateAddButtonState()\r\n }))\r\n };\r\n _proto.createTabsModel = function() {\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((function(tab) {\r\n return \"object\" === _typeof(tab) ? tab.name : tab\r\n }))\r\n };\r\n _proto.createTabs = function(formData) {\r\n var _this4 = this;\r\n return this.tabsModel.map((function(tabName) {\r\n var isUrlTab = \"url\" === tabName;\r\n return isUrlTab ? _this4.createUrlTab(formData) : _this4.createFileTab()\r\n }))\r\n };\r\n _proto.isImageUpdating = function() {\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 _proto.updatePopupConfig = function() {\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: _message.default.format(titleKey),\r\n \"toolbarItems[0].options.text\": _message.default.format(addButtonTextKey),\r\n wrapperAttr: {\r\n class: wrapperClasses\r\n }\r\n })\r\n };\r\n _proto.resetDialogPopupOptions = function() {\r\n this.editorInstance.formDialogOption({\r\n \"toolbarItems[0].options.text\": _message.default.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 _proto.useTabbedItems = function() {\r\n return this.tabsModel.length > 1\r\n };\r\n _proto.getFormWidth = function() {\r\n return isMobile ? \"100%\" : 493\r\n };\r\n _proto.getFormConfig = function() {\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 _proto.getItemsConfig = function() {\r\n var _this5 = this;\r\n if (this.useTabbedItems()) {\r\n var tabsConfig = (0, _iterator.map)(this.tabs, (function(tabController) {\r\n return {\r\n title: tabController.getTabName(),\r\n colCount: 11,\r\n items: tabController.getItemsConfig()\r\n }\r\n }));\r\n return [{\r\n itemType: \"tabbed\",\r\n tabPanelOptions: {\r\n onSelectionChanged: function(e) {\r\n _this5.tabPanelIndex = e.component.option(\"selectedIndex\");\r\n _this5.updateAddButtonState()\r\n }\r\n },\r\n tabs: tabsConfig\r\n }]\r\n }\r\n return this.tabs[0].getItemsConfig()\r\n };\r\n return ImageUploader\r\n}();\r\nexports.ImageUploader = ImageUploader;\r\nvar BaseTab = function() {\r\n function BaseTab(module, _ref, onFileSelected) {\r\n var config = _ref.config,\r\n formData = _ref.formData,\r\n isUpdating = _ref.isUpdating;\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 var _proto2 = BaseTab.prototype;\r\n _proto2.getItemsConfig = function() {\r\n return this.strategy.getItemsConfig()\r\n };\r\n _proto2.createStrategy = function() {\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 _proto2.isDisableButton = function() {\r\n return false\r\n };\r\n _proto2.upload = function() {\r\n return this.strategy.upload()\r\n };\r\n return BaseTab\r\n}();\r\nvar UrlTab = function(_BaseTab) {\r\n _inheritsLoose(UrlTab, _BaseTab);\r\n\r\n function UrlTab() {\r\n return _BaseTab.apply(this, arguments) || this\r\n }\r\n var _proto3 = UrlTab.prototype;\r\n _proto3.getTabName = function() {\r\n return _message.default.format(DIALOG_IMAGE_SPECIFY_URL)\r\n };\r\n return UrlTab\r\n}(BaseTab);\r\nvar FileTab = function(_BaseTab2) {\r\n _inheritsLoose(FileTab, _BaseTab2);\r\n\r\n function FileTab() {\r\n return _BaseTab2.apply(this, arguments) || this\r\n }\r\n var _proto4 = FileTab.prototype;\r\n _proto4.getTabName = function() {\r\n return _message.default.format(DIALOG_IMAGE_SELECT_FILE)\r\n };\r\n _proto4.createStrategy = function() {\r\n return new FileStrategy(this.module, this.config, this.onFileSelected)\r\n };\r\n _proto4.isDisableButton = function() {\r\n return !this.strategy.isValid()\r\n };\r\n return FileTab\r\n}(BaseTab);\r\nvar BaseStrategy = function() {\r\n function BaseStrategy(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 var _proto5 = BaseStrategy.prototype;\r\n _proto5.getQuillSelection = function() {\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 _proto5.pasteImage = function() {};\r\n _proto5.isValid = function() {\r\n return true\r\n };\r\n _proto5.upload = function() {};\r\n return BaseStrategy\r\n}();\r\nvar AddUrlStrategy = function(_BaseStrategy) {\r\n _inheritsLoose(AddUrlStrategy, _BaseStrategy);\r\n\r\n function AddUrlStrategy(module, config, onFileSelected) {\r\n var _this6;\r\n _this6 = _BaseStrategy.call(this, module, config, onFileSelected) || this;\r\n _this6.shouldKeepAspectRatio = true;\r\n return _this6\r\n }\r\n var _proto6 = AddUrlStrategy.prototype;\r\n _proto6.pasteImage = function(formData, event) {\r\n this.module.saveValueChangeEvent(event);\r\n urlUpload(this.quill, this.selection.index, formData)\r\n };\r\n _proto6.keepAspectRatio = function(data, _ref2) {\r\n var dependentEditor = _ref2.dependentEditor,\r\n e = _ref2.e;\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 _proto6.createKeepAspectRatioEditor = function($container, data, dependentEditorDataField) {\r\n var _this7 = this;\r\n return this.editorInstance._createComponent($container, _text_box.default, (0, _extend.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: function(e) {\r\n _this7.keepAspectRatio(data, {\r\n dependentEditor: _this7[dependentEditorDataField + \"Editor\"],\r\n e: e\r\n })\r\n }\r\n }))\r\n };\r\n _proto6.upload = function() {\r\n var result = this.editorInstance._formDialog._form.validate();\r\n return result.isValid\r\n };\r\n _proto6.getItemsConfig = function() {\r\n var _this8 = this;\r\n return [{\r\n dataField: \"src\",\r\n colSpan: 11,\r\n label: {\r\n text: _message.default.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: _message.default.format(DIALOG_IMAGE_FIELD_WIDTH)\r\n },\r\n template: function(data) {\r\n var $content = (0, _renderer.default)(\"<div>\").addClass(DIALOG_IMAGE_FIX_RATIO_CONTAINER);\r\n var $widthEditor = (0, _renderer.default)(\"<div>\").appendTo($content);\r\n _this8.widthEditor = _this8.createKeepAspectRatioEditor($widthEditor, data, \"height\");\r\n var $ratioEditor = (0, _renderer.default)(\"<div>\").appendTo($content);\r\n _this8.editorInstance._createComponent($ratioEditor, _button_group.default, {\r\n items: [{\r\n icon: \"imgarlock\",\r\n value: \"keepRatio\"\r\n }],\r\n hint: _message.default.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: function(e) {\r\n _this8.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: _message.default.format(DIALOG_IMAGE_FIELD_HEIGHT)\r\n },\r\n template: function(data) {\r\n var $content = (0, _renderer.default)(\"<div>\");\r\n _this8.heightEditor = _this8.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: _message.default.format(DIALOG_IMAGE_FIELD_ALT)\r\n }\r\n }]\r\n };\r\n return AddUrlStrategy\r\n}(BaseStrategy);\r\nvar UpdateUrlStrategy = function(_AddUrlStrategy) {\r\n _inheritsLoose(UpdateUrlStrategy, _AddUrlStrategy);\r\n\r\n function UpdateUrlStrategy(module, config, formData, onFileSelected) {\r\n var _this9;\r\n _this9 = _AddUrlStrategy.call(this, module, config, onFileSelected) || this;\r\n _this9.formData = formData;\r\n _this9.modifyFormData();\r\n return _this9\r\n }\r\n var _proto7 = UpdateUrlStrategy.prototype;\r\n _proto7.modifyFormData = function() {\r\n var _this$quill$getFormat = this.quill.getFormat(this.selection.index - 1, 1),\r\n imageSrc = _this$quill$getFormat.imageSrc;\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 : (0, _size.getWidth)((0, _renderer.default)(imgElement));\r\n this.formData.height = null !== (_this$formData$height = this.formData.height) && void 0 !== _this$formData$height ? _this$formData$height : (0, _size.getHeight)((0, _renderer.default)(imgElement))\r\n }\r\n };\r\n _proto7.pasteImage = function(formData, event) {\r\n this.quill.deleteText(this.embedFormatIndex(), 1, SILENT_ACTION);\r\n this.selection.index -= 1;\r\n _AddUrlStrategy.prototype.pasteImage.call(this, formData, event)\r\n };\r\n _proto7.embedFormatIndex = function() {\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 return UpdateUrlStrategy\r\n}(AddUrlStrategy);\r\nvar FileStrategy = function(_BaseStrategy2) {\r\n _inheritsLoose(FileStrategy, _BaseStrategy2);\r\n\r\n function FileStrategy(module, config, onFileSelected) {\r\n var _this10;\r\n _this10 = _BaseStrategy2.call(this, module, config, onFileSelected) || this;\r\n _this10.useBase64 = !(0, _type.isDefined)(_this10.config.fileUploadMode) || \"base64\" === _this10.config.fileUploadMode;\r\n _this10.isValidInternal = false;\r\n _this10.onFileSelected = onFileSelected;\r\n _this10.data = null;\r\n return _this10\r\n }\r\n var _proto8 = FileStrategy.prototype;\r\n _proto8.upload = function() {\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 _proto8.isValid = function() {\r\n return this.isValidInternal\r\n };\r\n _proto8.onUploaded = function(data) {\r\n serverUpload(this.config.uploadDirectory, data.file.name, this.quill, this.selection.index)\r\n };\r\n _proto8.base64Upload = function(data) {\r\n this.quill.getModule(\"uploader\").upload(this.selection, data.value, true)\r\n };\r\n _proto8.pasteImage = function(formData, event) {\r\n if (this.useBase64) {\r\n _BaseStrategy2.prototype.pasteImage.call(this, formData, event)\r\n }\r\n };\r\n _proto8.isBase64Editable = function() {\r\n return \"both\" === this.config.fileUploadMode\r\n };\r\n _proto8.validate = function(e) {\r\n var fileUploader = e.component;\r\n this.isValidInternal = !fileUploader._files.some((function(file) {\r\n return !file.isValid()\r\n }));\r\n if (0 === fileUploader._files.length) {\r\n this.isValidInternal = false\r\n }\r\n };\r\n _proto8.getFileUploaderOptions = function() {\r\n var _this11 = this;\r\n var fileUploaderOptions = {\r\n uploadUrl: this.config.uploadUrl,\r\n onValueChanged: function(data) {\r\n _this11.validate(data);\r\n _this11.data = data;\r\n _this11.onFileSelected()\r\n },\r\n onUploaded: function(e) {\r\n return _this11.onUploaded(e)\r\n }\r\n };\r\n return (0, _extend.extend)({}, getFileUploaderBaseOptions(), fileUploaderOptions, this.config.fileUploaderOptions)\r\n };\r\n _proto8.getItemsConfig = function() {\r\n var _this12 = this;\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: function() {\r\n var $content = (0, _renderer.default)(\"<div>\");\r\n _this12.module.editorInstance._createComponent($content, _file_uploader.default, _this12.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: _message.default.format(DIALOG_IMAGE_ENCODE_TO_BASE64),\r\n onValueChanged: function(e) {\r\n if (_this12.isBase64Editable()) {\r\n _this12.useBase64 = e.value\r\n }\r\n }\r\n }\r\n }]\r\n };\r\n return FileStrategy\r\n}(BaseStrategy);\r\n\r\nfunction correctSlashesInUrl(url) {\r\n return \"/\" !== url[url.length - 1] ? url + \"/\" : url\r\n}\r\n\r\nfunction 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\n\r\nfunction 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\n\r\nfunction 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 (cjs/ui/html_editor/utils/table_helper.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.TABLE_OPERATIONS = void 0;\r\nexports.getAutoSizedElements = getAutoSizedElements;\r\nexports.getColumnElements = getColumnElements;\r\nexports.getLineElements = getLineElements;\r\nexports.getRowElements = getRowElements;\r\nexports.getTableFormats = getTableFormats;\r\nexports.getTableOperationHandler = getTableOperationHandler;\r\nexports.hasEmbedContent = hasEmbedContent;\r\nexports.setLineElementsFormat = setLineElementsFormat;\r\nexports.unfixTableWidth = unfixTableWidth;\r\nvar _renderer = _interopRequireDefault(require(\"../../../core/renderer\"));\r\nvar _iterator = require(\"../../../core/utils/iterator\");\r\nvar _inflector = require(\"../../../core/utils/inflector\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar TABLE_FORMATS = [\"table\", \"tableHeaderCell\"];\r\nvar TABLE_OPERATIONS = [\"insertTable\", \"insertHeaderRow\", \"insertRowAbove\", \"insertRowBelow\", \"insertColumnLeft\", \"insertColumnRight\", \"deleteColumn\", \"deleteRow\", \"deleteTable\", \"cellProperties\", \"tableProperties\"];\r\nexports.TABLE_OPERATIONS = TABLE_OPERATIONS;\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 tableBlot = _ref.tableBlot,\r\n quill = _ref.quill;\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((function(index, element) {\r\n var $element = (0, _renderer.default)(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 elements = _ref2.elements,\r\n property = _ref2.property,\r\n value = _ref2.value;\r\n var tableBlotNames = module.quill.getModule(\"table\").tableBlots;\r\n var fullPropertyName = \"cell\".concat((0, _inflector.camelize)(property, true));\r\n (0, _iterator.each)(elements, (function(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((function(blot) {\r\n return tableBlotNames.includes(blot.statics.blotName)\r\n }));\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 function() {\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].apply(table, rest)\r\n }\r\n}\r\n","/**\r\n * DevExtreme (cjs/ui/html_editor/utils/templates_storage.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _type = require(\"../../../core/utils/type\");\r\nvar TemplatesStorage = function() {\r\n function TemplatesStorage() {\r\n this._storage = {}\r\n }\r\n var _proto = TemplatesStorage.prototype;\r\n _proto.set = function(_ref, value) {\r\n var _this$_storage, _this$_storage$editor;\r\n var editorKey = _ref.editorKey,\r\n marker = _ref.marker;\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 _proto.get = function(_ref2) {\r\n var _Object$values$at, _this$_storage$editor2;\r\n var editorKey = _ref2.editorKey,\r\n marker = _ref2.marker;\r\n var isQuillFormatCall = !(0, _type.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 _proto.delete = function(_ref3) {\r\n var editorKey = _ref3.editorKey,\r\n marker = _ref3.marker;\r\n if (!this._storage[editorKey]) {\r\n return\r\n }\r\n delete this._storage[editorKey][marker];\r\n if ((0, _type.isEmptyObject)(this._storage[editorKey])) {\r\n delete this._storage[editorKey]\r\n }\r\n };\r\n return TemplatesStorage\r\n}();\r\nexports.default = TemplatesStorage;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/html_editor/utils/toolbar_helper.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.ICON_MAP = void 0;\r\nexports.applyFormat = applyFormat;\r\nexports.getDefaultClickHandler = getDefaultClickHandler;\r\nexports.getFormatHandlers = getFormatHandlers;\r\nvar _renderer = _interopRequireDefault(require(\"../../../core/renderer\"));\r\nvar _message = _interopRequireDefault(require(\"../../../localization/message\"));\r\nvar _table_helper = require(\"./table_helper\");\r\nvar _type = require(\"../../../core/utils/type\");\r\nvar _iterator = require(\"../../../core/utils/iterator\");\r\nvar _form = _interopRequireDefault(require(\"../../form\"));\r\nvar _button_group = _interopRequireDefault(require(\"../../button_group\"));\r\nvar _color_box = _interopRequireDefault(require(\"../../color_box\"));\r\nvar _scroll_view = _interopRequireDefault(require(\"../../scroll_view\"));\r\nvar _size = require(\"../../../core/utils/size\");\r\nvar _image_uploader_helper = require(\"./image_uploader_helper\");\r\nvar _window = require(\"../../../core/utils/window\");\r\nvar _quill_importer = require(\"../quill_importer\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _toConsumableArray(arr) {\r\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread()\r\n}\r\n\r\nfunction _nonIterableSpread() {\r\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _iterableToArray(iter) {\r\n if (\"undefined\" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter[\"@@iterator\"]) {\r\n return Array.from(iter)\r\n }\r\n}\r\n\r\nfunction _arrayWithoutHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return _arrayLikeToArray(arr)\r\n }\r\n}\r\n\r\nfunction _slicedToArray(arr, i) {\r\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest()\r\n}\r\n\r\nfunction _nonIterableRest() {\r\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _unsupportedIterableToArray(o, minLen) {\r\n if (!o) {\r\n return\r\n }\r\n if (\"string\" === typeof o) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n var n = Object.prototype.toString.call(o).slice(8, -1);\r\n if (\"Object\" === n && o.constructor) {\r\n n = o.constructor.name\r\n }\r\n if (\"Map\" === n || \"Set\" === n) {\r\n return Array.from(o)\r\n }\r\n if (\"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n}\r\n\r\nfunction _arrayLikeToArray(arr, len) {\r\n if (null == len || len > arr.length) {\r\n len = arr.length\r\n }\r\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\r\n arr2[i] = arr[i]\r\n }\r\n return arr2\r\n}\r\n\r\nfunction _iterableToArrayLimit(arr, i) {\r\n var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"];\r\n if (null != _i) {\r\n var _s, _e, _x, _r, _arr = [],\r\n _n = !0,\r\n _d = !1;\r\n try {\r\n if (_x = (_i = _i.call(arr)).next, 0 === i) {\r\n if (Object(_i) !== _i) {\r\n return\r\n }\r\n _n = !1\r\n } else {\r\n for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) {}\r\n }\r\n } catch (err) {\r\n _d = !0, _e = err\r\n } finally {\r\n try {\r\n if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) {\r\n return\r\n }\r\n } finally {\r\n if (_d) {\r\n throw _e\r\n }\r\n }\r\n }\r\n return _arr\r\n }\r\n}\r\n\r\nfunction _arrayWithHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return arr\r\n }\r\n}\r\nvar MIN_HEIGHT = 400;\r\nvar BORDER_STYLES = [\"none\", \"hidden\", \"dotted\", \"dashed\", \"solid\", \"double\", \"groove\", \"ridge\", \"inset\", \"outset\"];\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\nexports.ICON_MAP = ICON_MAP;\r\n\r\nfunction getFormatHandlers(module) {\r\n return {\r\n clear: function(_ref) {\r\n var event = _ref.event;\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: function(_ref2) {\r\n var event = _ref2.event;\r\n module.saveValueChangeEvent(event);\r\n module.quill.history.undo()\r\n },\r\n redo: function(_ref3) {\r\n var event = _ref3.event;\r\n module.saveValueChangeEvent(event);\r\n module.quill.history.redo()\r\n },\r\n increaseIndent: function(_ref4) {\r\n var event = _ref4.event;\r\n applyFormat(module, [\"indent\", \"+1\", USER_ACTION], event)\r\n },\r\n decreaseIndent: function(_ref5) {\r\n var event = _ref5.event;\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: (0, _table_helper.getTableOperationHandler)(module.quill, \"insertHeaderRow\"),\r\n insertRowAbove: (0, _table_helper.getTableOperationHandler)(module.quill, \"insertRowAbove\"),\r\n insertRowBelow: (0, _table_helper.getTableOperationHandler)(module.quill, \"insertRowBelow\"),\r\n insertColumnLeft: (0, _table_helper.getTableOperationHandler)(module.quill, \"insertColumnLeft\"),\r\n insertColumnRight: (0, _table_helper.getTableOperationHandler)(module.quill, \"insertColumnRight\"),\r\n deleteColumn: (0, _table_helper.getTableOperationHandler)(module.quill, \"deleteColumn\"),\r\n deleteRow: (0, _table_helper.getTableOperationHandler)(module.quill, \"deleteRow\"),\r\n deleteTable: (0, _table_helper.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 contentTemplate = _ref6.contentTemplate,\r\n title = _ref6.title,\r\n minHeight = _ref6.minHeight,\r\n minWidth = _ref6.minWidth,\r\n maxWidth = _ref6.maxWidth;\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 function($element) {\r\n var _$element, _module$quill$getModu;\r\n if (!(null !== (_$element = $element) && void 0 !== _$element && _$element.length)) {\r\n $element = (0, _renderer.default)(getTargetTableNode(module, type))\r\n }\r\n var _ref7 = null !== (_module$quill$getModu = module.quill.getModule(\"table\").getTable()) && void 0 !== _module$quill$getModu ? _module$quill$getModu : [],\r\n _ref8 = _slicedToArray(_ref7, 2),\r\n tableBlot = _ref8[0],\r\n rowBlot = _ref8[1];\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 _module$editorInstanc = module.editorInstance._formDialog._popup.option(),\r\n contentTemplate = _module$editorInstanc.contentTemplate,\r\n title = _module$editorInstanc.title,\r\n minHeight = _module$editorInstanc.minHeight,\r\n minWidth = _module$editorInstanc.minWidth,\r\n maxWidth = _module$editorInstanc.maxWidth;\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: function(container) {\r\n var $content = (0, _renderer.default)(\"<div>\").appendTo(container);\r\n var $form = (0, _renderer.default)(\"<div>\").appendTo($content);\r\n module.editorInstance._createComponent($form, _form.default, tablePropertiesFormConfig.formOptions);\r\n module.editorInstance._createComponent($content, _scroll_view.default, {});\r\n formInstance = $form.dxForm(\"instance\");\r\n return $content\r\n },\r\n title: _message.default.format(\"dxHtmlEditor-\".concat(type, \"Properties\")),\r\n minHeight: MIN_HEIGHT,\r\n minWidth: Math.min(800, .9 * (0, _size.getWidth)((0, _window.getWindow)()) - 1),\r\n maxWidth: .9 * (0, _size.getWidth)((0, _window.getWindow)())\r\n });\r\n var promise = module.editorInstance.showFormDialog();\r\n promise.done((function(formData, event) {\r\n module.saveValueChangeEvent(event);\r\n tablePropertiesFormConfig.applyHandler(formInstance);\r\n resetFormDialogOptions(module.editorInstance, savedOptions)\r\n }));\r\n promise.fail((function() {\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 var _module$quill;\r\n module.saveValueChangeEvent(event);\r\n (_module$quill = module.quill).format.apply(_module$quill, _toConsumableArray(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 = (0, _quill_importer.getQuill)();\r\n var LinkBlot = Quill.import(\"formats/link\");\r\n var link;\r\n var linkOffset;\r\n var _module$quill$scroll$ = module.quill.scroll.descendant(LinkBlot, range.index);\r\n var _module$quill$scroll$2 = _slicedToArray(_module$quill$scroll$, 2);\r\n link = _module$quill$scroll$2[0];\r\n linkOffset = _module$quill$scroll$2[1];\r\n if (!link && 0 === range.length) {\r\n var _module$quill$scroll$3 = module.quill.scroll.descendant(LinkBlot, range.index - 1);\r\n var _module$quill$scroll$4 = _slicedToArray(_module$quill$scroll$3, 2);\r\n link = _module$quill$scroll$4[0];\r\n linkOffset = _module$quill$scroll$4[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 function() {\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 = (0, _table_helper.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\", _message.default.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((function(formData, event) {\r\n if (selection && !selectionHasEmbedContent) {\r\n var text = formData.text || formData.href;\r\n var _selection2 = selection,\r\n index = _selection2.index,\r\n length = _selection2.length;\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((function() {\r\n module.quill.focus()\r\n }))\r\n }\r\n}\r\n\r\nfunction prepareImageHandler(module, imageUploadOption) {\r\n var imageUploader = new _image_uploader_helper.ImageUploader(module, imageUploadOption);\r\n return function() {\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: _message.default.format(DIALOG_LINK_FIELD_URL)\r\n }\r\n }, {\r\n dataField: \"text\",\r\n label: {\r\n text: _message.default.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: _message.default.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 function() {\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\", _message.default.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((function(formData, event) {\r\n applyFormat(module, [name, formData[name], USER_ACTION], event)\r\n }));\r\n promise.fail((function() {\r\n module.quill.focus()\r\n }))\r\n }\r\n}\r\n\r\nfunction prepareShortcutHandler(module, name, shortcutValue) {\r\n return function(_ref9) {\r\n var _getToolbarModule2;\r\n var event = _ref9.event;\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 function(_ref10) {\r\n var _getToolbarModule3;\r\n var event = _ref10.event;\r\n var formats = module.quill.getFormat();\r\n var value = formats[name];\r\n var newValue = !((0, _type.isBoolean)(value) ? value : (0, _type.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: _message.default.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: _message.default.format(DIALOG_TABLE_FIELD_ROWS)\r\n }\r\n }]\r\n}\r\n\r\nfunction prepareInsertTableHandler(module) {\r\n return function() {\r\n var formats = module.quill.getFormat();\r\n var isTableFocused = module._tableFormats.some((function(format) {\r\n return Object.prototype.hasOwnProperty.call(formats, format)\r\n }));\r\n if (isTableFocused) {\r\n module.quill.focus();\r\n return\r\n }\r\n module.editorInstance.formDialogOption(\"title\", _message.default.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((function(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 columns = formData.columns,\r\n rows = formData.rows;\r\n table.insertTable(columns, rows)\r\n }\r\n })).always((function() {\r\n module.quill.focus()\r\n }))\r\n }\r\n}\r\n\r\nfunction getTablePropertiesFormConfig(module, _ref11) {\r\n var $element = _ref11.$element,\r\n formats = _ref11.formats,\r\n tableBlot = _ref11.tableBlot;\r\n var window = (0, _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) || (0, _size.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: (0, _type.isDefined)(formats.tableHeight) ? parseInt(formats.tableHeight) : (0, _size.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((0, _type.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: _message.default.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: _message.default.format(\"dxHtmlEditor-style\")\r\n },\r\n editorType: \"dxSelectBox\",\r\n editorOptions: {\r\n items: BORDER_STYLES,\r\n placeholder: \"Select style\"\r\n }\r\n }, {\r\n dataField: \"borderWidth\",\r\n label: {\r\n text: _message.default.format(\"dxHtmlEditor-borderWidth\")\r\n },\r\n editorOptions: {\r\n placeholder: _message.default.format(\"dxHtmlEditor-pixels\")\r\n }\r\n }, {\r\n itemType: \"simple\",\r\n dataField: \"borderColor\",\r\n label: {\r\n text: _message.default.format(\"dxHtmlEditor-borderColor\")\r\n },\r\n colSpan: 2,\r\n template: function(e) {\r\n var $content = (0, _renderer.default)(\"<div>\");\r\n editorInstance._createComponent($content, _color_box.default, {\r\n editAlphaChannel: true,\r\n value: e.component.option(\"formData\").borderColor,\r\n onInitialized: function(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: _message.default.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: _message.default.format(\"dxHtmlEditor-width\")\r\n },\r\n editorOptions: {\r\n min: 0,\r\n placeholder: _message.default.format(\"dxHtmlEditor-pixels\")\r\n }\r\n }, {\r\n dataField: \"height\",\r\n label: {\r\n text: _message.default.format(\"dxHtmlEditor-height\")\r\n },\r\n editorOptions: {\r\n min: 0,\r\n placeholder: _message.default.format(\"dxHtmlEditor-pixels\")\r\n }\r\n }]\r\n }, {\r\n itemType: \"group\",\r\n caption: _message.default.format(\"dxHtmlEditor-tableBackground\"),\r\n items: [{\r\n itemType: \"simple\",\r\n dataField: \"backgroundColor\",\r\n label: {\r\n text: _message.default.format(\"dxHtmlEditor-borderColor\")\r\n },\r\n template: function(e) {\r\n var $content = (0, _renderer.default)(\"<div>\");\r\n editorInstance._createComponent($content, _color_box.default, {\r\n editAlphaChannel: true,\r\n value: e.component.option(\"formData\").backgroundColor,\r\n onInitialized: function(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: _message.default.format(\"dxHtmlEditor-alignment\"),\r\n items: [{\r\n itemType: \"simple\",\r\n label: {\r\n text: _message.default.format(\"dxHtmlEditor-horizontal\")\r\n },\r\n template: function() {\r\n var $content = (0, _renderer.default)(\"<div>\");\r\n editorInstance._createComponent($content, _button_group.default, {\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: function(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: function(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, _ref12) {\r\n var $element = _ref12.$element,\r\n formats = _ref12.formats,\r\n tableBlot = _ref12.tableBlot,\r\n rowBlot = _ref12.rowBlot;\r\n var window = (0, _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 = (0, _type.isDefined)(formats.cellWidth) ? parseInt(formats.cellWidth) : (0, _size.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: (0, _type.isDefined)(formats.cellHeight) ? parseInt(formats.cellHeight) : (0, _size.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((0, _type.isDefined)(formats.cellBorderWidth) ? formats.cellBorderWidth : cellStyles.borderTopWidth),\r\n alignment: formats.cellTextAlign || startTextAlign,\r\n verticalAlignment: formats.cellVerticalAlign || cellStyles.verticalAlign,\r\n verticalPadding: parseInt((0, _type.isDefined)(formats.cellPaddingTop) ? formats.cellPaddingTop : cellStyles.paddingTop),\r\n horizontalPadding: parseInt((0, _type.isDefined)(formats.cellPaddingLeft) ? formats.cellPaddingLeft : cellStyles.paddingLeft)\r\n },\r\n items: [{\r\n itemType: \"group\",\r\n caption: _message.default.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: _message.default.format(\"dxHtmlEditor-style\")\r\n },\r\n editorType: \"dxSelectBox\",\r\n editorOptions: {\r\n items: BORDER_STYLES\r\n }\r\n }, {\r\n dataField: \"borderWidth\",\r\n label: {\r\n text: _message.default.format(\"dxHtmlEditor-borderWidth\")\r\n },\r\n editorOptions: {\r\n placeholder: _message.default.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: _message.default.format(\"dxHtmlEditor-borderColor\")\r\n },\r\n template: function(e) {\r\n var $content = (0, _renderer.default)(\"<div>\");\r\n editorInstance._createComponent($content, _color_box.default, {\r\n editAlphaChannel: true,\r\n value: e.component.option(\"formData\").borderColor,\r\n onInitialized: function(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: _message.default.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: _message.default.format(\"dxHtmlEditor-width\")\r\n },\r\n editorOptions: {\r\n min: 0,\r\n placeholder: _message.default.format(\"dxHtmlEditor-pixels\")\r\n }\r\n }, {\r\n dataField: \"height\",\r\n label: {\r\n text: _message.default.format(\"dxHtmlEditor-height\")\r\n },\r\n editorOptions: {\r\n min: 0,\r\n placeholder: _message.default.format(\"dxHtmlEditor-pixels\")\r\n }\r\n }, {\r\n dataField: \"verticalPadding\",\r\n label: {\r\n text: _message.default.format(\"dxHtmlEditor-paddingVertical\")\r\n },\r\n editorOptions: {\r\n placeholder: _message.default.format(\"dxHtmlEditor-pixels\")\r\n }\r\n }, {\r\n label: {\r\n text: _message.default.format(\"dxHtmlEditor-paddingHorizontal\")\r\n },\r\n dataField: \"horizontalPadding\",\r\n editorOptions: {\r\n placeholder: _message.default.format(\"dxHtmlEditor-pixels\")\r\n }\r\n }]\r\n }, {\r\n itemType: \"group\",\r\n caption: _message.default.format(\"dxHtmlEditor-tableBackground\"),\r\n items: [{\r\n itemType: \"simple\",\r\n dataField: \"backgroundColor\",\r\n label: {\r\n text: _message.default.format(\"dxHtmlEditor-borderColor\")\r\n },\r\n template: function(e) {\r\n var $content = (0, _renderer.default)(\"<div>\");\r\n editorInstance._createComponent($content, _color_box.default, {\r\n editAlphaChannel: true,\r\n value: e.component.option(\"formData\").backgroundColor,\r\n onInitialized: function(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: _message.default.format(\"dxHtmlEditor-alignment\"),\r\n colCount: 2,\r\n items: [{\r\n itemType: \"simple\",\r\n label: {\r\n text: _message.default.format(\"dxHtmlEditor-horizontal\")\r\n },\r\n template: function() {\r\n var $content = (0, _renderer.default)(\"<div>\");\r\n editorInstance._createComponent($content, _button_group.default, {\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: function(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: _message.default.format(\"dxHtmlEditor-vertical\")\r\n },\r\n template: function() {\r\n var $content = (0, _renderer.default)(\"<div>\");\r\n editorInstance._createComponent($content, _button_group.default, {\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: function(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: function(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, _ref13) {\r\n var $table = _ref13.$table,\r\n newHeight = _ref13.newHeight,\r\n newWidth = _ref13.newWidth,\r\n tableBlot = _ref13.tableBlot;\r\n if ((0, _type.isDefined)(newWidth)) {\r\n var autoWidthColumns = (0, _table_helper.getAutoSizedElements)($table);\r\n if (autoWidthColumns.length > 0) {\r\n module.editorInstance.format(\"tableWidth\", newWidth + \"px\")\r\n } else {\r\n var $columns = (0, _table_helper.getColumnElements)($table);\r\n var oldTableWidth = (0, _size.getOuterWidth)($table);\r\n (0, _table_helper.unfixTableWidth)($table, {\r\n tableBlot: tableBlot\r\n });\r\n (0, _iterator.each)($columns, (function(i, element) {\r\n var $element = (0, _renderer.default)(element);\r\n var newElementWidth = newWidth / oldTableWidth * (0, _size.getOuterWidth)($element);\r\n var $lineElements = (0, _table_helper.getLineElements)($table, $element.index(), \"horizontal\");\r\n (0, _table_helper.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 = (0, _table_helper.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 = (0, _table_helper.getRowElements)($table);\r\n var oldTableHeight = (0, _size.getOuterHeight)($table);\r\n (0, _iterator.each)($rows, (function(i, element) {\r\n var $element = (0, _renderer.default)(element);\r\n var newElementHeight = newHeight / oldTableHeight * (0, _size.getOuterHeight)($element);\r\n var $lineElements = (0, _table_helper.getLineElements)($table, i, \"vertical\");\r\n (0, _table_helper.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, _ref14) {\r\n var $cell = _ref14.$cell,\r\n newHeight = _ref14.newHeight,\r\n newWidth = _ref14.newWidth,\r\n tableBlot = _ref14.tableBlot,\r\n rowBlot = _ref14.rowBlot;\r\n var $table = (0, _renderer.default)($cell.closest(\"table\"));\r\n if ((0, _type.isDefined)(newWidth)) {\r\n var index = (0, _renderer.default)($cell).index();\r\n var $verticalCells = (0, _table_helper.getLineElements)($table, index);\r\n var widthDiff = newWidth - (0, _size.getOuterWidth)($cell);\r\n var tableWidth = (0, _size.getOuterWidth)($table);\r\n if (newWidth > tableWidth) {\r\n (0, _table_helper.unfixTableWidth)($table, {\r\n tableBlot: tableBlot\r\n })\r\n }(0, _table_helper.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 === (0, _table_helper.getAutoSizedElements)($table).length;\r\n if (shouldUpdateNearestColumnWidth) {\r\n (0, _table_helper.unfixTableWidth)($table, {\r\n tableBlot: tableBlot\r\n });\r\n if (1 === $nextColumnCell.length) {\r\n $verticalCells = (0, _table_helper.getLineElements)($table, index + 1);\r\n var nextColumnWidth = (0, _size.getOuterWidth)($verticalCells.eq(0)) - widthDiff;\r\n (0, _table_helper.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 = (0, _table_helper.getLineElements)($table, index - 1);\r\n var prevColumnWidth = (0, _size.getOuterWidth)($verticalCells.eq(0)) - widthDiff;\r\n (0, _table_helper.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((function(rowCell) {\r\n rowCell.format(\"cellHeight\", newHeight + \"px\")\r\n }));\r\n var autoHeightRows = (0, _table_helper.getAutoSizedElements)($table, \"vertical\");\r\n if (0 === autoHeightRows.length) {\r\n $table.css(\"height\", \"auto\")\r\n }\r\n}\r\n","/**\r\n * DevExtreme (cjs/ui/list.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _list_light = _interopRequireDefault(require(\"./list_light\"));\r\nrequire(\"./list/modules/selection\");\r\nrequire(\"./list/modules/deleting\");\r\nrequire(\"./list/modules/dragging\");\r\nrequire(\"./list/modules/context\");\r\nrequire(\"./list/modules/search\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar _default = _list_light.default;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/list/item.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _item = _interopRequireDefault(require(\"../collection/item\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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 = _item.default.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 = (0, _renderer.default)(\"<div>\").addClass(LIST_ITEM_BADGE_CONTAINER_CLASS).append((0, _renderer.default)(\"<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 = (0, _renderer.default)(\"<div>\").addClass(LIST_ITEM_CHEVRON_CONTAINER_CLASS);\r\n var $chevron = (0, _renderer.default)(\"<div>\").addClass(LIST_ITEM_CHEVRON_CLASS);\r\n $chevronContainer.append($chevron).appendTo(this._$element)\r\n }\r\n});\r\nvar _default = ListItem;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/list/modules/context.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nrequire(\"../ui.list.edit.decorator.context\");\r\n","/**\r\n * DevExtreme (cjs/ui/list/modules/deleting.context.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nrequire(\"./context\");\r\n","/**\r\n * DevExtreme (cjs/ui/list/modules/deleting.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nrequire(\"./deleting.context\");\r\nrequire(\"./deleting.slideButton\");\r\nrequire(\"./deleting.slideItem\");\r\nrequire(\"./deleting.static\");\r\nrequire(\"./deleting.swipe\");\r\nrequire(\"./deleting.toggle\");\r\n","/**\r\n * DevExtreme (cjs/ui/list/modules/deleting.slideButton.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nrequire(\"../ui.list.edit.decorator.switchable.button\");\r\n","/**\r\n * DevExtreme (cjs/ui/list/modules/deleting.slideItem.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nrequire(\"../ui.list.edit.decorator.switchable.slide\");\r\n","/**\r\n * DevExtreme (cjs/ui/list/modules/deleting.static.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nrequire(\"../ui.list.edit.decorator.static\");\r\n","/**\r\n * DevExtreme (cjs/ui/list/modules/deleting.swipe.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nrequire(\"../ui.list.edit.decorator.swipe\");\r\n","/**\r\n * DevExtreme (cjs/ui/list/modules/deleting.toggle.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nrequire(\"../ui.list.edit.decorator.switchable.button\");\r\n","/**\r\n * DevExtreme (cjs/ui/list/modules/dragging.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nrequire(\"../ui.list.edit.decorator.reorder\");\r\n","/**\r\n * DevExtreme (cjs/ui/list/modules/search.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _ui = _interopRequireDefault(require(\"../../widget/ui.search_box_mixin\"));\r\nvar _text_box = _interopRequireDefault(require(\"../../text_box\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n_ui.default.setEditorClass(_text_box.default);\r\n","/**\r\n * DevExtreme (cjs/ui/list/modules/selection.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nrequire(\"../ui.list.edit.decorator.selection\");\r\n","/**\r\n * DevExtreme (cjs/ui/list/ui.list.base.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.ListBase = void 0;\r\nexports.setScrollView = setScrollView;\r\nvar _size = require(\"../../core/utils/size\");\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _icon = require(\"../../core/utils/icon\");\r\nvar _element = require(\"../../core/element\");\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _data = require(\"../../core/utils/data\");\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _fx = _interopRequireDefault(require(\"../../animation/fx\"));\r\nvar _click = require(\"../../events/click\");\r\nvar _swipe = require(\"../../events/swipe\");\r\nvar _support = require(\"../../core/utils/support\");\r\nvar _message = _interopRequireDefault(require(\"../../localization/message\"));\r\nvar _utils = require(\"../widget/utils.ink_ripple\");\r\nvar _devices = _interopRequireDefault(require(\"../../core/devices\"));\r\nvar _item = _interopRequireDefault(require(\"./item\"));\r\nvar _button = _interopRequireDefault(require(\"../button\"));\r\nvar _index = require(\"../../events/utils/index\");\r\nvar _themes = require(\"../themes\");\r\nvar _window = require(\"../../core/utils/window\");\r\nvar _scroll_view = _interopRequireDefault(require(\"../scroll_view\"));\r\nvar _uiScrollable = require(\"../scroll_view/ui.scrollable.device\");\r\nvar _uiCollection_widget = _interopRequireDefault(require(\"../collection/ui.collection_widget.live_update\"));\r\nvar _bindable_template = require(\"../../core/templates/bindable_template\");\r\nvar _deferred = require(\"../../core/utils/deferred\");\r\nvar _grouped_data_converter_mixin = _interopRequireDefault(require(\"../shared/grouped_data_converter_mixin\"));\r\nvar _get_element_style = require(\"../../renovation/ui/scroll_view/utils/get_element_style\");\r\nvar _guid = _interopRequireDefault(require(\"../../core/guid\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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 = (0, _data.compileGetter)(\"items\");\r\nvar _scrollView;\r\nvar ListBase = _uiCollection_widget.default.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 - (0, _size.getHeight)(that.$element()) + (0, _size.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\", (0, _element.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 = (0, _size.getHeight)(that.$element());\r\n var $item = (0, _renderer.default)(that.option(\"focusedElement\"));\r\n var isItemVisible = true;\r\n if (!$item.length) {\r\n return (0, _renderer.default)()\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 + (0, _size.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 (0, _extend.extend)(this.callBase(), {\r\n leftArrow: _common.noop,\r\n rightArrow: _common.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 (0, _extend.extend)(this.callBase(), {\r\n hoverStateEnabled: true,\r\n pullRefreshEnabled: false,\r\n scrollingEnabled: true,\r\n selectByClick: true,\r\n showScrollbar: \"onScroll\",\r\n useNativeScrolling: true,\r\n bounceEnabled: true,\r\n scrollByContent: true,\r\n scrollByThumb: false,\r\n pullingDownText: _message.default.format(\"dxList-pullingDownText\"),\r\n pulledDownText: _message.default.format(\"dxList-pulledDownText\"),\r\n refreshingText: _message.default.format(\"dxList-refreshingText\"),\r\n pageLoadingText: _message.default.format(\"dxList-pageLoadingText\"),\r\n onScroll: null,\r\n onPullRefresh: null,\r\n onPageLoading: null,\r\n pageLoadMode: \"scrollBottom\",\r\n nextButtonText: _message.default.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 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 = (0, _themes.current)();\r\n return this.callBase().concat((0, _uiScrollable.deviceDependentOptions)(), [{\r\n device: function() {\r\n return !_support.nativeScrolling\r\n },\r\n options: {\r\n useNativeScrolling: false\r\n }\r\n }, {\r\n device: function(_device) {\r\n return !_support.nativeScrolling && !_devices.default.isSimulator() && \"desktop\" === _devices.default.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.default.real().deviceType && !_devices.default.isSimulator()\r\n },\r\n options: {\r\n focusStateEnabled: true\r\n }\r\n }, {\r\n device: function() {\r\n return (0, _themes.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 (0, _extend.extend)(this.callBase(), {\r\n paginate: (0, _common.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 = (0, _renderer.default)(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 _bindable_template.BindableTemplate((function($container, data) {\r\n if ((0, _type.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 = (0, _icon.getImageContainer)(data.icon).addClass(LIST_ITEM_ICON_CLASS);\r\n var $iconContainer = (0, _renderer.default)(\"<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 ((0, _type.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() && (0, _window.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 || (0, _size.getHeight)(scrollView.content()) > (0, _size.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 = (0, _size.getHeight)(this._scrollView.content()) - (0, _size.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 _this = this;\r\n var isElementVisible = this.$element().is(\":visible\");\r\n if (isElementVisible) {\r\n clearTimeout(this._loadNextPageTimer);\r\n this._loadNextPageTimer = setTimeout((function() {\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 (0, _iterator.each)(items, this._renderGroup.bind(this));\r\n this._attachGroupCollapseEvent();\r\n this._renderEmptyMessage();\r\n if ((0, _themes.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 = (0, _index.addNamespace)(_click.name, 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 _events_engine.default.off($element, eventName, selector);\r\n if (collapsibleGroups) {\r\n _events_engine.default.on($element, eventName, selector, function(e) {\r\n this._createAction(function(e) {\r\n var $group = (0, _renderer.default)(e.event.currentTarget).parent();\r\n this._collapseGroupHandler($group);\r\n if (this.option(\"focusStateEnabled\")) {\r\n this.option(\"focusedElement\", (0, _element.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.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 = (0, _size.getOuterHeight)($groupBody);\r\n var endHeight = 0;\r\n if (0 === startHeight) {\r\n (0, _size.setHeight)($groupBody, \"auto\");\r\n endHeight = (0, _size.getOuterHeight)($groupBody)\r\n }\r\n $group.toggleClass(LIST_GROUP_COLLAPSED_CLASS, toggle);\r\n _fx.default.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 = (0, _renderer.default)();\r\n this.$element().addClass(LIST_CLASS);\r\n this.callBase();\r\n this.option(\"useInkRipple\") && this._renderInkRipple();\r\n this.setAria({\r\n role: \"group\",\r\n roledescription: \"list\"\r\n }, this.$element());\r\n this._setListAria()\r\n },\r\n _setListAria: function() {\r\n var _this$option = this.option(),\r\n items = _this$option.items;\r\n var listArea = null !== items && void 0 !== items && items.length ? {\r\n role: \"listbox\",\r\n label: \"Items\"\r\n } : {\r\n role: void 0,\r\n label: void 0\r\n };\r\n this.setAria(listArea)\r\n },\r\n _focusTarget: function() {\r\n return this._itemContainer()\r\n },\r\n _renderInkRipple: function() {\r\n this._inkRipple = (0, _utils.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 ((0, _themes.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((0, _renderer.default)(args.itemElement))\r\n }\r\n },\r\n _attachSwipeEvent: function($itemElement) {\r\n var endEventName = (0, _index.addNamespace)(_swipe.end, this.NAME);\r\n _events_engine.default.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 = (0, _renderer.default)(\"<div>\").addClass(LIST_GROUP_CLASS).appendTo(this._itemContainer());\r\n var id = \"dx-\".concat((new _guid.default).toString());\r\n var groupAria = {\r\n role: \"group\",\r\n labelledby: id\r\n };\r\n this.setAria(groupAria, $groupElement);\r\n var $groupHeaderElement = (0, _renderer.default)(\"<div>\").addClass(LIST_GROUP_HEADER_CLASS).attr(\"id\", id).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: (0, _element.getPublicElement)($groupHeaderElement)\r\n };\r\n this._createItemByTemplate(groupTemplate, renderArgs);\r\n if ((0, _themes.isMaterial)()) {\r\n (0, _renderer.default)(\"<div>\").addClass(LIST_GROUP_HEADER_INDICATOR_CLASS).prependTo($groupHeaderElement)\r\n }\r\n this._renderingGroupIndex = index;\r\n var $groupBody = (0, _renderer.default)(\"<div>\").addClass(LIST_GROUP_BODY_CLASS).appendTo($groupElement);\r\n (0, _iterator.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: (0, _element.getPublicElement)($groupElement),\r\n groupIndex: index,\r\n groupData: group\r\n })\r\n },\r\n downInkRippleHandler: function(e) {\r\n this._toggleActiveState((0, _renderer.default)(e.currentTarget), true, e)\r\n },\r\n upInkRippleHandler: function(e) {\r\n this._toggleActiveState((0, _renderer.default)(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 _events_engine.default.off.apply(_events_engine.default, downArguments);\r\n _events_engine.default.on.apply(_events_engine.default, downArguments);\r\n _events_engine.default.off.apply(_events_engine.default, upArguments);\r\n _events_engine.default.on.apply(_events_engine.default, 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 = (0, _renderer.default)(\"<div>\").addClass(LIST_NEXT_BUTTON_CLASS);\r\n var $button = (0, _renderer.default)(\"<div>\").appendTo($result);\r\n this._createComponent($button, _button.default, {\r\n text: this.option(\"nextButtonText\"),\r\n onClick: this._nextButtonHandler.bind(this),\r\n type: (0, _themes.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 (!(0, _window.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 \"selectByClick\":\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 (0, _extend.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.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.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.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: (0, _get_element_style.getElementMargin)(item, \"bottom\")\r\n })\r\n },\r\n _dimensionChanged: function() {\r\n this.updateDimensions()\r\n }\r\n}).include(_grouped_data_converter_mixin.default);\r\nexports.ListBase = ListBase;\r\nListBase.ItemClass = _item.default;\r\n\r\nfunction getScrollView() {\r\n return _scrollView || _scroll_view.default\r\n}\r\n\r\nfunction setScrollView(value) {\r\n _scrollView = value\r\n}\r\n","/**\r\n * DevExtreme (cjs/ui/list/ui.list.edit.decorator.context.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _size = require(\"../../core/utils/size\");\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _uiListEdit = _interopRequireDefault(require(\"./ui.list.edit.decorator_menu_helper\"));\r\nvar _message = _interopRequireDefault(require(\"../../localization/message\"));\r\nvar _uiListEdit2 = require(\"./ui.list.edit.decorator_registry\");\r\nvar _uiListEdit3 = _interopRequireDefault(require(\"./ui.list.edit.decorator\"));\r\nvar _ui = _interopRequireDefault(require(\"../overlay/ui.overlay\"));\r\nvar _uiList = require(\"./ui.list.base\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar CONTEXTMENU_CLASS = \"dx-list-context-menu\";\r\nvar CONTEXTMENU_MENUCONTENT_CLASS = \"dx-list-context-menucontent\";\r\n(0, _uiListEdit2.register)(\"menu\", \"context\", _uiListEdit3.default.inherit({\r\n _init: function() {\r\n var $menu = (0, _renderer.default)(\"<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, _ui.default, {\r\n shading: false,\r\n deferRendering: true,\r\n hideOnParentScroll: true,\r\n hideOnOutsideClick: function(e) {\r\n return !(0, _renderer.default)(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 (0, _size.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 ? (0, _size.getOuterHeight)(this._$menuList) : 0\r\n }.bind(this),\r\n width: function() {\r\n return (0, _size.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: _message.default.format(\"dxListEditDecorator-delete\"),\r\n action: this._deleteItem.bind(this)\r\n })\r\n }\r\n this._$menuList = (0, _renderer.default)(\"<div>\");\r\n this._list._createComponent(this._$menuList, _uiList.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(_uiListEdit.default));\r\n","/**\r\n * DevExtreme (cjs/ui/list/ui.list.edit.decorator.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _size = require(\"../../core/utils/size\");\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _class = _interopRequireDefault(require(\"../../core/class\"));\r\nvar _swipe = require(\"../../events/swipe\");\r\nvar _index = require(\"../../events/utils/index\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar LIST_EDIT_DECORATOR = \"dxListEditDecorator\";\r\nvar SWIPE_START_EVENT_NAME = (0, _index.addNamespace)(_swipe.start, LIST_EDIT_DECORATOR);\r\nvar SWIPE_UPDATE_EVENT_NAME = (0, _index.addNamespace)(_swipe.swipe, LIST_EDIT_DECORATOR);\r\nvar SWIPE_END_EVENT_NAME = (0, _index.addNamespace)(_swipe.end, LIST_EDIT_DECORATOR);\r\nvar EditDecorator = _class.default.inherit({\r\n ctor: function(list) {\r\n this._list = list;\r\n this._init()\r\n },\r\n _init: _common.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 = (0, _size.getWidth)(this._list.$element());\r\n this._clearSwipeCache = false\r\n }\r\n return this._itemWidthCache\r\n }.bind(this)\r\n };\r\n _events_engine.default.on(config.$itemElement, SWIPE_START_EVENT_NAME, swipeConfig, this._itemSwipeStartHandler.bind(this));\r\n _events_engine.default.on(config.$itemElement, SWIPE_UPDATE_EVENT_NAME, this._itemSwipeUpdateHandler.bind(this));\r\n _events_engine.default.on(config.$itemElement, SWIPE_END_EVENT_NAME, this._itemSwipeEndHandler.bind(this))\r\n },\r\n _itemSwipeStartHandler: function(e) {\r\n var $itemElement = (0, _renderer.default)(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 = (0, _renderer.default)(e.currentTarget);\r\n this._swipeUpdateHandler($itemElement, e)\r\n },\r\n _itemSwipeEndHandler: function(e) {\r\n var $itemElement = (0, _renderer.default)(e.currentTarget);\r\n this._swipeEndHandler($itemElement, e);\r\n this._clearSwipeCache = true\r\n },\r\n beforeBag: _common.noop,\r\n afterBag: _common.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: _common.noop,\r\n handleClick: _common.noop,\r\n handleKeyboardEvents: _common.noop,\r\n handleEnterPressing: _common.noop,\r\n handleContextMenu: _common.noop,\r\n _swipeStartHandler: _common.noop,\r\n _swipeUpdateHandler: _common.noop,\r\n _swipeEndHandler: _common.noop,\r\n visibilityChange: _common.noop,\r\n getExcludedSelectors: _common.noop,\r\n dispose: _common.noop\r\n});\r\nvar _default = EditDecorator;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/list/ui.list.edit.decorator.reorder.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _size = require(\"../../core/utils/size\");\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _index = require(\"../../events/utils/index\");\r\nvar _uiListEdit = require(\"./ui.list.edit.decorator_registry\");\r\nvar _uiListEdit2 = _interopRequireDefault(require(\"./ui.list.edit.decorator\"));\r\nvar _sortable = _interopRequireDefault(require(\"../sortable\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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\n(0, _uiListEdit.register)(\"reorder\", \"default\", _uiListEdit2.default.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.default, (0, _extend.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 = (0, _renderer.default)(e.itemElement).clone().addClass(REORDERING_ITEM_GHOST_CLASS).addClass(STATE_HOVER_CLASS);\r\n (0, _size.setWidth)(result, (0, _size.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((0, _renderer.default)(e.itemElement), $targetElement)\r\n },\r\n afterBag: function(config) {\r\n var _this = this;\r\n var $handle = (0, _renderer.default)(\"<div>\").addClass(REORDER_HANDLE_CLASS);\r\n _events_engine.default.on($handle, \"dxpointerdown\", (function(e) {\r\n _this._lockedDrag = !(0, _index.isMouseEvent)(e)\r\n }));\r\n _events_engine.default.on($handle, \"dxhold\", {\r\n timeout: 30\r\n }, (function(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 (cjs/ui/list/ui.list.edit.decorator.selection.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _click = require(\"../../events/click\");\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _ui = _interopRequireDefault(require(\"../widget/ui.errors\"));\r\nvar _check_box = _interopRequireDefault(require(\"../check_box\"));\r\nvar _radio_button = _interopRequireDefault(require(\"../radio_group/radio_button\"));\r\nvar _index = require(\"../../events/utils/index\");\r\nvar _uiListEdit = require(\"./ui.list.edit.decorator_registry\");\r\nvar _uiListEdit2 = _interopRequireDefault(require(\"./ui.list.edit.decorator\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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 = (0, _index.addNamespace)(_click.name, \"dxListEditDecorator\");\r\n(0, _uiListEdit.register)(\"selection\", \"default\", _uiListEdit2.default.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 ? _radio_button.default : _check_box.default;\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 = (0, _renderer.default)(\"<div>\").addClass(this._controlClass).appendTo($container);\r\n new this._controlWidget($control, (0, _extend.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 _events_engine.default.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 = (0, _renderer.default)(\"<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((0, _renderer.default)(\"<div>\").addClass(SELECT_DECORATOR_SELECT_ALL_CHECKBOX_CLASS).appendTo($selectAll), _check_box.default, {\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 (0, _renderer.default)(\"<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 _events_engine.default.off(this._$selectAll, CLICK_EVENT_NAME);\r\n _events_engine.default.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 _ui.default.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 (cjs/ui/list/ui.list.edit.decorator.static.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _button = _interopRequireDefault(require(\"../button\"));\r\nvar _uiListEdit = require(\"./ui.list.edit.decorator_registry\");\r\nvar _uiListEdit2 = _interopRequireDefault(require(\"./ui.list.edit.decorator\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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\n(0, _uiListEdit.register)(\"delete\", \"static\", _uiListEdit2.default.inherit({\r\n afterBag: function(config) {\r\n var $itemElement = config.$itemElement;\r\n var $container = config.$container;\r\n var $button = (0, _renderer.default)(\"<div>\").addClass(STATIC_DELETE_BUTTON_CLASS);\r\n this._list._createComponent($button, _button.default, {\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 (cjs/ui/list/ui.list.edit.decorator.swipe.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _size = require(\"../../core/utils/size\");\r\nvar _translator = require(\"../../animation/translator\");\r\nvar _fx = _interopRequireDefault(require(\"../../animation/fx\"));\r\nvar _uiListEdit = require(\"./ui.list.edit.decorator_registry\");\r\nvar _uiListEdit2 = _interopRequireDefault(require(\"./ui.list.edit.decorator\"));\r\nvar _deferred = require(\"../../core/utils/deferred\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}(0, _uiListEdit.register)(\"delete\", \"swipe\", _uiListEdit2.default.inherit({\r\n _shouldHandleSwipe: true,\r\n _renderItemPosition: function($itemElement, offset, animate) {\r\n var deferred = new _deferred.Deferred;\r\n var itemOffset = offset * this._itemElementWidth;\r\n if (animate) {\r\n _fx.default.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 (0, _translator.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 = (0, _size.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 (cjs/ui/list/ui.list.edit.decorator.switchable.button.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _size = require(\"../../core/utils/size\");\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _fx = _interopRequireDefault(require(\"../../animation/fx\"));\r\nvar _button = _interopRequireDefault(require(\"../button\"));\r\nvar _message = _interopRequireDefault(require(\"../../localization/message\"));\r\nvar _uiListEdit = require(\"./ui.list.edit.decorator_registry\");\r\nvar _uiListEditDecorator = _interopRequireDefault(require(\"./ui.list.edit.decorator.switchable\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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 = _uiListEditDecorator.default.inherit({\r\n _init: function() {\r\n this.callBase.apply(this, arguments);\r\n var $buttonContainer = (0, _renderer.default)(\"<div>\").addClass(SWITCHABLE_DELETE_BUTTON_CONTAINER_CLASS);\r\n var $buttonWrapper = (0, _renderer.default)(\"<div>\").addClass(SWITCHABLE_DELETE_BUTTON_WRAPPER_CLASS);\r\n var $buttonInnerWrapper = (0, _renderer.default)(\"<div>\").addClass(SWITCHABLE_DELETE_BUTTON_INNER_WRAPPER_CLASS);\r\n var $button = (0, _renderer.default)(\"<div>\").addClass(SWITCHABLE_DELETE_BUTTON_CLASS);\r\n this._list._createComponent($button, _button.default, {\r\n text: _message.default.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.default.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 = (0, _size.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.default.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 = (0, _size.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.default.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 = (0, _size.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\n(0, _uiListEdit.register)(\"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 = (0, _renderer.default)(\"<div>\").addClass(TOGGLE_DELETE_SWITCH_CLASS);\r\n this._list._createComponent($toggle, _button.default, {\r\n icon: \"toggle-delete\",\r\n onClick: function(e) {\r\n _fx.default.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\n(0, _uiListEdit.register)(\"delete\", \"slideButton\", SwitchableButtonEditDecorator.inherit({\r\n _shouldHandleSwipe: true,\r\n _swipeEndHandler: function($itemElement, args) {\r\n if (0 !== args.targetOffset) {\r\n _fx.default.stop(this._$buttonContainer, false);\r\n this._toggleDeleteReady($itemElement)\r\n }\r\n return true\r\n }\r\n}));\r\nvar _default = SwitchableButtonEditDecorator;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/list/ui.list.edit.decorator.switchable.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _size = require(\"../../core/utils/size\");\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _uiListEdit = _interopRequireDefault(require(\"./ui.list.edit.decorator\"));\r\nvar _index = require(\"../../events/utils/index\");\r\nvar _pointer = _interopRequireDefault(require(\"../../events/pointer\"));\r\nvar _emitter = require(\"../../events/core/emitter.feedback\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar abstract = _uiListEdit.default.abstract;\r\nvar LIST_EDIT_DECORATOR = \"dxListEditDecorator\";\r\nvar POINTER_DOWN_EVENT_NAME = (0, _index.addNamespace)(_pointer.default.down, LIST_EDIT_DECORATOR);\r\nvar ACTIVE_EVENT_NAME = (0, _index.addNamespace)(_emitter.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 = _uiListEdit.default.inherit({\r\n _init: function() {\r\n this._$topShield = (0, _renderer.default)(\"<div>\").addClass(SWITCHABLE_DELETE_TOP_SHIELD_CLASS);\r\n this._$bottomShield = (0, _renderer.default)(\"<div>\").addClass(SWITCHABLE_DELETE_BOTTOM_SHIELD_CLASS);\r\n this._$itemContentShield = (0, _renderer.default)(\"<div>\").addClass(SWITCHABLE_DELETE_ITEM_CONTENT_SHIELD_CLASS);\r\n _events_engine.default.on(this._$topShield, POINTER_DOWN_EVENT_NAME, this._cancelDeleteReadyItem.bind(this));\r\n _events_engine.default.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 = (0, _size.getOuterHeight)($list);\r\n var itemTopOffset = $itemElement.offset().top;\r\n var itemHeight = (0, _size.getOuterHeight)($itemElement);\r\n var dirtyTopShieldHeight = itemTopOffset - listTopOffset;\r\n var dirtyBottomShieldHeight = listHeight - itemHeight - dirtyTopShieldHeight;\r\n (0, _size.setHeight)(this._$topShield, Math.max(dirtyTopShieldHeight, 0));\r\n (0, _size.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 _events_engine.default.off($itemElement, _pointer.default.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 _events_engine.default.on($itemElement, ACTIVE_EVENT_NAME, _common.noop);\r\n _events_engine.default.one($itemElement, _pointer.default.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 _events_engine.default.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\nvar _default = SwitchableEditDecorator;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/list/ui.list.edit.decorator.switchable.slide.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _size = require(\"../../core/utils/size\");\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _click = require(\"../../events/click\");\r\nvar _message = _interopRequireDefault(require(\"../../localization/message\"));\r\nvar _translator = require(\"../../animation/translator\");\r\nvar _index = require(\"../../events/utils/index\");\r\nvar _emitter = require(\"../../events/core/emitter.feedback\");\r\nvar _uiListEdit = _interopRequireDefault(require(\"./ui.list.edit.decorator_menu_helper\"));\r\nvar _uiListEdit2 = require(\"./ui.list.edit.decorator_registry\");\r\nvar _uiListEditDecorator = _interopRequireDefault(require(\"./ui.list.edit.decorator.switchable\"));\r\nvar _fx = _interopRequireDefault(require(\"../../animation/fx\"));\r\nvar _themes = require(\"../themes\");\r\nvar _action_sheet = _interopRequireDefault(require(\"../action_sheet\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar LIST_EDIT_DECORATOR = \"dxListEditDecorator\";\r\nvar CLICK_EVENT_NAME = (0, _index.addNamespace)(_click.name, LIST_EDIT_DECORATOR);\r\nvar ACTIVE_EVENT_NAME = (0, _index.addNamespace)(_emitter.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\n(0, _uiListEdit2.register)(\"menu\", \"slide\", _uiListEditDecorator.default.inherit({\r\n _shouldHandleSwipe: true,\r\n _init: function() {\r\n this.callBase.apply(this, arguments);\r\n this._$buttonsContainer = (0, _renderer.default)(\"<div>\").addClass(SLIDE_MENU_BUTTONS_CONTAINER_CLASS);\r\n _events_engine.default.on(this._$buttonsContainer, ACTIVE_EVENT_NAME, _common.noop);\r\n this._$buttons = (0, _renderer.default)(\"<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 = (0, _renderer.default)(\"<div>\").addClass(SLIDE_MENU_CLASS);\r\n this._menu = this._list._createComponent($menu, _action_sheet.default, {\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(_message.default.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 = (0, _renderer.default)(\"<div>\").addClass(SLIDE_MENU_BUTTON_CLASS).addClass(SLIDE_MENU_BUTTON_MENU_CLASS).text(text);\r\n this._$buttons.append($menuButton);\r\n _events_engine.default.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 = (0, _renderer.default)(\"<div>\").addClass(SLIDE_MENU_BUTTON_CLASS).addClass(SLIDE_MENU_BUTTON_DELETE_CLASS).text((0, _themes.isMaterial)() ? \"\" : _message.default.format(\"dxListEditDecorator-delete\"));\r\n _events_engine.default.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((0, _renderer.default)(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 = (0, _renderer.default)(\"<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 ((0, _renderer.default)(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: (0, _translator.locate)(this._$cachedContent).left,\r\n buttonsContainer: (0, _translator.locate)(this._$buttonsContainer).left,\r\n buttons: (0, _translator.locate)(this._$buttons).left\r\n }\r\n },\r\n _setPositions: function(positions) {\r\n (0, _translator.move)(this._$cachedContent, {\r\n left: positions.content\r\n });\r\n (0, _translator.move)(this._$buttonsContainer, {\r\n left: positions.buttonsContainer\r\n });\r\n (0, _translator.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 = (0, _size.getOuterWidth)($itemElement);\r\n this._cachedButtonWidth = this._cachedButtonWidth || (0, _size.getOuterWidth)(this._$buttons);\r\n (0, _size.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.default.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.default.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(_uiListEdit.default));\r\n","/**\r\n * DevExtreme (cjs/ui/list/ui.list.edit.decorator_menu_helper.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\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\nvar _default = EditDecoratorMenuHelperMixin;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/list/ui.list.edit.decorator_registry.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.register = register;\r\nexports.registry = void 0;\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar registry = {};\r\nexports.registry = registry;\r\n\r\nfunction 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 (0, _extend.extend)(decoratorsRegistry, decoratorConfig)\r\n}\r\n","/**\r\n * DevExtreme (cjs/ui/list/ui.list.edit.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _index = require(\"../../events/utils/index\");\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _uiListEditStrategy = _interopRequireDefault(require(\"./ui.list.edit.strategy.grouped\"));\r\nvar _message = _interopRequireDefault(require(\"../../localization/message\"));\r\nvar _uiListEdit = _interopRequireDefault(require(\"./ui.list.edit.provider\"));\r\nvar _uiList = require(\"./ui.list.base\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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 = _uiList.ListBase.inherit({\r\n _supportedKeys: function() {\r\n var _this = this;\r\n var that = this;\r\n var parent = this.callBase();\r\n var moveFocusedItem = function(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 (0, _extend.extend)({}, parent, {\r\n del: function(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: function(e) {\r\n return moveFocusedItem(e, true)\r\n },\r\n downArrow: function(e) {\r\n return moveFocusedItem(e)\r\n },\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: function() {\r\n this._editProvider.afterItemsRendered();\r\n this.callBase()\r\n },\r\n _getLastItemIndex: function() {\r\n return this._itemElements().length - 1\r\n },\r\n _refreshItemElements: function() {\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: function() {\r\n return (0, _extend.extend)(this.callBase(), {\r\n showSelectionControls: false,\r\n selectionMode: \"none\",\r\n selectAllMode: \"page\",\r\n onSelectAllValueChanged: null,\r\n selectAllText: _message.default.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: function() {\r\n return this.callBase().concat([{\r\n device: function(_device) {\r\n return \"ios\" === _device.platform\r\n },\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: function() {\r\n this.callBase();\r\n this._initEditProvider()\r\n },\r\n _initDataSource: function() {\r\n this.callBase();\r\n if (!this._isPageSelectAll()) {\r\n this._dataSource && this._dataSource.requireTotalCount(true)\r\n }\r\n },\r\n _isPageSelectAll: function() {\r\n return \"page\" === this.option(\"selectAllMode\")\r\n },\r\n _initEditProvider: function() {\r\n this._editProvider = new _uiListEdit.default(this)\r\n },\r\n _disposeEditProvider: function() {\r\n if (this._editProvider) {\r\n this._editProvider.dispose()\r\n }\r\n },\r\n _refreshEditProvider: function() {\r\n this._disposeEditProvider();\r\n this._initEditProvider()\r\n },\r\n _initEditStrategy: function() {\r\n if (this.option(\"grouped\")) {\r\n this._editStrategy = new _uiListEditStrategy.default(this)\r\n } else {\r\n this.callBase()\r\n }\r\n },\r\n _initMarkup: function() {\r\n this._refreshEditProvider();\r\n this.callBase()\r\n },\r\n _renderItems: function() {\r\n this.callBase.apply(this, arguments);\r\n this._editProvider.afterItemsRendered()\r\n },\r\n _selectedItemClass: function() {\r\n return LIST_ITEM_SELECTED_CLASS\r\n },\r\n _itemResponseWaitClass: function() {\r\n return LIST_ITEM_RESPONSE_WAIT_CLASS\r\n },\r\n _itemClickHandler: function(e) {\r\n var $itemElement = (0, _renderer.default)(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.apply(this, arguments)\r\n },\r\n _shouldFireContextMenuEvent: function() {\r\n return this.callBase.apply(this, arguments) || this._editProvider.contextMenuHandlerExists()\r\n },\r\n _itemHoldHandler: function(e) {\r\n var $itemElement = (0, _renderer.default)(e.currentTarget);\r\n if ($itemElement.is(\".dx-state-disabled, .dx-state-disabled *\")) {\r\n return\r\n }\r\n var handledByEditProvider = (0, _index.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.apply(this, 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: function(e) {\r\n var $itemElement = (0, _renderer.default)(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.apply(this, arguments)\r\n },\r\n _postprocessRenderItem: function(args) {\r\n this.callBase.apply(this, arguments);\r\n this._editProvider.modifyItemElement(args)\r\n },\r\n _clean: function() {\r\n this._disposeEditProvider();\r\n this.callBase()\r\n },\r\n focusListItem: function(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: function(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: function() {\r\n return this._selection.selectAll(this._isPageSelectAll())\r\n },\r\n unselectAll: function() {\r\n return this._selection.deselectAll(this._isPageSelectAll())\r\n },\r\n isSelectAll: function() {\r\n return this._selection.getSelectAllState(this._isPageSelectAll())\r\n },\r\n getFlatIndexByItemElement: function(itemElement) {\r\n return this._itemElements().index(itemElement)\r\n },\r\n getItemElementByFlatIndex: function(flatIndex) {\r\n var $itemElements = this._itemElements();\r\n if (flatIndex < 0 || flatIndex >= $itemElements.length) {\r\n return (0, _renderer.default)()\r\n }\r\n return $itemElements.eq(flatIndex)\r\n },\r\n getItemByIndex: function(index) {\r\n return this._editStrategy.getItemDataByIndex(index)\r\n }\r\n});\r\nvar _default = ListEdit;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/list/ui.list.edit.provider.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _class = _interopRequireDefault(require(\"../../core/class\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _ui = _interopRequireDefault(require(\"../widget/ui.errors\"));\r\nvar _uiListEdit = require(\"./ui.list.edit.decorator_registry\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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.default.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 (0, _iterator.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 (0, _iterator.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 = _uiListEdit.registry[type]) || void 0 === _registry$type ? void 0 : _registry$type[subType];\r\n if (!foundDecorator) {\r\n throw _ui.default.Error(\"E1012\", type, subType)\r\n }\r\n return foundDecorator\r\n },\r\n modifyItemElement: function(args) {\r\n var $itemElement = (0, _renderer.default)(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 = (0, _renderer.default)(\"<div>\");\r\n (0, _iterator.each)(this._decorators, (function() {\r\n var $container = (0, _renderer.default)(\"<div>\").addClass(containerClass);\r\n this[method]((0, _extend.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 (0, _iterator.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] !== _common.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\nvar _default = EditProvider;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/list/ui.list.edit.search.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _uiList = _interopRequireDefault(require(\"./ui.list.edit\"));\r\nvar _ui = _interopRequireDefault(require(\"../widget/ui.search_box_mixin\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar ListSearch = _uiList.default.inherit(_ui.default).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(_ui.default.getOperationBySearchMode(mode));\r\n expr && dataController.searchExpr(expr)\r\n }\r\n});\r\nvar _default = ListSearch;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/list/ui.list.edit.strategy.grouped.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _store_helper = _interopRequireDefault(require(\"../../data/store_helper\"));\r\nvar _query = _interopRequireDefault(require(\"../../data/query\"));\r\nvar _uiCollection_widgetEditStrategy = _interopRequireDefault(require(\"../collection/ui.collection_widget.edit.strategy.plain\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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 = _uiCollection_widgetEditStrategy.default.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 }(0, _iterator.each)(groups, (function(groupIndex, group) {\r\n if (!group.items) {\r\n return false\r\n }(0, _iterator.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 ((0, _type.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 (0, _iterator.each)(groups, (function(groupIndex, group) {\r\n if (!group.items) {\r\n return\r\n }(0, _iterator.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 _store_helper.default.queryByOptions((0, _query.default)(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 _this = this;\r\n var result = [];\r\n var groups = this._getGroups(items);\r\n var groupItemByKeyMap = {};\r\n (0, _iterator.each)(keys, (function(_, key) {\r\n var itemMeta = function(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 }(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 && (0, _type.isNumeric)(index.group) && (0, _type.isNumeric)(index.item)\r\n },\r\n _getNormalizedItemIndex: function(itemElement) {\r\n var $item = (0, _renderer.default)(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\nvar _default = GroupedEditStrategy;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/list_light.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _uiListEdit = _interopRequireDefault(require(\"./list/ui.list.edit.search\"));\r\nvar _component_registrator = _interopRequireDefault(require(\"../core/component_registrator\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}(0, _component_registrator.default)(\"dxList\", _uiListEdit.default);\r\nvar _default = _uiListEdit.default;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/load_indicator.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _size = require(\"../core/utils/size\");\r\nvar _renderer = _interopRequireDefault(require(\"../core/renderer\"));\r\nvar _window = require(\"../core/utils/window\");\r\nvar _support = require(\"../core/utils/support\");\r\nvar _themes = require(\"./themes\");\r\nvar _extend = require(\"../core/utils/extend\");\r\nvar _devices = _interopRequireDefault(require(\"../core/devices\"));\r\nvar _component_registrator = _interopRequireDefault(require(\"../core/component_registrator\"));\r\nvar _ui = _interopRequireDefault(require(\"./widget/ui.widget\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar navigator = (0, _window.getNavigator)();\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 = _ui.default.inherit({\r\n _getDefaultOptions: function() {\r\n return (0, _extend.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 = (0, _themes.current)();\r\n return this.callBase().concat([{\r\n device: function() {\r\n var realDevice = _devices.default.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 (0, _themes.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 (0, _themes.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 = (0, _renderer.default)(\"<div>\").addClass(LOADINDICATOR_WRAPPER_CLASS);\r\n this.$element().append(this._$wrapper)\r\n },\r\n _renderIndicatorContent: function() {\r\n this._$content = (0, _renderer.default)(\"<div>\").addClass(LOADINDICATOR_CONTENT_CLASS);\r\n this._$wrapper.append(this._$content)\r\n },\r\n _renderMarkup: function() {\r\n if ((0, _support.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 = (0, _renderer.default)(\"<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 = (0, _renderer.default)(\"<div>\").addClass(LOADINDICATOR_SEGMENT_CLASS).addClass(LOADINDICATOR_SEGMENT_CLASS + i);\r\n if (animatingSegmentInner) {\r\n $segment.append((0, _renderer.default)(\"<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 = (0, _size.getWidth)(this.$element());\r\n height = (0, _size.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\n(0, _component_registrator.default)(\"dxLoadIndicator\", LoadIndicator);\r\nvar _default = LoadIndicator;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/load_panel.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../core/renderer\"));\r\nvar _common = require(\"../core/utils/common\");\r\nvar _message = _interopRequireDefault(require(\"../localization/message\"));\r\nvar _component_registrator = _interopRequireDefault(require(\"../core/component_registrator\"));\r\nvar _extend = require(\"../core/utils/extend\");\r\nvar _load_indicator = _interopRequireDefault(require(\"./load_indicator\"));\r\nvar _ui = _interopRequireDefault(require(\"./overlay/ui.overlay\"));\r\nvar _deferred = require(\"../core/utils/deferred\");\r\nvar _themes = require(\"./themes\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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 = _ui.default.inherit({\r\n _supportedKeys: function() {\r\n return (0, _extend.extend)(this.callBase(), {\r\n escape: _common.noop\r\n })\r\n },\r\n _getDefaultOptions: function() {\r\n return (0, _extend.extend)(this.callBase(), {\r\n message: _message.default.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 preventScrollEvents: false\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 (0, _themes.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 = (0, _renderer.default)(\"<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.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 = (0, _renderer.default)(\"<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 = (0, _renderer.default)(\"<div>\").addClass(LOADPANEL_INDICATOR_CLASS).appendTo(this._$loadPanelContentWrapper)\r\n }\r\n this._createComponent(this._$indicator, _load_indicator.default, {\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\n(0, _component_registrator.default)(\"dxLoadPanel\", LoadPanel);\r\nvar _default = LoadPanel;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/lookup.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _size = require(\"../core/utils/size\");\r\nvar _renderer = _interopRequireDefault(require(\"../core/renderer\"));\r\nvar _events_engine = _interopRequireDefault(require(\"../events/core/events_engine\"));\r\nvar _window = require(\"../core/utils/window\");\r\nvar _support = require(\"../core/utils/support\");\r\nvar _common = require(\"../core/utils/common\");\r\nvar _element = require(\"../core/element\");\r\nvar _iterator = require(\"../core/utils/iterator\");\r\nvar _extend = require(\"../core/utils/extend\");\r\nvar _utils = require(\"../core/options/utils\");\r\nvar _message = _interopRequireDefault(require(\"../localization/message\"));\r\nvar _devices = _interopRequireDefault(require(\"../core/devices\"));\r\nvar _component_registrator = _interopRequireDefault(require(\"../core/component_registrator\"));\r\nvar _index = require(\"../events/utils/index\");\r\nvar _ui = _interopRequireDefault(require(\"./drop_down_editor/ui.drop_down_list\"));\r\nvar _themes = require(\"./themes\");\r\nvar _click = require(\"../events/click\");\r\nvar _ui2 = _interopRequireDefault(require(\"./popover/ui.popover\"));\r\nvar _text_box = _interopRequireDefault(require(\"./text_box\"));\r\nvar _child_default_template = require(\"../core/templates/child_default_template\");\r\nvar _translator = require(\"../animation/translator\");\r\nvar _type = require(\"../core/utils/type\");\r\nvar _utils2 = require(\"./drop_down_editor/utils\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar window = (0, _window.getWindow)();\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 = _ui.default.inherit({\r\n _supportedKeys: function() {\r\n return (0, _extend.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 = function(side) {\r\n var size;\r\n if (\"phone\" === _devices.default.real().deviceType && window.visualViewport) {\r\n size = window.visualViewport[side]\r\n } else {\r\n size = \"width\" === side ? (0, _size.getWidth)(window) : (0, _size.getHeight)(window)\r\n }\r\n return size * WINDOW_RATIO\r\n };\r\n return (0, _extend.extend)(this.callBase(), {\r\n placeholder: _message.default.format(\"Select\"),\r\n searchPlaceholder: _message.default.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: _message.default.format(\"Clear\"),\r\n applyButtonText: _message.default.format(\"OK\"),\r\n pullRefreshEnabled: false,\r\n useNativeScrolling: true,\r\n pullingDownText: _message.default.format(\"dxList-pullingDownText\"),\r\n pulledDownText: _message.default.format(\"dxList-pulledDownText\"),\r\n refreshingText: _message.default.format(\"dxList-refreshingText\"),\r\n pageLoadingText: _message.default.format(\"dxList-pageLoadingText\"),\r\n onScroll: null,\r\n onPullRefresh: null,\r\n onPageLoading: null,\r\n pageLoadMode: \"scrollBottom\",\r\n nextButtonText: _message.default.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: function() {\r\n this.callBase();\r\n (0, _extend.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 _this = this;\r\n var themeName = (0, _themes.current)();\r\n return this.callBase().concat([{\r\n device: function() {\r\n return !_support.nativeScrolling\r\n },\r\n options: {\r\n useNativeScrolling: false\r\n }\r\n }, {\r\n device: function(_device) {\r\n return !_devices.default.isSimulator() && \"desktop\" === _devices.default.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((0, _size.getWidth)(window), (0, _size.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.default.real().deviceType && !_devices.default.isSimulator()\r\n },\r\n options: {\r\n focusStateEnabled: true\r\n }\r\n }, {\r\n device: function() {\r\n return (0, _themes.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: function() {\r\n return (0, _utils2.getElementWidth)(_this.$element())\r\n },\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: function() {\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 _child_default_template.ChildDefaultTemplate(\"group\"),\r\n title: new _child_default_template.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 (0, _extend.extend)(this.callBase(), {\r\n paginate: true\r\n })\r\n },\r\n _fireContentReadyAction: _common.noop,\r\n _popupWrapperClass: function() {\r\n return \"\"\r\n },\r\n _renderInput: function() {\r\n var _this2 = this;\r\n var fieldClickAction = this._createAction((function() {\r\n _this2._toggleOpenState()\r\n }));\r\n this._$field = (0, _renderer.default)(\"<div>\").addClass(LOOKUP_FIELD_CLASS);\r\n this._applyInputAttributes(this.option(\"inputAttr\"));\r\n _events_engine.default.on(this._$field, (0, _index.addNamespace)(_click.name, this.NAME), (function(e) {\r\n fieldClickAction({\r\n event: e\r\n })\r\n }));\r\n var $arrow = (0, _renderer.default)(\"<div>\").addClass(LOOKUP_ARROW_CLASS);\r\n this._$fieldWrapper = (0, _renderer.default)(\"<div>\").addClass(LOOKUP_FIELD_WRAPPER_CLASS).append(this._$field).append($arrow).appendTo(this.$element())\r\n },\r\n _applyInputAttributes: function(attributes) {\r\n this._$field.attr(attributes)\r\n },\r\n _getInputContainer: function() {\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 = (0, _type.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: (0, _element.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 = (0, _renderer.default)(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 - (0, _renderer.default)(this.element()).offset().top\r\n },\r\n _isCenteringEnabled: function(index, count) {\r\n return 1 < index && index < count - 2\r\n },\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 = (0, _renderer.default)(this._list.element()).find(\".\" + LIST_ITEM_SELECTED_CLASS);\r\n var selectedIndex = this._listItemElements().index(selectedListItem);\r\n var differenceOfHeights = ((0, _size.getHeight)(selectedListItem) - (0, _size.getHeight)(this.element())) / 2;\r\n var lookupOffset = (0, _renderer.default)(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 = (0, _size.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 - (0, _size.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 - (0, _size.getHeight)(this.element());\r\n if (windowHeight - lookupOffset < offsetBottom) {\r\n this._list.scrollTo(this._list.scrollTop() + differenceOfHeights - offsetBottom);\r\n offsetTop = popupHeight - (0, _size.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 = (0, _renderer.default)(this._popup.$content()).parent();\r\n var popupOffset = this._getPopupOffset();\r\n var position = (0, _translator.locate)(popupContentParent);\r\n (0, _translator.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((function(_, group) {\r\n items.push((0, _renderer.default)(group).find(\".\" + GROUP_LIST_HEADER_CLASS)[0]);\r\n var groupedItems = (0, _renderer.default)(group).find(\".\" + LIST_ITEM_CLASS);\r\n groupedItems.each((function(_, item) {\r\n items.push(item)\r\n }))\r\n }));\r\n return (0, _renderer.default)(items)\r\n },\r\n _calculateListHeight: function(grouped) {\r\n var listItems = grouped ? this._listItemGroupedElements() : this._listItemElements();\r\n var selectedListItem = (0, _renderer.default)(\".\" + 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((function(_, item) {\r\n listHeight += (0, _size.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((function(_, item) {\r\n listHeight += (0, _size.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 ? (0, _size.getOuterHeight)(this._$searchWrapper) : 0) + (this._popup._$bottom ? (0, _size.getOuterHeight)(this._popup._$bottom) : 0) + (this._popup._$title ? (0, _size.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, _ui2.default, (0, _extend.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 (0, _size.getOuterWidth)(this.$element())\r\n }.bind(this) : this._popupConfig().width\r\n }));\r\n this._popup.$overlayContent().attr(\"role\", \"dialog\");\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 (0, _translator.resetPosition)((0, _renderer.default)(this._popup.content()).parent())\r\n }\r\n },\r\n _preventFocusOnPopup: _common.noop,\r\n _popupConfig: function() {\r\n var _this3 = this;\r\n var result = (0, _extend.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 }(0, _iterator.each)([\"position\", \"animation\", \"width\", \"height\"], (function(_, optionName) {\r\n var popupOptionValue = _this3.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 var _this4 = this;\r\n return this.option(\"showCancelButton\") ? {\r\n shortcut: \"cancel\",\r\n onClick: this._cancelButtonHandler.bind(this),\r\n options: {\r\n onInitialized: function(e) {\r\n e.component.registerKeyHandler(\"escape\", _this4.close.bind(_this4))\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\", (0, _size.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: _common.noop,\r\n _renderSearch: function() {\r\n var _this5 = this;\r\n var isSearchEnabled = this.option(\"searchEnabled\");\r\n this._toggleSearchClass(isSearchEnabled);\r\n if (isSearchEnabled) {\r\n var $searchWrapper = this._$searchWrapper = (0, _renderer.default)(\"<div>\").addClass(LOOKUP_SEARCH_WRAPPER_CLASS);\r\n var $searchBox = this._$searchBox = (0, _renderer.default)(\"<div>\").addClass(LOOKUP_SEARCH_CLASS).appendTo($searchWrapper);\r\n var currentDevice = _devices.default.current();\r\n var searchMode = currentDevice.android ? \"text\" : \"search\";\r\n var isKeyboardListeningEnabled = false;\r\n var textBoxOptions = {\r\n mode: searchMode,\r\n showClearButton: true,\r\n valueChangeEvent: this.option(\"searchStartEvent\"),\r\n inputAttr: {\r\n \"aria-label\": \"Search\"\r\n },\r\n onDisposing: function() {\r\n return isKeyboardListeningEnabled = false\r\n },\r\n onFocusIn: function() {\r\n return isKeyboardListeningEnabled = true\r\n },\r\n onFocusOut: function() {\r\n return isKeyboardListeningEnabled = false\r\n },\r\n onKeyboardHandled: function(opts) {\r\n return isKeyboardListeningEnabled && _this5._list._keyboardHandler(opts)\r\n },\r\n onValueChanged: function(e) {\r\n return _this5._searchHandler(e)\r\n }\r\n };\r\n this._searchBox = this._createComponent($searchBox, _text_box.default, textBoxOptions);\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 = (0, _renderer.default)(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\", _common.noop);\r\n this._searchBox.registerKeyHandler(\"home\", _common.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 === _message.default.format(\"Search\")) {\r\n placeholder = _message.default.getFormatter(\"dxLookup-searchPlaceholder\")(minSearchLength)\r\n }\r\n this._searchBox.option(\"placeholder\", placeholder)\r\n },\r\n _setAriaTargetForList: _common.noop,\r\n _renderList: function() {\r\n var _this6 = this;\r\n this.callBase();\r\n this._list.registerKeyHandler(\"escape\", (function() {\r\n _this6.close()\r\n }))\r\n },\r\n _listConfig: function() {\r\n return (0, _extend.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) : _common.noop\r\n },\r\n _listContentReadyHandler: function() {\r\n this.callBase.apply(this, arguments);\r\n this._refreshSelected()\r\n },\r\n _runWithoutCloseOnScroll: function(callback) {\r\n var _this7 = this;\r\n var _this$option = this.option(),\r\n _scrollToSelectedItemEnabled = _this$option._scrollToSelectedItemEnabled;\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((function() {\r\n _this7._popup.option(\"hideOnParentScroll\", hideOnParentScroll)\r\n }))\r\n }\r\n },\r\n _setFocusPolicy: function() {\r\n var _this8 = this;\r\n if (!this.option(\"focusStateEnabled\")) {\r\n return\r\n }\r\n this._runWithoutCloseOnScroll((function() {\r\n if (_this8.option(\"searchEnabled\")) {\r\n _this8._searchBox.focus()\r\n } else {\r\n _this8._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 var _this9 = this;\r\n return this.callBase().always((function() {\r\n _this9._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 name = args.name,\r\n fullName = args.fullName,\r\n value = args.value;\r\n switch (name) {\r\n case \"dataSource\":\r\n this.callBase.apply(this, 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.apply(this, arguments);\r\n break;\r\n case \"inputAttr\":\r\n this._applyInputAttributes(value);\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.apply(this, 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\")[(0, _utils.getFieldName)(fullName)] : value\r\n });\r\n this._options.cache(\"dropDownOptions\", this.option(\"dropDownOptions\"));\r\n break;\r\n default:\r\n this.callBase.apply(this, 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.apply(this, arguments)\r\n }\r\n },\r\n focus: function() {\r\n this.option(\"opened\") ? this._setFocusPolicy() : _events_engine.default.trigger(this._focusTarget(), \"focus\")\r\n },\r\n field: function() {\r\n return this._$field\r\n }\r\n});\r\n(0, _component_registrator.default)(\"dxLookup\", Lookup);\r\nvar _default = Lookup;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/map.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../core/renderer\"));\r\nvar _events_engine = _interopRequireDefault(require(\"../events/core/events_engine\"));\r\nvar _deferred = require(\"../core/utils/deferred\");\r\nvar _component_registrator = _interopRequireDefault(require(\"../core/component_registrator\"));\r\nvar _ui = _interopRequireDefault(require(\"./widget/ui.errors\"));\r\nvar _devices = _interopRequireDefault(require(\"../core/devices\"));\r\nvar _ui2 = _interopRequireDefault(require(\"./widget/ui.widget\"));\r\nvar _inflector = require(\"../core/utils/inflector\");\r\nvar _iterator = require(\"../core/utils/iterator\");\r\nvar _extend = require(\"../core/utils/extend\");\r\nvar _array = require(\"../core/utils/array\");\r\nvar _type = require(\"../core/utils/type\");\r\nvar _index = require(\"../events/utils/index\");\r\nvar _pointer = _interopRequireDefault(require(\"../events/pointer\"));\r\nvar _provider = _interopRequireDefault(require(\"./map/provider.google_static\"));\r\nvar _providerDynamic = _interopRequireDefault(require(\"./map/provider.dynamic.google\"));\r\nvar _providerDynamic2 = _interopRequireDefault(require(\"./map/provider.dynamic.bing\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar PROVIDERS = {\r\n googleStatic: _provider.default,\r\n google: _providerDynamic.default,\r\n bing: _providerDynamic2.default\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 = _ui2.default.inherit({\r\n _getDefaultOptions: function() {\r\n return (0, _extend.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.default.real().deviceType && !_devices.default.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 _ui.default.Error(\"E1022\")\r\n }\r\n if (\"routes\" === option && !Array.isArray(value)) {\r\n throw _ui.default.Error(\"E1023\")\r\n }\r\n },\r\n _initContainer: function() {\r\n this._$container = (0, _renderer.default)(\"<div>\").addClass(MAP_CONTAINER_CLASS);\r\n this.$element().append(this._$container)\r\n },\r\n _grabEvents: function() {\r\n var eventName = (0, _index.addNamespace)(_pointer.default.down, this.NAME);\r\n _events_engine.default.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 = (0, _renderer.default)(\"<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 _ui.default.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\" + (0, _inflector.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 = (0, _array.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 = (0, _array.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 = (0, _array.wrapToArray)(removingValue);\r\n (0, _iterator.each)(removingValues, (function(removingIndex, removingValue) {\r\n var index = (0, _type.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 _ui.default.log(\"E1021\", (0, _inflector.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 (0, _deferred.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\n(0, _component_registrator.default)(\"dxMap\", Map);\r\nvar _default = Map;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/map/provider.dynamic.bing.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _size = require(\"../../core/utils/size\");\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _window = require(\"../../core/utils/window\");\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _ui = _interopRequireDefault(require(\"../widget/ui.errors\"));\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _provider = _interopRequireDefault(require(\"./provider.dynamic\"));\r\nvar _color = _interopRequireDefault(require(\"../../color\"));\r\nvar _ajax = _interopRequireDefault(require(\"../../core/utils/ajax\"));\r\nvar _type = require(\"../../core/utils/type\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar window = (0, _window.getWindow)();\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 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 = _provider.default.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 (!(0, _type.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.default.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\"),\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: (0, _size.getWidth)($container),\r\n height: (0, _size.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 (0, _extend.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 || _common.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((0, _iterator.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.default(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 (0, _iterator.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 _ui.default.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\nvar _default = BingProvider;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/map/provider.dynamic.google.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _window = require(\"../../core/utils/window\");\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _devices = _interopRequireDefault(require(\"../../core/devices\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _provider = _interopRequireDefault(require(\"./provider.dynamic\"));\r\nvar _ui = _interopRequireDefault(require(\"../widget/ui.errors\"));\r\nvar _color = _interopRequireDefault(require(\"../../color\"));\r\nvar _ajax = _interopRequireDefault(require(\"../../core/utils/ajax\"));\r\nvar _type = require(\"../../core/utils/type\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar window = (0, _window.getWindow)();\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 = (0, _renderer.default)(\"<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 = (0, _renderer.default)(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 = _provider.default.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 (!(0, _type.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 _ui.default.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.default.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 = (0, _renderer.default)(e.target).closest(\".\".concat(INFO_WINDOW_CLASS)).length > 0;\r\n if (isInfoWindowContent || \"desktop\" !== _devices.default.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: (0, _extend.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 || _common.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((0, _iterator.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 = (0, _iterator.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.default(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 _ui.default.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\nvar _default = GoogleProvider;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/map/provider.dynamic.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _provider = _interopRequireDefault(require(\"./provider\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar abstract = _provider.default.abstract;\r\nvar DynamicProvider = _provider.default.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((0, _iterator.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, (0, _iterator.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((0, _extend.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 (0, _iterator.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 (0, _iterator.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((0, _iterator.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, (0, _iterator.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((0, _extend.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 (0, _iterator.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 (0, _iterator.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 }(0, _iterator.each)(this._markers, (function(_, markerObject) {\r\n that._extendBounds(markerObject.location)\r\n }));\r\n (0, _iterator.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\nvar _default = DynamicProvider;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/map/provider.google_static.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _size = require(\"../../core/utils/size\");\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _provider = _interopRequireDefault(require(\"./provider\"));\r\nvar _color = _interopRequireDefault(require(\"../../color\"));\r\nvar _click = require(\"../../events/click\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar GOOGLE_STATIC_URL = \"https://maps.google.com/maps/api/staticmap?\";\r\nvar GoogleStaticProvider = _provider.default.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 (0, _iterator.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 (0, _iterator.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 (0, _iterator.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 (0, _iterator.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 _events_engine.default.off(this._$container, this._addEventNamespace(_click.name));\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((0, _size.getWidth)($container)) + \"x\" + Math.round((0, _size.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 }(0, _iterator.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 (0, _iterator.each)(this._option(\"routes\"), (function(_, route) {\r\n var color = new _color.default(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 (0, _iterator.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(_click.name);\r\n _events_engine.default.off(this._$container, eventName);\r\n _events_engine.default.on(this._$container, eventName, (function(e) {\r\n that._fireClickAction({\r\n event: e\r\n })\r\n }))\r\n }\r\n});\r\nvar _default = GoogleStaticProvider;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/map/provider.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _class = _interopRequireDefault(require(\"../../core/class\"));\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _index = require(\"../../events/utils/index\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar abstract = _class.default.abstract;\r\nvar Provider = _class.default.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 = (0, _iterator.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 ((0, _type.isPlainObject)(location) && (0, _type.isNumeric)(location.lat) && (0, _type.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 (0, _index.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\nvar _default = Provider;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/menu.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _ui = _interopRequireDefault(require(\"./menu/ui.menu\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar _default = _ui.default;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/menu/ui.menu.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _size = require(\"../../core/utils/size\");\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _component_registrator = _interopRequireDefault(require(\"../../core/component_registrator\"));\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _element = require(\"../../core/element\");\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _utils = require(\"../overlay/utils\");\r\nvar _index = require(\"../../events/utils/index\");\r\nvar _pointer = _interopRequireDefault(require(\"../../events/pointer\"));\r\nvar _hover = require(\"../../events/hover\");\r\nvar _ui = _interopRequireDefault(require(\"../context_menu/ui.menu_base\"));\r\nvar _ui2 = _interopRequireDefault(require(\"../overlay/ui.overlay\"));\r\nvar _ui3 = _interopRequireDefault(require(\"./ui.submenu\"));\r\nvar _button = _interopRequireDefault(require(\"../button\"));\r\nvar _tree_view = _interopRequireDefault(require(\"../tree_view\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\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\nvar Menu = function(_MenuBase) {\r\n _inheritsLoose(Menu, _MenuBase);\r\n\r\n function Menu() {\r\n return _MenuBase.apply(this, arguments) || this\r\n }\r\n var _proto = Menu.prototype;\r\n _proto._getDefaultOptions = function() {\r\n return (0, _extend.extend)(_MenuBase.prototype._getDefaultOptions.call(this), {\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 _proto._setOptionsByReference = function() {\r\n _MenuBase.prototype._setOptionsByReference.call(this);\r\n (0, _extend.extend)(this._optionsByReference, {\r\n animation: true,\r\n selectedItem: true\r\n })\r\n };\r\n _proto._itemElements = function() {\r\n var rootMenuElements = _MenuBase.prototype._itemElements.call(this);\r\n var submenuElements = this._submenuItemElements();\r\n return rootMenuElements.add(submenuElements)\r\n };\r\n _proto._submenuItemElements = function() {\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 _proto._focusTarget = function() {\r\n return this.$element()\r\n };\r\n _proto._isMenuHorizontal = function() {\r\n return \"horizontal\" === this.option(\"orientation\")\r\n };\r\n _proto._moveFocus = function(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 _MenuBase.prototype._moveFocus.call(this, location)\r\n }\r\n if ($newTarget && 0 !== $newTarget.length) {\r\n this.option(\"focusedElement\", (0, _element.getPublicElement)($newTarget))\r\n }\r\n };\r\n _proto._getItemsNavigationOperation = function(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 _proto._getKeyboardNavigationAction = function(operation, argument) {\r\n var action = _common.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 _proto._clean = function() {\r\n _MenuBase.prototype._clean.call(this);\r\n this.option(\"templatesRenderAsynchronously\") && clearTimeout(this._resizeEventTimer)\r\n };\r\n _proto._visibilityChanged = function(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 _proto._isAdaptivityEnabled = function() {\r\n return this.option(\"adaptivityEnabled\") && \"horizontal\" === this.option(\"orientation\")\r\n };\r\n _proto._updateItemsWidthCache = function() {\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 _proto._dimensionChanged = function() {\r\n if (!this._isAdaptivityEnabled()) {\r\n return\r\n }\r\n var containerWidth = (0, _size.getOuterWidth)(this.$element());\r\n this._toggleAdaptiveMode(this._menuItemsWidth > containerWidth)\r\n };\r\n _proto._init = function() {\r\n _MenuBase.prototype._init.call(this);\r\n this._submenus = []\r\n };\r\n _proto._initActions = function() {\r\n var _this = this;\r\n this._actions = {};\r\n (0, _iterator.each)(ACTIONS, (function(index, action) {\r\n _this._actions[action] = _this._createActionByOption(action)\r\n }))\r\n };\r\n _proto._initMarkup = function() {\r\n this._visibleSubmenu = null;\r\n this.$element().addClass(DX_MENU_CLASS);\r\n _MenuBase.prototype._initMarkup.call(this);\r\n this._addCustomCssClass(this.$element());\r\n this.setAria(\"role\", \"menubar\")\r\n };\r\n _proto._render = function() {\r\n _MenuBase.prototype._render.call(this);\r\n this._initAdaptivity()\r\n };\r\n _proto._renderHamburgerButton = function() {\r\n this._hamburger = new _button.default((0, _renderer.default)(\"<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 _proto._toggleTreeView = function(state) {\r\n if ((0, _type.isPlainObject)(state)) {\r\n state = !this._overlay.option(\"visible\")\r\n }\r\n this._overlay.option(\"visible\", state);\r\n this._toggleHamburgerActiveState(state)\r\n };\r\n _proto._toggleHamburgerActiveState = function(state) {\r\n this._hamburger && this._hamburger.$element().toggleClass(DX_STATE_ACTIVE_CLASS, state)\r\n };\r\n _proto._toggleAdaptiveMode = function(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 _proto._removeAdaptivity = function() {\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 _proto._treeviewItemClickHandler = function(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 _proto._getAdaptiveOverlayOptions = function() {\r\n var _this2 = this;\r\n var rtl = this.option(\"rtlEnabled\");\r\n var position = rtl ? \"right\" : \"left\";\r\n return {\r\n _ignoreFunctionValueDeprecation: true,\r\n maxHeight: function() {\r\n return (0, _utils.getElementMaxHeightByWindow)(_this2.$element())\r\n },\r\n deferRendering: false,\r\n shading: false,\r\n animation: false,\r\n hideOnParentScroll: true,\r\n onHidden: function() {\r\n _this2._toggleHamburgerActiveState(false)\r\n },\r\n height: \"auto\",\r\n hideOnOutsideClick: function(e) {\r\n return !(0, _renderer.default)(e.target).closest(\".\".concat(DX_ADAPTIVE_HAMBURGER_BUTTON_CLASS)).length\r\n },\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 _proto._getTreeViewOptions = function() {\r\n var _this3 = this;\r\n var menuOptions = {};\r\n (0, _iterator.each)([\"rtlEnabled\", \"width\", \"accessKey\", \"activeStateEnabled\", \"animation\", \"dataSource\", \"disabled\", \"displayExpr\", \"displayExpr\", \"focusStateEnabled\", \"hint\", \"hoverStateEnabled\", \"itemsExpr\", \"items\", \"itemTemplate\", \"selectedExpr\", \"selectionMode\", \"tabIndex\", \"visible\"], (function(_, option) {\r\n menuOptions[option] = _this3.option(option)\r\n }));\r\n (0, _iterator.each)([\"onItemContextMenu\", \"onSelectionChanged\", \"onItemRendered\"], (function(_, actionName) {\r\n menuOptions[actionName] = function(e) {\r\n _this3._actions[actionName](e)\r\n }\r\n }));\r\n return (0, _extend.extend)(menuOptions, {\r\n dataSource: this.getDataSource(),\r\n animationEnabled: !!this.option(\"animation\"),\r\n onItemClick: this._treeviewItemClickHandler.bind(this),\r\n onItemExpanded: function(e) {\r\n _this3._overlay.repaint();\r\n _this3._actions.onSubmenuShown(e)\r\n },\r\n onItemCollapsed: function(e) {\r\n _this3._overlay.repaint();\r\n _this3._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 _proto._initAdaptivity = function() {\r\n if (!this._isAdaptivityEnabled()) {\r\n return\r\n }\r\n this._$adaptiveContainer = (0, _renderer.default)(\"<div>\").addClass(DX_ADAPTIVE_MODE_CLASS);\r\n var $hamburger = this._renderHamburgerButton();\r\n this._treeView = this._createComponent((0, _renderer.default)(\"<div>\"), _tree_view.default, this._getTreeViewOptions());\r\n this._overlay = this._createComponent((0, _renderer.default)(\"<div>\"), _ui2.default, 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 _proto._getDelay = function(delayType) {\r\n var delay = this.option(\"showFirstSubmenuMode\").delay;\r\n if (!(0, _type.isDefined)(delay)) {\r\n return DEFAULT_DELAY[delayType]\r\n } else {\r\n return (0, _type.isObject)(delay) ? delay[delayType] : delay\r\n }\r\n };\r\n _proto._keyboardHandler = function(e) {\r\n return _MenuBase.prototype._keyboardHandler.call(this, e, !!this._visibleSubmenu)\r\n };\r\n _proto._renderContainer = function() {\r\n var $wrapper = (0, _renderer.default)(\"<div>\");\r\n $wrapper.appendTo(this.$element()).addClass(this._isMenuHorizontal() ? DX_MENU_HORIZONTAL_CLASS : DX_MENU_VERTICAL_CLASS);\r\n return _MenuBase.prototype._renderContainer.call(this, $wrapper)\r\n };\r\n _proto._renderSubmenuItems = function(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 _proto._getKeyboardListeners = function() {\r\n return _MenuBase.prototype._getKeyboardListeners.call(this).concat(this._visibleSubmenu)\r\n };\r\n _proto._createSubmenu = function(node, $rootItem) {\r\n var $submenuContainer = (0, _renderer.default)(\"<div>\").addClass(DX_CONTEXT_MENU_CLASS).appendTo($rootItem);\r\n var items = this._getChildNodes(node);\r\n var subMenu = this._createComponent($submenuContainer, _ui3.default, (0, _extend.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 _proto._getSubmenuOptions = function() {\r\n var _this4 = this;\r\n var $submenuTarget = (0, _renderer.default)(\"<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: function(e) {\r\n if (!e.component.option(\"visible\")) {\r\n return\r\n }\r\n _this4.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 _proto._getShowFirstSubmenuMode = function() {\r\n if (!this._isDesktopDevice()) {\r\n return \"onClick\"\r\n }\r\n var optionValue = this.option(\"showFirstSubmenuMode\");\r\n return (0, _type.isObject)(optionValue) ? optionValue.name : optionValue\r\n };\r\n _proto._moveMainMenuFocus = function(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\", (0, _element.getPublicElement)($newItem))\r\n };\r\n _proto._nestedItemOnSelectionChangedHandler = function(args) {\r\n var selectedItem = args.addedItems.length && args.addedItems[0];\r\n var submenu = _ui3.default.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 _proto._clearSelectionInSubmenus = function(item, targetSubmenu) {\r\n var _this5 = this;\r\n var cleanAllSubmenus = !arguments.length;\r\n (0, _iterator.each)(this._submenus, (function(index, submenu) {\r\n var $submenu = submenu._itemContainer();\r\n var isOtherItem = !$submenu.is(targetSubmenu && targetSubmenu._itemContainer());\r\n var $selectedItem = $submenu.find(\".\".concat(_this5._selectedItemClass()));\r\n if (isOtherItem && $selectedItem.length || cleanAllSubmenus) {\r\n $selectedItem.removeClass(_this5._selectedItemClass());\r\n var selectedItemData = _this5._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 _proto._clearRootSelection = function() {\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 _proto._nestedItemOnItemClickHandler = function(e) {\r\n this._actions.onItemClick(e)\r\n };\r\n _proto._nestedItemOnItemRenderedHandler = function(e) {\r\n this._actions.onItemRendered(e)\r\n };\r\n _proto._attachSubmenuHandlers = function($rootItem, submenu) {\r\n var _this6 = this;\r\n var $submenuOverlayContent = submenu.getOverlayContent();\r\n var submenus = $submenuOverlayContent.find(\".\".concat(DX_SUBMENU_CLASS));\r\n var submenuMouseLeaveName = (0, _index.addNamespace)(_hover.end, 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 (0, _iterator.each)(submenus, (function(index, submenu) {\r\n _events_engine.default.off(submenu, submenuMouseLeaveName);\r\n _events_engine.default.on(submenu, submenuMouseLeaveName, null, _this6._submenuMouseLeaveHandler.bind(_this6, $rootItem))\r\n }))\r\n };\r\n _proto._submenuOnShowingHandler = function($rootItem, submenu) {\r\n var $border = $rootItem.children(\".\".concat(DX_CONTEXT_MENU_CONTAINER_BORDER_CLASS));\r\n this._actions.onSubmenuShowing({\r\n rootItem: (0, _element.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 _proto._submenuOnShownHandler = function($rootItem, submenu) {\r\n this._actions.onSubmenuShown({\r\n rootItem: (0, _element.getPublicElement)($rootItem),\r\n submenu: submenu\r\n })\r\n };\r\n _proto._submenuOnHidingHandler = function($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 = (0, _element.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 _proto._submenuOnHiddenHandler = function($rootItem, submenu) {\r\n this._actions.onSubmenuHidden({\r\n rootItem: (0, _element.getPublicElement)($rootItem),\r\n submenu: submenu\r\n })\r\n };\r\n _proto._submenuMouseLeaveHandler = function($rootItem, eventArgs) {\r\n var target = (0, _renderer.default)(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 _proto._hideSubmenuAfterTimeout = function() {\r\n if (!this._visibleSubmenu) {\r\n return\r\n }\r\n var isRootItemHovered = (0, _renderer.default)(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 _proto._getSubmenuByRootElement = function($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 && _ui3.default.getInstance($submenu)\r\n };\r\n _proto.getSubmenuPosition = function($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 };\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 _proto._renderBorderElement = function($item) {\r\n (0, _renderer.default)(\"<div>\").appendTo($item).addClass(DX_CONTEXT_MENU_CONTAINER_BORDER_CLASS).hide()\r\n };\r\n _proto._itemPointerDownHandler = function(e) {\r\n var $target = (0, _renderer.default)(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 _MenuBase.prototype._itemPointerDownHandler.call(this, e)\r\n };\r\n _proto._hoverStartHandler = function(e) {\r\n var mouseMoveEventName = (0, _index.addNamespace)(_pointer.default.move, this.NAME);\r\n var $item = this._getItemElementByEventArgs(e);\r\n var node = this._dataAdapter.getNodeByItem(this._getItemData($item));\r\n var isSelectionActive = (0, _type.isDefined)(e.buttons) && 1 === e.buttons || !(0, _type.isDefined)(e.buttons) && 1 === e.which;\r\n if (this._isItemDisabled($item)) {\r\n return\r\n }\r\n _events_engine.default.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 _events_engine.default.on($item, mouseMoveEventName, this._itemMouseMoveHandler.bind(this));\r\n this._showSubmenuTimer = this._getDelay(\"hide\")\r\n }\r\n }\r\n };\r\n _proto._hoverEndHandler = function(eventArg) {\r\n var _this7 = this;\r\n var $item = this._getItemElementByEventArgs(eventArg);\r\n var relatedTarget = (0, _renderer.default)(eventArg.relatedTarget);\r\n _MenuBase.prototype._hoverEndHandler.call(this, 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((function() {\r\n _this7._hideSubmenuAfterTimeout()\r\n }), this._getDelay(\"hide\"))\r\n }\r\n };\r\n _proto._hideVisibleSubmenu = function() {\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 _proto._showSubmenu = function($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 _proto._hideSubmenu = function(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 _proto._itemMouseMoveHandler = function(e) {\r\n var _this8 = this;\r\n if (e.pointers && e.pointers.length) {\r\n return\r\n }\r\n var $item = (0, _renderer.default)(e.currentTarget);\r\n if (!(0, _type.isDefined)(this._showSubmenuTimer)) {\r\n return\r\n }\r\n this._clearTimeouts();\r\n this._showSubmenuTimer = setTimeout((function() {\r\n var submenu = _this8._getSubmenuByElement($item);\r\n if (submenu && !submenu.isOverlayVisible()) {\r\n _this8._showSubmenu($item)\r\n }\r\n }), this._getDelay(\"show\"))\r\n };\r\n _proto._clearTimeouts = function() {\r\n clearTimeout(this._hideSubmenuTimer);\r\n clearTimeout(this._showSubmenuTimer)\r\n };\r\n _proto._getSubmenuByElement = function($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 _proto._updateSubmenuVisibilityOnClick = function(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 = (0, _renderer.default)(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 _proto._optionChanged = function(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 _MenuBase.prototype._optionChanged.call(this, 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 _MenuBase.prototype._optionChanged.call(this, 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 _MenuBase.prototype._optionChanged.call(this, args)\r\n }\r\n };\r\n _proto._changeSubmenusOption = function(name, value) {\r\n (0, _iterator.each)(this._submenus, (function(index, submenu) {\r\n submenu.option(name, value)\r\n }))\r\n };\r\n _proto.selectItem = function(itemElement) {\r\n this._hideSubmenu(this._visibleSubmenu);\r\n _MenuBase.prototype.selectItem.call(this, itemElement)\r\n };\r\n _proto.unselectItem = function(itemElement) {\r\n this._hideSubmenu(this._visibleSubmenu);\r\n _MenuBase.prototype.selectItem.call(this, itemElement)\r\n };\r\n return Menu\r\n}(_ui.default);\r\n(0, _component_registrator.default)(\"dxMenu\", Menu);\r\nvar _default = Menu;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/menu/ui.submenu.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _size = require(\"../../core/utils/size\");\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _element = require(\"../../core/element\");\r\nvar _position = _interopRequireDefault(require(\"../../animation/position\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _context_menu = _interopRequireDefault(require(\"../context_menu\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar DX_CONTEXT_MENU_CONTENT_DELIMITER_CLASS = \"dx-context-menu-content-delimiter\";\r\nvar DX_SUBMENU_CLASS = \"dx-submenu\";\r\nvar Submenu = function(_ContextMenu) {\r\n _inheritsLoose(Submenu, _ContextMenu);\r\n\r\n function Submenu() {\r\n return _ContextMenu.apply(this, arguments) || this\r\n }\r\n var _proto = Submenu.prototype;\r\n _proto._getDefaultOptions = function() {\r\n return (0, _extend.extend)(_ContextMenu.prototype._getDefaultOptions.call(this), {\r\n orientation: \"horizontal\",\r\n tabIndex: null,\r\n onHoverStart: _common.noop\r\n })\r\n };\r\n _proto._initDataAdapter = function() {\r\n this._dataAdapter = this.option(\"_dataAdapter\");\r\n if (!this._dataAdapter) {\r\n _ContextMenu.prototype._initDataAdapter.call(this)\r\n }\r\n };\r\n _proto._renderContentImpl = function() {\r\n this._renderContextMenuOverlay();\r\n _ContextMenu.prototype._renderContentImpl.call(this);\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 _proto._renderDelimiter = function() {\r\n this.$contentDelimiter = (0, _renderer.default)(\"<div>\").appendTo(this._itemContainer()).addClass(DX_CONTEXT_MENU_CONTENT_DELIMITER_CLASS)\r\n };\r\n _proto._getOverlayOptions = function() {\r\n return (0, _extend.extend)(_ContextMenu.prototype._getOverlayOptions.call(this), {\r\n onPositioned: this._overlayPositionedActionHandler.bind(this)\r\n })\r\n };\r\n _proto._overlayPositionedActionHandler = function(arg) {\r\n this._showDelimiter(arg)\r\n };\r\n _proto._hoverEndHandler = function(e) {\r\n _ContextMenu.prototype._hoverEndHandler.call(this, e);\r\n this._toggleFocusClass(false, e.currentTarget)\r\n };\r\n _proto._isMenuHorizontal = function() {\r\n return \"horizontal\" === this.option(\"orientation\")\r\n };\r\n _proto._hoverStartHandler = function(e) {\r\n var hoverStartAction = this.option(\"onHoverStart\");\r\n hoverStartAction(e);\r\n _ContextMenu.prototype._hoverStartHandler.call(this, e);\r\n this._toggleFocusClass(true, e.currentTarget)\r\n };\r\n _proto._drawSubmenu = function($rootItem) {\r\n this._actions.onShowing({\r\n rootItem: (0, _element.getPublicElement)($rootItem),\r\n submenu: this\r\n });\r\n _ContextMenu.prototype._drawSubmenu.call(this, $rootItem);\r\n this._actions.onShown({\r\n rootItem: (0, _element.getPublicElement)($rootItem),\r\n submenu: this\r\n })\r\n };\r\n _proto._hideSubmenu = function($rootItem) {\r\n this._actions.onHiding({\r\n cancel: true,\r\n rootItem: (0, _element.getPublicElement)($rootItem),\r\n submenu: this\r\n });\r\n _ContextMenu.prototype._hideSubmenu.call(this, $rootItem);\r\n this._actions.onHidden({\r\n rootItem: (0, _element.getPublicElement)($rootItem),\r\n submenu: this\r\n })\r\n };\r\n _proto._showDelimiter = function(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;\r\n var position = {\r\n of: $submenu\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 = (0, _size.getWidth)($rootItem);\r\n var rootHeight = (0, _size.getHeight)($rootItem);\r\n var submenuWidth = (0, _size.getWidth)($submenu);\r\n var submenuHeight = (0, _size.getHeight)($submenu);\r\n this.$contentDelimiter.css(\"display\", \"block\");\r\n (0, _size.setWidth)(this.$contentDelimiter, this._isMenuHorizontal() ? rootWidth < submenuWidth ? rootWidth - 2 : submenuWidth : 2);\r\n (0, _size.setHeight)(this.$contentDelimiter, this._isMenuHorizontal() ? 2 : rootHeight < submenuHeight ? rootHeight - 2 : submenuHeight);\r\n if (this._isMenuHorizontal()) {\r\n if (vLocation > offsetTop) {\r\n if (Math.round(hLocation) === offsetLeft) {\r\n position.offset = \"1 -1\";\r\n position.at = position.my = \"left top\"\r\n } else {\r\n position.offset = \"-1 -1\";\r\n position.at = position.my = \"right top\"\r\n }\r\n } else {\r\n (0, _size.setHeight)(this.$contentDelimiter, 5);\r\n if (Math.round(hLocation) === offsetLeft) {\r\n position.offset = \"1 4\";\r\n position.at = position.my = \"left bottom\"\r\n } else {\r\n position.offset = \"-1 2\";\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 = \"-1 1\";\r\n position.at = position.my = \"left top\"\r\n } else {\r\n position.offset = \"-1 -1\";\r\n position.at = position.my = \"left bottom\"\r\n }\r\n } else if (Math.round(vLocation) === offsetTop) {\r\n position.offset = \"1 1\";\r\n position.at = position.my = \"right top\"\r\n } else {\r\n position.offset = \"1 -1\";\r\n position.at = position.my = \"right bottom\"\r\n }\r\n _position.default.setup(this.$contentDelimiter, position)\r\n };\r\n _proto._getContextMenuPosition = function() {\r\n return this.option(\"position\")\r\n };\r\n _proto.isOverlayVisible = function() {\r\n return this._overlay.option(\"visible\")\r\n };\r\n _proto.getOverlayContent = function() {\r\n return this._overlay.$content()\r\n };\r\n return Submenu\r\n}(_context_menu.default);\r\nvar _default = Submenu;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/multi_view.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _size = require(\"../core/utils/size\");\r\nvar _renderer = _interopRequireDefault(require(\"../core/renderer\"));\r\nvar _translator2 = require(\"../animation/translator\");\r\nvar _uiMulti_view = require(\"./multi_view/ui.multi_view.animation\");\r\nvar _math = require(\"../core/utils/math\");\r\nvar _extend = require(\"../core/utils/extend\");\r\nvar _common = require(\"../core/utils/common\");\r\nvar _visibility_change = require(\"../events/visibility_change\");\r\nvar _element = require(\"../core/element\");\r\nvar _type = require(\"../core/utils/type\");\r\nvar _devices = _interopRequireDefault(require(\"../core/devices\"));\r\nvar _component_registrator = _interopRequireDefault(require(\"../core/component_registrator\"));\r\nvar _uiCollection_widget = _interopRequireDefault(require(\"./collection/ui.collection_widget.live_update\"));\r\nvar _swipeable = _interopRequireDefault(require(\"../events/gesture/swipeable\"));\r\nvar _deferred = require(\"../core/utils/deferred\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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 = function(value) {\r\n return +value\r\n};\r\nvar position = function($element) {\r\n return (0, _translator2.locate)($element).left\r\n};\r\nvar MultiView = _uiCollection_widget.default.inherit({\r\n _activeStateUnit: \".\" + MULTIVIEW_ITEM_CLASS,\r\n _supportedKeys: function() {\r\n return (0, _extend.extend)(this.callBase(), {\r\n pageUp: _common.noop,\r\n pageDown: _common.noop\r\n })\r\n },\r\n _getDefaultOptions: function() {\r\n return (0, _extend.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 selectByClick: false\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: function() {\r\n return \"desktop\" === _devices.default.real().deviceType && !_devices.default.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 = (0, _size.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 = (0, _renderer.default)(\"<div>\").addClass(MULTIVIEW_WRAPPER_CLASS);\r\n this._$wrapper.appendTo($element);\r\n this._$itemContainer = (0, _renderer.default)(\"<div>\").addClass(MULTIVIEW_ITEM_CONTAINER_CLASS);\r\n this._$itemContainer.appendTo(this._$wrapper);\r\n this.option(\"loopItemFocus\", this.option(\"loop\"));\r\n this._findBoundaryIndices();\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.Deferred;\r\n var that = this;\r\n var callBase = this.callBase;\r\n var deferred = new _deferred.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 var _this = this;\r\n this.callBase();\r\n (0, _common.deferRender)((function() {\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 = (0, _type.isDefined)(newIndex) ? -this._animationDirection(newIndex, selectedIndex) : void 0;\r\n var $selectedItem = $itemElements.eq(selectedIndex);\r\n _uiMulti_view._translator.move($selectedItem, 0);\r\n if ((0, _type.isDefined)(newIndex)) {\r\n _uiMulti_view._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 = (0, _renderer.default)(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 ((0, _type.isDefined)(index) && !hasItemContent) {\r\n this._deferredItems[index].resolve();\r\n (0, _visibility_change.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 _setAriaSelectionAttribute: _common.noop,\r\n _updateSelection: function(addedSelection, removedSelection) {\r\n var newIndex = addedSelection[0];\r\n var prevIndex = removedSelection[0];\r\n _uiMulti_view.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 _uiMulti_view._translator.move(this._$itemContainer, 0);\r\n this._updateItems(newIndex);\r\n (0, _size.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 _uiMulti_view.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 (0, _math.sign)(directionSignVariable)\r\n },\r\n _getSwipeDisabledState: function() {\r\n return !this.option(\"swipeEnabled\") || this._itemsCount() <= 1\r\n },\r\n _initSwipeable: function() {\r\n var _this2 = this;\r\n this._createComponent(this.$element(), _swipeable.default, {\r\n disabled: this._getSwipeDisabledState(),\r\n elastic: false,\r\n itemSizeFunc: this._itemWidth.bind(this),\r\n onStart: function(args) {\r\n return _this2._swipeStartHandler(args.event)\r\n },\r\n onUpdated: function(args) {\r\n return _this2._swipeUpdateHandler(args.event)\r\n },\r\n onEnd: function(args) {\r\n return _this2._swipeEndHandler(args.event)\r\n }\r\n })\r\n },\r\n _findBoundaryIndices: function() {\r\n var _firstIndex2, _lastIndex;\r\n var items = this.option(\"items\");\r\n var firstIndex;\r\n var lastIndex;\r\n items.forEach((function(item, index) {\r\n var isDisabled = Boolean(null === item || void 0 === item ? void 0 : item.disabled);\r\n if (!isDisabled) {\r\n var _firstIndex;\r\n null !== (_firstIndex = firstIndex) && void 0 !== _firstIndex ? _firstIndex : firstIndex = index;\r\n lastIndex = index\r\n }\r\n }));\r\n this._boundaryIndices = {\r\n firstAvailableIndex: null !== (_firstIndex2 = firstIndex) && void 0 !== _firstIndex2 ? _firstIndex2 : 0,\r\n lastAvailableIndex: null !== (_lastIndex = lastIndex) && void 0 !== _lastIndex ? _lastIndex : items.length - 1,\r\n firstTrueIndex: 0,\r\n lastTrueIndex: items.length - 1\r\n }\r\n },\r\n _swipeStartHandler: function(e) {\r\n _uiMulti_view.animation.complete(this._$itemContainer);\r\n var selectedIndex = this.option(\"selectedIndex\");\r\n var loop = this.option(\"loop\");\r\n var _this$_boundaryIndice = this._boundaryIndices,\r\n firstAvailableIndex = _this$_boundaryIndice.firstAvailableIndex,\r\n lastAvailableIndex = _this$_boundaryIndice.lastAvailableIndex;\r\n var rtl = this.option(\"rtlEnabled\");\r\n e.maxLeftOffset = toNumber(loop || (rtl ? selectedIndex > firstAvailableIndex : selectedIndex < lastAvailableIndex));\r\n e.maxRightOffset = toNumber(loop || (rtl ? selectedIndex < lastAvailableIndex : selectedIndex > firstAvailableIndex));\r\n this._swipeDirection = null\r\n },\r\n _swipeUpdateHandler: function(e) {\r\n var offset = e.offset;\r\n var swipeDirection = (0, _math.sign)(offset) * this._getRTLSignCorrection();\r\n _uiMulti_view._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 _findNextAvailableIndex: function(index, offset) {\r\n var _this$option = this.option(),\r\n items = _this$option.items,\r\n loop = _this$option.loop;\r\n var _this$_boundaryIndice2 = this._boundaryIndices,\r\n firstAvailableIndex = _this$_boundaryIndice2.firstAvailableIndex,\r\n lastAvailableIndex = _this$_boundaryIndice2.lastAvailableIndex,\r\n firstTrueIndex = _this$_boundaryIndice2.firstTrueIndex,\r\n lastTrueIndex = _this$_boundaryIndice2.lastTrueIndex;\r\n var isFirstActive = [firstTrueIndex, firstAvailableIndex].includes(index);\r\n var isLastActive = [lastTrueIndex, lastAvailableIndex].includes(index);\r\n if (loop) {\r\n if (isFirstActive && offset < 0) {\r\n return lastAvailableIndex\r\n } else if (isLastActive && offset > 0) {\r\n return firstAvailableIndex\r\n }\r\n }\r\n for (var i = index + offset; i >= firstAvailableIndex && i <= lastAvailableIndex; i += offset) {\r\n var isDisabled = Boolean(items[i].disabled);\r\n if (!isDisabled) {\r\n return i\r\n }\r\n }\r\n return index\r\n },\r\n _swipeEndHandler: function(e) {\r\n var targetOffset = e.targetOffset * this._getRTLSignCorrection();\r\n if (targetOffset) {\r\n var newSelectedIndex = this._findNextAvailableIndex(this.option(\"selectedIndex\"), -targetOffset);\r\n this.option(\"selectedIndex\", newSelectedIndex);\r\n var $selectedElement = this.itemElements().filter(\".dx-item-selected\");\r\n this.option(\"focusStateEnabled\") && this.option(\"focusedElement\", (0, _element.getPublicElement)($selectedElement))\r\n } else {\r\n this._animateItemContainer(0, _common.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: function() {\r\n var disabled = this._getSwipeDisabledState();\r\n _swipeable.default.getInstance(this.$element()).option(\"disabled\", disabled)\r\n },\r\n _dispose: function() {\r\n delete this._boundaryIndices;\r\n this.callBase()\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._findBoundaryIndices();\r\n this.callBase(args);\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n }\r\n});\r\n(0, _component_registrator.default)(\"dxMultiView\", MultiView);\r\nvar _default = MultiView;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/multi_view/ui.multi_view.animation.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.animation = exports._translator = void 0;\r\nvar _fx = _interopRequireDefault(require(\"../../animation/fx\"));\r\nvar _translator2 = require(\"../../animation/translator\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar _translator = {\r\n move: function($element, position) {\r\n (0, _translator2.move)($element, {\r\n left: position\r\n })\r\n }\r\n};\r\nexports._translator = _translator;\r\nvar animation = {\r\n moveTo: function($element, position, duration, completeAction) {\r\n _fx.default.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: function($element) {\r\n _fx.default.stop($element, true)\r\n }\r\n};\r\nexports.animation = animation;\r\n","/**\r\n * DevExtreme (cjs/ui/notify.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../core/renderer\"));\r\nvar _view_port = require(\"../core/utils/view_port\");\r\nvar _extend = require(\"../core/utils/extend\");\r\nvar _type = require(\"../core/utils/type\");\r\nvar _window = require(\"../core/utils/window\");\r\nvar _toast = _interopRequireDefault(require(\"./toast\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar window = (0, _window.getWindow)();\r\nvar $notify = null;\r\nvar $containers = {};\r\n\r\nfunction notify(message, typeOrStack, displayTime) {\r\n var options = (0, _type.isPlainObject)(message) ? message : {\r\n message: message\r\n };\r\n var stack = (0, _type.isPlainObject)(typeOrStack) ? typeOrStack : void 0;\r\n var type = (0, _type.isPlainObject)(typeOrStack) ? void 0 : typeOrStack;\r\n var userOnHidden = options.onHidden;\r\n if (null !== stack && void 0 !== stack && stack.position) {\r\n var position = stack.position;\r\n var direction = stack.direction || getDefaultDirection(position);\r\n var containerKey = (0, _type.isString)(position) ? position : \"\".concat(position.top, \"-\").concat(position.left, \"-\").concat(position.bottom, \"-\").concat(position.right);\r\n var userOnShowing = options.onShowing;\r\n var $container = getStackContainer(containerKey);\r\n setContainerClasses($container, direction);\r\n (0, _extend.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 }(0, _extend.extend)(options, {\r\n type: type,\r\n displayTime: displayTime,\r\n onHidden: function(args) {\r\n (0, _renderer.default)(args.element).remove();\r\n null === userOnHidden || void 0 === userOnHidden ? void 0 : userOnHidden(args)\r\n }\r\n });\r\n $notify = (0, _renderer.default)(\"<div>\").appendTo((0, _view_port.value)());\r\n new _toast.default($notify, options).show()\r\n}\r\nvar getDefaultDirection = function(position) {\r\n return (0, _type.isString)(position) && position.includes(\"top\") ? \"down-push\" : \"up-push\"\r\n};\r\nvar createStackContainer = function(key) {\r\n var $container = (0, _renderer.default)(\"<div>\").appendTo((0, _view_port.value)());\r\n $containers[key] = $container;\r\n return $container\r\n};\r\nvar getStackContainer = function(key) {\r\n var $container = $containers[key];\r\n return $container ? $container : createStackContainer(key)\r\n};\r\nvar setContainerClasses = function(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 = function(container, direction, position) {\r\n var _container$children$f = container.children().first().get(0),\r\n toastWidth = _container$children$f.offsetWidth,\r\n toastHeight = _container$children$f.offsetHeight;\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 = (0, _type.isString)(position) ? getCoordinatesByAlias(position, dimensions) : position;\r\n var styles = getPositionStylesByCoordinates(direction, coordinates, dimensions);\r\n container.css(styles)\r\n};\r\nvar getCoordinatesByAlias = function(alias, _ref) {\r\n var toastWidth = _ref.toastWidth,\r\n toastHeight = _ref.toastHeight,\r\n windowHeight = _ref.windowHeight,\r\n windowWidth = _ref.windowWidth;\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 = function(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 toastWidth = dimensions.toastWidth,\r\n toastHeight = dimensions.toastHeight,\r\n windowHeight = dimensions.windowHeight,\r\n windowWidth = dimensions.windowWidth;\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\nvar _default = notify;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/number_box.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _number_box = _interopRequireDefault(require(\"./number_box/number_box\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar _default = _number_box.default;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/number_box/number_box.base.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _dom_adapter = _interopRequireDefault(require(\"../../core/dom_adapter\"));\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _math = require(\"../../core/utils/math\");\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _devices = _interopRequireDefault(require(\"../../core/devices\"));\r\nvar _browser = _interopRequireDefault(require(\"../../core/utils/browser\"));\r\nvar _ui = _interopRequireDefault(require(\"../text_box/ui.text_editor\"));\r\nvar _index = require(\"../../events/utils/index\");\r\nvar _number_box = _interopRequireDefault(require(\"./number_box.spins\"));\r\nvar _message = _interopRequireDefault(require(\"../../localization/message\"));\r\nvar _deferred = require(\"../../core/utils/deferred\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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 = _ui.default.inherit({\r\n _supportedKeys: function() {\r\n return (0, _extend.extend)(this.callBase(), {\r\n upArrow: function(e) {\r\n if (!(0, _index.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 (!(0, _index.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 (0, _extend.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: _message.default.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: _number_box.default\r\n }])\r\n },\r\n _isSupportInputMode: function() {\r\n var version = parseFloat(_browser.default.version);\r\n return _browser.default.chrome && version >= 66 || _browser.default.safari && version >= 12\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: function() {\r\n return _devices.default.real().generic && !_devices.default.isSimulator()\r\n },\r\n options: {\r\n useLargeSpinButtons: false\r\n }\r\n }, {\r\n device: function() {\r\n return \"desktop\" !== _devices.default.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 = (0, _renderer.default)(\"<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((0, _common.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 = (0, _index.getChar)(e);\r\n var isInputCharValid = /[\\d.,eE\\-+]/.test(char);\r\n if (!isInputCharValid) {\r\n var keyName = (0, _index.normalizeKeyName)(e);\r\n if ((0, _index.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 = (0, _type.isDefined)(value) ? null : _message.default.format(\"dxNumberBox-noDataText\");\r\n this.setAria({\r\n valuenow: (0, _common.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.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: (0, _common.ensureDefined)(this.option(\"min\"), \"\"),\r\n valuemax: (0, _common.ensureDefined)(this.option(\"max\"), \"\")\r\n })\r\n },\r\n _spinButtonsPointerDownHandler: function() {\r\n var $input = this._input();\r\n if (!this.option(\"useLargeSpinButtons\") && _dom_adapter.default.getActiveElement() !== $input[0]) {\r\n _events_engine.default.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 ((0, _type.isDefined)(min)) {\r\n value = Math.max(min, value)\r\n }\r\n if ((0, _type.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 = (0, _index.addNamespace)(\"focusout\", FORCE_VALUECHANGE_EVENT_NAMESPACE);\r\n _events_engine.default.off(this.element(), forceValueChangeEvent);\r\n _events_engine.default.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 (0, _math.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 (0, _math.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\nvar _default = NumberBoxBase;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/number_box/number_box.caret.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.getCaretBoundaries = exports.getCaretAfterFormat = void 0;\r\nexports.getCaretInBoundaries = getCaretInBoundaries;\r\nexports.isCaretInBoundaries = exports.getCaretWithOffset = exports.getCaretOffset = void 0;\r\nvar _math = require(\"../../core/utils/math\");\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _number = _interopRequireDefault(require(\"../../localization/number\"));\r\nvar _utils = require(\"./utils\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar getCaretBoundaries = function(text, format) {\r\n if (\"string\" === typeof format) {\r\n var signParts = format.split(\";\");\r\n var sign = _number.default.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, (function(str) {\r\n return str.split(\"\").map((function() {\r\n return \" \"\r\n })).join(\"\").substr(2)\r\n })));\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\nexports.getCaretBoundaries = getCaretBoundaries;\r\nvar _getDigitCountBeforeIndex = function(index, text) {\r\n var decimalSeparator = _number.default.getDecimalSeparator();\r\n var regExp = new RegExp(\"[^0-9\" + (0, _common.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\nvar 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\nexports.getCaretWithOffset = getCaretWithOffset;\r\nvar getCaretAfterFormat = function(text, formatted, caret, format) {\r\n caret = getCaretWithOffset(caret, 0);\r\n var point = _number.default.getDecimalSeparator();\r\n var isSeparatorBasedText = isSeparatorBasedString(text);\r\n var realSeparatorOccurrenceIndex = (0, _utils.getRealSeparatorIndex)(format).occurrence;\r\n var pointPosition = isSeparatorBasedText ? 0 : (0, _utils.getNthOccurrence)(text, point, realSeparatorOccurrenceIndex);\r\n var newPointPosition = (0, _utils.getNthOccurrence)(formatted, point, realSeparatorOccurrenceIndex);\r\n var textParts = (0, _utils.splitByIndex)(text, pointPosition);\r\n var formattedParts = (0, _utils.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\nexports.getCaretAfterFormat = getCaretAfterFormat;\r\n\r\nfunction isSeparatorBasedString(text) {\r\n return 1 === text.length && !!text.match(/^[,.][0-9]*$/g)\r\n}\r\nvar 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\nexports.isCaretInBoundaries = isCaretInBoundaries;\r\n\r\nfunction getCaretInBoundaries(caret, text, format) {\r\n caret = getCaretWithOffset(caret, 0);\r\n var boundaries = getCaretBoundaries(text, format);\r\n var adjustedCaret = {\r\n start: (0, _math.fitIntoRange)(caret.start, boundaries.start, boundaries.end),\r\n end: (0, _math.fitIntoRange)(caret.end, boundaries.start, boundaries.end)\r\n };\r\n return adjustedCaret\r\n}\r\nvar 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\nexports.getCaretOffset = getCaretOffset;\r\n","/**\r\n * DevExtreme (cjs/ui/number_box/number_box.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _component_registrator = _interopRequireDefault(require(\"../../core/component_registrator\"));\r\nvar _number_box = _interopRequireDefault(require(\"./number_box.mask\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}(0, _component_registrator.default)(\"dxNumberBox\", _number_box.default);\r\nvar _default = _number_box.default;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/number_box/number_box.mask.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _devices = _interopRequireDefault(require(\"../../core/devices\"));\r\nvar _math = require(\"../../core/utils/math\");\r\nvar _number = _interopRequireDefault(require(\"../../localization/number\"));\r\nvar _number_box = require(\"./number_box.caret\");\r\nvar _number2 = require(\"../../localization/ldml/number\");\r\nvar _number_box2 = _interopRequireDefault(require(\"./number_box.base\"));\r\nvar _index = require(\"../../events/utils/index\");\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _utils = require(\"./utils\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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 = _number_box2.default.inherit({\r\n _getDefaultOptions: function() {\r\n return (0, _extend.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 (0, _extend.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.default.getDecimalSeparator();\r\n var realSeparatorOccurrenceIndex = (0, _utils.getRealSeparatorIndex)(this.option(\"format\")).occurrence;\r\n return (0, _utils.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: function(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 _events_engine.default.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 = (0, _number_box.getCaretWithOffset)(this._caret(), step);\r\n if (!(0, _number_box.isCaretInBoundaries)(nextCaret, text, format)) {\r\n nextCaret = step === MOVE_FORWARD ? nextCaret.end : nextCaret.start;\r\n e.preventDefault();\r\n this._caret((0, _number_box.getCaretInBoundaries)(nextCaret, text, format))\r\n }\r\n },\r\n _moveCaretToBoundary: function(direction) {\r\n var boundaries = (0, _number_box.getCaretBoundaries)(this._getInputVal(), this._getFormatPattern());\r\n var newCaret = (0, _number_box.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.default.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.default.convertDigits(this._input().val(), true)\r\n },\r\n _keyboardHandler: function(e) {\r\n this.clearCaretTimeout();\r\n this._lastKey = _number.default.convertDigits((0, _index.getChar)(e), true);\r\n this._lastKeyName = (0, _index.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 = (0, _index.getChar)(e);\r\n this._lastKeyName = (0, _index.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 _events_engine.default.trigger(this._input(), \"input\")\r\n }\r\n }\r\n e.preventDefault();\r\n return\r\n }\r\n var decimalSeparator = _number.default.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 = (0, _type.isFunction)(formatOption.parser);\r\n var parser = isCustomParser ? formatOption.parser : _number.default.parse;\r\n var integerPartStartIndex = 0;\r\n if (!isCustomParser) {\r\n var formatPointIndex = (0, _utils.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 = (0, _type.isFunction)(customFormatter) ? customFormatter : _number.default.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 _this = this;\r\n var format = this.option(\"format\");\r\n var isCustomParser = (0, _type.isFunction)(null === format || void 0 === format ? void 0 : format.parser);\r\n var isLDMLPattern = (0, _type.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 : (0, _number2.getFormat)((function(value) {\r\n var text = _this._format(value, format);\r\n return _number.default.convertDigits(text, true)\r\n }))\r\n },\r\n _getFormatForSign: function(text) {\r\n var format = this._getFormatPattern();\r\n if ((0, _type.isString)(format)) {\r\n var signParts = format.split(\";\");\r\n var sign = _number.default.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.default.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.default.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(\"(\" + (0, _common.escapeRegExp)(stubs[1] || \"\") + \")$\", \"g\");\r\n var decoratorsRegex = new RegExp(\"[-\" + (0, _common.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 ((0, _type.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 editedText = this._replaceSelectedText(text, selection, char);\r\n var format = this._getFormatPattern();\r\n var isTextSelected = selection.start !== selection.end;\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 decimalSeparator = _number.default.getDecimalSeparator();\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() ? (0, _utils.adjustPercentValue)(parsedValue, maxPrecision) : parsedValue\r\n },\r\n _getParsedValue: function(text, format) {\r\n var sign = _number.default.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 = (0, _type.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.default.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 : (0, _math.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 = (0, _common.ensureDefined)(this.option(\"min\"), -1 / 0);\r\n var max = (0, _common.ensureDefined)(this.option(\"max\"), 1 / 0);\r\n return (0, _math.inRange)(value, min, max)\r\n },\r\n _setInputText: function(text) {\r\n var normalizedText = _number.default.convertDigits(text, true);\r\n var newCaret = (0, _number_box.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.default.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 (0, _type.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 = (0, _number_box.getCaretWithOffset)(this._caret(), offset);\r\n var adjustedCaret = (0, _number_box.getCaretInBoundaries)(newCaret, this._getInputVal(), this._getFormatPattern());\r\n this._caret(adjustedCaret)\r\n },\r\n _shouldHandleKey: function(e) {\r\n var keyName = (0, _index.normalizeKeyName)(e);\r\n var isSpecialChar = (0, _index.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 _events_engine.default.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 ((0, _type.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 _events_engine.default.on($input, (0, _index.addNamespace)(INPUT_EVENT, NUMBER_FORMATTER_NAMESPACE), function(e) {\r\n this._formatValue(e);\r\n this._isValuePasted = false\r\n }.bind(this));\r\n _events_engine.default.on($input, (0, _index.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((0, _number_box.getCaretInBoundaries)(this._caret(), this._getInputVal(), this._getFormatPattern()))\r\n }.bind(this), CARET_TIMEOUT_DURATION)\r\n }\r\n }.bind(this));\r\n _events_engine.default.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 = (0, _common.escapeRegExp)(_number.default.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 = (0, _utils.getRealSeparatorIndex)(currentFormat).index;\r\n var floatPart = ((0, _utils.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 ((0, _index.normalizeKeyName)(e) === MINUS_KEY) {\r\n this._applyRevertedSign(e, caret, true);\r\n return\r\n } else {\r\n this._caret((0, _number_box.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 * (0, _common.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 = (0, _number_box.getCaretOffset)(previousText, currentText, format);\r\n caret = (0, _number_box.getCaretWithOffset)(caret, offset);\r\n var caretInBoundaries = (0, _number_box.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.default.convertDigits(this._formattedValue, true) !== normalizedText;\r\n if (textWasChanged) {\r\n var value = this._tryParse(normalizedText, caret, \"\");\r\n if ((0, _type.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 (!(0, _type.isNumeric)(parsedValue)) {\r\n this._parsedValue = parsedValue;\r\n return\r\n }\r\n this._parsedValue = (0, _math.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\nvar _default = NumberBoxMask;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/number_box/number_box.spin.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _dom_adapter = _interopRequireDefault(require(\"../../core/dom_adapter\"));\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _ui = _interopRequireDefault(require(\"../widget/ui.widget\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _index = require(\"../../events/utils/index\");\r\nvar _pointer = _interopRequireDefault(require(\"../../events/pointer\"));\r\nvar _emitter = require(\"../../events/core/emitter.feedback\");\r\nvar _hold = _interopRequireDefault(require(\"../../events/hold\"));\r\nvar _deferred = require(\"../../core/utils/deferred\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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 = (0, _index.addNamespace)(_pointer.default.up, NUMBER_BOX);\r\nvar POINTERCANCEL_EVENT_NAME = (0, _index.addNamespace)(_pointer.default.cancel, NUMBER_BOX);\r\nvar SpinButton = _ui.default.inherit({\r\n _getDefaultOptions: function() {\r\n return (0, _extend.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 = (0, _renderer.default)(\"<div>\").addClass(direction + \"-icon\").appendTo(this.$element())\r\n },\r\n _render: function() {\r\n this.callBase();\r\n var eventName = (0, _index.addNamespace)(_pointer.default.down, this.NAME);\r\n var $element = this.$element();\r\n _events_engine.default.off($element, eventName);\r\n _events_engine.default.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 _events_engine.default.on(this.$element(), _hold.default.name, function() {\r\n this._feedBackDeferred = new _deferred.Deferred;\r\n (0, _emitter.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 = _dom_adapter.default.getDocument();\r\n _events_engine.default.on(document, POINTERUP_EVENT_NAME, this._clearTimer.bind(this));\r\n _events_engine.default.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 _events_engine.default.off(this.$element(), _hold.default.name);\r\n var document = _dom_adapter.default.getDocument();\r\n _events_engine.default.off(document, POINTERUP_EVENT_NAME);\r\n _events_engine.default.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\nvar _default = SpinButton;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/number_box/number_box.spins.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _button = _interopRequireDefault(require(\"../text_box/texteditor_button_collection/button\"));\r\nvar _number_box = _interopRequireDefault(require(\"./number_box.spin\"));\r\nvar _index = require(\"../../events/utils/index\");\r\nvar _pointer = _interopRequireDefault(require(\"../../events/pointer\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\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\nvar SpinButtons = function(_TextEditorButton) {\r\n _inheritsLoose(SpinButtons, _TextEditorButton);\r\n\r\n function SpinButtons() {\r\n return _TextEditorButton.apply(this, arguments) || this\r\n }\r\n var _proto = SpinButtons.prototype;\r\n _proto._attachEvents = function(instance, $spinContainer) {\r\n var editor = this.editor;\r\n var eventName = (0, _index.addNamespace)(_pointer.default.down, editor.NAME);\r\n var $spinContainerChildren = $spinContainer.children();\r\n var pointerDownAction = editor._createAction((function(e) {\r\n return editor._spinButtonsPointerDownHandler(e)\r\n }));\r\n _events_engine.default.off($spinContainer, eventName);\r\n _events_engine.default.on($spinContainer, eventName, (function(e) {\r\n return pointerDownAction({\r\n event: e\r\n })\r\n }));\r\n _number_box.default.getInstance($spinContainerChildren.eq(0)).option(\"onChange\", (function(e) {\r\n return editor._spinUpChangeHandler(e)\r\n }));\r\n _number_box.default.getInstance($spinContainerChildren.eq(1)).option(\"onChange\", (function(e) {\r\n return editor._spinDownChangeHandler(e)\r\n }))\r\n };\r\n _proto._create = function() {\r\n var editor = this.editor;\r\n var $spinContainer = (0, _renderer.default)(\"<div>\").addClass(SPIN_CONTAINER_CLASS);\r\n var $spinUp = (0, _renderer.default)(\"<div>\").appendTo($spinContainer);\r\n var $spinDown = (0, _renderer.default)(\"<div>\").appendTo($spinContainer);\r\n var options = this._getOptions();\r\n this._addToContainer($spinContainer);\r\n editor._createComponent($spinUp, _number_box.default, (0, _extend.extend)({\r\n direction: \"up\"\r\n }, options));\r\n editor._createComponent($spinDown, _number_box.default, (0, _extend.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 _proto._getOptions = function() {\r\n var editor = this.editor;\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 _proto._isVisible = function() {\r\n var editor = this.editor;\r\n return _TextEditorButton.prototype._isVisible.call(this) && editor.option(\"showSpinButtons\")\r\n };\r\n _proto._isTouchFriendly = function() {\r\n var editor = this.editor;\r\n return editor.option(\"showSpinButtons\") && editor.option(\"useLargeSpinButtons\")\r\n };\r\n _proto._legacyRender = function($editor, isTouchFriendly, isVisible) {\r\n $editor.toggleClass(SPIN_TOUCH_FRIENDLY_CLASS, isTouchFriendly);\r\n $editor.toggleClass(SPIN_CLASS, isVisible)\r\n };\r\n _proto.update = function() {\r\n var shouldUpdate = _TextEditorButton.prototype.update.call(this);\r\n if (shouldUpdate) {\r\n var editor = this.editor,\r\n instance = this.instance;\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 = _number_box.default.getInstance($spinButtons.eq(0));\r\n var spinDown = _number_box.default.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 return SpinButtons\r\n}(_button.default);\r\nexports.default = SpinButtons;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/number_box/utils.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.splitByIndex = exports.getRealSeparatorIndex = exports.getNthOccurrence = exports.adjustPercentValue = void 0;\r\nvar _math = require(\"../../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\nexports.getRealSeparatorIndex = getRealSeparatorIndex;\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\nexports.getNthOccurrence = getNthOccurrence;\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\nexports.splitByIndex = splitByIndex;\r\nvar adjustPercentValue = function(rawValue, precision) {\r\n return rawValue && (0, _math.adjust)(rawValue / 100, precision)\r\n};\r\nexports.adjustPercentValue = adjustPercentValue;\r\n","/**\r\n * DevExtreme (cjs/ui/overlay/overlay_position_controller.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.OverlayPositionController = exports.OVERLAY_POSITION_ALIASES = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _position = _interopRequireDefault(require(\"../../animation/position\"));\r\nvar _translator = require(\"../../animation/translator\");\r\nvar _window = require(\"../../core/utils/window\");\r\nvar _swatch_container = _interopRequireDefault(require(\"../widget/swatch_container\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\nvar window = (0, _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\nexports.OVERLAY_POSITION_ALIASES = OVERLAY_POSITION_ALIASES;\r\nvar OVERLAY_DEFAULT_BOUNDARY_OFFSET = {\r\n h: 0,\r\n v: 0\r\n};\r\nvar OverlayPositionController = function() {\r\n function OverlayPositionController(_ref) {\r\n var position = _ref.position,\r\n container = _ref.container,\r\n visualContainer = _ref.visualContainer,\r\n $root = _ref.$root,\r\n $content = _ref.$content,\r\n $wrapper = _ref.$wrapper,\r\n onPositioned = _ref.onPositioned,\r\n onVisualPositionChanged = _ref.onVisualPositionChanged,\r\n restorePosition = _ref.restorePosition,\r\n _fixWrapperPosition = _ref._fixWrapperPosition;\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 var _proto = OverlayPositionController.prototype;\r\n _proto.restorePositionOnNextRender = function(value) {\r\n this._shouldRenderContentInitialPosition = value || !this._visualPosition\r\n };\r\n _proto.openingHandled = function() {\r\n var shouldRestorePosition = this._props.restorePosition;\r\n this.restorePositionOnNextRender(shouldRestorePosition)\r\n };\r\n _proto.updatePosition = function(positionProp) {\r\n this._props.position = positionProp;\r\n this._position = this._normalizePosition(positionProp);\r\n this.updateVisualContainer()\r\n };\r\n _proto.updateContainer = function() {\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 ? (0, _renderer.default)(containerProp) : _swatch_container.default.getSwatchContainer(this._$root);\r\n this.updateVisualContainer(this._props.visualContainer)\r\n };\r\n _proto.updateVisualContainer = function() {\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 _proto.detectVisualPositionChange = function(event) {\r\n this._updateVisualPositionValue();\r\n this._raisePositionedEvents(event)\r\n };\r\n _proto.positionContent = function() {\r\n if (this._shouldRenderContentInitialPosition) {\r\n this._renderContentInitialPosition()\r\n } else {\r\n (0, _translator.move)(this._$content, this._visualPosition);\r\n this.detectVisualPositionChange()\r\n }\r\n };\r\n _proto.positionWrapper = function() {\r\n if (this._$visualContainer) {\r\n _position.default.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 _proto.styleWrapperPosition = function() {\r\n var useFixed = (0, _type.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 _proto._updateVisualPositionValue = function() {\r\n this._previousVisualPosition = this._visualPosition;\r\n this._visualPosition = (0, _translator.locate)(this._$content)\r\n };\r\n _proto._renderContentInitialPosition = function() {\r\n this._renderBoundaryOffset();\r\n (0, _translator.resetPosition)(this._$content);\r\n var wrapperOverflow = this._$wrapper.css(\"overflow\");\r\n this._$wrapper.css(\"overflow\", \"hidden\");\r\n var resultPosition = _position.default.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 _proto._raisePositionedEvents = function(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 _proto._renderBoundaryOffset = function() {\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 _proto._getVisualContainer = function() {\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 = (0, _type.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 (0, _renderer.default)(visualContainerProp)\r\n }\r\n if (containerProp) {\r\n return (0, _renderer.default)(containerProp)\r\n }\r\n if (positionOf) {\r\n return (0, _renderer.default)(positionOf)\r\n }\r\n return (0, _renderer.default)(window)\r\n };\r\n _proto._normalizePosition = function(positionProp) {\r\n var defaultPositionConfig = {\r\n boundaryOffset: OVERLAY_DEFAULT_BOUNDARY_OFFSET\r\n };\r\n if ((0, _type.isDefined)(positionProp)) {\r\n return (0, _extend.extend)(true, {}, defaultPositionConfig, this._positionToObject(positionProp))\r\n } else {\r\n return defaultPositionConfig\r\n }\r\n };\r\n _proto._positionToObject = function(position) {\r\n if ((0, _type.isString)(position)) {\r\n return (0, _extend.extend)({}, OVERLAY_POSITION_ALIASES[position])\r\n }\r\n return position\r\n };\r\n _createClass(OverlayPositionController, [{\r\n key: \"$container\",\r\n get: function() {\r\n this.updateContainer();\r\n return this._$markupContainer\r\n }\r\n }, {\r\n key: \"$visualContainer\",\r\n get: function() {\r\n return this._$visualContainer\r\n }\r\n }, {\r\n key: \"position\",\r\n get: function() {\r\n return this._position\r\n }\r\n }, {\r\n key: \"fixWrapperPosition\",\r\n set: function(fixWrapperPosition) {\r\n this._props._fixWrapperPosition = fixWrapperPosition;\r\n this.styleWrapperPosition()\r\n }\r\n }, {\r\n key: \"restorePosition\",\r\n set: function(restorePosition) {\r\n this._props.restorePosition = restorePosition\r\n }\r\n }]);\r\n return OverlayPositionController\r\n}();\r\nexports.OverlayPositionController = OverlayPositionController;\r\n","/**\r\n * DevExtreme (cjs/ui/overlay/ui.overlay.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.default = void 0;\r\nvar _size = require(\"../../core/utils/size\");\r\nvar _fx = _interopRequireDefault(require(\"../../animation/fx\"));\r\nvar _component_registrator = _interopRequireDefault(require(\"../../core/component_registrator\"));\r\nvar _devices = _interopRequireDefault(require(\"../../core/devices\"));\r\nvar _dom_adapter = _interopRequireDefault(require(\"../../core/dom_adapter\"));\r\nvar _element = require(\"../../core/element\");\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _empty_template = require(\"../../core/templates/empty_template\");\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _deferred = require(\"../../core/utils/deferred\");\r\nvar _dom = require(\"../../core/utils/dom\");\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _ready_callbacks = _interopRequireDefault(require(\"../../core/utils/ready_callbacks\"));\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _view_port = require(\"../../core/utils/view_port\");\r\nvar _window = require(\"../../core/utils/window\");\r\nvar _errors = _interopRequireDefault(require(\"../../core/errors\"));\r\nvar _ui = _interopRequireDefault(require(\"../widget/ui.errors\"));\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _drag = require(\"../../events/drag\");\r\nvar _pointer = _interopRequireDefault(require(\"../../events/pointer\"));\r\nvar _short = require(\"../../events/short\");\r\nvar _index = require(\"../../events/utils/index\");\r\nvar _visibility_change = require(\"../../events/visibility_change\");\r\nvar _hide_callback = require(\"../../mobile/hide_callback\");\r\nvar _selectors = require(\"../widget/selectors\");\r\nvar _ui2 = _interopRequireDefault(require(\"../widget/ui.widget\"));\r\nvar _browser = _interopRequireDefault(require(\"../../core/utils/browser\"));\r\nvar zIndexPool = _interopRequireWildcard(require(\"./z_index\"));\r\nvar _overlay_position_controller = require(\"./overlay_position_controller\");\r\n\r\nfunction _getRequireWildcardCache(nodeInterop) {\r\n if (\"function\" !== typeof WeakMap) {\r\n return null\r\n }\r\n var cacheBabelInterop = new WeakMap;\r\n var cacheNodeInterop = new WeakMap;\r\n return (_getRequireWildcardCache = function(nodeInterop) {\r\n return nodeInterop ? cacheNodeInterop : cacheBabelInterop\r\n })(nodeInterop)\r\n}\r\n\r\nfunction _interopRequireWildcard(obj, nodeInterop) {\r\n if (!nodeInterop && obj && obj.__esModule) {\r\n return obj\r\n }\r\n if (null === obj || \"object\" !== _typeof(obj) && \"function\" !== typeof obj) {\r\n return {\r\n default: obj\r\n }\r\n }\r\n var cache = _getRequireWildcardCache(nodeInterop);\r\n if (cache && cache.has(obj)) {\r\n return cache.get(obj)\r\n }\r\n var newObj = {};\r\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\r\n for (var key in obj) {\r\n if (\"default\" !== key && Object.prototype.hasOwnProperty.call(obj, key)) {\r\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\r\n if (desc && (desc.get || desc.set)) {\r\n Object.defineProperty(newObj, key, desc)\r\n } else {\r\n newObj[key] = obj[key]\r\n }\r\n }\r\n }\r\n newObj.default = obj;\r\n if (cache) {\r\n cache.set(obj, newObj)\r\n }\r\n return newObj\r\n}\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar ready = _ready_callbacks.default.add;\r\nvar window = (0, _window.getWindow)();\r\nvar viewPortChanged = _view_port.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((function() {\r\n _events_engine.default.subscribeGlobal(_dom_adapter.default.getDocument(), _pointer.default.down, (function(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 = _ui2.default.inherit({\r\n _supportedKeys: function() {\r\n return (0, _extend.extend)(this.callBase(), {\r\n escape: function() {\r\n this.hide()\r\n }\r\n })\r\n },\r\n _getDefaultOptions: function() {\r\n var _this = this;\r\n return (0, _extend.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: (0, _extend.extend)({}, _overlay_position_controller.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 _ignorePreventScrollEventsDeprecation: 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: function() {\r\n _this.hide()\r\n },\r\n hideOnParentScroll: false,\r\n preventScrollEvents: true,\r\n onPositioned: null,\r\n propagateOutsideClick: false,\r\n ignoreChildEvents: true,\r\n _checkParentVisibility: true,\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 !(0, _window.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 (0, _extend.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: function() {\r\n this.callBase();\r\n (0, _extend.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 if (\"preventScrollEvents\" in options && !options._ignorePreventScrollEventsDeprecation) {\r\n this._logDeprecatedPreventScrollEventsInfo()\r\n }\r\n }\r\n },\r\n _logDeprecatedPreventScrollEventsInfo: function() {\r\n this._logDeprecatedOptionWarning(\"preventScrollEvents\", {\r\n since: \"23.1\",\r\n message: \"If you enable this option, end-users may experience scrolling issues.\"\r\n })\r\n },\r\n _init: function() {\r\n var _this2 = this;\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 = (0, _renderer.default)(\"<div>\").addClass(OVERLAY_WRAPPER_CLASS);\r\n this._$content = (0, _renderer.default)(\"<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: function(e) {\r\n _this2._hideOnParentsScrollHandler(e)\r\n }\r\n };\r\n this.warnPositionAsFunction()\r\n },\r\n warnPositionAsFunction: function() {\r\n if ((0, _type.isFunction)(this.option(\"position\"))) {\r\n _errors.default.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 var _this3 = this;\r\n this._actions = {};\r\n var actions = this._getActionsList();\r\n (0, _iterator.each)(actions, (function(_, action) {\r\n _this3._actions[action] = _this3._createActionByOption(action, {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n }) || _common.noop\r\n }))\r\n },\r\n _initHideOnOutsideClickHandler: function() {\r\n var _this4 = this;\r\n this._proxiedDocumentDownHandler = function() {\r\n return _this4._documentDownHandler.apply(_this4, arguments)\r\n }\r\n },\r\n _initMarkup: function() {\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 = (0, _renderer.default)(window.document).is(e.target) || (0, _dom.contains)(window.document, e.target);\r\n var isInnerOverlay = (0, _renderer.default)(e.target).closest(\".\".concat(INNER_OVERLAY_CLASS)).length;\r\n var outsideClick = isAttachedTarget && !isInnerOverlay && !(this._$content.is(e.target) || (0, _dom.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 _this$option = this.option(),\r\n hideOnOutsideClick = _this$option.hideOnOutsideClick;\r\n if ((0, _type.isFunction)(hideOnOutsideClick)) {\r\n return hideOnOutsideClick(e)\r\n }\r\n return hideOnOutsideClick\r\n },\r\n _outsideClickHandler: function(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 _empty_template.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 _this5 = this;\r\n viewPortChanged.remove(this._viewPortChangeHandle);\r\n if (toggle) {\r\n this._viewPortChangeHandle = function() {\r\n _this5._viewPortChangeHandler.apply(_this5, 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: function() {\r\n var _this$option2 = this.option(),\r\n wrapperAttr = _this$option2.wrapperAttr;\r\n var attributes = (0, _extend.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 _toggleBodyScroll: _common.noop,\r\n _animateShowing: function() {\r\n var _this$_getAnimationCo, _showAnimation$start, _showAnimation$comple, _this6 = 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 : _common.noop;\r\n var completeShowAnimation = null !== (_showAnimation$comple = null === showAnimation || void 0 === showAnimation ? void 0 : showAnimation.complete) && void 0 !== _showAnimation$comple ? _showAnimation$comple : _common.noop;\r\n this._animate(showAnimation, (function() {\r\n if (_this6._isAnimationPaused) {\r\n return\r\n }\r\n if (_this6.option(\"focusStateEnabled\")) {\r\n _events_engine.default.trigger(_this6._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.apply(completeShowAnimation, [_this6].concat(args));\r\n _this6._showAnimationProcessing = false;\r\n _this6._isHidden = false;\r\n _this6._actions.onShown();\r\n _this6._toggleSafariScrolling();\r\n _this6._showingDeferred.resolve()\r\n }), (function() {\r\n if (_this6._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.apply(startShowAnimation, [_this6].concat(args));\r\n _this6._showAnimationProcessing = true\r\n }))\r\n },\r\n _processShowingHidingCancel: function(cancelArg, applyFunction, cancelFunction) {\r\n if ((0, _type.isPromise)(cancelArg)) {\r\n cancelArg.then((function(shouldCancel) {\r\n if (shouldCancel) {\r\n cancelFunction()\r\n } else {\r\n applyFunction()\r\n }\r\n })).catch((function() {\r\n return applyFunction()\r\n }))\r\n } else {\r\n cancelArg ? cancelFunction() : applyFunction()\r\n }\r\n },\r\n _show: function() {\r\n var _this7 = this;\r\n this._showingDeferred = new _deferred.Deferred;\r\n this._parentHidden = this._isParentHidden();\r\n this._showingDeferred.done((function() {\r\n delete _this7._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.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 = function() {\r\n _this7._toggleBodyScroll(_this7.option(\"enableBodyScroll\"));\r\n _this7._stopAnimation();\r\n _this7._toggleVisibility(true);\r\n _this7._$content.css(\"visibility\", \"hidden\");\r\n _this7._$content.toggleClass(INVISIBLE_STATE_CLASS, false);\r\n _this7._updateZIndexStackPosition(true);\r\n _this7._positionController.openingHandled();\r\n _this7._renderContent();\r\n var showingArgs = {\r\n cancel: false\r\n };\r\n _this7._actions.onShowing(showingArgs);\r\n _this7._processShowingHidingCancel(showingArgs.cancel, (function() {\r\n _this7._$content.css(\"visibility\", \"\");\r\n _this7._renderVisibility(true);\r\n _this7._animateShowing()\r\n }), (function() {\r\n _this7._toggleVisibility(false);\r\n _this7._$content.css(\"visibility\", \"\");\r\n _this7._$content.toggleClass(INVISIBLE_STATE_CLASS, true);\r\n _this7._isShowingActionCanceled = true;\r\n _this7._moveFromContainer();\r\n _this7.option(\"visible\", false);\r\n _this7._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 = (0, _extend.extend)({\r\n type: \"slide\",\r\n skipElementInitialStyles: true\r\n }, showHideConfig);\r\n if ((0, _type.isObject)(showHideConfig[direction])) {\r\n (0, _extend.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, _this8 = 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 : _common.noop;\r\n var completeHideAnimation = null !== (_hideAnimation$comple = null === hideAnimation || void 0 === hideAnimation ? void 0 : hideAnimation.complete) && void 0 !== _hideAnimation$comple ? _hideAnimation$comple : _common.noop;\r\n this._animate(hideAnimation, (function() {\r\n var _this8$_actions;\r\n _this8._$content.css(\"pointerEvents\", \"\");\r\n _this8._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.apply(completeHideAnimation, [_this8].concat(args));\r\n _this8._hideAnimationProcessing = false;\r\n null === (_this8$_actions = _this8._actions) || void 0 === _this8$_actions ? void 0 : _this8$_actions.onHidden();\r\n _this8._hidingDeferred.resolve()\r\n }), (function() {\r\n _this8._$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.apply(startHideAnimation, [_this8].concat(args));\r\n _this8._hideAnimationProcessing = true\r\n }))\r\n },\r\n _hide: function() {\r\n var _this9 = this;\r\n if (!this._currentVisible) {\r\n return (new _deferred.Deferred).resolve().promise()\r\n }\r\n this._currentVisible = false;\r\n this._hidingDeferred = new _deferred.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._toggleBodyScroll(true);\r\n this._processShowingHidingCancel(hidingArgs.cancel, (function() {\r\n _this9._forceFocusLost();\r\n _this9._toggleShading(false);\r\n _this9._toggleSubscriptions(false);\r\n _this9._stopShowTimer();\r\n _this9._animateHiding()\r\n }), (function() {\r\n _this9._isHidingActionCanceled = true;\r\n _this9.option(\"visible\", true);\r\n _this9._hidingDeferred.resolve()\r\n }))\r\n }\r\n return this._hidingDeferred.promise()\r\n },\r\n _forceFocusLost: function() {\r\n var activeElement = _dom_adapter.default.getActiveElement();\r\n var shouldResetActiveElement = !!this._$content.find(activeElement).length;\r\n if (shouldResetActiveElement) {\r\n (0, _dom.resetActiveElement)()\r\n }\r\n },\r\n _animate: function(animation, completeCallback, startCallback) {\r\n if (animation) {\r\n startCallback = startCallback || animation.start || _common.noop;\r\n _fx.default.animate(this._$content, (0, _extend.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.default.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 (0, _visibility_change.triggerHidingEvent)(this._$content)\r\n }\r\n if (visible) {\r\n this._checkContainerExists();\r\n this._moveToContainer();\r\n this._renderGeometry();\r\n (0, _visibility_change.triggerShownEvent)(this._$content);\r\n (0, _visibility_change.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 _this10 = this;\r\n this._proxiedTabTerminatorHandler = function() {\r\n _this10._tabKeyHandler.apply(_this10, arguments)\r\n }\r\n },\r\n _toggleTabTerminator: function(enabled) {\r\n var eventName = (0, _index.addNamespace)(\"keydown\", this.NAME);\r\n if (enabled) {\r\n _events_engine.default.on(_dom_adapter.default.getDocument(), eventName, this._proxiedTabTerminatorHandler)\r\n } else {\r\n _events_engine.default.off(_dom_adapter.default.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(_selectors.tabbable)) {\r\n result.first = $elements.eq(i)\r\n }\r\n if (!result.last && $elements.eq(elementsCount - i).is(_selectors.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 ((0, _index.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 = !(0, _dom.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 _events_engine.default.trigger($focusElement, \"focusin\");\r\n _events_engine.default.trigger($focusElement, \"focus\")\r\n }\r\n },\r\n _toggleSubscriptions: function(enabled) {\r\n if ((0, _window.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 _hide_callback.hideCallback.add(this._hideTopOverlayHandler)\r\n } else {\r\n _hide_callback.hideCallback.remove(this._hideTopOverlayHandler)\r\n }\r\n },\r\n _toggleHideOnParentsScrollSubscription: function(needSubscribe) {\r\n var _this$_parentsScrollS;\r\n var scrollEvent = (0, _index.addNamespace)(\"scroll\", this.NAME);\r\n var _ref = null !== (_this$_parentsScrollS = this._parentsScrollSubscriptionInfo) && void 0 !== _this$_parentsScrollS ? _this$_parentsScrollS : {},\r\n prevTargets = _ref.prevTargets,\r\n handler = _ref.handler;\r\n _events_engine.default.off(prevTargets, scrollEvent, handler);\r\n var closeOnScroll = this.option(\"hideOnParentScroll\");\r\n if (needSubscribe && closeOnScroll) {\r\n var $parents = this._hideOnParentScrollTarget().parents();\r\n if (\"desktop\" === _devices.default.real().deviceType) {\r\n $parents = $parents.add(window)\r\n }\r\n _events_engine.default.on($parents, scrollEvent, handler);\r\n this._parentsScrollSubscriptionInfo.prevTargets = $parents\r\n }\r\n },\r\n _hideOnParentsScrollHandler: function(e) {\r\n var closeHandled = false;\r\n var closeOnScroll = this.option(\"hideOnParentScroll\");\r\n if ((0, _type.isFunction)(closeOnScroll)) {\r\n closeHandled = closeOnScroll(e)\r\n }\r\n if (!closeHandled && !this._showAnimationProcessing) {\r\n this.hide()\r\n }\r\n },\r\n _hideOnParentScrollTarget: function() {\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 = (0, _renderer.default)(this);\r\n if (\"none\" === $element.css(\"display\")) {\r\n isHidden = true;\r\n return false\r\n }\r\n }));\r\n return isHidden || !_dom_adapter.default.getBody().contains($parent.get(0))\r\n },\r\n _renderContentImpl: function() {\r\n var _this11 = this;\r\n var whenContentRendered = new _deferred.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: (0, _element.getPublicElement)(this.$content()),\r\n noModel: true,\r\n transclude: transclude,\r\n onRendered: function() {\r\n whenContentRendered.resolve();\r\n if (_this11.option(\"templatesRenderAsynchronously\")) {\r\n _this11._dimensionChanged()\r\n }\r\n }\r\n });\r\n this._toggleWrapperScrollEventsSubscription(this.option(\"preventScrollEvents\"));\r\n whenContentRendered.done((function() {\r\n if (_this11.option(\"visible\")) {\r\n _this11._moveToContainer()\r\n }\r\n }));\r\n return whenContentRendered.promise()\r\n },\r\n _getPositionControllerConfig: function() {\r\n var _this$option3 = this.option(),\r\n container = _this$option3.container,\r\n visualContainer = _this$option3.visualContainer,\r\n _fixWrapperPosition = _this$option3._fixWrapperPosition,\r\n restorePosition = _this$option3.restorePosition;\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: function() {\r\n this._positionController = new _overlay_position_controller.OverlayPositionController(this._getPositionControllerConfig())\r\n },\r\n _toggleWrapperScrollEventsSubscription: function(enabled) {\r\n var eventName = (0, _index.addNamespace)(_drag.move, this.NAME);\r\n _events_engine.default.off(this._$wrapper, eventName);\r\n if (enabled) {\r\n _events_engine.default.on(this._$wrapper, eventName, {\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: _common.noop,\r\n isNative: true\r\n }, (function(e) {\r\n var originalEvent = e.originalEvent.originalEvent;\r\n var _ref2 = originalEvent || {},\r\n type = _ref2.type;\r\n var isWheel = \"wheel\" === type;\r\n var isMouseMove = \"mousemove\" === type;\r\n var isScrollByWheel = isWheel && !(0, _index.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 },\r\n _moveFromContainer: function() {\r\n this._$content.appendTo(this.$element());\r\n this._$wrapper.detach()\r\n },\r\n _checkContainerExists: function() {\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 _ui.default.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 _this$option4 = this.option(),\r\n visible = _this$option4.visible;\r\n if (visible && (0, _window.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: function() {\r\n this._positionController.positionContent()\r\n },\r\n _isAllWindowCovered: function() {\r\n return (0, _type.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 = (0, _renderer.default)(_dom_adapter.default.getBody());\r\n var isIosSafari = \"ios\" === _devices.default.real().platform && _browser.default.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 = _dom_adapter.default.getDocumentElement();\r\n var isVisualContainerWindow = (0, _type.isWindow)($visualContainer.get(0));\r\n var wrapperWidth = isVisualContainerWindow ? documentElement.clientWidth : (0, _size.getOuterWidth)($visualContainer);\r\n var wrapperHeight = isVisualContainerWindow ? window.innerHeight : (0, _size.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 var _this12 = this;\r\n this._keyboardListenerId = _short.keyboard.on(this._$content, null, (function(opts) {\r\n return _this12._keyboardHandler(opts)\r\n }))\r\n },\r\n _keyboardHandler: function(options) {\r\n var e = options.originalEvent;\r\n var $target = (0, _renderer.default)(e.target);\r\n if ($target.is(this._$content) || !this.option(\"ignoreChildEvents\")) {\r\n this.callBase.apply(this, 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: function() {\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.default.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 _this13 = this;\r\n var value = args.value,\r\n name = args.name;\r\n if (this._getActionsList().includes(name)) {\r\n this._initActions();\r\n return\r\n }\r\n switch (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((function() {\r\n var _this13$_animateDefer;\r\n return null === (_this13$_animateDefer = _this13._animateDeferred) || void 0 === _this13$_animateDefer ? void 0 : _this13$_animateDefer.resolveWith(_this13)\r\n })).fail((function() {\r\n var _this13$_animateDefer2;\r\n return null === (_this13$_animateDefer2 = _this13._animateDeferred) || void 0 === _this13$_animateDefer2 ? void 0 : _this13$_animateDefer2.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(value);\r\n this._toggleHideTopOverlayCallback(this.option(\"visible\"));\r\n break;\r\n case \"hideOnParentScroll\":\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 = value;\r\n break;\r\n case \"preventScrollEvents\":\r\n this._logDeprecatedPreventScrollEventsInfo();\r\n this._toggleWrapperScrollEventsSubscription(value);\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n toggle: function(showing) {\r\n var _this14 = this;\r\n showing = void 0 === showing ? !this.option(\"visible\") : showing;\r\n var result = new _deferred.Deferred;\r\n if (showing === this.option(\"visible\")) {\r\n return result.resolveWith(this, [showing]).promise()\r\n }\r\n var animateDeferred = new _deferred.Deferred;\r\n this._animateDeferred = animateDeferred;\r\n this.option(\"visible\", showing);\r\n animateDeferred.promise().done((function() {\r\n delete _this14._animateDeferred;\r\n result.resolveWith(_this14, [_this14.option(\"visible\")])\r\n })).fail((function() {\r\n delete _this14._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 (0, _element.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 (0, _visibility_change.triggerResizeEvent)(this._$content)\r\n } else {\r\n this.callBase()\r\n }\r\n }\r\n});\r\nOverlay.baseZIndex = function(zIndex) {\r\n return zIndexPool.base(zIndex)\r\n};\r\n(0, _component_registrator.default)(\"dxOverlay\", Overlay);\r\nvar _default = Overlay;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/overlay/utils.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.getElementMaxHeightByWindow = void 0;\r\nvar _size = require(\"../../core/utils/size\");\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _window = require(\"../../core/utils/window\");\r\nvar _type = require(\"../../core/utils/type\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar WINDOW_HEIGHT_PERCENT = .9;\r\nvar getElementMaxHeightByWindow = function($element, startLocation) {\r\n var $window = (0, _renderer.default)((0, _window.getWindow)());\r\n var _$element$offset = $element.offset(),\r\n elementOffset = _$element$offset.top;\r\n var actualOffset;\r\n if ((0, _type.isNumeric)(startLocation)) {\r\n if (startLocation < elementOffset) {\r\n return elementOffset - startLocation\r\n } else {\r\n actualOffset = (0, _size.getInnerHeight)($window) - startLocation + $window.scrollTop()\r\n }\r\n } else {\r\n var offsetTop = elementOffset - $window.scrollTop();\r\n var offsetBottom = (0, _size.getInnerHeight)($window) - offsetTop - (0, _size.getOuterHeight)($element);\r\n actualOffset = Math.max(offsetTop, offsetBottom)\r\n }\r\n return actualOffset * WINDOW_HEIGHT_PERCENT\r\n};\r\nexports.getElementMaxHeightByWindow = getElementMaxHeightByWindow;\r\n","/**\r\n * DevExtreme (cjs/ui/overlay/z_index.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.remove = exports.isLastZIndexInStack = exports.create = exports.clearStack = exports.base = void 0;\r\nvar _common = require(\"../../core/utils/common\");\r\nvar baseZIndex = 1500;\r\nvar zIndexStack = [];\r\nvar base = function(ZIndex) {\r\n baseZIndex = (0, _common.ensureDefined)(ZIndex, baseZIndex);\r\n return baseZIndex\r\n};\r\nexports.base = base;\r\nvar 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\nexports.create = create;\r\nvar remove = function(zIndex) {\r\n var position = zIndexStack.indexOf(zIndex);\r\n if (position >= 0) {\r\n zIndexStack.splice(position, 1)\r\n }\r\n};\r\nexports.remove = remove;\r\nvar isLastZIndexInStack = function(zIndex) {\r\n return zIndexStack.length && zIndexStack[zIndexStack.length - 1] === zIndex\r\n};\r\nexports.isLastZIndexInStack = isLastZIndexInStack;\r\nvar clearStack = function() {\r\n zIndexStack = []\r\n};\r\nexports.clearStack = clearStack;\r\n","/**\r\n * DevExtreme (cjs/ui/pager.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _pager = _interopRequireDefault(require(\"../renovation/ui/pager/pager.j\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar _default = _pager.default;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/pivot_grid.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _ui = _interopRequireDefault(require(\"./pivot_grid/ui.pivot_grid\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar _default = _ui.default;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/pivot_grid/data_source.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _m_data_source = require(\"../../__internal/grids/pivot_grid/data_source/m_data_source\");\r\nvar _default = _m_data_source.PivotGridDataSource;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/pivot_grid/ui.pivot_grid.field_chooser.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _m_field_chooser = require(\"../../__internal/grids/pivot_grid/field_chooser/m_field_chooser\");\r\nvar _default = _m_field_chooser.FieldChooser;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/pivot_grid/ui.pivot_grid.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _m_widget = require(\"../../__internal/grids/pivot_grid/m_widget\");\r\nvar _default = _m_widget.PivotGrid;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/pivot_grid/xmla_store.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _m_xmla_store = require(\"../../__internal/grids/pivot_grid/xmla_store/m_xmla_store\");\r\nvar _default = _m_xmla_store.XmlaStore;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/pivot_grid_field_chooser.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _uiPivot_grid = _interopRequireDefault(require(\"./pivot_grid/ui.pivot_grid.field_chooser\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar _default = _uiPivot_grid.default;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/popover.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _uiPopover = _interopRequireDefault(require(\"./popover/ui.popover.full\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar _default = _uiPopover.default;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/popover/popover_position_controller.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.PopoverPositionController = exports.POPOVER_POSITION_ALIASES = void 0;\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _position = _interopRequireDefault(require(\"../../animation/position\"));\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _utils = require(\"../../renovation/ui/resizable/utils\");\r\nvar _size = require(\"../../core/utils/size\");\r\nvar _overlay_position_controller = require(\"../overlay/overlay_position_controller\");\r\nvar _excluded = [\"shading\", \"target\", \"$arrow\"];\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\n\r\nfunction _objectWithoutProperties(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = _objectWithoutPropertiesLoose(source, excluded);\r\n var key, i;\r\n if (Object.getOwnPropertySymbols) {\r\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\r\n for (i = 0; i < sourceSymbolKeys.length; i++) {\r\n key = sourceSymbolKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n }\r\n return target\r\n}\r\n\r\nfunction _objectWithoutPropertiesLoose(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = {};\r\n var sourceKeys = Object.keys(source);\r\n var key, i;\r\n for (i = 0; i < sourceKeys.length; i++) {\r\n key = sourceKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n return target\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\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\nexports.POPOVER_POSITION_ALIASES = POPOVER_POSITION_ALIASES;\r\nvar POPOVER_DEFAULT_BOUNDARY_OFFSET = {\r\n h: 10,\r\n v: 10\r\n};\r\nvar PopoverPositionController = function(_OverlayPositionContr) {\r\n _inheritsLoose(PopoverPositionController, _OverlayPositionContr);\r\n\r\n function PopoverPositionController(_ref) {\r\n var _this;\r\n var shading = _ref.shading,\r\n target = _ref.target,\r\n $arrow = _ref.$arrow,\r\n args = _objectWithoutProperties(_ref, _excluded);\r\n _this = _OverlayPositionContr.call(this, args) || this;\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 return _this\r\n }\r\n var _proto = PopoverPositionController.prototype;\r\n _proto.positionWrapper = function() {\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 _proto.updateTarget = function(target) {\r\n this._props.target = target;\r\n this.updatePosition(this._props.position)\r\n };\r\n _proto._renderBoundaryOffset = function() {};\r\n _proto._getContainerPosition = function() {\r\n var offset = (0, _common.pairToObject)(this._position.offset || \"\");\r\n var hOffset = offset.h,\r\n vOffset = offset.v;\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 ? (0, _size.getHeight)(this._$arrow) : (0, _size.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 (0, _extend.extend)({}, this._position, {\r\n offset: hOffset + \" \" + vOffset\r\n })\r\n };\r\n _proto._getContentBorderWidth = function(side) {\r\n var borderWidth = this._$content.css(_utils.borderWidthStyles[side]);\r\n return parseInt(borderWidth) || 0\r\n };\r\n _proto._isPopoverInside = function() {\r\n var my = _position.default.setup.normalizeAlign(this._position.my);\r\n var at = _position.default.setup.normalizeAlign(this._position.at);\r\n return my.h === at.h && my.v === at.v\r\n };\r\n _proto._isVerticalSide = function() {\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 _proto._isHorizontalSide = function() {\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 _proto._getDisplaySide = function(position) {\r\n var my = _position.default.setup.normalizeAlign(position.my);\r\n var at = _position.default.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 _proto._normalizePosition = function(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 ((0, _type.isDefined)(positionProp)) {\r\n resultPosition = (0, _extend.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 _proto._positionToObject = function(positionProp) {\r\n if ((0, _type.isString)(positionProp)) {\r\n return (0, _extend.extend)({}, POPOVER_POSITION_ALIASES[positionProp])\r\n }\r\n return positionProp\r\n };\r\n return PopoverPositionController\r\n}(_overlay_position_controller.OverlayPositionController);\r\nexports.PopoverPositionController = PopoverPositionController;\r\n","/**\r\n * DevExtreme (cjs/ui/popover/ui.popover.full.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nrequire(\"../toolbar\");\r\nvar _ui = _interopRequireDefault(require(\"../popover/ui.popover\"));\r\nvar _component_registrator = _interopRequireDefault(require(\"../../core/component_registrator\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar PopoverFull = function(_Popover) {\r\n _inheritsLoose(PopoverFull, _Popover);\r\n\r\n function PopoverFull() {\r\n return _Popover.apply(this, arguments) || this\r\n }\r\n var _proto = PopoverFull.prototype;\r\n _proto._getDefaultOptions = function() {\r\n return (0, _extend.extend)(_Popover.prototype._getDefaultOptions.call(this), {\r\n preventScrollEvents: false\r\n })\r\n };\r\n _proto._getToolbarName = function() {\r\n return \"dxToolbar\"\r\n };\r\n return PopoverFull\r\n}(_ui.default);\r\nexports.default = PopoverFull;\r\nPopoverFull.defaultOptions = function(rule) {\r\n _ui.default.defaultOptions(rule)\r\n};\r\n(0, _component_registrator.default)(\"dxPopover\", PopoverFull);\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/popover/ui.popover.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _size = require(\"../../core/utils/size\");\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _window = require(\"../../core/utils/window\");\r\nvar _element = require(\"../../core/element\");\r\nvar _dom_adapter = _interopRequireDefault(require(\"../../core/dom_adapter\"));\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _component_registrator = _interopRequireDefault(require(\"../../core/component_registrator\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _translator = require(\"../../animation/translator\");\r\nvar _position = _interopRequireDefault(require(\"../../animation/position\"));\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _math = require(\"../../core/utils/math\");\r\nvar _index = require(\"../../events/utils/index\");\r\nvar _ui = _interopRequireDefault(require(\"../widget/ui.errors\"));\r\nvar _ui2 = _interopRequireDefault(require(\"../popup/ui.popup\"));\r\nvar _position2 = require(\"../../core/utils/position\");\r\nvar _popover_position_controller = require(\"./popover_position_controller\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\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 (0, _type.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 (0, _type.isObject)(optionValue) && optionValue.delay\r\n};\r\nvar attachEvent = function(that, name) {\r\n var _that$option = that.option(),\r\n target = _that$option.target,\r\n shading = _that$option.shading,\r\n disabled = _that$option.disabled,\r\n hideEvent = _that$option.hideEvent;\r\n var isSelector = (0, _type.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 _ui.default.log(\"W1020\")\r\n }\r\n if (!event || disabled) {\r\n return\r\n }\r\n var eventName = (0, _index.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: (0, _renderer.default)(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 _events_engine.default.on(_dom_adapter.default.getDocument(), eventName, target, handler)\r\n } else {\r\n var targetElement = (0, _element.getPublicElement)((0, _renderer.default)(target));\r\n that[EVENT_HANDLER_NAME] = void 0;\r\n _events_engine.default.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 = (0, _index.addNamespace)(eventName, that.NAME);\r\n var EVENT_HANDLER_NAME = \"_\" + name + \"EventHandler\";\r\n if (that[EVENT_HANDLER_NAME]) {\r\n _events_engine.default.off(_dom_adapter.default.getDocument(), eventName, target, that[EVENT_HANDLER_NAME])\r\n } else {\r\n _events_engine.default.off((0, _element.getPublicElement)((0, _renderer.default)(target)), eventName)\r\n }\r\n};\r\nvar Popover = _ui2.default.inherit({\r\n _getDefaultOptions: function() {\r\n return (0, _extend.extend)(this.callBase(), {\r\n target: void 0,\r\n shading: false,\r\n position: (0, _extend.extend)({}, _popover_position_controller.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 !(0, _window.hasWindow)()\r\n },\r\n options: {\r\n animation: null\r\n }\r\n }]\r\n },\r\n _init: function() {\r\n var _this$option;\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 var isInteractive = null === (_this$option = this.option(\"toolbarItems\")) || void 0 === _this$option ? void 0 : _this$option.length;\r\n this.setAria(\"role\", isInteractive ? \"dialog\" : \"tooltip\")\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 = (0, _renderer.default)(\"<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 !(0, _renderer.default)(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 (0, _extend.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 = _position.default.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 (0, _translator.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 = _position.default.calculate(this.$overlayContent(), this._getContainerPosition());\r\n if (containerLocation.h.oversize > 0 && this._isHorizontalSide() && !containerLocation.h.fit) {\r\n var newContainerWidth = (0, _size.getWidth)(this.$overlayContent()) - containerLocation.h.oversize;\r\n (0, _size.setWidth)(this.$overlayContent(), newContainerWidth)\r\n }\r\n if (containerLocation.v.oversize > 0 && this._isVerticalSide() && !containerLocation.v.fit) {\r\n var newOverlayContentHeight = (0, _size.getHeight)(this.$overlayContent()) - containerLocation.v.oversize;\r\n var newPopupContentHeight = (0, _size.getHeight)(this.$content()) - containerLocation.v.oversize;\r\n (0, _size.setHeight)(this.$overlayContent(), newOverlayContentHeight);\r\n (0, _size.setHeight)(this.$content(), newPopupContentHeight)\r\n }\r\n },\r\n _getContainerPosition: function() {\r\n return this._positionController._getContainerPosition()\r\n },\r\n _hideOnParentScrollTarget: function() {\r\n return (0, _renderer.default)(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 = (0, _position2.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 = (0, _renderer.default)(this._positionController._position.of);\r\n var targetOffset = _position.default.offset($target) || {\r\n top: 0,\r\n left: 0\r\n };\r\n var contentOffset = _position.default.offset(this.$overlayContent());\r\n var arrowSize = arrowRect[sizeProperty];\r\n var contentLocation = contentOffset[axis];\r\n var contentSize = (0, _position2.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 ? (0, _position2.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 = (0, _math.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: function() {\r\n var _this$option2 = this.option(),\r\n shading = _this$option2.shading,\r\n target = _this$option2.target;\r\n return (0, _extend.extend)({}, this.callBase(), {\r\n target: target,\r\n shading: shading,\r\n $arrow: this._$arrow\r\n })\r\n },\r\n _initPositionController: function() {\r\n this._positionController = new _popover_position_controller.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\n(0, _component_registrator.default)(\"dxPopover\", Popover);\r\nvar _default = Popover;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/popup.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _uiPopup = _interopRequireDefault(require(\"./popup/ui.popup.full\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar _default = _uiPopup.default;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/popup/popup_drag.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _translator = require(\"../../animation/translator\");\r\nvar _dom_adapter = _interopRequireDefault(require(\"../../core/dom_adapter\"));\r\nvar _size = require(\"../../core/utils/size\");\r\nvar _math = require(\"../../core/utils/math\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _drag = require(\"../../events/drag\");\r\nvar _index = require(\"../../events/utils/index\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar KEYBOARD_DRAG_STEP = 5;\r\nvar PopupDrag = function() {\r\n function PopupDrag(config) {\r\n this.init(config)\r\n }\r\n var _proto = PopupDrag.prototype;\r\n _proto.init = function(_ref) {\r\n var dragEnabled = _ref.dragEnabled,\r\n handle = _ref.handle,\r\n draggableElement = _ref.draggableElement,\r\n positionController = _ref.positionController;\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 _proto.moveDown = function(e) {\r\n this._moveTo(KEYBOARD_DRAG_STEP, 0, e)\r\n };\r\n _proto.moveUp = function(e) {\r\n this._moveTo(-KEYBOARD_DRAG_STEP, 0, e)\r\n };\r\n _proto.moveLeft = function(e) {\r\n this._moveTo(0, -KEYBOARD_DRAG_STEP, e)\r\n };\r\n _proto.moveRight = function(e) {\r\n this._moveTo(0, KEYBOARD_DRAG_STEP, e)\r\n };\r\n _proto.subscribe = function() {\r\n var _this = this;\r\n var eventNames = this._getEventNames();\r\n _events_engine.default.on(this._handle, eventNames.startEventName, (function(e) {\r\n _this._dragStartHandler(e)\r\n }));\r\n _events_engine.default.on(this._handle, eventNames.updateEventName, (function(e) {\r\n _this._dragUpdateHandler(e)\r\n }));\r\n _events_engine.default.on(this._handle, eventNames.endEventName, (function(e) {\r\n _this._dragEndHandler(e)\r\n }))\r\n };\r\n _proto.unsubscribe = function() {\r\n var eventNames = this._getEventNames();\r\n _events_engine.default.off(this._handle, eventNames.startEventName);\r\n _events_engine.default.off(this._handle, eventNames.updateEventName);\r\n _events_engine.default.off(this._handle, eventNames.endEventName)\r\n };\r\n _proto._getEventNames = function() {\r\n var startEventName = (0, _index.addNamespace)(_drag.start, \"overlayDrag\");\r\n var updateEventName = (0, _index.addNamespace)(_drag.move, \"overlayDrag\");\r\n var endEventName = (0, _index.addNamespace)(_drag.end, \"overlayDrag\");\r\n return {\r\n startEventName: startEventName,\r\n updateEventName: updateEventName,\r\n endEventName: endEventName\r\n }\r\n };\r\n _proto._dragStartHandler = function(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 _proto._dragUpdateHandler = function(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 _proto._dragEndHandler = function(event) {\r\n this._positionController.dragHandled();\r\n this._positionController.detectVisualPositionChange(event)\r\n };\r\n _proto._moveTo = function(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 _proto._fitOffsetIntoAllowedRange = function(top, left) {\r\n var allowedOffsets = this._getAllowedOffsets();\r\n return {\r\n top: (0, _math.fitIntoRange)(top, -allowedOffsets.top, allowedOffsets.bottom),\r\n left: (0, _math.fitIntoRange)(left, -allowedOffsets.left, allowedOffsets.right)\r\n }\r\n };\r\n _proto._getContainerDimensions = function() {\r\n var document = _dom_adapter.default.getDocument();\r\n var container = this._positionController.$dragResizeContainer.get(0);\r\n var containerWidth = (0, _size.getOuterWidth)(container);\r\n var containerHeight = (0, _size.getOuterHeight)(container);\r\n if ((0, _type.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 _proto._getContainerPosition = function() {\r\n var container = this._positionController.$dragResizeContainer.get(0);\r\n return (0, _type.isWindow)(container) ? {\r\n top: 0,\r\n left: 0\r\n } : (0, _size.getOffset)(container)\r\n };\r\n _proto._getElementPosition = function() {\r\n return (0, _size.getOffset)(this._draggableElement)\r\n };\r\n _proto._getInnerDelta = function() {\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 _proto._getOuterDelta = function() {\r\n var _this$_getElementDime = this._getElementDimensions(),\r\n width = _this$_getElementDime.width,\r\n height = _this$_getElementDime.height;\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 _proto._getFullDelta = function() {\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 _proto._getElementDimensions = function() {\r\n return {\r\n width: this._draggableElement.offsetWidth,\r\n height: this._draggableElement.offsetHeight\r\n }\r\n };\r\n _proto._getAllowedOffsets = function() {\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 _proto._moveByOffset = function(offset) {\r\n var currentPosition = (0, _translator.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 (0, _translator.move)(this._draggableElement, newPosition)\r\n };\r\n return PopupDrag\r\n}();\r\nvar _default = PopupDrag;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/popup/popup_overflow_manager.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.createBodyOverflowManager = void 0;\r\nvar _window = require(\"../../core/utils/window\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _dom_adapter = _interopRequireDefault(require(\"../../core/dom_adapter\"));\r\nvar _devices = _interopRequireDefault(require(\"../../core/devices\"));\r\nvar _common = require(\"../../core/utils/common\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar overflowManagerMock = {\r\n setOverflow: _common.noop,\r\n restoreOverflow: _common.noop\r\n};\r\nvar createBodyOverflowManager = function() {\r\n if (!(0, _window.hasWindow)()) {\r\n return overflowManagerMock\r\n }\r\n var window = (0, _window.getWindow)();\r\n var documentElement = _dom_adapter.default.getDocument().documentElement;\r\n var body = _dom_adapter.default.getBody();\r\n var isIosDevice = \"ios\" === _devices.default.real().platform;\r\n var prevSettings = {\r\n overflow: null,\r\n overflowX: null,\r\n overflowY: null,\r\n paddingRight: null,\r\n position: null,\r\n top: null,\r\n left: null\r\n };\r\n var setBodyPaddingRight = function() {\r\n var scrollBarWidth = window.innerWidth - documentElement.clientWidth;\r\n if (prevSettings.paddingRight || scrollBarWidth <= 0) {\r\n return\r\n }\r\n var paddingRight = window.getComputedStyle(body).getPropertyValue(\"padding-right\");\r\n var computedBodyPaddingRight = parseInt(paddingRight, 10);\r\n prevSettings.paddingRight = computedBodyPaddingRight;\r\n body.style.setProperty(\"padding-right\", \"\".concat(computedBodyPaddingRight + scrollBarWidth, \"px\"))\r\n };\r\n var restoreBodyPaddingRight = function() {\r\n if (!(0, _type.isDefined)(prevSettings.paddingRight)) {\r\n return\r\n }\r\n if (prevSettings.paddingRight) {\r\n body.style.setProperty(\"padding-right\", \"\".concat(prevSettings.paddingRight, \"px\"))\r\n } else {\r\n body.style.removeProperty(\"padding-right\")\r\n }\r\n prevSettings.paddingRight = null\r\n };\r\n return {\r\n setOverflow: isIosDevice ? function() {\r\n if ((0, _type.isDefined)(prevSettings.position) || \"fixed\" === body.style.position) {\r\n return\r\n }\r\n var scrollY = window.scrollY,\r\n scrollX = window.scrollX;\r\n prevSettings.position = body.style.position;\r\n prevSettings.top = body.style.top;\r\n prevSettings.left = body.style.left;\r\n body.style.setProperty(\"position\", \"fixed\");\r\n body.style.setProperty(\"top\", \"\".concat(-scrollY, \"px\"));\r\n body.style.setProperty(\"left\", \"\".concat(-scrollX, \"px\"))\r\n } : function() {\r\n setBodyPaddingRight();\r\n if (prevSettings.overflow || \"hidden\" === body.style.overflow) {\r\n return\r\n }\r\n prevSettings.overflow = body.style.overflow;\r\n prevSettings.overflowX = body.style.overflowX;\r\n prevSettings.overflowY = body.style.overflowY;\r\n body.style.setProperty(\"overflow\", \"hidden\")\r\n },\r\n restoreOverflow: isIosDevice ? function() {\r\n if (!(0, _type.isDefined)(prevSettings.position)) {\r\n return\r\n }\r\n var scrollY = -parseInt(body.style.top, 10);\r\n var scrollX = -parseInt(body.style.left, 10);\r\n [\"position\", \"top\", \"left\"].forEach((function(property) {\r\n if (prevSettings[property]) {\r\n body.style.setProperty(property, prevSettings[property])\r\n } else {\r\n body.style.removeProperty(property)\r\n }\r\n }));\r\n window.scrollTo(scrollX, scrollY);\r\n prevSettings.position = null\r\n } : function() {\r\n restoreBodyPaddingRight();\r\n [\"overflow\", \"overflowX\", \"overflowY\"].forEach((function(property) {\r\n if (!(0, _type.isDefined)(prevSettings[property])) {\r\n return\r\n }\r\n var propertyInKebabCase = property.replace(/(X)|(Y)/, (function(symbol) {\r\n return \"-\".concat(symbol.toLowerCase())\r\n }));\r\n if (prevSettings[property]) {\r\n body.style.setProperty(propertyInKebabCase, prevSettings[property])\r\n } else {\r\n body.style.removeProperty(propertyInKebabCase)\r\n }\r\n prevSettings[property] = null\r\n }))\r\n }\r\n }\r\n};\r\nexports.createBodyOverflowManager = createBodyOverflowManager;\r\n","/**\r\n * DevExtreme (cjs/ui/popup/popup_position_controller.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.PopupPositionController = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _translator = require(\"../../animation/translator\");\r\nvar _window = require(\"../../core/utils/window\");\r\nvar _view_port = require(\"../../core/utils/view_port\");\r\nvar _overlay_position_controller = require(\"../overlay/overlay_position_controller\");\r\nvar _excluded = [\"fullScreen\", \"forceApplyBindings\", \"dragOutsideBoundary\", \"dragAndResizeArea\", \"outsideDragFactor\"];\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\n\r\nfunction _objectWithoutProperties(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = _objectWithoutPropertiesLoose(source, excluded);\r\n var key, i;\r\n if (Object.getOwnPropertySymbols) {\r\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\r\n for (i = 0; i < sourceSymbolKeys.length; i++) {\r\n key = sourceSymbolKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n }\r\n return target\r\n}\r\n\r\nfunction _objectWithoutPropertiesLoose(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = {};\r\n var sourceKeys = Object.keys(source);\r\n var key, i;\r\n for (i = 0; i < sourceKeys.length; i++) {\r\n key = sourceKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n return target\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar window = (0, _window.getWindow)();\r\nvar PopupPositionController = function(_OverlayPositionContr) {\r\n _inheritsLoose(PopupPositionController, _OverlayPositionContr);\r\n\r\n function PopupPositionController(_ref) {\r\n var _this;\r\n var fullScreen = _ref.fullScreen,\r\n forceApplyBindings = _ref.forceApplyBindings,\r\n dragOutsideBoundary = _ref.dragOutsideBoundary,\r\n dragAndResizeArea = _ref.dragAndResizeArea,\r\n outsideDragFactor = _ref.outsideDragFactor,\r\n args = _objectWithoutProperties(_ref, _excluded);\r\n _this = _OverlayPositionContr.call(this, args) || this;\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._updateDragResizeContainer();\r\n return _this\r\n }\r\n var _proto = PopupPositionController.prototype;\r\n _proto.updateContainer = function(containerProp) {\r\n _OverlayPositionContr.prototype.updateContainer.call(this, containerProp);\r\n this._updateDragResizeContainer()\r\n };\r\n _proto.dragHandled = function() {\r\n this.restorePositionOnNextRender(false)\r\n };\r\n _proto.resizeHandled = function() {\r\n this.restorePositionOnNextRender(false)\r\n };\r\n _proto.positionContent = function() {\r\n if (this._props.fullScreen) {\r\n (0, _translator.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 _OverlayPositionContr.prototype.positionContent.call(this)\r\n }\r\n };\r\n _proto._updateDragResizeContainer = function() {\r\n this._$dragResizeContainer = this._getDragResizeContainer()\r\n };\r\n _proto._getDragResizeContainer = function() {\r\n if (this._props.dragOutsideBoundary) {\r\n return (0, _renderer.default)(window)\r\n }\r\n if (this._props.dragAndResizeArea) {\r\n return (0, _renderer.default)(this._props.dragAndResizeArea)\r\n }\r\n var isContainerDefined = (0, _view_port.originalViewPort)().get(0) || this._props.container;\r\n return isContainerDefined ? this._$markupContainer : (0, _renderer.default)(window)\r\n };\r\n _proto._getVisualContainer = function() {\r\n if (this._props.fullScreen) {\r\n return (0, _renderer.default)(window)\r\n }\r\n return _OverlayPositionContr.prototype._getVisualContainer.call(this)\r\n };\r\n _proto._fullScreenEnabled = function() {\r\n this.restorePositionOnNextRender(false)\r\n };\r\n _proto._fullScreenDisabled = function() {\r\n this.restorePositionOnNextRender(true)\r\n };\r\n _createClass(PopupPositionController, [{\r\n key: \"fullScreen\",\r\n set: function(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 }, {\r\n key: \"$dragResizeContainer\",\r\n get: function() {\r\n return this._$dragResizeContainer\r\n }\r\n }, {\r\n key: \"outsideDragFactor\",\r\n get: function() {\r\n if (this._props.dragOutsideBoundary) {\r\n return 1\r\n }\r\n return this._props.outsideDragFactor\r\n },\r\n set: function(outsideDragFactor) {\r\n this._props.outsideDragFactor = outsideDragFactor\r\n }\r\n }, {\r\n key: \"dragAndResizeArea\",\r\n set: function(dragAndResizeArea) {\r\n this._props.dragAndResizeArea = dragAndResizeArea;\r\n this._updateDragResizeContainer()\r\n }\r\n }, {\r\n key: \"dragOutsideBoundary\",\r\n set: function(dragOutsideBoundary) {\r\n this._props.dragOutsideBoundary = dragOutsideBoundary;\r\n this._updateDragResizeContainer()\r\n }\r\n }]);\r\n return PopupPositionController\r\n}(_overlay_position_controller.OverlayPositionController);\r\nexports.PopupPositionController = PopupPositionController;\r\n","/**\r\n * DevExtreme (cjs/ui/popup/ui.popup.full.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nrequire(\"../toolbar\");\r\nvar _ui = _interopRequireDefault(require(\"../popup/ui.popup\"));\r\nvar _component_registrator = _interopRequireDefault(require(\"../../core/component_registrator\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar PopupFull = function(_Popup) {\r\n _inheritsLoose(PopupFull, _Popup);\r\n\r\n function PopupFull() {\r\n return _Popup.apply(this, arguments) || this\r\n }\r\n var _proto = PopupFull.prototype;\r\n _proto._getDefaultOptions = function() {\r\n return (0, _extend.extend)(_Popup.prototype._getDefaultOptions.call(this), {\r\n preventScrollEvents: false\r\n })\r\n };\r\n _proto._getToolbarName = function() {\r\n return \"dxToolbar\"\r\n };\r\n return PopupFull\r\n}(_ui.default);\r\nexports.default = PopupFull;\r\nPopupFull.defaultOptions = function(rule) {\r\n _ui.default.defaultOptions(rule)\r\n};\r\n(0, _component_registrator.default)(\"dxPopup\", PopupFull);\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/popup/ui.popup.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.default = void 0;\r\nvar _component_registrator = _interopRequireDefault(require(\"../../core/component_registrator\"));\r\nvar _devices = _interopRequireDefault(require(\"../../core/devices\"));\r\nvar _element = require(\"../../core/element\");\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _empty_template = require(\"../../core/templates/empty_template\");\r\nvar _browser = _interopRequireDefault(require(\"../../core/utils/browser\"));\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _inflector = require(\"../../core/utils/inflector\");\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _size = require(\"../../core/utils/size\");\r\nvar _position = require(\"../../core/utils/position\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _version = require(\"../../core/utils/version\");\r\nvar _window = require(\"../../core/utils/window\");\r\nvar _visibility_change = require(\"../../events/visibility_change\");\r\nvar _message = _interopRequireDefault(require(\"../../localization/message\"));\r\nvar _popup_drag = _interopRequireDefault(require(\"./popup_drag\"));\r\nvar _resizable = _interopRequireDefault(require(\"../resizable\"));\r\nvar _button = _interopRequireDefault(require(\"../button\"));\r\nvar _ui = _interopRequireDefault(require(\"../overlay/ui.overlay\"));\r\nvar _themes = require(\"../themes\");\r\nrequire(\"../toolbar/ui.toolbar.base\");\r\nvar _resize_observer = _interopRequireDefault(require(\"../../core/resize_observer\"));\r\nvar zIndexPool = _interopRequireWildcard(require(\"../overlay/z_index\"));\r\nvar _popup_position_controller = require(\"./popup_position_controller\");\r\nvar _popup_overflow_manager = require(\"./popup_overflow_manager\");\r\n\r\nfunction _getRequireWildcardCache(nodeInterop) {\r\n if (\"function\" !== typeof WeakMap) {\r\n return null\r\n }\r\n var cacheBabelInterop = new WeakMap;\r\n var cacheNodeInterop = new WeakMap;\r\n return (_getRequireWildcardCache = function(nodeInterop) {\r\n return nodeInterop ? cacheNodeInterop : cacheBabelInterop\r\n })(nodeInterop)\r\n}\r\n\r\nfunction _interopRequireWildcard(obj, nodeInterop) {\r\n if (!nodeInterop && obj && obj.__esModule) {\r\n return obj\r\n }\r\n if (null === obj || \"object\" !== _typeof(obj) && \"function\" !== typeof obj) {\r\n return {\r\n default: obj\r\n }\r\n }\r\n var cache = _getRequireWildcardCache(nodeInterop);\r\n if (cache && cache.has(obj)) {\r\n return cache.get(obj)\r\n }\r\n var newObj = {};\r\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\r\n for (var key in obj) {\r\n if (\"default\" !== key && Object.prototype.hasOwnProperty.call(obj, key)) {\r\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\r\n if (desc && (desc.get || desc.set)) {\r\n Object.defineProperty(newObj, key, desc)\r\n } else {\r\n newObj[key] = obj[key]\r\n }\r\n }\r\n }\r\n newObj.default = obj;\r\n if (cache) {\r\n cache.set(obj, newObj)\r\n }\r\n return newObj\r\n}\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar window = (0, _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 POPUP_CONTENT_SCROLLABLE_CLASS = \"dx-popup-content-scrollable\";\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.default.safari && (0, _version.compare)(_browser.default.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 = function(name) {\r\n var device = _devices.default.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 = _ui.default.inherit({\r\n _supportedKeys: function() {\r\n var _this = this;\r\n return (0, _extend.extend)(this.callBase(), {\r\n upArrow: function(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: function(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: function(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: function(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 (0, _extend.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 enableBodyScroll: true,\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 = (0, _themes.current)();\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.default.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.default.real().deviceType && !_devices.default.isSimulator()\r\n },\r\n options: {\r\n focusStateEnabled: true\r\n }\r\n }, {\r\n device: function() {\r\n return (0, _themes.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._createBodyOverflowManager();\r\n this._updateResizeCallbackSkipCondition();\r\n this.$element().addClass(POPUP_CLASS);\r\n this.$wrapper().addClass(popupWrapperClasses);\r\n this._$popupContent = this._$content.wrapInner((0, _renderer.default)(\"<div>\").addClass(POPUP_CONTENT_CLASS)).children().eq(0);\r\n this._toggleContentScrollClass();\r\n this.$overlayContent().attr(\"role\", \"dialog\")\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 _createBodyOverflowManager: function() {\r\n this._bodyOverflowManager = (0, _popup_overflow_manager.createBodyOverflowManager)()\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 _empty_template.EmptyTemplate,\r\n bottom: new _empty_template.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((function(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 (0, _type.isObject)(config) && (\"width\" in config || \"height\" in config)\r\n }))\r\n },\r\n _updateResizeCallbackSkipCondition: function() {\r\n var _this2 = this;\r\n var doesShowAnimationChangeDimensions = this._doesShowAnimationChangeDimensions();\r\n this._shouldSkipContentResize = function(entry) {\r\n return doesShowAnimationChangeDimensions && _this2._showAnimationProcessing || _this2._areContentDimensionsRendered(entry)\r\n }\r\n },\r\n _observeContentResize: function(shouldObserve) {\r\n var _this3 = this;\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 _resize_observer.default.observe(contentElement, (function(entry) {\r\n _this3._contentResizeHandler(entry)\r\n }))\r\n } else {\r\n _resize_observer.default.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: function() {\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.default.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 = (0, _renderer.default)(\"<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 _this$option = this.option(),\r\n rtlEnabled = _this$option.rtlEnabled,\r\n useDefaultToolbarButtons = _this$option.useDefaultToolbarButtons,\r\n useFlatToolbarButtons = _this$option.useFlatToolbarButtons,\r\n disabled = _this$option.disabled;\r\n var template = this._getTemplateByOption(optionName);\r\n var toolbarTemplate = template instanceof _empty_template.EmptyTemplate;\r\n if (toolbarTemplate) {\r\n var integrationOptions = (0, _extend.extend)({}, this.option(\"integrationOptions\"), {\r\n skipTemplates: [\"content\", \"title\"]\r\n });\r\n var toolbarOptions = (0, _extend.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 = (0, _renderer.default)(template.render({\r\n container: (0, _element.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: function() {\r\n this._observeContentResize(false);\r\n return this.callBase()\r\n },\r\n _executeTitleRenderAction: function($titleElement) {\r\n this._getTitleRenderAction()({\r\n titleElement: (0, _element.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 var _this4 = this;\r\n return function(_, __, container) {\r\n var $button = (0, _renderer.default)(\"<div>\").addClass(POPUP_TITLE_CLOSEBUTTON_CLASS);\r\n _this4._createComponent($button, _button.default, {\r\n icon: \"close\",\r\n onClick: _this4._createToolbarItemAction(void 0),\r\n stylingMode: \"text\",\r\n integrationOptions: {}\r\n });\r\n (0, _renderer.default)(container).append($button)\r\n }\r\n },\r\n _getToolbarItems: function(toolbar) {\r\n var _this5 = this;\r\n var toolbarItems = this.option(\"toolbarItems\");\r\n var toolbarsItems = [];\r\n this._toolbarItemClasses = [];\r\n var currentPlatform = _devices.default.current().platform;\r\n var index = 0;\r\n (0, _iterator.each)(toolbarItems, (function(_, data) {\r\n var isShortcut = (0, _type.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 (0, _extend.extend)(item, {\r\n location: data.location\r\n }, _this5._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: function() {\r\n return this.option(\"showCloseButton\") && this.option(\"showTitle\")\r\n },\r\n _getLocalizationKey: function(itemType) {\r\n return \"done\" === itemType.toLowerCase() ? \"OK\" : (0, _inflector.camelize)(itemType, true)\r\n },\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 = (0, _extend.extend)({\r\n text: _message.default.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 = (0, _renderer.default)(\"<div>\").addClass(itemClass).appendTo(container);\r\n that._createComponent($toolbarItem, _button.default, 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 = (0, _renderer.default)(\"<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.apply(this, arguments);\r\n this.$content().toggleClass(DISABLED_STATE_CLASS, Boolean(value))\r\n },\r\n _toggleClasses: function() {\r\n var _this6 = this;\r\n var aliases = ALLOWED_TOOLBAR_ITEM_ALIASES;\r\n (0, _iterator.each)(aliases, (function(_, alias) {\r\n var className = POPUP_CLASS + \"-\" + alias;\r\n if (_this6._toolbarItemClasses.includes(className)) {\r\n _this6.$wrapper().addClass(className + \"-visible\");\r\n _this6._$bottom.addClass(className)\r\n } else {\r\n _this6.$wrapper().removeClass(className + \"-visible\");\r\n _this6._$bottom.removeClass(className)\r\n }\r\n }))\r\n },\r\n _toggleFocusClass: function(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 _toggleContentScrollClass: function() {\r\n var isNativeScrollingEnabled = !this.option(\"preventScrollEvents\");\r\n this.$content().toggleClass(POPUP_CONTENT_SCROLLABLE_CLASS, isNativeScrollingEnabled)\r\n },\r\n _getPositionControllerConfig: function() {\r\n var _this$option2 = this.option(),\r\n fullScreen = _this$option2.fullScreen,\r\n forceApplyBindings = _this$option2.forceApplyBindings,\r\n dragOutsideBoundary = _this$option2.dragOutsideBoundary,\r\n dragAndResizeArea = _this$option2.dragAndResizeArea,\r\n outsideDragFactor = _this$option2.outsideDragFactor;\r\n return (0, _extend.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: function() {\r\n this._positionController = new _popup_position_controller.PopupPositionController(this._getPositionControllerConfig())\r\n },\r\n _getDragTarget: function() {\r\n return this.topToolbar()\r\n },\r\n _renderGeometry: function(options) {\r\n var _this$option3 = this.option(),\r\n visible = _this$option3.visible,\r\n useResizeObserver = _this$option3.useResizeObserver;\r\n if (visible && (0, _window.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((0, _size.getWidth)(this._$content), 10),\r\n height: parseInt((0, _size.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 _popup_drag.default(config)\r\n }\r\n this.$overlayContent().toggleClass(POPUP_DRAGGABLE_CLASS, dragEnabled)\r\n },\r\n _renderResize: function() {\r\n var _this7 = this;\r\n this._resizable = this._createComponent(this._$content, _resizable.default, {\r\n handles: this.option(\"resizeEnabled\") ? \"all\" : \"none\",\r\n onResizeEnd: function(e) {\r\n _this7._resizeEndHandler(e);\r\n _this7._observeContentResize(true)\r\n },\r\n onResize: function(e) {\r\n _this7._setContentHeight();\r\n _this7._actions.onResize(e)\r\n },\r\n onResizeStart: function(e) {\r\n _this7._observeContentResize(false);\r\n _this7._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\") || _common.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((0, _position.getBoundingRect)(overlayContent).height, (0, _window.getWindow)().innerHeight) : (0, _position.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 = (0, _renderer.default)(this._positionController.$visualContainer).get(0);\r\n var maxHeightValue = (0, _size.addOffsetToMaxHeight)(contentMaxHeight, -toolbarsAndVerticalOffsetsHeight, container);\r\n var minHeightValue = (0, _size.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: (0, _size.getVisibleHeight)(topToolbar && topToolbar.get(0)),\r\n footer: (0, _size.getVisibleHeight)(bottomToolbar && bottomToolbar.get(0)),\r\n contentVerticalOffsets: (0, _size.getVerticalOffsets)(this.$overlayContent().get(0), true),\r\n popupVerticalOffsets: (0, _size.getVerticalOffsets)(this.$content().get(0), true),\r\n popupVerticalPaddings: (0, _size.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 ((0, _window.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 _dispose: function() {\r\n this.callBase();\r\n this._toggleBodyScroll(true)\r\n },\r\n _renderFullscreenWidthClass: function() {\r\n this.$overlayContent().toggleClass(POPUP_FULL_SCREEN_WIDTH_CLASS, (0, _size.getOuterWidth)(this.$overlayContent()) === (0, _size.getWidth)(window))\r\n },\r\n _toggleSafariScrolling: function() {\r\n if (!this.option(\"enableBodyScroll\")) {\r\n return\r\n }\r\n this.callBase()\r\n },\r\n _toggleBodyScroll: function(enabled) {\r\n if (!this._bodyOverflowManager) {\r\n return\r\n }\r\n var _this$_bodyOverflowMa = this._bodyOverflowManager,\r\n setOverflow = _this$_bodyOverflowMa.setOverflow,\r\n restoreOverflow = _this$_bodyOverflowMa.restoreOverflow;\r\n if (enabled) {\r\n restoreOverflow()\r\n } else {\r\n setOverflow()\r\n }\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 name = args.name;\r\n switch (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 \"enableBodyScroll\":\r\n this._toggleBodyScroll(value);\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 (0, _visibility_change.triggerResizeEvent)(this.$overlayContent());\r\n break;\r\n case \"bottomTemplate\":\r\n this._renderBottom();\r\n this._renderGeometry();\r\n (0, _visibility_change.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(name, value);\r\n break;\r\n case \"onTitleRendered\":\r\n this._createTitleRenderAction(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 (0, _visibility_change.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 (0, _visibility_change.triggerResizeEvent)(this.$overlayContent());\r\n break;\r\n case \"fullScreen\":\r\n this._positionController.fullScreen = value;\r\n this._toggleFullScreenClass(value);\r\n this._toggleSafariScrolling();\r\n this._renderGeometry();\r\n (0, _visibility_change.triggerResizeEvent)(this.$overlayContent());\r\n break;\r\n case \"showCloseButton\":\r\n this._renderTitle();\r\n break;\r\n case \"preventScrollEvents\":\r\n this.callBase(args);\r\n this._toggleContentScrollClass();\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 (0, _element.getPublicElement)(this.$content())\r\n },\r\n $overlayContent: function() {\r\n return this._$content\r\n }\r\n});\r\n(0, _component_registrator.default)(\"dxPopup\", Popup);\r\nvar _default = Popup;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/progress_bar.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../core/renderer\"));\r\nvar _track_bar = _interopRequireDefault(require(\"./track_bar\"));\r\nvar _extend = require(\"../core/utils/extend\");\r\nvar _type = require(\"../core/utils/type\");\r\nvar _component_registrator = _interopRequireDefault(require(\"../core/component_registrator\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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 = _track_bar.default.inherit({\r\n _getDefaultOptions: function() {\r\n return (0, _extend.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 (0, _renderer.default)(\"<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 = (0, _renderer.default)(\"<div>\").addClass(PROGRESSBAR_STATUS_CLASS)\r\n },\r\n _renderIndeterminateState: function() {\r\n this._$segmentContainer = (0, _renderer.default)(\"<div>\").addClass(PROGRESSBAR_INDETERMINATE_SEGMENT_CONTAINER);\r\n var segments = this.option(\"_animatingSegmentCount\");\r\n for (var i = 0; i < segments; i++) {\r\n (0, _renderer.default)(\"<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 ((0, _type.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\n(0, _component_registrator.default)(\"dxProgressBar\", ProgressBar);\r\nvar _default = ProgressBar;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/radio_group.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _radio_group = _interopRequireDefault(require(\"./radio_group/radio_group\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar _default = _radio_group.default;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/radio_group/radio_button.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _devices = _interopRequireDefault(require(\"../../core/devices\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _component_registrator = _interopRequireDefault(require(\"../../core/component_registrator\"));\r\nvar _editor = _interopRequireDefault(require(\"../editor/editor\"));\r\nvar _index = require(\"../../events/utils/index\");\r\nvar _click = require(\"../../events/click\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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.default.inherit({\r\n _supportedKeys: function() {\r\n return (0, _extend.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 (0, _extend.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.default.real().deviceType && !_devices.default.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 = (0, _renderer.default)(\"<div>\").addClass(RADIO_BUTTON_ICON_CLASS);\r\n (0, _renderer.default)(\"<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 = (0, _index.addNamespace)(_click.name, this.NAME);\r\n this._clickAction = this._createAction(function(args) {\r\n this._clickHandler(args.event)\r\n }.bind(this));\r\n _events_engine.default.off(this.$element(), eventName);\r\n _events_engine.default.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\n(0, _component_registrator.default)(\"dxRadioButton\", RadioButton);\r\nvar _default = RadioButton;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/radio_group/radio_group.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _devices = _interopRequireDefault(require(\"../../core/devices\"));\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _component_registrator = _interopRequireDefault(require(\"../../core/component_registrator\"));\r\nvar _uiCollection_widget = _interopRequireDefault(require(\"../collection/ui.collection_widget.edit\"));\r\nvar _ui = _interopRequireDefault(require(\"../editor/ui.data_expression\"));\r\nvar _editor = _interopRequireDefault(require(\"../editor/editor\"));\r\nvar _deferred = require(\"../../core/utils/deferred\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\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\nvar RadioCollection = function(_CollectionWidget) {\r\n _inheritsLoose(RadioCollection, _CollectionWidget);\r\n\r\n function RadioCollection() {\r\n return _CollectionWidget.apply(this, arguments) || this\r\n }\r\n var _proto = RadioCollection.prototype;\r\n _proto._focusTarget = function() {\r\n return this.$element().parent()\r\n };\r\n _proto._nullValueSelectionSupported = function() {\r\n return true\r\n };\r\n _proto._getDefaultOptions = function() {\r\n var defaultOptions = _CollectionWidget.prototype._getDefaultOptions.call(this);\r\n return (0, _extend.extend)(defaultOptions, _ui.default._dataExpressionDefaultOptions(), {\r\n _itemAttributes: {\r\n role: \"radio\"\r\n }\r\n })\r\n };\r\n _proto._initMarkup = function() {\r\n var _this = this;\r\n _CollectionWidget.prototype._initMarkup.call(this);\r\n (0, _common.deferRender)((function() {\r\n _this.itemElements().addClass(RADIO_BUTTON_CLASS)\r\n }))\r\n };\r\n _proto._keyboardEventBindingTarget = function() {\r\n return this._focusTarget()\r\n };\r\n _proto._postprocessRenderItem = function(args) {\r\n var html = args.itemData.html,\r\n itemElement = args.itemElement;\r\n if (!html) {\r\n var $radio = (0, _renderer.default)(\"<div>\").addClass(RADIO_BUTTON_ICON_CLASS);\r\n (0, _renderer.default)(\"<div>\").addClass(RADIO_BUTTON_ICON_DOT_CLASS).appendTo($radio);\r\n var $radioContainer = (0, _renderer.default)(\"<div>\").append($radio).addClass(RADIO_VALUE_CONTAINER_CLASS);\r\n (0, _renderer.default)(itemElement).prepend($radioContainer)\r\n }\r\n _CollectionWidget.prototype._postprocessRenderItem.call(this, args)\r\n };\r\n _proto._processSelectableItem = function($itemElement, isSelected) {\r\n _CollectionWidget.prototype._processSelectableItem.call(this, $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 _proto._refreshContent = function() {\r\n this._prepareContent();\r\n this._renderContent()\r\n };\r\n _proto._supportedKeys = function() {\r\n var parent = _CollectionWidget.prototype._supportedKeys.call(this);\r\n return (0, _extend.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 _proto._itemElements = function() {\r\n return this._itemContainer().children(this._itemSelector())\r\n };\r\n _proto._setAriaSelectionAttribute = function() {};\r\n return RadioCollection\r\n}(_uiCollection_widget.default);\r\nvar RadioGroup = function(_Editor) {\r\n _inheritsLoose(RadioGroup, _Editor);\r\n\r\n function RadioGroup() {\r\n return _Editor.apply(this, arguments) || this\r\n }\r\n var _proto2 = RadioGroup.prototype;\r\n _proto2._dataSourceOptions = function() {\r\n return {\r\n paginate: false\r\n }\r\n };\r\n _proto2._defaultOptionsRules = function() {\r\n var defaultOptionsRules = _Editor.prototype._defaultOptionsRules.call(this);\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: function() {\r\n return \"desktop\" === _devices.default.real().deviceType && !_devices.default.isSimulator()\r\n },\r\n options: {\r\n focusStateEnabled: true\r\n }\r\n }])\r\n };\r\n _proto2._fireContentReadyAction = function(force) {\r\n force && _Editor.prototype._fireContentReadyAction.call(this)\r\n };\r\n _proto2._focusTarget = function() {\r\n return this.$element()\r\n };\r\n _proto2._getAriaTarget = function() {\r\n return this.$element()\r\n };\r\n _proto2._getDefaultOptions = function() {\r\n var defaultOptions = _Editor.prototype._getDefaultOptions.call(this);\r\n return (0, _extend.extend)(defaultOptions, (0, _extend.extend)(_ui.default._dataExpressionDefaultOptions(), {\r\n hoverStateEnabled: true,\r\n activeStateEnabled: true,\r\n layout: \"vertical\"\r\n }))\r\n };\r\n _proto2._getItemValue = function(item) {\r\n return this._valueGetter ? this._valueGetter(item) : item.text\r\n };\r\n _proto2._getSubmitElement = function() {\r\n return this._$submitElement\r\n };\r\n _proto2._init = function() {\r\n _Editor.prototype._init.call(this);\r\n this._activeStateUnit = \".\".concat(RADIO_BUTTON_CLASS);\r\n this._feedbackHideTimeout = RADIO_FEEDBACK_HIDE_TIMEOUT;\r\n this._initDataExpressions()\r\n };\r\n _proto2._initMarkup = function() {\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 _Editor.prototype._initMarkup.call(this)\r\n };\r\n _proto2._itemClickHandler = function(_ref) {\r\n var itemElement = _ref.itemElement,\r\n event = _ref.event,\r\n itemData = _ref.itemData;\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 _proto2._getSelectedItemKeys = function() {\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 || (0, _type.isDefined)(value);\r\n return shouldSelectValue ? [value] : []\r\n };\r\n _proto2._setSelection = function(currentValue) {\r\n var value = this._unwrappedValue(currentValue);\r\n this._setCollectionWidgetOption(\"selectedItemKeys\", this._getSelectedItemKeys(value))\r\n };\r\n _proto2._optionChanged = function(args) {\r\n var name = args.name,\r\n value = args.value;\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 _Editor.prototype._optionChanged.call(this, 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 _Editor.prototype._optionChanged.call(this, 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 _Editor.prototype._optionChanged.call(this, args)\r\n }\r\n };\r\n _proto2._render = function() {\r\n _Editor.prototype._render.call(this);\r\n this._updateItemsSize()\r\n };\r\n _proto2._renderLayout = function() {\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 _proto2._renderRadios = function() {\r\n var _this2 = this;\r\n this._areRadiosCreated = new _deferred.Deferred;\r\n var $radios = (0, _renderer.default)(\"<div>\").appendTo(this.$element());\r\n var _this$option = this.option(),\r\n displayExpr = _this$option.displayExpr,\r\n accessKey = _this$option.accessKey,\r\n focusStateEnabled = _this$option.focusStateEnabled,\r\n itemTemplate = _this$option.itemTemplate,\r\n tabIndex = _this$option.tabIndex;\r\n this._createComponent($radios, RadioCollection, {\r\n onInitialized: function(_ref2) {\r\n var component = _ref2.component;\r\n _this2._radios = component\r\n },\r\n onContentReady: function(e) {\r\n _this2._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 selectByClick: 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 _proto2._renderSubmitElement = function() {\r\n this._$submitElement = (0, _renderer.default)(\"<input>\").attr(\"type\", \"hidden\").appendTo(this.$element());\r\n this._setSubmitValue()\r\n };\r\n _proto2._setOptionsByReference = function() {\r\n _Editor.prototype._setOptionsByReference.call(this);\r\n (0, _extend.extend)(this._optionsByReference, {\r\n value: true\r\n })\r\n };\r\n _proto2._setSubmitValue = function(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 _proto2._setCollectionWidgetOption = function() {\r\n this._areRadiosCreated.done(this._setWidgetOption.bind(this, \"_radios\", arguments))\r\n };\r\n _proto2._updateItemsSize = function() {\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 _proto2.focus = function() {\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 _proto2.itemElements = function() {\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 return RadioGroup\r\n}(_editor.default);\r\nRadioGroup.include(_ui.default);\r\n(0, _component_registrator.default)(\"dxRadioGroup\", RadioGroup);\r\nvar _default = RadioGroup;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/range_slider.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _size = require(\"../core/utils/size\");\r\nvar _renderer = _interopRequireDefault(require(\"../core/renderer\"));\r\nvar _events_engine = _interopRequireDefault(require(\"../events/core/events_engine\"));\r\nvar _slider = _interopRequireDefault(require(\"./slider\"));\r\nvar _ui = _interopRequireDefault(require(\"./slider/ui.slider_handle\"));\r\nvar _component_registrator = _interopRequireDefault(require(\"../core/component_registrator\"));\r\nvar _extend = require(\"../core/utils/extend\");\r\nvar _common = require(\"../core/utils/common\");\r\nvar _index = require(\"../events/utils/index\");\r\nvar _message = _interopRequireDefault(require(\"../localization/message\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _slicedToArray(arr, i) {\r\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest()\r\n}\r\n\r\nfunction _nonIterableRest() {\r\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _unsupportedIterableToArray(o, minLen) {\r\n if (!o) {\r\n return\r\n }\r\n if (\"string\" === typeof o) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n var n = Object.prototype.toString.call(o).slice(8, -1);\r\n if (\"Object\" === n && o.constructor) {\r\n n = o.constructor.name\r\n }\r\n if (\"Map\" === n || \"Set\" === n) {\r\n return Array.from(o)\r\n }\r\n if (\"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n}\r\n\r\nfunction _arrayLikeToArray(arr, len) {\r\n if (null == len || len > arr.length) {\r\n len = arr.length\r\n }\r\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\r\n arr2[i] = arr[i]\r\n }\r\n return arr2\r\n}\r\n\r\nfunction _iterableToArrayLimit(arr, i) {\r\n var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"];\r\n if (null != _i) {\r\n var _s, _e, _x, _r, _arr = [],\r\n _n = !0,\r\n _d = !1;\r\n try {\r\n if (_x = (_i = _i.call(arr)).next, 0 === i) {\r\n if (Object(_i) !== _i) {\r\n return\r\n }\r\n _n = !1\r\n } else {\r\n for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) {}\r\n }\r\n } catch (err) {\r\n _d = !0, _e = err\r\n } finally {\r\n try {\r\n if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) {\r\n return\r\n }\r\n } finally {\r\n if (_d) {\r\n throw _e\r\n }\r\n }\r\n }\r\n return _arr\r\n }\r\n}\r\n\r\nfunction _arrayWithHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return arr\r\n }\r\n}\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.default.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 _events_engine.default.trigger(that._capturedHandle, \"focus\")\r\n }\r\n };\r\n var _setHandleValue = function(e, step, sign) {\r\n var isStart = (0, _renderer.default)(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 (0, _extend.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 = (0, _renderer.default)(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 = (0, _renderer.default)(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 (0, _extend.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 = (0, _renderer.default)(\"<input>\").attr(\"type\", \"hidden\").attr(\"name\", this.option(\"startName\")).appendTo($element);\r\n this._$submitEndElement = (0, _renderer.default)(\"<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 = (0, _size.getWidth)($range);\r\n var eventOffsetX = (0, _index.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\", _message.default.getFormatter(\"dxRangeSlider-ariaFrom\")(this.option(\"dxRangeSlider-ariaFrom\")), this._$handleStart);\r\n this.setAria(\"label\", _message.default.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 _ui.default.getInstance(this._activeHandle()).fitTooltipPosition;\r\n this._changeValueOnSwipe(newRatio);\r\n var _this$_getActualValue = this._getActualValue(),\r\n _this$_getActualValue2 = _slicedToArray(_this$_getActualValue, 2),\r\n startValue = _this$_getActualValue2[0],\r\n endValue = _this$_getActualValue2[1];\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 _events_engine.default.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 _this$_getActualValue3 = this._getActualValue(),\r\n _this$_getActualValue4 = _slicedToArray(_this$_getActualValue3, 2),\r\n start = _this$_getActualValue4[0],\r\n end = _this$_getActualValue4[1];\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 _this$_getActualValue5 = this._getActualValue(),\r\n _this$_getActualValue6 = _slicedToArray(_this$_getActualValue5, 2),\r\n valStart = _this$_getActualValue6[0],\r\n valEnd = _this$_getActualValue6[1];\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((0, _common.applyServerDecimalSeparator)(valStart));\r\n this._$submitEndElement.val((0, _common.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 _ui.default.getInstance(this._$handleStart).option(\"value\", valStart);\r\n _ui.default.getInstance(this._$handleEnd).option(\"value\", valEnd)\r\n },\r\n _callHandlerMethod: function(name, args) {\r\n _ui.default.getInstance(this._$handleStart)[name](args);\r\n _ui.default.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\n(0, _component_registrator.default)(\"dxRangeSlider\", RangeSlider);\r\nvar _default = RangeSlider;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/resizable.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _size = require(\"../core/utils/size\");\r\nvar _translator = require(\"../animation/translator\");\r\nvar _component_registrator = _interopRequireDefault(require(\"../core/component_registrator\"));\r\nvar _dom_component = _interopRequireDefault(require(\"../core/dom_component\"));\r\nvar _renderer = _interopRequireDefault(require(\"../core/renderer\"));\r\nvar _common = require(\"../core/utils/common\");\r\nvar _extend = require(\"../core/utils/extend\");\r\nvar _iterator = require(\"../core/utils/iterator\");\r\nvar _math = require(\"../core/utils/math\");\r\nvar _type = require(\"../core/utils/type\");\r\nvar _window = require(\"../core/utils/window\");\r\nvar _events_engine = _interopRequireDefault(require(\"../events/core/events_engine\"));\r\nvar _drag = require(\"../events/drag\");\r\nvar _index = require(\"../events/utils/index\");\r\nvar _visibility_change = require(\"../events/visibility_change\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\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 = (0, _index.addNamespace)(_drag.start, RESIZABLE);\r\nvar DRAGSTART_EVENT_NAME = (0, _index.addNamespace)(_drag.move, RESIZABLE);\r\nvar DRAGSTART_END_EVENT_NAME = (0, _index.addNamespace)(_drag.end, 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 = _dom_component.default.inherit({\r\n _getDefaultOptions: function() {\r\n return (0, _extend.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 var _this = this;\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 (0, _iterator.each)(directions, (function(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 = (0, _renderer.default)(\"<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((function(handleElement) {\r\n _events_engine.default.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((function(handleElement) {\r\n _events_engine.default.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: (0, _size.getOuterWidth)($element),\r\n height: (0, _size.getOuterHeight)($element)\r\n } : {\r\n width: (0, _size.getWidth)($element),\r\n height: (0, _size.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 = (0, _translator.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 = (0, _renderer.default)(e.target).closest(\".\" + RESIZABLE_HANDLE_CLASS);\r\n var handleWidth = (0, _size.getOuterWidth)($handle);\r\n var handleHeight = (0, _size.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 ((0, _type.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 x = _ref.x,\r\n y = _ref.y;\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 _this2;\r\n var directionName = this._getDirectionName(axis);\r\n return Math.min(value, null !== (_this2 = this[\"_\".concat(directionName, \"MaxOffset\")]) && void 0 !== _this2 ? _this2 : 1 / 0)\r\n },\r\n _fitDeltaProportionally: function(delta) {\r\n var _this3 = this;\r\n var fittedDelta = _extends({}, delta);\r\n var size = this._elementSize;\r\n var _this$option = this.option(),\r\n minWidth = _this$option.minWidth,\r\n minHeight = _this$option.minHeight,\r\n maxWidth = _this$option.maxWidth,\r\n maxHeight = _this$option.maxHeight;\r\n var getWidth = function() {\r\n return size.width + fittedDelta.x\r\n };\r\n var getHeight = function() {\r\n return size.height + fittedDelta.y\r\n };\r\n var isInArea = function(axis) {\r\n return fittedDelta[axis] === _this3._fitIntoArea(axis, fittedDelta[axis])\r\n };\r\n var isFittedX = function() {\r\n return (0, _math.inRange)(getWidth(), minWidth, maxWidth) && isInArea(\"x\")\r\n };\r\n var isFittedY = function() {\r\n return (0, _math.inRange)(getHeight(), minHeight, maxHeight) && isInArea(\"y\")\r\n };\r\n if (!isFittedX()) {\r\n var x = this._fitIntoArea(\"x\", (0, _math.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\", (0, _math.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 x = _ref2.x,\r\n y = _ref2.y;\r\n var size = this._elementSize;\r\n var _this$option2 = this.option(),\r\n minWidth = _this$option2.minWidth,\r\n minHeight = _this$option2.minHeight,\r\n maxWidth = _this$option2.maxWidth,\r\n maxHeight = _this$option2.maxHeight;\r\n return {\r\n x: (0, _math.fitIntoRange)(size.width + x, minWidth, maxWidth) - size.width,\r\n y: (0, _math.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 width = _ref3.width,\r\n height = _ref3.height;\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 (0, _translator.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 = function(size) {\r\n return \"px\" === size.substring(size.length - 2)\r\n };\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 width = _ref4.width,\r\n height = _ref4.height;\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 (0, _visibility_change.triggerResizeEvent)(this.$element())\r\n },\r\n _isCornerHandler: function(sides) {\r\n return 0 === Object.values(sides).reduce((function(xor, value) {\r\n return xor ^ value\r\n }), 0)\r\n },\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 (0, _common.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 || function(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 = function(steps, offset) {\r\n return (1 + .2 * sign(offset)) % 1 * steps\r\n };\r\n var isSmallOffset = function(offset, steps) {\r\n return Math.abs(offset) < .2 * steps\r\n };\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 = (0, _renderer.default)(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 ((0, _type.isFunction)(area)) {\r\n area = area.call(this)\r\n }\r\n if ((0, _type.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 = !(0, _type.isFunction)(area) && !(0, _type.isPlainObject)(area);\r\n var scrollOffset = {\r\n scrollY: 0,\r\n scrollX: 0\r\n };\r\n if (isElement) {\r\n var areaElement = (0, _renderer.default)(area)[0];\r\n if ((0, _type.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 = (0, _renderer.default)(area);\r\n var result;\r\n if ($area.length) {\r\n result = {\r\n width: (0, _size.getInnerWidth)($area),\r\n height: (0, _size.getInnerHeight)($area),\r\n offset: (0, _extend.extend)({\r\n top: 0,\r\n left: 0\r\n }, (0, _type.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 -= (0, _size.getOuterWidth)(this.$element()) - (0, _size.getInnerWidth)(this.$element());\r\n result.height -= (0, _size.getOuterHeight)(this.$element()) - (0, _size.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: (0, _size.getOuterWidth)($element),\r\n height: (0, _size.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\", (0, _math.fitIntoRange)(width, this.option(\"minWidth\"), this.option(\"maxWidth\")))\r\n },\r\n _renderHeight: function(height) {\r\n this.option(\"height\", (0, _math.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 (0, _window.hasWindow)() && this._renderWidth((0, _size.getOuterWidth)(this.$element()));\r\n break;\r\n case \"minHeight\":\r\n case \"maxHeight\":\r\n (0, _window.hasWindow)() && this._renderHeight((0, _size.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\n(0, _component_registrator.default)(RESIZABLE, Resizable);\r\nvar _default = Resizable;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/responsive_box.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _size = require(\"../core/utils/size\");\r\nvar _renderer = _interopRequireDefault(require(\"../core/renderer\"));\r\nvar _common = require(\"../core/utils/common\");\r\nvar _type = require(\"../core/utils/type\");\r\nvar _ui = _interopRequireDefault(require(\"./widget/ui.errors\"));\r\nvar _window = require(\"../core/utils/window\");\r\nvar _iterator = require(\"../core/utils/iterator\");\r\nvar _extend = require(\"../core/utils/extend\");\r\nvar _component_registrator = _interopRequireDefault(require(\"../core/component_registrator\"));\r\nvar _box = _interopRequireDefault(require(\"./box\"));\r\nvar _uiCollection_widget = _interopRequireDefault(require(\"./collection/ui.collection_widget.edit\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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 = _uiCollection_widget.default.inherit({\r\n _getDefaultOptions: function() {\r\n return (0, _extend.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\", _window.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 (0, _iterator.each)(this._rows, function() {\r\n var row = [];\r\n grid.push(row);\r\n (0, _iterator.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 && (0, _type.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 (0, _iterator.each)(this._screenItems, (function(index, item) {\r\n (0, _extend.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 (0, _iterator.map)(this._filterByScreen(sizeConfigs), function(sizeConfig) {\r\n return (0, _extend.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 (0, _common.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 (0, _window.hasWindow)() ? (0, _size.getWidth)((0, _window.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 (0, _iterator.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 var _this = this;\r\n return this.option(\"items\").reduce((function(result, item) {\r\n var locations = item.location || {};\r\n locations = (0, _type.isPlainObject)(locations) ? [locations] : locations;\r\n _this._filterByScreen(locations).forEach((function(location) {\r\n result.push({\r\n item: item,\r\n location: (0, _extend.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 }(0, _extend.extend)(itemCell, itemInfo);\r\n this._markSpanningCell(itemCell)\r\n },\r\n _isItemCellOccupied: function(itemCell, itemInfo) {\r\n if (!(0, _type.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 || !(0, _type.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 (0, _extend.extend)(cell, {\r\n item: itemCell.item,\r\n spanningCell: itemCell\r\n })\r\n }))\r\n },\r\n _linkNodeToItem: function() {\r\n (0, _iterator.each)(this._itemElements(), (function(_, itemNode) {\r\n var $item = (0, _renderer.default)(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: [(0, _extend.extend)(result, {\r\n ratio: 1\r\n })]\r\n });\r\n (0, _extend.extend)(rootBox, this._rootBoxConfig(rootBox.items));\r\n this._$root = (0, _renderer.default)(\"<div>\").appendTo(this._itemContainer());\r\n this._createComponent(this._$root, _box.default, rootBox)\r\n },\r\n _rootBoxConfig: function(items) {\r\n var rootItems = (0, _iterator.each)(items, function(index, item) {\r\n this._needApplyAutoBaseSize(item) && (0, _extend.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 (0, _extend.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 _ui.default.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 (0, _extend.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 = (0, _extend.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 ((0, _type.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 }(0, _iterator.each)(this._assistantRoots, (function(_, item) {\r\n (0, _renderer.default)(item).remove()\r\n }))\r\n },\r\n _clearItemNodeTemplates: function() {\r\n (0, _iterator.each)(this.option(\"items\"), (function() {\r\n delete this.node\r\n }))\r\n },\r\n _attachClickEvent: _common.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\n(0, _component_registrator.default)(\"dxResponsiveBox\", ResponsiveBox);\r\nvar _default = ResponsiveBox;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/scheduler.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _ui = _interopRequireDefault(require(\"./scheduler/ui.scheduler\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar _default = _ui.default;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/scheduler/appointmentAdapter.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = exports.createAppointmentAdapter = void 0;\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _ui = _interopRequireDefault(require(\"../widget/ui.errors\"));\r\nvar _object = require(\"../../core/utils/object\");\r\nvar _recurrence = require(\"./recurrence\");\r\nvar _expressionUtils = require(\"./expressionUtils\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\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\nvar AppointmentAdapter = function() {\r\n function AppointmentAdapter(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 var _proto = AppointmentAdapter.prototype;\r\n _proto.getField = function(property) {\r\n return _expressionUtils.ExpressionUtils.getField(this.dataAccessors, property, this.rawAppointment)\r\n };\r\n _proto.setField = function(property, value) {\r\n return _expressionUtils.ExpressionUtils.setField(this.dataAccessors, property, this.rawAppointment, value)\r\n };\r\n _proto.calculateStartDate = function(pathTimeZoneConversion) {\r\n if (!this.startDate || isNaN(this.startDate.getTime())) {\r\n throw _ui.default.Error(\"E1032\", this.text)\r\n }\r\n return this.calculateDate(this.startDate, this.startDateTimeZone, pathTimeZoneConversion)\r\n };\r\n _proto.calculateEndDate = function(pathTimeZoneConversion) {\r\n return this.calculateDate(this.endDate, this.endDateTimeZone, pathTimeZoneConversion)\r\n };\r\n _proto.calculateDate = function(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 _proto.clone = function() {\r\n var options = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : void 0;\r\n var result = new AppointmentAdapter((0, _object.deepExtendArraySafe)({}, this.rawAppointment), this.dataAccessors, this.timeZoneCalculator, options);\r\n if (null !== options && void 0 !== options && 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 _proto.source = function() {\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 (0, _extend.extend)({}, this.rawAppointment)\r\n };\r\n _createClass(AppointmentAdapter, [{\r\n key: \"duration\",\r\n get: function() {\r\n return this.endDate ? this.endDate - this.startDate : 0\r\n }\r\n }, {\r\n key: \"startDate\",\r\n get: function() {\r\n var result = this.getField(PROPERTY_NAMES.startDate);\r\n return void 0 === result ? result : new Date(result)\r\n },\r\n set: function(value) {\r\n this.setField(PROPERTY_NAMES.startDate, value)\r\n }\r\n }, {\r\n key: \"endDate\",\r\n get: function() {\r\n var result = this.getField(PROPERTY_NAMES.endDate);\r\n return void 0 === result ? result : new Date(result)\r\n },\r\n set: function(value) {\r\n this.setField(PROPERTY_NAMES.endDate, value)\r\n }\r\n }, {\r\n key: \"allDay\",\r\n get: function() {\r\n return this.getField(PROPERTY_NAMES.allDay)\r\n },\r\n set: function(value) {\r\n this.setField(PROPERTY_NAMES.allDay, value)\r\n }\r\n }, {\r\n key: \"text\",\r\n get: function() {\r\n return this.getField(PROPERTY_NAMES.text)\r\n },\r\n set: function(value) {\r\n this.setField(PROPERTY_NAMES.text, value)\r\n }\r\n }, {\r\n key: \"description\",\r\n get: function() {\r\n return this.getField(PROPERTY_NAMES.description)\r\n },\r\n set: function(value) {\r\n this.setField(PROPERTY_NAMES.description, value)\r\n }\r\n }, {\r\n key: \"startDateTimeZone\",\r\n get: function() {\r\n return this.getField(PROPERTY_NAMES.startDateTimeZone)\r\n }\r\n }, {\r\n key: \"endDateTimeZone\",\r\n get: function() {\r\n return this.getField(PROPERTY_NAMES.endDateTimeZone)\r\n }\r\n }, {\r\n key: \"recurrenceRule\",\r\n get: function() {\r\n return this.getField(PROPERTY_NAMES.recurrenceRule)\r\n },\r\n set: function(value) {\r\n this.setField(PROPERTY_NAMES.recurrenceRule, value)\r\n }\r\n }, {\r\n key: \"recurrenceException\",\r\n get: function() {\r\n return this.getField(PROPERTY_NAMES.recurrenceException)\r\n },\r\n set: function(value) {\r\n this.setField(PROPERTY_NAMES.recurrenceException, value)\r\n }\r\n }, {\r\n key: \"disabled\",\r\n get: function() {\r\n return !!this.getField(PROPERTY_NAMES.disabled)\r\n }\r\n }, {\r\n key: \"isRecurrent\",\r\n get: function() {\r\n return (0, _recurrence.getRecurrenceProcessor)().isValidRecurrenceRule(this.recurrenceRule)\r\n }\r\n }]);\r\n return AppointmentAdapter\r\n}();\r\nvar _default = AppointmentAdapter;\r\nexports.default = _default;\r\nvar createAppointmentAdapter = function(rawAppointment, dataAccessors, timeZoneCalculator, options) {\r\n return new AppointmentAdapter(rawAppointment, dataAccessors, timeZoneCalculator, options)\r\n};\r\nexports.createAppointmentAdapter = createAppointmentAdapter;\r\n","/**\r\n * DevExtreme (cjs/ui/scheduler/appointmentDragBehavior.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _draggable = _interopRequireDefault(require(\"../draggable\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _constants = require(\"./constants\");\r\nvar _isSchedulerComponent = require(\"./utils/isSchedulerComponent\");\r\nvar _deferred = require(\"../../core/utils/deferred\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar APPOINTMENT_ITEM_CLASS = \"dx-scheduler-appointment\";\r\nvar AppointmentDragBehavior = function() {\r\n function AppointmentDragBehavior(scheduler) {\r\n this.scheduler = scheduler;\r\n this.workspace = scheduler._workSpace;\r\n this.appointments = 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 var _proto = AppointmentDragBehavior.prototype;\r\n _proto.isAllDay = function(appointment) {\r\n return appointment.data(\"dxAppointmentSettings\").allDay\r\n };\r\n _proto.onDragStart = function(e) {\r\n var itemSettings = e.itemSettings,\r\n itemData = e.itemData,\r\n initialPosition = e.initialPosition;\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 _proto.onDragMove = function(e) {\r\n if (e.fromComponent !== e.toComponent) {\r\n this.appointments.notifyObserver(\"removeDroppableCellClass\")\r\n }\r\n };\r\n _proto.getAppointmentElement = function(e) {\r\n var itemElement = e.event.data && e.event.data.itemElement || e.itemElement;\r\n return (0, _renderer.default)(itemElement)\r\n };\r\n _proto.onDragEnd = function(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 _proto.onDragCancel = function() {\r\n this.removeDroppableClasses()\r\n };\r\n _proto.getItemData = function(appointmentElement) {\r\n var dataFromTooltip = (0, _renderer.default)(appointmentElement).data(_constants.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 _proto.getItemSettings = function(appointment) {\r\n var itemData = (0, _renderer.default)(appointment).data(_constants.LIST_ITEM_DATA_KEY);\r\n return itemData && itemData.settings || []\r\n };\r\n _proto.createDragStartHandler = function(options, appointmentDragging) {\r\n var _this = this;\r\n return function(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 _proto.createDragMoveHandler = function(options, appointmentDragging) {\r\n return function(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 _proto.createDragEndHandler = function(options, appointmentDragging) {\r\n var _this2 = this;\r\n return function(e) {\r\n var updatedData = _this2.appointments.invoke(\"getUpdatedData\", e.itemData);\r\n _this2.appointmentInfo = null;\r\n e.toItemData = (0, _extend.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 _this2.removeDroppableClasses()\r\n }\r\n if (true !== e.cancel && (0, _isSchedulerComponent.isSchedulerComponent)(e.toComponent)) {\r\n var targetDragBehavior = e.toComponent._getDragBehavior();\r\n targetDragBehavior.dragBetweenComponentsPromise = new _deferred.Deferred\r\n }\r\n }\r\n };\r\n _proto.createDropHandler = function(appointmentDragging) {\r\n var _this3 = this;\r\n return function(e) {\r\n var updatedData = _this3.appointments.invoke(\"getUpdatedData\", e.itemData);\r\n e.itemData = (0, _extend.extend)({}, e.itemData, updatedData);\r\n if (e.fromComponent !== e.toComponent) {\r\n appointmentDragging.onAdd && appointmentDragging.onAdd(e)\r\n }\r\n if (_this3.dragBetweenComponentsPromise) {\r\n _this3.dragBetweenComponentsPromise.resolve()\r\n }\r\n }\r\n };\r\n _proto.addTo = function(container, config) {\r\n var appointmentDragging = this.scheduler.option(\"appointmentDragging\") || {};\r\n var options = (0, _extend.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.default, (0, _extend.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 _proto.updateDragSource = function(appointment, settings) {\r\n var appointmentInfo = this.appointmentInfo;\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 _proto.removeDroppableClasses = function() {\r\n this.appointments._removeDragSourceClassFromDraggedAppointment();\r\n this.workspace.removeDroppableCellClass()\r\n };\r\n return AppointmentDragBehavior\r\n}();\r\nexports.default = AppointmentDragBehavior;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/scheduler/appointmentPopup/form.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.AppointmentForm = exports.APPOINTMENT_FORM_GROUP_NAMES = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../../core/renderer\"));\r\nvar _form = _interopRequireDefault(require(\"../../form\"));\r\nvar _date_serialization = _interopRequireDefault(require(\"../../../core/utils/date_serialization\"));\r\nvar _message = _interopRequireDefault(require(\"../../../localization/message\"));\r\nvar _devices = _interopRequireDefault(require(\"../../../core/devices\"));\r\nvar _data_source = _interopRequireDefault(require(\"../../../data/data_source\"));\r\nvar _utils = _interopRequireDefault(require(\"../timezones/utils.timezones_data\"));\r\nvar _extend = require(\"../../../core/utils/extend\");\r\nvar _date = _interopRequireDefault(require(\"../../../core/utils/date\"));\r\nvar _semaphore = require(\"../../../renovation/ui/scheduler/utils/semaphore/semaphore\");\r\nrequire(\"../recurrence_editor\");\r\nrequire(\"../../text_area\");\r\nrequire(\"../../tag_box\");\r\nrequire(\"../../switch\");\r\nrequire(\"../../select_box\");\r\nvar _appointmentAdapter = require(\"../appointmentAdapter\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\n\r\nfunction _toConsumableArray(arr) {\r\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread()\r\n}\r\n\r\nfunction _nonIterableSpread() {\r\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _unsupportedIterableToArray(o, minLen) {\r\n if (!o) {\r\n return\r\n }\r\n if (\"string\" === typeof o) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n var n = Object.prototype.toString.call(o).slice(8, -1);\r\n if (\"Object\" === n && o.constructor) {\r\n n = o.constructor.name\r\n }\r\n if (\"Map\" === n || \"Set\" === n) {\r\n return Array.from(o)\r\n }\r\n if (\"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n}\r\n\r\nfunction _iterableToArray(iter) {\r\n if (\"undefined\" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter[\"@@iterator\"]) {\r\n return Array.from(iter)\r\n }\r\n}\r\n\r\nfunction _arrayWithoutHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return _arrayLikeToArray(arr)\r\n }\r\n}\r\n\r\nfunction _arrayLikeToArray(arr, len) {\r\n if (null == len || len > arr.length) {\r\n len = arr.length\r\n }\r\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\r\n arr2[i] = arr[i]\r\n }\r\n return arr2\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\nvar SCREEN_SIZE_OF_SINGLE_COLUMN = 600;\r\nvar APPOINTMENT_FORM_GROUP_NAMES = {\r\n Main: \"mainGroup\",\r\n Recurrence: \"recurrenceGroup\"\r\n};\r\nexports.APPOINTMENT_FORM_GROUP_NAMES = APPOINTMENT_FORM_GROUP_NAMES;\r\nvar getStartDateWithStartHour = function(startDate, startDayHour) {\r\n return new Date(new Date(startDate).setHours(startDayHour))\r\n};\r\nvar validateAppointmentFormDate = function(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 = function(recurrenceRuleExpr, value, form) {\r\n var _form$getEditor;\r\n form.itemOption(APPOINTMENT_FORM_GROUP_NAMES.Recurrence, \"visible\", value);\r\n !value && form.updateData(recurrenceRuleExpr, \"\");\r\n null === (_form$getEditor = form.getEditor(recurrenceRuleExpr)) || void 0 === _form$getEditor ? void 0 : _form$getEditor.changeValueByVisibility(value)\r\n};\r\nvar createDateBoxEditor = function(dataField, colSpan, firstDayOfWeek, label, onValueChanged) {\r\n return {\r\n editorType: \"dxDateBox\",\r\n dataField: dataField,\r\n colSpan: colSpan,\r\n label: {\r\n text: _message.default.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\n};\r\nvar AppointmentForm = function() {\r\n function AppointmentForm(scheduler) {\r\n this.scheduler = scheduler;\r\n this.form = null;\r\n this.semaphore = new _semaphore.Semaphore\r\n }\r\n var _proto = AppointmentForm.prototype;\r\n _proto.create = function(triggerResize, changeSize, formData) {\r\n var _this = this;\r\n var allowTimeZoneEditing = this.scheduler.getEditingConfig().allowTimeZoneEditing;\r\n var _this$scheduler$getDa = this.scheduler.getDataAccessors(),\r\n expr = _this$scheduler$getDa.expr;\r\n var recurrenceEditorVisibility = !!formData[expr.recurrenceRuleExpr];\r\n var colSpan = recurrenceEditorVisibility ? 1 : 2;\r\n var mainItems = [].concat(_toConsumableArray(this._createMainItems(expr, triggerResize, changeSize, allowTimeZoneEditing)), _toConsumableArray(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 = (0, _renderer.default)(\"<div>\");\r\n this.form = this.scheduler.createComponent(element, _form.default, {\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 customizeItem: function(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((function(i) {\r\n return i.dataField === dataExprs.startDateTimeZoneExpr\r\n }));\r\n var endTimeZoneEditor = e.items.find((function(i) {\r\n return i.dataField === dataExprs.endDateTimeZoneExpr\r\n }));\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: function(width) {\r\n return width < SCREEN_SIZE_OF_SINGLE_COLUMN || \"desktop\" !== _devices.default.current().deviceType ? \"xs\" : \"lg\"\r\n }\r\n })\r\n };\r\n _proto.createTimeZoneDataSource = function(date) {\r\n return new _data_source.default({\r\n store: _utils.default.getDisplayedTimeZones(date),\r\n paginate: true,\r\n pageSize: 10\r\n })\r\n };\r\n _proto._createAppointmentAdapter = function(rawAppointment) {\r\n return (0, _appointmentAdapter.createAppointmentAdapter)(rawAppointment, this.scheduler.getDataAccessors())\r\n };\r\n _proto._dateBoxValueChanged = function(args, dateExpr, isNeedCorrect) {\r\n validateAppointmentFormDate(args.component, args.value, args.previousValue);\r\n var value = _date_serialization.default.deserializeDate(args.value);\r\n var previousValue = _date_serialization.default.deserializeDate(args.previousValue);\r\n var dateEditor = this.form.getEditor(dateExpr);\r\n var dateValue = _date_serialization.default.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 _proto._createTimezoneEditor = function(timeZoneExpr, secondTimeZoneExpr, visibleIndex, colSpan, isMainTimeZone) {\r\n var _this2 = this;\r\n var visible = arguments.length > 5 && void 0 !== arguments[5] ? arguments[5] : false;\r\n var noTzTitle = _message.default.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: function(args) {\r\n var form = _this2.form;\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 _proto._createDateBoxItems = function(dataExprs, allowTimeZoneEditing) {\r\n var _this3 = this;\r\n var colSpan = allowTimeZoneEditing ? 2 : 1;\r\n var firstDayOfWeek = this.scheduler.getFirstDayOfWeek();\r\n return [createDateBoxEditor(dataExprs.startDateExpr, colSpan, firstDayOfWeek, \"dxScheduler-editorLabelStartDate\", (function(args) {\r\n _this3._dateBoxValueChanged(args, dataExprs.endDateExpr, (function(endValue, startValue) {\r\n return endValue < startValue\r\n }))\r\n })), this._createTimezoneEditor(dataExprs.startDateTimeZoneExpr, dataExprs.endDateTimeZoneExpr, 1, colSpan, true, allowTimeZoneEditing), createDateBoxEditor(dataExprs.endDateExpr, colSpan, firstDayOfWeek, \"dxScheduler-editorLabelEndDate\", (function(args) {\r\n _this3._dateBoxValueChanged(args, dataExprs.startDateExpr, (function(startValue, endValue) {\r\n return endValue < startValue\r\n }))\r\n })), this._createTimezoneEditor(dataExprs.endDateTimeZoneExpr, dataExprs.startDateTimeZoneExpr, 3, colSpan, false, allowTimeZoneEditing)]\r\n };\r\n _proto._changeFormItemDateType = function(itemPath, isAllDay) {\r\n var itemEditorOptions = this.form.itemOption(itemPath).editorOptions;\r\n var type = isAllDay ? \"date\" : \"datetime\";\r\n var newEditorOption = _extends({}, itemEditorOptions, {\r\n type: type\r\n });\r\n this.form.itemOption(itemPath, \"editorOptions\", newEditorOption)\r\n };\r\n _proto._createMainItems = function(dataExprs, triggerResize, changeSize, allowTimeZoneEditing) {\r\n var _this4 = this;\r\n return [{\r\n dataField: dataExprs.textExpr,\r\n editorType: \"dxTextBox\",\r\n colSpan: 2,\r\n label: {\r\n text: _message.default.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: _message.default.format(\"dxScheduler-allDay\"),\r\n location: \"right\"\r\n },\r\n editorOptions: {\r\n onValueChanged: function(args) {\r\n var value = args.value;\r\n var startDateEditor = _this4.form.getEditor(dataExprs.startDateExpr);\r\n var endDateEditor = _this4.form.getEditor(dataExprs.endDateExpr);\r\n var startDate = _date_serialization.default.deserializeDate(startDateEditor.option(\"value\"));\r\n if (_this4.semaphore.isFree() && startDate) {\r\n if (value) {\r\n var allDayStartDate = _date.default.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, _this4.scheduler.getStartDayHour());\r\n var endDate = _this4.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 _this4._changeFormItemDateType(startDateItemPath, value);\r\n _this4._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: _message.default.format(\"dxScheduler-editorLabelRecurrence\"),\r\n location: \"right\"\r\n },\r\n editorOptions: {\r\n onValueChanged: function(args) {\r\n var form = _this4.form;\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: _message.default.format(\"dxScheduler-editorLabelDescription\")\r\n }\r\n }, {\r\n itemType: \"empty\",\r\n colSpan: 2\r\n }]\r\n };\r\n _proto._createRecurrenceEditor = function(dataExprs) {\r\n var _this5 = this;\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: function() {\r\n return _this5._createAppointmentAdapter(_this5.formData).startDateTimeZone\r\n }\r\n },\r\n label: {\r\n text: \" \",\r\n visible: false\r\n }\r\n }]\r\n };\r\n _proto.setEditorsType = function(allDay) {\r\n var _this$scheduler$getDa2 = this.scheduler.getDataAccessors().expr,\r\n startDateExpr = _this$scheduler$getDa2.startDateExpr,\r\n endDateExpr = _this$scheduler$getDa2.endDateExpr;\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 _proto.updateRecurrenceEditorStartDate = function(date, expression) {\r\n var options = {\r\n startDate: date\r\n };\r\n this.setEditorOptions(expression, \"Recurrence\", options)\r\n };\r\n _proto.setEditorOptions = function(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\", (0, _extend.extend)({}, editor.editorOptions, options))\r\n };\r\n _proto.setTimeZoneEditorDataSource = function(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 _proto.updateFormData = function(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 _createClass(AppointmentForm, [{\r\n key: \"dxForm\",\r\n get: function() {\r\n return this.form\r\n }\r\n }, {\r\n key: \"readOnly\",\r\n set: function(value) {\r\n this.form.option(\"readOnly\", value);\r\n var recurrenceRuleExpr = this.scheduler.getDataAccessors().expr.recurrenceRuleExpr;\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 }, {\r\n key: \"formData\",\r\n get: function() {\r\n return this.form.option(\"formData\")\r\n },\r\n set: function(value) {\r\n this.form.option(\"formData\", value)\r\n }\r\n }]);\r\n return AppointmentForm\r\n}();\r\nexports.AppointmentForm = AppointmentForm;\r\n","/**\r\n * DevExtreme (cjs/ui/scheduler/appointmentPopup/popup.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.AppointmentPopup = exports.ACTION_TO_APPOINTMENT = void 0;\r\nvar _devices = _interopRequireDefault(require(\"../../../core/devices\"));\r\nvar _renderer = _interopRequireDefault(require(\"../../../core/renderer\"));\r\nvar _date = _interopRequireDefault(require(\"../../../core/utils/date\"));\r\nvar _deferred = require(\"../../../core/utils/deferred\");\r\nvar _visibility_change = require(\"../../../events/visibility_change\");\r\nvar _ui = _interopRequireDefault(require(\"../../popup/ui.popup\"));\r\nvar _loading = require(\"../loading\");\r\nvar _appointmentAdapter = require(\"../appointmentAdapter\");\r\nvar _utils = require(\"../resources/utils\");\r\nvar _popup_config = require(\"../../../renovation/ui/scheduler/appointment_edit_form/popup_config\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\nvar toMs = _date.default.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 preventScrollEvents: false,\r\n enableBodyScroll: false,\r\n defaultOptionsRules: [{\r\n device: function() {\r\n return _devices.default.current().android\r\n },\r\n options: {\r\n showTitle: false\r\n }\r\n }]\r\n};\r\nvar ACTION_TO_APPOINTMENT = {\r\n CREATE: 0,\r\n UPDATE: 1,\r\n EXCLUDE_FROM_SERIES: 2\r\n};\r\nexports.ACTION_TO_APPOINTMENT = ACTION_TO_APPOINTMENT;\r\nvar AppointmentPopup = function() {\r\n function AppointmentPopup(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 var _proto = AppointmentPopup.prototype;\r\n _proto.show = function(appointment, config) {\r\n var _this = this;\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\", (0, _popup_config.getPopupToolbarItems)(config.isToolbarVisible, (function(e) {\r\n return _this._doneButtonClickHandler(e)\r\n })));\r\n this.popup.show()\r\n };\r\n _proto.hide = function() {\r\n this.popup.hide()\r\n };\r\n _proto.dispose = function() {\r\n var _this$popup;\r\n null === (_this$popup = this.popup) || void 0 === _this$popup ? void 0 : _this$popup.$element().remove()\r\n };\r\n _proto._createPopup = function(options) {\r\n var popupElement = (0, _renderer.default)(\"<div>\").addClass(APPOINTMENT_POPUP_CLASS).appendTo(this.scheduler.getElement());\r\n return this.scheduler.createComponent(popupElement, _ui.default, options)\r\n };\r\n _proto._createPopupConfig = function() {\r\n var _this2 = this;\r\n return _extends({}, POPUP_CONFIG, {\r\n onHiding: function() {\r\n return _this2.scheduler.focus()\r\n },\r\n contentTemplate: function() {\r\n return _this2._createPopupContent()\r\n },\r\n onShowing: function(e) {\r\n return _this2._onShowing(e)\r\n },\r\n wrapperAttr: {\r\n class: APPOINTMENT_POPUP_CLASS\r\n }\r\n })\r\n };\r\n _proto._onShowing = function(e) {\r\n var _this3 = this;\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, (function(canceled) {\r\n if (canceled) {\r\n e.cancel = true\r\n } else {\r\n _this3.updatePopupFullScreenMode()\r\n }\r\n }))\r\n };\r\n _proto._createPopupContent = function() {\r\n this._createForm();\r\n return this.form.dxForm.$element()\r\n };\r\n _proto._createFormData = function(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 = (0, _utils.getNormalizedResources)(rawAppointment, dataAccessors, resources);\r\n return _extends({}, rawAppointment, normalizedResources, {\r\n repeat: !!appointment.recurrenceRule\r\n })\r\n };\r\n _proto._createForm = function() {\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 _proto._isReadOnly = function(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 _proto._createAppointmentAdapter = function(rawAppointment) {\r\n return (0, _appointmentAdapter.createAppointmentAdapter)(rawAppointment, this.scheduler.getDataAccessors(), this.scheduler.getTimeZoneCalculator())\r\n };\r\n _proto._updateForm = function() {\r\n var data = this.state.appointment.data;\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 _proto.triggerResize = function() {\r\n if (this.popup) {\r\n (0, _visibility_change.triggerResizeEvent)(this.popup.$element())\r\n }\r\n };\r\n _proto.changeSize = function(isRecurrence) {\r\n if (this.popup) {\r\n var isFullScreen = (0, _popup_config.isPopupFullScreenNeeded)();\r\n var maxWidth = isFullScreen ? \"100%\" : (0, _popup_config.getMaxWidth)(isRecurrence);\r\n this.popup.option(\"fullScreen\", isFullScreen);\r\n this.popup.option(\"maxWidth\", maxWidth)\r\n }\r\n };\r\n _proto.updatePopupFullScreenMode = function() {\r\n if (this.form.dxForm) {\r\n var formData = this.form.formData;\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 _proto.saveChangesAsync = function(isShowLoadPanel) {\r\n var _this4 = this;\r\n var deferred = new _deferred.Deferred;\r\n var validation = this.form.dxForm.validate();\r\n isShowLoadPanel && this._showLoadPanel();\r\n (0, _deferred.when)(validation && validation.complete || validation).done((function(validation) {\r\n if (validation && !validation.isValid) {\r\n (0, _loading.hide)();\r\n deferred.resolve(false);\r\n return\r\n }\r\n var adapter = _this4._createAppointmentAdapter(_this4.form.formData);\r\n var clonedAdapter = adapter.clone({\r\n pathTimeZone: \"fromAppointment\"\r\n });\r\n _this4._addMissingDSTTime(adapter, clonedAdapter);\r\n var appointment = clonedAdapter.source();\r\n delete appointment.repeat;\r\n switch (_this4.state.action) {\r\n case ACTION_TO_APPOINTMENT.CREATE:\r\n _this4.scheduler.addAppointment(appointment).done(deferred.resolve);\r\n break;\r\n case ACTION_TO_APPOINTMENT.UPDATE:\r\n _this4.scheduler.updateAppointment(_this4.state.appointment.data, appointment).done(deferred.resolve);\r\n break;\r\n case ACTION_TO_APPOINTMENT.EXCLUDE_FROM_SERIES:\r\n _this4.scheduler.updateAppointment(_this4.state.excludeInfo.sourceAppointment, _this4.state.excludeInfo.updatedAppointment);\r\n _this4.scheduler.addAppointment(appointment).done(deferred.resolve)\r\n }\r\n deferred.done((function() {\r\n (0, _loading.hide)();\r\n _this4.state.lastEditData = appointment\r\n }))\r\n }));\r\n return deferred.promise()\r\n };\r\n _proto._doneButtonClickHandler = function(e) {\r\n e.cancel = true;\r\n this.saveEditDataAsync()\r\n };\r\n _proto.saveEditDataAsync = function() {\r\n var _this5 = this;\r\n var deferred = new _deferred.Deferred;\r\n if (this._tryLockSaveChanges()) {\r\n (0, _deferred.when)(this.saveChangesAsync(true)).done((function() {\r\n if (_this5.state.lastEditData) {\r\n var adapter = _this5._createAppointmentAdapter(_this5.state.lastEditData);\r\n var startDate = adapter.startDate,\r\n endDate = adapter.endDate,\r\n allDay = adapter.allDay;\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 = _this5.scheduler.getDataAccessors();\r\n var resourceList = _this5.scheduler.getResources();\r\n var normalizedResources = (0, _utils.getNormalizedResources)(_this5.state.lastEditData, dataAccessors, resourceList);\r\n _this5.scheduler.updateScrollPosition(startDate, normalizedResources, inAllDayRow);\r\n _this5.state.lastEditData = null\r\n }\r\n _this5._unlockSaveChanges();\r\n deferred.resolve()\r\n }))\r\n }\r\n return deferred.promise()\r\n };\r\n _proto._showLoadPanel = function() {\r\n var container = this.popup.$overlayContent();\r\n (0, _loading.show)({\r\n container: container,\r\n position: {\r\n of: container\r\n }\r\n })\r\n };\r\n _proto._tryLockSaveChanges = function() {\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 _proto._unlockSaveChanges = function() {\r\n this.state.saveChangesLocker = false\r\n };\r\n _proto._addMissingDSTTime = function(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 _proto._addMissingDSTShiftToDate = function(timeZoneCalculator, originFormDate, clonedDate) {\r\n var _timeZoneCalculator$g, _timeZoneCalculator$g2;\r\n var originTimezoneShift = null === (_timeZoneCalculator$g = timeZoneCalculator.getOffsets(originFormDate)) || void 0 === _timeZoneCalculator$g ? void 0 : _timeZoneCalculator$g.common;\r\n var clonedTimezoneShift = null === (_timeZoneCalculator$g2 = timeZoneCalculator.getOffsets(clonedDate)) || void 0 === _timeZoneCalculator$g2 ? void 0 : _timeZoneCalculator$g2.common;\r\n var shiftDifference = originTimezoneShift - clonedTimezoneShift;\r\n return shiftDifference ? new Date(clonedDate.getTime() + shiftDifference * toMs(\"hour\")) : clonedDate\r\n };\r\n _createClass(AppointmentPopup, [{\r\n key: \"visible\",\r\n get: function() {\r\n return this.popup ? this.popup.option(\"visible\") : false\r\n }\r\n }]);\r\n return AppointmentPopup\r\n}();\r\nexports.AppointmentPopup = AppointmentPopup;\r\n","/**\r\n * DevExtreme (cjs/ui/scheduler/appointments.layout_manager.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _viewModelGenerator = require(\"./appointments/viewModelGenerator\");\r\nvar _utils = require(\"./resources/utils\");\r\nvar _positionHelper = require(\"./workspaces/helpers/positionHelper\");\r\nvar _base = require(\"../../renovation/ui/scheduler/view_model/to_test/views/utils/base\");\r\nvar _appointments = require(\"../../renovation/ui/scheduler/model/appointments\");\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\nvar AppointmentLayoutManager = function() {\r\n function AppointmentLayoutManager(instance) {\r\n this.instance = instance;\r\n this.appointmentViewModel = new _viewModelGenerator.AppointmentViewModelGenerator\r\n }\r\n var _proto = AppointmentLayoutManager.prototype;\r\n _proto.getCellDimensions = function(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 };\r\n _proto._getRenderingStrategyOptions = function() {\r\n var workspace = this.instance.getWorkSpace();\r\n var _this$instance$getWor = this.instance.getWorkSpace(),\r\n virtualScrollingDispatcher = _this$instance$getWor.virtualScrollingDispatcher;\r\n var cellCountInsideLeftVirtualCell = virtualScrollingDispatcher.cellCountInsideLeftVirtualCell,\r\n cellCountInsideTopVirtualRow = virtualScrollingDispatcher.cellCountInsideTopVirtualRow;\r\n var groupCount = (0, _utils.getGroupCount)(this.instance.option(\"loadedResources\"));\r\n var DOMMetaData = workspace.getDOMElementsMetaData();\r\n var allDayHeight = (0, _positionHelper.getAllDayHeight)(workspace.option(\"showAllDayPanel\"), workspace._isVerticalGroupedWorkSpace(), DOMMetaData);\r\n var rowCount = workspace._getRowCount();\r\n var positionHelper = workspace.positionHelper,\r\n viewDataProvider = workspace.viewDataProvider;\r\n var visibleDayDuration = viewDataProvider.getVisibleDayDuration(workspace.option(\"startDayHour\"), workspace.option(\"endDayHour\"), workspace.option(\"hoursInterval\"));\r\n var cellDuration = (0, _base.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: (0, _positionHelper.getCellWidth)(DOMMetaData),\r\n cellHeight: (0, _positionHelper.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 _proto.createAppointmentsMap = function(items) {\r\n var renderingStrategyOptions = this._getRenderingStrategyOptions();\r\n var _this$appointmentView = this.appointmentViewModel.generate(items, renderingStrategyOptions),\r\n viewModel = _this$appointmentView.viewModel,\r\n positionMap = _this$appointmentView.positionMap;\r\n this._positionMap = positionMap;\r\n return viewModel\r\n };\r\n _proto._isDataChanged = function(data) {\r\n var appointmentDataProvider = this.instance.appointmentDataProvider;\r\n var updatedData = appointmentDataProvider.getUpdatedAppointment();\r\n return updatedData === data || appointmentDataProvider.getUpdatedAppointmentKeys().some((function(item) {\r\n return data[item.key] === item.value\r\n }))\r\n };\r\n _proto._isAppointmentShouldAppear = function(currentAppointment, sourceAppointment) {\r\n return currentAppointment.needRepaint && sourceAppointment.needRemove\r\n };\r\n _proto._isSettingChanged = function(settings, sourceSetting) {\r\n if (settings.length !== sourceSetting.length) {\r\n return true\r\n }\r\n var createSettingsToCompare = function(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({}, 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 (!(0, _common.equalByValue)(newSettings, oldSettings)) {\r\n return true\r\n }\r\n }\r\n return false\r\n };\r\n _proto._getAssociatedSourceAppointment = function(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 _proto._getDeletedAppointments = function(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 _proto.getRepaintedAppointments = function(currentAppointments, sourceAppointments) {\r\n var _this = this;\r\n if (0 === sourceAppointments.length || \"agenda\" === this.appointmentRenderingStrategyName) {\r\n return currentAppointments\r\n }\r\n currentAppointments.forEach((function(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 _proto.getRenderingStrategyInstance = function() {\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 _createClass(AppointmentLayoutManager, [{\r\n key: \"appointmentRenderingStrategyName\",\r\n get: function() {\r\n return (0, _appointments.getAppointmentRenderingStrategyName)(this.instance.currentViewType)\r\n }\r\n }]);\r\n return AppointmentLayoutManager\r\n}();\r\nvar _default = AppointmentLayoutManager;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/scheduler/appointments/appointment.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.Appointment = exports.AgendaAppointment = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../../core/renderer\"));\r\nvar _events_engine = _interopRequireDefault(require(\"../../../events/core/events_engine\"));\r\nvar _translator = require(\"../../../animation/translator\");\r\nvar _recurrence = require(\"../recurrence\");\r\nvar _extend = require(\"../../../core/utils/extend\");\r\nvar _component_registrator = _interopRequireDefault(require(\"../../../core/component_registrator\"));\r\nvar _ui = require(\"../../tooltip/ui.tooltip\");\r\nvar _index = require(\"../../../events/utils/index\");\r\nvar _pointer = _interopRequireDefault(require(\"../../../events/pointer\"));\r\nvar _dom_component = _interopRequireDefault(require(\"../../../core/dom_component\"));\r\nvar _resizable = _interopRequireDefault(require(\"../../resizable\"));\r\nvar _message = _interopRequireDefault(require(\"../../../localization/message\"));\r\nvar _date = _interopRequireDefault(require(\"../../../localization/date\"));\r\nvar _classes = require(\"../classes\");\r\nvar _deferred = require(\"../../../core/utils/deferred\");\r\nvar _expressionUtils = require(\"../expressionUtils\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar DEFAULT_HORIZONTAL_HANDLES = \"left right\";\r\nvar DEFAULT_VERTICAL_HANDLES = \"top bottom\";\r\nvar REDUCED_APPOINTMENT_POINTERENTER_EVENT_NAME = (0, _index.addNamespace)(_pointer.default.enter, \"dxSchedulerAppointment\");\r\nvar REDUCED_APPOINTMENT_POINTERLEAVE_EVENT_NAME = (0, _index.addNamespace)(_pointer.default.leave, \"dxSchedulerAppointment\");\r\nvar Appointment = function(_DOMComponent) {\r\n _inheritsLoose(Appointment, _DOMComponent);\r\n\r\n function Appointment() {\r\n return _DOMComponent.apply(this, arguments) || this\r\n }\r\n var _proto = Appointment.prototype;\r\n _proto._getDefaultOptions = function() {\r\n return (0, _extend.extend)(_DOMComponent.prototype._getDefaultOptions.call(this), {\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 _proto.notifyObserver = function(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 _proto.invoke = function() {\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 _proto._optionChanged = function(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 _DOMComponent.prototype._optionChanged.call(this, args)\r\n }\r\n };\r\n _proto._getHorizontalResizingRule = function() {\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 _proto._getVerticalResizingRule = function() {\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 _proto._render = function() {\r\n _DOMComponent.prototype._render.call(this);\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.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 _proto._setResourceColor = function() {\r\n var _this = this;\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((function(color) {\r\n return color && _this.coloredElement.css(\"backgroundColor\", color)\r\n }))\r\n };\r\n _proto._renderAppointmentGeometry = function() {\r\n var geometry = this.option(\"geometry\");\r\n var $element = this.$element();\r\n (0, _translator.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 _proto._renderEmptyClass = function() {\r\n var geometry = this.option(\"geometry\");\r\n if (geometry.empty || this.option(\"isCompact\")) {\r\n this.$element().addClass(_classes.EMPTY_APPOINTMENT_CLASS)\r\n }\r\n };\r\n _proto._renderReducedAppointment = function() {\r\n var reducedPart = this.option(\"reduced\");\r\n if (!reducedPart) {\r\n return\r\n }\r\n this.$element().toggleClass(_classes.REDUCED_APPOINTMENT_CLASS, true).toggleClass(_classes.REDUCED_APPOINTMENT_PARTS_CLASSES[reducedPart], true);\r\n this._renderAppointmentReducedIcon()\r\n };\r\n _proto._renderAppointmentReducedIcon = function() {\r\n var $icon = (0, _renderer.default)(\"<div>\").addClass(_classes.REDUCED_APPOINTMENT_ICON).appendTo(this.$element());\r\n var endDate = this._getEndDate();\r\n var tooltipLabel = _message.default.format(\"dxScheduler-editorLabelEndDate\");\r\n var tooltipText = [tooltipLabel, \": \", _date.default.format(endDate, \"monthAndDay\"), \", \", _date.default.format(endDate, \"year\")].join(\"\");\r\n _events_engine.default.off($icon, REDUCED_APPOINTMENT_POINTERENTER_EVENT_NAME);\r\n _events_engine.default.on($icon, REDUCED_APPOINTMENT_POINTERENTER_EVENT_NAME, (function() {\r\n (0, _ui.show)({\r\n target: $icon,\r\n content: tooltipText\r\n })\r\n }));\r\n _events_engine.default.off($icon, REDUCED_APPOINTMENT_POINTERLEAVE_EVENT_NAME);\r\n _events_engine.default.on($icon, REDUCED_APPOINTMENT_POINTERLEAVE_EVENT_NAME, (function() {\r\n (0, _ui.hide)()\r\n }))\r\n };\r\n _proto._getEndDate = function() {\r\n var result = _expressionUtils.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 _proto._renderAllDayClass = function() {\r\n this.$element().toggleClass(_classes.ALL_DAY_APPOINTMENT_CLASS, !!this.option(\"allDay\"))\r\n };\r\n _proto._renderDragSourceClass = function() {\r\n this.$element().toggleClass(_classes.APPOINTMENT_DRAG_SOURCE_CLASS, !!this.option(\"isDragSource\"))\r\n };\r\n _proto._renderRecurrenceClass = function() {\r\n var rule = _expressionUtils.ExpressionUtils.getField(this.option(\"dataAccessors\"), \"recurrenceRule\", this.rawAppointment);\r\n if ((0, _recurrence.getRecurrenceProcessor)().isValidRecurrenceRule(rule)) {\r\n this.$element().addClass(_classes.RECURRENCE_APPOINTMENT_CLASS)\r\n }\r\n };\r\n _proto._renderDirection = function() {\r\n this.$element().addClass(_classes.DIRECTION_APPOINTMENT_CLASSES[this.option(\"direction\")])\r\n };\r\n _proto._createResizingConfig = function() {\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 _proto._renderResizable = function() {\r\n if (this.option(\"allowResize\")) {\r\n this._createComponent(this.$element(), _resizable.default, (0, _extend.extend)(this._createResizingConfig(), this.option(\"resizableConfig\")))\r\n }\r\n };\r\n _proto._useTemplates = function() {\r\n return false\r\n };\r\n _createClass(Appointment, [{\r\n key: \"coloredElement\",\r\n get: function() {\r\n return this.$element()\r\n }\r\n }, {\r\n key: \"rawAppointment\",\r\n get: function() {\r\n return this.option(\"data\")\r\n }\r\n }]);\r\n return Appointment\r\n}(_dom_component.default);\r\nexports.Appointment = Appointment;\r\n(0, _component_registrator.default)(\"dxSchedulerAppointment\", Appointment);\r\nvar AgendaAppointment = function(_Appointment) {\r\n _inheritsLoose(AgendaAppointment, _Appointment);\r\n\r\n function AgendaAppointment() {\r\n return _Appointment.apply(this, arguments) || this\r\n }\r\n var _proto2 = AgendaAppointment.prototype;\r\n _proto2._getDefaultOptions = function() {\r\n return (0, _extend.extend)(_Appointment.prototype._getDefaultOptions.call(this), {\r\n createPlainResourceListAsync: new _deferred.Deferred\r\n })\r\n };\r\n _proto2._renderResourceList = function(container, list) {\r\n list.forEach((function(item) {\r\n var itemContainer = (0, _renderer.default)(\"<div>\").addClass(_classes.APPOINTMENT_CONTENT_CLASSES.AGENDA_RESOURCE_LIST_ITEM).appendTo(container);\r\n (0, _renderer.default)(\"<div>\").text(\"\".concat(item.label, \":\")).appendTo(itemContainer);\r\n (0, _renderer.default)(\"<div>\").addClass(_classes.APPOINTMENT_CONTENT_CLASSES.AGENDA_RESOURCE_LIST_ITEM_VALUE).text(item.values.join(\", \")).appendTo(itemContainer)\r\n }))\r\n };\r\n _proto2._render = function() {\r\n var _this2 = this;\r\n _Appointment.prototype._render.call(this);\r\n var createPlainResourceListAsync = this.option(\"createPlainResourceListAsync\");\r\n createPlainResourceListAsync(this.rawAppointment).done((function(list) {\r\n var parent = _this2.$element().find(\".\".concat(_classes.APPOINTMENT_CONTENT_CLASSES.APPOINTMENT_CONTENT_DETAILS));\r\n var container = (0, _renderer.default)(\"<div>\").addClass(_classes.APPOINTMENT_CONTENT_CLASSES.AGENDA_RESOURCE_LIST).appendTo(parent);\r\n _this2._renderResourceList(container, list)\r\n }))\r\n };\r\n _createClass(AgendaAppointment, [{\r\n key: \"coloredElement\",\r\n get: function() {\r\n return this.$element().find(\".\".concat(_classes.APPOINTMENT_CONTENT_CLASSES.AGENDA_MARKER))\r\n }\r\n }]);\r\n return AgendaAppointment\r\n}(Appointment);\r\nexports.AgendaAppointment = AgendaAppointment;\r\n","/**\r\n * DevExtreme (cjs/ui/scheduler/appointments/appointmentCollection.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.default = void 0;\r\nvar _size = require(\"../../../core/utils/size\");\r\nvar _renderer = _interopRequireDefault(require(\"../../../core/renderer\"));\r\nvar _dom_adapter = _interopRequireDefault(require(\"../../../core/dom_adapter\"));\r\nvar _events_engine = _interopRequireDefault(require(\"../../../events/core/events_engine\"));\r\nvar _element_data = require(\"../../../core/element_data\");\r\nvar _translator = require(\"../../../animation/translator\");\r\nvar _date = _interopRequireDefault(require(\"../../../core/utils/date\"));\r\nvar _common = require(\"../../../core/utils/common\");\r\nvar _type = require(\"../../../core/utils/type\");\r\nvar _iterator = require(\"../../../core/utils/iterator\");\r\nvar _object = require(\"../../../core/utils/object\");\r\nvar _array = require(\"../../../core/utils/array\");\r\nvar _extend = require(\"../../../core/utils/extend\");\r\nvar _element = require(\"../../../core/element\");\r\nvar _recurrence = require(\"../recurrence\");\r\nvar _component_registrator = _interopRequireDefault(require(\"../../../core/component_registrator\"));\r\nvar _appointment = require(\"./appointment\");\r\nvar _index = require(\"../../../events/utils/index\");\r\nvar _double_click = require(\"../../../events/double_click\");\r\nvar _uiCollection_widget = _interopRequireDefault(require(\"../../collection/ui.collection_widget.edit\"));\r\nvar _utils = _interopRequireDefault(require(\"../utils.timeZone\"));\r\nvar _constants = require(\"../constants\");\r\nvar _classes = require(\"../classes\");\r\nvar _appointmentLayout = require(\"./appointmentLayout\");\r\nvar _expressionUtils = require(\"../expressionUtils\");\r\nvar _appointmentAdapter = require(\"../appointmentAdapter\");\r\nvar _utils2 = require(\"./dataProvider/utils\");\r\nvar _position = require(\"../../../core/utils/position\");\r\nvar _core = require(\"./resizing/core\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _toConsumableArray(arr) {\r\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread()\r\n}\r\n\r\nfunction _nonIterableSpread() {\r\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _unsupportedIterableToArray(o, minLen) {\r\n if (!o) {\r\n return\r\n }\r\n if (\"string\" === typeof o) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n var n = Object.prototype.toString.call(o).slice(8, -1);\r\n if (\"Object\" === n && o.constructor) {\r\n n = o.constructor.name\r\n }\r\n if (\"Map\" === n || \"Set\" === n) {\r\n return Array.from(o)\r\n }\r\n if (\"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n}\r\n\r\nfunction _iterableToArray(iter) {\r\n if (\"undefined\" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter[\"@@iterator\"]) {\r\n return Array.from(iter)\r\n }\r\n}\r\n\r\nfunction _arrayWithoutHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return _arrayLikeToArray(arr)\r\n }\r\n}\r\n\r\nfunction _arrayLikeToArray(arr, len) {\r\n if (null == len || len > arr.length) {\r\n len = arr.length\r\n }\r\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\r\n arr2[i] = arr[i]\r\n }\r\n return arr2\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar COMPONENT_CLASS = \"dx-scheduler-scrollable-appointments\";\r\nvar DBLCLICK_EVENT_NAME = (0, _index.addNamespace)(_double_click.name, \"dxSchedulerAppointment\");\r\nvar toMs = _date.default.dateToMilliseconds;\r\nvar SchedulerAppointments = function(_CollectionWidget) {\r\n _inheritsLoose(SchedulerAppointments, _CollectionWidget);\r\n\r\n function SchedulerAppointments(element, options) {\r\n var _this;\r\n _this = _CollectionWidget.call(this, element, options) || this;\r\n _this._virtualAppointments = {};\r\n return _this\r\n }\r\n var _proto = SchedulerAppointments.prototype;\r\n _proto.notifyObserver = function(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 _proto.invoke = function() {\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 _proto._dispose = function() {\r\n clearTimeout(this._appointmentClickTimeout);\r\n _CollectionWidget.prototype._dispose.call(this)\r\n };\r\n _proto._supportedKeys = function() {\r\n var parent = _CollectionWidget.prototype._supportedKeys.call(this);\r\n var currentAppointment = this._$currentAppointment;\r\n return (0, _extend.extend)(parent, {\r\n escape: function() {\r\n if (this.resizeOccur) {\r\n var _currentAppointment$d, _currentAppointment$d2, _currentAppointment$d3;\r\n this.moveAppointmentBack();\r\n this.resizeOccur = false;\r\n null === (_currentAppointment$d = currentAppointment.dxResizable(\"instance\")) || void 0 === _currentAppointment$d ? void 0 : _currentAppointment$d._detachEventHandlers();\r\n null === (_currentAppointment$d2 = currentAppointment.dxResizable(\"instance\")) || void 0 === _currentAppointment$d2 ? void 0 : _currentAppointment$d2._attachEventHandlers();\r\n null === (_currentAppointment$d3 = currentAppointment.dxResizable(\"instance\")) || void 0 === _currentAppointment$d3 ? void 0 : _currentAppointment$d3._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(_constants.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 _events_engine.default.trigger($nextAppointment, \"focus\")\r\n }\r\n }\r\n })\r\n };\r\n _proto._getAppointmentByIndex = function(sortedIndex) {\r\n var appointments = this._getAccessAppointments();\r\n return appointments.filter((function(_, $item) {\r\n return (0, _element_data.data)($item, _constants.APPOINTMENT_SETTINGS_KEY).sortedIndex === sortedIndex\r\n })).eq(0)\r\n };\r\n _proto._getAccessAppointments = function() {\r\n return this._itemElements().filter(\":visible\").not(\".dx-state-disabled\")\r\n };\r\n _proto._resetTabIndex = function($appointment) {\r\n this._focusTarget().attr(\"tabIndex\", -1);\r\n $appointment.attr(\"tabIndex\", this.option(\"tabIndex\"))\r\n };\r\n _proto._moveFocus = function() {};\r\n _proto._focusTarget = function() {\r\n return this._itemElements()\r\n };\r\n _proto._renderFocusTarget = function() {\r\n var $appointment = this._getAppointmentByIndex(0);\r\n this._resetTabIndex($appointment)\r\n };\r\n _proto._focusInHandler = function(e) {\r\n _CollectionWidget.prototype._focusInHandler.call(this, e);\r\n this._$currentAppointment = (0, _renderer.default)(e.target);\r\n this.option(\"focusedElement\", (0, _element.getPublicElement)((0, _renderer.default)(e.target)))\r\n };\r\n _proto._focusOutHandler = function(e) {\r\n var $appointment = this._getAppointmentByIndex(0);\r\n this.option(\"focusedElement\", (0, _element.getPublicElement)($appointment));\r\n _CollectionWidget.prototype._focusOutHandler.call(this, e)\r\n };\r\n _proto._eventBindingTarget = function() {\r\n return this._itemContainer()\r\n };\r\n _proto._getDefaultOptions = function() {\r\n return (0, _extend.extend)(_CollectionWidget.prototype._getDefaultOptions.call(this), {\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 _proto._optionChanged = function(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((0, _renderer.default)(args.value));\r\n _CollectionWidget.prototype._optionChanged.call(this, 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 _CollectionWidget.prototype._optionChanged.call(this, args);\r\n break;\r\n default:\r\n _CollectionWidget.prototype._optionChanged.call(this, args)\r\n }\r\n };\r\n _proto._isAllDayAppointment = function(appointment) {\r\n return appointment.settings.length && appointment.settings[0].allDay || false\r\n };\r\n _proto._isRepaintAppointment = function(appointment) {\r\n return !(0, _type.isDefined)(appointment.needRepaint) || true === appointment.needRepaint\r\n };\r\n _proto._isRepaintAll = function(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 _proto._applyFragment = function(fragment, allDay) {\r\n if (fragment.children().length > 0) {\r\n this._getAppointmentContainer(allDay).append(fragment)\r\n }\r\n };\r\n _proto._onEachAppointment = function(appointment, index, container, isRepaintAll) {\r\n var _this2 = this;\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 ! function() {\r\n appointment.needRepaint = false;\r\n _this2._clearItem(appointment);\r\n _this2._renderItem(index, appointment, container)\r\n }()\r\n }\r\n };\r\n _proto._repaintAppointments = function(appointments) {\r\n var _this3 = this;\r\n this._renderByFragments((function($commonFragment, $allDayFragment) {\r\n var isRepaintAll = _this3._isRepaintAll(appointments);\r\n if (isRepaintAll) {\r\n _this3._getAppointmentContainer(true).html(\"\");\r\n _this3._getAppointmentContainer(false).html(\"\")\r\n }!appointments.length && _this3._cleanItemContainer();\r\n appointments.forEach((function(appointment, index) {\r\n var container = _this3._isAllDayAppointment(appointment) ? $allDayFragment : $commonFragment;\r\n _this3._onEachAppointment(appointment, index, container, isRepaintAll)\r\n }))\r\n }))\r\n };\r\n _proto._renderByFragments = function(renderFunction) {\r\n if (this.isVirtualScrolling) {\r\n var $commonFragment = (0, _renderer.default)(_dom_adapter.default.createDocumentFragment());\r\n var $allDayFragment = (0, _renderer.default)(_dom_adapter.default.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 _proto._attachAppointmentsEvents = function() {\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 _proto._clearItem = function(item) {\r\n var $items = this._findItemElementByItem(item.itemData);\r\n if (!$items.length) {\r\n return\r\n }(0, _iterator.each)($items, (function(_, $item) {\r\n $item.detach();\r\n $item.remove()\r\n }))\r\n };\r\n _proto._clearDropDownItems = function() {\r\n this._virtualAppointments = {}\r\n };\r\n _proto._clearDropDownItemsElements = function() {\r\n this.invoke(\"clearCompactAppointments\")\r\n };\r\n _proto._findItemElementByItem = function(item) {\r\n var result = [];\r\n var that = this;\r\n this.itemElements().each((function() {\r\n var $item = (0, _renderer.default)(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 _proto._itemClass = function() {\r\n return _classes.APPOINTMENT_ITEM_CLASS\r\n };\r\n _proto._itemContainer = function() {\r\n var $container = _CollectionWidget.prototype._itemContainer.call(this);\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 _proto._cleanItemContainer = function() {\r\n _CollectionWidget.prototype._cleanItemContainer.call(this);\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 _proto._clean = function() {\r\n _CollectionWidget.prototype._clean.call(this);\r\n delete this._$currentAppointment;\r\n delete this._initialSize;\r\n delete this._initialCoordinates\r\n };\r\n _proto._init = function() {\r\n _CollectionWidget.prototype._init.call(this);\r\n this.$element().addClass(COMPONENT_CLASS);\r\n this._preventSingleAppointmentClick = false\r\n };\r\n _proto._renderAppointmentTemplate = function($container, appointment, model) {\r\n var config = {\r\n isAllDay: appointment.allDay,\r\n isRecurrence: appointment.recurrenceRule,\r\n html: (0, _type.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 ? (0, _appointmentLayout.createAgendaAppointmentLayout)(formatText, config) : (0, _appointmentLayout.createAppointmentLayout)(formatText, config))\r\n };\r\n _proto._executeItemRenderAction = function(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 _proto._itemClickHandler = function(e) {\r\n _CollectionWidget.prototype._itemClickHandler.call(this, e, {}, {\r\n afterExecute: function(e) {\r\n this._processItemClick(e.args[0].event)\r\n }.bind(this)\r\n })\r\n };\r\n _proto._processItemClick = function(e) {\r\n var $target = (0, _renderer.default)(e.currentTarget);\r\n var data = this._getItemData($target);\r\n if (\"keydown\" === e.type || (0, _index.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(function() {\r\n if (!this._preventSingleAppointmentClick && _dom_adapter.default.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 }.bind(this), 300)\r\n };\r\n _proto._extendActionArgs = function($itemElement) {\r\n var args = _CollectionWidget.prototype._extendActionArgs.call(this, $itemElement);\r\n return this.invoke(\"mapAppointmentFields\", args)\r\n };\r\n _proto._render = function() {\r\n _CollectionWidget.prototype._render.call(this);\r\n this._attachAppointmentDblClick()\r\n };\r\n _proto._attachAppointmentDblClick = function() {\r\n var that = this;\r\n var itemSelector = that._itemSelector();\r\n var itemContainer = this._itemContainer();\r\n _events_engine.default.off(itemContainer, DBLCLICK_EVENT_NAME, itemSelector);\r\n _events_engine.default.on(itemContainer, DBLCLICK_EVENT_NAME, itemSelector, (function(e) {\r\n that._itemDXEventHandler(e, \"onAppointmentDblClick\", {}, {\r\n afterExecute: function(e) {\r\n that._dblClickHandler(e.args[0].event)\r\n }\r\n })\r\n }))\r\n };\r\n _proto._dblClickHandler = function(e) {\r\n var $targetAppointment = (0, _renderer.default)(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 _proto._renderItem = function(index, item, container) {\r\n var itemData = item.itemData;\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 = _CollectionWidget.prototype._renderItem.call(this, index, itemData, container);\r\n $item.data(_constants.APPOINTMENT_SETTINGS_KEY, setting);\r\n $items.push($item)\r\n }\r\n return $items\r\n };\r\n _proto._getItemContent = function($itemFrame) {\r\n $itemFrame.data(_constants.APPOINTMENT_SETTINGS_KEY, this._currentAppointmentSettings);\r\n var $itemContent = _CollectionWidget.prototype._getItemContent.call(this, $itemFrame);\r\n return $itemContent\r\n };\r\n _proto._createItemByTemplate = function(itemTemplate, renderArgs) {\r\n var itemData = renderArgs.itemData,\r\n container = renderArgs.container,\r\n index = renderArgs.index;\r\n return itemTemplate.render({\r\n model: {\r\n appointmentData: itemData,\r\n targetedAppointmentData: this.invoke(\"getTargetedAppointmentData\", itemData, (0, _renderer.default)(container).parent())\r\n },\r\n container: container,\r\n index: index\r\n })\r\n };\r\n _proto._getAppointmentContainer = function(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 _proto._postprocessRenderItem = function(args) {\r\n this._renderAppointment(args.itemElement, this._currentAppointmentSettings)\r\n };\r\n _proto._renderAppointment = function(element, settings) {\r\n element.data(_constants.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\") && (!(0, _type.isDefined)(settings.skipResizing) || (0, _type.isString)(settings.skipResizing));\r\n var allowDrag = this.option(\"allowDrag\");\r\n var allDay = settings.allDay;\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 _settings$info;\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 === (_settings$info = settings.info) || void 0 === _settings$info ? void 0 : _settings$info.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 = function(rawAppointment) {\r\n return agendaResourceProcessor.createListAsync(rawAppointment)\r\n }\r\n }\r\n this._createComponent(element, this.isAgendaView ? _appointment.AgendaAppointment : _appointment.Appointment, _extends({}, config, {\r\n dataAccessors: this.option(\"dataAccessors\"),\r\n getResizableStep: this.option(\"getResizableStep\")\r\n }))\r\n }\r\n };\r\n _proto._applyResourceDataAttr = function($appointment) {\r\n var dataAccessors = this.option(\"getResourceDataAccessors\")();\r\n var rawAppointment = this._getItemData($appointment);\r\n (0, _iterator.each)(dataAccessors.getter, (function(key) {\r\n var value = dataAccessors.getter[key](rawAppointment);\r\n if ((0, _type.isDefined)(value)) {\r\n var prefix = \"data-\".concat((0, _common.normalizeKey)(key.toLowerCase()), \"-\");\r\n (0, _array.wrapToArray)(value).forEach((function(value) {\r\n return $appointment.attr(prefix + (0, _common.normalizeKey)(value), true)\r\n }))\r\n }\r\n }))\r\n };\r\n _proto._resizableConfig = function(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 = (0, _renderer.default)(e.element);\r\n if (this.invoke(\"needRecalculateResizableArea\")) {\r\n var updatedArea = this._calculateResizableArea(this._$currentAppointment.data(_constants.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 = (0, _translator.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 _proto._calculateResizableArea = function(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 _proto._resizeEndHandler = function(e) {\r\n var $element = (0, _renderer.default)(e.element);\r\n var _$element$data = $element.data(\"dxAppointmentSettings\"),\r\n allDay = _$element$data.allDay,\r\n info = _$element$data.info;\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 endDate = info.appointment.endDate;\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 _proto.resizeAllDay = function(e) {\r\n var $element = (0, _renderer.default)(e.element);\r\n var timeZoneCalculator = this.option(\"timeZoneCalculator\");\r\n var dataAccessors = this.option(\"dataAccessors\");\r\n return (0, _core.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: (0, _position.getBoundingRect)($element[0]),\r\n parentAppointmentRect: (0, _position.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 _proto.updateResizedAppointment = function($element, dateRange, dataAccessors, timeZoneCalculator) {\r\n var sourceAppointment = this._getItemData($element);\r\n var modifiedAppointmentAdapter = (0, _appointmentAdapter.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 _proto._getEndResizeAppointmentStartDate = function(e, rawAppointment, appointmentInfo) {\r\n var timeZoneCalculator = this.option(\"timeZoneCalculator\");\r\n var appointmentAdapter = (0, _appointmentAdapter.createAppointmentAdapter)(rawAppointment, this.option(\"dataAccessors\"), timeZoneCalculator);\r\n var startDate = appointmentInfo.startDate;\r\n var recurrenceProcessor = (0, _recurrence.getRecurrenceProcessor)();\r\n var recurrenceRule = appointmentAdapter.recurrenceRule,\r\n startDateTimeZone = appointmentAdapter.startDateTimeZone;\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 _proto._getDateRange = function(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 += _utils.default.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 -= _utils.default.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 _proto._correctEndDateByDelta = function(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 _proto._correctStartDateByDelta = function(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 _proto._processVirtualAppointment = function(appointmentSetting, $appointment, appointmentData, color) {\r\n var virtualAppointment = appointmentSetting.virtual;\r\n var virtualGroupIndex = virtualAppointment.index;\r\n if (!(0, _type.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 ? true : false,\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 _proto._renderContentImpl = function() {\r\n _CollectionWidget.prototype._renderContentImpl.call(this);\r\n this._renderDropDownAppointments()\r\n };\r\n _proto._renderDropDownAppointments = function() {\r\n var _this4 = this;\r\n this._renderByFragments((function($commonFragment, $allDayFragment) {\r\n (0, _iterator.each)(_this4._virtualAppointments, function(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 left = virtualCoordinates.left;\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 }.bind(_this4))\r\n }))\r\n };\r\n _proto._isGroupCompact = function(virtualGroup) {\r\n return !virtualGroup.isAllDay && this.invoke(\"supportCompactDropDownAppointments\")\r\n };\r\n _proto._sortAppointmentsByStartDate = function(appointments) {\r\n return (0, _utils2.sortAppointmentsByStartDate)(appointments, this.option(\"dataAccessors\"))\r\n };\r\n _proto._processRecurrenceAppointment = function(appointment, index, skipLongAppointments) {\r\n var recurrenceRule = _expressionUtils.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.ExpressionUtils.getField(this.option(\"dataAccessors\"), \"startDate\", dates));\r\n var startDateTimeZone = _expressionUtils.ExpressionUtils.getField(this.option(\"dataAccessors\"), \"startDateTimeZone\", appointment);\r\n var endDate = new Date(_expressionUtils.ExpressionUtils.getField(this.option(\"dataAccessors\"), \"endDate\", dates));\r\n var appointmentDuration = endDate.getTime() - startDate.getTime();\r\n var recurrenceException = _expressionUtils.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 = (0, _recurrence.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 = (0, _extend.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 _proto._processLongAppointment = function(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 (0, _extend.extend)(appointment, parts[0]);\r\n for (var i = 1; i < partCount; i++) {\r\n var startDate = _expressionUtils.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 _proto._reduceRecurrenceAppointments = function(recurrenceIndexes, appointments) {\r\n (0, _iterator.each)(recurrenceIndexes, (function(i, index) {\r\n appointments.splice(index - i, 1)\r\n }))\r\n };\r\n _proto._combineAppointments = function(appointments, additionalAppointments) {\r\n if (additionalAppointments.length) {\r\n appointments.push.apply(appointments, _toConsumableArray(additionalAppointments))\r\n }\r\n this._sortAppointmentsByStartDate(appointments)\r\n };\r\n _proto._applyStartDateToObj = function(startDate, obj) {\r\n _expressionUtils.ExpressionUtils.setField(this.option(\"dataAccessors\"), \"startDate\", obj, startDate);\r\n return obj\r\n };\r\n _proto._applyEndDateToObj = function(endDate, obj) {\r\n _expressionUtils.ExpressionUtils.setField(this.option(\"dataAccessors\"), \"endDate\", obj, endDate);\r\n return obj\r\n };\r\n _proto.moveAppointmentBack = function(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 ((0, _type.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 (0, _translator.move)($appointment, coords);\r\n delete this._initialSize\r\n }\r\n if (size) {\r\n (0, _size.setOuterWidth)($appointment, size.width);\r\n (0, _size.setOuterHeight)($appointment, size.height);\r\n delete this._initialCoordinates\r\n }\r\n }\r\n };\r\n _proto.focus = function() {\r\n if (this._$currentAppointment) {\r\n var focusedElement = (0, _element.getPublicElement)(this._$currentAppointment);\r\n this.option(\"focusedElement\", focusedElement);\r\n _events_engine.default.trigger(focusedElement, \"focus\")\r\n }\r\n };\r\n _proto.splitAppointmentByDay = function(appointment) {\r\n var dates = appointment.settings || appointment;\r\n var dataAccessors = this.option(\"dataAccessors\");\r\n var originalStartDate = new Date(_expressionUtils.ExpressionUtils.getField(dataAccessors, \"startDate\", dates));\r\n var startDate = _date.default.makeDate(originalStartDate);\r\n var endDate = _date.default.makeDate(_expressionUtils.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 = (0, _appointmentAdapter.createAppointmentAdapter)(appointment, dataAccessors, timeZoneCalculator);\r\n var appointmentIsLong = (0, _utils2.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 = (0, _object.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 = _date.default.trimTime(startDate);\r\n startDate.setDate(startDate.getDate() + 1);\r\n startDate.setHours(startDayHour)\r\n }\r\n return result\r\n };\r\n _proto._checkStartDate = function(currentDate, originalDate, startDayHour) {\r\n if (!_date.default.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 _proto._checkEndDate = function(currentDate, originalDate, endDayHour) {\r\n if (!_date.default.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 _proto._removeDragSourceClassFromDraggedAppointment = function() {\r\n var $appointments = this._itemElements().filter(\".\".concat(_classes.APPOINTMENT_DRAG_SOURCE_CLASS));\r\n $appointments.each((function(_, element) {\r\n var appointmentInstance = (0, _renderer.default)(element).dxSchedulerAppointment(\"instance\");\r\n appointmentInstance.option(\"isDragSource\", false)\r\n }))\r\n };\r\n _proto._setDragSourceAppointment = function(appointment, settings) {\r\n var $appointments = this._findItemElementByItem(appointment);\r\n var _settings$info$source = settings.info.sourceAppointment,\r\n startDate = _settings$info$source.startDate,\r\n endDate = _settings$info$source.endDate;\r\n var groupIndex = settings.groupIndex;\r\n $appointments.forEach((function($item) {\r\n var _$item$data = $item.data(_constants.APPOINTMENT_SETTINGS_KEY),\r\n itemInfo = _$item$data.info,\r\n itemGroupIndex = _$item$data.groupIndex;\r\n var _itemInfo$sourceAppoi = itemInfo.sourceAppointment,\r\n itemStartDate = _itemInfo$sourceAppoi.startDate,\r\n itemEndDate = _itemInfo$sourceAppoi.endDate;\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 _proto.updateResizableArea = function() {\r\n var _this5 = this;\r\n var $allResizableElements = this.$element().find(\".dx-scheduler-appointment.dx-resizable\");\r\n var horizontalResizables = (0, _common.grep)($allResizableElements, (function(el) {\r\n var $el = (0, _renderer.default)(el);\r\n var resizableInst = $el.dxResizable(\"instance\");\r\n var _resizableInst$option = resizableInst.option(),\r\n area = _resizableInst$option.area,\r\n handles = _resizableInst$option.handles;\r\n return (\"right left\" === handles || \"left right\" === handles) && (0, _type.isPlainObject)(area)\r\n }));\r\n (0, _iterator.each)(horizontalResizables, (function(_, el) {\r\n var $el = (0, _renderer.default)(el);\r\n var position = (0, _translator.locate)($el);\r\n var appointmentData = _this5._getItemData($el);\r\n var area = _this5._calculateResizableArea({\r\n left: position.left\r\n }, appointmentData);\r\n $el.dxResizable(\"instance\").option(\"area\", area)\r\n }))\r\n };\r\n _createClass(SchedulerAppointments, [{\r\n key: \"isAgendaView\",\r\n get: function() {\r\n return this.invoke(\"isCurrentViewAgenda\")\r\n }\r\n }, {\r\n key: \"isVirtualScrolling\",\r\n get: function() {\r\n return this.invoke(\"isVirtualScrolling\")\r\n }\r\n }, {\r\n key: \"appointmentDataProvider\",\r\n get: function() {\r\n return this.option(\"getAppointmentDataProvider\")()\r\n }\r\n }]);\r\n return SchedulerAppointments\r\n}(_uiCollection_widget.default);\r\n(0, _component_registrator.default)(\"dxSchedulerAppointments\", SchedulerAppointments);\r\nvar _default = SchedulerAppointments;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/scheduler/appointments/appointmentLayout.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.createAppointmentLayout = exports.createAgendaAppointmentLayout = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../../core/renderer\"));\r\nvar _dom_adapter = _interopRequireDefault(require(\"../../../core/dom_adapter\"));\r\nvar _message = _interopRequireDefault(require(\"../../../localization/message\"));\r\nvar _classes = require(\"../classes\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar allDayText = \" \" + _message.default.format(\"dxScheduler-allDay\") + \": \";\r\nvar createAppointmentLayout = function(formatText, config) {\r\n var result = (0, _renderer.default)(_dom_adapter.default.createDocumentFragment());\r\n (0, _renderer.default)(\"<div>\").text(formatText.text).addClass(_classes.APPOINTMENT_CONTENT_CLASSES.APPOINTMENT_TITLE).appendTo(result);\r\n if (config.html) {\r\n result.html(config.html)\r\n }\r\n var $contentDetails = (0, _renderer.default)(\"<div>\").addClass(_classes.APPOINTMENT_CONTENT_CLASSES.APPOINTMENT_CONTENT_DETAILS).appendTo(result);\r\n (0, _renderer.default)(\"<div>\").addClass(_classes.APPOINTMENT_CONTENT_CLASSES.APPOINTMENT_DATE).text(formatText.formatDate).appendTo($contentDetails);\r\n config.isRecurrence && (0, _renderer.default)(\"<span>\").addClass(_classes.APPOINTMENT_CONTENT_CLASSES.RECURRING_ICON + \" dx-icon-repeat\").appendTo(result);\r\n config.isAllDay && (0, _renderer.default)(\"<div>\").text(allDayText).addClass(_classes.APPOINTMENT_CONTENT_CLASSES.ALL_DAY_CONTENT).prependTo($contentDetails);\r\n return result\r\n};\r\nexports.createAppointmentLayout = createAppointmentLayout;\r\nvar createAgendaAppointmentLayout = function(formatText, config) {\r\n var result = (0, _renderer.default)(_dom_adapter.default.createDocumentFragment());\r\n var leftLayoutContainer = (0, _renderer.default)(\"<div>\").addClass(\"dx-scheduler-agenda-appointment-left-layout\").appendTo(result);\r\n var rightLayoutContainer = (0, _renderer.default)(\"<div>\").addClass(\"dx-scheduler-agenda-appointment-right-layout\").appendTo(result);\r\n var marker = (0, _renderer.default)(\"<div>\").addClass(_classes.APPOINTMENT_CONTENT_CLASSES.AGENDA_MARKER).appendTo(leftLayoutContainer);\r\n config.isRecurrence && (0, _renderer.default)(\"<span>\").addClass(_classes.APPOINTMENT_CONTENT_CLASSES.RECURRING_ICON + \" dx-icon-repeat\").appendTo(marker);\r\n (0, _renderer.default)(\"<div>\").addClass(_classes.APPOINTMENT_CONTENT_CLASSES.APPOINTMENT_TITLE).text(formatText.text).appendTo(rightLayoutContainer);\r\n var additionalContainer = (0, _renderer.default)(\"<div>\").addClass(_classes.APPOINTMENT_CONTENT_CLASSES.APPOINTMENT_CONTENT_DETAILS).appendTo(rightLayoutContainer);\r\n (0, _renderer.default)(\"<div>\").addClass(_classes.APPOINTMENT_CONTENT_CLASSES.APPOINTMENT_DATE).text(formatText.formatDate).appendTo(additionalContainer);\r\n config.isAllDay && (0, _renderer.default)(\"<div>\").text(allDayText).addClass(_classes.APPOINTMENT_CONTENT_CLASSES.ALL_DAY_CONTENT).prependTo(additionalContainer);\r\n return result\r\n};\r\nexports.createAgendaAppointmentLayout = createAgendaAppointmentLayout;\r\n","/**\r\n * DevExtreme (cjs/ui/scheduler/appointments/cellPositionCalculator.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.CellPositionCalculator = void 0;\r\nvar _type = require(\"../../../core/utils/type\");\r\nvar _date = _interopRequireDefault(require(\"../../../core/utils/date\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\nvar BaseStrategy = function() {\r\n function BaseStrategy(options) {\r\n this.options = options\r\n }\r\n var _proto = BaseStrategy.prototype;\r\n _proto.calculateCellPositions = function(groupIndices, isAllDayRowAppointment, isRecurrentAppointment) {\r\n var _this = this;\r\n var result = [];\r\n this.appointments.forEach((function(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((function(item) {\r\n !!item && result.push(_this._prepareObject(item, index))\r\n }))\r\n }));\r\n return result\r\n };\r\n _proto.getCoordinateInfos = function(options) {\r\n var appointment = options.appointment,\r\n isAllDayRowAppointment = options.isAllDayRowAppointment,\r\n groupIndices = options.groupIndices,\r\n recurrent = options.recurrent;\r\n var startDate = appointment.startDate;\r\n var groupIndex = !recurrent ? appointment.source.groupIndex : void 0;\r\n return this.getCoordinatesByDateInGroup(startDate, groupIndices, isAllDayRowAppointment, groupIndex)\r\n };\r\n _proto._prepareObject = function(position, dateSettingIndex) {\r\n position.dateSettingIndex = dateSettingIndex;\r\n return {\r\n coordinates: position,\r\n dateSettingIndex: dateSettingIndex\r\n }\r\n };\r\n _proto.getCoordinatesByDate = function(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 _proto.getCoordinatesByDateInGroup = function(startDate, groupIndices, inAllDayRow, groupIndex) {\r\n var _this2 = this;\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 (!(0, _type.isDefined)(groupIndex)) {\r\n validGroupIndices = this.groupCount ? groupIndices : [0]\r\n }\r\n validGroupIndices.forEach((function(groupIndex) {\r\n var coordinates = _this2.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 _proto.getCellPosition = function(cellCoordinates, isAllDayPanel) {\r\n var _this$DOMMetaData = this.DOMMetaData,\r\n dateTableCellsMeta = _this$DOMMetaData.dateTableCellsMeta,\r\n allDayPanelCellsMeta = _this$DOMMetaData.allDayPanelCellsMeta;\r\n var columnIndex = cellCoordinates.columnIndex,\r\n rowIndex = cellCoordinates.rowIndex;\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 _proto.getTimeShift = function(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 = _date.default.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 _createClass(BaseStrategy, [{\r\n key: \"DOMMetaData\",\r\n get: function() {\r\n return this.options.DOMMetaData\r\n }\r\n }, {\r\n key: \"appointments\",\r\n get: function() {\r\n return this.options.dateSettings\r\n }\r\n }, {\r\n key: \"viewDataProvider\",\r\n get: function() {\r\n return this.options.viewDataProvider\r\n }\r\n }, {\r\n key: \"positionHelper\",\r\n get: function() {\r\n return this.options.positionHelper\r\n }\r\n }, {\r\n key: \"startViewDate\",\r\n get: function() {\r\n return this.options.startViewDate\r\n }\r\n }, {\r\n key: \"viewStartDayHour\",\r\n get: function() {\r\n return this.options.viewStartDayHour\r\n }\r\n }, {\r\n key: \"viewEndDayHour\",\r\n get: function() {\r\n return this.options.viewEndDayHour\r\n }\r\n }, {\r\n key: \"cellDuration\",\r\n get: function() {\r\n return this.options.cellDuration\r\n }\r\n }, {\r\n key: \"getPositionShift\",\r\n get: function() {\r\n return this.options.getPositionShiftCallback\r\n }\r\n }, {\r\n key: \"groupCount\",\r\n get: function() {\r\n return this.options.groupCount\r\n }\r\n }, {\r\n key: \"rtlEnabled\",\r\n get: function() {\r\n return this.options.rtlEnabled\r\n }\r\n }, {\r\n key: \"isVerticalGrouping\",\r\n get: function() {\r\n return this.options.isVerticalGroupOrientation\r\n }\r\n }, {\r\n key: \"showAllDayPanel\",\r\n get: function() {\r\n return this.options.showAllDayPanel\r\n }\r\n }, {\r\n key: \"supportAllDayRow\",\r\n get: function() {\r\n return this.options.supportAllDayRow\r\n }\r\n }, {\r\n key: \"isGroupedAllDayPanel\",\r\n get: function() {\r\n return this.options.isGroupedAllDayPanel\r\n }\r\n }, {\r\n key: \"isVirtualScrolling\",\r\n get: function() {\r\n return false\r\n }\r\n }]);\r\n return BaseStrategy\r\n}();\r\nvar VirtualStrategy = function(_BaseStrategy) {\r\n _inheritsLoose(VirtualStrategy, _BaseStrategy);\r\n\r\n function VirtualStrategy() {\r\n return _BaseStrategy.apply(this, arguments) || this\r\n }\r\n var _proto2 = VirtualStrategy.prototype;\r\n _proto2.calculateCellPositions = function(groupIndices, isAllDayRowAppointment, isRecurrentAppointment) {\r\n var _this3 = this;\r\n var appointments = isAllDayRowAppointment ? this.appointments : this.appointments.filter((function(_ref) {\r\n var source = _ref.source,\r\n startDate = _ref.startDate,\r\n endDate = _ref.endDate;\r\n return _this3.viewDataProvider.isGroupIntersectDateInterval(source.groupIndex, startDate, endDate)\r\n }));\r\n if (isRecurrentAppointment) {\r\n return this.createRecurrentAppointmentInfos(appointments, isAllDayRowAppointment)\r\n }\r\n return _BaseStrategy.prototype.calculateCellPositions.call(this, groupIndices, isAllDayRowAppointment, isRecurrentAppointment)\r\n };\r\n _proto2.createRecurrentAppointmentInfos = function(dateSettings, isAllDayRowAppointment) {\r\n var _this4 = this;\r\n var result = [];\r\n dateSettings.forEach((function(_ref2, index) {\r\n var source = _ref2.source,\r\n startDate = _ref2.startDate;\r\n var coordinate = _this4.getCoordinatesByDate(startDate, source.groupIndex, isAllDayRowAppointment);\r\n if (coordinate) {\r\n result.push(_this4._prepareObject(coordinate, index))\r\n }\r\n }));\r\n return result\r\n };\r\n _createClass(VirtualStrategy, [{\r\n key: \"isVirtualScrolling\",\r\n get: function() {\r\n return true\r\n }\r\n }]);\r\n return VirtualStrategy\r\n}(BaseStrategy);\r\nvar CellPositionCalculator = function() {\r\n function CellPositionCalculator(options) {\r\n this.options = options\r\n }\r\n var _proto3 = CellPositionCalculator.prototype;\r\n _proto3.calculateCellPositions = function(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 return CellPositionCalculator\r\n}();\r\nexports.CellPositionCalculator = CellPositionCalculator;\r\n","/**\r\n * DevExtreme (cjs/ui/scheduler/appointments/dataProvider/appointmentDataProvider.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.AppointmentDataProvider = void 0;\r\nvar _config = _interopRequireDefault(require(\"../../../../core/config\"));\r\nvar _appointmentDataSource = require(\"./appointmentDataSource\");\r\nvar _appointmentFilter = require(\"./appointmentFilter\");\r\nvar _remote = _interopRequireDefault(require(\"../../../../renovation/ui/scheduler/utils/filtering/remote\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\nvar FilterStrategies = {\r\n virtual: \"virtual\",\r\n standard: \"standard\"\r\n};\r\nvar AppointmentDataProvider = function() {\r\n function AppointmentDataProvider(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.AppointmentDataSource(this.dataSource);\r\n this.initFilterStrategy()\r\n }\r\n var _proto = AppointmentDataProvider.prototype;\r\n _proto.getFilterStrategy = function() {\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 _proto.initFilterStrategy = function() {\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 _appointmentFilter.AppointmentFilterVirtualStrategy(filterOptions) : new _appointmentFilter.AppointmentFilterBaseStrategy(filterOptions)\r\n };\r\n _proto.setDataSource = function(dataSource) {\r\n this.dataSource = dataSource;\r\n this.initFilterStrategy();\r\n this.appointmentDataSource.setDataSource(this.dataSource)\r\n };\r\n _proto.updateDataAccessors = function(dataAccessors) {\r\n this.dataAccessors = dataAccessors;\r\n this.initFilterStrategy()\r\n };\r\n _proto.filter = function(preparedItems) {\r\n return this.getFilterStrategy().filter(preparedItems)\r\n };\r\n _proto.filterByDate = function(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 = (0, _remote.default)({\r\n dataSourceFilter: dataSourceFilter,\r\n dataAccessors: this.dataAccessors,\r\n min: min,\r\n max: max,\r\n dateSerializationFormat: dateSerializationFormat,\r\n forceIsoDateParsing: (0, _config.default)().forceIsoDateParsing\r\n });\r\n this.dataSource.filter(filter)\r\n };\r\n _proto.hasAllDayAppointments = function(filteredItems, preparedItems) {\r\n return this.getFilterStrategy().hasAllDayAppointments(filteredItems, preparedItems)\r\n };\r\n _proto.filterLoadedAppointments = function(filterOption, preparedItems) {\r\n return this.getFilterStrategy().filterLoadedAppointments(filterOption, preparedItems)\r\n };\r\n _proto.calculateAppointmentEndDate = function(isAllDay, startDate) {\r\n return this.getFilterStrategy().calculateAppointmentEndDate(isAllDay, startDate)\r\n };\r\n _proto.cleanState = function() {\r\n this.appointmentDataSource.cleanState()\r\n };\r\n _proto.getUpdatedAppointment = function() {\r\n return this.appointmentDataSource._updatedAppointment\r\n };\r\n _proto.getUpdatedAppointmentKeys = function() {\r\n return this.appointmentDataSource._updatedAppointmentKeys\r\n };\r\n _proto.add = function(rawAppointment) {\r\n return this.appointmentDataSource.add(rawAppointment)\r\n };\r\n _proto.update = function(target, rawAppointment) {\r\n return this.appointmentDataSource.update(target, rawAppointment)\r\n };\r\n _proto.remove = function(rawAppointment) {\r\n return this.appointmentDataSource.remove(rawAppointment)\r\n };\r\n _proto.destroy = function() {\r\n this.appointmentDataSource.destroy()\r\n };\r\n _createClass(AppointmentDataProvider, [{\r\n key: \"keyName\",\r\n get: function() {\r\n return this.appointmentDataSource.keyName\r\n }\r\n }, {\r\n key: \"isDataSourceInit\",\r\n get: function() {\r\n return !!this.dataSource\r\n }\r\n }, {\r\n key: \"filterStrategyName\",\r\n get: function() {\r\n return this.options.getIsVirtualScrolling() ? FilterStrategies.virtual : FilterStrategies.standard\r\n }\r\n }]);\r\n return AppointmentDataProvider\r\n}();\r\nexports.AppointmentDataProvider = AppointmentDataProvider;\r\n","/**\r\n * DevExtreme (cjs/ui/scheduler/appointments/dataProvider/appointmentDataSource.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.AppointmentDataSource = void 0;\r\nvar _deferred = require(\"../../../../core/utils/deferred\");\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\nvar STORE_EVENTS = {\r\n updating: \"updating\",\r\n push: \"push\"\r\n};\r\nvar AppointmentDataSource = function() {\r\n function AppointmentDataSource(dataSource) {\r\n this.setDataSource(dataSource);\r\n this._updatedAppointmentKeys = []\r\n }\r\n var _proto = AppointmentDataSource.prototype;\r\n _proto._getStoreKey = function(target) {\r\n var store = this._dataSource.store();\r\n return store.keyOf(target)\r\n };\r\n _proto.setDataSource = function(dataSource) {\r\n this._dataSource = dataSource;\r\n this.cleanState();\r\n this._initStoreChangeHandlers()\r\n };\r\n _proto._initStoreChangeHandlers = function() {\r\n var _this = this;\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, (function(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, (function(pushItems) {\r\n var items = dataSource.items();\r\n var keyName = store.key();\r\n pushItems.forEach((function(pushItem) {\r\n var itemExists = 0 !== items.filter((function(item) {\r\n return item[keyName] === pushItem.key\r\n })).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 data = pushItem.data;\r\n data && items.push(data)\r\n }\r\n }));\r\n dataSource.load()\r\n }))\r\n }\r\n };\r\n _proto.getUpdatedAppointment = function() {\r\n return this._updatedAppointment\r\n };\r\n _proto.getUpdatedAppointmentKeys = function() {\r\n return this._updatedAppointmentKeys\r\n };\r\n _proto.cleanState = function() {\r\n this._updatedAppointment = null;\r\n this._updatedAppointmentKeys = []\r\n };\r\n _proto.add = function(rawAppointment) {\r\n var _this2 = this;\r\n return this._dataSource.store().insert(rawAppointment).done((function() {\r\n return _this2._dataSource.load()\r\n }))\r\n };\r\n _proto.update = function(target, data) {\r\n var _this3 = this;\r\n var key = this._getStoreKey(target);\r\n var d = new _deferred.Deferred;\r\n this._dataSource.store().update(key, data).done((function(result) {\r\n return _this3._dataSource.load().done((function() {\r\n return d.resolve(result)\r\n })).fail(d.reject)\r\n })).fail(d.reject);\r\n return d.promise()\r\n };\r\n _proto.remove = function(rawAppointment) {\r\n var _this4 = this;\r\n var key = this._getStoreKey(rawAppointment);\r\n return this._dataSource.store().remove(key).done((function() {\r\n return _this4._dataSource.load()\r\n }))\r\n };\r\n _proto.destroy = function() {\r\n var _this$_dataSource;\r\n var store = null === (_this$_dataSource = this._dataSource) || void 0 === _this$_dataSource ? void 0 : _this$_dataSource.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 _createClass(AppointmentDataSource, [{\r\n key: \"keyName\",\r\n get: function() {\r\n var store = this._dataSource.store();\r\n return store.key()\r\n }\r\n }, {\r\n key: \"isDataSourceInit\",\r\n get: function() {\r\n return !!this._dataSource\r\n }\r\n }]);\r\n return AppointmentDataSource\r\n}();\r\nexports.AppointmentDataSource = AppointmentDataSource;\r\n","/**\r\n * DevExtreme (cjs/ui/scheduler/appointments/dataProvider/appointmentFilter.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.AppointmentFilterVirtualStrategy = exports.AppointmentFilterBaseStrategy = void 0;\r\nvar _date = _interopRequireDefault(require(\"../../../../core/utils/date\"));\r\nvar _recurrence = require(\"../../recurrence\");\r\nvar _array = require(\"../../../../core/utils/array\");\r\nvar _iterator = require(\"../../../../core/utils/iterator\");\r\nvar _type = require(\"../../../../core/utils/type\");\r\nvar _query = _interopRequireDefault(require(\"../../../../data/query\"));\r\nvar _appointmentAdapter = require(\"../../appointmentAdapter\");\r\nvar _hasResourceValue = require(\"../../../../renovation/ui/scheduler/resources/hasResourceValue\");\r\nvar _base = require(\"../../../../renovation/ui/scheduler/view_model/to_test/views/utils/base\");\r\nvar _utils = require(\"../../resources/utils\");\r\nvar _utils2 = require(\"./utils\");\r\nvar _getDatesWithoutTime5 = _interopRequireDefault(require(\"../../../../renovation/ui/scheduler/utils/filtering/getDatesWithoutTime\"));\r\nvar _getAppointmentTakesAllDay = require(\"../../../../renovation/ui/scheduler/appointment/utils/getAppointmentTakesAllDay\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\n\r\nfunction _slicedToArray(arr, i) {\r\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest()\r\n}\r\n\r\nfunction _nonIterableRest() {\r\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _unsupportedIterableToArray(o, minLen) {\r\n if (!o) {\r\n return\r\n }\r\n if (\"string\" === typeof o) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n var n = Object.prototype.toString.call(o).slice(8, -1);\r\n if (\"Object\" === n && o.constructor) {\r\n n = o.constructor.name\r\n }\r\n if (\"Map\" === n || \"Set\" === n) {\r\n return Array.from(o)\r\n }\r\n if (\"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n}\r\n\r\nfunction _arrayLikeToArray(arr, len) {\r\n if (null == len || len > arr.length) {\r\n len = arr.length\r\n }\r\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\r\n arr2[i] = arr[i]\r\n }\r\n return arr2\r\n}\r\n\r\nfunction _iterableToArrayLimit(arr, i) {\r\n var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"];\r\n if (null != _i) {\r\n var _s, _e, _x, _r, _arr = [],\r\n _n = !0,\r\n _d = !1;\r\n try {\r\n if (_x = (_i = _i.call(arr)).next, 0 === i) {\r\n if (Object(_i) !== _i) {\r\n return\r\n }\r\n _n = !1\r\n } else {\r\n for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) {}\r\n }\r\n } catch (err) {\r\n _d = !0, _e = err\r\n } finally {\r\n try {\r\n if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) {\r\n return\r\n }\r\n } finally {\r\n if (_d) {\r\n throw _e\r\n }\r\n }\r\n }\r\n return _arr\r\n }\r\n}\r\n\r\nfunction _arrayWithHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return arr\r\n }\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\nvar toMs = _date.default.dateToMilliseconds;\r\nvar FilterStrategies = {\r\n virtual: \"virtual\",\r\n standard: \"standard\"\r\n};\r\nvar AppointmentFilterBaseStrategy = function() {\r\n function AppointmentFilterBaseStrategy(options) {\r\n this.options = options;\r\n this.dataAccessors = this.options.dataAccessors;\r\n this._init()\r\n }\r\n var _proto = AppointmentFilterBaseStrategy.prototype;\r\n _proto._resolveOption = function(name) {\r\n var result = this.options[name];\r\n return \"function\" === typeof result ? result() : result\r\n };\r\n _proto._init = function() {\r\n this.setDataAccessors(this.dataAccessors)\r\n };\r\n _proto.filter = function(preparedItems) {\r\n var dateRange = this.dateRange;\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: (0, _base.isTimelineView)(this.viewType),\r\n firstDayOfWeek: this.firstDayOfWeek\r\n }, preparedItems)\r\n };\r\n _proto.hasAllDayAppointments = function(filteredItems, preparedItems) {\r\n var _this = this;\r\n var adapters = filteredItems.map((function(item) {\r\n return (0, _appointmentAdapter.createAppointmentAdapter)(item, _this.dataAccessors, _this.timeZoneCalculator)\r\n }));\r\n var result = false;\r\n (0, _iterator.each)(adapters, (function(_, item) {\r\n if ((0, _getAppointmentTakesAllDay.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 _proto.setDataAccessors = function(dataAccessors) {\r\n this.dataAccessors = dataAccessors\r\n };\r\n _proto._createAllDayAppointmentFilter = function(filterOptions) {\r\n var _this2 = this;\r\n var viewStartDayHour = filterOptions.viewStartDayHour,\r\n viewEndDayHour = filterOptions.viewEndDayHour;\r\n return [\r\n [function(appointment) {\r\n return (0, _getAppointmentTakesAllDay.getAppointmentTakesAllDay)(appointment, viewStartDayHour, viewEndDayHour, _this2.allDayPanelMode)\r\n }]\r\n ]\r\n };\r\n _proto._createCombinedFilter = function(filterOptions) {\r\n var _this3 = this;\r\n var min = new Date(filterOptions.min);\r\n var max = new Date(filterOptions.max);\r\n var startDayHour = filterOptions.startDayHour,\r\n endDayHour = filterOptions.endDayHour,\r\n viewStartDayHour = filterOptions.viewStartDayHour,\r\n viewEndDayHour = filterOptions.viewEndDayHour,\r\n resources = filterOptions.resources,\r\n firstDayOfWeek = filterOptions.firstDayOfWeek,\r\n checkIntersectViewport = filterOptions.checkIntersectViewport,\r\n supportMultiDayAppointments = filterOptions.supportMultiDayAppointments;\r\n var _getDatesWithoutTime = (0, _getDatesWithoutTime5.default)(min, max),\r\n _getDatesWithoutTime2 = _slicedToArray(_getDatesWithoutTime, 2),\r\n trimMin = _getDatesWithoutTime2[0],\r\n trimMax = _getDatesWithoutTime2[1];\r\n var useRecurrence = (0, _type.isDefined)(this.dataAccessors.getter.recurrenceRule);\r\n return [\r\n [function(appointment) {\r\n var _appointment$visible;\r\n var appointmentVisible = null !== (_appointment$visible = appointment.visible) && void 0 !== _appointment$visible ? _appointment$visible : true;\r\n if (!appointmentVisible) {\r\n return false\r\n }\r\n var startDate = appointment.startDate,\r\n endDate = appointment.endDate,\r\n hasRecurrenceRule = appointment.hasRecurrenceRule;\r\n if (!hasRecurrenceRule) {\r\n if (!(endDate >= trimMin && startDate < trimMax || _date.default.sameDate(endDate, trimMin) && _date.default.sameDate(startDate, trimMin))) {\r\n return false\r\n }\r\n }\r\n var appointmentTakesAllDay = (0, _getAppointmentTakesAllDay.getAppointmentTakesAllDay)(appointment, viewStartDayHour, viewEndDayHour, _this3.allDayPanelMode);\r\n var appointmentTakesSeveralDays = (0, _utils2.getAppointmentTakesSeveralDays)(appointment);\r\n var isAllDay = appointment.allDay;\r\n var isLongAppointment = appointmentTakesSeveralDays || appointmentTakesAllDay;\r\n if (null !== resources && void 0 !== resources && resources.length && !_this3._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 = (0, _utils2.getRecurrenceException)(appointment, _this3.timeZoneCalculator, _this3.timezone);\r\n if (!_this3._filterAppointmentByRRule(_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 ((0, _type.isDefined)(startDayHour) && (!useRecurrence || !filterOptions.isVirtualScrolling)) {\r\n if (!(0, _utils2.compareDateWithStartDayHour)(startDate, endDate, startDayHour, appointmentTakesAllDay, appointmentTakesSeveralDays)) {\r\n return false\r\n }\r\n }\r\n if ((0, _type.isDefined)(endDayHour)) {\r\n if (!(0, _utils2.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 _proto._createAppointmentFilter = function(filterOptions) {\r\n return this._createCombinedFilter(filterOptions)\r\n };\r\n _proto._filterAppointmentByResources = function(appointment, resources) {\r\n var _this4 = this;\r\n var checkAppointmentResourceValues = function(resourceName, resourceIndex) {\r\n var resourceGetter = _this4.dataAccessors.resources.getter[resourceName];\r\n var resource;\r\n if ((0, _type.isFunction)(resourceGetter)) {\r\n resource = resourceGetter(appointment)\r\n }\r\n var appointmentResourceValues = (0, _array.wrapToArray)(resource);\r\n var resourceData = (0, _iterator.map)(resources[resourceIndex].items, (function(_ref) {\r\n var id = _ref.id;\r\n return id\r\n }));\r\n for (var i = 0; i < appointmentResourceValues.length; i++) {\r\n if ((0, _hasResourceValue.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 _proto._filterAppointmentByRRule = function(appointment, min, max, startDayHour, endDayHour, firstDayOfWeek) {\r\n var recurrenceRule = appointment.recurrenceRule;\r\n var recurrenceException = appointment.recurrenceException;\r\n var allDay = appointment.allDay;\r\n var result = true;\r\n var appointmentStartDate = appointment.startDate;\r\n var appointmentEndDate = appointment.endDate;\r\n var recurrenceProcessor = (0, _recurrence.getRecurrenceProcessor)();\r\n if (allDay || (0, _utils2._appointmentPartInInterval)(appointmentStartDate, appointmentEndDate, startDayHour, endDayHour)) {\r\n var _getDatesWithoutTime3 = (0, _getDatesWithoutTime5.default)(min, max),\r\n _getDatesWithoutTime4 = _slicedToArray(_getDatesWithoutTime3, 2),\r\n trimMin = _getDatesWithoutTime4[0],\r\n trimMax = _getDatesWithoutTime4[1];\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 _proto.filterLoadedAppointments = function(filterOptions, preparedItems) {\r\n var filteredItems = this.filterPreparedItems(filterOptions, preparedItems);\r\n return filteredItems.map((function(_ref2) {\r\n var rawAppointment = _ref2.rawAppointment;\r\n return rawAppointment\r\n }))\r\n };\r\n _proto.filterPreparedItems = function(filterOptions, preparedItems) {\r\n var combinedFilter = this._createAppointmentFilter(filterOptions);\r\n return (0, _query.default)(preparedItems).filter(combinedFilter).toArray()\r\n };\r\n _proto.filterAllDayAppointments = function(filterOptions, preparedItems) {\r\n var combinedFilter = this._createAllDayAppointmentFilter(filterOptions);\r\n return (0, _query.default)(preparedItems).filter(combinedFilter).toArray().map((function(_ref3) {\r\n var rawAppointment = _ref3.rawAppointment;\r\n return rawAppointment\r\n }))\r\n };\r\n _createClass(AppointmentFilterBaseStrategy, [{\r\n key: \"strategyName\",\r\n get: function() {\r\n return FilterStrategies.standard\r\n }\r\n }, {\r\n key: \"timeZoneCalculator\",\r\n get: function() {\r\n return this.options.timeZoneCalculator\r\n }\r\n }, {\r\n key: \"viewStartDayHour\",\r\n get: function() {\r\n return this.options.startDayHour\r\n }\r\n }, {\r\n key: \"viewEndDayHour\",\r\n get: function() {\r\n return this.options.endDayHour\r\n }\r\n }, {\r\n key: \"timezone\",\r\n get: function() {\r\n return this.options.timezone\r\n }\r\n }, {\r\n key: \"firstDayOfWeek\",\r\n get: function() {\r\n return this.options.firstDayOfWeek\r\n }\r\n }, {\r\n key: \"showAllDayPanel\",\r\n get: function() {\r\n return this.options.showAllDayPanel\r\n }\r\n }, {\r\n key: \"loadedResources\",\r\n get: function() {\r\n return this._resolveOption(\"loadedResources\")\r\n }\r\n }, {\r\n key: \"supportAllDayRow\",\r\n get: function() {\r\n return this._resolveOption(\"supportAllDayRow\")\r\n }\r\n }, {\r\n key: \"viewType\",\r\n get: function() {\r\n return this._resolveOption(\"viewType\")\r\n }\r\n }, {\r\n key: \"viewDirection\",\r\n get: function() {\r\n return this._resolveOption(\"viewDirection\")\r\n }\r\n }, {\r\n key: \"dateRange\",\r\n get: function() {\r\n return this._resolveOption(\"dateRange\")\r\n }\r\n }, {\r\n key: \"groupCount\",\r\n get: function() {\r\n return this._resolveOption(\"groupCount\")\r\n }\r\n }, {\r\n key: \"viewDataProvider\",\r\n get: function() {\r\n return this._resolveOption(\"viewDataProvider\")\r\n }\r\n }, {\r\n key: \"allDayPanelMode\",\r\n get: function() {\r\n return this._resolveOption(\"allDayPanelMode\")\r\n }\r\n }]);\r\n return AppointmentFilterBaseStrategy\r\n}();\r\nexports.AppointmentFilterBaseStrategy = AppointmentFilterBaseStrategy;\r\nvar AppointmentFilterVirtualStrategy = function(_AppointmentFilterBas) {\r\n _inheritsLoose(AppointmentFilterVirtualStrategy, _AppointmentFilterBas);\r\n\r\n function AppointmentFilterVirtualStrategy() {\r\n return _AppointmentFilterBas.apply(this, arguments) || this\r\n }\r\n var _proto2 = AppointmentFilterVirtualStrategy.prototype;\r\n _proto2.filter = function(preparedItems) {\r\n var _this5 = this;\r\n var hourMs = toMs(\"hour\");\r\n var isCalculateStartAndEndDayHour = (0, _base.isDateAndTimeView)(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((function(item) {\r\n var groupIndex = item.groupIndex;\r\n var groupStartDate = item.startDate;\r\n var groupEndDate = new Date(Math.min(item.endDate, endViewDate));\r\n var startDayHour = isCalculateStartAndEndDayHour ? groupStartDate.getHours() : _this5.viewStartDayHour;\r\n var endDayHour = isCalculateStartAndEndDayHour ? startDayHour + groupStartDate.getMinutes() / 60 + (groupEndDate - groupStartDate) / hourMs : _this5.viewEndDayHour;\r\n var resources = _this5._getPrerenderFilterResources(groupIndex);\r\n var hasAllDayPanel = _this5.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: _this5.viewStartDayHour,\r\n viewEndDayHour: _this5.viewEndDayHour,\r\n min: groupStartDate,\r\n max: groupEndDate,\r\n supportMultiDayAppointments: (0, _base.isTimelineView)(_this5.viewType),\r\n allDay: supportAllDayAppointment,\r\n resources: resources,\r\n firstDayOfWeek: _this5.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 _proto2.filterPreparedItems = function(_ref4, preparedItems) {\r\n var _this6 = this;\r\n var filterOptions = _ref4.filterOptions,\r\n groupCount = _ref4.groupCount;\r\n var combinedFilters = [];\r\n var itemsToFilter = preparedItems;\r\n var needPreFilter = groupCount > 0;\r\n if (needPreFilter) {\r\n itemsToFilter = itemsToFilter.filter((function(_ref5) {\r\n var rawAppointment = _ref5.rawAppointment;\r\n for (var i = 0; i < filterOptions.length; ++i) {\r\n var resources = filterOptions[i].resources;\r\n if (_this6._filterAppointmentByResources(rawAppointment, resources)) {\r\n return true\r\n }\r\n }\r\n }))\r\n }\r\n filterOptions.forEach((function(option) {\r\n combinedFilters.length && combinedFilters.push(\"or\");\r\n var filter = _this6._createAppointmentFilter(option);\r\n combinedFilters.push(filter)\r\n }));\r\n return (0, _query.default)(itemsToFilter).filter(combinedFilters).toArray()\r\n };\r\n _proto2.hasAllDayAppointments = function(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 _proto2._getPrerenderFilterResources = function(groupIndex) {\r\n var cellGroup = this.viewDataProvider.getCellsGroup(groupIndex);\r\n return (0, _utils.getResourcesDataByGroups)(this.loadedResources, this.resources, [cellGroup])\r\n };\r\n _createClass(AppointmentFilterVirtualStrategy, [{\r\n key: \"strategyName\",\r\n get: function() {\r\n return FilterStrategies.virtual\r\n }\r\n }, {\r\n key: \"resources\",\r\n get: function() {\r\n return this.options.resources\r\n }\r\n }]);\r\n return AppointmentFilterVirtualStrategy\r\n}(AppointmentFilterBaseStrategy);\r\nexports.AppointmentFilterVirtualStrategy = AppointmentFilterVirtualStrategy;\r\n","/**\r\n * DevExtreme (cjs/ui/scheduler/appointments/dataProvider/utils.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.sortAppointmentsByStartDate = exports.replaceWrongEndDate = exports.getRecurrenceException = exports.getAppointmentTakesSeveralDays = exports.compareDateWithStartDayHour = exports.compareDateWithEndDayHour = exports._isEndDateWrong = exports._convertRecurrenceException = exports._appointmentPartInInterval = void 0;\r\nvar _date = _interopRequireDefault(require(\"../../../../core/utils/date\"));\r\nvar _utils = _interopRequireDefault(require(\"../../utils.timeZone\"));\r\nvar _date_serialization = _interopRequireDefault(require(\"../../../../core/utils/date_serialization\"));\r\nvar _expressionUtils = require(\"../../expressionUtils\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar toMs = _date.default.dateToMilliseconds;\r\nvar FULL_DATE_FORMAT = \"yyyyMMddTHHmmss\";\r\nvar compareDateWithStartDayHour = function(startDate, endDate, startDayHour, allDay, severalDays) {\r\n var startTime = _date.default.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\nexports.compareDateWithStartDayHour = compareDateWithStartDayHour;\r\nvar compareDateWithEndDayHour = function(options) {\r\n var startDate = options.startDate,\r\n endDate = options.endDate,\r\n startDayHour = options.startDayHour,\r\n endDayHour = options.endDayHour,\r\n viewStartDayHour = options.viewStartDayHour,\r\n viewEndDayHour = options.viewEndDayHour,\r\n allDay = options.allDay,\r\n severalDays = options.severalDays,\r\n min = options.min,\r\n max = options.max,\r\n checkIntersectViewport = options.checkIntersectViewport;\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 = _date.default.dateTimeFromDecimal(endDayHour);\r\n var startTime = _date.default.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\nexports.compareDateWithEndDayHour = compareDateWithEndDayHour;\r\nvar getAppointmentTakesSeveralDays = function(adapter) {\r\n return !_date.default.sameDate(adapter.startDate, adapter.endDate)\r\n};\r\nexports.getAppointmentTakesSeveralDays = getAppointmentTakesSeveralDays;\r\nvar _isEndDateWrong = function(startDate, endDate) {\r\n return !endDate || isNaN(endDate.getTime()) || startDate.getTime() > endDate.getTime()\r\n};\r\nexports._isEndDateWrong = _isEndDateWrong;\r\nvar _appointmentPartInInterval = function(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\nexports._appointmentPartInInterval = _appointmentPartInInterval;\r\nvar getRecurrenceException = function(appointmentAdapter, timeZoneCalculator, timeZone) {\r\n var recurrenceException = appointmentAdapter.recurrenceException;\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\nexports.getRecurrenceException = getRecurrenceException;\r\nvar _convertRecurrenceException = function(exceptionString, startDate, timeZoneCalculator, timeZone) {\r\n exceptionString = exceptionString.replace(/\\s/g, \"\");\r\n var getConvertedToTimeZone = function(date) {\r\n return timeZoneCalculator.createDate(date, {\r\n path: \"toGrid\"\r\n })\r\n };\r\n var exceptionDate = _date_serialization.default.deserializeDate(exceptionString);\r\n var convertedStartDate = getConvertedToTimeZone(startDate);\r\n var convertedExceptionDate = getConvertedToTimeZone(exceptionDate);\r\n convertedExceptionDate = _utils.default.correctRecurrenceExceptionByTimezone(convertedExceptionDate, convertedStartDate, timeZone);\r\n exceptionString = _date_serialization.default.serializeDate(convertedExceptionDate, FULL_DATE_FORMAT);\r\n return exceptionString\r\n};\r\nexports._convertRecurrenceException = _convertRecurrenceException;\r\nvar replaceWrongEndDate = function(rawAppointment, startDate, endDate, appointmentDuration, dataAccessors) {\r\n if (_isEndDateWrong(startDate, endDate)) {\r\n var isAllDay = _expressionUtils.ExpressionUtils.getField(dataAccessors, \"allDay\", rawAppointment);\r\n var calculatedEndDate = function(isAllDay, startDate) {\r\n if (isAllDay) {\r\n return _date.default.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\nexports.replaceWrongEndDate = replaceWrongEndDate;\r\nvar sortAppointmentsByStartDate = function(appointments, dataAccessors) {\r\n appointments.sort((function(a, b) {\r\n var firstDate = new Date(_expressionUtils.ExpressionUtils.getField(dataAccessors, \"startDate\", a.settings || a));\r\n var secondDate = new Date(_expressionUtils.ExpressionUtils.getField(dataAccessors, \"startDate\", b.settings || b));\r\n return Math.sign(firstDate.getTime() - secondDate.getTime())\r\n }))\r\n};\r\nexports.sortAppointmentsByStartDate = sortAppointmentsByStartDate;\r\n","/**\r\n * DevExtreme (cjs/ui/scheduler/appointments/render.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.renderAppointments = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../../core/renderer\"));\r\nvar _utils = require(\"../utils\");\r\nvar _layout = _interopRequireDefault(require(\"../../../renovation/ui/scheduler/appointment/layout.j\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar renderAppointments = function(options) {\r\n var instance = options.instance,\r\n $dateTable = options.$dateTable,\r\n viewModel = options.viewModel;\r\n var container = getAppointmentsContainer($dateTable);\r\n _utils.utils.renovation.renderComponent(instance, container, _layout.default, \"renovatedAppointments\", viewModel)\r\n};\r\nexports.renderAppointments = renderAppointments;\r\nvar getAppointmentsContainer = function($dateTable) {\r\n var container = (0, _renderer.default)(\".dx-appointments-container\");\r\n if (0 === container.length) {\r\n container = (0, _renderer.default)(\"<div>\").addClass(\"dx-appointments-container\").appendTo($dateTable)\r\n }\r\n return container\r\n};\r\n","/**\r\n * DevExtreme (cjs/ui/scheduler/appointments/rendering_strategies/appointmentsPositioning_strategy_adaptive.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _appointmentsPositioning_strategy_base = _interopRequireDefault(require(\"./appointmentsPositioning_strategy_base\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\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\nvar AdaptivePositioningStrategy = function(_AppointmentPositioni) {\r\n _inheritsLoose(AdaptivePositioningStrategy, _AppointmentPositioni);\r\n\r\n function AdaptivePositioningStrategy() {\r\n return _AppointmentPositioni.apply(this, arguments) || this\r\n }\r\n var _proto = AdaptivePositioningStrategy.prototype;\r\n _proto.getDropDownAppointmentWidth = function(intervalCount, isAllDay) {\r\n return this.getDropDownButtonAdaptiveSize()\r\n };\r\n _proto.getDropDownButtonAdaptiveSize = function() {\r\n return COLLECTOR_ADAPTIVE_SIZE\r\n };\r\n _proto.getCollectorTopOffset = function(allDay) {\r\n var renderingStrategy = this._renderingStrategy;\r\n if (renderingStrategy.allDaySupported() && allDay) {\r\n return (renderingStrategy.allDayHeight - renderingStrategy.getDropDownButtonAdaptiveSize()) / 2\r\n } else {\r\n return this._renderingStrategy.cellHeight - COLLECTOR_ADAPTIVE_BOTTOM_OFFSET\r\n }\r\n };\r\n _proto.getCollectorLeftOffset = function() {\r\n var collectorWidth = this._renderingStrategy.getDropDownAppointmentWidth();\r\n return (this._renderingStrategy.cellWidth - collectorWidth) / 2\r\n };\r\n _proto.getAppointmentDefaultOffset = function() {\r\n return ADAPTIVE_APPOINTMENT_DEFAULT_OFFSET\r\n };\r\n _proto.getDynamicAppointmentCountPerCell = function() {\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 } else {\r\n return 0\r\n }\r\n };\r\n _proto.getDropDownAppointmentHeight = function() {\r\n return COLLECTOR_ADAPTIVE_SIZE\r\n };\r\n _proto._getAppointmentMinCount = function() {\r\n return 0\r\n };\r\n _proto._getAppointmentDefaultWidth = function() {\r\n var renderingStrategy = this._renderingStrategy;\r\n if (renderingStrategy.allDaySupported()) {\r\n return ADAPTIVE_APPOINTMENT_DEFAULT_WIDTH\r\n }\r\n return _AppointmentPositioni.prototype._getAppointmentDefaultWidth.call(this)\r\n };\r\n _proto._calculateDynamicAppointmentCountPerCell = function() {\r\n return Math.floor(this._renderingStrategy._getAppointmentMaxWidth() / this._renderingStrategy._getAppointmentDefaultWidth())\r\n };\r\n return AdaptivePositioningStrategy\r\n}(_appointmentsPositioning_strategy_base.default);\r\nvar _default = AdaptivePositioningStrategy;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/scheduler/appointments/rendering_strategies/appointmentsPositioning_strategy_base.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _type = require(\"../../../../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\nvar AppointmentPositioningStrategy = function() {\r\n function AppointmentPositioningStrategy(renderingStrategy) {\r\n this._renderingStrategy = renderingStrategy\r\n }\r\n var _proto = AppointmentPositioningStrategy.prototype;\r\n _proto.getDropDownAppointmentWidth = function(intervalCount, isAllDay) {\r\n if (isAllDay || !(0, _type.isDefined)(isAllDay)) {\r\n return COLLECTOR_WIDTH_IN_PERCENTS * this._renderingStrategy.cellWidth / 100\r\n } else {\r\n return COLLECTOR_DEFAULT_WIDTH\r\n }\r\n };\r\n _proto.getCollectorTopOffset = function() {\r\n return COLLECTOR_DEFAULT_OFFSET\r\n };\r\n _proto.getCollectorLeftOffset = function() {\r\n return COLLECTOR_DEFAULT_OFFSET\r\n };\r\n _proto.getAppointmentDefaultOffset = function() {\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 _proto.getDynamicAppointmentCountPerCell = function() {\r\n var renderingStrategy = this._renderingStrategy;\r\n var cellHeight = renderingStrategy.cellHeight;\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 } else {\r\n return allDayCount\r\n }\r\n };\r\n _proto.getDropDownAppointmentHeight = function() {\r\n return\r\n };\r\n _proto._getAppointmentMinCount = function() {\r\n return APPOINTMENT_MIN_COUNT\r\n };\r\n _proto._calculateDynamicAppointmentCountPerCell = function() {\r\n return Math.floor(this._renderingStrategy._getAppointmentMaxWidth() / APPOINTMENT_INCREASED_WIDTH)\r\n };\r\n _proto._getAppointmentDefaultWidth = function() {\r\n return APPOINTMENT_DEFAULT_WIDTH\r\n };\r\n return AppointmentPositioningStrategy\r\n}();\r\nvar _default = AppointmentPositioningStrategy;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/scheduler/appointments/rendering_strategies/strategy.base.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _appointmentsPositioning_strategy_base = _interopRequireDefault(require(\"./appointmentsPositioning_strategy_base\"));\r\nvar _appointmentsPositioning_strategy_adaptive = _interopRequireDefault(require(\"./appointmentsPositioning_strategy_adaptive\"));\r\nvar _extend = require(\"../../../../core/utils/extend\");\r\nvar _date = _interopRequireDefault(require(\"../../../../core/utils/date\"));\r\nvar _type = require(\"../../../../core/utils/type\");\r\nvar _themes = require(\"../../../themes\");\r\nvar _settingsGenerator = require(\"../settingsGenerator\");\r\nvar _utils = _interopRequireDefault(require(\"../../utils.timeZone\"));\r\nvar _appointmentAdapter = require(\"../../appointmentAdapter\");\r\nvar _getAppointmentTakesAllDay = require(\"../../../../renovation/ui/scheduler/appointment/utils/getAppointmentTakesAllDay\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\nvar toMs = _date.default.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\nvar BaseRenderingStrategy = function() {\r\n function BaseRenderingStrategy(options) {\r\n this.options = options;\r\n this._initPositioningStrategy()\r\n }\r\n var _proto = BaseRenderingStrategy.prototype;\r\n _proto._correctCollectorCoordinatesInAdaptive = function(coordinates, isAllDay) {\r\n coordinates.top = coordinates.top + this.getCollectorTopOffset(isAllDay);\r\n coordinates.left = coordinates.left + this.getCollectorLeftOffset()\r\n };\r\n _proto._initPositioningStrategy = function() {\r\n this._positioningStrategy = this.isAdaptive ? new _appointmentsPositioning_strategy_adaptive.default(this) : new _appointmentsPositioning_strategy_base.default(this)\r\n };\r\n _proto.getPositioningStrategy = function() {\r\n return this._positioningStrategy\r\n };\r\n _proto.getAppointmentMinSize = function() {\r\n return APPOINTMENT_MIN_SIZE\r\n };\r\n _proto.keepAppointmentSettings = function() {\r\n return false\r\n };\r\n _proto.getDeltaTime = function() {};\r\n _proto.getAppointmentGeometry = function(coordinates) {\r\n return coordinates\r\n };\r\n _proto.needCorrectAppointmentDates = function() {\r\n return true\r\n };\r\n _proto.getDirection = function() {\r\n return \"horizontal\"\r\n };\r\n _proto.createTaskPositionMap = function(items) {\r\n var _this = this;\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((function(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 _proto._getDeltaWidth = function(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 _proto._correctRtlCoordinates = function(coordinates) {\r\n var width = coordinates[0].width || this._getAppointmentMaxWidth();\r\n coordinates.forEach((function(coordinate) {\r\n if (!coordinate.appointmentReduced) {\r\n coordinate.left -= width\r\n }\r\n }));\r\n return coordinates\r\n };\r\n _proto._getAppointmentMaxWidth = function() {\r\n return this.cellWidth\r\n };\r\n _proto._getItemPosition = function(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 }(0, _extend.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 _proto._getAppointmentPartsPosition = function(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 _proto.getAppointmentSettingsGenerator = function(rawAppointment) {\r\n return new _settingsGenerator.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 _proto.generateAppointmentSettings = function(rawAppointment) {\r\n return this.getAppointmentSettingsGenerator(rawAppointment).create()\r\n };\r\n _proto.isAppointmentTakesAllDay = function(rawAppointment) {\r\n var adapter = (0, _appointmentAdapter.createAppointmentAdapter)(rawAppointment, this.dataAccessors, this.timeZoneCalculator);\r\n return (0, _getAppointmentTakesAllDay.getAppointmentTakesAllDay)(adapter, this.viewStartDayHour, this.viewEndDayHour, this.allDayPanelMode)\r\n };\r\n _proto._getAppointmentParts = function() {\r\n return []\r\n };\r\n _proto._getCompactAppointmentParts = function(appointmentWidth) {\r\n var cellWidth = this.cellWidth || this.getAppointmentMinSize();\r\n return Math.round(appointmentWidth / cellWidth)\r\n };\r\n _proto._reduceMultiWeekAppointment = function(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 _proto.calculateAppointmentHeight = function() {\r\n return 0\r\n };\r\n _proto.calculateAppointmentWidth = function() {\r\n return 0\r\n };\r\n _proto.isAppointmentGreaterThan = function(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 _proto.isAllDay = function() {\r\n return false\r\n };\r\n _proto.cropAppointmentWidth = function(width, cellWidth) {\r\n return this.isGroupedByDate ? cellWidth : width\r\n };\r\n _proto._getSortedPositions = function(positionList) {\r\n var _this2 = this;\r\n var result = [];\r\n var round = function(value) {\r\n return Math.round(100 * value) / 100\r\n };\r\n var createItem = function(rowIndex, columnIndex, top, left, bottom, right, position, allDay) {\r\n return {\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 };\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 _positionList$rowInde = positionList[rowIndex][columnIndex],\r\n top = _positionList$rowInde.top,\r\n left = _positionList$rowInde.left,\r\n height = _positionList$rowInde.height,\r\n width = _positionList$rowInde.width,\r\n cellPosition = _positionList$rowInde.cellPosition,\r\n allDay = _positionList$rowInde.allDay;\r\n result.push(createItem(rowIndex, columnIndex, top, left, top + height, left + width, cellPosition, allDay))\r\n }\r\n }\r\n return result.sort((function(a, b) {\r\n return _this2._sortCondition(a, b)\r\n }))\r\n };\r\n _proto._sortCondition = function() {};\r\n _proto._getConditions = function(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 _proto._rowCondition = function(a, b) {\r\n var conditions = this._getConditions(a, b);\r\n return conditions.columnCondition || conditions.rowCondition\r\n };\r\n _proto._columnCondition = function(a, b) {\r\n var conditions = this._getConditions(a, b);\r\n return conditions.rowCondition || conditions.columnCondition\r\n };\r\n _proto._isSomeEdge = function(a, b) {\r\n return a.i === b.i && a.j === b.j\r\n };\r\n _proto._normalizeCondition = function(first, second) {\r\n var result = first - second;\r\n return Math.abs(result) > 1 ? result : 0\r\n };\r\n _proto._isItemsCross = function(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 } else {\r\n return false\r\n }\r\n };\r\n _proto._checkItemsCrossing = function(firstItem, secondItem, orientation) {\r\n var firstItemSide_1 = Math.floor(firstItem[orientation[0]]);\r\n var firstItemSide_2 = Math.floor(firstItem[orientation[1]]);\r\n var secondItemSide_1 = Math.ceil(secondItem[orientation[0]]);\r\n var secondItemSide_2 = Math.ceil(secondItem[orientation[1]]);\r\n var isItemCross = Math.abs(firstItem[orientation[2]] - secondItem[orientation[2]]) <= 1;\r\n return isItemCross && (firstItemSide_1 <= secondItemSide_1 && firstItemSide_2 > secondItemSide_1 || firstItemSide_1 < secondItemSide_2 && firstItemSide_2 >= secondItemSide_2 || firstItemSide_1 === secondItemSide_1 && firstItemSide_2 === secondItemSide_2)\r\n };\r\n _proto._getOrientation = function(isAllDay) {\r\n return isAllDay ? [\"left\", \"right\", \"top\"] : [\"top\", \"bottom\", \"left\"]\r\n };\r\n _proto._getResultPositions = function(sortedArray) {\r\n var _this3 = this;\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 = function findFreeIndex(indexes, index) {\r\n var isFind = indexes.some((function(item) {\r\n return item === index\r\n }));\r\n if (isFind) {\r\n return findFreeIndex(indexes, ++index)\r\n } else {\r\n return index\r\n }\r\n };\r\n var createItem = function(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: _this3._skipSortedIndex(currentIndex) ? null : sortedIndex++\r\n }\r\n };\r\n var startNewStack = function(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 = function(items) {\r\n items.forEach((function(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((function(item, index) {\r\n if (_this3._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((function(a, b) {\r\n var columnCondition = a.j - b.j;\r\n var rowCondition = a.i - b.i;\r\n return rowCondition ? rowCondition : columnCondition\r\n }))\r\n };\r\n _proto._skipSortedIndex = function(index) {\r\n return index > this._getMaxAppointmentCountPerCell() - 1\r\n };\r\n _proto._findIndexByKey = function(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 _proto._getExtendedPositionMap = function(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 _proto._checkLongCompactAppointment = function(item, result) {\r\n this._splitLongCompactAppointment(item, result);\r\n return result\r\n };\r\n _proto._splitLongCompactAppointment = function(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 = (0, _extend.extend)(true, {}, item);\r\n compactPart.left = this._getCompactLeftCoordinate(item.left, k);\r\n compactPart.columnIndex = 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 _proto._adjustDurationByDaylightDiff = function(duration, startDate, endDate) {\r\n var daylightDiff = _utils.default.getDaylightOffset(startDate, endDate);\r\n return this._needAdjustDuration(daylightDiff) ? this._calculateDurationByDaylightDiff(duration, daylightDiff) : duration\r\n };\r\n _proto._needAdjustDuration = function(diff) {\r\n return 0 !== diff\r\n };\r\n _proto._calculateDurationByDaylightDiff = function(duration, diff) {\r\n return duration + diff * toMs(\"minute\")\r\n };\r\n _proto._getCollectorLeftOffset = function(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 _proto._markAppointmentAsVirtual = function(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 top = coordinates.top,\r\n left = coordinates.left;\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 _proto.isApplyCompactAppointmentOffset = function() {\r\n return this.supportCompactDropDownAppointments()\r\n };\r\n _proto.supportCompactDropDownAppointments = function() {\r\n return true\r\n };\r\n _proto._generateAppointmentCollectorIndex = function(_ref, isAllDay) {\r\n var groupIndex = _ref.groupIndex,\r\n rowIndex = _ref.rowIndex,\r\n columnIndex = _ref.columnIndex;\r\n return \"\".concat(groupIndex, \"-\").concat(rowIndex, \"-\").concat(columnIndex, \"-\").concat(isAllDay)\r\n };\r\n _proto._getMaxAppointmentCountPerCellByType = function(isAllDay) {\r\n var appointmentCountPerCell = this._getMaxAppointmentCountPerCell();\r\n if ((0, _type.isObject)(appointmentCountPerCell)) {\r\n return isAllDay ? appointmentCountPerCell.allDay : appointmentCountPerCell.simple\r\n } else {\r\n return appointmentCountPerCell\r\n }\r\n };\r\n _proto.getDropDownAppointmentWidth = function(intervalCount, isAllDay) {\r\n return this.getPositioningStrategy().getDropDownAppointmentWidth(intervalCount, isAllDay)\r\n };\r\n _proto.getDropDownAppointmentHeight = function() {\r\n return this.getPositioningStrategy().getDropDownAppointmentHeight()\r\n };\r\n _proto.getDropDownButtonAdaptiveSize = function() {\r\n return DROP_DOWN_BUTTON_ADAPTIVE_SIZE\r\n };\r\n _proto.getCollectorTopOffset = function(allDay) {\r\n return this.getPositioningStrategy().getCollectorTopOffset(allDay)\r\n };\r\n _proto.getCollectorLeftOffset = function() {\r\n return this.getPositioningStrategy().getCollectorLeftOffset()\r\n };\r\n _proto.getAppointmentDataCalculator = function() {};\r\n _proto.getVerticalAppointmentHeight = function(cellHeight, currentAppointmentCountInCell, maxAppointmentsPerCell) {\r\n var resultMaxAppointmentsPerCell = maxAppointmentsPerCell;\r\n if ((0, _type.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 _proto._customizeCoordinates = function(coordinates, cellHeight, appointmentCountPerCell, topOffset, isAllDay) {\r\n var index = coordinates.index,\r\n count = coordinates.count;\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 width = coordinates.width;\r\n var left = coordinates.left;\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 _proto._isAppointmentEmpty = function(height, width) {\r\n return height < this._getAppointmentMinHeight() || width < this._getAppointmentMinWidth()\r\n };\r\n _proto._calculateGeometryConfig = function(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 (!(0, _type.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 || (0, _type.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 _proto._getAppointmentCount = function() {};\r\n _proto._getDefaultRatio = function() {};\r\n _proto._getOffsets = function() {};\r\n _proto._getMaxHeight = function() {};\r\n _proto._needVerifyItemSize = function() {\r\n return false\r\n };\r\n _proto._getMaxAppointmentCountPerCell = function() {\r\n if (!this._maxAppointmentCountPerCell) {\r\n var overlappingMode = this.maxAppointmentsPerCell;\r\n var appointmentCountPerCell;\r\n if ((0, _type.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 _proto._getDynamicAppointmentCountPerCell = function() {\r\n return this.getPositioningStrategy().getDynamicAppointmentCountPerCell()\r\n };\r\n _proto.allDaySupported = function() {\r\n return false\r\n };\r\n _proto._isCompactTheme = function() {\r\n return \"compact\" === ((0, _themes.current)() || \"\").split(\".\").pop()\r\n };\r\n _proto._getAppointmentDefaultOffset = function() {\r\n return this.getPositioningStrategy().getAppointmentDefaultOffset()\r\n };\r\n _proto._getAppointmentDefaultHeight = function() {\r\n return this._getAppointmentHeightByTheme()\r\n };\r\n _proto._getAppointmentMinHeight = function() {\r\n return this._getAppointmentDefaultHeight()\r\n };\r\n _proto._getAppointmentHeightByTheme = function() {\r\n return this._isCompactTheme() ? COMPACT_THEME_APPOINTMENT_DEFAULT_HEIGHT : APPOINTMENT_DEFAULT_HEIGHT\r\n };\r\n _proto._getAppointmentDefaultWidth = function() {\r\n return this.getPositioningStrategy()._getAppointmentDefaultWidth()\r\n };\r\n _proto._getAppointmentMinWidth = function() {\r\n return this._getAppointmentDefaultWidth()\r\n };\r\n _proto._needVerticalGroupBounds = function() {\r\n return false\r\n };\r\n _proto._needHorizontalGroupBounds = function() {\r\n return false\r\n };\r\n _proto.getAppointmentDurationInMs = function(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 = _date.default.trimTime(apptStartDate);\r\n var trimmedEndDate = _date.default.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 _proto.getPositionShift = function(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 _createClass(BaseRenderingStrategy, [{\r\n key: \"isAdaptive\",\r\n get: function() {\r\n return this.options.adaptivityEnabled\r\n }\r\n }, {\r\n key: \"rtlEnabled\",\r\n get: function() {\r\n return this.options.rtlEnabled\r\n }\r\n }, {\r\n key: \"startDayHour\",\r\n get: function() {\r\n return this.options.startDayHour\r\n }\r\n }, {\r\n key: \"endDayHour\",\r\n get: function() {\r\n return this.options.endDayHour\r\n }\r\n }, {\r\n key: \"maxAppointmentsPerCell\",\r\n get: function() {\r\n return this.options.maxAppointmentsPerCell\r\n }\r\n }, {\r\n key: \"cellWidth\",\r\n get: function() {\r\n return this.options.cellWidth\r\n }\r\n }, {\r\n key: \"cellHeight\",\r\n get: function() {\r\n return this.options.cellHeight\r\n }\r\n }, {\r\n key: \"allDayHeight\",\r\n get: function() {\r\n return this.options.allDayHeight\r\n }\r\n }, {\r\n key: \"resizableStep\",\r\n get: function() {\r\n return this.options.resizableStep\r\n }\r\n }, {\r\n key: \"isGroupedByDate\",\r\n get: function() {\r\n return this.options.isGroupedByDate\r\n }\r\n }, {\r\n key: \"visibleDayDuration\",\r\n get: function() {\r\n return this.options.visibleDayDuration\r\n }\r\n }, {\r\n key: \"viewStartDayHour\",\r\n get: function() {\r\n return this.options.viewStartDayHour\r\n }\r\n }, {\r\n key: \"viewEndDayHour\",\r\n get: function() {\r\n return this.options.viewEndDayHour\r\n }\r\n }, {\r\n key: \"cellDuration\",\r\n get: function() {\r\n return this.options.cellDuration\r\n }\r\n }, {\r\n key: \"cellDurationInMinutes\",\r\n get: function() {\r\n return this.options.cellDurationInMinutes\r\n }\r\n }, {\r\n key: \"leftVirtualCellCount\",\r\n get: function() {\r\n return this.options.leftVirtualCellCount\r\n }\r\n }, {\r\n key: \"topVirtualCellCount\",\r\n get: function() {\r\n return this.options.topVirtualCellCount\r\n }\r\n }, {\r\n key: \"positionHelper\",\r\n get: function() {\r\n return this.options.positionHelper\r\n }\r\n }, {\r\n key: \"showAllDayPanel\",\r\n get: function() {\r\n return this.options.showAllDayPanel\r\n }\r\n }, {\r\n key: \"isGroupedAllDayPanel\",\r\n get: function() {\r\n return this.options.isGroupedAllDayPanel\r\n }\r\n }, {\r\n key: \"groupOrientation\",\r\n get: function() {\r\n return this.options.groupOrientation\r\n }\r\n }, {\r\n key: \"rowCount\",\r\n get: function() {\r\n return this.options.rowCount\r\n }\r\n }, {\r\n key: \"groupCount\",\r\n get: function() {\r\n return this.options.groupCount\r\n }\r\n }, {\r\n key: \"currentDate\",\r\n get: function() {\r\n return this.options.currentDate\r\n }\r\n }, {\r\n key: \"appointmentCountPerCell\",\r\n get: function() {\r\n return this.options.appointmentCountPerCell\r\n }\r\n }, {\r\n key: \"appointmentOffset\",\r\n get: function() {\r\n return this.options.appointmentOffset\r\n }\r\n }, {\r\n key: \"allowResizing\",\r\n get: function() {\r\n return this.options.allowResizing\r\n }\r\n }, {\r\n key: \"allowAllDayResizing\",\r\n get: function() {\r\n return this.options.allowAllDayResizing\r\n }\r\n }, {\r\n key: \"viewDataProvider\",\r\n get: function() {\r\n return this.options.viewDataProvider\r\n }\r\n }, {\r\n key: \"dataAccessors\",\r\n get: function() {\r\n return this.options.dataAccessors\r\n }\r\n }, {\r\n key: \"timeZoneCalculator\",\r\n get: function() {\r\n return this.options.timeZoneCalculator\r\n }\r\n }, {\r\n key: \"intervalCount\",\r\n get: function() {\r\n return this.options.intervalCount\r\n }\r\n }, {\r\n key: \"allDayPanelMode\",\r\n get: function() {\r\n return this.options.allDayPanelMode\r\n }\r\n }, {\r\n key: \"isVirtualScrolling\",\r\n get: function() {\r\n return this.options.isVirtualScrolling\r\n }\r\n }]);\r\n return BaseRenderingStrategy\r\n}();\r\nvar _default = BaseRenderingStrategy;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/scheduler/appointments/rendering_strategies/strategy_agenda.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.default = void 0;\r\nvar _date = _interopRequireDefault(require(\"../../../../core/utils/date\"));\r\nvar _iterator = require(\"../../../../core/utils/iterator\");\r\nvar _strategy = _interopRequireDefault(require(\"./strategy.base\"));\r\nvar _expressionUtils = require(\"../../expressionUtils\");\r\nvar _utils = require(\"../../resources/utils\");\r\nvar _appointmentAdapter = require(\"../../appointmentAdapter\");\r\nvar _utils2 = require(\"../dataProvider/utils\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _toConsumableArray(arr) {\r\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread()\r\n}\r\n\r\nfunction _nonIterableSpread() {\r\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _unsupportedIterableToArray(o, minLen) {\r\n if (!o) {\r\n return\r\n }\r\n if (\"string\" === typeof o) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n var n = Object.prototype.toString.call(o).slice(8, -1);\r\n if (\"Object\" === n && o.constructor) {\r\n n = o.constructor.name\r\n }\r\n if (\"Map\" === n || \"Set\" === n) {\r\n return Array.from(o)\r\n }\r\n if (\"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n}\r\n\r\nfunction _iterableToArray(iter) {\r\n if (\"undefined\" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter[\"@@iterator\"]) {\r\n return Array.from(iter)\r\n }\r\n}\r\n\r\nfunction _arrayWithoutHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return _arrayLikeToArray(arr)\r\n }\r\n}\r\n\r\nfunction _arrayLikeToArray(arr, len) {\r\n if (null == len || len > arr.length) {\r\n len = arr.length\r\n }\r\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\r\n arr2[i] = arr[i]\r\n }\r\n return arr2\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar AgendaRenderingStrategy = function(_BaseRenderingStrateg) {\r\n _inheritsLoose(AgendaRenderingStrategy, _BaseRenderingStrateg);\r\n\r\n function AgendaRenderingStrategy() {\r\n return _BaseRenderingStrateg.apply(this, arguments) || this\r\n }\r\n var _proto = AgendaRenderingStrategy.prototype;\r\n _proto.getAppointmentMinSize = function() {};\r\n _proto.getDeltaTime = function() {};\r\n _proto.keepAppointmentSettings = function() {\r\n return true\r\n };\r\n _proto.getAppointmentGeometry = function(geometry) {\r\n return geometry\r\n };\r\n _proto.groupAppointmentByResources = function(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 (0, _utils.groupAppointmentsByResources)(config, appointments, groups)\r\n };\r\n _proto.createTaskPositionMap = function(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 (0, _iterator.each)(appointmentsByResources, function(i, appts) {\r\n var additionalAppointments = [];\r\n var recurrentIndexes = [];\r\n (0, _iterator.each)(appts, function(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 }.bind(this));\r\n this.instance.getAppointmentsInstance()._reduceRecurrenceAppointments(recurrentIndexes, appts);\r\n this.instance.getAppointmentsInstance()._combineAppointments(appts, additionalAppointments);\r\n groupedAppts = groupedAppts.concat(appts)\r\n }.bind(this));\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(function(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 }.bind(this));\r\n return result\r\n };\r\n _proto._calculateGroupIndex = function(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 _proto._getDeltaWidth = function() {};\r\n _proto._getAppointmentMaxWidth = function() {\r\n return this.cellWidth\r\n };\r\n _proto._needVerifyItemSize = function() {\r\n return false\r\n };\r\n _proto._getAppointmentParts = function() {};\r\n _proto._reduceMultiWeekAppointment = function() {};\r\n _proto.calculateAppointmentHeight = function() {\r\n return 0\r\n };\r\n _proto.calculateAppointmentWidth = function() {\r\n return 0\r\n };\r\n _proto.isAppointmentGreaterThan = function() {};\r\n _proto.isAllDay = function() {\r\n return false\r\n };\r\n _proto._sortCondition = function() {};\r\n _proto._rowCondition = function() {};\r\n _proto._columnCondition = function() {};\r\n _proto._findIndexByKey = function() {};\r\n _proto._markAppointmentAsVirtual = function() {};\r\n _proto.getDropDownAppointmentWidth = function() {};\r\n _proto.getCollectorLeftOffset = function() {};\r\n _proto.getCollectorTopOffset = function() {};\r\n _proto.replaceWrongAppointmentEndDate = function(rawAppointment, startDate, endDate) {\r\n var adapter = (0, _appointmentAdapter.createAppointmentAdapter)(rawAppointment, this.dataAccessors, this.timeZoneCalculator);\r\n (0, _utils2.replaceWrongEndDate)(adapter, startDate, endDate, this.cellDuration, this.dataAccessors)\r\n };\r\n _proto.calculateRows = function(appointments, agendaDuration, currentDate, needClearSettings) {\r\n this._rows = [];\r\n currentDate = _date.default.trimTime(new Date(currentDate));\r\n var groupedAppointments = this.groupAppointmentByResources(appointments);\r\n (0, _iterator.each)(groupedAppointments, function(_, 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 }(0, _iterator.each)(currentAppointments, function(index, appointment) {\r\n var startDate = _expressionUtils.ExpressionUtils.getField(this.dataAccessors, \"startDate\", appointment);\r\n var endDate = _expressionUtils.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 }.bind(this));\r\n this.instance.getAppointmentsInstance()._reduceRecurrenceAppointments(appts.indexes, currentAppointments);\r\n currentAppointments.push.apply(currentAppointments, _toConsumableArray(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 = (0, _appointmentAdapter.createAppointmentAdapter)(currentAppointments[j], this.dataAccessors, this.timeZoneCalculator);\r\n var appointmentIsLong = (0, _utils2.getAppointmentTakesSeveralDays)(adapter);\r\n var appointmentIsRecurrence = _expressionUtils.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 }.bind(this));\r\n return this._rows\r\n };\r\n _proto._iterateRow = function(row, obj, index) {\r\n for (var i = 0; i < row.length; i++) {\r\n obj.counter = 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 _proto.getDateByIndex = function(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 _proto.getAppointmentDataCalculator = function() {\r\n return function($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 }.bind(this)\r\n };\r\n _createClass(AgendaRenderingStrategy, [{\r\n key: \"instance\",\r\n get: function() {\r\n return this.options.instance\r\n }\r\n }, {\r\n key: \"agendaDuration\",\r\n get: function() {\r\n return this.options.agendaDuration\r\n }\r\n }]);\r\n return AgendaRenderingStrategy\r\n}(_strategy.default);\r\nvar _default = AgendaRenderingStrategy;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/scheduler/appointments/rendering_strategies/strategy_horizontal.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _strategy = _interopRequireDefault(require(\"./strategy.base\"));\r\nvar _date = _interopRequireDefault(require(\"../../../../core/utils/date\"));\r\nvar _expressionUtils = require(\"../../expressionUtils\");\r\nvar _getSkippedHoursInRange = _interopRequireDefault(require(\"../../../../renovation/ui/scheduler/view_model/appointments/utils/getSkippedHoursInRange\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar DEFAULT_APPOINTMENT_HEIGHT = 60;\r\nvar MIN_APPOINTMENT_HEIGHT = 35;\r\nvar DROP_DOWN_BUTTON_OFFSET = 2;\r\nvar toMs = _date.default.dateToMilliseconds;\r\nvar HorizontalRenderingStrategy = function(_BaseAppointmentsStra) {\r\n _inheritsLoose(HorizontalRenderingStrategy, _BaseAppointmentsStra);\r\n\r\n function HorizontalRenderingStrategy() {\r\n return _BaseAppointmentsStra.apply(this, arguments) || this\r\n }\r\n var _proto = HorizontalRenderingStrategy.prototype;\r\n _proto._needVerifyItemSize = function() {\r\n return true\r\n };\r\n _proto.calculateAppointmentWidth = function(appointment, position) {\r\n var cellWidth = this.cellWidth || this.getAppointmentMinSize();\r\n var allDay = _expressionUtils.ExpressionUtils.getField(this.dataAccessors, \"allDay\", appointment);\r\n var startDate = position.info.appointment.startDate;\r\n var endDate = position.info.appointment.endDate;\r\n var normalizedEndDate = position.info.appointment.normalizedEndDate;\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 = (0, _getSkippedHoursInRange.default)(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 _proto._needAdjustDuration = function(diff) {\r\n return diff < 0\r\n };\r\n _proto.getAppointmentGeometry = function(coordinates) {\r\n var result = this._customizeAppointmentGeometry(coordinates);\r\n return _BaseAppointmentsStra.prototype.getAppointmentGeometry.call(this, result)\r\n };\r\n _proto._customizeAppointmentGeometry = function(coordinates) {\r\n var config = this._calculateGeometryConfig(coordinates);\r\n return this._customizeCoordinates(coordinates, config.height, config.appointmentCountPerCell, config.offset)\r\n };\r\n _proto._getOffsets = function() {\r\n return {\r\n unlimited: 0,\r\n auto: 0\r\n }\r\n };\r\n _proto._getCompactLeftCoordinate = function(itemLeft, index) {\r\n var cellWidth = this.cellWidth || this.getAppointmentMinSize();\r\n return itemLeft + cellWidth * index\r\n };\r\n _proto._getMaxHeight = function() {\r\n return this.cellHeight || this.getAppointmentMinSize()\r\n };\r\n _proto._getAppointmentCount = function(overlappingMode, coordinates) {\r\n return this._getMaxAppointmentCountPerCellByType(false)\r\n };\r\n _proto._getAppointmentDefaultHeight = function() {\r\n return DEFAULT_APPOINTMENT_HEIGHT\r\n };\r\n _proto._getAppointmentMinHeight = function() {\r\n return MIN_APPOINTMENT_HEIGHT\r\n };\r\n _proto._sortCondition = function(a, b) {\r\n return this._columnCondition(a, b)\r\n };\r\n _proto._getOrientation = function() {\r\n return [\"left\", \"right\", \"top\"]\r\n };\r\n _proto.getDropDownAppointmentWidth = function() {\r\n return this.cellWidth - 2 * DROP_DOWN_BUTTON_OFFSET\r\n };\r\n _proto.getDeltaTime = function(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 _proto.isAllDay = function(appointmentData) {\r\n return _expressionUtils.ExpressionUtils.getField(this.dataAccessors, \"allDay\", appointmentData)\r\n };\r\n _proto._isItemsCross = function(firstItem, secondItem) {\r\n var orientation = this._getOrientation();\r\n return this._checkItemsCrossing(firstItem, secondItem, orientation)\r\n };\r\n _proto.getPositionShift = function(timeShift) {\r\n var positionShift = _BaseAppointmentsStra.prototype.getPositionShift.call(this, 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 _proto.supportCompactDropDownAppointments = function() {\r\n return false\r\n };\r\n return HorizontalRenderingStrategy\r\n}(_strategy.default);\r\nvar _default = HorizontalRenderingStrategy;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/scheduler/appointments/rendering_strategies/strategy_horizontal_month.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.default = void 0;\r\nvar _strategy_horizontal_month_line = _interopRequireDefault(require(\"./strategy_horizontal_month_line\"));\r\nvar _positionHelper = require(\"../../workspaces/helpers/positionHelper\");\r\nvar _date = _interopRequireDefault(require(\"../../../../core/utils/date\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\n\r\nfunction _slicedToArray(arr, i) {\r\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest()\r\n}\r\n\r\nfunction _nonIterableRest() {\r\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _unsupportedIterableToArray(o, minLen) {\r\n if (!o) {\r\n return\r\n }\r\n if (\"string\" === typeof o) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n var n = Object.prototype.toString.call(o).slice(8, -1);\r\n if (\"Object\" === n && o.constructor) {\r\n n = o.constructor.name\r\n }\r\n if (\"Map\" === n || \"Set\" === n) {\r\n return Array.from(o)\r\n }\r\n if (\"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n}\r\n\r\nfunction _arrayLikeToArray(arr, len) {\r\n if (null == len || len > arr.length) {\r\n len = arr.length\r\n }\r\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\r\n arr2[i] = arr[i]\r\n }\r\n return arr2\r\n}\r\n\r\nfunction _iterableToArrayLimit(arr, i) {\r\n var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"];\r\n if (null != _i) {\r\n var _s, _e, _x, _r, _arr = [],\r\n _n = !0,\r\n _d = !1;\r\n try {\r\n if (_x = (_i = _i.call(arr)).next, 0 === i) {\r\n if (Object(_i) !== _i) {\r\n return\r\n }\r\n _n = !1\r\n } else {\r\n for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) {}\r\n }\r\n } catch (err) {\r\n _d = !0, _e = err\r\n } finally {\r\n try {\r\n if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) {\r\n return\r\n }\r\n } finally {\r\n if (_d) {\r\n throw _e\r\n }\r\n }\r\n }\r\n return _arr\r\n }\r\n}\r\n\r\nfunction _arrayWithHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return arr\r\n }\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\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 = _date.default.dateToMilliseconds;\r\nvar HorizontalMonthRenderingStrategy = function(_HorizontalMonthLineR) {\r\n _inheritsLoose(HorizontalMonthRenderingStrategy, _HorizontalMonthLineR);\r\n\r\n function HorizontalMonthRenderingStrategy() {\r\n return _HorizontalMonthLineR.apply(this, arguments) || this\r\n }\r\n var _proto = HorizontalMonthRenderingStrategy.prototype;\r\n _proto._getLeftPosition = function(settings) {\r\n var fullWeekAppointmentWidth = this.getGroupWidth(settings.groupIndex);\r\n return this._calculateMultiWeekAppointmentLeftOffset(settings.hMax, fullWeekAppointmentWidth)\r\n };\r\n _proto._getChunkCount = function(fullChunksWidth, firstChunkWidth, weekWidth, settings) {\r\n var groupIndex = settings.groupIndex,\r\n startDate = settings.info.appointment.startDate;\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 _proto._tryGetRowIndexInView = function(positionStartDate) {\r\n var _this$options$dataRan;\r\n var columnsCount = this.viewDataProvider.getColumnsCount();\r\n if ((null === (_this$options$dataRan = this.options.dataRange) || void 0 === _this$options$dataRan ? void 0 : _this$options$dataRan.length) < 1 || !columnsCount) {\r\n return\r\n }\r\n var _this$options$dateRan = _slicedToArray(this.options.dateRange, 1),\r\n startViewDate = _this$options$dateRan[0];\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 _proto._getChunkWidths = function(geometry) {\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 _proto._getTailChunkSettings = function(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 _proto._getAppointmentParts = function(geometry, settings) {\r\n var result = [];\r\n var weekWidth = Math.round(this.getGroupWidth(settings.groupIndex));\r\n var _this$_getChunkWidths = this._getChunkWidths(geometry, settings, weekWidth),\r\n _this$_getChunkWidths2 = _slicedToArray(_this$_getChunkWidths, 3),\r\n firstChunkWidth = _this$_getChunkWidths2[0],\r\n fullChunksWidth = _this$_getChunkWidths2[1],\r\n withoutFirstChunkWidth = _this$_getChunkWidths2[2];\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 _this$_getTailChunkSe = this._getTailChunkSettings(withoutFirstChunkWidth, weekWidth, leftPosition),\r\n _this$_getTailChunkSe2 = _slicedToArray(_this$_getTailChunkSe, 2),\r\n tailChunkWidth = _this$_getTailChunkSe2[0],\r\n tailChunkLeftPosition = _this$_getTailChunkSe2[1];\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({}, 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 _proto._calculateMultiWeekAppointmentLeftOffset = function(max, width) {\r\n return this.rtlEnabled ? max : max - width\r\n };\r\n _proto.getGroupWidth = function(groupIndex) {\r\n return (0, _positionHelper.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 _proto._getAppointmentDefaultHeight = function() {\r\n return this._getAppointmentHeightByTheme()\r\n };\r\n _proto._getAppointmentMinHeight = function() {\r\n return this._getAppointmentDefaultHeight()\r\n };\r\n _proto._columnCondition = function(a, b) {\r\n var conditions = this._getConditions(a, b);\r\n return conditions.rowCondition || conditions.columnCondition || conditions.cellPositionCondition\r\n };\r\n _proto.createTaskPositionMap = function(items) {\r\n return _HorizontalMonthLineR.prototype.createTaskPositionMap.call(this, items, true)\r\n };\r\n _proto._getSortedPositions = function(map) {\r\n return _HorizontalMonthLineR.prototype._getSortedPositions.call(this, map, true)\r\n };\r\n _proto._getDefaultRatio = function() {\r\n return MONTH_APPOINTMENT_HEIGHT_RATIO\r\n };\r\n _proto._getOffsets = function() {\r\n return {\r\n unlimited: MONTH_APPOINTMENT_MIN_OFFSET,\r\n auto: MONTH_APPOINTMENT_MAX_OFFSET\r\n }\r\n };\r\n _proto.getDropDownAppointmentWidth = function(intervalCount) {\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 _proto.needCorrectAppointmentDates = function() {\r\n return false\r\n };\r\n _proto._needVerticalGroupBounds = function() {\r\n return false\r\n };\r\n _proto._needHorizontalGroupBounds = function() {\r\n return true\r\n };\r\n _proto.getPositionShift = function(timeShift) {\r\n return {\r\n cellPosition: timeShift * this.cellWidth,\r\n top: 0,\r\n left: 0\r\n }\r\n };\r\n _createClass(HorizontalMonthRenderingStrategy, [{\r\n key: \"endViewDate\",\r\n get: function() {\r\n return this.options.endViewDate\r\n }\r\n }, {\r\n key: \"adaptivityEnabled\",\r\n get: function() {\r\n return this.options.adaptivityEnabled\r\n }\r\n }, {\r\n key: \"DOMMetaData\",\r\n get: function() {\r\n return this.options.DOMMetaData\r\n }\r\n }]);\r\n return HorizontalMonthRenderingStrategy\r\n}(_strategy_horizontal_month_line.default);\r\nvar _default = HorizontalMonthRenderingStrategy;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/scheduler/appointments/rendering_strategies/strategy_horizontal_month_line.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _strategy_horizontal = _interopRequireDefault(require(\"./strategy_horizontal\"));\r\nvar _date = _interopRequireDefault(require(\"../../../../core/utils/date\"));\r\nvar _query = _interopRequireDefault(require(\"../../../../data/query\"));\r\nvar _utils = require(\"../dataProvider/utils\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\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\nvar HorizontalMonthLineRenderingStrategy = function(_HorizontalAppointmen) {\r\n _inheritsLoose(HorizontalMonthLineRenderingStrategy, _HorizontalAppointmen);\r\n\r\n function HorizontalMonthLineRenderingStrategy() {\r\n return _HorizontalAppointmen.apply(this, arguments) || this\r\n }\r\n var _proto = HorizontalMonthLineRenderingStrategy.prototype;\r\n _proto.calculateAppointmentWidth = function(appointment, position) {\r\n var startDate = _date.default.trimTime(position.info.appointment.startDate);\r\n var normalizedEndDate = position.info.appointment.normalizedEndDate;\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 _proto._getDurationInDays = function(startDate, endDate) {\r\n var adjustedDuration = this._adjustDurationByDaylightDiff(endDate.getTime() - startDate.getTime(), startDate, endDate);\r\n return adjustedDuration / _date.default.dateToMilliseconds(\"day\") || ZERO_APPOINTMENT_DURATION_IN_DAYS\r\n };\r\n _proto.getDeltaTime = function(args, initialSize) {\r\n return HOURS_IN_DAY * MINUTES_IN_HOUR * MILLISECONDS_IN_MINUTE * this._getDeltaWidth(args, initialSize)\r\n };\r\n _proto.isAllDay = function() {\r\n return false\r\n };\r\n _proto.createTaskPositionMap = function(items, skipSorting) {\r\n if (!skipSorting) {\r\n (0, _utils.sortAppointmentsByStartDate)(items, this.dataAccessors)\r\n }\r\n return _HorizontalAppointmen.prototype.createTaskPositionMap.call(this, items)\r\n };\r\n _proto._getSortedPositions = function(map, skipSorting) {\r\n var result = _HorizontalAppointmen.prototype._getSortedPositions.call(this, map);\r\n if (!skipSorting) {\r\n result = (0, _query.default)(result).sortBy(\"top\").thenBy(\"left\").thenBy(\"cellPosition\").thenBy(\"i\").toArray()\r\n }\r\n return result\r\n };\r\n _proto.needCorrectAppointmentDates = function() {\r\n return false\r\n };\r\n _proto.getPositionShift = function() {\r\n return {\r\n top: 0,\r\n left: 0,\r\n cellPosition: 0\r\n }\r\n };\r\n return HorizontalMonthLineRenderingStrategy\r\n}(_strategy_horizontal.default);\r\nvar _default = HorizontalMonthLineRenderingStrategy;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/scheduler/appointments/rendering_strategies/strategy_vertical.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _strategy = _interopRequireDefault(require(\"./strategy.base\"));\r\nvar _extend = require(\"../../../../core/utils/extend\");\r\nvar _type = require(\"../../../../core/utils/type\");\r\nvar _date = _interopRequireDefault(require(\"../../../../core/utils/date\"));\r\nvar _utils = _interopRequireDefault(require(\"../../utils.timeZone\"));\r\nvar _expressionUtils = require(\"../../expressionUtils\");\r\nvar _appointmentAdapter = require(\"../../appointmentAdapter\");\r\nvar _getSkippedHoursInRange = _interopRequireDefault(require(\"../../../../renovation/ui/scheduler/view_model/appointments/utils/getSkippedHoursInRange\"));\r\nvar _getAppointmentTakesAllDay = require(\"../../../../renovation/ui/scheduler/appointment/utils/getAppointmentTakesAllDay\");\r\nvar _math = require(\"../../../../core/utils/math\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar ALLDAY_APPOINTMENT_MIN_VERTICAL_OFFSET = 5;\r\nvar ALLDAY_APPOINTMENT_MAX_VERTICAL_OFFSET = 20;\r\nvar toMs = _date.default.dateToMilliseconds;\r\nvar VerticalRenderingStrategy = function(_BaseAppointmentsStra) {\r\n _inheritsLoose(VerticalRenderingStrategy, _BaseAppointmentsStra);\r\n\r\n function VerticalRenderingStrategy() {\r\n return _BaseAppointmentsStra.apply(this, arguments) || this\r\n }\r\n var _proto = VerticalRenderingStrategy.prototype;\r\n _proto.getDeltaTime = function(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 _proto._correctCollectorCoordinatesInAdaptive = function(coordinates, isAllDay) {\r\n if (isAllDay) {\r\n _BaseAppointmentsStra.prototype._correctCollectorCoordinatesInAdaptive.call(this, coordinates, isAllDay)\r\n } else if (0 === this._getMaxAppointmentCountPerCellByType()) {\r\n var cellHeight = this.cellHeight;\r\n var cellWidth = this.cellWidth;\r\n coordinates.top += (cellHeight - this.getDropDownButtonAdaptiveSize()) / 2;\r\n coordinates.left += (cellWidth - this.getDropDownButtonAdaptiveSize()) / 2\r\n }\r\n };\r\n _proto.getAppointmentGeometry = function(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 _BaseAppointmentsStra.prototype.getAppointmentGeometry.call(this, geometry)\r\n };\r\n _proto._getAdaptiveGeometry = function(coordinates) {\r\n var config = this._calculateGeometryConfig(coordinates);\r\n return this._customizeCoordinates(coordinates, config.height, config.appointmentCountPerCell, config.offset)\r\n };\r\n _proto._getItemPosition = function(appointment) {\r\n var allDay = this.isAllDay(appointment);\r\n if (allDay) {\r\n return _BaseAppointmentsStra.prototype._getItemPosition.call(this, appointment)\r\n }\r\n var adapter = (0, _appointmentAdapter.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 = !_utils.default.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 = _date.default.trimTime(appointmentStartDate);\r\n var trimmedSettingStartDate = _date.default.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 _currentSetting$info$ = currentSetting.info.appointment,\r\n currentSettingStartDate = _currentSetting$info$.startDate,\r\n currentSettingNormalizedEndDate = _currentSetting$info$.normalizedEndDate;\r\n var currentSettingDuration = currentSettingNormalizedEndDate - currentSettingStartDate;\r\n var hasNextParts = currentSettingDuration < appointmentDuration;\r\n appointmentReduced = hasNextParts ? appointmentBeginInCurrentView ? \"head\" : \"body\" : appointmentBeginInCurrentView ? \"head\" : \"tail\"\r\n }(0, _extend.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 _proto._isMultiViewAppointment = function(_ref, height) {\r\n var vMax = _ref.vMax,\r\n top = _ref.top;\r\n var fullAppointmentHeight = (0, _math.roundFloatPart)(height, 2);\r\n var remainingHeight = (0, _math.roundFloatPart)(vMax - top, 2);\r\n return fullAppointmentHeight > remainingHeight\r\n };\r\n _proto._reduceMultiDayAppointment = function(sourceAppointmentHeight, bound) {\r\n return Math.min(sourceAppointmentHeight, bound.bottom - Math.floor(bound.top))\r\n };\r\n _proto._getGroupHeight = function() {\r\n return this.cellHeight * this.rowCount\r\n };\r\n _proto._getGroupTopOffset = function(appointmentSettings) {\r\n var groupIndex = appointmentSettings.groupIndex;\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 _proto._getTailHeight = function(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 sourceAppointmentHeight = appointmentGeometry.sourceAppointmentHeight;\r\n var groupHeight = this._getGroupHeight();\r\n var tailHeight = appointmentGroupTopOffset + sourceAppointmentHeight - groupHeight;\r\n return tailHeight\r\n };\r\n _proto._getAppointmentParts = function(appointmentGeometry, appointmentSettings) {\r\n var width = appointmentGeometry.width;\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 vMax = appointmentSettings.vMax,\r\n hMax = appointmentSettings.hMax;\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({}, 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 _proto._getMinuteHeight = function() {\r\n return this.cellHeight / this.cellDurationInMinutes\r\n };\r\n _proto._getCompactLeftCoordinate = function(itemLeft, index) {\r\n var cellWidth = this.cellWidth || this.getAppointmentMinSize();\r\n return itemLeft + (1 + cellWidth) * index\r\n };\r\n _proto._getVerticalAppointmentGeometry = function(coordinates) {\r\n var config = this._calculateVerticalGeometryConfig(coordinates);\r\n return this._customizeVerticalCoordinates(coordinates, config.width, config.appointmentCountPerCell, config.offset)\r\n };\r\n _proto._customizeVerticalCoordinates = function(coordinates, width, appointmentCountPerCell, topOffset, isAllDay) {\r\n var appointmentWidth = Math.max(width / appointmentCountPerCell, width / coordinates.count);\r\n var height = coordinates.height;\r\n var appointmentLeft = coordinates.left + coordinates.index * appointmentWidth;\r\n var top = coordinates.top;\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 _proto._calculateVerticalGeometryConfig = function(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 || (0, _type.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 _proto._getMaxWidth = function() {\r\n return this.cellWidth\r\n };\r\n _proto.isAllDay = function(appointmentData) {\r\n return (0, _getAppointmentTakesAllDay.getAppointmentTakesAllDay)((0, _appointmentAdapter.createAppointmentAdapter)(appointmentData, this.dataAccessors, this.timeZoneCalculator), this.startDayHour, this.endDayHour, this.allDayPanelMode)\r\n };\r\n _proto._getAppointmentMaxWidth = function() {\r\n return this.cellWidth - this._getAppointmentDefaultOffset()\r\n };\r\n _proto.calculateAppointmentWidth = function(appointment, position) {\r\n if (!this.isAllDay(appointment)) {\r\n return 0\r\n }\r\n var startDate = _date.default.trimTime(position.info.appointment.startDate);\r\n var normalizedEndDate = position.info.appointment.normalizedEndDate;\r\n var cellWidth = this.cellWidth || this.getAppointmentMinSize();\r\n var durationInHours = (normalizedEndDate.getTime() - startDate.getTime()) / toMs(\"hour\");\r\n var skippedHours = (0, _getSkippedHoursInRange.default)(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 _proto.calculateAppointmentHeight = function(appointment, position) {\r\n if (this.isAllDay(appointment)) {\r\n return 0\r\n }\r\n var startDate = position.info.appointment.startDate;\r\n var normalizedEndDate = position.info.appointment.normalizedEndDate;\r\n var allDay = _expressionUtils.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 _proto.getDirection = function() {\r\n return \"vertical\"\r\n };\r\n _proto._sortCondition = function(a, b) {\r\n var allDayCondition = a.allDay - b.allDay;\r\n var isAllDay = a.allDay && b.allDay;\r\n var condition = \"vertical\" === this.groupOrientation && isAllDay ? this._columnCondition(a, b) : this._rowCondition(a, b);\r\n return allDayCondition ? allDayCondition : condition\r\n };\r\n _proto.allDaySupported = function() {\r\n return true\r\n };\r\n _proto._getAllDayAppointmentGeometry = function(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 _proto._calculateGeometryConfig = function(coordinates) {\r\n if (!this.allowResizing || !this.allowAllDayResizing) {\r\n coordinates.skipResizing = true\r\n }\r\n var config = _BaseAppointmentsStra.prototype._calculateGeometryConfig.call(this, 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 _proto._getAppointmentCount = function(overlappingMode, coordinates) {\r\n return \"auto\" !== overlappingMode && 1 === coordinates.count && !(0, _type.isNumeric)(overlappingMode) ? coordinates.count : this._getMaxAppointmentCountPerCellByType(coordinates.allDay)\r\n };\r\n _proto._getDefaultRatio = function(coordinates, appointmentCountPerCell) {\r\n return coordinates.count > this.appointmentCountPerCell ? .65 : 1\r\n };\r\n _proto._getOffsets = function() {\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 _proto._getMaxHeight = function() {\r\n return this.allDayHeight || this.getAppointmentMinSize()\r\n };\r\n _proto._needVerticalGroupBounds = function(allDay) {\r\n return !allDay\r\n };\r\n _proto._needHorizontalGroupBounds = function() {\r\n return false\r\n };\r\n _proto.getPositionShift = function(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 _BaseAppointmentsStra.prototype.getPositionShift.call(this, timeShift, isAllDay)\r\n };\r\n return VerticalRenderingStrategy\r\n}(_strategy.default);\r\nvar _default = VerticalRenderingStrategy;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/scheduler/appointments/rendering_strategies/strategy_week.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _strategy_vertical = _interopRequireDefault(require(\"./strategy_vertical\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar WeekAppointmentRenderingStrategy = function(_VerticalRenderingStr) {\r\n _inheritsLoose(WeekAppointmentRenderingStrategy, _VerticalRenderingStr);\r\n\r\n function WeekAppointmentRenderingStrategy() {\r\n return _VerticalRenderingStr.apply(this, arguments) || this\r\n }\r\n var _proto = WeekAppointmentRenderingStrategy.prototype;\r\n _proto.isApplyCompactAppointmentOffset = function() {\r\n if (this.isAdaptive && 0 === this._getMaxAppointmentCountPerCellByType()) {\r\n return false\r\n }\r\n return this.supportCompactDropDownAppointments()\r\n };\r\n return WeekAppointmentRenderingStrategy\r\n}(_strategy_vertical.default);\r\nvar _default = WeekAppointmentRenderingStrategy;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/scheduler/appointments/resizing/core.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.getAppointmentDateRange = void 0;\r\nvar _utils = require(\"./utils\");\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\nvar getAppointmentLeftCell = function(options) {\r\n var cellHeight = options.cellHeight,\r\n cellWidth = options.cellWidth,\r\n viewDataProvider = options.viewDataProvider,\r\n relativeAppointmentRect = options.relativeAppointmentRect,\r\n appointmentSettings = options.appointmentSettings,\r\n rtlEnabled = options.rtlEnabled;\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 = function(options) {\r\n var cellWidth = options.cellWidth,\r\n cellCountInRow = options.cellCountInRow,\r\n relativeAppointmentRect = options.relativeAppointmentRect,\r\n viewDataProvider = options.viewDataProvider,\r\n appointmentSettings = options.appointmentSettings,\r\n handles = options.handles;\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 _appointmentSettings$ = appointmentSettings.info,\r\n allDay = _appointmentSettings$.allDay,\r\n sourceAppointment = _appointmentSettings$.sourceAppointment;\r\n if (handles.left) {\r\n var startDate = (0, _utils.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 = (0, _utils.normalizeEndDate)(options, endDate, sourceAppointment.endDate);\r\n return {\r\n startDate: sourceAppointment.startDate,\r\n endDate: endDate\r\n }\r\n};\r\nvar getDateRangeHorizontalRTL = function(options) {\r\n var viewDataProvider = options.viewDataProvider,\r\n cellCountInRow = options.cellCountInRow,\r\n appointmentSettings = options.appointmentSettings,\r\n handles = options.handles,\r\n cellWidth = options.cellWidth,\r\n relativeAppointmentRect = options.relativeAppointmentRect;\r\n var appointmentLastCell = getAppointmentLeftCell(options);\r\n var _appointmentSettings$2 = appointmentSettings.info,\r\n allDay = _appointmentSettings$2.allDay,\r\n sourceAppointment = _appointmentSettings$2.sourceAppointment;\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 = (0, _utils.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 = (0, _utils.normalizeEndDate)(options, endDate, sourceAppointment.endDate);\r\n return {\r\n startDate: sourceAppointment.startDate,\r\n endDate: endDate\r\n }\r\n};\r\nvar getRelativeAppointmentRect = function(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 = function(options) {\r\n var appointmentSettings = options.appointmentSettings,\r\n isVerticalGroupedWorkSpace = options.isVerticalGroupedWorkSpace,\r\n DOMMetaData = options.DOMMetaData;\r\n var DOMMetaTable = appointmentSettings.allDay && !isVerticalGroupedWorkSpace ? [DOMMetaData.allDayPanelCellsMeta] : DOMMetaData.dateTableCellsMeta;\r\n var positionByMap = appointmentSettings.positionByMap;\r\n var _DOMMetaTable$positio = DOMMetaTable[positionByMap.rowIndex][positionByMap.columnIndex],\r\n cellHeight = _DOMMetaTable$positio.height,\r\n cellWidth = _DOMMetaTable$positio.width;\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\nvar getAppointmentDateRange = function(options) {\r\n var appointmentSettings = options.appointmentSettings;\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({}, options, cellInfo, {\r\n considerTime: considerTime,\r\n relativeAppointmentRect: relativeAppointmentRect\r\n });\r\n return !options.rtlEnabled ? getDateRangeHorizontal(extendedOptions) : getDateRangeHorizontalRTL(extendedOptions)\r\n};\r\nexports.getAppointmentDateRange = getAppointmentDateRange;\r\n","/**\r\n * DevExtreme (cjs/ui/scheduler/appointments/resizing/utils.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.normalizeStartDate = exports.normalizeEndDate = void 0;\r\nvar normalizeDate = function(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 startDayHour = options.startDayHour,\r\n endDayHour = options.endDayHour,\r\n allDay = options.appointmentSettings.allDay;\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 isDateOutInterval = isStartDate ? result < minDate.getTime() || result >= maxDate.getTime() : result <= minDate.getTime() || result > maxDate.getTime();\r\n if (isDateOutInterval) {\r\n result = !allDay ? maxDate : minDate\r\n }\r\n return result\r\n};\r\nvar normalizeStartDate = function(options, startDate, sourceStartDate) {\r\n return normalizeDate(options, startDate, sourceStartDate, true)\r\n};\r\nexports.normalizeStartDate = normalizeStartDate;\r\nvar normalizeEndDate = function(options, endDate, sourceEndDate) {\r\n return normalizeDate(options, endDate, sourceEndDate, false)\r\n};\r\nexports.normalizeEndDate = normalizeEndDate;\r\n","/**\r\n * DevExtreme (cjs/ui/scheduler/appointments/settingsGenerator.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.DateGeneratorVirtualStrategy = exports.DateGeneratorBaseStrategy = exports.AppointmentSettingsGenerator = void 0;\r\nvar _date = _interopRequireDefault(require(\"../../../core/utils/date\"));\r\nvar _type = require(\"../../../core/utils/type\");\r\nvar _extend = require(\"../../../core/utils/extend\");\r\nvar _recurrence = require(\"../recurrence\");\r\nvar _utils = _interopRequireDefault(require(\"../utils.timeZone\"));\r\nvar _utils2 = require(\"../resources/utils\");\r\nvar _appointmentAdapter = require(\"../appointmentAdapter\");\r\nvar _cellPositionCalculator = require(\"./cellPositionCalculator\");\r\nvar _expressionUtils = require(\"../expressionUtils\");\r\nvar _base = require(\"../../../renovation/ui/scheduler/view_model/to_test/views/utils/base\");\r\nvar _textUtils = require(\"./textUtils\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\n\r\nfunction _toConsumableArray(arr) {\r\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread()\r\n}\r\n\r\nfunction _nonIterableSpread() {\r\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _iterableToArray(iter) {\r\n if (\"undefined\" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter[\"@@iterator\"]) {\r\n return Array.from(iter)\r\n }\r\n}\r\n\r\nfunction _arrayWithoutHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return _arrayLikeToArray(arr)\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\n\r\nfunction _slicedToArray(arr, i) {\r\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest()\r\n}\r\n\r\nfunction _nonIterableRest() {\r\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _unsupportedIterableToArray(o, minLen) {\r\n if (!o) {\r\n return\r\n }\r\n if (\"string\" === typeof o) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n var n = Object.prototype.toString.call(o).slice(8, -1);\r\n if (\"Object\" === n && o.constructor) {\r\n n = o.constructor.name\r\n }\r\n if (\"Map\" === n || \"Set\" === n) {\r\n return Array.from(o)\r\n }\r\n if (\"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n}\r\n\r\nfunction _arrayLikeToArray(arr, len) {\r\n if (null == len || len > arr.length) {\r\n len = arr.length\r\n }\r\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\r\n arr2[i] = arr[i]\r\n }\r\n return arr2\r\n}\r\n\r\nfunction _iterableToArrayLimit(arr, i) {\r\n var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"];\r\n if (null != _i) {\r\n var _s, _e, _x, _r, _arr = [],\r\n _n = !0,\r\n _d = !1;\r\n try {\r\n if (_x = (_i = _i.call(arr)).next, 0 === i) {\r\n if (Object(_i) !== _i) {\r\n return\r\n }\r\n _n = !1\r\n } else {\r\n for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) {}\r\n }\r\n } catch (err) {\r\n _d = !0, _e = err\r\n } finally {\r\n try {\r\n if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) {\r\n return\r\n }\r\n } finally {\r\n if (_d) {\r\n throw _e\r\n }\r\n }\r\n }\r\n return _arr\r\n }\r\n}\r\n\r\nfunction _arrayWithHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return arr\r\n }\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\nvar toMs = _date.default.dateToMilliseconds;\r\nvar APPOINTMENT_DATE_TEXT_FORMAT = \"TIME\";\r\nvar DateGeneratorBaseStrategy = function() {\r\n function DateGeneratorBaseStrategy(options) {\r\n this.options = options\r\n }\r\n var _proto = DateGeneratorBaseStrategy.prototype;\r\n _proto.getIntervalDuration = function() {\r\n return this.appointmentTakesAllDay ? this.options.allDayIntervalDuration : this.options.intervalDuration\r\n };\r\n _proto.generate = function(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, this.rawAppointment);\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 isRecurrent = appointmentAdapter.isRecurrent;\r\n return {\r\n dateSettings: dateSettings,\r\n itemGroupIndices: itemGroupIndices,\r\n isRecurrent: isRecurrent\r\n }\r\n };\r\n _proto._getProcessedByAppointmentTimeZone = function(appointmentList, appointment) {\r\n var _this = this;\r\n var hasAppointmentTimeZone = !(0, _type.isEmptyObject)(appointment.startDateTimeZone) || !(0, _type.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((function(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 _proto._createAppointments = function(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((function(item) {\r\n var _item$endDate;\r\n var resultEndTime = null === (_item$endDate = item.endDate) || void 0 === _item$endDate ? void 0 : _item$endDate.getTime();\r\n if (item.startDate.getTime() === resultEndTime) {\r\n item.endDate.setTime(resultEndTime + toMs(\"minute\"))\r\n }\r\n return _extends({}, item, {\r\n exceptionDate: new Date(item.startDate)\r\n })\r\n }));\r\n return appointments\r\n };\r\n _proto._canProcessNotNativeTimezoneDates = function(appointment) {\r\n var isTimeZoneSet = !(0, _type.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 !_utils.default.isEqualLocalTimeZone(this.timeZone, appointment.startDate)\r\n };\r\n _proto._getProcessedNotNativeDateIfCrossDST = function(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 _proto._getCommonOffset = function(date) {\r\n return this.timeZoneCalculator.getOffsets(date).common\r\n };\r\n _proto._getProcessedNotNativeTimezoneDates = function(appointmentList, appointment) {\r\n var _this2 = this;\r\n return appointmentList.map((function(item) {\r\n var diffStartDateOffset = _this2._getCommonOffset(appointment.startDate) - _this2._getCommonOffset(item.startDate);\r\n var diffEndDateOffset = _this2._getCommonOffset(appointment.endDate) - _this2._getCommonOffset(item.endDate);\r\n if (0 === diffStartDateOffset && 0 === diffEndDateOffset) {\r\n return item\r\n }\r\n diffStartDateOffset = _this2._getProcessedNotNativeDateIfCrossDST(item.startDate, diffStartDateOffset);\r\n diffEndDateOffset = _this2._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 = _this2.timeZoneCalculator.createDate(newStartDate, {\r\n path: \"toGrid\"\r\n });\r\n var testNewEndDate = _this2.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({}, item, {\r\n startDate: newStartDate,\r\n endDate: newEndDate,\r\n exceptionDate: new Date(newStartDate)\r\n })\r\n }))\r\n };\r\n _proto._needSeparateLongParts = function() {\r\n return this.isVerticalOrientation ? this.isGroupedByDate : this.isGroupedByDate && this.appointmentTakesAllDay\r\n };\r\n _proto.normalizeEndDateByViewEnd = function(rawAppointment, endDate) {\r\n var result = new Date(endDate.getTime());\r\n var isAllDay = (0, _base.isDateAndTimeView)(this.viewType) && this.appointmentTakesAllDay;\r\n if (!isAllDay) {\r\n var roundedEndViewDate = _date.default.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.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 _proto._fillNormalizedEndDate = function(dateSettings, rawAppointment) {\r\n var _this3 = this;\r\n return dateSettings.map((function(item) {\r\n var endDate = item.endDate;\r\n var normalizedEndDate = _this3.normalizeEndDateByViewEnd(rawAppointment, endDate);\r\n return _extends({}, item, {\r\n normalizedEndDate: normalizedEndDate\r\n })\r\n }))\r\n };\r\n _proto._separateLongParts = function(gridAppointmentList, appointmentAdapter) {\r\n var _this4 = this;\r\n var result = [];\r\n gridAppointmentList.forEach((function(gridAppointment) {\r\n var maxDate = new Date(_this4.dateRange[1]);\r\n var endDateOfPart = gridAppointment.normalizedEndDate;\r\n var longStartDateParts = _date.default.getDatesOfInterval(gridAppointment.startDate, endDateOfPart, {\r\n milliseconds: _this4.getIntervalDuration(_this4.appointmentTakesAllDay)\r\n });\r\n var list = longStartDateParts.filter((function(startDatePart) {\r\n return new Date(startDatePart) < maxDate\r\n })).map((function(date) {\r\n var endDate = new Date(new Date(date).setMilliseconds(appointmentAdapter.duration));\r\n var normalizedEndDate = _this4.normalizeEndDateByViewEnd(_this4.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 _proto._createGridAppointmentList = function(appointmentList, appointmentAdapter) {\r\n var _this5 = this;\r\n return appointmentList.map((function(source) {\r\n var offsetDifference = appointmentAdapter.startDate.getTimezoneOffset() - source.startDate.getTimezoneOffset();\r\n if (0 !== offsetDifference && _this5._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 = _this5.timeZoneCalculator.createDate(source.startDate, {\r\n path: \"toGrid\"\r\n });\r\n var endDate = _this5.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 _proto._createExtremeRecurrenceDates = function() {\r\n var startViewDate = this.appointmentTakesAllDay ? _date.default.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 = _utils.default.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 _proto._createRecurrenceOptions = function(appointment, groupIndex) {\r\n var _this6 = this;\r\n var _this$_createExtremeR = this._createExtremeRecurrenceDates(groupIndex),\r\n _this$_createExtremeR2 = _slicedToArray(_this$_createExtremeR, 2),\r\n minRecurrenceDate = _this$_createExtremeR2[0],\r\n maxRecurrenceDate = _this$_createExtremeR2[1];\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: function(date) {\r\n if ((0, _type.isEmptyObject)(_this6.timeZone) || _utils.default.isEqualLocalTimeZone(_this6.timeZone, date)) {\r\n return date\r\n }\r\n var appointmentOffset = _this6.timeZoneCalculator.getOffsets(appointment.startDate).common;\r\n var exceptionAppointmentOffset = _this6.timeZoneCalculator.getOffsets(date).common;\r\n var diff = appointmentOffset - exceptionAppointmentOffset;\r\n diff = _this6._getProcessedNotNativeDateIfCrossDST(date, diff);\r\n return new Date(date.getTime() - diff * _date.default.dateToMilliseconds(\"hour\"))\r\n }\r\n }\r\n };\r\n _proto._createRecurrenceAppointments = function(appointment, groupIndices) {\r\n var duration = appointment.duration;\r\n var option = this._createRecurrenceOptions(appointment);\r\n var generatedStartDates = (0, _recurrence.getRecurrenceProcessor)().generateDates(option);\r\n return generatedStartDates.map((function(date) {\r\n var utcDate = _utils.default.createUTCDateWithLocalOffset(date);\r\n utcDate.setTime(utcDate.getTime() + duration);\r\n var endDate = _utils.default.createDateFromUTCWithLocalOffset(utcDate);\r\n return {\r\n startDate: new Date(date),\r\n endDate: endDate\r\n }\r\n }))\r\n };\r\n _proto._getAppointmentsFirstViewDate = function(appointments) {\r\n var _this7 = this;\r\n return appointments.map((function(appointment) {\r\n return _this7._getAppointmentFirstViewDate(appointment)\r\n }))\r\n };\r\n _proto._fillNormalizedStartDate = function(appointments, firstViewDates, rawAppointment) {\r\n var _this8 = this;\r\n appointments.forEach((function(appointment, idx) {\r\n appointment.startDate = _this8._getAppointmentResultDate({\r\n appointment: appointment,\r\n rawAppointment: rawAppointment,\r\n startDate: new Date(appointment.startDate),\r\n startDayHour: _this8.viewStartDayHour,\r\n firstViewDate: firstViewDates[idx]\r\n })\r\n }))\r\n };\r\n _proto._cropAppointmentsByStartDayHour = function(appointments, firstViewDates) {\r\n var _this9 = this;\r\n return appointments.filter((function(appointment, idx) {\r\n if (!firstViewDates[idx]) {\r\n return false\r\n } else if (_this9.appointmentTakesAllDay) {\r\n return true\r\n }\r\n return appointment.endDate > appointment.startDate\r\n }))\r\n };\r\n _proto._getAppointmentResultDate = function(options) {\r\n var appointment = options.appointment,\r\n startDayHour = options.startDayHour,\r\n firstViewDate = options.firstViewDate;\r\n var startDate = options.startDate;\r\n var resultDate;\r\n if (this.appointmentTakesAllDay) {\r\n resultDate = _date.default.normalizeDate(startDate, firstViewDate)\r\n } else {\r\n if (startDate < firstViewDate) {\r\n startDate = firstViewDate\r\n }\r\n resultDate = _date.default.normalizeDate(appointment.startDate, startDate)\r\n }\r\n return !this.isDateAppointment ? _date.default.roundDateByStartDayHour(resultDate, startDayHour) : resultDate\r\n };\r\n _proto._getAppointmentFirstViewDate = function(appointment) {\r\n var groupIndex = appointment.source.groupIndex || 0;\r\n var startDate = appointment.startDate,\r\n endDate = appointment.endDate;\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 _proto._getGroupIndices = function(rawAppointment) {\r\n var _this10 = this;\r\n var result = [];\r\n if (rawAppointment && this.loadedResources.length) {\r\n var tree = (0, _utils2.createResourcesTree)(this.loadedResources);\r\n result = (0, _utils2.getResourceTreeLeaves)((function(field, action) {\r\n return (0, _utils2.getDataAccessors)(_this10.options.dataAccessors.resources, field, action)\r\n }), tree, rawAppointment)\r\n }\r\n return result\r\n };\r\n _createClass(DateGeneratorBaseStrategy, [{\r\n key: \"rawAppointment\",\r\n get: function() {\r\n return this.options.rawAppointment\r\n }\r\n }, {\r\n key: \"timeZoneCalculator\",\r\n get: function() {\r\n return this.options.timeZoneCalculator\r\n }\r\n }, {\r\n key: \"viewDataProvider\",\r\n get: function() {\r\n return this.options.viewDataProvider\r\n }\r\n }, {\r\n key: \"appointmentTakesAllDay\",\r\n get: function() {\r\n return this.options.appointmentTakesAllDay\r\n }\r\n }, {\r\n key: \"supportAllDayRow\",\r\n get: function() {\r\n return this.options.supportAllDayRow\r\n }\r\n }, {\r\n key: \"isAllDayRowAppointment\",\r\n get: function() {\r\n return this.options.isAllDayRowAppointment\r\n }\r\n }, {\r\n key: \"timeZone\",\r\n get: function() {\r\n return this.options.timeZone\r\n }\r\n }, {\r\n key: \"dateRange\",\r\n get: function() {\r\n return this.options.dateRange\r\n }\r\n }, {\r\n key: \"firstDayOfWeek\",\r\n get: function() {\r\n return this.options.firstDayOfWeek\r\n }\r\n }, {\r\n key: \"viewStartDayHour\",\r\n get: function() {\r\n return this.options.viewStartDayHour\r\n }\r\n }, {\r\n key: \"viewEndDayHour\",\r\n get: function() {\r\n return this.options.viewEndDayHour\r\n }\r\n }, {\r\n key: \"endViewDate\",\r\n get: function() {\r\n return this.options.endViewDate\r\n }\r\n }, {\r\n key: \"viewType\",\r\n get: function() {\r\n return this.options.viewType\r\n }\r\n }, {\r\n key: \"isGroupedByDate\",\r\n get: function() {\r\n return this.options.isGroupedByDate\r\n }\r\n }, {\r\n key: \"isVerticalOrientation\",\r\n get: function() {\r\n return this.options.isVerticalGroupOrientation\r\n }\r\n }, {\r\n key: \"dataAccessors\",\r\n get: function() {\r\n return this.options.dataAccessors\r\n }\r\n }, {\r\n key: \"loadedResources\",\r\n get: function() {\r\n return this.options.loadedResources\r\n }\r\n }, {\r\n key: \"isDateAppointment\",\r\n get: function() {\r\n return !(0, _base.isDateAndTimeView)(this.viewType) && this.appointmentTakesAllDay\r\n }\r\n }]);\r\n return DateGeneratorBaseStrategy\r\n}();\r\nexports.DateGeneratorBaseStrategy = DateGeneratorBaseStrategy;\r\nvar DateGeneratorVirtualStrategy = function(_DateGeneratorBaseStr) {\r\n _inheritsLoose(DateGeneratorVirtualStrategy, _DateGeneratorBaseStr);\r\n\r\n function DateGeneratorVirtualStrategy() {\r\n return _DateGeneratorBaseStr.apply(this, arguments) || this\r\n }\r\n var _proto2 = DateGeneratorVirtualStrategy.prototype;\r\n _proto2._createRecurrenceAppointments = function(appointment, groupIndices) {\r\n var _this11 = this;\r\n var duration = appointment.duration;\r\n var result = [];\r\n var validGroupIndices = this.groupCount ? groupIndices : [0];\r\n validGroupIndices.forEach((function(groupIndex) {\r\n var option = _this11._createRecurrenceOptions(appointment, groupIndex);\r\n var generatedStartDates = (0, _recurrence.getRecurrenceProcessor)().generateDates(option);\r\n var recurrentInfo = generatedStartDates.map((function(date) {\r\n var startDate = new Date(date);\r\n var utcDate = _utils.default.createUTCDateWithLocalOffset(date);\r\n utcDate.setTime(utcDate.getTime() + duration);\r\n var endDate = _utils.default.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.apply(result, _toConsumableArray(recurrentInfo))\r\n }));\r\n return result\r\n };\r\n _proto2._updateGroupIndices = function(appointments, groupIndices) {\r\n var _this12 = this;\r\n var result = [];\r\n groupIndices.forEach((function(groupIndex) {\r\n var groupStartDate = _this12.viewDataProvider.getGroupStartDate(groupIndex);\r\n if (groupStartDate) {\r\n appointments.forEach((function(appointment) {\r\n var appointmentCopy = (0, _extend.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 _proto2._getGroupIndices = function(resources) {\r\n var _groupIndices;\r\n var groupIndices = _DateGeneratorBaseStr.prototype._getGroupIndices.call(this, resources);\r\n var viewDataGroupIndices = this.viewDataProvider.getGroupIndices();\r\n if (!(null !== (_groupIndices = groupIndices) && void 0 !== _groupIndices && _groupIndices.length)) {\r\n groupIndices = [0]\r\n }\r\n return groupIndices.filter((function(groupIndex) {\r\n return -1 !== viewDataGroupIndices.indexOf(groupIndex)\r\n }))\r\n };\r\n _proto2._createAppointments = function(appointment, groupIndices) {\r\n var appointments = _DateGeneratorBaseStr.prototype._createAppointments.call(this, appointment, groupIndices);\r\n return !appointment.isRecurrent ? this._updateGroupIndices(appointments, groupIndices) : appointments\r\n };\r\n _createClass(DateGeneratorVirtualStrategy, [{\r\n key: \"groupCount\",\r\n get: function() {\r\n return (0, _utils2.getGroupCount)(this.loadedResources)\r\n }\r\n }]);\r\n return DateGeneratorVirtualStrategy\r\n}(DateGeneratorBaseStrategy);\r\nexports.DateGeneratorVirtualStrategy = DateGeneratorVirtualStrategy;\r\nvar AppointmentSettingsGenerator = function() {\r\n function AppointmentSettingsGenerator(options) {\r\n this.options = options;\r\n this.appointmentAdapter = (0, _appointmentAdapter.createAppointmentAdapter)(this.rawAppointment, this.dataAccessors, this.timeZoneCalculator)\r\n }\r\n var _proto3 = AppointmentSettingsGenerator.prototype;\r\n _proto3.create = function() {\r\n var _this$_generateDateSe = this._generateDateSettings(),\r\n dateSettings = _this$_generateDateSe.dateSettings,\r\n itemGroupIndices = _this$_generateDateSe.itemGroupIndices,\r\n isRecurrent = _this$_generateDateSe.isRecurrent;\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 _proto3._generateDateSettings = function() {\r\n return this.dateSettingsStrategy.generate(this.appointmentAdapter)\r\n };\r\n _proto3._calculateCellPositions = function(dateSettings, itemGroupIndices) {\r\n var cellPositionCalculator = new _cellPositionCalculator.CellPositionCalculator(_extends({}, this.options, {\r\n dateSettings: dateSettings\r\n }));\r\n return cellPositionCalculator.calculateCellPositions(itemGroupIndices, this.isAllDayRowAppointment, this.appointmentAdapter.isRecurrent)\r\n };\r\n _proto3._prepareAppointmentInfos = function(dateSettings, cellPositions, isRecurrent) {\r\n var _this13 = this;\r\n var infos = [];\r\n cellPositions.forEach((function(_ref) {\r\n var coordinates = _ref.coordinates,\r\n dateSettingIndex = _ref.dateSettingIndex;\r\n var dateSetting = dateSettings[dateSettingIndex];\r\n var dateText = _this13._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({}, coordinates, {\r\n info: info\r\n }))\r\n }));\r\n return infos\r\n };\r\n _proto3._getAppointmentDateText = function(sourceAppointment) {\r\n var startDate = sourceAppointment.startDate,\r\n endDate = sourceAppointment.endDate,\r\n allDay = sourceAppointment.allDay;\r\n return (0, _textUtils.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 _createClass(AppointmentSettingsGenerator, [{\r\n key: \"rawAppointment\",\r\n get: function() {\r\n return this.options.rawAppointment\r\n }\r\n }, {\r\n key: \"dataAccessors\",\r\n get: function() {\r\n return this.options.dataAccessors\r\n }\r\n }, {\r\n key: \"timeZoneCalculator\",\r\n get: function() {\r\n return this.options.timeZoneCalculator\r\n }\r\n }, {\r\n key: \"isAllDayRowAppointment\",\r\n get: function() {\r\n return this.options.appointmentTakesAllDay && this.options.supportAllDayRow\r\n }\r\n }, {\r\n key: \"groups\",\r\n get: function() {\r\n return this.options.groups\r\n }\r\n }, {\r\n key: \"dateSettingsStrategy\",\r\n get: function() {\r\n var options = _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 }]);\r\n return AppointmentSettingsGenerator\r\n}();\r\nexports.AppointmentSettingsGenerator = AppointmentSettingsGenerator;\r\n","/**\r\n * DevExtreme (cjs/ui/scheduler/appointments/textUtils.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.getFormatType = exports.formatDates = exports.createFormattedDateText = void 0;\r\nvar _date = _interopRequireDefault(require(\"../../../core/utils/date\"));\r\nvar _date2 = _interopRequireDefault(require(\"../../../localization/date\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar createFormattedDateText = function(options) {\r\n var startDate = options.startDate,\r\n endDate = options.endDate,\r\n allDay = options.allDay,\r\n format = options.format;\r\n var formatType = format || getFormatType(startDate, endDate, allDay);\r\n return formatDates(startDate, endDate, formatType)\r\n};\r\nexports.createFormattedDateText = createFormattedDateText;\r\nvar getFormatType = function(startDate, endDate, isAllDay, isDateAndTimeView) {\r\n if (isAllDay) {\r\n return \"DATE\"\r\n }\r\n if (isDateAndTimeView && _date.default.sameDate(startDate, endDate)) {\r\n return \"TIME\"\r\n }\r\n return \"DATETIME\"\r\n};\r\nexports.getFormatType = getFormatType;\r\nvar formatDates = function(startDate, endDate, formatType) {\r\n var isSameDate = startDate.getDate() === endDate.getDate();\r\n switch (formatType) {\r\n case \"DATETIME\":\r\n return [_date2.default.format(startDate, \"monthandday\"), \" \", _date2.default.format(startDate, \"shorttime\"), \" - \", isSameDate ? \"\" : _date2.default.format(endDate, \"monthandday\") + \" \", _date2.default.format(endDate, \"shorttime\")].join(\"\");\r\n case \"TIME\":\r\n return \"\".concat(_date2.default.format(startDate, \"shorttime\"), \" - \").concat(_date2.default.format(endDate, \"shorttime\"));\r\n case \"DATE\":\r\n return \"\".concat(_date2.default.format(startDate, \"monthandday\")).concat(isSameDate ? \"\" : \" - \" + _date2.default.format(endDate, \"monthandday\"))\r\n }\r\n};\r\nexports.formatDates = formatDates;\r\n","/**\r\n * DevExtreme (cjs/ui/scheduler/appointments/viewModelGenerator.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.AppointmentViewModelGenerator = void 0;\r\nvar _strategy_vertical = _interopRequireDefault(require(\"./rendering_strategies/strategy_vertical\"));\r\nvar _strategy_week = _interopRequireDefault(require(\"./rendering_strategies/strategy_week\"));\r\nvar _strategy_horizontal = _interopRequireDefault(require(\"./rendering_strategies/strategy_horizontal\"));\r\nvar _strategy_horizontal_month_line = _interopRequireDefault(require(\"./rendering_strategies/strategy_horizontal_month_line\"));\r\nvar _strategy_horizontal_month = _interopRequireDefault(require(\"./rendering_strategies/strategy_horizontal_month\"));\r\nvar _strategy_agenda = _interopRequireDefault(require(\"./rendering_strategies/strategy_agenda\"));\r\nvar _utils = require(\"../../../renovation/ui/scheduler/appointment/utils\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\nvar RENDERING_STRATEGIES = {\r\n horizontal: _strategy_horizontal.default,\r\n horizontalMonth: _strategy_horizontal_month.default,\r\n horizontalMonthLine: _strategy_horizontal_month_line.default,\r\n vertical: _strategy_vertical.default,\r\n week: _strategy_week.default,\r\n agenda: _strategy_agenda.default\r\n};\r\nvar AppointmentViewModelGenerator = function() {\r\n function AppointmentViewModelGenerator() {}\r\n var _proto = AppointmentViewModelGenerator.prototype;\r\n _proto.initRenderingStrategy = function(options) {\r\n var RenderingStrategy = RENDERING_STRATEGIES[options.appointmentRenderingStrategyName];\r\n this.renderingStrategy = new RenderingStrategy(options)\r\n };\r\n _proto.generate = function(filteredItems, options) {\r\n var isRenovatedAppointments = options.isRenovatedAppointments;\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 _proto.postProcess = function(filteredItems, positionMap, isRenovatedAppointments) {\r\n var renderingStrategy = this.getRenderingStrategy();\r\n return filteredItems.map((function(data, index) {\r\n if (!renderingStrategy.keepAppointmentSettings()) {\r\n delete data.settings\r\n }\r\n var appointmentSettings = positionMap[index];\r\n appointmentSettings.forEach((function(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 _proto.makeRenovatedViewModels = function(viewModel, supportAllDayRow, isVerticalGrouping) {\r\n var _this = this;\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((function(_ref) {\r\n var itemData = _ref.itemData,\r\n settings = _ref.settings;\r\n settings.forEach((function(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 _proto.prepareViewModel = function(options, strategy, itemData) {\r\n var geometry = strategy.getAppointmentGeometry(options);\r\n var viewModel = {\r\n key: (0, _utils.getAppointmentKey)(geometry),\r\n appointment: itemData,\r\n geometry: _extends({}, geometry, {\r\n leftVirtualWidth: options.leftVirtualWidth,\r\n topVirtualHeight: options.topVirtualHeight\r\n }),\r\n info: _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 _proto.getCompactViewModelFrame = function(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 _proto.prepareCompactViewModels = function(compactOptions, supportAllDayRow) {\r\n var _this2 = this;\r\n var regularCompact = {};\r\n var allDayCompact = {};\r\n compactOptions.forEach((function(_ref2) {\r\n var compactViewModel = _ref2.compactViewModel,\r\n appointmentViewModel = _ref2.appointmentViewModel;\r\n var index = compactViewModel.index,\r\n isAllDay = compactViewModel.isAllDay;\r\n var viewModel = isAllDay && supportAllDayRow ? allDayCompact : regularCompact;\r\n if (!viewModel[index]) {\r\n viewModel[index] = _this2.getCompactViewModelFrame(compactViewModel)\r\n }\r\n var _viewModel$index$item = viewModel[index].items,\r\n settings = _viewModel$index$item.settings,\r\n data = _viewModel$index$item.data,\r\n colors = _viewModel$index$item.colors;\r\n settings.push(appointmentViewModel);\r\n data.push(appointmentViewModel.appointment);\r\n colors.push(appointmentViewModel.info.resourceColor)\r\n }));\r\n var toArray = function(items) {\r\n return Object.keys(items).map((function(key) {\r\n return _extends({\r\n key: key\r\n }, items[key])\r\n }))\r\n };\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 _proto.getRenderingStrategy = function() {\r\n return this.renderingStrategy\r\n };\r\n return AppointmentViewModelGenerator\r\n}();\r\nexports.AppointmentViewModelGenerator = AppointmentViewModelGenerator;\r\n","/**\r\n * DevExtreme (cjs/ui/scheduler/base/widgetObserver.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _ui = _interopRequireDefault(require(\"../../widget/ui.widget\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar WidgetObserver = function(_Widget) {\r\n _inheritsLoose(WidgetObserver, _Widget);\r\n\r\n function WidgetObserver() {\r\n return _Widget.apply(this, arguments) || this\r\n }\r\n var _proto = WidgetObserver.prototype;\r\n _proto.notifyObserver = function(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 _proto.invoke = function() {\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 return WidgetObserver\r\n}(_ui.default);\r\nvar _default = WidgetObserver;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/scheduler/classes.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.VIRTUAL_CELL_CLASS = exports.VERTICAL_GROUP_COUNT_CLASSES = exports.TIME_PANEL_CLASS = exports.REDUCED_APPOINTMENT_PARTS_CLASSES = exports.REDUCED_APPOINTMENT_ICON = exports.REDUCED_APPOINTMENT_CLASS = exports.RECURRENCE_APPOINTMENT_CLASS = exports.LAST_GROUP_CELL_CLASS = exports.HEADER_CURRENT_TIME_CELL_CLASS = exports.GROUP_ROW_CLASS = exports.GROUP_HEADER_CONTENT_CLASS = exports.FIXED_CONTAINER_CLASS = exports.FIRST_GROUP_CELL_CLASS = exports.EMPTY_APPOINTMENT_CLASS = exports.DIRECTION_APPOINTMENT_CLASSES = exports.DATE_TABLE_ROW_CLASS = exports.DATE_TABLE_CLASS = exports.APPOINTMENT_ITEM_CLASS = exports.APPOINTMENT_DRAG_SOURCE_CLASS = exports.APPOINTMENT_CONTENT_CLASSES = exports.ALL_DAY_APPOINTMENT_CLASS = exports.AGENDA_LAST_IN_DATE_APPOINTMENT_CLASS = void 0;\r\nvar FIXED_CONTAINER_CLASS = \"dx-scheduler-fixed-appointments\";\r\nexports.FIXED_CONTAINER_CLASS = FIXED_CONTAINER_CLASS;\r\nvar REDUCED_APPOINTMENT_CLASS = \"dx-scheduler-appointment-reduced\";\r\nexports.REDUCED_APPOINTMENT_CLASS = REDUCED_APPOINTMENT_CLASS;\r\nvar REDUCED_APPOINTMENT_ICON = \"dx-scheduler-appointment-reduced-icon\";\r\nexports.REDUCED_APPOINTMENT_ICON = REDUCED_APPOINTMENT_ICON;\r\nvar RECURRENCE_APPOINTMENT_CLASS = \"dx-scheduler-appointment-recurrence\";\r\nexports.RECURRENCE_APPOINTMENT_CLASS = RECURRENCE_APPOINTMENT_CLASS;\r\nvar EMPTY_APPOINTMENT_CLASS = \"dx-scheduler-appointment-empty\";\r\nexports.EMPTY_APPOINTMENT_CLASS = EMPTY_APPOINTMENT_CLASS;\r\nvar ALL_DAY_APPOINTMENT_CLASS = \"dx-scheduler-all-day-appointment\";\r\nexports.ALL_DAY_APPOINTMENT_CLASS = ALL_DAY_APPOINTMENT_CLASS;\r\nvar 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\nexports.REDUCED_APPOINTMENT_PARTS_CLASSES = REDUCED_APPOINTMENT_PARTS_CLASSES;\r\nvar DIRECTION_APPOINTMENT_CLASSES = {\r\n horizontal: \"dx-scheduler-appointment-horizontal\",\r\n vertical: \"dx-scheduler-appointment-vertical\"\r\n};\r\nexports.DIRECTION_APPOINTMENT_CLASSES = DIRECTION_APPOINTMENT_CLASSES;\r\nvar APPOINTMENT_DRAG_SOURCE_CLASS = \"dx-scheduler-appointment-drag-source\";\r\nexports.APPOINTMENT_DRAG_SOURCE_CLASS = APPOINTMENT_DRAG_SOURCE_CLASS;\r\nvar APPOINTMENT_ITEM_CLASS = \"dx-scheduler-appointment\";\r\nexports.APPOINTMENT_ITEM_CLASS = APPOINTMENT_ITEM_CLASS;\r\nvar 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\nexports.APPOINTMENT_CONTENT_CLASSES = APPOINTMENT_CONTENT_CLASSES;\r\nvar AGENDA_LAST_IN_DATE_APPOINTMENT_CLASS = \"dx-scheduler-last-in-date-agenda-appointment\";\r\nexports.AGENDA_LAST_IN_DATE_APPOINTMENT_CLASS = AGENDA_LAST_IN_DATE_APPOINTMENT_CLASS;\r\nvar HEADER_CURRENT_TIME_CELL_CLASS = \"dx-scheduler-header-panel-current-time-cell\";\r\nexports.HEADER_CURRENT_TIME_CELL_CLASS = HEADER_CURRENT_TIME_CELL_CLASS;\r\nvar VIRTUAL_CELL_CLASS = \"dx-scheduler-virtual-cell\";\r\nexports.VIRTUAL_CELL_CLASS = VIRTUAL_CELL_CLASS;\r\nvar TIME_PANEL_CLASS = \"dx-scheduler-time-panel\";\r\nexports.TIME_PANEL_CLASS = TIME_PANEL_CLASS;\r\nvar DATE_TABLE_CLASS = \"dx-scheduler-date-table\";\r\nexports.DATE_TABLE_CLASS = DATE_TABLE_CLASS;\r\nvar DATE_TABLE_ROW_CLASS = \"dx-scheduler-date-table-row\";\r\nexports.DATE_TABLE_ROW_CLASS = DATE_TABLE_ROW_CLASS;\r\nvar GROUP_ROW_CLASS = \"dx-scheduler-group-row\";\r\nexports.GROUP_ROW_CLASS = GROUP_ROW_CLASS;\r\nvar GROUP_HEADER_CONTENT_CLASS = \"dx-scheduler-group-header-content\";\r\nexports.GROUP_HEADER_CONTENT_CLASS = GROUP_HEADER_CONTENT_CLASS;\r\nvar LAST_GROUP_CELL_CLASS = \"dx-scheduler-last-group-cell\";\r\nexports.LAST_GROUP_CELL_CLASS = LAST_GROUP_CELL_CLASS;\r\nvar FIRST_GROUP_CELL_CLASS = \"dx-scheduler-first-group-cell\";\r\nexports.FIRST_GROUP_CELL_CLASS = FIRST_GROUP_CELL_CLASS;\r\nvar VERTICAL_GROUP_COUNT_CLASSES = [\"dx-scheduler-group-column-count-one\", \"dx-scheduler-group-column-count-two\", \"dx-scheduler-group-column-count-three\"];\r\nexports.VERTICAL_GROUP_COUNT_CLASSES = VERTICAL_GROUP_COUNT_CLASSES;\r\n","/**\r\n * DevExtreme (cjs/ui/scheduler/compactAppointmentsHelper.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.CompactAppointmentsHelper = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _button = _interopRequireDefault(require(\"../button\"));\r\nvar _translator = require(\"../../animation/translator\");\r\nvar _message = _interopRequireDefault(require(\"../../localization/message\"));\r\nvar _function_template = require(\"../../core/templates/function_template\");\r\nvar _deferred = require(\"../../core/utils/deferred\");\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _position = require(\"../../core/utils/position\");\r\nvar _dataStructures = require(\"./dataStructures\");\r\nvar _constants = require(\"./constants\");\r\nvar _appointmentAdapter = require(\"./appointmentAdapter\");\r\nvar _utils = require(\"../../renovation/ui/scheduler/appointment/overflow_indicator/utils\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar APPOINTMENT_COLLECTOR_CLASS = \"dx-scheduler-appointment-collector\";\r\nvar COMPACT_APPOINTMENT_COLLECTOR_CLASS = APPOINTMENT_COLLECTOR_CLASS + \"-compact\";\r\nvar APPOINTMENT_COLLECTOR_CONTENT_CLASS = APPOINTMENT_COLLECTOR_CLASS + \"-content\";\r\nvar WEEK_VIEW_COLLECTOR_OFFSET = 5;\r\nvar COMPACT_THEME_WEEK_VIEW_COLLECTOR_OFFSET = 1;\r\nvar CompactAppointmentsHelper = function() {\r\n function CompactAppointmentsHelper(instance) {\r\n this.instance = instance;\r\n this.elements = []\r\n }\r\n var _proto = CompactAppointmentsHelper.prototype;\r\n _proto.render = function(options) {\r\n var isCompact = options.isCompact,\r\n items = options.items,\r\n buttonColor = options.buttonColor;\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 _proto.clear = function() {\r\n this.elements.forEach((function(button) {\r\n button.detach();\r\n button.remove()\r\n }));\r\n this.elements = []\r\n };\r\n _proto._createTooltipInfos = function(items) {\r\n var _this = this;\r\n return items.data.map((function(appointment, index) {\r\n var _items$settings;\r\n var targetedAdapter = (0, _appointmentAdapter.createAppointmentAdapter)(appointment, _this.instance._dataAccessors, _this.instance.timeZoneCalculator).clone();\r\n if ((null === (_items$settings = items.settings) || void 0 === _items$settings ? void 0 : _items$settings.length) > 0) {\r\n var info = items.settings[index].info;\r\n targetedAdapter.startDate = info.sourceAppointment.startDate;\r\n targetedAdapter.endDate = info.sourceAppointment.endDate\r\n }\r\n return new _dataStructures.AppointmentTooltipInfo(appointment, targetedAdapter.source(), items.colors[index], items.settings[index])\r\n }))\r\n };\r\n _proto._onButtonClick = function(e, options) {\r\n var $button = (0, _renderer.default)(e.element);\r\n this.instance.showAppointmentTooltipCore($button, $button.data(\"items\"), this._getExtraOptionsForTooltip(options, $button))\r\n };\r\n _proto._getExtraOptionsForTooltip = function(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 _proto._clickEvent = function(onAppointmentClick) {\r\n var _this2 = this;\r\n return function(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 var createClickEvent = (0, _extend.extendFromObject)(_this2.instance.fire(\"mapAppointmentFields\", config), e, false);\r\n delete createClickEvent.itemData;\r\n delete createClickEvent.itemIndex;\r\n delete createClickEvent.itemElement;\r\n onAppointmentClick(createClickEvent)\r\n }\r\n };\r\n _proto._createTooltipDragBehavior = function($appointmentCollector) {\r\n var _this3 = this;\r\n return function(e) {\r\n var $element = (0, _renderer.default)(e.element);\r\n var $schedulerElement = (0, _renderer.default)(_this3.instance.element());\r\n var workSpace = _this3.instance.getWorkSpace();\r\n var initialPosition = (0, _translator.locate)($appointmentCollector);\r\n var options = {\r\n filter: \".\".concat(_constants.LIST_ITEM_CLASS),\r\n isSetCursorOffset: true,\r\n initialPosition: initialPosition,\r\n getItemData: function(itemElement) {\r\n var _$$data;\r\n return null === (_$$data = (0, _renderer.default)(itemElement).data(_constants.LIST_ITEM_DATA_KEY)) || void 0 === _$$data ? void 0 : _$$data.appointment\r\n },\r\n getItemSettings: function(_, event) {\r\n return event.itemSettings\r\n }\r\n };\r\n workSpace._createDragBehaviorBase($element, $schedulerElement, options)\r\n }\r\n };\r\n _proto._getCollectorOffset = function(width, cellWidth) {\r\n return cellWidth - width - this._getCollectorRightOffset()\r\n };\r\n _proto._getCollectorRightOffset = function() {\r\n return this.instance.getRenderingStrategyInstance()._isCompactTheme() ? COMPACT_THEME_WEEK_VIEW_COLLECTOR_OFFSET : WEEK_VIEW_COLLECTOR_OFFSET\r\n };\r\n _proto._makeBackgroundDarker = function(button) {\r\n button.css(\"boxShadow\", \"inset \".concat((0, _position.getBoundingRect)(button.get(0)).width, \"px 0 0 0 rgba(0, 0, 0, 0.3)\"))\r\n };\r\n _proto._makeBackgroundColor = function($button, colors, color) {\r\n _deferred.when.apply(null, colors).done(function() {\r\n this._makeBackgroundColorCore($button, color, Array.prototype.slice.call(arguments))\r\n }.bind(this))\r\n };\r\n _proto._makeBackgroundColorCore = function($button, color, itemColors) {\r\n color && color.done((function(color) {\r\n var backgroundColor = (0, _utils.getOverflowIndicatorColor)(color, itemColors);\r\n if (backgroundColor) {\r\n $button.css(\"backgroundColor\", backgroundColor)\r\n }\r\n }))\r\n };\r\n _proto._setPosition = function(element, position) {\r\n (0, _translator.move)(element, {\r\n top: position.top,\r\n left: position.left\r\n })\r\n };\r\n _proto._createCompactButton = function(template, options) {\r\n var _this4 = this;\r\n var $button = this._createCompactButtonElement(options);\r\n return this.instance._createComponent($button, _button.default, {\r\n type: \"default\",\r\n width: options.width,\r\n height: options.height,\r\n onClick: function(e) {\r\n return _this4._onButtonClick(e, options)\r\n },\r\n template: this._renderTemplate(template, options.items, options.isCompact)\r\n })\r\n };\r\n _proto._createCompactButtonElement = function(_ref) {\r\n var isCompact = _ref.isCompact,\r\n $container = _ref.$container,\r\n coordinates = _ref.coordinates;\r\n var result = (0, _renderer.default)(\"<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 _proto._renderTemplate = function(template, items, isCompact) {\r\n return new _function_template.FunctionTemplate((function(options) {\r\n return 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 };\r\n _proto._createTemplate = function(count, isCompact) {\r\n this._initButtonTemplate(count, isCompact);\r\n return this.instance._getAppointmentTemplate(\"appointmentCollectorTemplate\")\r\n };\r\n _proto._initButtonTemplate = function(count, isCompact) {\r\n var _this5 = this;\r\n this.instance._templateManager.addDefaultTemplates({\r\n appointmentCollector: new _function_template.FunctionTemplate((function(options) {\r\n return _this5._createButtonTemplate(count, (0, _renderer.default)(options.container), isCompact)\r\n }))\r\n })\r\n };\r\n _proto._createButtonTemplate = function(appointmentCount, element, isCompact) {\r\n var text = isCompact ? appointmentCount : _message.default.getFormatter(\"dxScheduler-moreAppointments\")(appointmentCount);\r\n return element.append((0, _renderer.default)(\"<span>\").text(text)).addClass(APPOINTMENT_COLLECTOR_CONTENT_CLASS)\r\n };\r\n return CompactAppointmentsHelper\r\n}();\r\nexports.CompactAppointmentsHelper = CompactAppointmentsHelper;\r\n","/**\r\n * DevExtreme (cjs/ui/scheduler/constants.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.VIEWS = exports.LIST_ITEM_DATA_KEY = exports.LIST_ITEM_CLASS = exports.HORIZONTAL_GROUP_ORIENTATION = exports.APPOINTMENT_SETTINGS_KEY = void 0;\r\nvar LIST_ITEM_DATA_KEY = \"dxListItemData\";\r\nexports.LIST_ITEM_DATA_KEY = LIST_ITEM_DATA_KEY;\r\nvar LIST_ITEM_CLASS = \"dx-list-item\";\r\nexports.LIST_ITEM_CLASS = LIST_ITEM_CLASS;\r\nvar APPOINTMENT_SETTINGS_KEY = \"dxAppointmentSettings\";\r\nexports.APPOINTMENT_SETTINGS_KEY = APPOINTMENT_SETTINGS_KEY;\r\nvar HORIZONTAL_GROUP_ORIENTATION = \"horizontal\";\r\nexports.HORIZONTAL_GROUP_ORIENTATION = HORIZONTAL_GROUP_ORIENTATION;\r\nvar 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\nexports.VIEWS = VIEWS;\r\n","/**\r\n * DevExtreme (cjs/ui/scheduler/dataStructures.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.AppointmentTooltipInfo = void 0;\r\nvar AppointmentTooltipInfo = function(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\nexports.AppointmentTooltipInfo = AppointmentTooltipInfo;\r\n","/**\r\n * DevExtreme (cjs/ui/scheduler/dateAdapter.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _date = _interopRequireDefault(require(\"../../core/utils/date\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\nvar toMs = _date.default.dateToMilliseconds;\r\nvar DateAdapterCore = function() {\r\n function DateAdapterCore(source) {\r\n this._source = new Date(source.getTime ? source.getTime() : source)\r\n }\r\n var _proto = DateAdapterCore.prototype;\r\n _proto.result = function() {\r\n return this._source\r\n };\r\n _proto.getTimezoneOffset = function() {\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 _proto.getTime = function() {\r\n return this._source.getTime()\r\n };\r\n _proto.setTime = function(value) {\r\n this._source.setTime(value);\r\n return this\r\n };\r\n _proto.addTime = function(value) {\r\n this._source.setTime(this._source.getTime() + value);\r\n return this\r\n };\r\n _proto.setMinutes = function(value) {\r\n this._source.setMinutes(value);\r\n return this\r\n };\r\n _proto.addMinutes = function(value) {\r\n this._source.setMinutes(this._source.getMinutes() + value);\r\n return this\r\n };\r\n _proto.subtractMinutes = function(value) {\r\n this._source.setMinutes(this._source.getMinutes() - value);\r\n return this\r\n };\r\n _createClass(DateAdapterCore, [{\r\n key: \"source\",\r\n get: function() {\r\n return this._source\r\n }\r\n }]);\r\n return DateAdapterCore\r\n}();\r\nvar DateAdapter = function(date) {\r\n return new DateAdapterCore(date)\r\n};\r\nvar _default = DateAdapter;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/scheduler/expressionUtils.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.ExpressionUtils = void 0;\r\nvar _type = require(\"../../core/utils/type\");\r\nvar ExpressionUtils = {\r\n getField: function(dataAccessors, field, obj) {\r\n if (!(0, _type.isDefined)(dataAccessors.getter[field])) {\r\n return\r\n }\r\n return dataAccessors.getter[field](obj)\r\n },\r\n setField: function(dataAccessors, field, obj, value) {\r\n if (!(0, _type.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\nexports.ExpressionUtils = ExpressionUtils;\r\n","/**\r\n * DevExtreme (cjs/ui/scheduler/header/calendar.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../../core/renderer\"));\r\nvar _devices = _interopRequireDefault(require(\"../../../core/devices\"));\r\nvar _component_registrator = _interopRequireDefault(require(\"../../../core/component_registrator\"));\r\nvar _ui = _interopRequireDefault(require(\"../../widget/ui.widget\"));\r\nvar _ui2 = _interopRequireDefault(require(\"../../popover/ui.popover\"));\r\nvar _ui3 = _interopRequireDefault(require(\"../../popup/ui.popup\"));\r\nvar _calendar = _interopRequireDefault(require(\"../../calendar\"));\r\nvar _ui4 = _interopRequireDefault(require(\"../../scroll_view/ui.scrollable\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar CALENDAR_CLASS = \"dx-scheduler-navigator-calendar\";\r\nvar CALENDAR_POPOVER_CLASS = \"dx-scheduler-navigator-calendar-popover\";\r\nvar SchedulerCalendar = function(_Widget) {\r\n _inheritsLoose(SchedulerCalendar, _Widget);\r\n\r\n function SchedulerCalendar() {\r\n return _Widget.apply(this, arguments) || this\r\n }\r\n var _proto = SchedulerCalendar.prototype;\r\n _proto.show = function(target) {\r\n if (!this._isMobileLayout()) {\r\n this._overlay.option(\"target\", target)\r\n }\r\n this._overlay.show()\r\n };\r\n _proto.hide = function() {\r\n this._overlay.hide()\r\n };\r\n _proto._keyboardHandler = function(opts) {\r\n var _this$_calendar;\r\n null === (_this$_calendar = this._calendar) || void 0 === _this$_calendar ? void 0 : _this$_calendar._keyboardHandler(opts)\r\n };\r\n _proto._init = function() {\r\n _Widget.prototype._init.call(this);\r\n this.$element()\r\n };\r\n _proto._render = function() {\r\n _Widget.prototype._render.call(this);\r\n this._renderOverlay()\r\n };\r\n _proto._renderOverlay = function() {\r\n var _this = this;\r\n this.$element().addClass(CALENDAR_POPOVER_CLASS);\r\n var isMobileLayout = this._isMobileLayout();\r\n var overlayType = isMobileLayout ? _ui3.default : _ui2.default;\r\n this._overlay = this._createComponent(this.$element(), overlayType, {\r\n contentTemplate: function() {\r\n return _this._createOverlayContent()\r\n },\r\n onShown: function() {\r\n return _this._calendar.focus()\r\n },\r\n defaultOptionsRules: [{\r\n device: function() {\r\n return isMobileLayout\r\n },\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 _proto._createOverlayContent = function() {\r\n var result = (0, _renderer.default)(\"<div>\").addClass(CALENDAR_CLASS);\r\n this._calendar = this._createComponent(result, _calendar.default, 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 _proto._createScrollable = function(content) {\r\n var result = this._createComponent(\"<div>\", _ui4.default, {\r\n direction: \"vertical\"\r\n });\r\n result.$content().append(content);\r\n return result\r\n };\r\n _proto._optionChanged = function(_ref) {\r\n var _this$_calendar2;\r\n var name = _ref.name,\r\n value = _ref.value;\r\n switch (name) {\r\n case \"value\":\r\n null === (_this$_calendar2 = this._calendar) || void 0 === _this$_calendar2 ? void 0 : _this$_calendar2.option(\"value\", value)\r\n }\r\n };\r\n _proto._getCalendarOptions = function() {\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 _proto._isMobileLayout = function() {\r\n return !_devices.default.current().generic\r\n };\r\n return SchedulerCalendar\r\n}(_ui.default);\r\nexports.default = SchedulerCalendar;\r\n(0, _component_registrator.default)(\"dxSchedulerCalendarPopup\", SchedulerCalendar);\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/scheduler/header/dateNavigator.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.getDateNavigator = void 0;\r\nvar _themes = require(\"../../themes\");\r\nvar _date = _interopRequireDefault(require(\"../../../core/utils/date\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\nvar trimTime = _date.default.trimTime;\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\nvar getDateNavigator = function(header, item) {\r\n var items = [getPreviousButtonOptions(header), getCalendarButtonOptions(header), getNextButtonOptions(header)];\r\n var stylingMode = (0, _themes.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: function(e) {\r\n e.itemData.clickHandler(e)\r\n }\r\n }\r\n }, item)\r\n};\r\nexports.getDateNavigator = getDateNavigator;\r\nvar getPreviousButtonOptions = function(header) {\r\n return {\r\n key: \"previous\",\r\n icon: \"chevronprev\",\r\n elementAttr: {\r\n class: PREVIOUS_BUTTON_CLASS\r\n },\r\n clickHandler: function() {\r\n return header._updateDateByDirection(DIRECTION_LEFT)\r\n },\r\n onContentReady: function(e) {\r\n var previousButton = e.component;\r\n previousButton.option(\"disabled\", isPreviousButtonDisabled(header));\r\n header._addEvent(\"min\", (function() {\r\n previousButton.option(\"disabled\", isPreviousButtonDisabled(header))\r\n }));\r\n header._addEvent(\"currentDate\", (function() {\r\n previousButton.option(\"disabled\", isPreviousButtonDisabled(header))\r\n }));\r\n header._addEvent(\"startViewDate\", (function() {\r\n previousButton.option(\"disabled\", isPreviousButtonDisabled(header))\r\n }))\r\n }\r\n }\r\n};\r\nvar getCalendarButtonOptions = function(header) {\r\n return {\r\n key: \"calendar\",\r\n text: header.captionText,\r\n elementAttr: {\r\n class: CALENDAR_BUTTON_CLASS\r\n },\r\n clickHandler: function(e) {\r\n return header._showCalendar(e)\r\n },\r\n onContentReady: function(e) {\r\n var calendarButton = e.component;\r\n header._addEvent(\"currentView\", (function() {\r\n calendarButton.option(\"text\", header.captionText)\r\n }));\r\n header._addEvent(\"currentDate\", (function() {\r\n calendarButton.option(\"text\", header.captionText)\r\n }));\r\n header._addEvent(\"startViewDate\", (function() {\r\n calendarButton.option(\"text\", header.captionText)\r\n }));\r\n header._addEvent(\"views\", (function() {\r\n calendarButton.option(\"text\", header.captionText)\r\n }));\r\n header._addEvent(\"firstDayOfWeek\", (function() {\r\n calendarButton.option(\"text\", header.captionText)\r\n }))\r\n }\r\n }\r\n};\r\nvar getNextButtonOptions = function(header) {\r\n return {\r\n key: \"next\",\r\n icon: \"chevronnext\",\r\n elementAttr: {\r\n class: NEXT_BUTTON_CLASS\r\n },\r\n clickHandler: function() {\r\n return header._updateDateByDirection(DIRECTION_RIGHT)\r\n },\r\n onContentReady: function(e) {\r\n var nextButton = e.component;\r\n nextButton.option(\"disabled\", isNextButtonDisabled(header));\r\n header._addEvent(\"min\", (function() {\r\n nextButton.option(\"disabled\", isNextButtonDisabled(header))\r\n }));\r\n header._addEvent(\"currentDate\", (function() {\r\n nextButton.option(\"disabled\", isNextButtonDisabled(header))\r\n }));\r\n header._addEvent(\"startViewDate\", (function() {\r\n nextButton.option(\"disabled\", isNextButtonDisabled(header))\r\n }))\r\n }\r\n }\r\n};\r\nvar isPreviousButtonDisabled = function(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 = function(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 (cjs/ui/scheduler/header/header.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.SchedulerHeader = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../../core/renderer\"));\r\nvar _extend = require(\"../../../core/utils/extend\");\r\nvar _component_registrator = _interopRequireDefault(require(\"../../../core/component_registrator\"));\r\nvar _errors = _interopRequireDefault(require(\"../../../core/errors\"));\r\nvar _devices = _interopRequireDefault(require(\"../../../core/devices\"));\r\nvar _ui = _interopRequireDefault(require(\"../../widget/ui.widget\"));\r\nvar _toolbar = _interopRequireDefault(require(\"../../toolbar\"));\r\nvar _calendar = _interopRequireDefault(require(\"./calendar\"));\r\nvar _date = _interopRequireDefault(require(\"../../../core/utils/date\"));\r\nvar _viewSwitcher = require(\"./viewSwitcher\");\r\nvar _dateNavigator = require(\"./dateNavigator\");\r\nrequire(\"../../../ui/button_group\");\r\nrequire(\"../../../ui/drop_down_button\");\r\nvar _utils = require(\"./utils\");\r\nvar _views = require(\"../../../renovation/ui/scheduler/model/views\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\n\r\nfunction _toConsumableArray(arr) {\r\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread()\r\n}\r\n\r\nfunction _nonIterableSpread() {\r\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _unsupportedIterableToArray(o, minLen) {\r\n if (!o) {\r\n return\r\n }\r\n if (\"string\" === typeof o) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n var n = Object.prototype.toString.call(o).slice(8, -1);\r\n if (\"Object\" === n && o.constructor) {\r\n n = o.constructor.name\r\n }\r\n if (\"Map\" === n || \"Set\" === n) {\r\n return Array.from(o)\r\n }\r\n if (\"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n}\r\n\r\nfunction _iterableToArray(iter) {\r\n if (\"undefined\" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter[\"@@iterator\"]) {\r\n return Array.from(iter)\r\n }\r\n}\r\n\r\nfunction _arrayWithoutHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return _arrayLikeToArray(arr)\r\n }\r\n}\r\n\r\nfunction _arrayLikeToArray(arr, len) {\r\n if (null == len || len > arr.length) {\r\n len = arr.length\r\n }\r\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\r\n arr2[i] = arr[i]\r\n }\r\n return arr2\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar DEFAULT_ELEMENT = \"defaultElement\";\r\nvar VIEW_SWITCHER = \"viewSwitcher\";\r\nvar DATE_NAVIGATOR = \"dateNavigator\";\r\nvar COMPONENT_CLASS = \"dx-scheduler-header\";\r\nvar SchedulerHeader = function(_Widget) {\r\n _inheritsLoose(SchedulerHeader, _Widget);\r\n\r\n function SchedulerHeader() {\r\n return _Widget.apply(this, arguments) || this\r\n }\r\n var _proto = SchedulerHeader.prototype;\r\n _proto._getDefaultOptions = function() {\r\n return (0, _extend.extend)(_Widget.prototype._getDefaultOptions.call(this), {\r\n _useShortDateFormat: !_devices.default.real().generic || _devices.default.isSimulator()\r\n })\r\n };\r\n _proto._createEventMap = function() {\r\n var _this = this;\r\n this.eventMap = new Map([\r\n [\"currentView\", [function(view) {\r\n _this.currentView = (0, _views.getCurrentView)((0, _utils.getViewName)(view), _this.option(\"views\"))\r\n }]],\r\n [\"items\", [this.repaint.bind(this)]],\r\n [\"views\", [_utils.validateViews]],\r\n [\"currentDate\", [this._getCalendarOptionUpdater(\"date\")]],\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 _proto._addEvent = function(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, [].concat(_toConsumableArray(events), [event]))\r\n };\r\n _proto._optionChanged = function(args) {\r\n var name = args.name,\r\n value = args.value;\r\n if (this.eventMap.has(name)) {\r\n var events = this.eventMap.get(name);\r\n events.forEach((function(event) {\r\n event(value)\r\n }))\r\n }\r\n };\r\n _proto._init = function() {\r\n _Widget.prototype._init.call(this);\r\n this._createEventMap();\r\n this.$element().addClass(COMPONENT_CLASS);\r\n this.currentView = (0, _views.getCurrentView)((0, _utils.getViewName)(this.option(\"currentView\")), this.option(\"views\"))\r\n };\r\n _proto._render = function() {\r\n _Widget.prototype._render.call(this);\r\n this._createEventMap();\r\n this._renderToolbar()\r\n };\r\n _proto._renderToolbar = function() {\r\n var config = this._createToolbarConfig();\r\n var toolbarElement = (0, _renderer.default)(\"<div>\");\r\n toolbarElement.appendTo(this.$element());\r\n this._toolbar = this._createComponent(toolbarElement, _toolbar.default, config)\r\n };\r\n _proto._createToolbarConfig = function() {\r\n var _this2 = this;\r\n var items = this.option(\"items\");\r\n var parsedItems = items.map((function(element) {\r\n return _this2._parseItem(element)\r\n }));\r\n return {\r\n items: parsedItems\r\n }\r\n };\r\n _proto._parseItem = function(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 (0, _viewSwitcher.getDropDownViewSwitcher)(this, item)\r\n }\r\n return (0, _viewSwitcher.getViewSwitcher)(this, item);\r\n case DATE_NAVIGATOR:\r\n this._renderCalendar();\r\n return (0, _dateNavigator.getDateNavigator)(this, item);\r\n default:\r\n _errors.default.log(\"Unknown default element type: \".concat(defaultElementType))\r\n }\r\n }\r\n return item\r\n };\r\n _proto._callEvent = function(event, arg) {\r\n if (this.eventMap.has(event)) {\r\n var events = this.eventMap.get(event);\r\n events.forEach((function(event) {\r\n return event(arg)\r\n }))\r\n }\r\n };\r\n _proto._updateCurrentView = function(view) {\r\n var onCurrentViewChange = this.option(\"onCurrentViewChange\");\r\n onCurrentViewChange(view.name);\r\n this._callEvent(\"currentView\", view)\r\n };\r\n _proto._updateCalendarValueAndCurrentDate = function(date) {\r\n this._updateCurrentDate(date);\r\n this._calendar.option(\"value\", date)\r\n };\r\n _proto._updateCurrentDate = function(date) {\r\n var onCurrentDateChange = this.option(\"onCurrentDateChange\");\r\n onCurrentDateChange(date);\r\n this._callEvent(\"currentDate\", date)\r\n };\r\n _proto._renderCalendar = function() {\r\n var _this3 = this;\r\n this._calendar = this._createComponent(\"<div>\", _calendar.default, {\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: function(e) {\r\n _this3._updateCurrentDate(e.value);\r\n _this3._calendar.hide()\r\n }\r\n });\r\n this._calendar.$element().appendTo(this.$element())\r\n };\r\n _proto._getCalendarOptionUpdater = function(name) {\r\n var _this4 = this;\r\n return function(value) {\r\n if (_this4._calendar) {\r\n _this4._calendar.option(name, value)\r\n }\r\n }\r\n };\r\n _proto._getNextDate = function(direction) {\r\n var initialDate = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : null;\r\n var date = initialDate || this.option(\"currentDate\");\r\n var options = _extends({}, this.intervalOptions, {\r\n date: date\r\n });\r\n return (0, _utils.getNextIntervalDate)(options, direction)\r\n };\r\n _proto._isMonth = function() {\r\n var currentView = this.currentView;\r\n return \"month\" === (0, _utils.getViewType)(currentView)\r\n };\r\n _proto._getDisplayedDate = function() {\r\n var startViewDate = this.option(\"startViewDate\");\r\n if (this._isMonth()) {\r\n return (0, _utils.nextWeek)(startViewDate)\r\n }\r\n return new Date(startViewDate)\r\n };\r\n _proto._getCaption = function() {\r\n var date = this.option(\"currentDate\");\r\n if (this.option(\"startViewDate\")) {\r\n date = this._getDisplayedDate()\r\n }\r\n date = _date.default.trimTime(date);\r\n var options = _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 (0, _utils.getCaption)(options, useShortDateFormat, customizationFunction)\r\n };\r\n _proto._updateDateByDirection = function(direction) {\r\n var date = this._getNextDate(direction);\r\n this._updateCalendarValueAndCurrentDate(date)\r\n };\r\n _proto._showCalendar = function(e) {\r\n this._calendar.show(e.element)\r\n };\r\n _proto._hideCalendar = function() {\r\n this._calendar.hide()\r\n };\r\n _proto._isDefaultItem = function(item) {\r\n return Object.prototype.hasOwnProperty.call(item, DEFAULT_ELEMENT)\r\n };\r\n _createClass(SchedulerHeader, [{\r\n key: \"views\",\r\n get: function() {\r\n return this.option(\"views\")\r\n }\r\n }, {\r\n key: \"captionText\",\r\n get: function() {\r\n return this._getCaption().text\r\n }\r\n }, {\r\n key: \"intervalOptions\",\r\n get: function() {\r\n var step = (0, _utils.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 }]);\r\n return SchedulerHeader\r\n}(_ui.default);\r\nexports.SchedulerHeader = SchedulerHeader;\r\n(0, _component_registrator.default)(\"dxSchedulerHeader\", SchedulerHeader);\r\n","/**\r\n * DevExtreme (cjs/ui/scheduler/header/utils.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.validateViews = exports.nextWeek = exports.isOneView = exports.getViewType = exports.getViewText = exports.getViewName = exports.getStep = exports.getNextIntervalDate = exports.getCaption = exports.formatViews = void 0;\r\nvar _date = _interopRequireDefault(require(\"../../../core/utils/date\"));\r\nvar _date2 = _interopRequireDefault(require(\"../../../localization/date\"));\r\nvar _message = _interopRequireDefault(require(\"../../../localization/message\"));\r\nvar _inflector = require(\"../../../core/utils/inflector\");\r\nvar _type = require(\"../../../core/utils/type\");\r\nvar _errors = _interopRequireDefault(require(\"../../../core/errors\"));\r\nvar _constants = require(\"../constants\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar DAY_FORMAT = \"d\";\r\nvar DAYS_IN_WORK_WEEK = 5;\r\nvar getPeriodStart = _date.default.correctDateWithUnitBeginning,\r\n getWeekStart = _date.default.getFirstWeekDate,\r\n getLastMonthDay = _date.default.getLastMonthDay,\r\n addDateInterval = _date.default.addDateInterval;\r\nvar formatDate = _date2.default.format;\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 = function(date) {\r\n return addDateInterval(date, MS_DURATION, -1)\r\n};\r\nvar addMS = function(date) {\r\n return addDateInterval(date, MS_DURATION, 1)\r\n};\r\nvar nextDay = function(date) {\r\n return addDateInterval(date, DAY_DURATION, 1)\r\n};\r\nvar nextWeek = function(date) {\r\n return addDateInterval(date, WEEK_DURATION, 1)\r\n};\r\nexports.nextWeek = nextWeek;\r\nvar nextMonth = function(date) {\r\n var days = getLastMonthDay(date);\r\n return addDateInterval(date, {\r\n days: days\r\n }, 1)\r\n};\r\nvar isWeekend = function(date) {\r\n return date.getDay() === SATURDAY_INDEX || date.getDay() === SUNDAY_INDEX\r\n};\r\nvar getWorkWeekStart = function(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 = function(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 = function(date, agendaDuration) {\r\n return addDateInterval(date, {\r\n days: agendaDuration\r\n }, 1)\r\n};\r\nvar getInterval = function(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 = function(options) {\r\n var date = options.date,\r\n step = options.step,\r\n firstDayOfWeek = options.firstDayOfWeek;\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 = function(startDate, options) {\r\n var intervalCount = options.intervalCount,\r\n step = options.step,\r\n agendaDuration = options.agendaDuration;\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 = function(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 = function(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\nvar getNextIntervalDate = function(options, direction) {\r\n var date = options.date,\r\n step = options.step,\r\n intervalCount = options.intervalCount,\r\n agendaDuration = options.agendaDuration;\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\nexports.getNextIntervalDate = getNextIntervalDate;\r\nvar getNextMonthDate = function(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 = function(isShort) {\r\n var monthType = isShort ? \"abbreviated\" : \"wide\";\r\n var months = _date2.default.getMonthNames(monthType);\r\n return function(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 = function(date) {\r\n var months = _date2.default.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 = function(isShort) {\r\n return function(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\n};\r\nvar getDifferentYearCaption = function(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 = function(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 = function(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 = function(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 = function(startDate, endDate) {\r\n if (_date.default.sameMonth(startDate, endDate)) {\r\n return formatDate(startDate, \"monthandyear\")\r\n }\r\n var isSameYear = _date.default.sameYear(startDate, endDate);\r\n var firstDateText = isSameYear ? _date2.default.getMonthNames(\"abbreviated\")[startDate.getMonth()] : formatMonthYear(startDate);\r\n var lastDateText = formatMonthYear(endDate);\r\n return \"\".concat(firstDateText, \"-\").concat(lastDateText)\r\n};\r\nvar getCaptionText = function(startDate, endDate, isShort, step) {\r\n if (_date.default.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\nvar getCaption = function(options, isShort, customizationFunction) {\r\n var _getInterval = getInterval(options),\r\n startDate = _getInterval.startDate,\r\n endDate = _getInterval.endDate;\r\n var text = getCaptionText(startDate, endDate, isShort, options.step);\r\n if ((0, _type.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\nexports.getCaption = getCaption;\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\nvar getStep = function(view) {\r\n return STEP_MAP[getViewType(view)]\r\n};\r\nexports.getStep = getStep;\r\nvar getViewType = function(view) {\r\n if ((0, _type.isObject)(view) && view.type) {\r\n return view.type\r\n }\r\n return view\r\n};\r\nexports.getViewType = getViewType;\r\nvar getViewName = function(view) {\r\n if ((0, _type.isObject)(view)) {\r\n return view.name ? view.name : view.type\r\n }\r\n return view\r\n};\r\nexports.getViewName = getViewName;\r\nvar getViewText = function(view) {\r\n if (view.name) {\r\n return view.name\r\n }\r\n var viewName = (0, _inflector.camelize)(view.type || view, true);\r\n return _message.default.format(\"dxScheduler-switcher\" + viewName)\r\n};\r\nexports.getViewText = getViewText;\r\nvar isValidView = function(view) {\r\n return Object.values(_constants.VIEWS).includes(view)\r\n};\r\nvar validateViews = function(views) {\r\n views.forEach((function(view) {\r\n var viewType = getViewType(view);\r\n if (!isValidView(viewType)) {\r\n _errors.default.log(\"W0008\", viewType)\r\n }\r\n }))\r\n};\r\nexports.validateViews = validateViews;\r\nvar formatViews = function(views) {\r\n validateViews(views);\r\n return views.map((function(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\nexports.formatViews = formatViews;\r\nvar isOneView = function(views, selectedView) {\r\n return 1 === views.length && views[0].name === selectedView\r\n};\r\nexports.isOneView = isOneView;\r\n","/**\r\n * DevExtreme (cjs/ui/scheduler/header/viewSwitcher.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.getViewSwitcher = exports.getDropDownViewSwitcher = void 0;\r\nvar _utils = require(\"./utils\");\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\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 = function(header) {\r\n var views = (0, _utils.formatViews)(header.views);\r\n var selectedView = (0, _utils.getViewName)(header.currentView);\r\n var isSelectedViewInViews = views.some((function(view) {\r\n return view.name === selectedView\r\n }));\r\n selectedView = isSelectedViewInViews ? selectedView : void 0;\r\n return {\r\n selectedView: selectedView,\r\n views: views\r\n }\r\n};\r\nvar getViewSwitcher = function(header, item) {\r\n var _getViewsAndSelectedV = getViewsAndSelectedView(header),\r\n selectedView = _getViewsAndSelectedV.selectedView,\r\n views = _getViewsAndSelectedV.views;\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: function(e) {\r\n var view = e.itemData.view;\r\n header._updateCurrentView(view)\r\n },\r\n onContentReady: function(e) {\r\n var viewSwitcher = e.component;\r\n header._addEvent(\"currentView\", (function(view) {\r\n viewSwitcher.option(\"selectedItemKeys\", [(0, _utils.getViewName)(view)])\r\n }))\r\n }\r\n }\r\n }, item)\r\n};\r\nexports.getViewSwitcher = getViewSwitcher;\r\nvar getDropDownViewSwitcher = function(header, item) {\r\n var _getViewsAndSelectedV2 = getViewsAndSelectedView(header),\r\n selectedView = _getViewsAndSelectedV2.selectedView,\r\n views = _getViewsAndSelectedV2.views;\r\n var oneView = (0, _utils.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: function(e) {\r\n var view = e.itemData.view;\r\n header._updateCurrentView(view)\r\n },\r\n onContentReady: function(e) {\r\n var viewSwitcher = e.component;\r\n header._addEvent(\"currentView\", (function(view) {\r\n var views = (0, _utils.formatViews)(header.views);\r\n if ((0, _utils.isOneView)(views, view)) {\r\n header.repaint()\r\n }\r\n viewSwitcher.option(\"selectedItemKey\", (0, _utils.getViewName)(view))\r\n }))\r\n },\r\n dropDownOptions: {\r\n onShowing: function(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\nexports.getDropDownViewSwitcher = getDropDownViewSwitcher;\r\n","/**\r\n * DevExtreme (cjs/ui/scheduler/loading.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.hide = hide;\r\nexports.show = show;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _view_port = require(\"../../core/utils/view_port\");\r\nvar _load_panel = _interopRequireDefault(require(\"../load_panel\"));\r\nvar _deferred = require(\"../../core/utils/deferred\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar loading = null;\r\nvar createLoadPanel = function(options) {\r\n return new _load_panel.default((0, _renderer.default)(\"<div>\").appendTo(options && options.container || (0, _view_port.value)()), 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\n\r\nfunction show(options) {\r\n removeLoadPanel();\r\n loading = createLoadPanel(options);\r\n return loading.show()\r\n}\r\n\r\nfunction hide() {\r\n if (!loading) {\r\n return (new _deferred.Deferred).resolve()\r\n }\r\n return loading.hide().done(removeLoadPanel).promise()\r\n}\r\n","/**\r\n * DevExtreme (cjs/ui/scheduler/recurrence.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.getRecurrenceProcessor = getRecurrenceProcessor;\r\nvar _errors = _interopRequireDefault(require(\"../../core/errors\"));\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _rrule = require(\"rrule\");\r\nvar _date = _interopRequireDefault(require(\"../../core/utils/date\"));\r\nvar _utils = _interopRequireDefault(require(\"./utils.timeZone\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _slicedToArray(arr, i) {\r\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest()\r\n}\r\n\r\nfunction _nonIterableRest() {\r\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _unsupportedIterableToArray(o, minLen) {\r\n if (!o) {\r\n return\r\n }\r\n if (\"string\" === typeof o) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n var n = Object.prototype.toString.call(o).slice(8, -1);\r\n if (\"Object\" === n && o.constructor) {\r\n n = o.constructor.name\r\n }\r\n if (\"Map\" === n || \"Set\" === n) {\r\n return Array.from(o)\r\n }\r\n if (\"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n}\r\n\r\nfunction _arrayLikeToArray(arr, len) {\r\n if (null == len || len > arr.length) {\r\n len = arr.length\r\n }\r\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\r\n arr2[i] = arr[i]\r\n }\r\n return arr2\r\n}\r\n\r\nfunction _iterableToArrayLimit(arr, i) {\r\n var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"];\r\n if (null != _i) {\r\n var _s, _e, _x, _r, _arr = [],\r\n _n = !0,\r\n _d = !1;\r\n try {\r\n if (_x = (_i = _i.call(arr)).next, 0 === i) {\r\n if (Object(_i) !== _i) {\r\n return\r\n }\r\n _n = !1\r\n } else {\r\n for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) {}\r\n }\r\n } catch (err) {\r\n _d = !0, _e = err\r\n } finally {\r\n try {\r\n if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) {\r\n return\r\n }\r\n } finally {\r\n if (_d) {\r\n throw _e\r\n }\r\n }\r\n }\r\n return _arr\r\n }\r\n}\r\n\r\nfunction _arrayWithHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return arr\r\n }\r\n}\r\nvar toMs = _date.default.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 recurrence = null;\r\n\r\nfunction getRecurrenceProcessor() {\r\n if (!recurrence) {\r\n recurrence = new RecurrenceProcessor\r\n }\r\n return recurrence\r\n}\r\nvar RecurrenceProcessor = function() {\r\n function RecurrenceProcessor() {\r\n this.rRule = null;\r\n this.rRuleSet = null;\r\n this.validator = new RecurrenceValidator\r\n }\r\n var _proto = RecurrenceProcessor.prototype;\r\n _proto.generateDates = function(options) {\r\n var _this = this;\r\n var recurrenceRule = this.evalRecurrenceRule(options.rule);\r\n var rule = recurrenceRule.rule;\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((function(date) {\r\n return date.getTime() + rruleIntervalParams.appointmentDuration >= rruleIntervalParams.minViewTime\r\n })).map((function(date) {\r\n return _this._convertRruleResult(rruleIntervalParams, options, date)\r\n }))\r\n };\r\n _proto._createRruleIntervalParams = function(options) {\r\n var start = options.start,\r\n min = options.min,\r\n max = options.max,\r\n appointmentTimezoneOffset = options.appointmentTimezoneOffset;\r\n var clientOffsets_startDate = _utils.default.getClientTimezoneOffset(start),\r\n clientOffsets_minViewDate = _utils.default.getClientTimezoneOffset(min),\r\n clientOffsets_maxViewDate = _utils.default.getClientTimezoneOffset(max);\r\n var duration = options.end ? options.end.getTime() - options.start.getTime() : 0;\r\n var startIntervalDate = _utils.default.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 = _utils.default.setOffsetsToDate(options.max, [-clientOffsets_maxViewDate, appointmentTimezoneOffset]);\r\n var startDateDSTDifferenceMs = _utils.default.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 _proto._convertRruleResult = function(rruleIntervalParams, options, rruleDate) {\r\n var localTimezoneOffset = _utils.default.getClientTimezoneOffset(rruleDate);\r\n var additionalWorkaroundOffsetForRrule = localTimezoneOffset / MS_IN_HOUR <= -13 ? -MS_IN_DAY : 0;\r\n var convertedBackDate = _utils.default.setOffsetsToDate(rruleDate, [localTimezoneOffset, additionalWorkaroundOffsetForRrule, -options.appointmentTimezoneOffset, rruleIntervalParams.startIntervalDateDSTShift]);\r\n var convertedDateDSTShift = _utils.default.getDiffBetweenClientTimezoneOffsets(convertedBackDate, rruleDate);\r\n var switchToSummerTime = convertedDateDSTShift < 0;\r\n var resultDate = _utils.default.setOffsetsToDate(convertedBackDate, [convertedDateDSTShift]);\r\n var resultDateDSTShift = _utils.default.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 _proto.hasRecurrence = function(options) {\r\n return !!this.generateDates(options).length\r\n };\r\n _proto.evalRecurrenceRule = function(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 _proto.isValidRecurrenceRule = function(rule) {\r\n return this.evalRecurrenceRule(rule).isValid\r\n };\r\n _proto.daysFromByDayRule = function(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((function(item) {\r\n var match = item.match(/[A-Za-z]+/);\r\n return !!match && match[0]\r\n })).filter((function(item) {\r\n return !!item\r\n }))\r\n };\r\n _proto.getAsciiStringByDate = function(date) {\r\n var currentOffset = date.getTimezoneOffset() * toMs(\"minute\");\r\n var offsetDate = new Date(date.getTime() + currentOffset);\r\n return offsetDate.getFullYear() + (\"0\" + (offsetDate.getMonth() + 1)).slice(-2) + (\"0\" + offsetDate.getDate()).slice(-2) + \"T\" + (\"0\" + offsetDate.getHours()).slice(-2) + (\"0\" + offsetDate.getMinutes()).slice(-2) + (\"0\" + offsetDate.getSeconds()).slice(-2) + \"Z\"\r\n };\r\n _proto.getRecurrenceString = function(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 += field + \"=\" + value + \";\"\r\n }\r\n result = result.substring(0, result.length - 1);\r\n return result.toUpperCase()\r\n };\r\n _proto._parseExceptionToRawArray = function(value) {\r\n return value.match(/(\\d{4})(\\d{2})(\\d{2})(T(\\d{2})(\\d{2})(\\d{2}))?(Z)?/)\r\n };\r\n _proto.getDateByAsciiString = function(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 _this$_createDateTupl = this._createDateTuple(result),\r\n _this$_createDateTupl2 = _slicedToArray(_this$_createDateTupl, 7),\r\n year = _this$_createDateTupl2[0],\r\n month = _this$_createDateTupl2[1],\r\n date = _this$_createDateTupl2[2],\r\n hours = _this$_createDateTupl2[3],\r\n minutes = _this$_createDateTupl2[4],\r\n seconds = _this$_createDateTupl2[5],\r\n isUtc = _this$_createDateTupl2[6];\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 _proto._dispose = function() {\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 _proto._getTimeZoneOffset = function() {\r\n return (new Date).getTimezoneOffset()\r\n };\r\n _proto._initializeRRule = function(options, startDateUtc, until) {\r\n var _this2 = this;\r\n var ruleOptions = _rrule.RRule.parseString(options.rule);\r\n var firstDayOfWeek = options.firstDayOfWeek;\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 = _utils.default.setOffsetsToDate(until, [-_utils.default.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((function(rule) {\r\n return _this2.getDateByAsciiString(rule)\r\n }));\r\n exceptionDates.forEach((function(date) {\r\n if (options.getPostProcessedException) {\r\n date = options.getPostProcessedException(date)\r\n }\r\n var utcDate = _utils.default.setOffsetsToDate(date, [-_utils.default.getClientTimezoneOffset(date), options.appointmentTimezoneOffset]);\r\n _this2.rRuleSet.exdate(utcDate)\r\n }))\r\n }\r\n };\r\n _proto._createRRule = function(ruleOptions) {\r\n this._dispose();\r\n this.rRuleSet = new _rrule.RRuleSet;\r\n this.rRule = new _rrule.RRule(ruleOptions);\r\n this.rRuleSet.rrule(this.rRule)\r\n };\r\n _proto._parseRecurrenceRule = function(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 _proto._createDateTuple = function(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 return RecurrenceProcessor\r\n}();\r\nvar RecurrenceValidator = function() {\r\n function RecurrenceValidator() {}\r\n var _proto2 = RecurrenceValidator.prototype;\r\n _proto2.validateRRule = function(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 _proto2._wrongUntilRule = function(rule) {\r\n var wrongUntil = false;\r\n var until = rule.until;\r\n if (void 0 !== until && !(until instanceof Date)) {\r\n wrongUntil = true\r\n }\r\n return wrongUntil\r\n };\r\n _proto2._wrongCountRule = function(rule) {\r\n var wrongCount = false;\r\n var count = rule.count;\r\n if (count && \"string\" === typeof count) {\r\n wrongCount = true\r\n }\r\n return wrongCount\r\n };\r\n _proto2._wrongByMonthDayRule = function(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 _proto2._wrongByMonth = function(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 _proto2._wrongIntervalRule = function(rule) {\r\n var wrongInterval = false;\r\n var interval = rule.interval;\r\n if (interval && \"string\" === typeof interval) {\r\n wrongInterval = true\r\n }\r\n return wrongInterval\r\n };\r\n _proto2._wrongDayOfWeek = function(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 }(0, _iterator.each)(daysByRule, (function(_, day) {\r\n if (!Object.prototype.hasOwnProperty.call(days, day)) {\r\n brokenDaysExist = true;\r\n return false\r\n }\r\n }));\r\n return brokenDaysExist\r\n };\r\n _proto2._brokenRuleNameExists = function(rule) {\r\n var brokenRuleExists = false;\r\n (0, _iterator.each)(rule, (function(ruleName) {\r\n if (!ruleNames.includes(ruleName)) {\r\n brokenRuleExists = true;\r\n return false\r\n }\r\n }));\r\n return brokenRuleExists\r\n };\r\n _proto2._logBrokenRule = function(recurrence) {\r\n if (!loggedWarnings.includes(recurrence)) {\r\n _errors.default.log(\"W0006\", recurrence);\r\n loggedWarnings.push(recurrence)\r\n }\r\n };\r\n return RecurrenceValidator\r\n}();\r\n","/**\r\n * DevExtreme (cjs/ui/scheduler/recurrence_editor.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _component_registrator = _interopRequireDefault(require(\"../../core/component_registrator\"));\r\nvar _guid = _interopRequireDefault(require(\"../../core/guid\"));\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _date = _interopRequireDefault(require(\"../../core/utils/date\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _date2 = _interopRequireDefault(require(\"../../localization/date\"));\r\nvar _message = _interopRequireDefault(require(\"../../localization/message\"));\r\nvar _form = _interopRequireDefault(require(\"../form\"));\r\nvar _button_group = _interopRequireDefault(require(\"../button_group\"));\r\nvar _date_box = _interopRequireDefault(require(\"../date_box\"));\r\nvar _editor = _interopRequireDefault(require(\"../editor/editor\"));\r\nvar _number_box = _interopRequireDefault(require(\"../number_box\"));\r\nvar _recurrence = require(\"./recurrence\");\r\nrequire(\"../radio_group\");\r\nvar _types = require(\"../../renovation/ui/scheduler/timeZoneCalculator/types\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _toConsumableArray(arr) {\r\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread()\r\n}\r\n\r\nfunction _nonIterableSpread() {\r\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _unsupportedIterableToArray(o, minLen) {\r\n if (!o) {\r\n return\r\n }\r\n if (\"string\" === typeof o) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n var n = Object.prototype.toString.call(o).slice(8, -1);\r\n if (\"Object\" === n && o.constructor) {\r\n n = o.constructor.name\r\n }\r\n if (\"Map\" === n || \"Set\" === n) {\r\n return Array.from(o)\r\n }\r\n if (\"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n}\r\n\r\nfunction _iterableToArray(iter) {\r\n if (\"undefined\" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter[\"@@iterator\"]) {\r\n return Array.from(iter)\r\n }\r\n}\r\n\r\nfunction _arrayWithoutHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return _arrayLikeToArray(arr)\r\n }\r\n}\r\n\r\nfunction _arrayLikeToArray(arr, len) {\r\n if (null == len || len > arr.length) {\r\n len = arr.length\r\n }\r\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\r\n arr2[i] = arr[i]\r\n }\r\n return arr2\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\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((function(item) {\r\n return {\r\n text: function() {\r\n return _message.default.format(item.recurrence)\r\n },\r\n value: item.value\r\n }\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\nvar RecurrenceRule = function() {\r\n function RecurrenceRule(rule) {\r\n this._recurrenceProcessor = (0, _recurrence.getRecurrenceProcessor)();\r\n this._recurrenceRule = this._recurrenceProcessor.evalRecurrenceRule(rule).rule\r\n }\r\n var _proto = RecurrenceRule.prototype;\r\n _proto.makeRules = function(string) {\r\n this._recurrenceRule = this._recurrenceProcessor.evalRecurrenceRule(string).rule\r\n };\r\n _proto.makeRule = function(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 ((0, _type.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 _proto.getRepeatEndRule = function() {\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 _proto.getRecurrenceString = function() {\r\n return this._recurrenceProcessor.getRecurrenceString(this._recurrenceRule)\r\n };\r\n _proto.getRules = function() {\r\n return this._recurrenceRule\r\n };\r\n _proto.getDaysFromByDayRule = function() {\r\n return this._recurrenceProcessor.daysFromByDayRule(this._recurrenceRule)\r\n };\r\n return RecurrenceRule\r\n}();\r\nvar RecurrenceEditor = function(_Editor) {\r\n _inheritsLoose(RecurrenceEditor, _Editor);\r\n\r\n function RecurrenceEditor() {\r\n return _Editor.apply(this, arguments) || this\r\n }\r\n var _proto2 = RecurrenceEditor.prototype;\r\n _proto2._getDefaultOptions = function() {\r\n var defaultOptions = _Editor.prototype._getDefaultOptions.call(this);\r\n return (0, _extend.extend)(defaultOptions, {\r\n value: null,\r\n startDate: new Date,\r\n firstDayOfWeek: void 0\r\n })\r\n };\r\n _proto2._getFirstDayOfWeek = function() {\r\n var firstDayOfWeek = this.option(\"firstDayOfWeek\");\r\n return (0, _type.isDefined)(firstDayOfWeek) ? firstDayOfWeek : _date2.default.firstDayOfWeekIndex()\r\n };\r\n _proto2._createComponent = function(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 _Editor.prototype._createComponent.call(this, element, name, config)\r\n };\r\n _proto2._init = function() {\r\n _Editor.prototype._init.call(this);\r\n this._recurrenceRule = new RecurrenceRule(this.option(\"value\"))\r\n };\r\n _proto2._render = function() {\r\n _Editor.prototype._render.call(this);\r\n this.$element().addClass(RECURRENCE_EDITOR);\r\n this._$container = (0, _renderer.default)(\"<div>\").addClass(RECURRENCE_EDITOR_CONTAINER).appendTo(this.$element());\r\n this._prepareEditors();\r\n this._renderEditors(this._$container)\r\n };\r\n _proto2.getEditorByField = function(fieldName) {\r\n var editor = this.getRecurrenceForm().getEditor(fieldName);\r\n if (!(0, _type.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 _proto2._prepareEditors = function() {\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 _proto2._createFreqEditor = function(freq) {\r\n var _this = this;\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: function(args) {\r\n return _this._valueChangedHandler(args)\r\n }\r\n },\r\n label: {\r\n text: _message.default.format(\"dxScheduler-editorLabelRecurrence\")\r\n }\r\n }\r\n };\r\n _proto2._createIntervalEditor = function(freq) {\r\n var _this2 = this;\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: function(args) {\r\n return _this2._valueChangedHandler(args)\r\n }\r\n },\r\n label: {\r\n text: _message.default.format(\"dxScheduler-recurrenceRepeatEvery\")\r\n }\r\n }, {\r\n name: \"intervalLabel\",\r\n cssClass: \"\".concat(INTERVAL_EDITOR).concat(LABEL_POSTFIX),\r\n template: function() {\r\n return _message.default.format(\"dxScheduler-recurrenceRepeat\".concat(freq.charAt(0).toUpperCase()).concat(freq.substr(1).toLowerCase()))\r\n }\r\n }]\r\n }\r\n };\r\n _proto2._createRepeatOnLabel = function(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: function() {\r\n return _message.default.format(\"dxScheduler-recurrenceRepeatOn\")\r\n },\r\n visible: freq && \"daily\" !== freq && \"hourly\" !== freq\r\n }]\r\n }\r\n };\r\n _proto2._createRepeatOnEditor = function(freq) {\r\n return [this._createByDayEditor(freq), this._createByMonthEditor(freq), this._createByMonthDayEditor(freq)]\r\n };\r\n _proto2._createByDayEditor = function(freq) {\r\n var _this3 = this;\r\n return {\r\n dataField: \"byday\",\r\n colSpan: 2,\r\n template: function(_, itemElement) {\r\n var firstDayOfWeek = _this3._getFirstDayOfWeek();\r\n var byDay = _this3._daysOfWeekByRules();\r\n var localDaysNames = _date2.default.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((function(item, index) {\r\n return {\r\n text: item,\r\n key: dayNames[index]\r\n }\r\n }));\r\n _this3._$repeatOnWeek = (0, _renderer.default)(\"<div>\").addClass(RECURRENCE_BUTTON_GROUP).appendTo(itemElement);\r\n _this3._weekEditor = _this3._createComponent(_this3._$repeatOnWeek, _button_group.default, {\r\n items: itemsButtonGroup,\r\n field: \"byday\",\r\n selectionMode: \"multiple\",\r\n selectedItemKeys: byDay,\r\n keyExpr: \"key\",\r\n onSelectionChanged: function(e) {\r\n var selectedItemKeys = e.component.option(\"selectedItemKeys\");\r\n var selectedKeys = null !== selectedItemKeys && void 0 !== selectedItemKeys && selectedItemKeys.length ? selectedItemKeys : _this3._getDefaultByDayValue();\r\n _this3._recurrenceRule.makeRule(\"byday\", selectedKeys);\r\n _this3._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 _proto2._createByMonthEditor = function(freq) {\r\n var _this4 = this;\r\n var monthsName = _date2.default.getMonthNames(\"wide\");\r\n var months = _toConsumableArray(Array(12)).map((function(_, i) {\r\n return {\r\n value: \"\".concat(i + 1),\r\n text: monthsName[i]\r\n }\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: function(args) {\r\n return _this4._valueChangedHandler(args)\r\n }\r\n },\r\n visible: \"yearly\" === freq,\r\n label: {\r\n visible: false\r\n }\r\n }\r\n };\r\n _proto2._createByMonthDayEditor = function(freq) {\r\n var _this5 = this;\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: function(args) {\r\n return _this5._valueChangedHandler(args)\r\n }\r\n },\r\n visible: \"monthly\" === freq || \"yearly\" === freq,\r\n label: {\r\n visible: false\r\n }\r\n }\r\n };\r\n _proto2._createRepeatEndEditor = function() {\r\n var _this6 = this;\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: function(itemData) {\r\n if (\"count\" === itemData.type) {\r\n return _this6._renderRepeatCountEditor()\r\n }\r\n if (\"until\" === itemData.type) {\r\n return _this6._renderRepeatUntilEditor()\r\n }\r\n return _this6._renderDefaultRepeatEnd()\r\n },\r\n layout: \"vertical\",\r\n elementAttr: {\r\n class: REPEAT_END_TYPE_EDITOR\r\n },\r\n onValueChanged: function(args) {\r\n return _this6._repeatEndValueChangedHandler(args)\r\n }\r\n },\r\n label: {\r\n text: _message.default.format(\"dxScheduler-recurrenceEnd\")\r\n }\r\n }]\r\n };\r\n _proto2._renderEditors = function($container) {\r\n this._recurrenceForm = this._createComponent($container, _form.default, {\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 _proto2._setAriaDescribedBy = function(editor, $label) {\r\n var labelId = \"label-\".concat(new _guid.default);\r\n editor.setAria(\"describedby\", labelId);\r\n editor.setAria(\"id\", labelId, $label)\r\n };\r\n _proto2.getRecurrenceForm = function() {\r\n return this._recurrenceForm\r\n };\r\n _proto2.changeValueByVisibility = function(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 _proto2._handleDefaults = function() {\r\n this._recurrenceRule.makeRule(\"freq\", frequenciesMessages[defaultRecurrenceTypeIndex].value);\r\n this._changeEditorValue()\r\n };\r\n _proto2._changeEditorValue = function() {\r\n this.option(\"value\", this._recurrenceRule.getRecurrenceString() || \"\")\r\n };\r\n _proto2._daysOfWeekByRules = function() {\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 _proto2._getDefaultByDayValue = function() {\r\n var startDate = this.option(\"startDate\");\r\n var startDay = startDate.getDay();\r\n return [days[startDay]]\r\n };\r\n _proto2._dayOfMonthByRules = function() {\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 _proto2._monthOfYearByRules = function() {\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 _proto2._renderDefaultRepeatEnd = function() {\r\n var $editorTemplate = (0, _renderer.default)(\"<div>\").addClass(REPEAT_END_EDITOR + WRAPPER_POSTFIX);\r\n (0, _renderer.default)(\"<div>\").text(_message.default.format(\"dxScheduler-recurrenceNever\")).addClass(REPEAT_END_EDITOR + LABEL_POSTFIX).appendTo($editorTemplate);\r\n return $editorTemplate\r\n };\r\n _proto2._repeatEndValueChangedHandler = function(args) {\r\n var value = args.value;\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 _proto2._disableRepeatEndParts = function() {\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 _proto2._renderRepeatCountEditor = function() {\r\n var repeatCount = this._recurrenceRule.getRules().count || 1;\r\n var $editorWrapper = (0, _renderer.default)(\"<div>\").addClass(REPEAT_END_EDITOR + WRAPPER_POSTFIX);\r\n (0, _renderer.default)(\"<div>\").text(_message.default.format(\"dxScheduler-recurrenceAfter\")).addClass(REPEAT_END_EDITOR + LABEL_POSTFIX).appendTo($editorWrapper);\r\n this._$repeatCountEditor = (0, _renderer.default)(\"<div>\").addClass(REPEAT_COUNT_EDITOR).appendTo($editorWrapper);\r\n (0, _renderer.default)(\"<div>\").text(_message.default.format(\"dxScheduler-recurrenceRepeatCount\")).addClass(REPEAT_END_EDITOR + LABEL_POSTFIX).appendTo($editorWrapper);\r\n this._repeatCountEditor = this._createComponent(this._$repeatCountEditor, _number_box.default, {\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 _proto2._repeatCountValueChangeHandler = function(args) {\r\n if (\"count\" === this._recurrenceRule.getRepeatEndRule()) {\r\n var value = args.value;\r\n this._recurrenceRule.makeRule(\"count\", value);\r\n this._changeEditorValue()\r\n }\r\n };\r\n _proto2._formatUntilDate = function(date) {\r\n if (this._recurrenceRule.getRules().until && _date.default.sameDate(this._recurrenceRule.getRules().until, date)) {\r\n return date\r\n }\r\n return _date.default.setToDayEnd(date)\r\n };\r\n _proto2._renderRepeatUntilEditor = function() {\r\n var repeatUntil = this._getUntilValue();\r\n var $editorWrapper = (0, _renderer.default)(\"<div>\").addClass(REPEAT_END_EDITOR + WRAPPER_POSTFIX);\r\n (0, _renderer.default)(\"<div>\").text(_message.default.format(\"dxScheduler-recurrenceOn\")).addClass(REPEAT_END_EDITOR + LABEL_POSTFIX).appendTo($editorWrapper);\r\n this._$repeatDateEditor = (0, _renderer.default)(\"<div>\").addClass(REPEAT_UNTIL_DATE_EDITOR).appendTo($editorWrapper);\r\n this._repeatUntilDate = this._createComponent(this._$repeatDateEditor, _date_box.default, {\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 _proto2._repeatUntilValueChangeHandler = function(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 ? _types.PathTimeZoneConversion.fromAppointmentToSource : _types.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 _proto2._valueChangedHandler = function(args) {\r\n var value = args.value,\r\n previousValue = args.previousValue;\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 _proto2._makeRepeatOnRule = function(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 _proto2._optionChanged = function(args) {\r\n var _this$_recurrenceForm, _this$_repeatCountEdi, _this$_weekEditor, _this$_repeatUntilDat;\r\n switch (args.name) {\r\n case \"readOnly\":\r\n null === (_this$_recurrenceForm = this._recurrenceForm) || void 0 === _this$_recurrenceForm ? void 0 : _this$_recurrenceForm.option(\"readOnly\", args.value);\r\n null === (_this$_repeatCountEdi = this._repeatCountEditor) || void 0 === _this$_repeatCountEdi ? void 0 : _this$_repeatCountEdi.option(\"readOnly\", args.value);\r\n null === (_this$_weekEditor = this._weekEditor) || void 0 === _this$_weekEditor ? void 0 : _this$_weekEditor.option(\"readOnly\", args.value);\r\n null === (_this$_repeatUntilDat = this._repeatUntilDate) || void 0 === _this$_repeatUntilDat ? void 0 : _this$_repeatUntilDat.option(\"readOnly\", args.value);\r\n _Editor.prototype._optionChanged.call(this, 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 _Editor.prototype._optionChanged.call(this, args);\r\n break;\r\n case \"startDate\":\r\n this._makeRepeatOnRule(this._recurrenceRule.getRules().freq);\r\n if ((0, _type.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 = _date2.default.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((function(item, index) {\r\n return {\r\n text: item,\r\n key: dayNames[index]\r\n }\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 _Editor.prototype._optionChanged.call(this, args)\r\n }\r\n };\r\n _proto2._changeRepeatOnVisibility = function(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 _proto2._changeRepeatIntervalLabel = function() {\r\n var freq = this._recurrenceRule.getRules().freq;\r\n freq && this._recurrenceForm.itemOption(\"intervalLabel\", \"template\", _message.default.format(\"dxScheduler-recurrenceRepeat\".concat(freq.charAt(0).toUpperCase()).concat(freq.substr(1).toLowerCase())))\r\n };\r\n _proto2._changeEditorsValue = function(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 _proto2._changeIntervalValue = function(value) {\r\n this._recurrenceForm.getEditor(\"interval\").option(\"value\", value || 1)\r\n };\r\n _proto2._changeRepeatEndValue = function() {\r\n var repeatType = this._recurrenceRule.getRepeatEndRule();\r\n this._recurrenceForm.getEditor(\"repeatEnd\").option(\"value\", repeatType)\r\n };\r\n _proto2._changeDayOfWeekValue = function() {\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 _proto2._changeDayOfMonthValue = function() {\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 _proto2._changeMonthOfYearValue = function() {\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 _proto2._changeRepeatCountValue = function() {\r\n var count = this._recurrenceRule.getRules().count || 1;\r\n this._repeatCountEditor.option(\"value\", count)\r\n };\r\n _proto2._changeRepeatUntilValue = function() {\r\n this._repeatUntilDate.option(\"value\", this._getUntilValue())\r\n };\r\n _proto2._getUntilValue = function() {\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 ? _types.PathTimeZoneConversion.fromSourceToAppointment : _types.PathTimeZoneConversion.fromSourceToGrid;\r\n return this.option(\"timeZoneCalculator\").createDate(untilDate, {\r\n path: path,\r\n appointmentTimeZone: appointmentTimeZone\r\n })\r\n };\r\n _proto2.toggle = function() {\r\n this._freqEditor.focus()\r\n };\r\n _proto2.setAria = function() {\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 return RecurrenceEditor\r\n}(_editor.default);\r\n(0, _component_registrator.default)(\"dxRecurrenceEditor\", RecurrenceEditor);\r\nvar _default = RecurrenceEditor;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/scheduler/resources/agendaResourceProcessor.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.AgendaResourceProcessor = void 0;\r\nvar _array = require(\"../../../core/utils/array\");\r\nvar _deferred = require(\"../../../core/utils/deferred\");\r\nvar _utils = require(\"./utils\");\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\nvar PromiseItem = function(rawAppointment, promise) {\r\n this.rawAppointment = rawAppointment;\r\n this.promise = promise\r\n};\r\nvar AgendaResourceProcessor = function() {\r\n function AgendaResourceProcessor() {\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 var _proto = AgendaResourceProcessor.prototype;\r\n _proto._pushAllResources = function() {\r\n var _this = this;\r\n this.appointmentPromiseQueue.forEach((function(_ref) {\r\n var promise = _ref.promise,\r\n rawAppointment = _ref.rawAppointment;\r\n var result = [];\r\n _this.resourceMap.forEach((function(resource, fieldName) {\r\n var item = {\r\n label: resource.label,\r\n values: []\r\n };\r\n if (fieldName in rawAppointment) {\r\n (0, _array.wrapToArray)(rawAppointment[fieldName]).forEach((function(value) {\r\n return item.values.push(resource.map.get(value))\r\n }))\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 _proto._onPullResource = function(fieldName, valueName, displayName, label, items) {\r\n var map = new Map;\r\n items.forEach((function(item) {\r\n return map.set(item[valueName], item[displayName])\r\n }));\r\n this.resourceMap.set(fieldName, {\r\n label: label,\r\n map: map\r\n })\r\n };\r\n _proto._hasResourceDeclarations = function(resources) {\r\n if (0 === resources.length) {\r\n this.appointmentPromiseQueue.forEach((function(_ref2) {\r\n var promise = _ref2.promise;\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 _proto._tryPullResources = function(resources, resultAsync) {\r\n var _this2 = this;\r\n if (!this.isLoading) {\r\n this.isLoading = true;\r\n var promises = [];\r\n resources.forEach((function(resource) {\r\n var promise = (new _deferred.Deferred).done((function(items) {\r\n return _this2._onPullResource((0, _utils.getFieldExpr)(resource), (0, _utils.getValueExpr)(resource), (0, _utils.getDisplayExpr)(resource), resource.label, items)\r\n }));\r\n promises.push(promise);\r\n var dataSource = (0, _utils.getWrappedDataSource)(resource.dataSource);\r\n if (dataSource.isLoaded()) {\r\n promise.resolve(dataSource.items())\r\n } else {\r\n dataSource.load().done((function(list) {\r\n return promise.resolve(list)\r\n })).fail((function() {\r\n return promise.reject()\r\n }))\r\n }\r\n }));\r\n _deferred.when.apply(null, promises).done((function() {\r\n _this2.isLoaded = true;\r\n _this2.isLoading = false;\r\n _this2._pushAllResources()\r\n })).fail((function() {\r\n return resultAsync.reject()\r\n }))\r\n }\r\n };\r\n _proto.initializeState = function() {\r\n var resourceDeclarations = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : [];\r\n this.resourceDeclarations = resourceDeclarations\r\n };\r\n _proto.createListAsync = function(rawAppointment) {\r\n var resultAsync = new _deferred.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 _createClass(AgendaResourceProcessor, [{\r\n key: \"resourceDeclarations\",\r\n get: function() {\r\n return this._resourceDeclarations\r\n },\r\n set: function(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 }]);\r\n return AgendaResourceProcessor\r\n}();\r\nexports.AgendaResourceProcessor = AgendaResourceProcessor;\r\n","/**\r\n * DevExtreme (cjs/ui/scheduler/resources/utils.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.setResourceToAppointment = exports.reduceResourcesTree = exports.loadResources = exports.isResourceMultiple = exports.groupAppointmentsByResourcesCore = exports.groupAppointmentsByResources = exports.getWrappedDataSource = exports.getValueExpr = exports.getResourcesDataByGroups = exports.getResourceTreeLeaves = exports.getResourceColor = exports.getResourceByField = exports.getPathToLeaf = exports.getPaintedResources = exports.getOrLoadResourceItem = exports.getNormalizedResources = exports.getGroupsObjectFromGroupsArray = exports.getGroupCount = exports.getFieldExpr = exports.getDisplayExpr = exports.getDataAccessors = exports.getCellGroups = exports.getAppointmentColor = exports.getAllGroups = exports.filterResources = exports.createResourcesTree = exports.createResourceEditorModel = exports.createReducedResourcesTree = exports.createExpressions = void 0;\r\nvar _utils = require(\"../../../data/data_source/utils\");\r\nvar _data_source = require(\"../../../data/data_source/data_source\");\r\nvar _deferred = require(\"../../../core/utils/deferred\");\r\nvar _data = require(\"../../../core/utils/data\");\r\nvar _iterator = require(\"../../../core/utils/iterator\");\r\nvar _extend = require(\"../../../core/utils/extend\");\r\nvar _type = require(\"../../../core/utils/type\");\r\nvar _array = require(\"../../../core/utils/array\");\r\nvar _object = require(\"../../../core/utils/object\");\r\nvar _common = require(\"../../../core/utils/common\");\r\nvar _hasResourceValue = require(\"../../../renovation/ui/scheduler/resources/hasResourceValue\");\r\n\r\nfunction _toConsumableArray(arr) {\r\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread()\r\n}\r\n\r\nfunction _nonIterableSpread() {\r\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _unsupportedIterableToArray(o, minLen) {\r\n if (!o) {\r\n return\r\n }\r\n if (\"string\" === typeof o) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n var n = Object.prototype.toString.call(o).slice(8, -1);\r\n if (\"Object\" === n && o.constructor) {\r\n n = o.constructor.name\r\n }\r\n if (\"Map\" === n || \"Set\" === n) {\r\n return Array.from(o)\r\n }\r\n if (\"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n}\r\n\r\nfunction _iterableToArray(iter) {\r\n if (\"undefined\" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter[\"@@iterator\"]) {\r\n return Array.from(iter)\r\n }\r\n}\r\n\r\nfunction _arrayWithoutHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return _arrayLikeToArray(arr)\r\n }\r\n}\r\n\r\nfunction _arrayLikeToArray(arr, len) {\r\n if (null == len || len > arr.length) {\r\n len = arr.length\r\n }\r\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\r\n arr2[i] = arr[i]\r\n }\r\n return arr2\r\n}\r\n\r\nfunction _defineProperty(obj, key, value) {\r\n key = _toPropertyKey(key);\r\n if (key in obj) {\r\n Object.defineProperty(obj, key, {\r\n value: value,\r\n enumerable: true,\r\n configurable: true,\r\n writable: true\r\n })\r\n } else {\r\n obj[key] = value\r\n }\r\n return obj\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\nvar getValueExpr = function(resource) {\r\n return resource.valueExpr || \"id\"\r\n};\r\nexports.getValueExpr = getValueExpr;\r\nvar getDisplayExpr = function(resource) {\r\n return resource.displayExpr || \"text\"\r\n};\r\nexports.getDisplayExpr = getDisplayExpr;\r\nvar getFieldExpr = function(resource) {\r\n return resource.fieldExpr || resource.field\r\n};\r\nexports.getFieldExpr = getFieldExpr;\r\nvar getWrappedDataSource = function(dataSource) {\r\n if (dataSource instanceof _data_source.DataSource) {\r\n return dataSource\r\n }\r\n var result = _extends({}, (0, _utils.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 _data_source.DataSource(result)\r\n};\r\nexports.getWrappedDataSource = getWrappedDataSource;\r\nvar createResourcesTree = function(groups) {\r\n var leafIndex = 0;\r\n return function make(group, groupIndex, result, parent) {\r\n result = result || [];\r\n for (var itemIndex = 0; itemIndex < group.items.length; itemIndex++) {\r\n var _group$data;\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 === (_group$data = group.data) || void 0 === _group$data ? void 0 : _group$data[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 }(groups[0], 0)\r\n};\r\nexports.createResourcesTree = createResourcesTree;\r\nvar getPathToLeaf = function(leafIndex, groups) {\r\n var tree = createResourcesTree(groups);\r\n var leaf = function 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 } else {\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 }(tree, leafIndex);\r\n return function 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 }(leaf).reverse()\r\n};\r\nexports.getPathToLeaf = getPathToLeaf;\r\nvar getCellGroups = function(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\nexports.getCellGroups = getCellGroups;\r\nvar getGroupCount = function(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\nexports.getGroupCount = getGroupCount;\r\nvar getGroupsObjectFromGroupsArray = function(groupsArray) {\r\n return groupsArray.reduce((function(currentGroups, _ref) {\r\n var name = _ref.name,\r\n id = _ref.id;\r\n return _extends({}, currentGroups, _defineProperty({}, name, id))\r\n }), {})\r\n};\r\nexports.getGroupsObjectFromGroupsArray = getGroupsObjectFromGroupsArray;\r\nvar getAllGroups = function(groups) {\r\n var groupCount = getGroupCount(groups);\r\n return _toConsumableArray(new Array(groupCount)).map((function(_, groupIndex) {\r\n var groupsArray = getCellGroups(groupIndex, groups);\r\n return getGroupsObjectFromGroupsArray(groupsArray)\r\n }))\r\n};\r\nexports.getAllGroups = getAllGroups;\r\nvar getResourceByField = function(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\nexports.getResourceByField = getResourceByField;\r\nvar createResourceEditorModel = function(resources, loadedResources) {\r\n return resources.map((function(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\n};\r\nexports.createResourceEditorModel = createResourceEditorModel;\r\nvar isResourceMultiple = function(resources, resourceField) {\r\n var resource = resources.find((function(resource) {\r\n var field = getFieldExpr(resource);\r\n return field === resourceField\r\n }));\r\n return !!(null !== resource && void 0 !== resource && resource.allowMultiple)\r\n};\r\nexports.isResourceMultiple = isResourceMultiple;\r\nvar filterResources = function(resources, fields) {\r\n return resources.filter((function(resource) {\r\n var field = getFieldExpr(resource);\r\n return fields.indexOf(field) > -1\r\n }))\r\n};\r\nexports.filterResources = filterResources;\r\nvar getPaintedResources = function(resources, groups) {\r\n var newGroups = groups || [];\r\n var result = resources.find((function(resource) {\r\n return resource.useColorAsDefault\r\n }));\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\nexports.getPaintedResources = getPaintedResources;\r\nvar getOrLoadResourceItem = function(resources, resourceLoaderMap, field, value) {\r\n var result = new _deferred.Deferred;\r\n resources.filter((function(resource) {\r\n return getFieldExpr(resource) === field && (0, _type.isDefined)(resource.dataSource)\r\n })).forEach((function(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((function(data) {\r\n var getter = (0, _data.compileGetter)(valueExpr);\r\n var filteredData = data.filter((function(resource) {\r\n return (0, _common.equalByValue)(getter(resource), value)\r\n }));\r\n result.resolve(filteredData[0])\r\n })).fail((function() {\r\n resourceLoaderMap.delete(field);\r\n result.reject()\r\n }))\r\n }));\r\n return result.promise()\r\n};\r\nexports.getOrLoadResourceItem = getOrLoadResourceItem;\r\nvar getDataAccessors = function(dataAccessors, fieldName, type) {\r\n var actions = dataAccessors[type];\r\n return actions[fieldName]\r\n};\r\nexports.getDataAccessors = getDataAccessors;\r\nvar 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((function(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\nexports.groupAppointmentsByResources = groupAppointmentsByResources;\r\nvar groupAppointmentsByResourcesCore = function(config, appointments, resources) {\r\n var tree = createResourcesTree(resources);\r\n var result = {};\r\n appointments.forEach((function(appointment) {\r\n var treeLeaves = getResourceTreeLeaves((function(field, action) {\r\n return getDataAccessors(config.dataAccessors, field, action)\r\n }), 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((0, _object.deepExtendArraySafe)({}, appointment, true))\r\n }\r\n }));\r\n return result\r\n};\r\nexports.groupAppointmentsByResourcesCore = groupAppointmentsByResourcesCore;\r\nvar getResourceTreeLeaves = function 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 ((0, _type.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\nexports.getResourceTreeLeaves = getResourceTreeLeaves;\r\nvar hasGroupItem = function(getDataAccessors, rawAppointment, groupName, itemValue) {\r\n var resourceValue = getDataAccessors(groupName, \"getter\")(rawAppointment);\r\n return (0, _hasResourceValue.hasResourceValue)((0, _array.wrapToArray)(resourceValue), itemValue)\r\n};\r\nvar createReducedResourcesTree = function(loadedResources, getDataAccessors, appointments) {\r\n var tree = createResourcesTree(loadedResources);\r\n return reduceResourcesTree(getDataAccessors, tree, appointments)\r\n};\r\nexports.createReducedResourcesTree = createReducedResourcesTree;\r\nvar reduceResourcesTree = function reduceResourcesTree(getDataAccessors, tree, existingAppointments, _result) {\r\n _result = _result ? _result.children : [];\r\n tree.forEach((function(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((function(appointment) {\r\n if (!ok) {\r\n var resourceFromAppointment = resourceGetter(appointment);\r\n if (Array.isArray(resourceFromAppointment)) {\r\n if (resourceFromAppointment.indexOf(resourceValue) > -1) {\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\nexports.reduceResourcesTree = reduceResourcesTree;\r\nvar getResourcesDataByGroups = function(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((function(group) {\r\n (0, _iterator.each)(group, (function(name, value) {\r\n return fieldNames[name] = value\r\n }))\r\n }));\r\n var resourceData = loadedResources.filter((function(_ref2) {\r\n var name = _ref2.name;\r\n return (0, _type.isDefined)(fieldNames[name])\r\n }));\r\n resourceData.forEach((function(data) {\r\n return currentResourcesData.push((0, _extend.extend)({}, data))\r\n }));\r\n currentResourcesData.forEach((function(currentResource) {\r\n var items = currentResource.items,\r\n data = currentResource.data,\r\n resourceName = currentResource.name;\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((function(group) {\r\n return (0, _type.isDefined)(group[resourceName])\r\n })).forEach((function(group) {\r\n (0, _iterator.each)(group, (function(name, value) {\r\n if (!filteredItems.filter((function(item) {\r\n return item.id === value && item[valueExpr] === name\r\n })).length) {\r\n var currentItems = items.filter((function(item) {\r\n return item.id === value\r\n }));\r\n var currentData = data.filter((function(item) {\r\n return item[valueExpr] === value\r\n }));\r\n filteredItems.push.apply(filteredItems, _toConsumableArray(currentItems));\r\n filteredData.push.apply(filteredData, _toConsumableArray(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\nexports.getResourcesDataByGroups = getResourcesDataByGroups;\r\nvar setResourceToAppointment = function(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) ? (0, _array.wrapToArray)(resourceData) : resourceData;\r\n resourcesSetter[name](appointment, value)\r\n }\r\n};\r\nexports.setResourceToAppointment = setResourceToAppointment;\r\nvar getResourceColor = function(resources, resourceLoaderMap, field, value) {\r\n var result = new _deferred.Deferred;\r\n var resource = filterResources(resources, [field])[0] || {};\r\n var colorExpr = resource.colorExpr || \"color\";\r\n var colorGetter = (0, _data.compileGetter)(colorExpr);\r\n getOrLoadResourceItem(resources, resourceLoaderMap, field, value).done((function(resource) {\r\n return result.resolve(colorGetter(resource))\r\n })).fail((function() {\r\n return result.reject()\r\n }));\r\n return result.promise()\r\n};\r\nexports.getResourceColor = getResourceColor;\r\nvar getAppointmentColor = function(resourceConfig, appointmentConfig) {\r\n var resources = resourceConfig.resources,\r\n dataAccessors = resourceConfig.dataAccessors,\r\n loadedResources = resourceConfig.loadedResources,\r\n resourceLoaderMap = resourceConfig.resourceLoaderMap;\r\n var groupIndex = appointmentConfig.groupIndex,\r\n groups = appointmentConfig.groups,\r\n itemData = appointmentConfig.itemData;\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 = (0, _array.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.Deferred).resolve().promise()\r\n};\r\nexports.getAppointmentColor = getAppointmentColor;\r\nvar 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((function(resource) {\r\n var field = getFieldExpr(resource);\r\n result.getter[field] = (0, _data.compileGetter)(field);\r\n result.setter[field] = (0, _data.compileSetter)(field)\r\n }));\r\n return result\r\n};\r\nexports.createExpressions = createExpressions;\r\nvar getTransformedResourceData = function(resource, data) {\r\n var valueGetter = (0, _data.compileGetter)(getValueExpr(resource));\r\n var displayGetter = (0, _data.compileGetter)(getDisplayExpr(resource));\r\n return data.map((function(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\nvar loadResources = function(groups, resources, resourceLoaderMap) {\r\n var result = new _deferred.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((function(resource) {\r\n var deferred = new _deferred.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((function(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((function() {\r\n return deferred.reject()\r\n }))\r\n }));\r\n if (!deferreds.length) {\r\n return result.resolve(loadedResources)\r\n }\r\n _deferred.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((function(r) {\r\n return 0 === r.items.length\r\n }));\r\n loadedResources = hasEmpty ? [] : resources;\r\n result.resolve(loadedResources)\r\n })).fail((function() {\r\n return result.reject()\r\n }));\r\n return result.promise()\r\n};\r\nexports.loadResources = loadResources;\r\nvar getNormalizedResources = function(rawAppointment, dataAccessors, resources) {\r\n var result = {};\r\n (0, _iterator.each)(dataAccessors.resources.getter, (function(fieldName) {\r\n var value = dataAccessors.resources.getter[fieldName](rawAppointment);\r\n if ((0, _type.isDefined)(value)) {\r\n var isMultiple = isResourceMultiple(resources, fieldName);\r\n var resourceValue = isMultiple ? (0, _array.wrapToArray)(value) : value;\r\n result[fieldName] = resourceValue\r\n }\r\n }));\r\n return result\r\n};\r\nexports.getNormalizedResources = getNormalizedResources;\r\n","/**\r\n * DevExtreme (cjs/ui/scheduler/shaders/ui.scheduler.current_time_shader.horizontal.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _size = require(\"../../../core/utils/size\");\r\nvar _position = require(\"../../../core/utils/position\");\r\nvar _uiScheduler = _interopRequireDefault(require(\"../shaders/ui.scheduler.current_time_shader\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar HorizontalCurrentTimeShader = function(_CurrentTimeShader) {\r\n _inheritsLoose(HorizontalCurrentTimeShader, _CurrentTimeShader);\r\n\r\n function HorizontalCurrentTimeShader() {\r\n return _CurrentTimeShader.apply(this, arguments) || this\r\n }\r\n var _proto = HorizontalCurrentTimeShader.prototype;\r\n _proto.renderShader = function() {\r\n var groupCount = this._workSpace._isHorizontalGroupedWorkSpace() ? this._workSpace._getGroupCount() : 1;\r\n for (var i = 0; i < groupCount; i++) {\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 _proto._customizeShader = function($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 _proto._applyShaderWidth = function($shader, width) {\r\n var maxWidth = (0, _position.getBoundingRect)(this._$container.get(0)).width;\r\n if (width > maxWidth) {\r\n width = maxWidth\r\n }\r\n if (width > 0) {\r\n (0, _size.setWidth)($shader, width)\r\n }\r\n };\r\n _proto._customizeGroupedByDateShader = function($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 return HorizontalCurrentTimeShader\r\n}(_uiScheduler.default);\r\nvar _default = HorizontalCurrentTimeShader;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/scheduler/shaders/ui.scheduler.current_time_shader.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../../core/renderer\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar DATE_TIME_SHADER_CLASS = \"dx-scheduler-date-time-shader\";\r\nvar CurrentTimeShader = function() {\r\n function CurrentTimeShader(workSpace) {\r\n this._workSpace = workSpace;\r\n this._$container = this._workSpace._dateTableScrollable.$content()\r\n }\r\n var _proto = CurrentTimeShader.prototype;\r\n _proto.render = function() {\r\n var _this = this;\r\n this.initShaderElements();\r\n this.renderShader();\r\n this._shader.forEach((function(shader, index) {\r\n _this._$container.append(shader)\r\n }))\r\n };\r\n _proto.initShaderElements = function() {\r\n this._$shader = this.createShader();\r\n this._shader = [];\r\n this._shader.push(this._$shader)\r\n };\r\n _proto.renderShader = function() {};\r\n _proto.createShader = function() {\r\n return (0, _renderer.default)(\"<div>\").addClass(DATE_TIME_SHADER_CLASS)\r\n };\r\n _proto.clean = function() {\r\n this._$container && this._$container.find(\".\" + DATE_TIME_SHADER_CLASS).remove()\r\n };\r\n return CurrentTimeShader\r\n}();\r\nvar _default = CurrentTimeShader;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/scheduler/shaders/ui.scheduler.current_time_shader.vertical.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _size = require(\"../../../core/utils/size\");\r\nvar _renderer = _interopRequireDefault(require(\"../../../core/renderer\"));\r\nvar _uiScheduler = _interopRequireDefault(require(\"../shaders/ui.scheduler.current_time_shader\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\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\nvar VerticalCurrentTimeShader = function(_CurrentTimeShader) {\r\n _inheritsLoose(VerticalCurrentTimeShader, _CurrentTimeShader);\r\n\r\n function VerticalCurrentTimeShader() {\r\n return _CurrentTimeShader.apply(this, arguments) || this\r\n }\r\n var _proto = VerticalCurrentTimeShader.prototype;\r\n _proto.renderShader = function() {\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 }(0, _size.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 _proto._renderShaderParts = function(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 _proto._renderGroupedByDateShaderParts = function(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 _proto._renderTopShader = function($shader, height, width, i) {\r\n this._$topShader = (0, _renderer.default)(\"<div>\").addClass(DATE_TIME_SHADER_TOP_CLASS);\r\n if (width) {\r\n (0, _size.setWidth)(this._$topShader, width)\r\n }\r\n if (height) {\r\n (0, _size.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 _proto._renderBottomShader = function($shader, maxHeight, height, width, i) {\r\n this._$bottomShader = (0, _renderer.default)(\"<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 (0, _size.setWidth)(this._$bottomShader, shaderWidth);\r\n (0, _size.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 _proto._renderAllDayShader = function(shaderWidth, i) {\r\n if (this._workSpace.option(\"showAllDayPanel\")) {\r\n this._$allDayIndicator = (0, _renderer.default)(\"<div>\").addClass(DATE_TIME_SHADER_ALL_DAY_CLASS);\r\n (0, _size.setHeight)(this._$allDayIndicator, this._workSpace.getAllDayHeight());\r\n (0, _size.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 _proto._getShaderOffset = function(i, width) {\r\n return this._workSpace.getGroupedStrategy().getShaderOffset(i, width)\r\n };\r\n _proto._getShaderTopOffset = function(i) {\r\n return this._workSpace.getGroupedStrategy().getShaderTopOffset(i)\r\n };\r\n _proto._getShaderHeight = function(i, width) {\r\n return this._workSpace.getGroupedStrategy().getShaderHeight()\r\n };\r\n _proto._getShaderMaxHeight = function(i, width) {\r\n return this._workSpace.getGroupedStrategy().getShaderMaxHeight()\r\n };\r\n _proto._getShaderWidth = function(i) {\r\n return this._workSpace.getGroupedStrategy().getShaderWidth(i)\r\n };\r\n _proto.clean = function() {\r\n _CurrentTimeShader.prototype.clean.call(this);\r\n this._workSpace && this._workSpace._$allDayPanel && this._workSpace._$allDayPanel.find(\".\" + DATE_TIME_SHADER_ALL_DAY_CLASS).remove()\r\n };\r\n return VerticalCurrentTimeShader\r\n}(_uiScheduler.default);\r\nvar _default = VerticalCurrentTimeShader;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/scheduler/subscribes.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _date = _interopRequireDefault(require(\"../../core/utils/date\"));\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _classes = require(\"./classes\");\r\nvar _utils = require(\"./utils\");\r\nvar _appointmentAdapter = require(\"./appointmentAdapter\");\r\nvar _textUtils = require(\"./appointments/textUtils\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar toMs = _date.default.dateToMilliseconds;\r\nvar subscribes = {\r\n isCurrentViewAgenda: function() {\r\n return \"agenda\" === this.currentViewType\r\n },\r\n currentViewUpdated: function(currentView) {\r\n this.option(\"currentView\", currentView)\r\n },\r\n currentDateUpdated: function(date) {\r\n this.option(\"currentDate\", date)\r\n },\r\n getOption: function(name) {\r\n return this.option(name)\r\n },\r\n getWorkspaceOption: function(name) {\r\n return this.getWorkSpace().option(name)\r\n },\r\n isVirtualScrolling: function() {\r\n return this.isVirtualScrolling()\r\n },\r\n setCellDataCacheAlias: function(appointment, geometry) {\r\n this._workSpace.setCellDataCacheAlias(appointment, geometry)\r\n },\r\n isGroupedByDate: function() {\r\n return this.getWorkSpace().isGroupedByDate()\r\n },\r\n showAppointmentTooltip: function(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: function() {\r\n this.hideAppointmentTooltip()\r\n },\r\n showEditAppointmentPopup: function(options) {\r\n var targetedData = this.getTargetedAppointment(options.data, options.target);\r\n this.showAppointmentPopup(options.data, false, targetedData)\r\n },\r\n updateAppointmentAfterResize: function(options) {\r\n var info = _utils.utils.dataAccessors.getAppointmentInfo(options.$appointment);\r\n var exceptionDate = info.sourceAppointment.exceptionDate;\r\n this._checkRecurringAppointment(options.target, options.data, exceptionDate, function() {\r\n this._updateAppointment(options.target, options.data, (function() {\r\n this._appointments.moveAppointmentBack()\r\n }))\r\n }.bind(this))\r\n },\r\n getUpdatedData: function(rawAppointment) {\r\n return this._getUpdatedData(rawAppointment)\r\n },\r\n updateAppointmentAfterDrag: function(_ref) {\r\n var _this = this;\r\n var event = _ref.event,\r\n element = _ref.element,\r\n rawAppointment = _ref.rawAppointment,\r\n newCellIndex = _ref.newCellIndex,\r\n oldCellIndex = _ref.oldCellIndex;\r\n var info = _utils.utils.dataAccessors.getAppointmentInfo(element);\r\n var appointment = (0, _appointmentAdapter.createAppointmentAdapter)(rawAppointment, this._dataAccessors, this.timeZoneCalculator);\r\n var targetedAppointment = (0, _appointmentAdapter.createAppointmentAdapter)((0, _extend.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, (function() {\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: function(options) {\r\n var targetedData = this.getTargetedAppointment(options.data, (0, _renderer.default)(options.target));\r\n this.checkAndDeleteAppointment(options.data, targetedData);\r\n this.hideAppointmentTooltip()\r\n },\r\n getTextAndFormatDate: function(appointmentRaw, targetedAppointmentRaw, format) {\r\n var appointmentAdapter = (0, _appointmentAdapter.createAppointmentAdapter)(appointmentRaw, this._dataAccessors, this.timeZoneCalculator);\r\n var targetedAdapter = (0, _appointmentAdapter.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 || (0, _textUtils.getFormatType)(startDate, endDate, targetedAdapter.allDay, \"month\" !== this.currentViewType);\r\n return {\r\n text: targetedAdapter.text || appointmentAdapter.text,\r\n formatDate: (0, _textUtils.formatDates)(startDate, endDate, formatType)\r\n }\r\n },\r\n _createAppointmentTitle: function(data) {\r\n if ((0, _type.isPlainObject)(data)) {\r\n return data.text\r\n }\r\n return String(data)\r\n },\r\n getResizableAppointmentArea: function(options) {\r\n var allDay = options.allDay;\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 },\r\n needRecalculateResizableArea: function() {\r\n return this.getWorkSpace().needRecalculateResizableArea()\r\n },\r\n getAppointmentGeometry: function(settings) {\r\n return this.getLayoutManager().getRenderingStrategyInstance().getAppointmentGeometry(settings)\r\n },\r\n isAllDay: function(appointmentData) {\r\n return this.getLayoutManager().getRenderingStrategyInstance().isAllDay(appointmentData)\r\n },\r\n getDeltaTime: function(e, initialSize, itemData) {\r\n return this.getLayoutManager().getRenderingStrategyInstance().getDeltaTime(e, initialSize, itemData)\r\n },\r\n getDropDownAppointmentWidth: function(isAllDay) {\r\n return this.getLayoutManager().getRenderingStrategyInstance().getDropDownAppointmentWidth(this._getViewCountConfig().intervalCount, isAllDay)\r\n },\r\n getDropDownAppointmentHeight: function() {\r\n return this.getLayoutManager().getRenderingStrategyInstance().getDropDownAppointmentHeight()\r\n },\r\n getCellWidth: function() {\r\n return this.getWorkSpace().getCellWidth()\r\n },\r\n getCellHeight: function() {\r\n return this.getWorkSpace().getCellHeight()\r\n },\r\n getMaxAppointmentCountPerCellByType: function(isAllDay) {\r\n return this.getRenderingStrategyInstance()._getMaxAppointmentCountPerCellByType(isAllDay)\r\n },\r\n needCorrectAppointmentDates: function() {\r\n return this.getRenderingStrategyInstance().needCorrectAppointmentDates()\r\n },\r\n getRenderingStrategyDirection: function() {\r\n return this.getRenderingStrategyInstance().getDirection()\r\n },\r\n updateAppointmentEndDate: function(options) {\r\n var endDate = options.endDate;\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: function(options) {\r\n this._compactAppointmentsHelper.render(options)\r\n },\r\n clearCompactAppointments: function() {\r\n this._compactAppointmentsHelper.clear()\r\n },\r\n supportCompactDropDownAppointments: function() {\r\n return this.getLayoutManager().getRenderingStrategyInstance().supportCompactDropDownAppointments()\r\n },\r\n getGroupCount: function() {\r\n return this._workSpace._getGroupCount()\r\n },\r\n mapAppointmentFields: function(config) {\r\n var itemData = config.itemData,\r\n itemElement = config.itemElement,\r\n targetedAppointment = config.targetedAppointment;\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: function(day, appointment, trimTime) {\r\n return this.dayHasAppointment(day, appointment, trimTime)\r\n },\r\n getLayoutManager: function() {\r\n return this._layoutManager\r\n },\r\n getAgendaVerticalStepHeight: function() {\r\n return this.getWorkSpace().getAgendaVerticalStepHeight()\r\n },\r\n getAgendaDuration: function() {\r\n return this._getCurrentViewOption(\"agendaDuration\")\r\n },\r\n getStartViewDate: function() {\r\n return this.getStartViewDate()\r\n },\r\n getEndViewDate: function() {\r\n return this.getEndViewDate()\r\n },\r\n forceMaxAppointmentPerCell: function() {\r\n return this.forceMaxAppointmentPerCell()\r\n },\r\n onAgendaReady: function(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(_classes.AGENDA_LAST_IN_DATE_APPOINTMENT_CLASS);\r\n total += count\r\n };\r\n for (var i = 0; i < rows.length; i++) {\r\n (0, _iterator.each)(rows[i], applyClass)\r\n }\r\n },\r\n getTimezone: function() {\r\n return this._getTimezoneOffsetByOption()\r\n },\r\n getTargetedAppointmentData: function(appointment, element) {\r\n return this.getTargetedAppointment(appointment, element)\r\n },\r\n getEndDayHour: function() {\r\n return this._workSpace.option(\"endDayHour\") || this.option(\"endDayHour\")\r\n },\r\n getStartDayHour: function() {\r\n return this._workSpace.option(\"startDayHour\") || this.option(\"startDayHour\")\r\n },\r\n isAdaptive: function() {\r\n return this.option(\"adaptivityEnabled\")\r\n },\r\n removeDroppableCellClass: function() {\r\n this._workSpace.removeDroppableCellClass()\r\n }\r\n};\r\nvar _default = subscribes;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/scheduler/table_creator.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _dom_adapter = _interopRequireDefault(require(\"../../core/dom_adapter\"));\r\nvar _element_data = require(\"../../core/element_data\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _element = require(\"../../core/element\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\nvar ROW_SELECTOR = \"tr\";\r\nvar SchedulerTableCreator = function() {\r\n function SchedulerTableCreator() {\r\n this.VERTICAL = \"vertical\";\r\n this.HORIZONTAL = \"horizontal\"\r\n }\r\n var _proto = SchedulerTableCreator.prototype;\r\n _proto.insertAllDayRow = function(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 = (0, _renderer.default)(_dom_adapter.default.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 _proto.makeTable = function(options) {\r\n var tableBody = _dom_adapter.default.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 allDayElements = options.allDayElements;\r\n var groupIndex = options.groupIndex;\r\n var rowCount = options.rowCount;\r\n (0, _renderer.default)(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 = _dom_adapter.default.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 _options$setAdditiona;\r\n var td = _dom_adapter.default.createElement(\"td\");\r\n row.appendChild(td);\r\n if (options.cellClass) {\r\n if ((0, _type.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 && (0, _element_data.data)(td, dataKey, dataValue)\r\n }\r\n null === (_options$setAdditiona = options.setAdditionalClasses) || void 0 === _options$setAdditiona ? void 0 : _options$setAdditiona.call(options, (0, _renderer.default)(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: (0, _element.getPublicElement)((0, _renderer.default)(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 (0, _renderer.default)(\"<div>\").text(options.getCellText(rowIndex, columnIndex)).addClass(options.getCellTextClass).appendTo((0, _renderer.default)(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 _proto.makeGroupedTable = function(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 _proto.makeGroupedTableFromJSON = function(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 groupTableClass = config.groupTableClass;\r\n var groupRowClass = config.groupRowClass;\r\n var groupCellClass = config.groupCellClass;\r\n var groupCellCustomContent = config.groupCellCustomContent;\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: _dom_adapter.default.createElement(cellTag),\r\n childCount: childCount\r\n };\r\n if (groupCellClass) {\r\n cell.element.className = groupCellClass\r\n }\r\n var cellText = _dom_adapter.default.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 = _dom_adapter.default.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((function(cells) {\r\n var row = _dom_adapter.default.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((function(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 _proto._makeFlexGroupedRowCells = function(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 items = group.items;\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 = (0, _renderer.default)(\"<div>\");\r\n var cell = {};\r\n if (cellTemplate && cellTemplate.render) {\r\n var templateOptions = {\r\n model: items[j],\r\n container: (0, _element.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 = (0, _renderer.default)(\"<div>\").append($container)\r\n }\r\n var cssClass = (0, _type.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 _proto._makeVerticalGroupedRows = function(groups, cssClasses, cellTemplate) {\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((0, _renderer.default)(\"<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: (0, _renderer.default)(\"<div>\").addClass(\"dx-scheduler-group-flex-container\").append(rows),\r\n cellTemplates: cellTemplates\r\n }\r\n };\r\n _proto._makeHorizontalGroupedRows = function(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((0, _renderer.default)(\"<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 _proto._makeGroupedRowCells = function(group, repeatCount, cssClasses, cellTemplate, repeatByDate) {\r\n repeatByDate = repeatByDate || 1;\r\n repeatCount *= repeatByDate;\r\n var cells = [];\r\n var items = group.items;\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 = (0, _renderer.default)(\"<div>\");\r\n var cell = {};\r\n if (cellTemplate && cellTemplate.render) {\r\n var templateOptions = {\r\n model: items[j],\r\n container: (0, _element.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 = (0, _renderer.default)(\"<div>\").append($container)\r\n }\r\n $container.addClass(cssClasses.groupHeaderContentClass);\r\n var cssClass = void 0;\r\n if ((0, _type.isFunction)(cssClasses.groupHeaderClass)) {\r\n cssClass = cssClasses.groupHeaderClass(j)\r\n } else {\r\n cssClass = cssClasses.groupHeaderClass\r\n }\r\n cell.element = (0, _renderer.default)(\"<th>\").addClass(cssClass).append($container);\r\n cells.push(cell)\r\n }\r\n }\r\n return cells\r\n };\r\n return SchedulerTableCreator\r\n}();\r\nvar _default = {\r\n tableCreator: new SchedulerTableCreator\r\n};\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/scheduler/timezones/timezones_data.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _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\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/scheduler/timezones/utils.timezones_data.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _query = _interopRequireDefault(require(\"../../../data/query\"));\r\nvar _errors = _interopRequireDefault(require(\"../../../core/errors\"));\r\nvar _timezones_data = _interopRequireDefault(require(\"./timezones_data\"));\r\nvar _math = require(\"../../../core/utils/math\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar getConvertedUntils = function(value) {\r\n return value.split(\"|\").map((function(until) {\r\n if (\"Infinity\" === until) {\r\n return null\r\n }\r\n return 1e3 * parseInt(until, 36)\r\n }))\r\n};\r\nvar parseTimezone = function(timeZoneConfig) {\r\n var offsets = timeZoneConfig.offsets;\r\n var offsetIndices = timeZoneConfig.offsetIndices;\r\n var untils = timeZoneConfig.untils;\r\n var offsetList = offsets.split(\"|\").map((function(value) {\r\n return parseInt(value)\r\n }));\r\n var offsetIndexList = offsetIndices.split(\"\").map((function(value) {\r\n return parseInt(value)\r\n }));\r\n var dateList = getConvertedUntils(untils).map((accumulator = 0, function(value) {\r\n return accumulator += value\r\n }));\r\n var accumulator;\r\n return {\r\n offsetList: offsetList,\r\n offsetIndexList: offsetIndexList,\r\n dateList: dateList\r\n }\r\n};\r\nvar TimeZoneCache = function() {\r\n function TimeZoneCache() {\r\n this.map = new Map\r\n }\r\n var _proto = TimeZoneCache.prototype;\r\n _proto.tryGet = function(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 return TimeZoneCache\r\n}();\r\nvar tzCache = new TimeZoneCache;\r\nvar timeZoneDataUtils = {\r\n _tzCache: tzCache,\r\n _timeZones: _timezones_data.default.zones,\r\n getDisplayedTimeZones: function(timestamp) {\r\n var _this = this;\r\n var timeZones = this._timeZones.map((function(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 (0, _query.default)(timeZones).sortBy(\"offset\").toArray()\r\n },\r\n formatOffset: function(offset) {\r\n var hours = Math.floor(offset);\r\n var minutesInDecimal = offset - hours;\r\n var signString = (0, _math.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: function(id) {\r\n return id.split(\"/\").join(\" - \").split(\"_\").join(\" \")\r\n },\r\n getTimezoneById: function(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.default.log(\"W0009\", id);\r\n return\r\n },\r\n getTimeZoneOffsetById: function(id, timestamp) {\r\n var timeZoneInfo = tzCache.tryGet(id);\r\n return timeZoneInfo ? this.getUtcOffset(timeZoneInfo, timestamp) : void 0\r\n },\r\n getTimeZoneDeclarationTuple: function(id, year) {\r\n var timeZoneInfo = tzCache.tryGet(id);\r\n return timeZoneInfo ? this.getTimeZoneDeclarationTupleCore(timeZoneInfo, year) : []\r\n },\r\n getTimeZoneDeclarationTupleCore: function(timeZoneInfo, year) {\r\n var offsetList = timeZoneInfo.offsetList;\r\n var offsetIndexList = timeZoneInfo.offsetIndexList;\r\n var dateList = timeZoneInfo.dateList;\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: function(timeZoneInfo, dateTimeStamp) {\r\n var offsetList = timeZoneInfo.offsetList;\r\n var offsetIndexList = timeZoneInfo.offsetIndexList;\r\n var dateList = timeZoneInfo.dateList;\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\nvar _default = timeZoneDataUtils;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/scheduler/tooltip_strategies/desktopTooltipStrategy.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.DesktopTooltipStrategy = void 0;\r\nvar _tooltipStrategyBase = require(\"./tooltipStrategyBase\");\r\nvar _tooltip = _interopRequireDefault(require(\"../../tooltip\"));\r\nvar _support = require(\"../../../core/utils/support\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar APPOINTMENT_TOOLTIP_WRAPPER_CLASS = \"dx-scheduler-appointment-tooltip-wrapper\";\r\nvar MAX_TOOLTIP_HEIGHT = 200;\r\nvar DesktopTooltipStrategy = function(_TooltipStrategyBase) {\r\n _inheritsLoose(DesktopTooltipStrategy, _TooltipStrategyBase);\r\n\r\n function DesktopTooltipStrategy() {\r\n return _TooltipStrategyBase.apply(this, arguments) || this\r\n }\r\n var _proto = DesktopTooltipStrategy.prototype;\r\n _proto._prepareBeforeVisibleChanged = function(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 _proto._getBoundary = function(dataList) {\r\n return this._options.isAppointmentInAllDayPanel(dataList[0].appointment) ? this._options.container : this._options.getScrollableContainer()\r\n };\r\n _proto._onShown = function() {\r\n _TooltipStrategyBase.prototype._onShown.call(this);\r\n if (this._extraOptions.isButtonClick) {\r\n this._list.focus();\r\n this._list.option(\"focusedElement\", null)\r\n }\r\n };\r\n _proto._createListOption = function(target, dataList) {\r\n var result = _TooltipStrategyBase.prototype._createListOption.call(this, target, dataList);\r\n result.showScrollbar = _support.touch ? \"always\" : \"onHover\";\r\n return result\r\n };\r\n _proto._createTooltip = function(target, dataList) {\r\n var tooltip = this._createTooltipElement(APPOINTMENT_TOOLTIP_WRAPPER_CLASS);\r\n return this._options.createComponent(tooltip, _tooltip.default, {\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 _proto._onListRender = function(e) {\r\n return this._extraOptions.dragBehavior && this._extraOptions.dragBehavior(e)\r\n };\r\n return DesktopTooltipStrategy\r\n}(_tooltipStrategyBase.TooltipStrategyBase);\r\nexports.DesktopTooltipStrategy = DesktopTooltipStrategy;\r\n","/**\r\n * DevExtreme (cjs/ui/scheduler/tooltip_strategies/mobileTooltipStrategy.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.MobileTooltipStrategy = void 0;\r\nvar _size = require(\"../../../core/utils/size\");\r\nvar _ui = _interopRequireDefault(require(\"../../overlay/ui.overlay\"));\r\nvar _tooltipStrategyBase = require(\"./tooltipStrategyBase\");\r\nvar _window = require(\"../../../core/utils/window\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\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: (0, _window.getWindow)()\r\n }\r\n },\r\n to: {\r\n position: {\r\n my: \"center\",\r\n at: \"center\",\r\n of: (0, _window.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: (0, _window.getWindow)()\r\n }\r\n },\r\n from: {\r\n position: {\r\n my: \"center\",\r\n at: \"center\",\r\n of: (0, _window.getWindow)()\r\n }\r\n }\r\n }\r\n};\r\nvar createPhoneDeviceConfig = function(listHeight) {\r\n return {\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: (0, _window.getWindow)()\r\n }\r\n }\r\n};\r\nvar createTabletDeviceConfig = function(listHeight) {\r\n var currentMaxHeight = (0, _size.getHeight)((0, _window.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: (0, _window.getWindow)()\r\n }\r\n }\r\n};\r\nvar MobileTooltipStrategy = function(_TooltipStrategyBase) {\r\n _inheritsLoose(MobileTooltipStrategy, _TooltipStrategyBase);\r\n\r\n function MobileTooltipStrategy() {\r\n return _TooltipStrategyBase.apply(this, arguments) || this\r\n }\r\n var _proto = MobileTooltipStrategy.prototype;\r\n _proto._shouldUseTarget = function() {\r\n return false\r\n };\r\n _proto._onShowing = function() {\r\n var isTabletWidth = (0, _size.getWidth)((0, _window.getWindow)()) > 700;\r\n this._tooltip.option(\"height\", MAX_HEIGHT.DEFAULT);\r\n var listHeight = (0, _size.getOuterHeight)(this._list.$element());\r\n this._tooltip.option(isTabletWidth ? createTabletDeviceConfig(listHeight) : createPhoneDeviceConfig(listHeight))\r\n };\r\n _proto._createTooltip = function(target, dataList) {\r\n var _this = this;\r\n var element = this._createTooltipElement(SLIDE_PANEL_CLASS_NAME);\r\n return this._options.createComponent(element, _ui.default, {\r\n target: (0, _window.getWindow)(),\r\n hideOnOutsideClick: true,\r\n animation: animationConfig,\r\n onShowing: function() {\r\n return _this._onShowing()\r\n },\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 return MobileTooltipStrategy\r\n}(_tooltipStrategyBase.TooltipStrategyBase);\r\nexports.MobileTooltipStrategy = MobileTooltipStrategy;\r\n","/**\r\n * DevExtreme (cjs/ui/scheduler/tooltip_strategies/tooltipStrategyBase.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.TooltipStrategyBase = void 0;\r\nvar _button = _interopRequireDefault(require(\"../../button\"));\r\nvar _function_template = require(\"../../../core/templates/function_template\");\r\nvar _renderer = _interopRequireDefault(require(\"../../../core/renderer\"));\r\nvar _uiList = _interopRequireDefault(require(\"../../list/ui.list.edit\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\n\r\nfunction _defineProperty(obj, key, value) {\r\n key = _toPropertyKey(key);\r\n if (key in obj) {\r\n Object.defineProperty(obj, key, {\r\n value: value,\r\n enumerable: true,\r\n configurable: true,\r\n writable: true\r\n })\r\n } else {\r\n obj[key] = value\r\n }\r\n return obj\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\nvar TOOLTIP_APPOINTMENT_ITEM = \"dx-tooltip-appointment-item\";\r\nvar TOOLTIP_APPOINTMENT_ITEM_CONTENT = TOOLTIP_APPOINTMENT_ITEM + \"-content\";\r\nvar TOOLTIP_APPOINTMENT_ITEM_CONTENT_SUBJECT = TOOLTIP_APPOINTMENT_ITEM + \"-content-subject\";\r\nvar TOOLTIP_APPOINTMENT_ITEM_CONTENT_DATE = TOOLTIP_APPOINTMENT_ITEM + \"-content-date\";\r\nvar TOOLTIP_APPOINTMENT_ITEM_MARKER = TOOLTIP_APPOINTMENT_ITEM + \"-marker\";\r\nvar TOOLTIP_APPOINTMENT_ITEM_MARKER_BODY = TOOLTIP_APPOINTMENT_ITEM + \"-marker-body\";\r\nvar TOOLTIP_APPOINTMENT_ITEM_DELETE_BUTTON_CONTAINER = TOOLTIP_APPOINTMENT_ITEM + \"-delete-button-container\";\r\nvar TOOLTIP_APPOINTMENT_ITEM_DELETE_BUTTON = TOOLTIP_APPOINTMENT_ITEM + \"-delete-button\";\r\nvar TooltipStrategyBase = function() {\r\n function TooltipStrategyBase(options) {\r\n this._tooltip = null;\r\n this._options = options;\r\n this._extraOptions = null\r\n }\r\n var _proto = TooltipStrategyBase.prototype;\r\n _proto.show = function(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 _proto._showCore = function(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 _proto._prepareBeforeVisibleChanged = function(dataList) {};\r\n _proto._getContentTemplate = function(dataList) {\r\n var _this = this;\r\n return function(container) {\r\n var listElement = (0, _renderer.default)(\"<div>\");\r\n (0, _renderer.default)(container).append(listElement);\r\n _this._list = _this._createList(listElement, dataList)\r\n }\r\n };\r\n _proto.isAlreadyShown = function(target) {\r\n if (this._tooltip && this._tooltip.option(\"visible\")) {\r\n return this._tooltip.option(\"target\")[0] === target[0]\r\n }\r\n };\r\n _proto._onShown = function() {\r\n this._list.option(\"focusStateEnabled\", this._extraOptions.focusStateEnabled)\r\n };\r\n _proto.dispose = function() {};\r\n _proto.hide = function() {\r\n if (this._tooltip) {\r\n this._tooltip.option(\"visible\", false)\r\n }\r\n };\r\n _proto._shouldUseTarget = function() {\r\n return true\r\n };\r\n _proto._createTooltip = function() {};\r\n _proto._canShowTooltip = function(dataList) {\r\n if (!dataList.length) {\r\n return false\r\n }\r\n return true\r\n };\r\n _proto._createListOption = function(dataList) {\r\n var _this2 = this;\r\n return {\r\n dataSource: dataList,\r\n onContentReady: this._onListRender.bind(this),\r\n onItemClick: function(e) {\r\n return _this2._onListItemClick(e)\r\n },\r\n itemTemplate: function(item, index) {\r\n return _this2._renderTemplate(item.appointment, item.targetedAppointment, index, item.color)\r\n },\r\n _swipeEnabled: false,\r\n pageLoadMode: \"scrollBottom\"\r\n }\r\n };\r\n _proto._onListRender = function() {};\r\n _proto._createTooltipElement = function(wrapperClass) {\r\n return (0, _renderer.default)(\"<div>\").appendTo(this._options.container).addClass(wrapperClass)\r\n };\r\n _proto._createList = function(listElement, dataList) {\r\n return this._options.createComponent(listElement, _uiList.default, this._createListOption(dataList))\r\n };\r\n _proto._renderTemplate = function(appointment, targetedAppointment, index, color) {\r\n var itemListContent = this._createItemListContent(appointment, targetedAppointment, color);\r\n this._options.addDefaultTemplates(_defineProperty({}, this._getItemListTemplateName(), new _function_template.FunctionTemplate((function(options) {\r\n var $container = (0, _renderer.default)(options.container);\r\n $container.append(itemListContent);\r\n return $container\r\n }))));\r\n var template = this._options.getAppointmentTemplate(this._getItemListTemplateName() + \"Template\");\r\n return this._createFunctionTemplate(template, appointment, targetedAppointment, index)\r\n };\r\n _proto._createFunctionTemplate = function(template, appointmentData, targetedAppointmentData, index) {\r\n var isButtonClicked = !!this._extraOptions.isButtonClick;\r\n var isEmptyDropDownAppointmentTemplate = this._isEmptyDropDownAppointmentTemplate();\r\n return new _function_template.FunctionTemplate((function(options) {\r\n return 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 };\r\n _proto._getItemListTemplateName = function() {\r\n return this._isEmptyDropDownAppointmentTemplate() ? \"appointmentTooltip\" : \"dropDownAppointment\"\r\n };\r\n _proto._isEmptyDropDownAppointmentTemplate = function() {\r\n return !this._extraOptions.dropDownAppointmentTemplate || \"dropDownAppointment\" === this._extraOptions.dropDownAppointmentTemplate\r\n };\r\n _proto._onListItemClick = function(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 _proto._createItemListContent = function(appointment, targetedAppointment, color) {\r\n var editing = this._extraOptions.editing;\r\n var $itemElement = (0, _renderer.default)(\"<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 _proto._createItemListMarker = function(color) {\r\n var $marker = (0, _renderer.default)(\"<div>\").addClass(TOOLTIP_APPOINTMENT_ITEM_MARKER);\r\n var $markerBody = (0, _renderer.default)(\"<div>\").addClass(TOOLTIP_APPOINTMENT_ITEM_MARKER_BODY);\r\n $marker.append($markerBody);\r\n color && color.done((function(value) {\r\n return $markerBody.css(\"background\", value)\r\n }));\r\n return $marker\r\n };\r\n _proto._createItemListInfo = function(object) {\r\n var result = (0, _renderer.default)(\"<div>\").addClass(TOOLTIP_APPOINTMENT_ITEM_CONTENT);\r\n var $title = (0, _renderer.default)(\"<div>\").addClass(TOOLTIP_APPOINTMENT_ITEM_CONTENT_SUBJECT).text(object.text);\r\n var $date = (0, _renderer.default)(\"<div>\").addClass(TOOLTIP_APPOINTMENT_ITEM_CONTENT_DATE).text(object.formatDate);\r\n return result.append($title).append($date)\r\n };\r\n _proto._createDeleteButton = function(appointment, targetedAppointment) {\r\n var _this3 = this;\r\n var $container = (0, _renderer.default)(\"<div>\").addClass(TOOLTIP_APPOINTMENT_ITEM_DELETE_BUTTON_CONTAINER);\r\n var $deleteButton = (0, _renderer.default)(\"<div>\").addClass(TOOLTIP_APPOINTMENT_ITEM_DELETE_BUTTON);\r\n $container.append($deleteButton);\r\n this._options.createComponent($deleteButton, _button.default, {\r\n icon: \"trash\",\r\n stylingMode: \"text\",\r\n onClick: function(e) {\r\n _this3.hide();\r\n e.event.stopPropagation();\r\n _this3._options.checkAndDeleteAppointment(appointment, targetedAppointment)\r\n }\r\n });\r\n return $container\r\n };\r\n return TooltipStrategyBase\r\n}();\r\nexports.TooltipStrategyBase = TooltipStrategyBase;\r\n","/**\r\n * DevExtreme (cjs/ui/scheduler/ui.scheduler.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.default = void 0;\r\nvar _component_registrator = _interopRequireDefault(require(\"../../core/component_registrator\"));\r\nvar _config = _interopRequireDefault(require(\"../../core/config\"));\r\nvar _devices = _interopRequireDefault(require(\"../../core/devices\"));\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _bindable_template = require(\"../../core/templates/bindable_template\");\r\nvar _empty_template = require(\"../../core/templates/empty_template\");\r\nvar _callbacks = _interopRequireDefault(require(\"../../core/utils/callbacks\"));\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _data = require(\"../../core/utils/data\");\r\nvar _position = require(\"../../core/utils/position\");\r\nvar _date = _interopRequireDefault(require(\"../../core/utils/date\"));\r\nvar _date_serialization = _interopRequireDefault(require(\"../../core/utils/date_serialization\"));\r\nvar _deferred = require(\"../../core/utils/deferred\");\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _window = require(\"../../core/utils/window\");\r\nvar _data_helper = _interopRequireDefault(require(\"../../data_helper\"));\r\nvar _visibility_change = require(\"../../events/visibility_change\");\r\nvar _date2 = _interopRequireDefault(require(\"../../localization/date\"));\r\nvar _message = _interopRequireDefault(require(\"../../localization/message\"));\r\nvar _dialog = require(\"../dialog\");\r\nvar _themes = require(\"../themes\");\r\nvar _ui = _interopRequireDefault(require(\"../widget/ui.errors\"));\r\nvar _ui2 = _interopRequireDefault(require(\"../widget/ui.widget\"));\r\nvar _popup = require(\"./appointmentPopup/popup\");\r\nvar _form = require(\"./appointmentPopup/form\");\r\nvar _compactAppointmentsHelper = require(\"./compactAppointmentsHelper\");\r\nvar _desktopTooltipStrategy = require(\"./tooltip_strategies/desktopTooltipStrategy\");\r\nvar _mobileTooltipStrategy = require(\"./tooltip_strategies/mobileTooltipStrategy\");\r\nvar _loading = require(\"./loading\");\r\nvar _appointmentCollection = _interopRequireDefault(require(\"./appointments/appointmentCollection\"));\r\nvar _appointments = _interopRequireDefault(require(\"./appointments.layout_manager\"));\r\nvar _header = require(\"./header/header\");\r\nvar _subscribes = _interopRequireDefault(require(\"./subscribes\"));\r\nvar _recurrence = require(\"./recurrence\");\r\nvar _utils = _interopRequireDefault(require(\"./utils.timeZone\"));\r\nvar _uiScheduler = _interopRequireDefault(require(\"./workspaces/ui.scheduler.agenda\"));\r\nvar _uiScheduler2 = _interopRequireDefault(require(\"./workspaces/ui.scheduler.timeline_day\"));\r\nvar _uiScheduler3 = _interopRequireDefault(require(\"./workspaces/ui.scheduler.timeline_month\"));\r\nvar _uiScheduler4 = _interopRequireDefault(require(\"./workspaces/ui.scheduler.timeline_week\"));\r\nvar _uiScheduler5 = _interopRequireDefault(require(\"./workspaces/ui.scheduler.timeline_work_week\"));\r\nvar _uiScheduler6 = _interopRequireDefault(require(\"./workspaces/ui.scheduler.work_space_day\"));\r\nvar _uiScheduler7 = _interopRequireDefault(require(\"./workspaces/ui.scheduler.work_space_month\"));\r\nvar _uiScheduler8 = _interopRequireDefault(require(\"./workspaces/ui.scheduler.work_space_week\"));\r\nvar _uiScheduler9 = _interopRequireDefault(require(\"./workspaces/ui.scheduler.work_space_work_week\"));\r\nvar _appointmentAdapter = require(\"./appointmentAdapter\");\r\nvar _dataStructures = require(\"./dataStructures\");\r\nvar _utils2 = require(\"./utils\");\r\nvar _utils3 = require(\"./resources/utils\");\r\nvar _expressionUtils = require(\"./expressionUtils\");\r\nvar _base = require(\"../../renovation/ui/scheduler/view_model/to_test/views/utils/base\");\r\nvar _render2 = require(\"./appointments/render\");\r\nvar _agendaResourceProcessor = require(\"./resources/agendaResourceProcessor\");\r\nvar _appointmentDataProvider = require(\"./appointments/dataProvider/appointmentDataProvider\");\r\nvar _getAppointmentTakesAllDay = require(\"../../renovation/ui/scheduler/appointment/utils/getAppointmentTakesAllDay\");\r\nvar _data2 = require(\"../../renovation/ui/scheduler/utils/data\");\r\nvar _views = require(\"../../renovation/ui/scheduler/model/views\");\r\nvar _createTimeZoneCalculator = require(\"../../renovation/ui/scheduler/timeZoneCalculator/createTimeZoneCalculator\");\r\nvar _excludeFromRecurrence = require(\"../../renovation/ui/scheduler/utils/recurrence/excludeFromRecurrence\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\n\r\nfunction _defineProperty(obj, key, value) {\r\n key = _toPropertyKey(key);\r\n if (key in obj) {\r\n Object.defineProperty(obj, key, {\r\n value: value,\r\n enumerable: true,\r\n configurable: true,\r\n writable: true\r\n })\r\n } else {\r\n obj[key] = value\r\n }\r\n return obj\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\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 = 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: _uiScheduler6.default,\r\n renderingStrategy: \"vertical\"\r\n },\r\n week: {\r\n workSpace: _uiScheduler8.default,\r\n renderingStrategy: \"vertical\"\r\n },\r\n workWeek: {\r\n workSpace: _uiScheduler9.default,\r\n renderingStrategy: \"vertical\"\r\n },\r\n month: {\r\n workSpace: _uiScheduler7.default,\r\n renderingStrategy: \"horizontalMonth\"\r\n },\r\n timelineDay: {\r\n workSpace: _uiScheduler2.default,\r\n renderingStrategy: \"horizontal\"\r\n },\r\n timelineWeek: {\r\n workSpace: _uiScheduler4.default,\r\n renderingStrategy: \"horizontal\"\r\n },\r\n timelineWorkWeek: {\r\n workSpace: _uiScheduler5.default,\r\n renderingStrategy: \"horizontal\"\r\n },\r\n timelineMonth: {\r\n workSpace: _uiScheduler3.default,\r\n renderingStrategy: \"horizontalMonthLine\"\r\n },\r\n agenda: {\r\n workSpace: _uiScheduler.default,\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\nvar Scheduler = function(_Widget) {\r\n _inheritsLoose(Scheduler, _Widget);\r\n\r\n function Scheduler() {\r\n return _Widget.apply(this, arguments) || this\r\n }\r\n var _proto = Scheduler.prototype;\r\n _proto._getDefaultOptions = function() {\r\n var defaultOptions = (0, _extend.extend)(_Widget.prototype._getDefaultOptions.call(this), {\r\n views: [\"day\", \"week\"],\r\n currentView: \"day\",\r\n currentDate: _date.default.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: _message.default.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: _message.default.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 (0, _extend.extend)(true, defaultOptions, {\r\n integrationOptions: {\r\n useDeferUpdateForTemplates: false\r\n }\r\n })\r\n };\r\n _proto._setDeprecatedOptions = function() {\r\n _Widget.prototype._setDeprecatedOptions.call(this);\r\n (0, _extend.extend)(this._deprecatedOptions, {\r\n dropDownAppointmentTemplate: {\r\n since: \"19.2\",\r\n message: \"appointmentTooltipTemplate\"\r\n }\r\n })\r\n };\r\n _proto._defaultOptionsRules = function() {\r\n return _Widget.prototype._defaultOptionsRules.call(this).concat([{\r\n device: function() {\r\n return \"desktop\" === _devices.default.real().deviceType && !_devices.default.isSimulator()\r\n },\r\n options: {\r\n focusStateEnabled: true\r\n }\r\n }, {\r\n device: function() {\r\n return !_devices.default.current().generic\r\n },\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: function() {\r\n return (0, _themes.isMaterial)()\r\n },\r\n options: {\r\n useDropDownViewSwitcher: true,\r\n dateCellTemplate: function(data, index, element) {\r\n var text = data.text;\r\n text.split(\" \").forEach((function(text, index) {\r\n var span = (0, _renderer.default)(\"<span>\").text(text).addClass(\"dx-scheduler-header-panel-cell-date\");\r\n (0, _renderer.default)(element).append(span);\r\n if (!index) {\r\n (0, _renderer.default)(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 _proto._postponeDataSourceLoading = function(promise) {\r\n this.postponedOperations.add(\"_reloadDataSource\", this._reloadDataSource.bind(this), promise)\r\n };\r\n _proto._postponeResourceLoading = function() {\r\n var _this = this;\r\n var whenLoaded = this.postponedOperations.add(\"loadResources\", (function() {\r\n var groups = _this._getCurrentViewOption(\"groups\");\r\n return (0, _utils3.loadResources)(groups, _this.option(\"resources\"), _this.option(\"resourceLoaderMap\"))\r\n }));\r\n var resolveCallbacks = new _deferred.Deferred;\r\n whenLoaded.done((function(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 _proto._optionChanged = function(args) {\r\n var _this$_header, _this$_header2, _this$_header4, _this2 = this;\r\n var value = args.value;\r\n var name = args.name;\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 = _date.default.trimTime(new Date(value));\r\n this.option(\"selectedCellData\", []);\r\n this._workSpace.option(name, new Date(value));\r\n null === (_this$_header = this._header) || void 0 === _this$_header ? void 0 : _this$_header.option(name, new Date(value));\r\n null === (_this$_header2 = this._header) || void 0 === _this$_header2 ? void 0 : _this$_header2.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((function(resources) {\r\n _this2._filterAppointmentsByDate();\r\n _this2._updateOption(\"workSpace\", \"showAllDayPanel\", _this2.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 var _this$_header3;\r\n null === (_this$_header3 = this._header) || void 0 === _this$_header3 ? void 0 : _this$_header3.option(name, value)\r\n }\r\n break;\r\n case \"useDropDownViewSwitcher\":\r\n null === (_this$_header4 = this._header) || void 0 === _this$_header4 ? void 0 : _this$_header4.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((function(resources) {\r\n var _this2$_header;\r\n _this2._refreshWorkSpace(resources);\r\n null === (_this2$_header = _this2._header) || void 0 === _this2$_header ? void 0 : _this2$_header.option(_this2._headerConfig());\r\n _this2._filterAppointmentsByDate();\r\n _this2._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((function(resources) {\r\n _this2._refreshWorkSpace(resources);\r\n _this2._filterAppointmentsByDate()\r\n }));\r\n break;\r\n case \"resources\":\r\n this._dataAccessors.resources = (0, _utils3.createExpressions)(this.option(\"resources\"));\r\n this.agendaResourceProcessor.initializeState(this.option(\"resources\"));\r\n this.updateInstances();\r\n this._postponeResourceLoading().done((function(resources) {\r\n _this2._appointments.option(\"items\", []);\r\n _this2._refreshWorkSpace(resources);\r\n _this2._filterAppointmentsByDate();\r\n _this2._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 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((function(resources) {\r\n _this2._appointments.option(\"items\", []);\r\n _this2._refreshWorkSpace(resources);\r\n if (_this2._readyToRenderAppointments) {\r\n _this2._appointments.option(\"items\", _this2._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 _Widget.prototype._optionChanged.call(this, 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 _Widget.prototype._optionChanged.call(this, args);\r\n this._dimensionChanged(null, true);\r\n break;\r\n case \"height\":\r\n _Widget.prototype._optionChanged.call(this, 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._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 _Widget.prototype._optionChanged.call(this, args)\r\n }\r\n };\r\n _proto._dateOption = function(optionName) {\r\n var optionValue = this._getCurrentViewOption(optionName);\r\n return _date_serialization.default.deserializeDate(optionValue)\r\n };\r\n _proto._getSerializationFormat = function(optionName) {\r\n var value = this._getCurrentViewOption(optionName);\r\n if (\"number\" === typeof value) {\r\n return \"number\"\r\n }\r\n if (!(0, _type.isString)(value)) {\r\n return\r\n }\r\n return _date_serialization.default.getDateSerializationFormat(value)\r\n };\r\n _proto._bringEditingModeToAppointments = function(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 _proto._isAgenda = function() {\r\n return \"agenda\" === this.getLayoutManager().appointmentRenderingStrategyName\r\n };\r\n _proto._allowDragging = function() {\r\n return this._editing.allowDragging && !this._isAgenda()\r\n };\r\n _proto._allowResizing = function() {\r\n return this._editing.allowResizing && !this._isAgenda()\r\n };\r\n _proto._allowAllDayResizing = function() {\r\n return this._editing.allowResizing && this._supportAllDayResizing()\r\n };\r\n _proto._supportAllDayResizing = function() {\r\n return \"day\" !== this.currentViewType || this.currentView.intervalCount > 1\r\n };\r\n _proto._isAllDayExpanded = function() {\r\n return this.option(\"showAllDayPanel\") && this.appointmentDataProvider.hasAllDayAppointments(this.filteredItems, this.preparedItems)\r\n };\r\n _proto._getTimezoneOffsetByOption = function(date) {\r\n return _utils.default.calculateTimezoneByValue(this.option(\"timeZone\"), date)\r\n };\r\n _proto._filterAppointmentsByDate = function() {\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 _proto._reloadDataSource = function() {\r\n var result = new _deferred.Deferred;\r\n if (this._dataSource) {\r\n this._dataSource.load().done(function() {\r\n (0, _loading.hide)();\r\n this._fireContentReadyAction(result)\r\n }.bind(this)).fail((function() {\r\n (0, _loading.hide)();\r\n result.reject()\r\n }));\r\n this._dataSource.isLoading() && (0, _loading.show)({\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 _proto._fireContentReadyAction = function(result) {\r\n var contentReadyBase = _Widget.prototype._fireContentReadyAction.bind(this);\r\n var fireContentReady = function() {\r\n contentReadyBase();\r\n null === result || void 0 === result ? void 0 : result.resolve()\r\n };\r\n if (this._workSpaceRecalculation) {\r\n var _this$_workSpaceRecal;\r\n null === (_this$_workSpaceRecal = this._workSpaceRecalculation) || void 0 === _this$_workSpaceRecal ? void 0 : _this$_workSpaceRecal.done((function() {\r\n fireContentReady()\r\n }))\r\n } else {\r\n fireContentReady()\r\n }\r\n };\r\n _proto._dimensionChanged = function(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 _proto._clean = function() {\r\n this._cleanPopup();\r\n _Widget.prototype._clean.call(this)\r\n };\r\n _proto._toggleSmallClass = function() {\r\n var width = (0, _position.getBoundingRect)(this.$element().get(0)).width;\r\n this.$element().toggleClass(WIDGET_SMALL_CLASS, width < WIDGET_SMALL_WIDTH)\r\n };\r\n _proto._toggleAdaptiveClass = function() {\r\n this.$element().toggleClass(WIDGET_ADAPTIVE_CLASS, this.option(\"adaptivityEnabled\"))\r\n };\r\n _proto._visibilityChanged = function(visible) {\r\n visible && this._dimensionChanged(null, true)\r\n };\r\n _proto._dataSourceOptions = function() {\r\n return {\r\n paginate: false\r\n }\r\n };\r\n _proto._initAllDayPanel = function() {\r\n if (\"hidden\" === this.option(\"allDayPanelMode\")) {\r\n this.option(\"showAllDayPanel\", false)\r\n }\r\n };\r\n _proto._init = function() {\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 _Widget.prototype._init.call(this);\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.CompactAppointmentsHelper(this);\r\n this._asyncTemplatesTimers = [];\r\n this._dataSourceLoadedCallback = (0, _callbacks.default)();\r\n this._subscribes = _subscribes.default;\r\n this.agendaResourceProcessor = new _agendaResourceProcessor.AgendaResourceProcessor(this.option(\"resources\"))\r\n };\r\n _proto.createAppointmentDataProvider = function() {\r\n var _this$appointmentData, _this3 = this;\r\n null === (_this$appointmentData = this.appointmentDataProvider) || void 0 === _this$appointmentData ? void 0 : _this$appointmentData.destroy();\r\n this.appointmentDataProvider = new _appointmentDataProvider.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: function() {\r\n return _this3.option(\"loadedResources\")\r\n },\r\n getIsVirtualScrolling: function() {\r\n return _this3.isVirtualScrolling()\r\n },\r\n getSupportAllDayRow: function() {\r\n return _this3._workSpace.supportAllDayRow()\r\n },\r\n getViewType: function() {\r\n return _this3._workSpace.type\r\n },\r\n getViewDirection: function() {\r\n return _this3._workSpace.viewDirection\r\n },\r\n getDateRange: function() {\r\n return _this3._workSpace.getDateRange()\r\n },\r\n getGroupCount: function() {\r\n return _this3._workSpace._getGroupCount()\r\n },\r\n getViewDataProvider: function() {\r\n return _this3._workSpace.viewDataProvider\r\n }\r\n })\r\n };\r\n _proto.updateInstances = function() {\r\n this._timeZoneCalculator = null;\r\n if (this.getWorkSpace()) {\r\n this.createAppointmentDataProvider()\r\n }\r\n };\r\n _proto._customizeDataSourceLoadOptions = function() {\r\n var _this$_dataSource, _this4 = this;\r\n null === (_this$_dataSource = this._dataSource) || void 0 === _this$_dataSource ? void 0 : _this$_dataSource.on(\"customizeStoreLoadOptions\", (function(_ref) {\r\n var storeLoadOptions = _ref.storeLoadOptions;\r\n storeLoadOptions.startDate = _this4.getStartViewDate();\r\n storeLoadOptions.endDate = _this4.getEndViewDate()\r\n }))\r\n };\r\n _proto._initTemplates = function() {\r\n this._initAppointmentTemplate();\r\n this._templateManager.addDefaultTemplates({\r\n appointmentTooltip: new _empty_template.EmptyTemplate,\r\n dropDownAppointment: new _empty_template.EmptyTemplate\r\n });\r\n _Widget.prototype._initTemplates.call(this)\r\n };\r\n _proto._initAppointmentTemplate = function() {\r\n var _this5 = this;\r\n var expr = this._dataAccessors.expr;\r\n var createGetter = function(property) {\r\n return (0, _data.compileGetter)(\"appointmentData.\".concat(property))\r\n };\r\n var getDate = function(getter) {\r\n return function(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 };\r\n this._templateManager.addDefaultTemplates(_defineProperty({}, \"item\", new _bindable_template.BindableTemplate((function($container, data, model) {\r\n return _this5.getAppointmentsInstance()._renderAppointmentTemplate($container, data, model)\r\n }), [\"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 _proto._renderContent = function() {\r\n this._renderContentImpl()\r\n };\r\n _proto._updatePreparedItems = function(items) {\r\n this.preparedItems = (0, _data2.getPreparedDataItems)(items, this._dataAccessors, this._getCurrentViewOption(\"cellDuration\"), this.timeZoneCalculator)\r\n };\r\n _proto._dataSourceChangedHandler = function(result) {\r\n if (this._readyToRenderAppointments) {\r\n this._workSpaceRecalculation.done(function() {\r\n this._updatePreparedItems(result);\r\n this._renderAppointments();\r\n this.getWorkSpace().onDataSourceChanged(this.filteredItems)\r\n }.bind(this))\r\n }\r\n };\r\n _proto.isVirtualScrolling = function() {\r\n var _currentViewOptions$s;\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 === currentViewOptions || void 0 === currentViewOptions ? void 0 : null === (_currentViewOptions$s = currentViewOptions.scrolling) || void 0 === _currentViewOptions$s ? void 0 : _currentViewOptions$s.mode)\r\n };\r\n _proto._filterAppointments = function() {\r\n this.filteredItems = this.appointmentDataProvider.filter(this.preparedItems)\r\n };\r\n _proto._renderAppointments = function() {\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 (0, _render2.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 _proto._getAppointmentsToRepaint = function() {\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 _proto._initExpressions = function(fields) {\r\n this._dataAccessors = _utils2.utils.dataAccessors.create(fields, this._dataAccessors, (0, _config.default)().forceIsoDateParsing, this.option(\"dateSerializationFormat\"));\r\n this._dataAccessors.resources = (0, _utils3.createExpressions)(this.option(\"resources\"))\r\n };\r\n _proto._updateExpression = function(name, value) {\r\n var exprObj = {};\r\n exprObj[name.replace(\"Expr\", \"\")] = value;\r\n this._initExpressions(exprObj)\r\n };\r\n _proto.getResourceDataAccessors = function() {\r\n return this._dataAccessors.resources\r\n };\r\n _proto._initEditing = function() {\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 ((0, _type.isObject)(editing)) {\r\n this._editing = (0, _extend.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 _proto._isReadOnly = function() {\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 _proto._dispose = function() {\r\n var _this$_recurrenceDial;\r\n this._appointmentTooltip && this._appointmentTooltip.dispose();\r\n null === (_this$_recurrenceDial = this._recurrenceDialog) || void 0 === _this$_recurrenceDial ? void 0 : _this$_recurrenceDial.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 _Widget.prototype._dispose.call(this)\r\n };\r\n _proto._initActions = function() {\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 _proto._getAppointmentRenderedAction = function() {\r\n return this._createActionByOption(\"onAppointmentRendered\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n };\r\n _proto._renderFocusTarget = function() {\r\n return (0, _common.noop)()\r\n };\r\n _proto._initMarkup = function() {\r\n var _this6 = this;\r\n _Widget.prototype._initMarkup.call(this);\r\n this._validateDayHours();\r\n this._validateCellDuration();\r\n this._renderMainContainer();\r\n this._renderHeader();\r\n this._layoutManager = new _appointments.default(this);\r\n this._appointments = this._createComponent(\"<div>\", _appointmentCollection.default, this._appointmentsConfig());\r\n this._appointments.option(\"itemTemplate\", this._getAppointmentTemplate(\"appointmentTemplate\"));\r\n this._appointmentTooltip = new(this.option(\"adaptivityEnabled\") ? _mobileTooltipStrategy.MobileTooltipStrategy : _desktopTooltipStrategy.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 (0, _utils3.loadResources)(groups, this.option(\"resources\"), this.option(\"resourceLoaderMap\")).done((function(resources) {\r\n _this6.option(\"loadedResources\", resources);\r\n _this6._initMarkupCore(resources);\r\n _this6._reloadDataSource()\r\n }))\r\n }\r\n };\r\n _proto._createAppointmentPopupForm = function() {\r\n var _this$_appointmentPop;\r\n if (this._appointmentForm) {\r\n var _this$_appointmentFor;\r\n null === (_this$_appointmentFor = this._appointmentForm.form) || void 0 === _this$_appointmentFor ? void 0 : _this$_appointmentFor.dispose()\r\n }\r\n this._appointmentForm = this.createAppointmentForm();\r\n null === (_this$_appointmentPop = this._appointmentPopup) || void 0 === _this$_appointmentPop ? void 0 : _this$_appointmentPop.dispose();\r\n this._appointmentPopup = this.createAppointmentPopup(this._appointmentForm)\r\n };\r\n _proto._renderMainContainer = function() {\r\n this._mainContainer = (0, _renderer.default)(\"<div>\").addClass(\"dx-scheduler-container\");\r\n this.$element().append(this._mainContainer)\r\n };\r\n _proto.createAppointmentForm = function() {\r\n var _this7 = this;\r\n var scheduler = {\r\n createResourceEditorModel: function() {\r\n return (0, _utils3.createResourceEditorModel)(_this7.option(\"resources\"), _this7.option(\"loadedResources\"))\r\n },\r\n getDataAccessors: function() {\r\n return _this7._dataAccessors\r\n },\r\n createComponent: function(element, component, options) {\r\n return _this7._createComponent(element, component, options)\r\n },\r\n getEditingConfig: function() {\r\n return _this7._editing\r\n },\r\n getFirstDayOfWeek: function() {\r\n return _this7.option(\"firstDayOfWeek\")\r\n },\r\n getStartDayHour: function() {\r\n return _this7.option(\"startDayHour\")\r\n },\r\n getCalculatedEndDate: function(startDateWithStartHour) {\r\n return _this7._workSpace.calculateEndDate(startDateWithStartHour)\r\n },\r\n getTimeZoneCalculator: function() {\r\n return _this7.timeZoneCalculator\r\n }\r\n };\r\n return new _form.AppointmentForm(scheduler)\r\n };\r\n _proto.createAppointmentPopup = function(form) {\r\n var _this8 = this;\r\n var scheduler = {\r\n getElement: function() {\r\n return _this8.$element()\r\n },\r\n createComponent: function(element, component, options) {\r\n return _this8._createComponent(element, component, options)\r\n },\r\n focus: function() {\r\n return _this8.focus()\r\n },\r\n getResources: function() {\r\n return _this8.option(\"resources\")\r\n },\r\n getEditingConfig: function() {\r\n return _this8._editing\r\n },\r\n getTimeZoneCalculator: function() {\r\n return _this8.timeZoneCalculator\r\n },\r\n getDataAccessors: function() {\r\n return _this8._dataAccessors\r\n },\r\n getAppointmentFormOpening: function() {\r\n return _this8._actions.onAppointmentFormOpening\r\n },\r\n processActionResult: function(arg, canceled) {\r\n return _this8._processActionResult(arg, canceled)\r\n },\r\n addAppointment: function(appointment) {\r\n return _this8.addAppointment(appointment)\r\n },\r\n updateAppointment: function(sourceAppointment, updatedAppointment) {\r\n return _this8.updateAppointment(sourceAppointment, updatedAppointment)\r\n },\r\n updateScrollPosition: function(startDate, resourceItem, inAllDayRow) {\r\n _this8._workSpace.updateScrollPosition(startDate, resourceItem, inAllDayRow)\r\n }\r\n };\r\n return new _popup.AppointmentPopup(scheduler, form)\r\n };\r\n _proto._getAppointmentTooltipOptions = function() {\r\n var _this9 = this;\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: function(appointment, targetedAppointment, format) {\r\n return _this9.fire(\"getTextAndFormatDate\", appointment, targetedAppointment, format)\r\n },\r\n getAppointmentDisabled: function(appointment) {\r\n return (0, _appointmentAdapter.createAppointmentAdapter)(appointment, _this9._dataAccessors, _this9.timeZoneCalculator).disabled\r\n }\r\n }\r\n };\r\n _proto.checkAndDeleteAppointment = function(appointment, targetedAppointment) {\r\n var _this10 = this;\r\n var targetedAdapter = (0, _appointmentAdapter.createAppointmentAdapter)(targetedAppointment, this._dataAccessors, this.timeZoneCalculator);\r\n var deletingOptions = this.fireOnAppointmentDeleting(appointment, targetedAdapter);\r\n this._checkRecurringAppointment(appointment, targetedAppointment, targetedAdapter.startDate, (function() {\r\n _this10.processDeleteAppointment(appointment, deletingOptions)\r\n }), true)\r\n };\r\n _proto._getExtraAppointmentTooltipOptions = function() {\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 _proto.isAppointmentInAllDayPanel = function(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 _proto._initMarkupCore = function(resources) {\r\n var _this11 = this;\r\n this._readyToRenderAppointments = (0, _window.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((function() {\r\n var _this11$_workSpaceRec;\r\n return null === (_this11$_workSpaceRec = _this11._workSpaceRecalculation) || void 0 === _this11$_workSpaceRec ? void 0 : _this11$_workSpaceRec.resolve()\r\n }));\r\n this.createAppointmentDataProvider();\r\n this._filterAppointmentsByDate();\r\n this._validateKeyFieldIfAgendaExist()\r\n };\r\n _proto._isDataSourceLoaded = function() {\r\n return this._dataSource && this._dataSource.isLoaded()\r\n };\r\n _proto._render = function() {\r\n var _this$getWorkSpace;\r\n this._toggleSmallClass();\r\n this._toggleAdaptiveClass();\r\n null === (_this$getWorkSpace = this.getWorkSpace()) || void 0 === _this$getWorkSpace ? void 0 : _this$getWorkSpace.updateHeaderEmptyCellWidth();\r\n _Widget.prototype._render.call(this)\r\n };\r\n _proto._renderHeader = function() {\r\n if (0 !== this.option(\"toolbar\").length) {\r\n var $header = (0, _renderer.default)(\"<div>\").appendTo(this._mainContainer);\r\n this._header = this._createComponent($header, _header.SchedulerHeader, this._headerConfig())\r\n }\r\n };\r\n _proto._headerConfig = function() {\r\n var _this12 = this;\r\n var currentViewOptions = this._getCurrentViewOptions();\r\n var countConfig = this._getViewCountConfig();\r\n var result = (0, _extend.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 = _date.default.trimTime(new Date(this._dateOption(\"currentDate\")));\r\n result.onCurrentViewChange = function(name) {\r\n _this12.option(\"currentView\", name)\r\n }, result.onCurrentDateChange = function(date) {\r\n _this12.option(\"currentDate\", date)\r\n };\r\n result.items = this.option(\"toolbar\");\r\n result.startViewDate = this.getStartViewDate();\r\n result.todayDate = function() {\r\n var result = _this12.timeZoneCalculator.createDate(new Date, {\r\n path: \"toGrid\"\r\n });\r\n return result\r\n };\r\n return result\r\n };\r\n _proto._appointmentsConfig = function() {\r\n var _this13 = this;\r\n var config = {\r\n getResources: function() {\r\n return _this13.option(\"resources\")\r\n },\r\n getResourceDataAccessors: this.getResourceDataAccessors.bind(this),\r\n getAgendaResourceProcessor: function() {\r\n return _this13.agendaResourceProcessor\r\n },\r\n getAppointmentColor: this.createGetAppointmentColor(),\r\n getAppointmentDataProvider: function() {\r\n return _this13.appointmentDataProvider\r\n },\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: function() {\r\n return _this13._workSpace ? _this13._workSpace.positionHelper.getResizableStep() : 0\r\n },\r\n getDOMElementsMetaData: function() {\r\n var _this13$_workSpace;\r\n return null === (_this13$_workSpace = _this13._workSpace) || void 0 === _this13$_workSpace ? void 0 : _this13$_workSpace.getDOMElementsMetaData()\r\n },\r\n getViewDataProvider: function() {\r\n var _this13$_workSpace2;\r\n return null === (_this13$_workSpace2 = _this13._workSpace) || void 0 === _this13$_workSpace2 ? void 0 : _this13$_workSpace2.viewDataProvider\r\n },\r\n isVerticalViewDirection: function() {\r\n return \"vertical\" === _this13.getRenderingStrategyInstance().getDirection()\r\n },\r\n isVerticalGroupedWorkSpace: function() {\r\n return _this13._workSpace._isVerticalGroupedWorkSpace()\r\n },\r\n isDateAndTimeView: function() {\r\n return (0, _base.isDateAndTimeView)(_this13._workSpace.type)\r\n },\r\n onContentReady: function() {\r\n var _this13$_workSpace3;\r\n null === (_this13$_workSpace3 = _this13._workSpace) || void 0 === _this13$_workSpace3 ? void 0 : _this13$_workSpace3.option(\"allDayExpanded\", _this13._isAllDayExpanded())\r\n }\r\n };\r\n return config\r\n };\r\n _proto.getCollectorOffset = function() {\r\n if (this._workSpace.needApplyCollectorOffset() && !this.option(\"adaptivityEnabled\")) {\r\n return this.option(\"_collectorOffset\")\r\n } else {\r\n return 0\r\n }\r\n };\r\n _proto.getAppointmentDurationInMinutes = function() {\r\n return this._getCurrentViewOption(\"cellDuration\")\r\n };\r\n _proto._getCurrentViewType = function() {\r\n return this.currentViewType\r\n };\r\n _proto._renderWorkSpace = function(groups) {\r\n var _this$_header5;\r\n this._readyToRenderAppointments && this._toggleSmallClass();\r\n var $workSpace = (0, _renderer.default)(\"<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 === (_this$_header5 = this._header) || void 0 === _this$_header5 ? void 0 : _this$_header5.option(\"currentDate\", this._workSpace._getHeaderDate()));\r\n this._appointments.option(\"_collectorOffset\", this.getCollectorOffset())\r\n };\r\n _proto._getViewCountConfig = function() {\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 _proto._getViewByName = function(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 _proto._recalculateWorkspace = function() {\r\n var _this14 = this;\r\n this._workSpaceRecalculation = new _deferred.Deferred;\r\n this._waitAsyncTemplate((function() {\r\n (0, _visibility_change.triggerResizeEvent)(_this14._workSpace.$element());\r\n _this14._workSpace._refreshDateTimeIndication()\r\n }))\r\n };\r\n _proto._workSpaceConfig = function(groups, countConfig) {\r\n var _currentViewOptions$s2, _this15 = this;\r\n var currentViewOptions = this._getCurrentViewOptions();\r\n var scrolling = this.option(\"scrolling\");\r\n var isVirtualScrolling = \"virtual\" === scrolling.mode || \"virtual\" === (null === (_currentViewOptions$s2 = currentViewOptions.scrolling) || void 0 === _currentViewOptions$s2 ? void 0 : _currentViewOptions$s2.mode);\r\n var horizontalVirtualScrollingAllowed = isVirtualScrolling && (!(0, _type.isDefined)(scrolling.orientation) || [\"horizontal\", \"both\"].filter((function(item) {\r\n var _currentViewOptions$s3;\r\n return scrolling.orientation === item || (null === (_currentViewOptions$s3 = currentViewOptions.scrolling) || void 0 === _currentViewOptions$s3 ? void 0 : _currentViewOptions$s3.orientation) === item\r\n })).length > 0);\r\n var crossScrollingEnabled = this.option(\"crossScrollingEnabled\") || horizontalVirtualScrollingAllowed || (0, _base.isTimelineView)(this.currentViewType);\r\n var result = (0, _extend.extend)({\r\n resources: this.option(\"resources\"),\r\n loadedResources: this.option(\"loadedResources\"),\r\n getFilteredItems: function() {\r\n return _this15.filteredItems\r\n },\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: function(args) {\r\n _this15.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: function(value) {\r\n return _this15.option(\"showAllDayPanel\", value)\r\n },\r\n getHeaderHeight: function() {\r\n return _utils2.utils.DOM.getHeaderHeight(_this15._header)\r\n },\r\n onScrollEnd: function() {\r\n return _this15._appointments.updateResizableArea()\r\n },\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 = _date.default.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 = function() {\r\n return _this15.appointmentDataProvider\r\n };\r\n return result\r\n };\r\n _proto._isRenovatedRender = function(isVirtualScrolling) {\r\n return this.option(\"renovateRender\") && (0, _window.hasWindow)() || isVirtualScrolling\r\n };\r\n _proto._waitAsyncTemplate = function(callback) {\r\n if (this._options.silent(\"templatesRenderAsynchronously\")) {\r\n var timer = setTimeout((function() {\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 _proto._getCurrentViewOptions = function() {\r\n return this.currentView\r\n };\r\n _proto._getCurrentViewOption = function(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 _proto._getAppointmentTemplate = function(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 _proto._updateOption = function(viewName, optionName, value) {\r\n var currentViewOptions = this._getCurrentViewOptions();\r\n if (!currentViewOptions || !(0, _type.isDefined)(currentViewOptions[optionName])) {\r\n this[\"_\" + viewName].option(optionName, value)\r\n }\r\n };\r\n _proto._refreshWorkSpace = function(groups) {\r\n var _this16 = this;\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((function() {\r\n return _this16._workSpaceRecalculation.resolve()\r\n }))\r\n }\r\n };\r\n _proto._cleanWorkspace = function() {\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 _proto.getWorkSpaceScrollable = function() {\r\n return this._workSpace.getScrollable()\r\n };\r\n _proto.getWorkSpaceScrollableContainer = function() {\r\n return this._workSpace.getScrollableContainer()\r\n };\r\n _proto.getWorkSpace = function() {\r\n return this._workSpace\r\n };\r\n _proto.getHeader = function() {\r\n return this._header\r\n };\r\n _proto._cleanPopup = function() {\r\n var _this$_appointmentPop2;\r\n null === (_this$_appointmentPop2 = this._appointmentPopup) || void 0 === _this$_appointmentPop2 ? void 0 : _this$_appointmentPop2.dispose()\r\n };\r\n _proto._checkRecurringAppointment = function(rawAppointment, singleAppointment, exceptionDate, callback, isDeleted, isPopupEditing, dragEvent, recurrenceEditMode) {\r\n var _this17 = this;\r\n var recurrenceRule = _expressionUtils.ExpressionUtils.getField(this._dataAccessors, \"recurrenceRule\", rawAppointment);\r\n if (!(0, _recurrence.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.Deferred\r\n }\r\n this._showRecurrenceChangeConfirm(isDeleted).done((function(editingMode) {\r\n editingMode === RECURRENCE_EDITING_MODE.SERIES && callback();\r\n editingMode === RECURRENCE_EDITING_MODE.OCCURENCE && _this17._excludeAppointmentFromSeries(rawAppointment, singleAppointment, exceptionDate, isDeleted, isPopupEditing, dragEvent)\r\n })).fail((function() {\r\n return _this17._appointments.moveAppointmentBack(dragEvent)\r\n }))\r\n }\r\n };\r\n _proto._excludeAppointmentFromSeries = function(rawAppointment, newRawAppointment, exceptionDate, isDeleted, isPopupEditing, dragEvent) {\r\n var _this18 = this;\r\n var appointment = (0, _excludeFromRecurrence.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: _popup.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(), (function() {\r\n _this18._appointments.moveAppointmentBack(dragEvent)\r\n }), dragEvent)\r\n }\r\n };\r\n _proto._createRecurrenceException = function(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 _proto._getSerializedDate = function(date, startDate, isAllDay) {\r\n isAllDay && date.setHours(startDate.getHours(), startDate.getMinutes(), startDate.getSeconds(), startDate.getMilliseconds());\r\n return _date_serialization.default.serializeDate(date, UTC_FULL_DATE_FORMAT)\r\n };\r\n _proto._showRecurrenceChangeConfirm = function(isDeleted) {\r\n var message = _message.default.format(isDeleted ? \"dxScheduler-confirmRecurrenceDeleteMessage\" : \"dxScheduler-confirmRecurrenceEditMessage\");\r\n var seriesText = _message.default.format(isDeleted ? \"dxScheduler-confirmRecurrenceDeleteSeries\" : \"dxScheduler-confirmRecurrenceEditSeries\");\r\n var occurrenceText = _message.default.format(isDeleted ? \"dxScheduler-confirmRecurrenceDeleteOccurrence\" : \"dxScheduler-confirmRecurrenceEditOccurrence\");\r\n this._recurrenceDialog = (0, _dialog.custom)({\r\n messageHtml: message,\r\n showCloseButton: true,\r\n showTitle: true,\r\n buttons: [{\r\n text: seriesText,\r\n onClick: function() {\r\n return RECURRENCE_EDITING_MODE.SERIES\r\n }\r\n }, {\r\n text: occurrenceText,\r\n onClick: function() {\r\n return RECURRENCE_EDITING_MODE.OCCURENCE\r\n }\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 _proto._getUpdatedData = function(rawAppointment) {\r\n var _this19 = this;\r\n var getConvertedFromGrid = function(date) {\r\n return date ? _this19.timeZoneCalculator.createDate(date, {\r\n path: \"fromGrid\"\r\n }) : void 0\r\n };\r\n var isValidDate = function(date) {\r\n return !isNaN(new Date(date).getTime())\r\n };\r\n var targetCell = this.getTargetCellData();\r\n var appointment = (0, _appointmentAdapter.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 trimTime = _date.default.trimTime;\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 = (0, _appointmentAdapter.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 = _utils.default.getTimezoneOffsetChangeInMs(appointmentStartDate, appointmentEndDate, resultedStartDate, resultedEndDate);\r\n result.endDate = new Date(resultedEndDate.getTime() - timeZoneOffset);\r\n var rawResult = result.source();\r\n (0, _utils3.setResourceToAppointment)(this.option(\"resources\"), this.getResourceDataAccessors(), rawResult, targetCell.groups);\r\n return rawResult\r\n };\r\n _proto.getTargetedAppointment = function(appointment, element) {\r\n var settings = _utils2.utils.dataAccessors.getAppointmentSettings(element);\r\n var info = _utils2.utils.dataAccessors.getAppointmentInfo(element);\r\n var appointmentIndex = (0, _renderer.default)(element).data(this._appointments._itemIndexKey());\r\n var adapter = (0, _appointmentAdapter.createAppointmentAdapter)(appointment, this._dataAccessors, this.timeZoneCalculator);\r\n var targetedAdapter = adapter.clone();\r\n if (this._isAgenda() && adapter.isRecurrent) {\r\n var agendaSettings = settings.agendaSettings;\r\n targetedAdapter.startDate = _expressionUtils.ExpressionUtils.getField(this._dataAccessors, \"startDate\", agendaSettings);\r\n targetedAdapter.endDate = _expressionUtils.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 _proto.subscribe = function(subject, action) {\r\n this._subscribes[subject] = _subscribes.default[subject] = action\r\n };\r\n _proto.fire = function(subject) {\r\n var callback = this._subscribes[subject];\r\n var args = Array.prototype.slice.call(arguments);\r\n if (!(0, _type.isFunction)(callback)) {\r\n throw _ui.default.Error(\"E1031\", subject)\r\n }\r\n return callback.apply(this, args.slice(1))\r\n };\r\n _proto.getTargetCellData = function() {\r\n return this._workSpace.getDataByDroppableCell()\r\n };\r\n _proto._updateAppointment = function(target, rawAppointment, onUpdatePrevented, dragEvent) {\r\n var updatingOptions = {\r\n newData: rawAppointment,\r\n oldData: (0, _extend.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 && !(0, _type.isDeferred)(dragEvent.cancel)) {\r\n dragEvent.cancel = new _deferred.Deferred\r\n }\r\n return this._processActionResult(updatingOptions, (function(canceled) {\r\n var _this20 = this;\r\n var deferred = new _deferred.Deferred;\r\n if (!canceled) {\r\n this._expandAllDayPanel(rawAppointment);\r\n try {\r\n deferred = this.appointmentDataProvider.update(target, rawAppointment).done((function() {\r\n dragEvent && dragEvent.cancel.resolve(false)\r\n })).always((function(storeAppointment) {\r\n return _this20._onDataPromiseCompleted(StoreEventNames.UPDATED, storeAppointment)\r\n })).fail((function() {\r\n return performFailAction()\r\n }))\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 _proto._processActionResult = function(actionOptions, callback) {\r\n var _this21 = this;\r\n var deferred = new _deferred.Deferred;\r\n var resolveCallback = function(callbackResult) {\r\n (0, _deferred.when)((0, _deferred.fromPromise)(callbackResult)).always(deferred.resolve)\r\n };\r\n if ((0, _type.isPromise)(actionOptions.cancel)) {\r\n (0, _deferred.when)((0, _deferred.fromPromise)(actionOptions.cancel)).always((function(cancel) {\r\n if (!(0, _type.isDefined)(cancel)) {\r\n cancel = \"rejected\" === actionOptions.cancel.state()\r\n }\r\n resolveCallback(callback.call(_this21, 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 _proto._expandAllDayPanel = function(appointment) {\r\n if (!this._isAllDayExpanded() && this.appointmentTakesAllDay(appointment)) {\r\n this._workSpace.option(\"allDayExpanded\", true)\r\n }\r\n };\r\n _proto._onDataPromiseCompleted = function(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 _proto.getAppointmentsInstance = function() {\r\n return this._appointments\r\n };\r\n _proto.getLayoutManager = function() {\r\n return this._layoutManager\r\n };\r\n _proto.getRenderingStrategyInstance = function() {\r\n return this.getLayoutManager().getRenderingStrategyInstance()\r\n };\r\n _proto.getActions = function() {\r\n return this._actions\r\n };\r\n _proto.appointmentTakesAllDay = function(rawAppointment) {\r\n var appointment = (0, _appointmentAdapter.createAppointmentAdapter)(rawAppointment, this._dataAccessors, this.timeZoneCalculator);\r\n return (0, _getAppointmentTakesAllDay.getAppointmentTakesAllDay)(appointment, this._getCurrentViewOption(\"startDayHour\"), this._getCurrentViewOption(\"endDayHour\"), this._getCurrentViewOption(\"allDayPanelMode\"))\r\n };\r\n _proto.dayHasAppointment = function(day, rawAppointment, trimTime) {\r\n var _this22 = this;\r\n var getConvertedToTimeZone = function(date) {\r\n return _this22.timeZoneCalculator.createDate(date, {\r\n path: \"toGrid\"\r\n })\r\n };\r\n var appointment = (0, _appointmentAdapter.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 = _date.default.trimTime(day);\r\n startDate = _date.default.trimTime(startDate);\r\n endDate = _date.default.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 _proto.setTargetedAppointmentResources = function(rawAppointment, element, appointmentIndex) {\r\n var groups = this._getCurrentViewOption(\"groups\");\r\n if (null !== groups && void 0 !== groups && 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 (0, _utils3.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 = _utils2.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 }(0, _iterator.each)(getGroups.call(this), setResourceCallback)\r\n }\r\n };\r\n _proto.getStartViewDate = function() {\r\n var _this$_workSpace;\r\n return null === (_this$_workSpace = this._workSpace) || void 0 === _this$_workSpace ? void 0 : _this$_workSpace.getStartViewDate()\r\n };\r\n _proto.getEndViewDate = function() {\r\n return this._workSpace.getEndViewDate()\r\n };\r\n _proto.showAddAppointmentPopup = function(cellData, cellGroups) {\r\n var appointmentAdapter = (0, _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 = (0, _extend.extend)(appointmentAdapter.source(), cellGroups);\r\n this.showAppointmentPopup(resultAppointment, true)\r\n };\r\n _proto.showAppointmentPopup = function(rawAppointment, createNewAppointment, rawTargetedAppointment) {\r\n var _this23 = this;\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 = (0, _appointmentAdapter.createAppointmentAdapter)(newRawTargetedAppointment || rawAppointment, this._dataAccessors, this.timeZoneCalculator);\r\n var newTargetedAppointment = (0, _extend.extend)({}, rawAppointment, newRawTargetedAppointment);\r\n var isCreateAppointment = null !== createNewAppointment && void 0 !== createNewAppointment ? createNewAppointment : (0, _type.isEmptyObject)(rawAppointment);\r\n if ((0, _type.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: _popup.ACTION_TO_APPOINTMENT.CREATE\r\n })\r\n } else {\r\n this._checkRecurringAppointment(rawAppointment, newTargetedAppointment, appointment.startDate, (function() {\r\n _this23._editAppointmentData = rawAppointment;\r\n _this23._appointmentPopup.show(rawAppointment, {\r\n isToolbarVisible: _this23._editing.allowUpdating,\r\n action: _popup.ACTION_TO_APPOINTMENT.UPDATE\r\n })\r\n }), false, true)\r\n }\r\n };\r\n _proto.createPopupAppointment = function() {\r\n var result = {};\r\n var toMs = _date.default.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.ExpressionUtils.setField(this._dataAccessors, \"startDate\", result, startDate);\r\n _expressionUtils.ExpressionUtils.setField(this._dataAccessors, \"endDate\", result, endDate);\r\n return result\r\n };\r\n _proto.hideAppointmentPopup = function(saveChanges) {\r\n var _this$_appointmentPop3;\r\n if (null !== (_this$_appointmentPop3 = this._appointmentPopup) && void 0 !== _this$_appointmentPop3 && _this$_appointmentPop3.visible) {\r\n saveChanges && this._appointmentPopup.saveChangesAsync();\r\n this._appointmentPopup.hide()\r\n }\r\n };\r\n _proto.showAppointmentTooltip = function(appointment, element, targetedAppointment) {\r\n if (appointment) {\r\n var settings = _utils2.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 _dataStructures.AppointmentTooltipInfo(appointment, targetedAppointment, deferredColor);\r\n this.showAppointmentTooltipCore(element, [info])\r\n }\r\n };\r\n _proto.createGetAppointmentColor = function() {\r\n var _this24 = this;\r\n return function(appointmentConfig) {\r\n var resourceConfig = {\r\n resources: _this24.option(\"resources\"),\r\n dataAccessors: _this24.getResourceDataAccessors(),\r\n loadedResources: _this24.option(\"loadedResources\"),\r\n resourceLoaderMap: _this24.option(\"resourceLoaderMap\")\r\n };\r\n return (0, _utils3.getAppointmentColor)(resourceConfig, appointmentConfig)\r\n }\r\n };\r\n _proto.showAppointmentTooltipCore = function(target, data, options) {\r\n var _this25 = this;\r\n var arg = {\r\n cancel: false,\r\n appointments: data.map((function(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 _item$settings$info$a = item.settings.info.appointment,\r\n startDate = _item$settings$info$a.startDate,\r\n endDate = _item$settings$info$a.endDate;\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, (function(canceled) {\r\n !canceled && _this25._appointmentTooltip.show(target, data, _extends({}, _this25._getExtraAppointmentTooltipOptions(), options))\r\n }))\r\n }\r\n };\r\n _proto.hideAppointmentTooltip = function() {\r\n this._appointmentTooltip && this._appointmentTooltip.hide()\r\n };\r\n _proto.scrollToTime = function(hours, minutes, date) {\r\n _ui.default.log(\"W0002\", \"dxScheduler\", \"scrollToTime\", \"21.1\", 'Use the \"scrollTo\" method instead');\r\n this._workSpace.scrollToTime(hours, minutes, date)\r\n };\r\n _proto.scrollTo = function(date, groups, allDay) {\r\n this._workSpace.scrollTo(date, groups, allDay)\r\n };\r\n _proto._isHorizontalVirtualScrolling = function() {\r\n var scrolling = this.option(\"scrolling\");\r\n var orientation = scrolling.orientation,\r\n mode = scrolling.mode;\r\n var isVirtualScrolling = \"virtual\" === mode;\r\n return isVirtualScrolling && (\"horizontal\" === orientation || \"both\" === orientation)\r\n };\r\n _proto.addAppointment = function(rawAppointment) {\r\n var _this26 = this;\r\n var appointment = (0, _appointmentAdapter.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, (function(canceled) {\r\n if (canceled) {\r\n return (new _deferred.Deferred).resolve()\r\n }\r\n _this26._expandAllDayPanel(serializedAppointment);\r\n return _this26.appointmentDataProvider.add(serializedAppointment).always((function(storeAppointment) {\r\n return _this26._onDataPromiseCompleted(StoreEventNames.ADDED, storeAppointment)\r\n }))\r\n }))\r\n };\r\n _proto.updateAppointment = function(target, appointment) {\r\n return this._updateAppointment(target, appointment)\r\n };\r\n _proto.deleteAppointment = function(rawAppointment) {\r\n var deletingOptions = this.fireOnAppointmentDeleting(rawAppointment);\r\n this.processDeleteAppointment(rawAppointment, deletingOptions)\r\n };\r\n _proto.fireOnAppointmentDeleting = function(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 _proto.processDeleteAppointment = function(rawAppointment, deletingOptions) {\r\n this._processActionResult(deletingOptions, (function(canceled) {\r\n var _this27 = this;\r\n if (!canceled) {\r\n this.appointmentDataProvider.remove(rawAppointment).always((function(storeAppointment) {\r\n return _this27._onDataPromiseCompleted(StoreEventNames.DELETED, storeAppointment, rawAppointment)\r\n }))\r\n }\r\n }))\r\n };\r\n _proto.deleteRecurrence = function(appointment, date, recurrenceEditMode) {\r\n var _this28 = this;\r\n this._checkRecurringAppointment(appointment, {}, date, (function() {\r\n _this28.processDeleteAppointment(appointment, {\r\n cancel: false\r\n })\r\n }), true, false, null, recurrenceEditMode)\r\n };\r\n _proto.focus = function() {\r\n if (this._editAppointmentData) {\r\n this._appointments.focus()\r\n } else {\r\n this._workSpace.focus()\r\n }\r\n };\r\n _proto.getFirstDayOfWeek = function() {\r\n return (0, _type.isDefined)(this.option(\"firstDayOfWeek\")) ? this.option(\"firstDayOfWeek\") : _date2.default.firstDayOfWeekIndex()\r\n };\r\n _proto._validateKeyFieldIfAgendaExist = function() {\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 _ui.default.log(\"W1023\")\r\n }\r\n };\r\n _proto._validateCellDuration = function() {\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 _ui.default.log(\"W1015\")\r\n }\r\n };\r\n _proto._validateDayHours = function() {\r\n var startDayHour = this._getCurrentViewOption(\"startDayHour\");\r\n var endDayHour = this._getCurrentViewOption(\"endDayHour\");\r\n (0, _base.validateDayHours)(startDayHour, endDayHour)\r\n };\r\n _proto._getDragBehavior = function() {\r\n return this._workSpace.dragBehavior\r\n };\r\n _createClass(Scheduler, [{\r\n key: \"filteredItems\",\r\n get: function() {\r\n if (!this._filteredItems) {\r\n this._filteredItems = []\r\n }\r\n return this._filteredItems\r\n },\r\n set: function(value) {\r\n this._filteredItems = value\r\n }\r\n }, {\r\n key: \"preparedItems\",\r\n get: function() {\r\n if (!this._preparedItems) {\r\n this._preparedItems = []\r\n }\r\n return this._preparedItems\r\n },\r\n set: function(value) {\r\n this._preparedItems = value\r\n }\r\n }, {\r\n key: \"currentView\",\r\n get: function() {\r\n return (0, _views.getCurrentView)(this.option(\"currentView\"), this.option(\"views\"))\r\n }\r\n }, {\r\n key: \"currentViewType\",\r\n get: function() {\r\n return (0, _type.isObject)(this.currentView) ? this.currentView.type : this.currentView\r\n }\r\n }, {\r\n key: \"timeZoneCalculator\",\r\n get: function() {\r\n if (!this._timeZoneCalculator) {\r\n this._timeZoneCalculator = (0, _createTimeZoneCalculator.createTimeZoneCalculator)(this.option(\"timeZone\"))\r\n }\r\n return this._timeZoneCalculator\r\n }\r\n }]);\r\n return Scheduler\r\n}(_ui2.default);\r\nScheduler.include(_data_helper.default);\r\n(0, _component_registrator.default)(\"dxScheduler\", Scheduler);\r\nvar _default = Scheduler;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/scheduler/utils.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.utils = void 0;\r\nvar _size = require(\"../../core/utils/size\");\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _constants = require(\"./constants\");\r\nvar _element = require(\"../../core/element\");\r\nvar _data = require(\"../../core/utils/data\");\r\nvar _date_serialization = _interopRequireDefault(require(\"../../core/utils/date_serialization\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\nvar utils = {\r\n dataAccessors: {\r\n getAppointmentSettings: function(element) {\r\n return (0, _renderer.default)(element).data(_constants.APPOINTMENT_SETTINGS_KEY)\r\n },\r\n getAppointmentInfo: function(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: function(fields, currentDataAccessors, forceIsoDateParsing, dateSerializationFormat) {\r\n var dataAccessors = currentDataAccessors ? _extends({}, currentDataAccessors) : {\r\n getter: {},\r\n setter: {},\r\n expr: {}\r\n };\r\n (0, _iterator.each)(fields, (function(name, expr) {\r\n if (expr) {\r\n var getter = (0, _data.compileGetter)(expr);\r\n var setter = (0, _data.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 = function(object) {\r\n var value = getter(object);\r\n if (forceIsoDateParsing) {\r\n value = _date_serialization.default.deserializeDate(value)\r\n }\r\n return value\r\n };\r\n dateSetter = function(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 = _date_serialization.default.getDateSerializationFormat(oldValue)\r\n }\r\n var newValue = _date_serialization.default.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: function(header) {\r\n return header ? header._$element && parseInt((0, _size.getOuterHeight)(header._$element), 10) : 0\r\n }\r\n },\r\n renovation: {\r\n renderComponent: function(widget, parentElement, componentClass, componentName, viewModel) {\r\n var component = widget[componentName];\r\n if (!component) {\r\n var container = (0, _element.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 height = elementStyle.height;\r\n var width = elementStyle.width;\r\n component.option(viewModel);\r\n if (height) {\r\n (0, _size.setHeight)($element, height)\r\n }\r\n if (width) {\r\n (0, _size.setWidth)($element, width)\r\n }\r\n }\r\n }\r\n }\r\n};\r\nexports.utils = utils;\r\n","/**\r\n * DevExtreme (cjs/ui/scheduler/utils.timeZone.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _date = _interopRequireDefault(require(\"../../core/utils/date\"));\r\nvar _utils = _interopRequireDefault(require(\"./timezones/utils.timezones_data\"));\r\nvar _dateAdapter = _interopRequireDefault(require(\"./dateAdapter\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _slicedToArray(arr, i) {\r\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest()\r\n}\r\n\r\nfunction _nonIterableRest() {\r\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _unsupportedIterableToArray(o, minLen) {\r\n if (!o) {\r\n return\r\n }\r\n if (\"string\" === typeof o) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n var n = Object.prototype.toString.call(o).slice(8, -1);\r\n if (\"Object\" === n && o.constructor) {\r\n n = o.constructor.name\r\n }\r\n if (\"Map\" === n || \"Set\" === n) {\r\n return Array.from(o)\r\n }\r\n if (\"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n}\r\n\r\nfunction _arrayLikeToArray(arr, len) {\r\n if (null == len || len > arr.length) {\r\n len = arr.length\r\n }\r\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\r\n arr2[i] = arr[i]\r\n }\r\n return arr2\r\n}\r\n\r\nfunction _iterableToArrayLimit(arr, i) {\r\n var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"];\r\n if (null != _i) {\r\n var _s, _e, _x, _r, _arr = [],\r\n _n = !0,\r\n _d = !1;\r\n try {\r\n if (_x = (_i = _i.call(arr)).next, 0 === i) {\r\n if (Object(_i) !== _i) {\r\n return\r\n }\r\n _n = !1\r\n } else {\r\n for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) {}\r\n }\r\n } catch (err) {\r\n _d = !0, _e = err\r\n } finally {\r\n try {\r\n if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) {\r\n return\r\n }\r\n } finally {\r\n if (_d) {\r\n throw _e\r\n }\r\n }\r\n }\r\n return _arr\r\n }\r\n}\r\n\r\nfunction _arrayWithHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return arr\r\n }\r\n}\r\nvar toMs = _date.default.dateToMilliseconds;\r\nvar MINUTES_IN_HOUR = 60;\r\nvar MS_IN_MINUTE = 6e4;\r\nvar createUTCDateWithLocalOffset = function(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 = function(date) {\r\n var result = (0, _dateAdapter.default)(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 _utils.default.getDisplayedTimeZones(dateInUTC.getTime())\r\n};\r\nvar createUTCDate = function(date) {\r\n return new Date(Date.UTC(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate(), date.getUTCHours(), date.getUTCMinutes()))\r\n};\r\nvar getTimezoneOffsetChangeInMinutes = function(startDate, endDate, updatedStartDate, updatedEndDate) {\r\n return getDaylightOffset(updatedStartDate, updatedEndDate) - getDaylightOffset(startDate, endDate)\r\n};\r\nvar getTimezoneOffsetChangeInMs = function(startDate, endDate, updatedStartDate, updatedEndDate) {\r\n return getTimezoneOffsetChangeInMinutes(startDate, endDate, updatedStartDate, updatedEndDate) * toMs(\"minute\")\r\n};\r\nvar getDaylightOffset = function(startDate, endDate) {\r\n return new Date(startDate).getTimezoneOffset() - new Date(endDate).getTimezoneOffset()\r\n};\r\nvar getDaylightOffsetInMs = function(startDate, endDate) {\r\n return getDaylightOffset(startDate, endDate) * toMs(\"minute\")\r\n};\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 _utils.default.getTimeZoneOffsetById(timezone, dateUtc.getTime())\r\n }\r\n return timezone\r\n};\r\nvar _getDaylightOffsetByTimezone = function(startDate, endDate, timeZone) {\r\n return calculateTimezoneByValue(timeZone, startDate) - calculateTimezoneByValue(timeZone, endDate)\r\n};\r\nvar getCorrectedDateByDaylightOffsets = function(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 = function(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 = function(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 = function(startDate, endDate) {\r\n endDate = new Date(endDate.getTime() - 1);\r\n return _date.default.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 = function() {\r\n var _getExtremeDates = getExtremeDates(),\r\n _getExtremeDates2 = _slicedToArray(_getExtremeDates, 2),\r\n startDate = _getExtremeDates2[0],\r\n endDate = _getExtremeDates2[1];\r\n return startDate.getTimezoneOffset() !== endDate.getTimezoneOffset()\r\n};\r\nvar isEqualLocalTimeZoneByDeclaration = function(timeZoneName, date) {\r\n var year = date.getFullYear();\r\n var getOffset = function(date) {\r\n return -date.getTimezoneOffset() / 60\r\n };\r\n var getDateAndMoveHourBack = function(dateStamp) {\r\n return new Date(dateStamp - 36e5)\r\n };\r\n var configTuple = _utils.default.getTimeZoneDeclarationTuple(timeZoneName, year);\r\n var _configTuple = _slicedToArray(configTuple, 2),\r\n summerTime = _configTuple[0],\r\n winterTime = _configTuple[1];\r\n var noDSTInTargetTimeZone = configTuple.length < 2;\r\n if (noDSTInTargetTimeZone) {\r\n var targetTimeZoneOffset = _utils.default.getTimeZoneOffsetById(timeZoneName, date);\r\n var localTimeZoneOffset = getOffset(date);\r\n if (targetTimeZoneOffset !== localTimeZoneOffset) {\r\n return false\r\n }\r\n return hasDSTInLocalTimeZone() ? false : true\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 = function() {\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 = function(targetDate, offsetsArray) {\r\n var newDateMs = offsetsArray.reduce((function(result, offset) {\r\n return result + offset\r\n }), 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\nvar _default = utils;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/scheduler/utils/isSchedulerComponent.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.isSchedulerComponent = isSchedulerComponent;\r\nvar schedulerComponentName = \"dxScheduler\";\r\n\r\nfunction isSchedulerComponent(component) {\r\n return component.NAME === schedulerComponentName\r\n}\r\n","/**\r\n * DevExtreme (cjs/ui/scheduler/workspaces/cache.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.Cache = void 0;\r\nvar _type = require(\"../../../core/utils/type\");\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\nvar Cache = function() {\r\n function Cache() {\r\n this._cache = new Map\r\n }\r\n var _proto = Cache.prototype;\r\n _proto.clear = function() {\r\n this._cache.clear()\r\n };\r\n _proto.get = function(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 _proto.set = function(name, value) {\r\n (0, _type.isDefined)(value) && this._cache.set(name, value)\r\n };\r\n _createClass(Cache, [{\r\n key: \"size\",\r\n get: function() {\r\n return this._cache.size\r\n }\r\n }]);\r\n return Cache\r\n}();\r\nexports.Cache = Cache;\r\n","/**\r\n * DevExtreme (cjs/ui/scheduler/workspaces/cells_selection_controller.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.CellsSelectionController = void 0;\r\nvar _base = require(\"../../../renovation/ui/scheduler/view_model/to_test/views/utils/base\");\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\nvar CellsSelectionController = function() {\r\n function CellsSelectionController() {}\r\n var _proto = CellsSelectionController.prototype;\r\n _proto.handleArrowClick = function(options) {\r\n var key = options.key,\r\n focusedCellPosition = options.focusedCellPosition,\r\n edgeIndices = options.edgeIndices,\r\n getCellDataByPosition = options.getCellDataByPosition,\r\n isAllDayPanelCell = options.isAllDayPanelCell;\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({}, options, {\r\n direction: \"prev\"\r\n }));\r\n break;\r\n case \"right\":\r\n nextCellIndices = this.getCellFromNextColumnPosition(_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({}, options, {\r\n currentCellData: currentCellData\r\n }))\r\n };\r\n _proto.getCellFromNextRowPosition = function(focusedCellPosition, direction, edgeIndices) {\r\n var columnIndex = focusedCellPosition.columnIndex,\r\n rowIndex = focusedCellPosition.rowIndex;\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 _proto.getCellFromNextColumnPosition = function(options) {\r\n var focusedCellPosition = options.focusedCellPosition,\r\n direction = options.direction,\r\n edgeIndices = options.edgeIndices,\r\n isRTL = options.isRTL,\r\n isGroupedByDate = options.isGroupedByDate,\r\n groupCount = options.groupCount,\r\n isMultiSelection = options.isMultiSelection,\r\n viewType = options.viewType;\r\n var columnIndex = focusedCellPosition.columnIndex,\r\n rowIndex = focusedCellPosition.rowIndex;\r\n var firstColumnIndex = edgeIndices.firstColumnIndex,\r\n lastColumnIndex = edgeIndices.lastColumnIndex,\r\n firstRowIndex = edgeIndices.firstRowIndex,\r\n lastRowIndex = edgeIndices.lastRowIndex;\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 (0, _base.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 _proto._processEdgeCell = function(options) {\r\n var nextColumnIndex = options.nextColumnIndex,\r\n rowIndex = options.rowIndex,\r\n columnIndex = options.columnIndex,\r\n firstColumnIndex = options.firstColumnIndex,\r\n lastColumnIndex = options.lastColumnIndex,\r\n firstRowIndex = options.firstRowIndex,\r\n lastRowIndex = options.lastRowIndex,\r\n step = options.step;\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 _proto.moveToCell = function(options) {\r\n var isMultiSelection = options.isMultiSelection,\r\n isMultiSelectionAllowed = options.isMultiSelectionAllowed,\r\n focusedCellData = options.focusedCellData,\r\n currentCellData = options.currentCellData;\r\n var isValidMultiSelection = isMultiSelection && isMultiSelectionAllowed;\r\n var nextFocusedCellData = isValidMultiSelection ? this._getNextCellData(currentCellData, focusedCellData) : currentCellData;\r\n return nextFocusedCellData\r\n };\r\n _proto._getNextCellData = function(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 _proto._isValidNextFocusedCell = function(nextFocusedCellData, focusedCellData) {\r\n if (!focusedCellData) {\r\n return true\r\n }\r\n var groupIndex = focusedCellData.groupIndex,\r\n allDay = focusedCellData.allDay;\r\n var nextGroupIndex = nextFocusedCellData.groupIndex,\r\n nextAllDay = nextFocusedCellData.allDay;\r\n return groupIndex === nextGroupIndex && allDay === nextAllDay\r\n };\r\n return CellsSelectionController\r\n}();\r\nexports.CellsSelectionController = CellsSelectionController;\r\n","/**\r\n * DevExtreme (cjs/ui/scheduler/workspaces/cells_selection_state.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _utils = require(\"../../../renovation/ui/scheduler/workspaces/base/utils\");\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\nvar CellsSelectionState = function() {\r\n function CellsSelectionState(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 var _proto = CellsSelectionState.prototype;\r\n _proto.setFocusedCell = function(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 _proto.setSelectedCells = function(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 lastRowIndex = lastCellCoordinates.rowIndex,\r\n lastColumnIndex = lastCellCoordinates.columnIndex,\r\n isLastCellAllDay = lastCellCoordinates.allDay;\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 = (0, _utils.getSelectedCells)(this._viewDataProvider, firstCell, lastCell, isLastCellAllDay)\r\n };\r\n _proto.setSelectedCellsByData = function(selectedCellsData) {\r\n this._selectedCells = selectedCellsData\r\n };\r\n _proto.getSelectedCells = function() {\r\n return this._selectedCells\r\n };\r\n _proto.releaseSelectedAndFocusedCells = function() {\r\n this.releaseSelectedCells();\r\n this.releaseFocusedCell()\r\n };\r\n _proto.releaseSelectedCells = function() {\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 _proto.releaseFocusedCell = function() {\r\n this._prevFocusedCell = this._focusedCell;\r\n this._focusedCell = null\r\n };\r\n _proto.restoreSelectedAndFocusedCells = function() {\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 _proto.clearSelectedAndFocusedCells = function() {\r\n this._prevSelectedCells = null;\r\n this._selectedCells = null;\r\n this._prevFocusedCell = null;\r\n this._focusedCell = null\r\n };\r\n _createClass(CellsSelectionState, [{\r\n key: \"viewDataProvider\",\r\n get: function() {\r\n return this._viewDataProvider\r\n }\r\n }, {\r\n key: \"focusedCell\",\r\n get: function() {\r\n var focusedCell = this._focusedCell;\r\n if (!focusedCell) {\r\n return\r\n }\r\n var groupIndex = focusedCell.groupIndex,\r\n startDate = focusedCell.startDate,\r\n allDay = focusedCell.allDay;\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 }]);\r\n return CellsSelectionState\r\n}();\r\nexports.default = CellsSelectionState;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/scheduler/workspaces/helpers/positionHelper.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.getMaxAllowedPosition = exports.getGroupWidth = exports.getCellWidth = exports.getCellHeight = exports.getAllDayHeight = exports.PositionHelper = void 0;\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\nvar getCellSize = function(DOMMetaData) {\r\n var dateTableCellsMeta = DOMMetaData.dateTableCellsMeta;\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 = function(groupIndex, viewDataProvider, rtlEnabled, DOMMetaData) {\r\n var dateTableCellsMeta = DOMMetaData.dateTableCellsMeta;\r\n var firstRow = dateTableCellsMeta[0];\r\n if (!firstRow) {\r\n return 0\r\n }\r\n var _viewDataProvider$get = viewDataProvider.getLastGroupCellPosition(groupIndex),\r\n columnIndex = _viewDataProvider$get.columnIndex;\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\nvar getCellHeight = function(DOMMetaData) {\r\n return getCellSize(DOMMetaData).height\r\n};\r\nexports.getCellHeight = getCellHeight;\r\nvar getCellWidth = function(DOMMetaData) {\r\n return getCellSize(DOMMetaData).width\r\n};\r\nexports.getCellWidth = getCellWidth;\r\nvar getAllDayHeight = function(showAllDayPanel, isVerticalGrouping, DOMMetaData) {\r\n if (!showAllDayPanel) {\r\n return 0\r\n }\r\n if (isVerticalGrouping) {\r\n var dateTableCellsMeta = DOMMetaData.dateTableCellsMeta;\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 allDayPanelCellsMeta = DOMMetaData.allDayPanelCellsMeta;\r\n return null !== allDayPanelCellsMeta && void 0 !== allDayPanelCellsMeta && allDayPanelCellsMeta.length ? allDayPanelCellsMeta[0].height : 0\r\n};\r\nexports.getAllDayHeight = getAllDayHeight;\r\nvar getMaxAllowedPosition = function(groupIndex, viewDataProvider, rtlEnabled, DOMMetaData) {\r\n var validGroupIndex = groupIndex || 0;\r\n return getMaxAllowedHorizontalPosition(validGroupIndex, viewDataProvider, rtlEnabled, DOMMetaData)\r\n};\r\nexports.getMaxAllowedPosition = getMaxAllowedPosition;\r\nvar getGroupWidth = function(groupIndex, viewDataProvider, options) {\r\n var isVirtualScrolling = options.isVirtualScrolling,\r\n rtlEnabled = options.rtlEnabled,\r\n DOMMetaData = options.DOMMetaData;\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\nexports.getGroupWidth = getGroupWidth;\r\nvar PositionHelper = function() {\r\n function PositionHelper(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 var _proto = PositionHelper.prototype;\r\n _proto.getHorizontalMax = function(groupIndex) {\r\n var _this = this;\r\n var getMaxPosition = function(groupIndex) {\r\n return getMaxAllowedPosition(groupIndex, _this.viewDataProvider, _this.rtlEnabled, _this.DOMMetaData)\r\n };\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 _proto.getResizableStep = function() {\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 _proto.getVerticalMax = function(options) {\r\n return this.groupStrategy.getVerticalMax(options)\r\n };\r\n _proto.getOffsetByAllDayPanel = function(options) {\r\n return this.groupStrategy.getOffsetByAllDayPanel(options)\r\n };\r\n _proto.getGroupTop = function(options) {\r\n return this.groupStrategy.getGroupTop(options)\r\n };\r\n _createClass(PositionHelper, [{\r\n key: \"viewDataProvider\",\r\n get: function() {\r\n return this.options.viewDataProvider\r\n }\r\n }, {\r\n key: \"rtlEnabled\",\r\n get: function() {\r\n return this.options.rtlEnabled\r\n }\r\n }, {\r\n key: \"isGroupedByDate\",\r\n get: function() {\r\n return this.options.isGroupedByDate\r\n }\r\n }, {\r\n key: \"groupCount\",\r\n get: function() {\r\n return this.options.groupCount\r\n }\r\n }, {\r\n key: \"DOMMetaData\",\r\n get: function() {\r\n return this.options.getDOMMetaDataCallback()\r\n }\r\n }]);\r\n return PositionHelper\r\n}();\r\nexports.PositionHelper = PositionHelper;\r\nvar GroupStrategyBase = function() {\r\n function GroupStrategyBase(options) {\r\n this.options = options\r\n }\r\n var _proto2 = GroupStrategyBase.prototype;\r\n _proto2.getOffsetByAllDayPanel = function(_ref) {\r\n var groupIndex = _ref.groupIndex,\r\n supportAllDayRow = _ref.supportAllDayRow,\r\n showAllDayPanel = _ref.showAllDayPanel;\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 _proto2.getVerticalMax = function(options) {\r\n var maxAllowedPosition = this._getMaxAllowedVerticalPosition(_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 _proto2.getGroupTop = function(_ref2) {\r\n var groupIndex = _ref2.groupIndex,\r\n showAllDayPanel = _ref2.showAllDayPanel,\r\n isGroupedAllDayPanel = _ref2.isGroupedAllDayPanel;\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 _proto2._getAllDayHeight = function(showAllDayPanel) {\r\n return getAllDayHeight(showAllDayPanel, true, this.DOMMetaData)\r\n };\r\n _proto2._getMaxAllowedVerticalPosition = function(_ref3) {\r\n var groupIndex = _ref3.groupIndex,\r\n showAllDayPanel = _ref3.showAllDayPanel,\r\n isGroupedAllDayPanel = _ref3.isGroupedAllDayPanel;\r\n var _this$viewDataProvide = this.viewDataProvider.getLastGroupCellPosition(groupIndex),\r\n rowIndex = _this$viewDataProvide.rowIndex;\r\n var dateTableCellsMeta = this.DOMMetaData.dateTableCellsMeta;\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 _createClass(GroupStrategyBase, [{\r\n key: \"viewDataProvider\",\r\n get: function() {\r\n return this.options.viewDataProvider\r\n }\r\n }, {\r\n key: \"isGroupedByDate\",\r\n get: function() {\r\n return this.options.isGroupedByDate\r\n }\r\n }, {\r\n key: \"rtlEnabled\",\r\n get: function() {\r\n return this.options.rtlEnabled\r\n }\r\n }, {\r\n key: \"groupCount\",\r\n get: function() {\r\n return this.options.groupCount\r\n }\r\n }, {\r\n key: \"DOMMetaData\",\r\n get: function() {\r\n return this.options.getDOMMetaDataCallback()\r\n }\r\n }]);\r\n return GroupStrategyBase\r\n}();\r\nvar GroupStrategyHorizontal = function(_GroupStrategyBase) {\r\n _inheritsLoose(GroupStrategyHorizontal, _GroupStrategyBase);\r\n\r\n function GroupStrategyHorizontal() {\r\n return _GroupStrategyBase.apply(this, arguments) || this\r\n }\r\n var _proto3 = GroupStrategyHorizontal.prototype;\r\n _proto3.getOffsetByAllDayPanel = function(options) {\r\n return 0\r\n };\r\n _proto3.getVerticalMax = function(options) {\r\n var isVirtualScrolling = options.isVirtualScrolling,\r\n groupIndex = options.groupIndex;\r\n var correctedGroupIndex = isVirtualScrolling ? groupIndex : 0;\r\n return this._getMaxAllowedVerticalPosition(_extends({}, options, {\r\n groupIndex: correctedGroupIndex\r\n }))\r\n };\r\n _proto3.getGroupTop = function(options) {\r\n return 0\r\n };\r\n _proto3._getAllDayHeight = function(showAllDayPanel) {\r\n return getAllDayHeight(showAllDayPanel, false, this.DOMMetaData)\r\n };\r\n return GroupStrategyHorizontal\r\n}(GroupStrategyBase);\r\n","/**\r\n * DevExtreme (cjs/ui/scheduler/workspaces/ui.scheduler.agenda.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.default = void 0;\r\nvar _size = require(\"../../../core/utils/size\");\r\nvar _renderer = _interopRequireDefault(require(\"../../../core/renderer\"));\r\nvar _dom_adapter = _interopRequireDefault(require(\"../../../core/dom_adapter\"));\r\nvar _common = require(\"../../../core/utils/common\");\r\nvar _iterator = require(\"../../../core/utils/iterator\");\r\nvar _element = require(\"../../../core/element\");\r\nvar _component_registrator = _interopRequireDefault(require(\"../../../core/component_registrator\"));\r\nvar _uiScheduler = _interopRequireDefault(require(\"./ui.scheduler.work_space\"));\r\nvar _extend = require(\"../../../core/utils/extend\");\r\nvar _date = _interopRequireDefault(require(\"../../../localization/date\"));\r\nvar _table_creator = _interopRequireDefault(require(\"../table_creator\"));\r\nvar _classes = require(\"../classes\");\r\nvar _utils = require(\"../resources/utils\");\r\nvar _agenda = require(\"../../../renovation/ui/scheduler/view_model/to_test/views/utils/agenda\");\r\nvar _base = require(\"../../../renovation/ui/scheduler/view_model/to_test/views/utils/base\");\r\nvar _constants = require(\"../constants\");\r\nvar _date2 = _interopRequireDefault(require(\"../../../core/utils/date\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar tableCreator = _table_creator.default.tableCreator;\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\nvar SchedulerAgenda = function(_WorkSpace) {\r\n _inheritsLoose(SchedulerAgenda, _WorkSpace);\r\n\r\n function SchedulerAgenda() {\r\n return _WorkSpace.apply(this, arguments) || this\r\n }\r\n var _proto = SchedulerAgenda.prototype;\r\n _proto.getStartViewDate = function() {\r\n return this._startViewDate\r\n };\r\n _proto._init = function() {\r\n _WorkSpace.prototype._init.call(this);\r\n this._activeStateUnit = void 0\r\n };\r\n _proto._getDefaultOptions = function() {\r\n return (0, _extend.extend)(_WorkSpace.prototype._getDefaultOptions.call(this), {\r\n agendaDuration: 7,\r\n rowHeight: 60,\r\n noDataText: \"\"\r\n })\r\n };\r\n _proto._optionChanged = function(args) {\r\n var name = args.name;\r\n var value = args.value;\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 _WorkSpace.prototype._optionChanged.call(this, args);\r\n break;\r\n default:\r\n _WorkSpace.prototype._optionChanged.call(this, args)\r\n }\r\n };\r\n _proto._renderFocusState = function() {\r\n return (0, _common.noop)()\r\n };\r\n _proto._renderFocusTarget = function() {\r\n return (0, _common.noop)()\r\n };\r\n _proto._cleanFocusState = function() {\r\n return (0, _common.noop)()\r\n };\r\n _proto.supportAllDayRow = function() {\r\n return false\r\n };\r\n _proto._isVerticalGroupedWorkSpace = function() {\r\n return false\r\n };\r\n _proto._getElementClass = function() {\r\n return AGENDA_CLASS\r\n };\r\n _proto._calculateStartViewDate = function() {\r\n return (0, _agenda.calculateStartViewDate)(this.option(\"currentDate\"), this.option(\"startDayHour\"))\r\n };\r\n _proto._getRowCount = function() {\r\n return this.option(\"agendaDuration\")\r\n };\r\n _proto._getCellCount = function() {\r\n return 1\r\n };\r\n _proto._getTimePanelRowCount = function() {\r\n return this.option(\"agendaDuration\")\r\n };\r\n _proto._renderAllDayPanel = function() {\r\n return (0, _common.noop)()\r\n };\r\n _proto._toggleAllDayVisibility = function() {\r\n return (0, _common.noop)()\r\n };\r\n _proto._initWorkSpaceUnits = function() {\r\n this._initGroupTable();\r\n this._$timePanel = (0, _renderer.default)(\"<table>\").addClass(_classes.TIME_PANEL_CLASS);\r\n this._$dateTable = (0, _renderer.default)(\"<table>\").addClass(_classes.DATE_TABLE_CLASS);\r\n this._$dateTableScrollableContent = (0, _renderer.default)(\"<div>\").addClass(\"dx-scheduler-date-table-scrollable-content\");\r\n this._$dateTableContainer = (0, _renderer.default)(\"<div>\").addClass(\"dx-scheduler-date-table-container\")\r\n };\r\n _proto._initGroupTable = function() {\r\n var groups = this.option(\"groups\");\r\n if (groups && groups.length) {\r\n this._$groupTable = (0, _renderer.default)(\"<table>\").addClass(GROUP_TABLE_CLASS)\r\n }\r\n };\r\n _proto._renderView = function() {\r\n this._startViewDate = this._calculateStartViewDate();\r\n this._rows = [];\r\n this._initPositionHelper()\r\n };\r\n _proto._recalculateAgenda = function(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 _proto._renderNoData = function() {\r\n this._$noDataContainer = (0, _renderer.default)(\"<div>\").addClass(NODATA_CONTAINER_CLASS).html(this.option(\"noDataText\"));\r\n this._dateTableScrollable.$content().append(this._$noDataContainer)\r\n };\r\n _proto._setTableSizes = function() {\r\n return (0, _common.noop)()\r\n };\r\n _proto._toggleHorizontalScrollClass = function() {\r\n return (0, _common.noop)()\r\n };\r\n _proto._createCrossScrollingConfig = function() {\r\n return (0, _common.noop)()\r\n };\r\n _proto._setGroupHeaderCellsHeight = function() {\r\n var $cells = this._getGroupHeaderCells().filter((function(_, element) {\r\n return !element.getAttribute(\"rowSpan\")\r\n }));\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 (0, _size.setOuterHeight)($cellContent, this._getGroupRowHeight(rows[i]))\r\n }\r\n };\r\n _proto._rowsIsEmpty = function(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 _proto._attachGroupCountClass = function() {\r\n var className = (0, _base.getVerticalGroupCountClass)(this.option(\"groups\"));\r\n this.$element().addClass(className)\r\n };\r\n _proto._removeEmptyRows = function(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((function(value) {\r\n return value > 0\r\n })))) {\r\n result.push(rows[i])\r\n }\r\n }\r\n var data;\r\n return result\r\n };\r\n _proto._getGroupHeaderContainer = function() {\r\n return this._$groupTable\r\n };\r\n _proto._makeGroupRows = function() {\r\n var _this = this;\r\n var tree = (0, _utils.createReducedResourcesTree)(this.option(\"loadedResources\"), (function(field, action) {\r\n return (0, _utils.getDataAccessors)(_this.option(\"getResourceDataAccessors\")(), field, action)\r\n }), this.option(\"getFilteredItems\")());\r\n var cellTemplate = this.option(\"resourceCellTemplate\");\r\n var getGroupHeaderContentClass = _classes.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: _classes.GROUP_ROW_CLASS,\r\n groupCellClass: this._getGroupHeaderClass(),\r\n groupCellCustomContent: function(cell, cellText, index, data) {\r\n var container = _dom_adapter.default.createElement(\"div\");\r\n var contentWrapper = _dom_adapter.default.createElement(\"div\");\r\n container.className = getGroupHeaderContentClass;\r\n contentWrapper.appendChild(cellText);\r\n container.appendChild(contentWrapper);\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: cellText.textContent\r\n },\r\n container: (0, _element.getPublicElement)((0, _renderer.default)(container)),\r\n index: index\r\n }))\r\n } else {\r\n contentWrapper.appendChild(cellText);\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: (0, _renderer.default)(table).find(\".\".concat(_classes.GROUP_ROW_CLASS)),\r\n cellTemplates: cellTemplates\r\n }\r\n };\r\n _proto._cleanView = function() {\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 _proto._createWorkSpaceElements = function() {\r\n this._createWorkSpaceStaticElements()\r\n };\r\n _proto._createWorkSpaceStaticElements = function() {\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 _proto._renderDateTable = function() {\r\n this._renderTableBody({\r\n container: (0, _element.getPublicElement)(this._$dateTable),\r\n rowClass: _classes.DATE_TABLE_ROW_CLASS,\r\n cellClass: this._getDateTableCellClass()\r\n })\r\n };\r\n _proto._attachTablesEvents = function() {\r\n return (0, _common.noop)()\r\n };\r\n _proto._attachEvents = function() {\r\n return (0, _common.noop)()\r\n };\r\n _proto._cleanCellDataCache = function() {\r\n return (0, _common.noop)()\r\n };\r\n _proto.isIndicationAvailable = function() {\r\n return false\r\n };\r\n _proto._prepareCellTemplateOptions = function(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 && (0, _utils.getPathToLeaf)(rowIndex, groupsOpt) || [];\r\n path.forEach((function(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: (0, _element.getPublicElement)($cell),\r\n index: rowIndex\r\n }\r\n };\r\n _proto._renderTableBody = function(options) {\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 = (0, _renderer.default)(\"<tr>\");\r\n var $td = (0, _renderer.default)(\"<td>\");\r\n (0, _size.setHeight)($td, this._getRowHeight(rowSize));\r\n if (options.getStartDate) {\r\n date = options.getStartDate && options.getStartDate(rowIndex);\r\n cellDateNumber = _date.default.format(date, \"d\");\r\n cellDayName = _date.default.format(date, _base.formatWeekday)\r\n }\r\n if (cellTemplateOpt && cellTemplateOpt.render) {\r\n var templateOptions = this._prepareCellTemplateOptions(cellDateNumber + \" \" + 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(cellDateNumber + \" \" + 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 (0, _iterator.each)(this._rows[i], fillTableBody);\r\n this._setLastRowClass()\r\n }(0, _renderer.default)(options.container).append((0, _renderer.default)(\"<tbody>\").append(this._$rows));\r\n this._applyCellTemplates(cellTemplates)\r\n };\r\n _proto._setLastRowClass = function() {\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 _proto._renderTimePanel = function() {\r\n this._renderTableBody({\r\n container: (0, _element.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 _proto._getTimePanelStartDate = function(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 _proto._getRowHeight = function(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 _proto._getGroupRowHeight = function(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 _proto._calculateRows = function(appointments) {\r\n return this.renderingStrategy.calculateRows(appointments, this.option(\"agendaDuration\"), this.option(\"currentDate\"))\r\n };\r\n _proto.onDataSourceChanged = function(appointments) {\r\n _WorkSpace.prototype.onDataSourceChanged.call(this);\r\n this._renderView();\r\n var rows = this._calculateRows(appointments);\r\n this._recalculateAgenda(rows)\r\n };\r\n _proto.getAgendaVerticalStepHeight = function() {\r\n return this.option(\"rowHeight\")\r\n };\r\n _proto.getEndViewDate = function() {\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 _proto.getEndViewDateByEndDayHour = function() {\r\n return this.getEndViewDate()\r\n };\r\n _proto.getCellDataByCoordinates = function() {\r\n return {\r\n startDate: null,\r\n endDate: null\r\n }\r\n };\r\n _proto.updateScrollPosition = function(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 _proto.needUpdateScrollPosition = function(hours, minutes, bounds) {\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 _proto.renovatedRenderSupported = function() {\r\n return false\r\n };\r\n _proto._setSelectedCellsByCellData = function() {};\r\n _proto._getIntervalDuration = function() {\r\n return _date2.default.dateToMilliseconds(\"day\") * this.option(\"intervalCount\")\r\n };\r\n _proto.getDOMElementsMetaData = function() {\r\n return {\r\n dateTableCellsMeta: [\r\n [{}]\r\n ],\r\n allDayPanelCellsMeta: [{}]\r\n }\r\n };\r\n _createClass(SchedulerAgenda, [{\r\n key: \"type\",\r\n get: function() {\r\n return _constants.VIEWS.AGENDA\r\n }\r\n }, {\r\n key: \"renderingStrategy\",\r\n get: function() {\r\n return this.invoke(\"getLayoutManager\").getRenderingStrategyInstance()\r\n }\r\n }, {\r\n key: \"appointmentDataProvider\",\r\n get: function() {\r\n return this.option(\"getAppointmentDataProvider\")()\r\n }\r\n }]);\r\n return SchedulerAgenda\r\n}(_uiScheduler.default);\r\n(0, _component_registrator.default)(\"dxSchedulerAgenda\", SchedulerAgenda);\r\nvar _default = SchedulerAgenda;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/scheduler/workspaces/ui.scheduler.timeline.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.default = void 0;\r\nvar _size = require(\"../../../core/utils/size\");\r\nvar _renderer = _interopRequireDefault(require(\"../../../core/renderer\"));\r\nvar _common = require(\"../../../core/utils/common\");\r\nvar _extend = require(\"../../../core/utils/extend\");\r\nvar _position = require(\"../../../core/utils/position\");\r\nvar _component_registrator = _interopRequireDefault(require(\"../../../core/component_registrator\"));\r\nvar _uiSchedulerWork_space = _interopRequireDefault(require(\"./ui.scheduler.work_space.indicator\"));\r\nvar _date = _interopRequireDefault(require(\"../../../core/utils/date\"));\r\nvar _table_creator = _interopRequireDefault(require(\"../table_creator\"));\r\nvar _uiSchedulerCurrent_time_shader = _interopRequireDefault(require(\"../shaders/ui.scheduler.current_time_shader.horizontal\"));\r\nvar _classes = require(\"../classes\");\r\nvar _timeline_week = require(\"../../../renovation/ui/scheduler/view_model/to_test/views/utils/timeline_week\");\r\nvar _utils = _interopRequireDefault(require(\"../utils.timeZone\"));\r\nvar _layout = _interopRequireDefault(require(\"../../../renovation/ui/scheduler/workspaces/timeline/header_panel/layout.j\"));\r\nvar _base = require(\"../../../renovation/ui/scheduler/view_model/to_test/views/utils/base\");\r\nvar _window = require(\"../../../core/utils/window\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _toConsumableArray(arr) {\r\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread()\r\n}\r\n\r\nfunction _nonIterableSpread() {\r\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _unsupportedIterableToArray(o, minLen) {\r\n if (!o) {\r\n return\r\n }\r\n if (\"string\" === typeof o) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n var n = Object.prototype.toString.call(o).slice(8, -1);\r\n if (\"Object\" === n && o.constructor) {\r\n n = o.constructor.name\r\n }\r\n if (\"Map\" === n || \"Set\" === n) {\r\n return Array.from(o)\r\n }\r\n if (\"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n}\r\n\r\nfunction _iterableToArray(iter) {\r\n if (\"undefined\" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter[\"@@iterator\"]) {\r\n return Array.from(iter)\r\n }\r\n}\r\n\r\nfunction _arrayWithoutHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return _arrayLikeToArray(arr)\r\n }\r\n}\r\n\r\nfunction _arrayLikeToArray(arr, len) {\r\n if (null == len || len > arr.length) {\r\n len = arr.length\r\n }\r\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\r\n arr2[i] = arr[i]\r\n }\r\n return arr2\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar tableCreator = _table_creator.default.tableCreator;\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 = _date.default.dateToMilliseconds;\r\nvar SchedulerTimeline = function(_SchedulerWorkSpace) {\r\n _inheritsLoose(SchedulerTimeline, _SchedulerWorkSpace);\r\n\r\n function SchedulerTimeline() {\r\n return _SchedulerWorkSpace.apply(this, arguments) || this\r\n }\r\n var _proto = SchedulerTimeline.prototype;\r\n _proto.getGroupTableWidth = function() {\r\n return this._$sidebarTable ? (0, _size.getOuterWidth)(this._$sidebarTable) : 0\r\n };\r\n _proto._getTotalRowCount = function(groupCount) {\r\n if (this._isHorizontalGroupedWorkSpace()) {\r\n return this._getRowCount()\r\n } else {\r\n groupCount = groupCount || 1;\r\n return this._getRowCount() * groupCount\r\n }\r\n };\r\n _proto._getFormat = function() {\r\n return \"shorttime\"\r\n };\r\n _proto._getWorkSpaceHeight = function() {\r\n if (this.option(\"crossScrollingEnabled\") && (0, _window.hasWindow)()) {\r\n return (0, _position.getBoundingRect)(this._$dateTable.get(0)).height\r\n }\r\n return (0, _position.getBoundingRect)(this.$element().get(0)).height\r\n };\r\n _proto._dateTableScrollableConfig = function() {\r\n var config = _SchedulerWorkSpace.prototype._dateTableScrollableConfig.call(this);\r\n var timelineConfig = {\r\n direction: HORIZONTAL\r\n };\r\n return this.option(\"crossScrollingEnabled\") ? config : (0, _extend.extend)(config, timelineConfig)\r\n };\r\n _proto._needCreateCrossScrolling = function() {\r\n return true\r\n };\r\n _proto._headerScrollableConfig = function() {\r\n var config = _SchedulerWorkSpace.prototype._headerScrollableConfig.call(this);\r\n return (0, _extend.extend)(config, {\r\n scrollByContent: true\r\n })\r\n };\r\n _proto.supportAllDayRow = function() {\r\n return false\r\n };\r\n _proto._getGroupHeaderContainer = function() {\r\n if (this._isHorizontalGroupedWorkSpace()) {\r\n return this._$thead\r\n }\r\n return this._$sidebarTable\r\n };\r\n _proto._insertAllDayRowsIntoDateTable = function() {\r\n return false\r\n };\r\n _proto._needRenderWeekHeader = function() {\r\n return false\r\n };\r\n _proto._incrementDate = function(date) {\r\n date.setDate(date.getDate() + 1)\r\n };\r\n _proto.getIndicationCellCount = function() {\r\n var timeDiff = this._getTimeDiff();\r\n return this._calculateDurationInCells(timeDiff)\r\n };\r\n _proto._getTimeDiff = function() {\r\n var today = this._getToday();\r\n var date = this._getIndicationFirstViewDate();\r\n var startViewDate = this.getStartViewDate();\r\n var dayLightOffset = _utils.default.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 _proto._calculateDurationInCells = function(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 _proto.getIndicationWidth = function() {\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 } else {\r\n return this.getIndicationCellCount() * this.getCellWidth()\r\n }\r\n };\r\n _proto._isVerticalShader = function() {\r\n return false\r\n };\r\n _proto._isCurrentTimeHeaderCell = function() {\r\n return false\r\n };\r\n _proto._setTableSizes = function() {\r\n var minHeight = this._getWorkSpaceMinHeight();\r\n (0, _size.setHeight)(this._$sidebarTable, minHeight);\r\n (0, _size.setHeight)(this._$dateTable, minHeight);\r\n _SchedulerWorkSpace.prototype._setTableSizes.call(this);\r\n this.virtualScrollingDispatcher.updateDimensions()\r\n };\r\n _proto._getWorkSpaceMinHeight = function() {\r\n var minHeight = this._getWorkSpaceHeight();\r\n var workspaceContainerHeight = (0, _size.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 _proto._getCellCoordinatesByIndex = function(index) {\r\n return {\r\n columnIndex: index % this._getCellCount(),\r\n rowIndex: 0\r\n }\r\n };\r\n _proto._getCellByCoordinates = function(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 _proto._getWorkSpaceWidth = function() {\r\n return (0, _size.getOuterWidth)(this._$dateTable, true)\r\n };\r\n _proto._getIndicationFirstViewDate = function() {\r\n return _date.default.trimTime(new Date(this.getStartViewDate()))\r\n };\r\n _proto._getIntervalBetween = function(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 = _date.default.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 - _date.default.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 _proto._getWeekendsCount = function() {\r\n return 0\r\n };\r\n _proto.getAllDayContainer = function() {\r\n return null\r\n };\r\n _proto.getTimePanelWidth = function() {\r\n return 0\r\n };\r\n _proto.getIntervalDuration = function(allDay) {\r\n return this.getCellDuration()\r\n };\r\n _proto.getCellMinWidth = function() {\r\n return 0\r\n };\r\n _proto.getWorkSpaceLeftOffset = function() {\r\n return 0\r\n };\r\n _proto.scrollToTime = function(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\") ? (0, _position.getBoundingRect)(this.getScrollableContainer().get(0)).width : 0;\r\n if (this.option(\"templatesRenderAsynchronously\")) {\r\n setTimeout((function() {\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 _proto.renderRAllDayPanel = function() {};\r\n _proto.renderRTimeTable = function() {};\r\n _proto._renderGroupAllDayPanel = function() {};\r\n _proto.generateRenderOptions = function() {\r\n var options = _SchedulerWorkSpace.prototype.generateRenderOptions.call(this, true);\r\n return _extends({}, options, {\r\n isGenerateWeekDaysHeaderData: this._needRenderWeekHeader(),\r\n getDateForHeaderText: _timeline_week.getDateForHeaderText\r\n })\r\n };\r\n _proto._init = function() {\r\n _SchedulerWorkSpace.prototype._init.call(this);\r\n this.$element().addClass(TIMELINE_CLASS);\r\n this._$sidebarTable = (0, _renderer.default)(\"<div>\").addClass(GROUP_TABLE_CLASS)\r\n };\r\n _proto._getDefaultGroupStrategy = function() {\r\n return \"vertical\"\r\n };\r\n _proto._toggleGroupingDirectionClass = function() {\r\n this.$element().toggleClass(HORIZONTAL_GROUPED_WORKSPACE_CLASS, this._isHorizontalGroupedWorkSpace())\r\n };\r\n _proto._getDefaultOptions = function() {\r\n return (0, _extend.extend)(_SchedulerWorkSpace.prototype._getDefaultOptions.call(this), {\r\n groupOrientation: \"vertical\"\r\n })\r\n };\r\n _proto._createWorkSpaceElements = function() {\r\n this._createWorkSpaceScrollableElements()\r\n };\r\n _proto._toggleAllDayVisibility = function() {\r\n return (0, _common.noop)()\r\n };\r\n _proto._changeAllDayVisibility = function() {\r\n return (0, _common.noop)()\r\n };\r\n _proto._getDateHeaderTemplate = function() {\r\n return this.option(\"timeCellTemplate\")\r\n };\r\n _proto._renderView = function() {\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 _uiSchedulerCurrent_time_shader.default(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 _proto._setHorizontalGroupHeaderCellsHeight = function() {\r\n return (0, _common.noop)()\r\n };\r\n _proto._setCurrentTimeCells = function() {\r\n var timePanelCells = this._getTimePanelCells();\r\n var currentTimeCellIndices = this._getCurrentTimePanelCellIndices();\r\n currentTimeCellIndices.forEach((function(timePanelCellIndex) {\r\n timePanelCells.eq(timePanelCellIndex).addClass(_classes.HEADER_CURRENT_TIME_CELL_CLASS)\r\n }))\r\n };\r\n _proto._cleanCurrentTimeCells = function() {\r\n this.$element().find(\".\".concat(_classes.HEADER_CURRENT_TIME_CELL_CLASS)).removeClass(_classes.HEADER_CURRENT_TIME_CELL_CLASS)\r\n };\r\n _proto._getTimePanelCells = function() {\r\n return this.$element().find(\".\".concat(HEADER_PANEL_CELL_CLASS, \":not(.\").concat(HEADER_PANEL_WEEK_CELL_CLASS, \")\"))\r\n };\r\n _proto._getCurrentTimePanelCellIndices = function() {\r\n var columnCountPerGroup = this._getCellCount();\r\n var today = this._getToday();\r\n var index = this.getCellIndexByDate(today);\r\n var _this$_getCellCoordin = this._getCellCoordinatesByIndex(index),\r\n currentTimeColumnIndex = _this$_getCellCoordin.columnIndex;\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 _toConsumableArray(new Array(horizontalGroupCount)).map((function(_, groupIndex) {\r\n return columnCountPerGroup * groupIndex + currentTimeColumnIndex\r\n }))\r\n };\r\n _proto._renderTimePanel = function() {\r\n return (0, _common.noop)()\r\n };\r\n _proto._renderAllDayPanel = function() {\r\n return (0, _common.noop)()\r\n };\r\n _proto._createAllDayPanelElements = function() {\r\n return (0, _common.noop)()\r\n };\r\n _proto._renderDateHeader = function() {\r\n var $headerRow = _SchedulerWorkSpace.prototype._renderDateHeader.call(this);\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 = (0, _renderer.default)(\"<th>\");\r\n var text = (0, _base.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 = (0, _renderer.default)(\"<tr>\").addClass(HEADER_ROW_CLASS).append($cells);\r\n $headerRow.before($row)\r\n }\r\n };\r\n _proto._renderIndicator = function(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 (0, _size.setHeight)($indicator, (0, _position.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 (0, _size.setHeight)($indicator, (0, _position.getBoundingRect)($container.get(0)).height);\r\n $indicator.css(\"left\", rtlOffset ? rtlOffset - width - offset : width + offset)\r\n }\r\n }\r\n };\r\n _proto._makeGroupRows = function(groups, groupByDate) {\r\n var tableCreatorStrategy = \"vertical\" === this.option(\"groupOrientation\") ? tableCreator.VERTICAL : tableCreator.HORIZONTAL;\r\n return tableCreator.makeGroupedTable(tableCreatorStrategy, groups, {\r\n groupRowClass: _classes.GROUP_ROW_CLASS,\r\n groupHeaderRowClass: _classes.GROUP_ROW_CLASS,\r\n groupHeaderClass: this._getGroupHeaderClass.bind(this),\r\n groupHeaderContentClass: _classes.GROUP_HEADER_CONTENT_CLASS\r\n }, this._getCellCount() || 1, this.option(\"resourceCellTemplate\"), this._getTotalRowCount(this._getGroupCount()), groupByDate)\r\n };\r\n _createClass(SchedulerTimeline, [{\r\n key: \"verticalGroupTableClass\",\r\n get: function() {\r\n return GROUP_TABLE_CLASS\r\n }\r\n }, {\r\n key: \"viewDirection\",\r\n get: function() {\r\n return \"horizontal\"\r\n }\r\n }, {\r\n key: \"renovatedHeaderPanelComponent\",\r\n get: function() {\r\n return _layout.default\r\n }\r\n }]);\r\n return SchedulerTimeline\r\n}(_uiSchedulerWork_space.default);\r\n(0, _component_registrator.default)(\"dxSchedulerTimeline\", SchedulerTimeline);\r\nvar _default = SchedulerTimeline;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/scheduler/workspaces/ui.scheduler.timeline_day.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.default = void 0;\r\nvar _component_registrator = _interopRequireDefault(require(\"../../../core/component_registrator\"));\r\nvar _constants = require(\"../constants\");\r\nvar _uiScheduler = _interopRequireDefault(require(\"./ui.scheduler.timeline\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar TIMELINE_CLASS = \"dx-scheduler-timeline-day\";\r\nvar SchedulerTimelineDay = function(_SchedulerTimeline) {\r\n _inheritsLoose(SchedulerTimelineDay, _SchedulerTimeline);\r\n\r\n function SchedulerTimelineDay() {\r\n return _SchedulerTimeline.apply(this, arguments) || this\r\n }\r\n var _proto = SchedulerTimelineDay.prototype;\r\n _proto._getElementClass = function() {\r\n return TIMELINE_CLASS\r\n };\r\n _proto._needRenderWeekHeader = function() {\r\n return this._isWorkSpaceWithCount()\r\n };\r\n _createClass(SchedulerTimelineDay, [{\r\n key: \"type\",\r\n get: function() {\r\n return _constants.VIEWS.TIMELINE_DAY\r\n }\r\n }]);\r\n return SchedulerTimelineDay\r\n}(_uiScheduler.default);\r\n(0, _component_registrator.default)(\"dxSchedulerTimelineDay\", SchedulerTimelineDay);\r\nvar _default = SchedulerTimelineDay;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/scheduler/workspaces/ui.scheduler.timeline_month.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.default = void 0;\r\nvar _component_registrator = _interopRequireDefault(require(\"../../../core/component_registrator\"));\r\nvar _uiScheduler = _interopRequireDefault(require(\"./ui.scheduler.timeline\"));\r\nvar _date = _interopRequireDefault(require(\"../../../core/utils/date\"));\r\nvar _layout = _interopRequireDefault(require(\"../../../renovation/ui/scheduler/workspaces/base/header_panel/layout.j\"));\r\nvar _month = require(\"../../../renovation/ui/scheduler/view_model/to_test/views/utils/month\");\r\nvar _base = require(\"../../../renovation/ui/scheduler/view_model/to_test/views/utils/base\");\r\nvar _constants = require(\"../constants\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar TIMELINE_CLASS = \"dx-scheduler-timeline-month\";\r\nvar SchedulerTimelineMonth = function(_SchedulerTimeline) {\r\n _inheritsLoose(SchedulerTimelineMonth, _SchedulerTimeline);\r\n\r\n function SchedulerTimelineMonth() {\r\n return _SchedulerTimeline.apply(this, arguments) || this\r\n }\r\n var _proto = SchedulerTimelineMonth.prototype;\r\n _proto._renderView = function() {\r\n _SchedulerTimeline.prototype._renderView.call(this);\r\n this._updateScrollable()\r\n };\r\n _proto._getElementClass = function() {\r\n return TIMELINE_CLASS\r\n };\r\n _proto._getDateHeaderTemplate = function() {\r\n return this.option(\"dateCellTemplate\")\r\n };\r\n _proto._calculateDurationInCells = function(timeDiff) {\r\n return timeDiff / this.getCellDuration()\r\n };\r\n _proto.isIndicatorVisible = function() {\r\n return true\r\n };\r\n _proto._getFormat = function() {\r\n return _base.formatWeekdayAndDay\r\n };\r\n _proto._getIntervalBetween = function(currentDate) {\r\n var firstViewDate = this.getStartViewDate();\r\n var timeZoneOffset = _date.default.getTimezonesDifference(firstViewDate, currentDate);\r\n return currentDate.getTime() - (firstViewDate.getTime() - 36e5 * this.option(\"startDayHour\")) - timeZoneOffset\r\n };\r\n _proto._getViewStartByOptions = function() {\r\n return (0, _month.getViewStartByOptions)(this.option(\"startDate\"), this.option(\"currentDate\"), this.option(\"intervalCount\"), _date.default.getFirstMonthDate(this.option(\"startDate\")))\r\n };\r\n _proto.generateRenderOptions = function() {\r\n var options = _SchedulerTimeline.prototype.generateRenderOptions.call(this, true);\r\n return _extends({}, options, {\r\n getDateForHeaderText: function(_, date) {\r\n return date\r\n }\r\n })\r\n };\r\n _createClass(SchedulerTimelineMonth, [{\r\n key: \"type\",\r\n get: function() {\r\n return _constants.VIEWS.TIMELINE_MONTH\r\n }\r\n }, {\r\n key: \"viewDirection\",\r\n get: function() {\r\n return \"horizontal\"\r\n }\r\n }, {\r\n key: \"renovatedHeaderPanelComponent\",\r\n get: function() {\r\n return _layout.default\r\n }\r\n }]);\r\n return SchedulerTimelineMonth\r\n}(_uiScheduler.default);\r\n(0, _component_registrator.default)(\"dxSchedulerTimelineMonth\", SchedulerTimelineMonth);\r\nvar _default = SchedulerTimelineMonth;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/scheduler/workspaces/ui.scheduler.timeline_week.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.default = void 0;\r\nvar _component_registrator = _interopRequireDefault(require(\"../../../core/component_registrator\"));\r\nvar _uiScheduler = _interopRequireDefault(require(\"./ui.scheduler.timeline\"));\r\nvar _position = require(\"../../../core/utils/position\");\r\nvar _constants = require(\"../constants\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar TIMELINE_CLASS = \"dx-scheduler-timeline-week\";\r\nvar SchedulerTimelineWeek = function(_SchedulerTimeline) {\r\n _inheritsLoose(SchedulerTimelineWeek, _SchedulerTimeline);\r\n\r\n function SchedulerTimelineWeek() {\r\n return _SchedulerTimeline.apply(this, arguments) || this\r\n }\r\n var _proto = SchedulerTimelineWeek.prototype;\r\n _proto._getElementClass = function() {\r\n return TIMELINE_CLASS\r\n };\r\n _proto._getHeaderPanelCellWidth = function($headerRow) {\r\n return (0, _position.getBoundingRect)($headerRow.children().first().get(0)).width\r\n };\r\n _proto._needRenderWeekHeader = function() {\r\n return true\r\n };\r\n _proto._incrementDate = function(date) {\r\n date.setDate(date.getDate() + 1)\r\n };\r\n _createClass(SchedulerTimelineWeek, [{\r\n key: \"type\",\r\n get: function() {\r\n return _constants.VIEWS.TIMELINE_WEEK\r\n }\r\n }]);\r\n return SchedulerTimelineWeek\r\n}(_uiScheduler.default);\r\nexports.default = SchedulerTimelineWeek;\r\n(0, _component_registrator.default)(\"dxSchedulerTimelineWeek\", SchedulerTimelineWeek);\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/scheduler/workspaces/ui.scheduler.timeline_work_week.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.default = void 0;\r\nvar _component_registrator = _interopRequireDefault(require(\"../../../core/component_registrator\"));\r\nvar _constants = require(\"../constants\");\r\nvar _uiScheduler = _interopRequireDefault(require(\"./ui.scheduler.timeline_week\"));\r\nvar _work_week = require(\"../../../renovation/ui/scheduler/view_model/to_test/views/utils/work_week\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar TIMELINE_CLASS = \"dx-scheduler-timeline-work-week\";\r\nvar LAST_DAY_WEEK_INDEX = 5;\r\nvar SchedulerTimelineWorkWeek = function(_SchedulerTimelineWee) {\r\n _inheritsLoose(SchedulerTimelineWorkWeek, _SchedulerTimelineWee);\r\n\r\n function SchedulerTimelineWorkWeek() {\r\n var _this;\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 = _SchedulerTimelineWee.call.apply(_SchedulerTimelineWee, [this].concat(args)) || this;\r\n _this._getWeekendsCount = _work_week.getWeekendsCount;\r\n return _this\r\n }\r\n var _proto = SchedulerTimelineWorkWeek.prototype;\r\n _proto._getElementClass = function() {\r\n return TIMELINE_CLASS\r\n };\r\n _proto._incrementDate = function(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 _SchedulerTimelineWee.prototype._incrementDate.call(this, date)\r\n };\r\n _createClass(SchedulerTimelineWorkWeek, [{\r\n key: \"type\",\r\n get: function() {\r\n return _constants.VIEWS.TIMELINE_WORK_WEEK\r\n }\r\n }]);\r\n return SchedulerTimelineWorkWeek\r\n}(_uiScheduler.default);\r\n(0, _component_registrator.default)(\"dxSchedulerTimelineWorkWeek\", SchedulerTimelineWorkWeek);\r\nvar _default = SchedulerTimelineWorkWeek;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/scheduler/workspaces/ui.scheduler.virtual_scrolling.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.VirtualScrollingRenderer = exports.VirtualScrollingDispatcher = void 0;\r\nvar _dom_adapter = _interopRequireDefault(require(\"../../../core/dom_adapter\"));\r\nvar _events_engine = _interopRequireDefault(require(\"../../../events/core/events_engine\"));\r\nvar _window = require(\"../../../core/utils/window\");\r\nvar _index = require(\"../../../events/utils/index\");\r\nvar _type = require(\"../../../core/utils/type\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\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 = (0, _index.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\nvar VirtualScrollingDispatcher = function() {\r\n function VirtualScrollingDispatcher(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 var _proto = VirtualScrollingDispatcher.prototype;\r\n _proto.setViewOptions = function(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 _proto.getRenderState = function() {\r\n var _this$verticalVirtual, _this$horizontalVirtu;\r\n var verticalRenderState = (null === (_this$verticalVirtual = this.verticalVirtualScrolling) || void 0 === _this$verticalVirtual ? void 0 : _this$verticalVirtual.getRenderState()) || {};\r\n var horizontalRenderState = (null === (_this$horizontalVirtu = this.horizontalVirtualScrolling) || void 0 === _this$horizontalVirtu ? void 0 : _this$horizontalVirtu.getRenderState()) || {};\r\n return _extends({}, verticalRenderState, horizontalRenderState)\r\n };\r\n _proto.getCellHeight = function() {\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 _proto.getCellWidth = function() {\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 _proto.calculateCoordinatesByDataAndPosition = function(cellData, position, date, isCalculateTime, isVerticalDirectionView) {\r\n var rowIndex = position.rowIndex,\r\n columnIndex = position.columnIndex;\r\n var startDate = cellData.startDate,\r\n endDate = cellData.endDate,\r\n allDay = cellData.allDay;\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 _proto.dispose = function() {\r\n if (this._onScrollHandler) {\r\n _events_engine.default.off(this.document, DOCUMENT_SCROLL_EVENT_NAMESPACE, this._onScrollHandler)\r\n }\r\n };\r\n _proto.createVirtualScrolling = function() {\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 _proto._createVirtualScrollingBase = function() {\r\n if (this.verticalScrollingAllowed) {\r\n this.verticalVirtualScrolling = new VerticalVirtualScrolling(_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({}, 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 _proto.isAttachWindowScrollEvent = function() {\r\n return (this.horizontalScrollingAllowed || this.verticalScrollingAllowed) && !this.height\r\n };\r\n _proto.attachScrollableEvents = function() {\r\n if (this.isAttachWindowScrollEvent()) {\r\n this._attachWindowScroll()\r\n }\r\n };\r\n _proto._attachWindowScroll = function() {\r\n var _this = this;\r\n var window = (0, _window.getWindow)();\r\n this._onScrollHandler = this.options.createAction((function() {\r\n var scrollX = window.scrollX,\r\n scrollY = window.scrollY;\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 _events_engine.default.on(this.document, DOCUMENT_SCROLL_EVENT_NAMESPACE, this._onScrollHandler)\r\n };\r\n _proto.handleOnScrollEvent = function(scrollPosition) {\r\n if (scrollPosition) {\r\n var _this$verticalVirtual2, _this$horizontalVirtu2;\r\n var left = scrollPosition.left,\r\n top = scrollPosition.top;\r\n var verticalStateChanged = (0, _type.isDefined)(top) && (null === (_this$verticalVirtual2 = this.verticalVirtualScrolling) || void 0 === _this$verticalVirtual2 ? void 0 : _this$verticalVirtual2.updateState(top));\r\n var horizontalStateChanged = (0, _type.isDefined)(left) && (null === (_this$horizontalVirtu2 = this.horizontalVirtualScrolling) || void 0 === _this$horizontalVirtu2 ? void 0 : _this$horizontalVirtu2.updateState(left));\r\n if (verticalStateChanged || horizontalStateChanged) {\r\n var _this$options$updateR, _this$options;\r\n null === (_this$options$updateR = (_this$options = this.options).updateRender) || void 0 === _this$options$updateR ? void 0 : _this$options$updateR.call(_this$options)\r\n }\r\n }\r\n };\r\n _proto.updateDimensions = function(isForce) {\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 var _this$options$updateG, _this$options2;\r\n null === (_this$options$updateG = (_this$options2 = this.options).updateGrid) || void 0 === _this$options$updateG ? void 0 : _this$options$updateG.call(_this$options2)\r\n }\r\n };\r\n _createClass(VirtualScrollingDispatcher, [{\r\n key: \"isRTL\",\r\n get: function() {\r\n return this.options.isRTL()\r\n }\r\n }, {\r\n key: \"verticalVirtualScrolling\",\r\n get: function() {\r\n return this._verticalVirtualScrolling\r\n },\r\n set: function(value) {\r\n this._verticalVirtualScrolling = value\r\n }\r\n }, {\r\n key: \"horizontalVirtualScrolling\",\r\n get: function() {\r\n return this._horizontalVirtualScrolling\r\n },\r\n set: function(value) {\r\n this._horizontalVirtualScrolling = value\r\n }\r\n }, {\r\n key: \"document\",\r\n get: function() {\r\n return _dom_adapter.default.getDocument()\r\n }\r\n }, {\r\n key: \"height\",\r\n get: function() {\r\n return this.options.getSchedulerHeight()\r\n }\r\n }, {\r\n key: \"width\",\r\n get: function() {\r\n return this.options.getSchedulerWidth()\r\n }\r\n }, {\r\n key: \"rowHeight\",\r\n get: function() {\r\n return this._rowHeight\r\n },\r\n set: function(value) {\r\n this._rowHeight = value\r\n }\r\n }, {\r\n key: \"outlineCount\",\r\n get: function() {\r\n return this.options.getScrolling().outlineCount\r\n }\r\n }, {\r\n key: \"cellWidth\",\r\n get: function() {\r\n return this._cellWidth\r\n },\r\n set: function(value) {\r\n this._cellWidth = value\r\n }\r\n }, {\r\n key: \"viewportWidth\",\r\n get: function() {\r\n var width = this.width && this.options.getViewWidth();\r\n return width > 0 ? width : this.options.getWindowWidth()\r\n }\r\n }, {\r\n key: \"viewportHeight\",\r\n get: function() {\r\n var height = this.height && this.options.getViewHeight();\r\n return height > 0 ? height : this.options.getWindowHeight()\r\n }\r\n }, {\r\n key: \"cellCountInsideTopVirtualRow\",\r\n get: function() {\r\n var _this$verticalScrolli;\r\n return (null === (_this$verticalScrolli = this.verticalScrollingState) || void 0 === _this$verticalScrolli ? void 0 : _this$verticalScrolli.virtualItemCountBefore) || 0\r\n }\r\n }, {\r\n key: \"cellCountInsideLeftVirtualCell\",\r\n get: function() {\r\n var _this$horizontalScrol;\r\n return (null === (_this$horizontalScrol = this.horizontalScrollingState) || void 0 === _this$horizontalScrol ? void 0 : _this$horizontalScrol.virtualItemCountBefore) || 0\r\n }\r\n }, {\r\n key: \"cellCountInsideRightVirtualCell\",\r\n get: function() {\r\n var _this$horizontalScrol2;\r\n return (null === (_this$horizontalScrol2 = this.horizontalScrollingState) || void 0 === _this$horizontalScrol2 ? void 0 : _this$horizontalScrol2.virtualItemCountAfter) || 0\r\n }\r\n }, {\r\n key: \"topVirtualRowsCount\",\r\n get: function() {\r\n return this.cellCountInsideTopVirtualRow > 0 ? 1 : 0\r\n }\r\n }, {\r\n key: \"leftVirtualCellsCount\",\r\n get: function() {\r\n var virtualItemsCount = !this.isRTL ? this.cellCountInsideLeftVirtualCell : this.cellCountInsideRightVirtualCell;\r\n return virtualItemsCount > 0 ? 1 : 0\r\n }\r\n }, {\r\n key: \"virtualRowOffset\",\r\n get: function() {\r\n var _this$verticalScrolli2;\r\n return (null === (_this$verticalScrolli2 = this.verticalScrollingState) || void 0 === _this$verticalScrolli2 ? void 0 : _this$verticalScrolli2.virtualItemSizeBefore) || 0\r\n }\r\n }, {\r\n key: \"virtualCellOffset\",\r\n get: function() {\r\n var _this$horizontalScrol3;\r\n return (null === (_this$horizontalScrol3 = this.horizontalScrollingState) || void 0 === _this$horizontalScrol3 ? void 0 : _this$horizontalScrol3.virtualItemSizeBefore) || 0\r\n }\r\n }, {\r\n key: \"scrollingState\",\r\n get: function() {\r\n var _this$verticalVirtual3, _this$horizontalVirtu3;\r\n return {\r\n vertical: null === (_this$verticalVirtual3 = this.verticalVirtualScrolling) || void 0 === _this$verticalVirtual3 ? void 0 : _this$verticalVirtual3.state,\r\n horizontal: null === (_this$horizontalVirtu3 = this.horizontalVirtualScrolling) || void 0 === _this$horizontalVirtu3 ? void 0 : _this$horizontalVirtu3.state\r\n }\r\n }\r\n }, {\r\n key: \"verticalScrollingState\",\r\n get: function() {\r\n return this.scrollingState.vertical\r\n }\r\n }, {\r\n key: \"horizontalScrollingState\",\r\n get: function() {\r\n return this.scrollingState.horizontal\r\n }\r\n }, {\r\n key: \"scrollingOrientation\",\r\n get: function() {\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 }, {\r\n key: \"verticalScrollingAllowed\",\r\n get: function() {\r\n return this.scrollingOrientation === scrollingOrientations.vertical || this.scrollingOrientation === scrollingOrientations.both\r\n }\r\n }, {\r\n key: \"horizontalScrollingAllowed\",\r\n get: function() {\r\n return this.scrollingOrientation === scrollingOrientations.horizontal || this.scrollingOrientation === scrollingOrientations.both\r\n }\r\n }]);\r\n return VirtualScrollingDispatcher\r\n}();\r\nexports.VirtualScrollingDispatcher = VirtualScrollingDispatcher;\r\nvar VirtualScrollingBase = function() {\r\n function VirtualScrollingBase(options) {\r\n this.options = options;\r\n this._state = this.defaultState;\r\n this.viewportSize = options.viewportSize;\r\n this._itemSize = options.itemSize;\r\n this._position = -1;\r\n this._itemSizeChanged = false;\r\n this.updateState(0)\r\n }\r\n var _proto2 = VirtualScrollingBase.prototype;\r\n _proto2.needUpdateState = function(position) {\r\n var _this$state = this.state,\r\n prevPosition = _this$state.prevPosition,\r\n startIndex = _this$state.startIndex;\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 _proto2._validateAndSavePosition = function(position) {\r\n if (!(0, _type.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 _proto2._correctPosition = function(position) {\r\n return position >= 0 ? Math.min(position, this.maxScrollPosition) : -1\r\n };\r\n _proto2.updateState = function(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 _this$_calcItemInfoAf = this._calcItemInfoAfter(itemsDeltaBefore),\r\n outlineCountAfter = _this$_calcItemInfoAf.outlineCountAfter,\r\n virtualItemCountAfter = _this$_calcItemInfoAf.virtualItemCountAfter,\r\n itemCountWithAfter = _this$_calcItemInfoAf.itemCountWithAfter;\r\n var virtualItemCountBefore = itemsInfoBefore.virtualItemCountBefore,\r\n outlineCountBefore = itemsInfoBefore.outlineCountBefore;\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 _proto2.reinitState = function(itemSize, isForceUpdate) {\r\n var position = this.position;\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 _proto2._calcItemInfoBefore = function(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 _proto2._calcItemDeltaBefore = function(itemInfoBefore) {\r\n var virtualItemCountBefore = itemInfoBefore.virtualItemCountBefore,\r\n outlineCountBefore = itemInfoBefore.outlineCountBefore;\r\n var totalItemCount = this.getTotalItemCount();\r\n return totalItemCount - virtualItemCountBefore - outlineCountBefore\r\n };\r\n _proto2.getTotalItemCount = function() {\r\n throw \"getTotalItemCount method should be implemented\"\r\n };\r\n _proto2.getRenderState = function() {\r\n throw \"getRenderState method should be implemented\"\r\n };\r\n _proto2._calcItemInfoAfter = function(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 _proto2._updateStateCore = function() {\r\n var state = this.state;\r\n var virtualItemCountBefore = state.virtualItemCountBefore;\r\n var virtualItemCountAfter = state.virtualItemCountAfter;\r\n var outlineCountBefore = state.outlineCountBefore;\r\n var outlineCountAfter = state.outlineCountAfter;\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 _proto2._updateStateVirtualItems = function(virtualItemSizeBefore, virtualItemSizeAfter) {\r\n var state = this.state;\r\n state.virtualItemSizeBefore = virtualItemSizeBefore;\r\n state.virtualItemSizeAfter = virtualItemSizeAfter\r\n };\r\n _createClass(VirtualScrollingBase, [{\r\n key: \"itemSize\",\r\n get: function() {\r\n return this._itemSize\r\n },\r\n set: function(value) {\r\n this._itemSizeChanged = this._itemSize !== value;\r\n this._itemSize = value\r\n }\r\n }, {\r\n key: \"state\",\r\n get: function() {\r\n return this._state\r\n },\r\n set: function(value) {\r\n this._state = value\r\n }\r\n }, {\r\n key: \"startIndex\",\r\n get: function() {\r\n return this.state.startIndex\r\n }\r\n }, {\r\n key: \"pageSize\",\r\n get: function() {\r\n return Math.ceil(this.viewportSize / this.itemSize)\r\n }\r\n }, {\r\n key: \"outlineCount\",\r\n get: function() {\r\n return (0, _type.isDefined)(this.options.outlineCount) ? this.options.outlineCount : Math.floor(this.pageSize / 2)\r\n }\r\n }, {\r\n key: \"groupCount\",\r\n get: function() {\r\n return this.options.getGroupCount()\r\n }\r\n }, {\r\n key: \"isVerticalGrouping\",\r\n get: function() {\r\n return this.options.isVerticalGrouping()\r\n }\r\n }, {\r\n key: \"defaultState\",\r\n get: function() {\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 }, {\r\n key: \"maxScrollPosition\",\r\n get: function() {\r\n return this.getTotalItemCount() * this.itemSize - this.viewportSize\r\n }\r\n }, {\r\n key: \"position\",\r\n get: function() {\r\n return this._position\r\n },\r\n set: function(value) {\r\n this._position = value\r\n }\r\n }]);\r\n return VirtualScrollingBase\r\n}();\r\nvar VerticalVirtualScrolling = function(_VirtualScrollingBase) {\r\n _inheritsLoose(VerticalVirtualScrolling, _VirtualScrollingBase);\r\n\r\n function VerticalVirtualScrolling(options) {\r\n return _VirtualScrollingBase.call(this, _extends({}, options, {\r\n itemSize: options.rowHeight,\r\n viewportSize: options.viewportHeight\r\n })) || this\r\n }\r\n var _proto3 = VerticalVirtualScrolling.prototype;\r\n _proto3.getTotalItemCount = function() {\r\n return this.options.getTotalRowCount(this.groupCount, this.isVerticalGrouping)\r\n };\r\n _proto3.getRenderState = function() {\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 _createClass(VerticalVirtualScrolling, [{\r\n key: \"prevTopPosition\",\r\n get: function() {\r\n return this.state.prevPosition\r\n }\r\n }, {\r\n key: \"rowCount\",\r\n get: function() {\r\n return this.state.itemCount\r\n }\r\n }, {\r\n key: \"topVirtualRowCount\",\r\n get: function() {\r\n return this.state.virtualItemCountBefore\r\n }\r\n }, {\r\n key: \"bottomVirtualRowCount\",\r\n get: function() {\r\n return this.state.virtualItemCountAfter\r\n }\r\n }]);\r\n return VerticalVirtualScrolling\r\n}(VirtualScrollingBase);\r\nvar HorizontalVirtualScrolling = function(_VirtualScrollingBase2) {\r\n _inheritsLoose(HorizontalVirtualScrolling, _VirtualScrollingBase2);\r\n\r\n function HorizontalVirtualScrolling(options) {\r\n return _VirtualScrollingBase2.call(this, _extends({}, options, {\r\n itemSize: options.cellWidth,\r\n viewportSize: options.viewportWidth\r\n })) || this\r\n }\r\n var _proto4 = HorizontalVirtualScrolling.prototype;\r\n _proto4.getTotalItemCount = function() {\r\n return this.options.getTotalCellCount(this.groupCount, this.isVerticalGrouping)\r\n };\r\n _proto4.getRenderState = function() {\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 _proto4._updateStateVirtualItems = function(virtualItemSizeBefore, virtualItemSizeAfter) {\r\n if (!this.isRTL) {\r\n _VirtualScrollingBase2.prototype._updateStateVirtualItems.call(this, virtualItemSizeBefore, virtualItemSizeAfter)\r\n } else {\r\n var state = this.state;\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 _createClass(HorizontalVirtualScrolling, [{\r\n key: \"isRTL\",\r\n get: function() {\r\n return this.options.isRTL()\r\n }\r\n }]);\r\n return HorizontalVirtualScrolling\r\n}(VirtualScrollingBase);\r\nvar VirtualScrollingRenderer = function() {\r\n function VirtualScrollingRenderer(workspace) {\r\n this._workspace = workspace;\r\n this._renderAppointmentTimeoutID = null\r\n }\r\n var _proto5 = VirtualScrollingRenderer.prototype;\r\n _proto5.getRenderTimeout = function() {\r\n return this._workspace.option(\"isRenovatedAppointments\") ? -1 : VIRTUAL_APPOINTMENTS_RENDER_TIMEOUT\r\n };\r\n _proto5.updateRender = function() {\r\n this._renderGrid();\r\n this._renderAppointments()\r\n };\r\n _proto5._renderGrid = function() {\r\n this.workspace.renderWorkSpace(false)\r\n };\r\n _proto5._renderAppointments = function() {\r\n var _this2 = this;\r\n var renderTimeout = this.getRenderTimeout();\r\n if (renderTimeout >= 0) {\r\n clearTimeout(this._renderAppointmentTimeoutID);\r\n this._renderAppointmentTimeoutID = setTimeout((function() {\r\n return _this2.workspace.updateAppointments()\r\n }), renderTimeout)\r\n } else {\r\n this.workspace.updateAppointments()\r\n }\r\n };\r\n _createClass(VirtualScrollingRenderer, [{\r\n key: \"workspace\",\r\n get: function() {\r\n return this._workspace\r\n }\r\n }]);\r\n return VirtualScrollingRenderer\r\n}();\r\nexports.VirtualScrollingRenderer = VirtualScrollingRenderer;\r\n","/**\r\n * DevExtreme (cjs/ui/scheduler/workspaces/ui.scheduler.work_space.grouped.strategy.horizontal.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _position = require(\"../../../core/utils/position\");\r\nvar _classes = require(\"../classes\");\r\nvar HorizontalGroupedStrategy = function() {\r\n function HorizontalGroupedStrategy(workSpace) {\r\n this._workSpace = workSpace\r\n }\r\n var _proto = HorizontalGroupedStrategy.prototype;\r\n _proto.prepareCellIndexes = function(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 } else {\r\n return {\r\n rowIndex: cellCoordinates.rowIndex,\r\n columnIndex: cellCoordinates.columnIndex * this._workSpace._getGroupCount() + groupIndex\r\n }\r\n }\r\n };\r\n _proto.getGroupIndex = function(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 } else {\r\n return Math.floor(columnIndex / this._workSpace._getCellCount())\r\n }\r\n };\r\n _proto.calculateHeaderCellRepeatCount = function() {\r\n return this._workSpace._getGroupCount() || 1\r\n };\r\n _proto.insertAllDayRowsIntoDateTable = function() {\r\n return false\r\n };\r\n _proto.getTotalCellCount = function(groupCount) {\r\n groupCount = groupCount || 1;\r\n return this._workSpace._getCellCount() * groupCount\r\n };\r\n _proto.getTotalRowCount = function() {\r\n return this._workSpace._getRowCount()\r\n };\r\n _proto.calculateTimeCellRepeatCount = function() {\r\n return 1\r\n };\r\n _proto.getWorkSpaceMinWidth = function() {\r\n return (0, _position.getBoundingRect)(this._workSpace.$element().get(0)).width - this._workSpace.getTimePanelWidth()\r\n };\r\n _proto.getAllDayOffset = function() {\r\n return this._workSpace.getAllDayHeight()\r\n };\r\n _proto.getGroupCountClass = function(groups) {\r\n return\r\n };\r\n _proto.getLeftOffset = function() {\r\n return this._workSpace.getTimePanelWidth()\r\n };\r\n _proto._createGroupBoundOffset = function(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 _proto._getGroupedByDateBoundOffset = function($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 _proto.getGroupBoundsOffset = function(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 _proto.shiftIndicator = function($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 _proto._getIndicatorOffset = function(groupIndex) {\r\n var groupByDay = this._workSpace.isGroupedByDate();\r\n return groupByDay ? this._calculateGroupByDateOffset(groupIndex) : this._calculateOffset(groupIndex)\r\n };\r\n _proto._calculateOffset = function(groupIndex) {\r\n return this._workSpace._getCellCount() * this._workSpace.getRoundedCellWidth(groupIndex - 1, 0) * groupIndex + this._workSpace.getIndicatorOffset(groupIndex) + groupIndex\r\n };\r\n _proto._calculateGroupByDateOffset = function(groupIndex) {\r\n return this._workSpace.getIndicatorOffset(0) * this._workSpace._getGroupCount() + this._workSpace.getRoundedCellWidth(groupIndex - 1, 0) * groupIndex\r\n };\r\n _proto.getShaderOffset = function(i, width) {\r\n var offset = this._workSpace._getCellCount() * this._workSpace.getRoundedCellWidth(i - 1) * i;\r\n return this._workSpace.option(\"rtlEnabled\") ? (0, _position.getBoundingRect)(this._workSpace._dateTableScrollable.$content().get(0)).width - offset - this._workSpace.getTimePanelWidth() - width : offset\r\n };\r\n _proto.getShaderTopOffset = function(i) {\r\n return -this.getShaderMaxHeight() * (i > 0 ? 1 : 0)\r\n };\r\n _proto.getShaderHeight = function() {\r\n var height = this._workSpace.getIndicationHeight();\r\n return height\r\n };\r\n _proto.getShaderMaxHeight = function() {\r\n return (0, _position.getBoundingRect)(this._workSpace._dateTableScrollable.$content().get(0)).height\r\n };\r\n _proto.getShaderWidth = function(i) {\r\n return this._workSpace.getIndicationWidth(i)\r\n };\r\n _proto.getScrollableScrollTop = function(allDay) {\r\n return !allDay ? this._workSpace.getScrollable().scrollTop() : 0\r\n };\r\n _proto.addAdditionalGroupCellClasses = function(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 _proto._addLastGroupCellClass = function(cellClass, index, applyUnconditionally) {\r\n if (applyUnconditionally) {\r\n return \"\".concat(cellClass, \" \").concat(_classes.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(_classes.LAST_GROUP_CELL_CLASS)\r\n }\r\n } else if (index % this._workSpace._getCellCount() === 0) {\r\n return \"\".concat(cellClass, \" \").concat(_classes.LAST_GROUP_CELL_CLASS)\r\n }\r\n return cellClass\r\n };\r\n _proto._addFirstGroupCellClass = function(cellClass, index, applyUnconditionally) {\r\n if (applyUnconditionally) {\r\n return \"\".concat(cellClass, \" \").concat(_classes.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(_classes.FIRST_GROUP_CELL_CLASS)\r\n }\r\n } else if ((index - 1) % this._workSpace._getCellCount() === 0) {\r\n return \"\".concat(cellClass, \" \").concat(_classes.FIRST_GROUP_CELL_CLASS)\r\n }\r\n return cellClass\r\n };\r\n return HorizontalGroupedStrategy\r\n}();\r\nvar _default = HorizontalGroupedStrategy;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/scheduler/workspaces/ui.scheduler.work_space.grouped.strategy.vertical.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _position = require(\"../../../core/utils/position\");\r\nvar _cache = require(\"./cache\");\r\nvar _classes = require(\"../classes\");\r\nvar _base = require(\"../../../renovation/ui/scheduler/view_model/to_test/views/utils/base\");\r\n\r\nfunction _slicedToArray(arr, i) {\r\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest()\r\n}\r\n\r\nfunction _nonIterableRest() {\r\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _unsupportedIterableToArray(o, minLen) {\r\n if (!o) {\r\n return\r\n }\r\n if (\"string\" === typeof o) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n var n = Object.prototype.toString.call(o).slice(8, -1);\r\n if (\"Object\" === n && o.constructor) {\r\n n = o.constructor.name\r\n }\r\n if (\"Map\" === n || \"Set\" === n) {\r\n return Array.from(o)\r\n }\r\n if (\"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n}\r\n\r\nfunction _arrayLikeToArray(arr, len) {\r\n if (null == len || len > arr.length) {\r\n len = arr.length\r\n }\r\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\r\n arr2[i] = arr[i]\r\n }\r\n return arr2\r\n}\r\n\r\nfunction _iterableToArrayLimit(arr, i) {\r\n var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"];\r\n if (null != _i) {\r\n var _s, _e, _x, _r, _arr = [],\r\n _n = !0,\r\n _d = !1;\r\n try {\r\n if (_x = (_i = _i.call(arr)).next, 0 === i) {\r\n if (Object(_i) !== _i) {\r\n return\r\n }\r\n _n = !1\r\n } else {\r\n for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) {}\r\n }\r\n } catch (err) {\r\n _d = !0, _e = err\r\n } finally {\r\n try {\r\n if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) {\r\n return\r\n }\r\n } finally {\r\n if (_d) {\r\n throw _e\r\n }\r\n }\r\n }\r\n return _arr\r\n }\r\n}\r\n\r\nfunction _arrayWithHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return arr\r\n }\r\n}\r\nvar DATE_HEADER_OFFSET = 10;\r\nvar WORK_SPACE_BORDER = 1;\r\nvar VerticalGroupedStrategy = function() {\r\n function VerticalGroupedStrategy(workSpace) {\r\n this._workSpace = workSpace;\r\n this.cache = new _cache.Cache\r\n }\r\n var _proto = VerticalGroupedStrategy.prototype;\r\n _proto.prepareCellIndexes = function(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 _proto.getGroupIndex = function(rowIndex) {\r\n return Math.floor(rowIndex / this._workSpace._getRowCount())\r\n };\r\n _proto.calculateHeaderCellRepeatCount = function() {\r\n return 1\r\n };\r\n _proto.insertAllDayRowsIntoDateTable = function() {\r\n return this._workSpace.option(\"showAllDayPanel\")\r\n };\r\n _proto.getTotalCellCount = function() {\r\n return this._workSpace._getCellCount()\r\n };\r\n _proto.getTotalRowCount = function() {\r\n return this._workSpace._getRowCount() * this._workSpace._getGroupCount()\r\n };\r\n _proto.calculateTimeCellRepeatCount = function() {\r\n return this._workSpace._getGroupCount() || 1\r\n };\r\n _proto.getWorkSpaceMinWidth = function() {\r\n var minWidth = this._workSpace._getWorkSpaceWidth();\r\n var workspaceContainerWidth = (0, _position.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 _proto.getAllDayOffset = function() {\r\n return 0\r\n };\r\n _proto.getGroupCountClass = function(groups) {\r\n return (0, _base.getVerticalGroupCountClass)(groups)\r\n };\r\n _proto.getLeftOffset = function() {\r\n return this._workSpace.getTimePanelWidth() + this._workSpace.getGroupTableWidth()\r\n };\r\n _proto.getGroupBoundsOffset = function(groupIndex, _ref) {\r\n var _this = this;\r\n var _ref2 = _slicedToArray(_ref, 2),\r\n $firstCell = _ref2[0],\r\n $lastCell = _ref2[1];\r\n return this.cache.get(\"groupBoundsOffset\".concat(groupIndex), (function() {\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 = (0, _base.calculateDayDuration)(startDayHour, endDayHour) / hoursInterval * _this._workSpace.getCellHeight();\r\n var scrollTop = _this.getScrollableScrollTop();\r\n var topOffset = groupIndex * dayHeight + (0, _position.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 _$firstCell$getBoundi = $firstCell.getBoundingClientRect(),\r\n left = _$firstCell$getBoundi.left;\r\n var _$lastCell$getBoundin = $lastCell.getBoundingClientRect(),\r\n right = _$lastCell$getBoundin.right;\r\n return _this._groupBoundsOffset = {\r\n left: left,\r\n right: right,\r\n top: topOffset,\r\n bottom: bottomOffset\r\n }\r\n }))\r\n };\r\n _proto.shiftIndicator = function($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 _proto.getShaderOffset = function(i, width) {\r\n var offset = this._workSpace.option(\"crossScrollingEnabled\") ? 0 : this._workSpace.getGroupTableWidth();\r\n return this._workSpace.option(\"rtlEnabled\") ? (0, _position.getBoundingRect)(this._$container.get(0)).width - offset - this._workSpace.getWorkSpaceLeftOffset() - width : offset\r\n };\r\n _proto.getShaderTopOffset = function(i) {\r\n return 0\r\n };\r\n _proto.getShaderHeight = function() {\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 _proto.getShaderMaxHeight = function() {\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 _proto.getShaderWidth = function() {\r\n return this._workSpace.getIndicationWidth(0)\r\n };\r\n _proto.getScrollableScrollTop = function() {\r\n return this._workSpace.getScrollable().scrollTop()\r\n };\r\n _proto.addAdditionalGroupCellClasses = function(cellClass, index, i, j) {\r\n cellClass = this._addLastGroupCellClass(cellClass, i + 1);\r\n return this._addFirstGroupCellClass(cellClass, i + 1)\r\n };\r\n _proto._addLastGroupCellClass = function(cellClass, index) {\r\n if (index % this._workSpace._getRowCount() === 0) {\r\n return \"\".concat(cellClass, \" \").concat(_classes.LAST_GROUP_CELL_CLASS)\r\n }\r\n return cellClass\r\n };\r\n _proto._addFirstGroupCellClass = function(cellClass, index) {\r\n if ((index - 1) % this._workSpace._getRowCount() === 0) {\r\n return \"\".concat(cellClass, \" \").concat(_classes.FIRST_GROUP_CELL_CLASS)\r\n }\r\n return cellClass\r\n };\r\n return VerticalGroupedStrategy\r\n}();\r\nvar _default = VerticalGroupedStrategy;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/scheduler/workspaces/ui.scheduler.work_space.indicator.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _size = require(\"../../../core/utils/size\");\r\nvar _renderer = _interopRequireDefault(require(\"../../../core/renderer\"));\r\nvar _uiScheduler = _interopRequireDefault(require(\"./ui.scheduler.work_space\"));\r\nvar _component_registrator = _interopRequireDefault(require(\"../../../core/component_registrator\"));\r\nvar _date = _interopRequireDefault(require(\"../../../core/utils/date\"));\r\nvar _extend = require(\"../../../core/utils/extend\");\r\nvar _position = require(\"../../../core/utils/position\");\r\nvar _window = require(\"../../../core/utils/window\");\r\nvar _classes = require(\"../classes\");\r\nvar _base = require(\"../../../renovation/ui/scheduler/view_model/to_test/views/utils/base\");\r\nvar _utils = _interopRequireDefault(require(\"../utils.timeZone\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _toConsumableArray(arr) {\r\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread()\r\n}\r\n\r\nfunction _nonIterableSpread() {\r\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _unsupportedIterableToArray(o, minLen) {\r\n if (!o) {\r\n return\r\n }\r\n if (\"string\" === typeof o) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n var n = Object.prototype.toString.call(o).slice(8, -1);\r\n if (\"Object\" === n && o.constructor) {\r\n n = o.constructor.name\r\n }\r\n if (\"Map\" === n || \"Set\" === n) {\r\n return Array.from(o)\r\n }\r\n if (\"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n}\r\n\r\nfunction _iterableToArray(iter) {\r\n if (\"undefined\" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter[\"@@iterator\"]) {\r\n return Array.from(iter)\r\n }\r\n}\r\n\r\nfunction _arrayWithoutHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return _arrayLikeToArray(arr)\r\n }\r\n}\r\n\r\nfunction _arrayLikeToArray(arr, len) {\r\n if (null == len || len > arr.length) {\r\n len = arr.length\r\n }\r\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\r\n arr2[i] = arr[i]\r\n }\r\n return arr2\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar toMs = _date.default.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\nvar SchedulerWorkSpaceIndicator = function(_SchedulerWorkSpace) {\r\n _inheritsLoose(SchedulerWorkSpaceIndicator, _SchedulerWorkSpace);\r\n\r\n function SchedulerWorkSpaceIndicator() {\r\n return _SchedulerWorkSpace.apply(this, arguments) || this\r\n }\r\n var _proto = SchedulerWorkSpaceIndicator.prototype;\r\n _proto._getToday = function() {\r\n return (0, _base.getToday)(this.option(\"indicatorTime\"), this.timeZoneCalculator)\r\n };\r\n _proto.isIndicationOnView = function() {\r\n if (this.option(\"showCurrentTimeIndicator\")) {\r\n var today = this._getToday();\r\n var endViewDate = _date.default.trimTime(this.getEndViewDate());\r\n return _date.default.dateInRange(today, this.getStartViewDate(), new Date(endViewDate.getTime() + toMs(\"day\")))\r\n }\r\n return false\r\n };\r\n _proto.isIndicationAvailable = function() {\r\n if (!(0, _window.hasWindow)()) {\r\n return false\r\n }\r\n var today = this._getToday();\r\n return today >= _date.default.trimTime(new Date(this.getStartViewDate()))\r\n };\r\n _proto.isIndicatorVisible = function() {\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 _date.default.dateInRange(today, firstViewDate, endViewDate)\r\n };\r\n _proto._renderDateTimeIndication = function() {\r\n if (this.isIndicationAvailable()) {\r\n if (this.option(\"shadeUntilCurrentTime\")) {\r\n this._shader.render()\r\n }\r\n if (this.isIndicationOnView() && this.isIndicatorVisible()) {\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 this._setCurrentTimeCells()\r\n }\r\n }\r\n };\r\n _proto._renderIndicator = function(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 (0, _size.setWidth)($indicator, groupedByDate ? this.getCellWidth() * groupCount : this.getCellWidth());\r\n this._groupedStrategy.shiftIndicator($indicator, height, rtlOffset, i)\r\n }\r\n };\r\n _proto._createIndicator = function($container) {\r\n var $indicator = (0, _renderer.default)(\"<div>\").addClass(SCHEDULER_DATE_TIME_INDICATOR_CLASS);\r\n $container.append($indicator);\r\n return $indicator\r\n };\r\n _proto._getRtlOffset = function(width) {\r\n return this.option(\"rtlEnabled\") ? (0, _position.getBoundingRect)(this._dateTableScrollable.$content().get(0)).width - this.getTimePanelWidth() - width : 0\r\n };\r\n _proto._setIndicationUpdateInterval = function() {\r\n if (!this.option(\"showCurrentTimeIndicator\") || 0 === this.option(\"indicatorUpdateInterval\")) {\r\n return\r\n }\r\n this._clearIndicatorUpdateInterval();\r\n this._indicatorInterval = setInterval(function() {\r\n this._refreshDateTimeIndication()\r\n }.bind(this), this.option(\"indicatorUpdateInterval\"))\r\n };\r\n _proto._clearIndicatorUpdateInterval = function() {\r\n if (this._indicatorInterval) {\r\n clearInterval(this._indicatorInterval);\r\n delete this._indicatorInterval\r\n }\r\n };\r\n _proto._isVerticalShader = function() {\r\n return true\r\n };\r\n _proto.getIndicationWidth = function(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 _proto.getIndicatorOffset = function(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 _proto._getIndicatorDuration = function() {\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 _proto.getIndicationHeight = function() {\r\n var today = _utils.default.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 _proto._dispose = function() {\r\n this._clearIndicatorUpdateInterval();\r\n _SchedulerWorkSpace.prototype._dispose.apply(this, arguments)\r\n };\r\n _proto._refreshDateTimeIndication = function() {\r\n var _this$_shader;\r\n this._cleanDateTimeIndicator();\r\n this._cleanCurrentTimeCells();\r\n null === (_this$_shader = this._shader) || void 0 === _this$_shader ? void 0 : _this$_shader.clean();\r\n this._renderDateTimeIndication()\r\n };\r\n _proto._setCurrentTimeCells = function() {\r\n var timePanelCells = this._getTimePanelCells();\r\n var currentTimeCellIndices = this._getCurrentTimePanelCellIndices();\r\n currentTimeCellIndices.forEach((function(timePanelCellIndex) {\r\n timePanelCells.eq(timePanelCellIndex).addClass(TIME_PANEL_CURRENT_TIME_CELL_CLASS)\r\n }))\r\n };\r\n _proto._isCurrentTimeHeaderCell = function(headerIndex) {\r\n if (this.isIndicationOnView()) {\r\n var completeDateHeaderMap = this.viewDataProvider.completeDateHeaderMap;\r\n var date = completeDateHeaderMap[completeDateHeaderMap.length - 1][headerIndex].startDate;\r\n return _date.default.sameDate(date, this._getToday())\r\n }\r\n return false\r\n };\r\n _proto._getHeaderPanelCellClass = function(i) {\r\n var cellClass = _SchedulerWorkSpace.prototype._getHeaderPanelCellClass.call(this, i);\r\n if (this._isCurrentTimeHeaderCell(i)) {\r\n return cellClass + \" \" + _classes.HEADER_CURRENT_TIME_CELL_CLASS\r\n }\r\n return cellClass\r\n };\r\n _proto._cleanView = function() {\r\n _SchedulerWorkSpace.prototype._cleanView.call(this);\r\n this._cleanDateTimeIndicator()\r\n };\r\n _proto._dimensionChanged = function() {\r\n _SchedulerWorkSpace.prototype._dimensionChanged.call(this);\r\n this._refreshDateTimeIndication()\r\n };\r\n _proto._cleanDateTimeIndicator = function() {\r\n this.$element().find(\".\" + SCHEDULER_DATE_TIME_INDICATOR_CLASS).remove()\r\n };\r\n _proto._cleanCurrentTimeCells = function() {\r\n this.$element().find(\".\".concat(TIME_PANEL_CURRENT_TIME_CELL_CLASS)).removeClass(TIME_PANEL_CURRENT_TIME_CELL_CLASS)\r\n };\r\n _proto._cleanWorkSpace = function() {\r\n _SchedulerWorkSpace.prototype._cleanWorkSpace.call(this);\r\n this._renderDateTimeIndication();\r\n this._setIndicationUpdateInterval()\r\n };\r\n _proto._optionChanged = function(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 _SchedulerWorkSpace.prototype._optionChanged.call(this, args);\r\n this._refreshDateTimeIndication();\r\n break;\r\n case \"shadeUntilCurrentTime\":\r\n this._refreshDateTimeIndication();\r\n break;\r\n default:\r\n _SchedulerWorkSpace.prototype._optionChanged.call(this, args)\r\n }\r\n };\r\n _proto._getDefaultOptions = function() {\r\n return (0, _extend.extend)(_SchedulerWorkSpace.prototype._getDefaultOptions.call(this), {\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 _proto._getCurrentTimePanelCellIndices = function() {\r\n var rowCountPerGroup = this._getTimePanelRowCount();\r\n var today = this._getToday();\r\n var index = this.getCellIndexByDate(today);\r\n var _this$_getCellCoordin = this._getCellCoordinatesByIndex(index),\r\n currentTimeRowIndex = _this$_getCellCoordin.rowIndex;\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 _toConsumableArray(new Array(verticalGroupCount)).reduce((function(currentIndices, _, groupIndex) {\r\n return [].concat(_toConsumableArray(currentIndices), _toConsumableArray(cellIndices.map((function(cellIndex) {\r\n return rowCountPerGroup * groupIndex + cellIndex\r\n }))))\r\n }), [])\r\n };\r\n return SchedulerWorkSpaceIndicator\r\n}(_uiScheduler.default);\r\n(0, _component_registrator.default)(\"dxSchedulerWorkSpace\", SchedulerWorkSpaceIndicator);\r\nvar _default = SchedulerWorkSpaceIndicator;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/scheduler/workspaces/ui.scheduler.work_space.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.default = void 0;\r\nvar _size = require(\"../../../core/utils/size\");\r\nvar _renderer = _interopRequireDefault(require(\"../../../core/renderer\"));\r\nvar _dom_adapter = _interopRequireDefault(require(\"../../../core/dom_adapter\"));\r\nvar _events_engine = _interopRequireDefault(require(\"../../../events/core/events_engine\"));\r\nvar _date = _interopRequireDefault(require(\"../../../core/utils/date\"));\r\nvar _window = require(\"../../../core/utils/window\");\r\nvar _element = require(\"../../../core/element\");\r\nvar _extend = require(\"../../../core/utils/extend\");\r\nvar _position = require(\"../../../core/utils/position\");\r\nvar _message = _interopRequireDefault(require(\"../../../localization/message\"));\r\nvar _common = require(\"../../../core/utils/common\");\r\nvar _type = require(\"../../../core/utils/type\");\r\nvar _index = require(\"../../../events/utils/index\");\r\nvar _pointer = _interopRequireDefault(require(\"../../../events/pointer\"));\r\nvar _ui = _interopRequireDefault(require(\"../../widget/ui.errors\"));\r\nvar _click = require(\"../../../events/click\");\r\nvar _contextmenu = require(\"../../../events/contextmenu\");\r\nvar _drag = require(\"../../../events/drag\");\r\nvar _ui2 = _interopRequireDefault(require(\"../../scroll_view/ui.scrollable\"));\r\nvar _uiSchedulerWork_spaceGroupedStrategy = _interopRequireDefault(require(\"./ui.scheduler.work_space.grouped.strategy.horizontal\"));\r\nvar _uiSchedulerWork_spaceGroupedStrategy2 = _interopRequireDefault(require(\"./ui.scheduler.work_space.grouped.strategy.vertical\"));\r\nvar _table_creator = _interopRequireDefault(require(\"../table_creator\"));\r\nvar _uiSchedulerCurrent_time_shader = _interopRequireDefault(require(\"../shaders/ui.scheduler.current_time_shader.vertical\"));\r\nvar _appointmentDragBehavior = _interopRequireDefault(require(\"../appointmentDragBehavior\"));\r\nvar _constants = require(\"../constants\");\r\nvar _classes = require(\"../classes\");\r\nvar _widgetObserver = _interopRequireDefault(require(\"../base/widgetObserver\"));\r\nvar _translator = require(\"../../../animation/translator\");\r\nvar _uiScheduler = require(\"./ui.scheduler.virtual_scrolling\");\r\nvar _view_data_provider = _interopRequireDefault(require(\"./view_model/view_data_provider\"));\r\nvar _layout = _interopRequireDefault(require(\"../../../renovation/ui/scheduler/workspaces/base/date_table/layout.j\"));\r\nvar _table = _interopRequireDefault(require(\"../../../renovation/ui/scheduler/workspaces/base/date_table/all_day_panel/table.j\"));\r\nvar _title = _interopRequireDefault(require(\"../../../renovation/ui/scheduler/workspaces/base/date_table/all_day_panel/title.j\"));\r\nvar _layout2 = _interopRequireDefault(require(\"../../../renovation/ui/scheduler/workspaces/base/time_panel/layout.j\"));\r\nvar _group_panel = _interopRequireDefault(require(\"../../../renovation/ui/scheduler/workspaces/base/group_panel/group_panel.j\"));\r\nvar _layout3 = _interopRequireDefault(require(\"../../../renovation/ui/scheduler/workspaces/base/header_panel/layout.j\"));\r\nvar _cells_selection_state = _interopRequireDefault(require(\"./cells_selection_state\"));\r\nvar _cache = require(\"./cache\");\r\nvar _cells_selection_controller = require(\"./cells_selection_controller\");\r\nvar _base = require(\"../../../renovation/ui/scheduler/view_model/to_test/views/utils/base\");\r\nvar _utils = require(\"../resources/utils\");\r\nvar _positionHelper = require(\"./helpers/positionHelper\");\r\nvar _utils2 = require(\"../utils\");\r\nvar _data = require(\"../../../core/utils/data\");\r\nvar _getMemoizeScrollTo = require(\"../../../renovation/ui/common/utils/scroll/getMemoizeScrollTo\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _toConsumableArray(arr) {\r\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread()\r\n}\r\n\r\nfunction _nonIterableSpread() {\r\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _unsupportedIterableToArray(o, minLen) {\r\n if (!o) {\r\n return\r\n }\r\n if (\"string\" === typeof o) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n var n = Object.prototype.toString.call(o).slice(8, -1);\r\n if (\"Object\" === n && o.constructor) {\r\n n = o.constructor.name\r\n }\r\n if (\"Map\" === n || \"Set\" === n) {\r\n return Array.from(o)\r\n }\r\n if (\"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n}\r\n\r\nfunction _iterableToArray(iter) {\r\n if (\"undefined\" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter[\"@@iterator\"]) {\r\n return Array.from(iter)\r\n }\r\n}\r\n\r\nfunction _arrayWithoutHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return _arrayLikeToArray(arr)\r\n }\r\n}\r\n\r\nfunction _arrayLikeToArray(arr, len) {\r\n if (null == len || len > arr.length) {\r\n len = arr.length\r\n }\r\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\r\n arr2[i] = arr[i]\r\n }\r\n return arr2\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar tableCreator = _table_creator.default.tableCreator;\r\nvar DRAGGING_MOUSE_FAULT = 10;\r\nvar abstract = _widgetObserver.default.abstract;\r\nvar toMs = _date.default.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 = (0, _index.addNamespace)(_pointer.default.down, \"dxSchedulerWorkSpace\");\r\nvar DragEventNames = {\r\n ENTER: (0, _index.addNamespace)(_drag.enter, \"dxSchedulerDateTable\"),\r\n DROP: (0, _index.addNamespace)(_drag.drop, \"dxSchedulerDateTable\"),\r\n LEAVE: (0, _index.addNamespace)(_drag.leave, \"dxSchedulerDateTable\")\r\n};\r\nvar SCHEDULER_CELL_DXCLICK_EVENT_NAME = (0, _index.addNamespace)(_click.name, \"dxSchedulerDateTable\");\r\nvar SCHEDULER_CELL_DXPOINTERDOWN_EVENT_NAME = (0, _index.addNamespace)(_pointer.default.down, \"dxSchedulerDateTable\");\r\nvar SCHEDULER_CELL_DXPOINTERUP_EVENT_NAME = (0, _index.addNamespace)(_pointer.default.up, \"dxSchedulerDateTable\");\r\nvar SCHEDULER_CELL_DXPOINTERMOVE_EVENT_NAME = (0, _index.addNamespace)(_pointer.default.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(_classes.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 SchedulerWorkSpace = function(_WidgetObserver) {\r\n _inheritsLoose(SchedulerWorkSpace, _WidgetObserver);\r\n\r\n function SchedulerWorkSpace() {\r\n return _WidgetObserver.apply(this, arguments) || this\r\n }\r\n var _proto = SchedulerWorkSpace.prototype;\r\n _proto._supportedKeys = function() {\r\n var _this2 = this;\r\n var clickHandler = function(e) {\r\n var _this = this;\r\n e.preventDefault();\r\n e.stopPropagation();\r\n var selectedCells = this.cellsSelectionState.getSelectedCells();\r\n if (null !== selectedCells && void 0 !== selectedCells && selectedCells.length) {\r\n var selectedCellsElement = selectedCells.map((function(cellData) {\r\n return _this._getCellByData(cellData)\r\n })).filter((function(cell) {\r\n return !!cell\r\n }));\r\n e.target = selectedCellsElement;\r\n this._showPopup = true;\r\n this._cellClickAction({\r\n event: e,\r\n cellElement: (0, _renderer.default)(selectedCellsElement),\r\n cellData: selectedCells[0]\r\n })\r\n }\r\n };\r\n var onArrowPressed = function(e, key) {\r\n var _this2$cellsSelection;\r\n e.preventDefault();\r\n e.stopPropagation();\r\n var focusedCellData = null === (_this2$cellsSelection = _this2.cellsSelectionState.focusedCell) || void 0 === _this2$cellsSelection ? void 0 : _this2$cellsSelection.cellData;\r\n if (focusedCellData) {\r\n var isAllDayPanelCell = focusedCellData.allDay && !_this2._isVerticalGroupedWorkSpace();\r\n var isMultiSelection = e.shiftKey;\r\n var isMultiSelectionAllowed = _this2.option(\"allowMultipleCellSelection\");\r\n var isRTL = _this2._isRTL();\r\n var groupCount = _this2._getGroupCount();\r\n var isGroupedByDate = _this2.isGroupedByDate();\r\n var isHorizontalGrouping = _this2._isHorizontalGroupedWorkSpace();\r\n var focusedCellPosition = _this2.viewDataProvider.findCellPositionInMap(_extends({}, focusedCellData, {\r\n isAllDay: focusedCellData.allDay\r\n }));\r\n var edgeIndices = isHorizontalGrouping && isMultiSelection && !isGroupedByDate ? _this2.viewDataProvider.getGroupEdgeIndices(focusedCellData.groupIndex, isAllDayPanelCell) : _this2.viewDataProvider.getViewEdgeIndices(isAllDayPanelCell);\r\n var nextCellData = _this2.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: _this2.type,\r\n key: key,\r\n getCellDataByPosition: _this2.viewDataProvider.getCellData.bind(_this2.viewDataProvider),\r\n isAllDayPanelCell: isAllDayPanelCell,\r\n focusedCellData: focusedCellData\r\n });\r\n _this2._processNextSelectedCell(nextCellData, focusedCellData, isMultiSelection && isMultiSelectionAllowed)\r\n }\r\n };\r\n return (0, _extend.extend)(_WidgetObserver.prototype._supportedKeys.call(this), {\r\n enter: clickHandler,\r\n space: clickHandler,\r\n downArrow: function(e) {\r\n onArrowPressed(e, \"down\")\r\n },\r\n upArrow: function(e) {\r\n onArrowPressed(e, \"up\")\r\n },\r\n rightArrow: function(e) {\r\n onArrowPressed(e, \"right\")\r\n },\r\n leftArrow: function(e) {\r\n onArrowPressed(e, \"left\")\r\n }\r\n })\r\n };\r\n _proto._isRTL = function() {\r\n return this.option(\"rtlEnabled\")\r\n };\r\n _proto._moveToCell = function($cell, isMultiSelection) {\r\n if (!(0, _type.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(_classes.VIRTUAL_CELL_CLASS)\r\n });\r\n this._processNextSelectedCell(nextFocusedCellData, focusedCellData, isMultiSelectionAllowed && isMultiSelection)\r\n };\r\n _proto._processNextSelectedCell = function(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 _proto._setSelectedCellsStateAndUpdateSelection = function(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 _proto._hasAllDayClass = function($cell) {\r\n return $cell.hasClass(ALL_DAY_TABLE_CELL_CLASS)\r\n };\r\n _proto._focusInHandler = function(e) {\r\n if ((0, _renderer.default)(e.target).is(this._focusTarget()) && false !== this._isCellClick) {\r\n delete this._isCellClick;\r\n delete this._contextMenuHandled;\r\n _WidgetObserver.prototype._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 _proto._focusOutHandler = function() {\r\n _WidgetObserver.prototype._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 _proto._focusTarget = function() {\r\n return this.$element()\r\n };\r\n _proto._isVerticalGroupedWorkSpace = function() {\r\n return !!this.option(\"groups\").length && \"vertical\" === this.option(\"groupOrientation\")\r\n };\r\n _proto._isHorizontalGroupedWorkSpace = function() {\r\n return !!this.option(\"groups\").length && \"horizontal\" === this.option(\"groupOrientation\")\r\n };\r\n _proto._isWorkSpaceWithCount = function() {\r\n return this.option(\"intervalCount\") > 1\r\n };\r\n _proto._isWorkspaceWithOddCells = function() {\r\n return .5 === this.option(\"hoursInterval\") && !this.isVirtualScrolling()\r\n };\r\n _proto._getRealGroupOrientation = function() {\r\n return this._isVerticalGroupedWorkSpace() ? \"vertical\" : \"horizontal\"\r\n };\r\n _proto.createRAllDayPanelElements = function() {\r\n this._$allDayPanel = (0, _renderer.default)(\"<div>\").addClass(ALL_DAY_PANEL_CLASS);\r\n this._$allDayTitle = (0, _renderer.default)(\"<div>\").appendTo(this._$headerPanelEmptyCell)\r\n };\r\n _proto._dateTableScrollableConfig = function() {\r\n var _this3 = this;\r\n var config = {\r\n useKeyboard: false,\r\n bounceEnabled: false,\r\n updateManually: true,\r\n onScroll: function() {\r\n var _this3$_groupedStrate;\r\n null === (_this3$_groupedStrate = _this3._groupedStrategy.cache) || void 0 === _this3$_groupedStrate ? void 0 : _this3$_groupedStrate.clear()\r\n }\r\n };\r\n if (this._needCreateCrossScrolling()) {\r\n config = (0, _extend.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({}, config, {\r\n onScroll: function(e) {\r\n null === currentOnScroll || void 0 === currentOnScroll ? void 0 : currentOnScroll(e);\r\n _this3.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 _proto._createCrossScrollingConfig = function(_ref) {\r\n var _this4 = this;\r\n var _onScroll = _ref.onScroll;\r\n return {\r\n direction: \"both\",\r\n onScroll: function(event) {\r\n null === _onScroll || void 0 === _onScroll ? void 0 : _onScroll();\r\n _this4._scrollSync.sidebar({\r\n top: event.scrollOffset.top\r\n });\r\n _this4._scrollSync.header({\r\n left: event.scrollOffset.left\r\n })\r\n },\r\n onEnd: function() {\r\n _this4.option(\"onScrollEnd\")()\r\n }\r\n }\r\n };\r\n _proto._headerScrollableConfig = function() {\r\n var _this5 = this;\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: function(event) {\r\n _this5._scrollSync.dateTable({\r\n left: event.scrollOffset.left\r\n })\r\n }\r\n }\r\n };\r\n _proto._visibilityChanged = function(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 _proto._setTableSizes = function() {\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 }(0, _size.setWidth)(this._$headerPanel, width);\r\n (0, _size.setWidth)(this._$dateTable, width);\r\n if (this._$allDayTable) {\r\n (0, _size.setWidth)(this._$allDayTable, width)\r\n }\r\n this._attachHeaderTableClasses();\r\n this._updateGroupTableHeight();\r\n this._updateScrollable()\r\n };\r\n _proto.getWorkSpaceMinWidth = function() {\r\n return this._groupedStrategy.getWorkSpaceMinWidth()\r\n };\r\n _proto._dimensionChanged = function() {\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 _proto._needCreateCrossScrolling = function() {\r\n return this.option(\"crossScrollingEnabled\")\r\n };\r\n _proto._getElementClass = function() {\r\n return (0, _common.noop)()\r\n };\r\n _proto._getRowCount = function() {\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 _proto._getCellCount = function() {\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 _proto.isRenovatedRender = function() {\r\n return this.renovatedRenderSupported() && this.option(\"renovateRender\")\r\n };\r\n _proto._isVirtualModeOn = function() {\r\n return \"virtual\" === this.option(\"scrolling.mode\")\r\n };\r\n _proto.isVirtualScrolling = function() {\r\n return this.isRenovatedRender() && this._isVirtualModeOn()\r\n };\r\n _proto._initVirtualScrolling = function() {\r\n if (this.virtualScrollingDispatcher) {\r\n this.virtualScrollingDispatcher.dispose();\r\n this.virtualScrollingDispatcher = null\r\n }\r\n this.virtualScrollingDispatcher = new _uiScheduler.VirtualScrollingDispatcher(this._getVirtualScrollingDispatcherOptions());\r\n this.virtualScrollingDispatcher.attachScrollableEvents();\r\n this.renderer = new _uiScheduler.VirtualScrollingRenderer(this)\r\n };\r\n _proto.onDataSourceChanged = function() {};\r\n _proto.isGroupedAllDayPanel = function() {\r\n return (0, _base.calculateIsGroupedAllDayPanel)(this.option(\"groups\"), this.option(\"groupOrientation\"), this.isAllDayPanelVisible)\r\n };\r\n _proto.generateRenderOptions = function(isProvideVirtualCellsWidth) {\r\n var _this$_getToday;\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 === (_this$_getToday = this._getToday) || void 0 === _this$_getToday ? void 0 : _this$_getToday.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: function(_, date) {\r\n return date\r\n },\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 }, this.virtualScrollingDispatcher.getRenderState());\r\n return options\r\n };\r\n _proto.renovatedRenderSupported = function() {\r\n return true\r\n };\r\n _proto._updateGroupTableHeight = function() {\r\n if (this._isVerticalGroupedWorkSpace() && (0, _window.hasWindow)()) {\r\n this._setHorizontalGroupHeaderCellsHeight()\r\n }\r\n };\r\n _proto.updateHeaderEmptyCellWidth = function() {\r\n if ((0, _window.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 _proto._isGroupsSpecified = function(resources) {\r\n return this.option(\"groups\").length && resources\r\n };\r\n _proto._getGroupIndexByResourceId = function(id) {\r\n var groups = this.option(\"groups\");\r\n var resourceTree = (0, _utils.createResourcesTree)(groups);\r\n if (!resourceTree.length) {\r\n return 0\r\n }\r\n return this._getGroupIndexRecursively(resourceTree, id)\r\n };\r\n _proto._getGroupIndexRecursively = function(resourceTree, id) {\r\n var _this6 = this;\r\n var currentKey = resourceTree[0].name;\r\n var currentValue = id[currentKey];\r\n return resourceTree.reduce((function(prevIndex, _ref2) {\r\n var leafIndex = _ref2.leafIndex,\r\n value = _ref2.value,\r\n children = _ref2.children;\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 _this6._getGroupIndexRecursively(children, id)\r\n }\r\n return prevIndex\r\n }), 0)\r\n };\r\n _proto._getViewStartByOptions = function() {\r\n return (0, _base.getViewStartByOptions)(this.option(\"startDate\"), this.option(\"currentDate\"), this._getIntervalDuration(), this.option(\"startDate\") ? this._calculateViewStartDate() : void 0)\r\n };\r\n _proto._getIntervalDuration = function() {\r\n return this.viewDataProvider.getIntervalDuration(this.option(\"intervalCount\"))\r\n };\r\n _proto._getHeaderDate = function() {\r\n return this.getStartViewDate()\r\n };\r\n _proto._calculateViewStartDate = function() {\r\n return (0, _base.calculateViewStartDate)(this.option(\"startDate\"))\r\n };\r\n _proto._firstDayOfWeek = function() {\r\n return this.viewDataProvider.getFirstDayOfWeek(this.option(\"firstDayOfWeek\"))\r\n };\r\n _proto._attachEvents = function() {\r\n this._createSelectionChangedAction();\r\n this._attachClickEvent();\r\n this._attachContextMenuEvent()\r\n };\r\n _proto._attachClickEvent = function() {\r\n var that = this;\r\n var pointerDownAction = this._createAction((function(e) {\r\n that._pointerDownHandler(e.event)\r\n }));\r\n this._createCellClickAction();\r\n var cellSelector = \".\" + DATE_TABLE_CELL_CLASS + \",.\" + ALL_DAY_TABLE_CELL_CLASS;\r\n var $element = this.$element();\r\n _events_engine.default.off($element, SCHEDULER_WORKSPACE_DXPOINTERDOWN_EVENT_NAME);\r\n _events_engine.default.off($element, SCHEDULER_CELL_DXCLICK_EVENT_NAME);\r\n _events_engine.default.on($element, SCHEDULER_WORKSPACE_DXPOINTERDOWN_EVENT_NAME, (function(e) {\r\n if ((0, _index.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 _events_engine.default.on($element, SCHEDULER_CELL_DXCLICK_EVENT_NAME, cellSelector, (function(e) {\r\n var $cell = (0, _renderer.default)(e.target);\r\n that._cellClickAction({\r\n event: e,\r\n cellElement: (0, _element.getPublicElement)($cell),\r\n cellData: that.getCellData($cell)\r\n })\r\n }))\r\n };\r\n _proto._createCellClickAction = function() {\r\n var _this7 = this;\r\n this._cellClickAction = this._createActionByOption(\"onCellClick\", {\r\n afterExecute: function(e) {\r\n return _this7._cellClickHandler(e.args[0].event)\r\n }\r\n })\r\n };\r\n _proto._createSelectionChangedAction = function() {\r\n this._selectionChangedAction = this._createActionByOption(\"onSelectionChanged\")\r\n };\r\n _proto._cellClickHandler = function() {\r\n if (this._showPopup) {\r\n delete this._showPopup;\r\n this._handleSelectedCellsClick()\r\n }\r\n };\r\n _proto._pointerDownHandler = function(e) {\r\n var $target = (0, _renderer.default)(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 _proto._handleSelectedCellsClick = function() {\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 _proto._attachContextMenuEvent = function() {\r\n this._createContextMenuAction();\r\n var cellSelector = \".\" + DATE_TABLE_CELL_CLASS + \",.\" + ALL_DAY_TABLE_CELL_CLASS;\r\n var $element = this.$element();\r\n var eventName = (0, _index.addNamespace)(_contextmenu.name, this.NAME);\r\n _events_engine.default.off($element, eventName, cellSelector);\r\n _events_engine.default.on($element, eventName, cellSelector, this._contextMenuHandler.bind(this))\r\n };\r\n _proto._contextMenuHandler = function(e) {\r\n var $cell = (0, _renderer.default)(e.target);\r\n this._contextMenuAction({\r\n event: e,\r\n cellElement: (0, _element.getPublicElement)($cell),\r\n cellData: this.getCellData($cell)\r\n });\r\n this._contextMenuHandled = true\r\n };\r\n _proto._createContextMenuAction = function() {\r\n this._contextMenuAction = this._createActionByOption(\"onCellContextMenu\")\r\n };\r\n _proto._getGroupHeaderContainer = function() {\r\n if (this._isVerticalGroupedWorkSpace()) {\r\n return this._$groupTable\r\n }\r\n return this._$thead\r\n };\r\n _proto._getDateHeaderContainer = function() {\r\n return this._$thead\r\n };\r\n _proto._getCalculateHeaderCellRepeatCount = function() {\r\n return this._groupedStrategy.calculateHeaderCellRepeatCount()\r\n };\r\n _proto._updateScrollable = function() {\r\n var _this$_headerScrollab, _this$_sidebarScrolla;\r\n this._dateTableScrollable.update();\r\n null === (_this$_headerScrollab = this._headerScrollable) || void 0 === _this$_headerScrollab ? void 0 : _this$_headerScrollab.update();\r\n null === (_this$_sidebarScrolla = this._sidebarScrollable) || void 0 === _this$_sidebarScrolla ? void 0 : _this$_sidebarScrolla.update()\r\n };\r\n _proto._getTimePanelRowCount = function() {\r\n return this._getCellCountInDay()\r\n };\r\n _proto._getCellCountInDay = function() {\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 _proto._getTotalCellCount = function(groupCount) {\r\n return this._groupedStrategy.getTotalCellCount(groupCount)\r\n };\r\n _proto._getTotalRowCount = function(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 _proto._getGroupIndex = function(rowIndex, columnIndex) {\r\n return this._groupedStrategy.getGroupIndex(rowIndex, columnIndex)\r\n };\r\n _proto.calculateEndDate = function(startDate) {\r\n var viewDataGenerator = this.viewDataProvider.viewDataGenerator;\r\n return viewDataGenerator.calculateEndDate(startDate, viewDataGenerator.getInterval(this.option(\"hoursInterval\")), this.option(\"endDayHour\"))\r\n };\r\n _proto._getGroupCount = function() {\r\n return (0, _utils.getGroupCount)(this.option(\"groups\"))\r\n };\r\n _proto._attachTablesEvents = function() {\r\n var element = this.$element();\r\n this._attachDragEvents(element);\r\n this._attachPointerEvents(element)\r\n };\r\n _proto._detachDragEvents = function(element) {\r\n _events_engine.default.off(element, DragEventNames.ENTER);\r\n _events_engine.default.off(element, DragEventNames.LEAVE);\r\n _events_engine.default.off(element, DragEventNames.DROP)\r\n };\r\n _proto._attachDragEvents = function(element) {\r\n var _this8 = this;\r\n this._detachDragEvents(element);\r\n _events_engine.default.on(element, DragEventNames.ENTER, DRAG_AND_DROP_SELECTOR, {\r\n checkDropTarget: function(target, event) {\r\n return !_this8._isOutsideScrollable(target, event)\r\n }\r\n }, (function(e) {\r\n if (!_this8.preventDefaultDragging) {\r\n _this8.removeDroppableCellClass();\r\n (0, _renderer.default)(e.target).addClass(DATE_TABLE_DROPPABLE_CELL_CLASS)\r\n }\r\n }));\r\n _events_engine.default.on(element, DragEventNames.LEAVE, (function() {\r\n if (!_this8.preventDefaultDragging) {\r\n _this8.removeDroppableCellClass()\r\n }\r\n }));\r\n _events_engine.default.on(element, DragEventNames.DROP, DRAG_AND_DROP_SELECTOR, (function() {\r\n var _this8$dragBehavior, _this8$dragBehavior$d;\r\n if (!_this8.dragBehavior) {\r\n return\r\n }\r\n if (!(null !== (_this8$dragBehavior = _this8.dragBehavior) && void 0 !== _this8$dragBehavior && _this8$dragBehavior.dragBetweenComponentsPromise)) {\r\n _this8.dragBehavior.removeDroppableClasses();\r\n return\r\n }\r\n null === (_this8$dragBehavior$d = _this8.dragBehavior.dragBetweenComponentsPromise) || void 0 === _this8$dragBehavior$d ? void 0 : _this8$dragBehavior$d.then((function() {\r\n _this8.dragBehavior.removeDroppableClasses()\r\n }))\r\n }))\r\n };\r\n _proto._attachPointerEvents = function(element) {\r\n var _this9 = this;\r\n var isPointerDown = false;\r\n _events_engine.default.off(element, SCHEDULER_CELL_DXPOINTERMOVE_EVENT_NAME);\r\n _events_engine.default.off(element, SCHEDULER_CELL_DXPOINTERDOWN_EVENT_NAME);\r\n _events_engine.default.on(element, SCHEDULER_CELL_DXPOINTERDOWN_EVENT_NAME, DRAG_AND_DROP_SELECTOR, (function(e) {\r\n if ((0, _index.isMouseEvent)(e) && 1 === e.which) {\r\n isPointerDown = true;\r\n _this9.$element().addClass(WORKSPACE_WITH_MOUSE_SELECTION_CLASS);\r\n _events_engine.default.off(_dom_adapter.default.getDocument(), SCHEDULER_CELL_DXPOINTERUP_EVENT_NAME);\r\n _events_engine.default.on(_dom_adapter.default.getDocument(), SCHEDULER_CELL_DXPOINTERUP_EVENT_NAME, (function() {\r\n isPointerDown = false;\r\n _this9.$element().removeClass(WORKSPACE_WITH_MOUSE_SELECTION_CLASS)\r\n }))\r\n }\r\n }));\r\n _events_engine.default.on(element, SCHEDULER_CELL_DXPOINTERMOVE_EVENT_NAME, DRAG_AND_DROP_SELECTOR, (function(e) {\r\n if (isPointerDown && _this9._dateTableScrollable && !_this9._dateTableScrollable.option(\"scrollByContent\")) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n _this9._moveToCell((0, _renderer.default)(e.target), true)\r\n }\r\n }))\r\n };\r\n _proto._getFormat = function() {\r\n return abstract()\r\n };\r\n _proto.getWorkArea = function() {\r\n return this._$dateTableContainer\r\n };\r\n _proto.getScrollable = function() {\r\n return this._dateTableScrollable\r\n };\r\n _proto.getScrollableScrollTop = function() {\r\n return this._dateTableScrollable.scrollTop()\r\n };\r\n _proto.getGroupedScrollableScrollTop = function(allDay) {\r\n return this._groupedStrategy.getScrollableScrollTop(allDay)\r\n };\r\n _proto.getScrollableScrollLeft = function() {\r\n return this._dateTableScrollable.scrollLeft()\r\n };\r\n _proto.getScrollableOuterWidth = function() {\r\n return this._dateTableScrollable.scrollWidth()\r\n };\r\n _proto.getScrollableContainer = function() {\r\n return (0, _renderer.default)(this._dateTableScrollable.container())\r\n };\r\n _proto.getHeaderPanelHeight = function() {\r\n return this._$headerPanel && (0, _size.getOuterHeight)(this._$headerPanel, true)\r\n };\r\n _proto.getTimePanelWidth = function() {\r\n return this._$timePanel && (0, _position.getBoundingRect)(this._$timePanel.get(0)).width\r\n };\r\n _proto.getGroupTableWidth = function() {\r\n return this._$groupTable ? (0, _size.getOuterWidth)(this._$groupTable) : 0\r\n };\r\n _proto.getWorkSpaceLeftOffset = function() {\r\n return this._groupedStrategy.getLeftOffset()\r\n };\r\n _proto._getCellCoordinatesByIndex = function(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 _proto._getDateGenerationOptions = function() {\r\n var _this$viewDataProvide;\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 === (_this$viewDataProvide = this.viewDataProvider.viewDataGenerator) || void 0 === _this$viewDataProvide ? void 0 : _this$viewDataProvide.getInterval(this.option(\"hoursInterval\")),\r\n startViewDate: this.getStartViewDate(),\r\n firstDayOfWeek: this._firstDayOfWeek()\r\n }\r\n };\r\n _proto._getIntervalBetween = function(currentDate, allDay) {\r\n var firstViewDate = this.getStartViewDate();\r\n var startDayTime = this.option(\"startDayHour\") * HOUR_MS;\r\n var timeZoneOffset = _date.default.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 hiddenInterval = this.viewDataProvider.hiddenInterval;\r\n var visibleDayDuration = this.getVisibleDayDuration();\r\n result = fullInterval - days * hiddenInterval - weekendsCount * visibleDayDuration\r\n }\r\n return result\r\n };\r\n _proto._getWeekendsCount = function() {\r\n return 0\r\n };\r\n _proto._getDaysOfInterval = function(fullInterval, startDayTime) {\r\n return Math.floor((fullInterval + startDayTime) / DAY_MS)\r\n };\r\n _proto._updateIndex = function(index) {\r\n return index * this._getRowCount()\r\n };\r\n _proto._getDroppableCell = function() {\r\n return this._getDateTables().find(\".\" + DATE_TABLE_DROPPABLE_CELL_CLASS)\r\n };\r\n _proto._getWorkSpaceWidth = function() {\r\n var _this10 = this;\r\n return this.cache.get(\"workspaceWidth\", (function() {\r\n if (_this10._needCreateCrossScrolling()) {\r\n return (0, _position.getBoundingRect)(_this10._$dateTable.get(0)).width\r\n }\r\n var totalWidth = (0, _position.getBoundingRect)(_this10.$element().get(0)).width;\r\n var timePanelWidth = _this10.getTimePanelWidth();\r\n var groupTableWidth = _this10.getGroupTableWidth();\r\n return totalWidth - timePanelWidth - groupTableWidth\r\n }))\r\n };\r\n _proto._getCellByCoordinates = function(cellCoordinates, groupIndex, inAllDayRow) {\r\n var indexes = this._groupedStrategy.prepareCellIndexes(cellCoordinates, groupIndex, inAllDayRow);\r\n return this._dom_getDateCell(indexes)\r\n };\r\n _proto._dom_getDateCell = function(position) {\r\n return this._$dateTable.find(\"tr:not(.\".concat(VIRTUAL_ROW_CLASS, \")\")).eq(position.rowIndex).find(\"td:not(.\".concat(_classes.VIRTUAL_CELL_CLASS, \")\")).eq(position.columnIndex)\r\n };\r\n _proto._dom_getAllDayPanelCell = function(columnIndex) {\r\n return this._$allDayPanel.find(\"tr\").eq(0).find(\"td\").eq(columnIndex)\r\n };\r\n _proto._getCells = function(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 (0, _renderer.default)(result)\r\n } else {\r\n return this.$element().find(\".\" + cellClass)\r\n }\r\n };\r\n _proto._getFirstAndLastDataTableCell = function() {\r\n var selector = this.isVirtualScrolling() ? \".\".concat(DATE_TABLE_CELL_CLASS, \", .\").concat(_classes.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 _proto._getAllCells = function(allDay) {\r\n if (this._isVerticalGroupedWorkSpace()) {\r\n return this._$dateTable.find(\"td:not(.\".concat(_classes.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 _proto._setHorizontalGroupHeaderCellsHeight = function() {\r\n var height = (0, _position.getBoundingRect)(this._$dateTable.get(0)).height;\r\n (0, _size.setOuterHeight)(this._$groupTable, height)\r\n };\r\n _proto._getGroupHeaderCells = function() {\r\n return this.$element().find(\".\" + GROUP_HEADER_CLASS)\r\n };\r\n _proto._getScrollCoordinates = function(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 position = cell.position,\r\n cellData = cell.cellData;\r\n return this.virtualScrollingDispatcher.calculateCoordinatesByDataAndPosition(cellData, position, currentDate, (0, _base.isDateAndTimeView)(this.type), \"vertical\" === this.viewDirection)\r\n };\r\n _proto._isOutsideScrollable = function(target, event) {\r\n var $dateTableScrollableElement = this._dateTableScrollable.$element();\r\n var scrollableSize = (0, _position.getBoundingRect)($dateTableScrollableElement.get(0));\r\n var window = (0, _window.getWindow)();\r\n var isTargetInAllDayPanel = !(0, _renderer.default)(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 _proto.setCellDataCache = function(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 _proto.setCellDataCacheAlias = function(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 _proto.supportAllDayRow = function() {\r\n return true\r\n };\r\n _proto.keepOriginalHours = function() {\r\n return false\r\n };\r\n _proto._filterCellDataFields = function(cellData) {\r\n return (0, _extend.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 _proto.getCellData = function($cell) {\r\n var cellData = this._getFullCellData($cell) || {};\r\n return this._filterCellDataFields(cellData)\r\n };\r\n _proto._getFullCellData = function($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 _proto._getVirtualRowOffset = function() {\r\n return this.virtualScrollingDispatcher.virtualRowOffset\r\n };\r\n _proto._getVirtualCellOffset = function() {\r\n return this.virtualScrollingDispatcher.virtualCellOffset\r\n };\r\n _proto._getDataByCell = function($cell) {\r\n var rowIndex = $cell.parent().index() - this.virtualScrollingDispatcher.topVirtualRowsCount;\r\n var columnIndex = $cell.index() - this.virtualScrollingDispatcher.leftVirtualCellsCount;\r\n var viewDataProvider = this.viewDataProvider;\r\n var isAllDayCell = this._hasAllDayClass($cell);\r\n var cellData = viewDataProvider.getCellData(rowIndex, columnIndex, isAllDayCell);\r\n return cellData ? cellData : void 0\r\n };\r\n _proto.isGroupedByDate = function() {\r\n return this.option(\"groupByDate\") && this._isHorizontalGroupedWorkSpace() && this._getGroupCount() > 0\r\n };\r\n _proto.getCellIndexByDate = function(date, inAllDayRow) {\r\n var viewDataGenerator = this.viewDataProvider.viewDataGenerator;\r\n var timeInterval = inAllDayRow ? 864e5 : viewDataGenerator.getInterval(this.option(\"hoursInterval\"));\r\n var startViewDateOffset = (0, _base.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 _proto.getDroppableCellIndex = function() {\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 _proto.getDataByDroppableCell = function() {\r\n var cellData = this.getCellData((0, _renderer.default)(this._getDroppableCell()));\r\n var allDay = cellData.allDay;\r\n var startDate = cellData.startDate;\r\n var endDate = cellData.endDate;\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 _proto.getDateRange = function() {\r\n return [this.getStartViewDate(), this.getEndViewDateByEndDayHour()]\r\n };\r\n _proto.getCellMinWidth = function() {\r\n return DATE_TABLE_MIN_CELL_WIDTH\r\n };\r\n _proto.getRoundedCellWidth = function(groupIndex, startIndex, cellCount) {\r\n if (groupIndex < 0 || !(0, _window.hasWindow)()) {\r\n return 0\r\n }\r\n var $row = this.$element().find(\".\".concat(_classes.DATE_TABLE_ROW_CLASS)).eq(0);\r\n var width = 0;\r\n var $cells = $row.find(\".\" + DATE_TABLE_CELL_CLASS);\r\n var totalCellCount = this._getCellCount() * groupIndex;\r\n cellCount = cellCount || this._getCellCount();\r\n if (!(0, _type.isDefined)(startIndex)) {\r\n startIndex = totalCellCount\r\n }\r\n for (var i = startIndex; i < totalCellCount + cellCount; i++) {\r\n var element = (0, _renderer.default)($cells).eq(i).get(0);\r\n var elementWidth = element ? (0, _position.getBoundingRect)(element).width : 0;\r\n width += elementWidth\r\n }\r\n return width / (totalCellCount + cellCount - startIndex)\r\n };\r\n _proto.getCellWidth = function() {\r\n return (0, _positionHelper.getCellWidth)(this.getDOMElementsMetaData())\r\n };\r\n _proto.getCellHeight = function() {\r\n return (0, _positionHelper.getCellHeight)(this.getDOMElementsMetaData())\r\n };\r\n _proto.getAllDayHeight = function() {\r\n return (0, _positionHelper.getAllDayHeight)(this.option(\"showAllDayPanel\"), this._isVerticalGroupedWorkSpace(), this.getDOMElementsMetaData())\r\n };\r\n _proto.getMaxAllowedPosition = function(groupIndex) {\r\n return (0, _positionHelper.getMaxAllowedPosition)(groupIndex, this.viewDataProvider, this.option(\"rtlEnabled\"), this.getDOMElementsMetaData())\r\n };\r\n _proto.getAllDayOffset = function() {\r\n return this._groupedStrategy.getAllDayOffset()\r\n };\r\n _proto.getCellIndexByCoordinates = function(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 _proto.getStartViewDate = function() {\r\n return this.viewDataProvider.getStartViewDate()\r\n };\r\n _proto.getEndViewDate = function() {\r\n return this.viewDataProvider.getLastCellEndDate()\r\n };\r\n _proto.getEndViewDateByEndDayHour = function() {\r\n return this.viewDataProvider.getLastViewDateByEndDayHour(this.option(\"endDayHour\"))\r\n };\r\n _proto.getCellDuration = function() {\r\n return (0, _base.getCellDuration)(this.type, this.option(\"startDayHour\"), this.option(\"endDayHour\"), this.option(\"hoursInterval\"))\r\n };\r\n _proto.getIntervalDuration = function(allDay) {\r\n return allDay ? toMs(\"day\") : this.getCellDuration()\r\n };\r\n _proto.getVisibleDayDuration = function() {\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 _proto.getGroupBounds = function(coordinates) {\r\n var groupBounds = this._groupedStrategy instanceof _uiSchedulerWork_spaceGroupedStrategy2.default ? this.getGroupBoundsVertical(coordinates.groupIndex) : this.getGroupBoundsHorizontal(coordinates);\r\n return this._isRTL() ? this.getGroupBoundsRtlCorrection(groupBounds) : groupBounds\r\n };\r\n _proto.getGroupBoundsVertical = function(groupIndex) {\r\n var $firstAndLastCells = this._getFirstAndLastDataTableCell();\r\n return this._groupedStrategy.getGroupBoundsOffset(groupIndex, $firstAndLastCells)\r\n };\r\n _proto.getGroupBoundsHorizontal = function(coordinates) {\r\n var cellCount = this._getCellCount();\r\n var $cells = this._getCells();\r\n var cellWidth = this.getCellWidth();\r\n var groupedDataMap = this.viewDataProvider.groupedDataMap;\r\n return this._groupedStrategy.getGroupBoundsOffset(cellCount, $cells, cellWidth, coordinates, groupedDataMap)\r\n };\r\n _proto.getGroupBoundsRtlCorrection = function(groupBounds) {\r\n var cellWidth = this.getCellWidth();\r\n return _extends({}, groupBounds, {\r\n left: groupBounds.right - 2 * cellWidth,\r\n right: groupBounds.left + 2 * cellWidth\r\n })\r\n };\r\n _proto.needRecalculateResizableArea = function() {\r\n return this._isVerticalGroupedWorkSpace() && 0 !== this.getScrollable().scrollTop()\r\n };\r\n _proto.getCellDataByCoordinates = function(coordinates, allDay) {\r\n var _this11 = this;\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, (function() {\r\n var $cells = _this11._getCells(allDay);\r\n var cellIndex = _this11.getCellIndexByCoordinates(coordinates, allDay);\r\n var $cell = $cells.eq(cellIndex);\r\n return _this11.getCellData($cell)\r\n }))\r\n };\r\n _proto.getVisibleBounds = function() {\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 + (0, _size.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 _proto.updateScrollPosition = function(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 _proto.needUpdateScrollPosition = function(date, groups, inAllDayRow) {\r\n var _this12 = this;\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 = _date.default.trimTime(date).getTime();\r\n return cells.reduce((function(currentResult, cell) {\r\n var _this12$getCellData = _this12.getCellData(cell),\r\n cellStartDate = _this12$getCellData.startDate,\r\n cellEndDate = _this12$getCellData.endDate,\r\n cellGroupIndex = _this12$getCellData.groupIndex;\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 _proto._getCellsInViewport = function(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 + (0, _size.getHeight)($scrollable) / cellHeight);\r\n var columnCount = Math.floor(fullScrolledColumnCount + (0, _size.getWidth)($scrollable) / cellWidth);\r\n var $cells = this._getAllCells(inAllDayRow);\r\n var result = [];\r\n $cells.each((function(index) {\r\n var $cell = (0, _renderer.default)(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 _proto.scrollToTime = function(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 _proto.scrollTo = function(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 = (0, _size.getHeight)($scrollable);\r\n var scrollableWidth = (0, _size.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((function() {\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 _proto._isValidScrollDate = function(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 && _ui.default.log(\"W1008\", date);\r\n return false\r\n }\r\n return true\r\n };\r\n _proto.needApplyCollectorOffset = function() {\r\n return false\r\n };\r\n _proto.removeDroppableCellClass = function($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 _proto._getCoordinatesByCell = function($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 _proto._isShowAllDayPanel = function() {\r\n return this.option(\"showAllDayPanel\")\r\n };\r\n _proto._getTimePanelCells = function() {\r\n return this.$element().find(\".\".concat(TIME_PANEL_CELL_CLASS))\r\n };\r\n _proto._getRDateTableProps = function() {\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 _proto._updateSelectedCellDataOption = function(selectedCellData) {\r\n var correctedSelectedCellData = selectedCellData.map((function(_ref3) {\r\n var startDate = _ref3.startDate,\r\n endDate = _ref3.endDate,\r\n allDay = _ref3.allDay,\r\n groupIndex = _ref3.groupIndex,\r\n groups = _ref3.groups;\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 _proto._getCellByData = function(cellData) {\r\n var startDate = cellData.startDate,\r\n groupIndex = cellData.groupIndex,\r\n allDay = cellData.allDay,\r\n index = cellData.index;\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 _proto.getDOMElementsMetaData = function() {\r\n var _this13 = this;\r\n return this.cache.get(\"cellElementsMeta\", (function() {\r\n return {\r\n dateTableCellsMeta: _this13._getDateTableDOMElementsInfo(),\r\n allDayPanelCellsMeta: _this13._getAllDayPanelDOMElementsInfo()\r\n }\r\n }))\r\n };\r\n _proto._getDateTableDOMElementsInfo = function() {\r\n var _this14 = this;\r\n var dateTableCells = this._getAllCells(false);\r\n if (!dateTableCells.length || !(0, _window.hasWindow)()) {\r\n return [\r\n [{}]\r\n ]\r\n }\r\n var dateTable = this._getDateTable();\r\n var dateTableRect = (0, _position.getBoundingRect)(dateTable.get(0));\r\n var columnsCount = this.viewDataProvider.getColumnsCount();\r\n var result = [];\r\n dateTableCells.each((function(index, cell) {\r\n var rowIndex = Math.floor(index / columnsCount);\r\n if (result.length === rowIndex) {\r\n result.push([])\r\n }\r\n _this14._addCellMetaData(result[rowIndex], cell, dateTableRect)\r\n }));\r\n return result\r\n };\r\n _proto._getAllDayPanelDOMElementsInfo = function() {\r\n var _this15 = this;\r\n var result = [];\r\n if (this.isAllDayPanelVisible && !this._isVerticalGroupedWorkSpace() && (0, _window.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 = (0, _position.getBoundingRect)(allDayAppointmentContainer.get(0));\r\n allDayCells.each((function(_, cell) {\r\n _this15._addCellMetaData(result, cell, allDayPanelRect)\r\n }))\r\n }\r\n return result\r\n };\r\n _proto._addCellMetaData = function(cellMetaDataArray, cell, parentRect) {\r\n var cellRect = (0, _position.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 _proto._oldRender_getAllDayCellData = function(groupIndex) {\r\n var _this16 = this;\r\n return function(cell, rowIndex, columnIndex) {\r\n var validColumnIndex = columnIndex % _this16._getCellCount();\r\n var options = _this16._getDateGenerationOptions(true);\r\n var startDate = _this16.viewDataProvider.viewDataGenerator.getDateByCellIndices(options, rowIndex, validColumnIndex, _this16._getCellCountInDay());\r\n startDate = _date.default.trimTime(startDate);\r\n var validGroupIndex = groupIndex || 0;\r\n if (_this16.isGroupedByDate()) {\r\n validGroupIndex = Math.floor(columnIndex % _this16._getGroupCount())\r\n } else if (_this16._isHorizontalGroupedWorkSpace()) {\r\n validGroupIndex = Math.floor(columnIndex / _this16._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 = (0, _utils.getCellGroups)(validGroupIndex, _this16.option(\"groups\"));\r\n if (groupsArray.length) {\r\n data.groups = (0, _utils.getGroupsObjectFromGroupsArray)(groupsArray)\r\n }\r\n return {\r\n key: CELL_DATA,\r\n value: data\r\n }\r\n }\r\n };\r\n _proto.renderRWorkSpace = function(componentsToRender) {\r\n var components = null !== componentsToRender && void 0 !== componentsToRender ? componentsToRender : {\r\n header: true,\r\n timePanel: true,\r\n dateTable: true,\r\n allDayPanel: true\r\n };\r\n components.header && this.renderRHeaderPanel();\r\n components.timePanel && this.renderRTimeTable();\r\n components.dateTable && this.renderRDateTable();\r\n components.allDayPanel && this.renderRAllDayPanel()\r\n };\r\n _proto.renderRDateTable = function() {\r\n _utils2.utils.renovation.renderComponent(this, this._$dateTable, _layout.default, \"renovatedDateTable\", this._getRDateTableProps())\r\n };\r\n _proto.renderRGroupPanel = function() {\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 (this.option(\"groups\").length) {\r\n this._attachGroupCountClass();\r\n _utils2.utils.renovation.renderComponent(this, this._getGroupHeaderContainer(), _group_panel.default, \"renovatedGroupPanel\", options)\r\n } else {\r\n this._detachGroupCountClass()\r\n }\r\n };\r\n _proto.renderRAllDayPanel = function() {\r\n var visible = this.isAllDayPanelVisible && !this.isGroupedAllDayPanel();\r\n if (visible) {\r\n var _this$virtualScrollin;\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 === (_this$virtualScrollin = this.virtualScrollingDispatcher.horizontalVirtualScrolling) || void 0 === _this$virtualScrollin ? void 0 : _this$virtualScrollin.getRenderState()) || {});\r\n _utils2.utils.renovation.renderComponent(this, this._$allDayTable, _table.default, \"renovatedAllDayPanel\", options);\r\n _utils2.utils.renovation.renderComponent(this, this._$allDayTitle, _title.default, \"renovatedAllDayPanelTitle\", {})\r\n }\r\n this._toggleAllDayVisibility(true)\r\n };\r\n _proto.renderRTimeTable = function() {\r\n _utils2.utils.renovation.renderComponent(this, this._$timePanel, _layout2.default, \"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 _proto.renderRHeaderPanel = function() {\r\n var isRenderDateHeader = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : true;\r\n if (this.option(\"groups\").length) {\r\n this._attachGroupCountClass()\r\n } else {\r\n this._detachGroupCountClass()\r\n }\r\n _utils2.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 _proto.initDragBehavior = function(scheduler) {\r\n if (!this.dragBehavior && scheduler) {\r\n this.dragBehavior = new _appointmentDragBehavior.default(scheduler);\r\n var $rootElement = (0, _renderer.default)(scheduler.element());\r\n this._createDragBehavior(this.getWorkArea(), $rootElement);\r\n this._createDragBehavior(this.getAllDayContainer(), $rootElement)\r\n }\r\n };\r\n _proto._createDragBehavior = function($targetElement, $rootElement) {\r\n var options = {\r\n getItemData: function(itemElement, appointments) {\r\n return appointments._getItemData(itemElement)\r\n },\r\n getItemSettings: function($itemElement) {\r\n return $itemElement.data(_constants.APPOINTMENT_SETTINGS_KEY)\r\n }\r\n };\r\n this._createDragBehaviorBase($targetElement, $rootElement, options)\r\n };\r\n _proto._createDragBehaviorBase = function(targetElement, rootElement, options) {\r\n var _this17 = this;\r\n var container = this.$element().find(\".\".concat(_classes.FIXED_CONTAINER_CLASS));\r\n this.dragBehavior.addTo(targetElement, createDragBehaviorConfig(container, rootElement, this.isDefaultDraggingMode, this.dragBehavior, (function() {\r\n if (!_this17.isDefaultDraggingMode) {\r\n _this17.preventDefaultDragging = false\r\n }\r\n }), (function() {\r\n if (!_this17.isDefaultDraggingMode) {\r\n _this17.preventDefaultDragging = true\r\n }\r\n }), (function() {\r\n return _this17._getDroppableCell()\r\n }), (function() {\r\n return _this17._getDateTables()\r\n }), (function() {\r\n return _this17.removeDroppableCellClass()\r\n }), (function() {\r\n return _this17.getCellWidth()\r\n }), options))\r\n };\r\n _proto._isRenderHeaderPanelEmptyCell = function() {\r\n return this._isVerticalGroupedWorkSpace()\r\n };\r\n _proto._dispose = function() {\r\n _WidgetObserver.prototype._dispose.call(this);\r\n this.virtualScrollingDispatcher.dispose()\r\n };\r\n _proto._getDefaultOptions = function() {\r\n return (0, _extend.extend)(_WidgetObserver.prototype._getDefaultOptions.call(this), {\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: function() {},\r\n getHeaderHeight: void 0,\r\n onRenderAppointments: function() {},\r\n onShowAllDayPanel: function() {},\r\n onSelectedCellsClick: function() {},\r\n timeZoneCalculator: void 0,\r\n schedulerHeight: void 0,\r\n schedulerWidth: void 0\r\n })\r\n };\r\n _proto._optionChanged = function(args) {\r\n switch (args.name) {\r\n case \"startDayHour\":\r\n (0, _base.validateDayHours)(args.value, this.option(\"endDayHour\"));\r\n this._cleanWorkSpace();\r\n break;\r\n case \"endDayHour\":\r\n (0, _base.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 _WidgetObserver.prototype._optionChanged.call(this, 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 _WidgetObserver.prototype._optionChanged.call(this, args)\r\n }\r\n };\r\n _proto.updateShowAllDayPanel = function() {\r\n var isHiddenAllDayPanel = \"hidden\" === this.option(\"allDayPanelMode\");\r\n this.option(\"onShowAllDayPanel\")(!isHiddenAllDayPanel)\r\n };\r\n _proto._getVirtualScrollingDispatcherOptions = function() {\r\n var _this18 = this;\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: function() {\r\n return _this18.option(\"schedulerHeight\")\r\n },\r\n getSchedulerWidth: function() {\r\n return _this18.option(\"schedulerWidth\")\r\n },\r\n getViewHeight: function() {\r\n return _this18.$element().height ? _this18.$element().height() : (0, _size.getHeight)(_this18.$element())\r\n },\r\n getViewWidth: function() {\r\n return _this18.$element().width ? _this18.$element().width() : (0, _size.getWidth)(_this18.$element())\r\n },\r\n getWindowHeight: function() {\r\n return (0, _window.getWindow)().innerHeight\r\n },\r\n getWindowWidth: function() {\r\n return (0, _window.getWindow)().innerWidth\r\n },\r\n getScrolling: function() {\r\n return _this18.option(\"scrolling\")\r\n },\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 _proto._cleanWorkSpace = function() {\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 _proto._init = function() {\r\n this._scrollSync = {};\r\n this._viewDataProvider = null;\r\n this._cellsSelectionState = null;\r\n this._activeStateUnit = CELL_SELECTOR;\r\n _WidgetObserver.prototype._init.call(this);\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 _proto._initPositionHelper = function() {\r\n this.positionHelper = new _positionHelper.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 _proto._initGrouping = function() {\r\n this._initGroupedStrategy();\r\n this._toggleGroupingDirectionClass();\r\n this._toggleGroupByDateClass()\r\n };\r\n _proto.isVerticalOrientation = function() {\r\n var orientation = this.option(\"groups\").length ? this.option(\"groupOrientation\") : this._getDefaultGroupStrategy();\r\n return \"vertical\" === orientation\r\n };\r\n _proto._initGroupedStrategy = function() {\r\n var Strategy = this.isVerticalOrientation() ? _uiSchedulerWork_spaceGroupedStrategy2.default : _uiSchedulerWork_spaceGroupedStrategy.default;\r\n this._groupedStrategy = new Strategy(this)\r\n };\r\n _proto._getDefaultGroupStrategy = function() {\r\n return \"horizontal\"\r\n };\r\n _proto._toggleHorizontalScrollClass = function() {\r\n this.$element().toggleClass(WORKSPACE_WITH_BOTH_SCROLLS_CLASS, this.option(\"crossScrollingEnabled\"))\r\n };\r\n _proto._toggleGroupByDateClass = function() {\r\n this.$element().toggleClass(WORKSPACE_WITH_GROUP_BY_DATE_CLASS, this.isGroupedByDate())\r\n };\r\n _proto._toggleWorkSpaceCountClass = function() {\r\n this.$element().toggleClass(WORKSPACE_WITH_COUNT_CLASS, this._isWorkSpaceWithCount())\r\n };\r\n _proto._toggleWorkSpaceWithOddCells = function() {\r\n this.$element().toggleClass(WORKSPACE_WITH_ODD_CELLS_CLASS, this._isWorkspaceWithOddCells())\r\n };\r\n _proto._toggleGroupingDirectionClass = function() {\r\n this.$element().toggleClass(VERTICAL_GROUPED_WORKSPACE_CLASS, this._isVerticalGroupedWorkSpace())\r\n };\r\n _proto._getDateTableCellClass = function(rowIndex, columnIndex) {\r\n var cellClass = DATE_TABLE_CELL_CLASS + \" \" + HORIZONTAL_SIZES_CLASS + \" \" + VERTICAL_SIZES_CLASS;\r\n return this._groupedStrategy.addAdditionalGroupCellClasses(cellClass, columnIndex + 1, rowIndex, columnIndex)\r\n };\r\n _proto._getGroupHeaderClass = function(i) {\r\n var cellClass = GROUP_HEADER_CLASS;\r\n return this._groupedStrategy.addAdditionalGroupCellClasses(cellClass, i + 1)\r\n };\r\n _proto._initWorkSpaceUnits = function() {\r\n this._$headerPanelContainer = (0, _renderer.default)(\"<div>\").addClass(\"dx-scheduler-header-panel-container\");\r\n this._$headerTablesContainer = (0, _renderer.default)(\"<div>\").addClass(\"dx-scheduler-header-tables-container\");\r\n this._$headerPanel = (0, _renderer.default)(\"<table>\");\r\n this._$thead = (0, _renderer.default)(\"<thead>\").appendTo(this._$headerPanel);\r\n this._$headerPanelEmptyCell = (0, _renderer.default)(\"<div>\").addClass(\"dx-scheduler-header-panel-empty-cell\");\r\n this._$allDayTable = (0, _renderer.default)(\"<table>\");\r\n this._$fixedContainer = (0, _renderer.default)(\"<div>\").addClass(_classes.FIXED_CONTAINER_CLASS);\r\n this._$allDayContainer = (0, _renderer.default)(\"<div>\").addClass(ALL_DAY_CONTAINER_CLASS);\r\n this._$dateTableScrollableContent = (0, _renderer.default)(\"<div>\").addClass(\"dx-scheduler-date-table-scrollable-content\");\r\n this._$sidebarScrollableContent = (0, _renderer.default)(\"<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 = (0, _renderer.default)(\"<table>\").addClass(_classes.TIME_PANEL_CLASS);\r\n this._$dateTable = (0, _renderer.default)(\"<table>\");\r\n this._$dateTableContainer = (0, _renderer.default)(\"<div>\").addClass(\"dx-scheduler-date-table-container\");\r\n this._$groupTable = (0, _renderer.default)(\"<div>\").addClass(WORKSPACE_VERTICAL_GROUP_TABLE_CLASS)\r\n };\r\n _proto._initAllDayPanelElements = function() {\r\n this._allDayTitles = [];\r\n this._allDayTables = [];\r\n this._allDayPanels = []\r\n };\r\n _proto._initDateTableScrollable = function() {\r\n var _this19 = this;\r\n var $dateTableScrollable = (0, _renderer.default)(\"<div>\").addClass(SCHEDULER_DATE_TABLE_SCROLLABLE_CLASS);\r\n this._dateTableScrollable = this._createComponent($dateTableScrollable, _ui2.default, this._dateTableScrollableConfig());\r\n this._scrollSync.dateTable = (0, _getMemoizeScrollTo.getMemoizeScrollTo)((function() {\r\n return _this19._dateTableScrollable\r\n }))\r\n };\r\n _proto._createWorkSpaceElements = function() {\r\n if (this.option(\"crossScrollingEnabled\")) {\r\n this._createWorkSpaceScrollableElements()\r\n } else {\r\n this._createWorkSpaceStaticElements()\r\n }\r\n };\r\n _proto._createWorkSpaceStaticElements = function() {\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 var _this$_$allDayPanel;\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 === (_this$_$allDayPanel = this._$allDayPanel) || void 0 === _this$_$allDayPanel ? void 0 : _this$_$allDayPanel.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 _proto._createWorkSpaceScrollableElements = function() {\r\n this.$element().append(this._$fixedContainer);\r\n this._$flexContainer = (0, _renderer.default)(\"<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 var _this$_$allDayPanel2;\r\n this._headerScrollable.$content().append(this._$allDayPanel);\r\n null === (_this$_$allDayPanel2 = this._$allDayPanel) || void 0 === _this$_$allDayPanel2 ? void 0 : _this$_$allDayPanel2.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 _proto._appendHeaderPanelEmptyCellIfNecessary = function() {\r\n this._isRenderHeaderPanelEmptyCell() && this._$headerPanelContainer.append(this._$headerPanelEmptyCell)\r\n };\r\n _proto._createHeaderScrollable = function() {\r\n var _this20 = this;\r\n var $headerScrollable = (0, _renderer.default)(\"<div>\").addClass(SCHEDULER_HEADER_SCROLLABLE_CLASS).appendTo(this._$headerTablesContainer);\r\n this._headerScrollable = this._createComponent($headerScrollable, _ui2.default, this._headerScrollableConfig());\r\n this._scrollSync.header = (0, _getMemoizeScrollTo.getMemoizeScrollTo)((function() {\r\n return _this20._headerScrollable\r\n }))\r\n };\r\n _proto._createSidebarScrollable = function() {\r\n var _this21 = this;\r\n var $timePanelScrollable = (0, _renderer.default)(\"<div>\").addClass(SCHEDULER_SIDEBAR_SCROLLABLE_CLASS).appendTo(this._$flexContainer);\r\n this._sidebarScrollable = this._createComponent($timePanelScrollable, _ui2.default, {\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: function(event) {\r\n _this21._scrollSync.dateTable({\r\n top: event.scrollOffset.top\r\n })\r\n }\r\n });\r\n this._scrollSync.sidebar = (0, _getMemoizeScrollTo.getMemoizeScrollTo)((function() {\r\n return _this21._sidebarScrollable\r\n }))\r\n };\r\n _proto._attachTableClasses = function() {\r\n this._addTableClass(this._$dateTable, _classes.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 _proto._attachHeaderTableClasses = function() {\r\n this._addTableClass(this._$headerPanel, HEADER_PANEL_CLASS)\r\n };\r\n _proto._addTableClass = function($el, className) {\r\n $el && !$el.hasClass(className) && $el.addClass(className)\r\n };\r\n _proto._initMarkup = function() {\r\n this.cache.clear();\r\n this._initWorkSpaceUnits();\r\n this._initVirtualScrolling();\r\n this._initDateTableScrollable();\r\n this._createWorkSpaceElements();\r\n _WidgetObserver.prototype._initMarkup.call(this);\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 _proto._render = function() {\r\n _WidgetObserver.prototype._render.call(this);\r\n this._renderDateTimeIndication();\r\n this._setIndicationUpdateInterval()\r\n };\r\n _proto._toggleGroupedClass = function() {\r\n this.$element().toggleClass(GROUPED_WORKSPACE_CLASS, this._getGroupCount() > 0)\r\n };\r\n _proto._renderView = function() {\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 _uiSchedulerCurrent_time_shader.default(this)\r\n };\r\n _proto.updateCellsSelection = function() {\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 _proto._renderDateTimeIndication = function() {\r\n return (0, _common.noop)()\r\n };\r\n _proto._setIndicationUpdateInterval = function() {\r\n return (0, _common.noop)()\r\n };\r\n _proto._refreshDateTimeIndication = function() {\r\n return (0, _common.noop)()\r\n };\r\n _proto._detachGroupCountClass = function() {\r\n var _this22 = this;\r\n _toConsumableArray(_classes.VERTICAL_GROUP_COUNT_CLASSES).forEach((function(className) {\r\n _this22.$element().removeClass(className)\r\n }))\r\n };\r\n _proto._attachGroupCountClass = function() {\r\n var className = this._groupedStrategy.getGroupCountClass(this.option(\"groups\"));\r\n this.$element().addClass(className)\r\n };\r\n _proto._getDateHeaderTemplate = function() {\r\n return this.option(\"dateCellTemplate\")\r\n };\r\n _proto._toggleAllDayVisibility = function(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 _proto._changeAllDayVisibility = function() {\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 _proto._getDateTables = function() {\r\n return this._$dateTable.add(this._$allDayTable)\r\n };\r\n _proto._getDateTable = function() {\r\n return this._$dateTable\r\n };\r\n _proto._removeAllDayElements = function() {\r\n this._$allDayTable && this._$allDayTable.remove();\r\n this._$allDayTitle && this._$allDayTitle.remove()\r\n };\r\n _proto._cleanView = function() {\r\n var _this$_shader;\r\n this.cache.clear();\r\n this._cleanTableWidths();\r\n this.cellsSelectionState.clearSelectedAndFocusedCells();\r\n if (!this.isRenovatedRender()) {\r\n var _this$_$allDayTable, _this$_$sidebarTable;\r\n this._$thead.empty();\r\n this._$dateTable.empty();\r\n this._$timePanel.empty();\r\n this._$groupTable.empty();\r\n null === (_this$_$allDayTable = this._$allDayTable) || void 0 === _this$_$allDayTable ? void 0 : _this$_$allDayTable.empty();\r\n null === (_this$_$sidebarTable = this._$sidebarTable) || void 0 === _this$_$sidebarTable ? void 0 : _this$_$sidebarTable.empty()\r\n }\r\n null === (_this$_shader = this._shader) || void 0 === _this$_shader ? void 0 : _this$_shader.clean();\r\n delete this._interval\r\n };\r\n _proto._clean = function() {\r\n _events_engine.default.off(_dom_adapter.default.getDocument(), SCHEDULER_CELL_DXPOINTERUP_EVENT_NAME);\r\n this._disposeRenovatedComponents();\r\n _WidgetObserver.prototype._clean.call(this)\r\n };\r\n _proto._cleanTableWidths = function() {\r\n this._$headerPanel.css(\"width\", \"\");\r\n this._$dateTable.css(\"width\", \"\");\r\n this._$allDayTable && this._$allDayTable.css(\"width\", \"\")\r\n };\r\n _proto._disposeRenovatedComponents = function() {\r\n var _this$renovatedAllDay, _this$renovatedDateTa, _this$renovatedTimePa, _this$renovatedGroupP, _this$renovatedHeader;\r\n null === (_this$renovatedAllDay = this.renovatedAllDayPanel) || void 0 === _this$renovatedAllDay ? void 0 : _this$renovatedAllDay.dispose();\r\n this.renovatedAllDayPanel = void 0;\r\n null === (_this$renovatedDateTa = this.renovatedDateTable) || void 0 === _this$renovatedDateTa ? void 0 : _this$renovatedDateTa.dispose();\r\n this.renovatedDateTable = void 0;\r\n null === (_this$renovatedTimePa = this.renovatedTimePanel) || void 0 === _this$renovatedTimePa ? void 0 : _this$renovatedTimePa.dispose();\r\n this.renovatedTimePanel = void 0;\r\n null === (_this$renovatedGroupP = this.renovatedGroupPanel) || void 0 === _this$renovatedGroupP ? void 0 : _this$renovatedGroupP.dispose();\r\n this.renovatedGroupPanel = void 0;\r\n null === (_this$renovatedHeader = this.renovatedHeaderPanel) || void 0 === _this$renovatedHeader ? void 0 : _this$renovatedHeader.dispose();\r\n this.renovatedHeaderPanel = void 0\r\n };\r\n _proto.getGroupedStrategy = function() {\r\n return this._groupedStrategy\r\n };\r\n _proto.getFixedContainer = function() {\r\n return this._$fixedContainer\r\n };\r\n _proto.getAllDayContainer = function() {\r\n return this._$allDayContainer\r\n };\r\n _proto.updateRender = function() {\r\n this.renderer.updateRender()\r\n };\r\n _proto.updateGrid = function() {\r\n this.renderer._renderGrid()\r\n };\r\n _proto.updateAppointments = function() {\r\n var _this$dragBehavior;\r\n this.option(\"onRenderAppointments\")();\r\n null === (_this$dragBehavior = this.dragBehavior) || void 0 === _this$dragBehavior ? void 0 : _this$dragBehavior.updateDragSource()\r\n };\r\n _proto._createAllDayPanelElements = function() {\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 = (0, _renderer.default)(\"<div>\").addClass(ALL_DAY_TITLE_CLASS).text(_message.default.format(\"dxScheduler-allDay\"));\r\n this._allDayTitles.push($allDayTitle);\r\n this._$allDayTable = (0, _renderer.default)(\"<table>\");\r\n this._allDayTables.push(this._$allDayTable);\r\n this._$allDayPanel = (0, _renderer.default)(\"<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 = (0, _renderer.default)(\"<div>\").addClass(ALL_DAY_TITLE_CLASS).text(_message.default.format(\"dxScheduler-allDay\")).appendTo(this.$element());\r\n this._$allDayTable = (0, _renderer.default)(\"<table>\");\r\n this._$allDayPanel = (0, _renderer.default)(\"<div>\").addClass(ALL_DAY_PANEL_CLASS).append(this._$allDayTable)\r\n }\r\n };\r\n _proto.renderWorkSpace = function() {\r\n var isGenerateNewViewData = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : true;\r\n this.cache.clear();\r\n this.viewDataProvider.update(this.generateRenderOptions(), isGenerateNewViewData);\r\n if (this.isRenovatedRender()) {\r\n this.renderRWorkSpace()\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 _proto._renderGroupHeader = function() {\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 _proto._applyCellTemplates = function(templates) {\r\n null === templates || void 0 === templates ? void 0 : templates.forEach((function(template) {\r\n template()\r\n }))\r\n };\r\n _proto._makeGroupRows = function(groups, groupByDate) {\r\n var tableCreatorStrategy = this._isVerticalGroupedWorkSpace() ? tableCreator.VERTICAL : tableCreator.HORIZONTAL;\r\n return tableCreator.makeGroupedTable(tableCreatorStrategy, groups, {\r\n groupHeaderRowClass: _classes.GROUP_ROW_CLASS,\r\n groupRowClass: _classes.GROUP_ROW_CLASS,\r\n groupHeaderClass: this._getGroupHeaderClass.bind(this),\r\n groupHeaderContentClass: _classes.GROUP_HEADER_CONTENT_CLASS\r\n }, this._getCellCount() || 1, this.option(\"resourceCellTemplate\"), this._getGroupCount(), groupByDate)\r\n };\r\n _proto._renderDateHeader = function() {\r\n var container = this._getDateHeaderContainer();\r\n var $headerRow = (0, _renderer.default)(\"<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 _proto._renderDateHeaderTemplate = function(container, panelCellIndex, templateIndex, cellTemplate, templateCallbacks) {\r\n var validTemplateIndex = this.isGroupedByDate() ? Math.floor(templateIndex / this._getGroupCount()) : templateIndex;\r\n var completeDateHeaderMap = this.viewDataProvider.completeDateHeaderMap;\r\n var _completeDateHeaderMa = completeDateHeaderMap[completeDateHeaderMap.length - 1][validTemplateIndex],\r\n text = _completeDateHeaderMa.text,\r\n date = _completeDateHeaderMa.startDate;\r\n var $cell = (0, _renderer.default)(\"<th>\").addClass(this._getHeaderPanelCellClass(panelCellIndex)).attr(\"title\", text);\r\n if (null !== cellTemplate && void 0 !== cellTemplate && 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: (0, _element.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 _proto._getGroupsForDateHeaderTemplate = function(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 = (0, _utils.getCellGroups)(groupIndex, this.option(\"groups\"));\r\n groups = (0, _utils.getGroupsObjectFromGroupsArray)(groupsArray)\r\n }\r\n return {\r\n groups: groups,\r\n groupIndex: groupIndex\r\n }\r\n };\r\n _proto._getHeaderPanelCellClass = function(i) {\r\n var cellClass = HEADER_PANEL_CELL_CLASS + \" \" + HORIZONTAL_SIZES_CLASS;\r\n return this._groupedStrategy.addAdditionalGroupCellClasses(cellClass, i + 1, void 0, void 0, this.isGroupedByDate())\r\n };\r\n _proto._renderAllDayPanel = function(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 ? (0, _element.getPublicElement)(this._allDayTables[index]) : (0, _element.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 _proto._renderGroupAllDayPanel = function() {\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 _proto._getAllDayPanelCellClass = function(i, j) {\r\n var cellClass = ALL_DAY_TABLE_CELL_CLASS + \" \" + HORIZONTAL_SIZES_CLASS;\r\n return this._groupedStrategy.addAdditionalGroupCellClasses(cellClass, j + 1)\r\n };\r\n _proto._renderTimePanel = function() {\r\n var _this23 = this;\r\n var repeatCount = this._groupedStrategy.calculateTimeCellRepeatCount();\r\n var getData = function(rowIndex, field) {\r\n var allDayPanelsCount = 0;\r\n if (_this23.isAllDayPanelVisible) {\r\n allDayPanelsCount = 1\r\n }\r\n if (_this23.isGroupedAllDayPanel()) {\r\n allDayPanelsCount = Math.ceil((rowIndex + 1) / _this23._getRowCount())\r\n }\r\n var validRowIndex = rowIndex + allDayPanelsCount;\r\n return _this23.viewDataProvider.completeTimePanelMap[validRowIndex][field]\r\n };\r\n this._renderTableBody({\r\n container: (0, _element.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: function(rowIndex) {\r\n return getData(rowIndex, \"text\")\r\n },\r\n getCellDate: function(rowIndex) {\r\n return getData(rowIndex, \"startDate\")\r\n },\r\n groupCount: this._getGroupCount(),\r\n allDayElements: this._insertAllDayRowsIntoDateTable() ? this._allDayTitles : void 0,\r\n getTemplateData: function(rowIndex) {\r\n if (!_this23._isVerticalGroupedWorkSpace()) {\r\n return {}\r\n }\r\n var groupIndex = _this23._getGroupIndex(rowIndex, 0);\r\n var groupsArray = (0, _utils.getCellGroups)(groupIndex, _this23.option(\"groups\"));\r\n var groups = (0, _utils.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 _proto._getTimeCellClass = function(i) {\r\n var cellClass = TIME_PANEL_CELL_CLASS + \" \" + VERTICAL_SIZES_CLASS;\r\n return this._isVerticalGroupedWorkSpace() ? this._groupedStrategy.addAdditionalGroupCellClasses(cellClass, i, i) : cellClass\r\n };\r\n _proto._renderDateTable = function() {\r\n var _this24 = this;\r\n var groupCount = this._getGroupCount();\r\n this._renderTableBody({\r\n container: (0, _element.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: _classes.DATE_TABLE_ROW_CLASS,\r\n cellTemplate: this.option(\"dataCellTemplate\"),\r\n getCellData: function(_, rowIndex, columnIndex) {\r\n var isGroupedAllDayPanel = _this24.isGroupedAllDayPanel();\r\n var validRowIndex = rowIndex;\r\n if (isGroupedAllDayPanel) {\r\n var rowCount = _this24._getRowCount();\r\n var allDayPanelsCount = Math.ceil(rowIndex / rowCount);\r\n validRowIndex += allDayPanelsCount\r\n }\r\n var cellData = _this24.viewDataProvider.viewDataMap.dateTableMap[validRowIndex][columnIndex].cellData;\r\n return {\r\n value: _this24._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 _proto._insertAllDayRowsIntoDateTable = function() {\r\n return this._groupedStrategy.insertAllDayRowsIntoDateTable()\r\n };\r\n _proto._renderTableBody = function(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 _createClass(SchedulerWorkSpace, [{\r\n key: \"viewDataProvider\",\r\n get: function() {\r\n if (!this._viewDataProvider) {\r\n this._viewDataProvider = new _view_data_provider.default(this.type)\r\n }\r\n return this._viewDataProvider\r\n }\r\n }, {\r\n key: \"cache\",\r\n get: function() {\r\n if (!this._cache) {\r\n this._cache = new _cache.Cache\r\n }\r\n return this._cache\r\n }\r\n }, {\r\n key: \"cellsSelectionState\",\r\n get: function() {\r\n var _this25 = this;\r\n if (!this._cellsSelectionState) {\r\n this._cellsSelectionState = new _cells_selection_state.default(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((function(selectedCell) {\r\n var groups = selectedCell.groups;\r\n if (!groups || 0 === _this25._getGroupCount()) {\r\n return _extends({}, selectedCell, {\r\n groupIndex: 0\r\n })\r\n }\r\n var groupIndex = _this25._getGroupIndexByResourceId(groups);\r\n return _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 }, {\r\n key: \"cellsSelectionController\",\r\n get: function() {\r\n if (!this._cellsSelectionController) {\r\n this._cellsSelectionController = new _cells_selection_controller.CellsSelectionController\r\n }\r\n return this._cellsSelectionController\r\n }\r\n }, {\r\n key: \"isAllDayPanelVisible\",\r\n get: function() {\r\n return this._isShowAllDayPanel() && this.supportAllDayRow()\r\n }\r\n }, {\r\n key: \"verticalGroupTableClass\",\r\n get: function() {\r\n return WORKSPACE_VERTICAL_GROUP_TABLE_CLASS\r\n }\r\n }, {\r\n key: \"viewDirection\",\r\n get: function() {\r\n return \"vertical\"\r\n }\r\n }, {\r\n key: \"renovatedHeaderPanelComponent\",\r\n get: function() {\r\n return _layout3.default\r\n }\r\n }, {\r\n key: \"timeZoneCalculator\",\r\n get: function() {\r\n return this.option(\"timeZoneCalculator\")\r\n }\r\n }, {\r\n key: \"isDefaultDraggingMode\",\r\n get: function() {\r\n return \"default\" === this.option(\"draggingMode\")\r\n }\r\n }]);\r\n return SchedulerWorkSpace\r\n}(_widgetObserver.default);\r\nvar createDragBehaviorConfig = function(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 = function() {\r\n var itemData = state.itemData;\r\n if (itemData) {\r\n var getter = (0, _data.compileGetter)(\"disabled\");\r\n return getter(itemData)\r\n }\r\n return true\r\n };\r\n var cursorOffset = options.isSetCursorOffset ? function() {\r\n var $dragElement = (0, _renderer.default)(state.dragElement);\r\n return {\r\n x: (0, _size.getWidth)($dragElement) / 2,\r\n y: (0, _size.getHeight)($dragElement) / 2\r\n }\r\n } : void 0;\r\n return {\r\n container: container,\r\n dragTemplate: function() {\r\n return state.dragElement\r\n },\r\n onDragStart: function(e) {\r\n if (!isDefaultDraggingMode) {\r\n disableDefaultDragging()\r\n }\r\n var canceled = e.cancel;\r\n var event = e.event;\r\n var $itemElement = (0, _renderer.default)(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 initialPosition = options.initialPosition;\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 = function(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 : (0, _translator.locate)((0, _renderer.default)(state.dragElement));\r\n event.data.itemData = state.itemData;\r\n event.data.itemSettings = settings;\r\n dragBehavior.onDragStart(event.data);\r\n (0, _translator.resetPosition)((0, _renderer.default)(state.dragElement))\r\n }\r\n }\r\n },\r\n onDragMove: function() {\r\n if (isDefaultDraggingMode) {\r\n return\r\n }\r\n var elements = function() {\r\n var appointmentWidth = (0, _size.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 = (0, _renderer.default)(state.dragElement).parent();\r\n var boundingRect = (0, _position.getBoundingRect)(dragElementContainer.get(0));\r\n var newX = boundingRect.left;\r\n var newY = boundingRect.top;\r\n if (isWideAppointment) {\r\n return _dom_adapter.default.elementsFromPoint(newX + DRAGGING_MOUSE_FAULT, newY + DRAGGING_MOUSE_FAULT)\r\n } else if (isNarrowAppointment) {\r\n return _dom_adapter.default.elementsFromPoint(newX, newY)\r\n }\r\n return _dom_adapter.default.elementsFromPoint(newX + appointmentWidth / 2, newY + DRAGGING_MOUSE_FAULT)\r\n }();\r\n var isMoveUnderControl = !!elements.find((function(el) {\r\n return el === rootElement.get(0)\r\n }));\r\n var dateTables = getDateTables();\r\n var droppableCell = elements.find((function(el) {\r\n var classList = el.classList;\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 }(0, _renderer.default)(droppableCell).addClass(DATE_TABLE_DROPPABLE_CELL_CLASS)\r\n } else if (!isMoveUnderControl) {\r\n removeDroppableCellClass()\r\n }\r\n },\r\n onDragEnd: function(e) {\r\n var _state$dragElement;\r\n if (!isDefaultDraggingMode) {\r\n enableDefaultDragging()\r\n }\r\n if (!isItemDisabled()) {\r\n dragBehavior.onDragEnd(e)\r\n }\r\n null === (_state$dragElement = state.dragElement) || void 0 === _state$dragElement ? void 0 : _state$dragElement.remove();\r\n removeDroppableCellClass()\r\n },\r\n cursorOffset: cursorOffset,\r\n filter: options.filter\r\n }\r\n};\r\nvar _default = SchedulerWorkSpace;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/scheduler/workspaces/ui.scheduler.work_space_day.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.default = void 0;\r\nvar _component_registrator = _interopRequireDefault(require(\"../../../core/component_registrator\"));\r\nvar _constants = require(\"../constants\");\r\nvar _uiScheduler = _interopRequireDefault(require(\"./ui.scheduler.work_space_vertical\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar DAY_CLASS = \"dx-scheduler-work-space-day\";\r\nvar SchedulerWorkSpaceDay = function(_SchedulerWorkSpaceVe) {\r\n _inheritsLoose(SchedulerWorkSpaceDay, _SchedulerWorkSpaceVe);\r\n\r\n function SchedulerWorkSpaceDay() {\r\n return _SchedulerWorkSpaceVe.apply(this, arguments) || this\r\n }\r\n var _proto = SchedulerWorkSpaceDay.prototype;\r\n _proto._getElementClass = function() {\r\n return DAY_CLASS\r\n };\r\n _proto._renderDateHeader = function() {\r\n return 1 === this.option(\"intervalCount\") ? null : _SchedulerWorkSpaceVe.prototype._renderDateHeader.call(this)\r\n };\r\n _proto.renderRHeaderPanel = function() {\r\n if (1 === this.option(\"intervalCount\")) {\r\n _SchedulerWorkSpaceVe.prototype.renderRHeaderPanel.call(this, false)\r\n } else {\r\n _SchedulerWorkSpaceVe.prototype.renderRHeaderPanel.call(this, true)\r\n }\r\n };\r\n _createClass(SchedulerWorkSpaceDay, [{\r\n key: \"type\",\r\n get: function() {\r\n return _constants.VIEWS.DAY\r\n }\r\n }]);\r\n return SchedulerWorkSpaceDay\r\n}(_uiScheduler.default);\r\n(0, _component_registrator.default)(\"dxSchedulerWorkSpaceDay\", SchedulerWorkSpaceDay);\r\nvar _default = SchedulerWorkSpaceDay;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/scheduler/workspaces/ui.scheduler.work_space_month.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.default = void 0;\r\nvar _common = require(\"../../../core/utils/common\");\r\nvar _component_registrator = _interopRequireDefault(require(\"../../../core/component_registrator\"));\r\nvar _uiSchedulerWork_space = _interopRequireDefault(require(\"./ui.scheduler.work_space.indicator\"));\r\nvar _date = _interopRequireDefault(require(\"../../../core/utils/date\"));\r\nvar _position = require(\"../../../core/utils/position\");\r\nvar _utils = require(\"../utils\");\r\nvar _window = require(\"../../../core/utils/window\");\r\nvar _layout = _interopRequireDefault(require(\"../../../renovation/ui/scheduler/workspaces/month/date_table/layout.j\"));\r\nvar _month = require(\"../../../renovation/ui/scheduler/view_model/to_test/views/utils/month\");\r\nvar _base = require(\"../../../renovation/ui/scheduler/view_model/to_test/views/utils/base\");\r\nvar _constants = require(\"../constants\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\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 = _date.default.dateToMilliseconds;\r\nvar SchedulerWorkSpaceMonth = function(_SchedulerWorkSpace) {\r\n _inheritsLoose(SchedulerWorkSpaceMonth, _SchedulerWorkSpace);\r\n\r\n function SchedulerWorkSpaceMonth() {\r\n return _SchedulerWorkSpace.apply(this, arguments) || this\r\n }\r\n var _proto = SchedulerWorkSpaceMonth.prototype;\r\n _proto._getElementClass = function() {\r\n return MONTH_CLASS\r\n };\r\n _proto._getFormat = function() {\r\n return _base.formatWeekday\r\n };\r\n _proto._getIntervalBetween = function(currentDate) {\r\n var firstViewDate = this.getStartViewDate();\r\n var timeZoneOffset = _date.default.getTimezonesDifference(firstViewDate, currentDate);\r\n return currentDate.getTime() - (firstViewDate.getTime() - 36e5 * this.option(\"startDayHour\")) - timeZoneOffset\r\n };\r\n _proto._getDateGenerationOptions = function() {\r\n return _extends({}, _SchedulerWorkSpace.prototype._getDateGenerationOptions.call(this), {\r\n cellCountInDay: 1\r\n })\r\n };\r\n _proto.getCellWidth = function() {\r\n var _this = this;\r\n return this.cache.get(\"cellWidth\", (function() {\r\n var averageWidth = 0;\r\n var cells = _this._getCells().slice(0, 7);\r\n cells.each((function(index, element) {\r\n averageWidth += (0, _window.hasWindow)() ? (0, _position.getBoundingRect)(element).width : 0\r\n }));\r\n return 0 === cells.length ? void 0 : averageWidth / 7\r\n }))\r\n };\r\n _proto._insertAllDayRowsIntoDateTable = function() {\r\n return false\r\n };\r\n _proto._getCellCoordinatesByIndex = function(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 _proto._needCreateCrossScrolling = function() {\r\n return this.option(\"crossScrollingEnabled\") || this._isVerticalGroupedWorkSpace()\r\n };\r\n _proto._getViewStartByOptions = function() {\r\n return (0, _month.getViewStartByOptions)(this.option(\"startDate\"), this.option(\"currentDate\"), this.option(\"intervalCount\"), _date.default.getFirstMonthDate(this.option(\"startDate\")))\r\n };\r\n _proto._updateIndex = function(index) {\r\n return index\r\n };\r\n _proto.isIndicationAvailable = function() {\r\n return false\r\n };\r\n _proto.getIntervalDuration = function() {\r\n return toMs(\"day\")\r\n };\r\n _proto.getTimePanelWidth = function() {\r\n return 0\r\n };\r\n _proto.supportAllDayRow = function() {\r\n return false\r\n };\r\n _proto.keepOriginalHours = function() {\r\n return true\r\n };\r\n _proto.getWorkSpaceLeftOffset = function() {\r\n return 0\r\n };\r\n _proto.needApplyCollectorOffset = function() {\r\n return true\r\n };\r\n _proto._getHeaderDate = function() {\r\n return this._getViewStartByOptions()\r\n };\r\n _proto.scrollToTime = function() {\r\n return (0, _common.noop)()\r\n };\r\n _proto.renderRAllDayPanel = function() {};\r\n _proto.renderRTimeTable = function() {};\r\n _proto.renderRDateTable = function() {\r\n _utils.utils.renovation.renderComponent(this, this._$dateTable, _layout.default, \"renovatedDateTable\", this._getRDateTableProps())\r\n };\r\n _proto._createWorkSpaceElements = function() {\r\n if (this._isVerticalGroupedWorkSpace()) {\r\n this._createWorkSpaceScrollableElements()\r\n } else {\r\n _SchedulerWorkSpace.prototype._createWorkSpaceElements.call(this)\r\n }\r\n };\r\n _proto._toggleAllDayVisibility = function() {\r\n return (0, _common.noop)()\r\n };\r\n _proto._changeAllDayVisibility = function() {\r\n return (0, _common.noop)()\r\n };\r\n _proto._renderTimePanel = function() {\r\n return (0, _common.noop)()\r\n };\r\n _proto._renderAllDayPanel = function() {\r\n return (0, _common.noop)()\r\n };\r\n _proto._setMonthClassesToCell = function($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 _proto._createAllDayPanelElements = function() {};\r\n _proto._renderTableBody = function(options) {\r\n var _this2 = this;\r\n options.getCellText = function(rowIndex, columnIndex) {\r\n var date = _this2.viewDataProvider.completeViewDataMap[rowIndex][columnIndex].startDate;\r\n return (0, _month.getCellText)(date, _this2.option(\"intervalCount\"))\r\n };\r\n options.getCellTextClass = DATE_TABLE_CELL_TEXT_CLASS;\r\n options.setAdditionalClasses = this._setMonthClassesToCell.bind(this), _SchedulerWorkSpace.prototype._renderTableBody.call(this, options)\r\n };\r\n _createClass(SchedulerWorkSpaceMonth, [{\r\n key: \"type\",\r\n get: function() {\r\n return _constants.VIEWS.MONTH\r\n }\r\n }]);\r\n return SchedulerWorkSpaceMonth\r\n}(_uiSchedulerWork_space.default);\r\n(0, _component_registrator.default)(\"dxSchedulerWorkSpaceMonth\", SchedulerWorkSpaceMonth);\r\nvar _default = SchedulerWorkSpaceMonth;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/scheduler/workspaces/ui.scheduler.work_space_vertical.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _uiSchedulerWork_space = _interopRequireDefault(require(\"./ui.scheduler.work_space.indicator\"));\r\nvar _base = require(\"../../../renovation/ui/scheduler/view_model/to_test/views/utils/base\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar SchedulerWorkspaceVertical = function(_SchedulerWorkSpaceIn) {\r\n _inheritsLoose(SchedulerWorkspaceVertical, _SchedulerWorkSpaceIn);\r\n\r\n function SchedulerWorkspaceVertical() {\r\n return _SchedulerWorkSpaceIn.apply(this, arguments) || this\r\n }\r\n var _proto = SchedulerWorkspaceVertical.prototype;\r\n _proto._getFormat = function() {\r\n return _base.formatWeekdayAndDay\r\n };\r\n _proto.generateRenderOptions = function() {\r\n var options = _SchedulerWorkSpaceIn.prototype.generateRenderOptions.call(this);\r\n return _extends({}, options, {\r\n isGenerateTimePanelData: true\r\n })\r\n };\r\n _proto._isRenderHeaderPanelEmptyCell = function() {\r\n return true\r\n };\r\n return SchedulerWorkspaceVertical\r\n}(_uiSchedulerWork_space.default);\r\nvar _default = SchedulerWorkspaceVertical;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/scheduler/workspaces/ui.scheduler.work_space_week.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.default = void 0;\r\nvar _component_registrator = _interopRequireDefault(require(\"../../../core/component_registrator\"));\r\nvar _constants = require(\"../constants\");\r\nvar _uiScheduler = _interopRequireDefault(require(\"./ui.scheduler.work_space_vertical\"));\r\nvar _week = require(\"../../../renovation/ui/scheduler/view_model/to_test/views/utils/week\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar WEEK_CLASS = \"dx-scheduler-work-space-week\";\r\nvar SchedulerWorkSpaceWeek = function(_SchedulerWorkSpaceVe) {\r\n _inheritsLoose(SchedulerWorkSpaceWeek, _SchedulerWorkSpaceVe);\r\n\r\n function SchedulerWorkSpaceWeek() {\r\n return _SchedulerWorkSpaceVe.apply(this, arguments) || this\r\n }\r\n var _proto = SchedulerWorkSpaceWeek.prototype;\r\n _proto._getElementClass = function() {\r\n return WEEK_CLASS\r\n };\r\n _proto._calculateViewStartDate = function() {\r\n return (0, _week.calculateViewStartDate)(this.option(\"startDate\"), this._firstDayOfWeek())\r\n };\r\n _createClass(SchedulerWorkSpaceWeek, [{\r\n key: \"type\",\r\n get: function() {\r\n return _constants.VIEWS.WEEK\r\n }\r\n }]);\r\n return SchedulerWorkSpaceWeek\r\n}(_uiScheduler.default);\r\n(0, _component_registrator.default)(\"dxSchedulerWorkSpaceWeek\", SchedulerWorkSpaceWeek);\r\nvar _default = SchedulerWorkSpaceWeek;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/scheduler/workspaces/ui.scheduler.work_space_work_week.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.default = void 0;\r\nvar _component_registrator = _interopRequireDefault(require(\"../../../core/component_registrator\"));\r\nvar _work_week = require(\"../../../renovation/ui/scheduler/view_model/to_test/views/utils/work_week\");\r\nvar _uiScheduler = _interopRequireDefault(require(\"./ui.scheduler.work_space_week\"));\r\nvar _constants = require(\"../constants\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar WORK_WEEK_CLASS = \"dx-scheduler-work-space-work-week\";\r\nvar SchedulerWorkSpaceWorkWeek = function(_SchedulerWorkSpaceWe) {\r\n _inheritsLoose(SchedulerWorkSpaceWorkWeek, _SchedulerWorkSpaceWe);\r\n\r\n function SchedulerWorkSpaceWorkWeek() {\r\n var _this;\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 = _SchedulerWorkSpaceWe.call.apply(_SchedulerWorkSpaceWe, [this].concat(args)) || this;\r\n _this._getWeekendsCount = _work_week.getWeekendsCount;\r\n return _this\r\n }\r\n var _proto = SchedulerWorkSpaceWorkWeek.prototype;\r\n _proto._getElementClass = function() {\r\n return WORK_WEEK_CLASS\r\n };\r\n _createClass(SchedulerWorkSpaceWorkWeek, [{\r\n key: \"type\",\r\n get: function() {\r\n return _constants.VIEWS.WORK_WEEK\r\n }\r\n }]);\r\n return SchedulerWorkSpaceWorkWeek\r\n}(_uiScheduler.default);\r\n(0, _component_registrator.default)(\"dxSchedulerWorkSpaceWorkWeek\", SchedulerWorkSpaceWorkWeek);\r\nvar _default = SchedulerWorkSpaceWorkWeek;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/scheduler/workspaces/view_model/date_header_data_generator.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.DateHeaderDataGenerator = void 0;\r\nvar _date = _interopRequireDefault(require(\"../../../../core/utils/date\"));\r\nvar _utils = require(\"../../resources/utils\");\r\nvar _base = require(\"../../../../renovation/ui/scheduler/view_model/to_test/views/utils/base\");\r\nvar _excluded = [\"startDate\", \"endDate\", \"isFirstGroupCell\", \"isLastGroupCell\"];\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _objectWithoutProperties(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = _objectWithoutPropertiesLoose(source, excluded);\r\n var key, i;\r\n if (Object.getOwnPropertySymbols) {\r\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\r\n for (i = 0; i < sourceSymbolKeys.length; i++) {\r\n key = sourceSymbolKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n }\r\n return target\r\n}\r\n\r\nfunction _objectWithoutPropertiesLoose(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = {};\r\n var sourceKeys = Object.keys(source);\r\n var key, i;\r\n for (i = 0; i < sourceKeys.length; i++) {\r\n key = sourceKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n return target\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\nvar DateHeaderDataGenerator = function() {\r\n function DateHeaderDataGenerator(viewDataGenerator) {\r\n this._viewDataGenerator = viewDataGenerator\r\n }\r\n var _proto = DateHeaderDataGenerator.prototype;\r\n _proto.getCompleteDateHeaderMap = function(options, completeViewDataMap) {\r\n var isGenerateWeekDaysHeaderData = options.isGenerateWeekDaysHeaderData;\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 _proto._generateWeekDaysHeaderRowMap = function(options, completeViewDataMap) {\r\n var isGroupedByDate = options.isGroupedByDate,\r\n groups = options.groups,\r\n groupOrientation = options.groupOrientation,\r\n startDayHour = options.startDayHour,\r\n endDayHour = options.endDayHour,\r\n hoursInterval = options.hoursInterval,\r\n isHorizontalGrouping = options.isHorizontalGrouping,\r\n intervalCount = options.intervalCount;\r\n var cellCountInDay = this._viewDataGenerator.getCellCountInDay(startDayHour, endDayHour, hoursInterval);\r\n var horizontalGroupCount = (0, _base.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 = (0, _utils.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({}, cell, {\r\n colSpan: colSpan,\r\n text: (0, _base.formatWeekdayAndDay)(cell.startDate),\r\n isFirstGroupCell: false,\r\n isLastGroupCell: false\r\n }))\r\n }\r\n return weekDaysRow\r\n };\r\n _proto._generateHeaderDateRow = function(options, completeViewDataMap) {\r\n var today = options.today,\r\n isGroupedByDate = options.isGroupedByDate,\r\n groupOrientation = options.groupOrientation,\r\n groups = options.groups,\r\n headerCellTextFormat = options.headerCellTextFormat,\r\n getDateForHeaderText = options.getDateForHeaderText,\r\n interval = options.interval,\r\n startViewDate = options.startViewDate,\r\n startDayHour = options.startDayHour,\r\n endDayHour = options.endDayHour,\r\n hoursInterval = options.hoursInterval,\r\n intervalCount = options.intervalCount,\r\n currentDate = options.currentDate,\r\n viewType = options.viewType;\r\n var horizontalGroupCount = (0, _base.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((function(_, columnIndex) {\r\n return columnIndex % horizontalGroupCount === 0\r\n })) : completeViewDataMap[index];\r\n return slicedByColumnsData.map((function(_ref, index) {\r\n var startDate = _ref.startDate,\r\n isFirstGroupCell = (_ref.endDate, _ref.isFirstGroupCell),\r\n isLastGroupCell = _ref.isLastGroupCell,\r\n restProps = _objectWithoutProperties(_ref, _excluded);\r\n var text = (0, _base.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({}, restProps, {\r\n startDate: startDate,\r\n text: text,\r\n today: _date.default.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 _proto.generateDateHeaderData = function(completeDateHeaderMap, completeViewDataMap, options) {\r\n var isGenerateWeekDaysHeaderData = options.isGenerateWeekDaysHeaderData,\r\n cellWidth = options.cellWidth,\r\n isProvideVirtualCellsWidth = options.isProvideVirtualCellsWidth,\r\n startDayHour = options.startDayHour,\r\n endDayHour = options.endDayHour,\r\n hoursInterval = options.hoursInterval,\r\n isMonthDateHeader = options.isMonthDateHeader;\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 _proto._generateDateHeaderDataRow = function(options, completeDateHeaderMap, completeViewDataMap, baseColSpan, rowIndex, cellWidth) {\r\n var startCellIndex = options.startCellIndex,\r\n cellCount = options.cellCount,\r\n isProvideVirtualCellsWidth = options.isProvideVirtualCellsWidth,\r\n groups = options.groups,\r\n groupOrientation = options.groupOrientation,\r\n isGroupedByDate = options.isGroupedByDate;\r\n var horizontalGroupCount = (0, _base.getHorizontalGroupCount)(groups, groupOrientation);\r\n var colSpan = isGroupedByDate ? horizontalGroupCount * baseColSpan : baseColSpan;\r\n var leftVirtualCellCount = Math.floor(startCellIndex / colSpan);\r\n var displayedCellCount = (0, _base.getDisplayedCellCount)(cellCount, completeViewDataMap);\r\n var actualCellCount = Math.ceil((startCellIndex + displayedCellCount) / colSpan);\r\n var totalCellCount = (0, _base.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 return DateHeaderDataGenerator\r\n}();\r\nexports.DateHeaderDataGenerator = DateHeaderDataGenerator;\r\n","/**\r\n * DevExtreme (cjs/ui/scheduler/workspaces/view_model/grouped_data_map_provider.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.GroupedDataMapProvider = void 0;\r\nvar _date = _interopRequireDefault(require(\"../../../../core/utils/date\"));\r\nvar _base = require(\"../../../../renovation/ui/scheduler/view_model/to_test/views/utils/base\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar GroupedDataMapProvider = function() {\r\n function GroupedDataMapProvider(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 var _proto = GroupedDataMapProvider.prototype;\r\n _proto.getGroupStartDate = function(groupIndex) {\r\n var firstRow = this.getFirstGroupRow(groupIndex);\r\n if (firstRow) {\r\n var startDate = firstRow[0].cellData.startDate;\r\n return startDate\r\n }\r\n };\r\n _proto.getGroupEndDate = function(groupIndex) {\r\n var lastRow = this.getLastGroupRow(groupIndex);\r\n if (lastRow) {\r\n var lastColumnIndex = lastRow.length - 1;\r\n var cellData = lastRow[lastColumnIndex].cellData;\r\n var endDate = cellData.endDate;\r\n return endDate\r\n }\r\n };\r\n _proto.findGroupCellStartDate = function(groupIndex, startDate, endDate, isFindByDate) {\r\n var groupData = this.getGroupFromDateTableGroupMap(groupIndex);\r\n var checkCellStartDate = function(rowIndex, columnIndex) {\r\n var cellData = groupData[rowIndex][columnIndex].cellData;\r\n var secondMin = cellData.startDate,\r\n secondMax = cellData.endDate;\r\n if (isFindByDate) {\r\n secondMin = _date.default.trimTime(secondMin);\r\n secondMax = _date.default.setToDayEnd(secondMin)\r\n }\r\n if (_date.default.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 = function() {\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 = function() {\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 _proto.findAllDayGroupCellStartDate = function(groupIndex, startDate) {\r\n var groupStartDate = this.getGroupStartDate(groupIndex);\r\n return groupStartDate > startDate ? groupStartDate : startDate\r\n };\r\n _proto.findCellPositionInMap = function(cellInfo) {\r\n var _this = this;\r\n var groupIndex = cellInfo.groupIndex,\r\n startDate = cellInfo.startDate,\r\n isAllDay = cellInfo.isAllDay,\r\n index = cellInfo.index;\r\n var startTime = isAllDay ? _date.default.trimTime(startDate).getTime() : startDate.getTime();\r\n var isStartDateInCell = function(cellData) {\r\n if (!(0, _base.isDateAndTimeView)(_this._viewOptions.viewType)) {\r\n return _date.default.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 _this$groupedDataMap = this.groupedDataMap,\r\n allDayPanelGroupedMap = _this$groupedDataMap.allDayPanelGroupedMap,\r\n dateTableGroupedMap = _this$groupedDataMap.dateTableGroupedMap;\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 cellData = cell.cellData;\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 _proto._isSameGroupIndexAndIndex = function(cellData, groupIndex, index) {\r\n return cellData.groupIndex === groupIndex && (void 0 === index || cellData.index === index)\r\n };\r\n _proto.getCellsGroup = function(groupIndex) {\r\n var dateTableGroupedMap = this.groupedDataMap.dateTableGroupedMap;\r\n var groupData = dateTableGroupedMap[groupIndex];\r\n if (groupData) {\r\n var cellData = groupData[0][0].cellData;\r\n return cellData.groups\r\n }\r\n };\r\n _proto.getCompletedGroupsInfo = function() {\r\n var _this2 = this;\r\n var dateTableGroupedMap = this.groupedDataMap.dateTableGroupedMap;\r\n return dateTableGroupedMap.map((function(groupData) {\r\n var firstCell = groupData[0][0];\r\n var _firstCell$cellData = firstCell.cellData,\r\n allDay = _firstCell$cellData.allDay,\r\n groupIndex = _firstCell$cellData.groupIndex;\r\n return {\r\n allDay: allDay,\r\n groupIndex: groupIndex,\r\n startDate: _this2.getGroupStartDate(groupIndex),\r\n endDate: _this2.getGroupEndDate(groupIndex)\r\n }\r\n })).filter((function(_ref) {\r\n var startDate = _ref.startDate;\r\n return !!startDate\r\n }))\r\n };\r\n _proto.getGroupIndices = function() {\r\n return this.getCompletedGroupsInfo().map((function(_ref2) {\r\n var groupIndex = _ref2.groupIndex;\r\n return groupIndex\r\n }))\r\n };\r\n _proto.getGroupFromDateTableGroupMap = function(groupIndex) {\r\n var dateTableGroupedMap = this.groupedDataMap.dateTableGroupedMap;\r\n return dateTableGroupedMap[groupIndex]\r\n };\r\n _proto.getFirstGroupRow = function(groupIndex) {\r\n var groupedData = this.getGroupFromDateTableGroupMap(groupIndex);\r\n if (groupedData) {\r\n var cellData = groupedData[0][0].cellData;\r\n return !cellData.allDay ? groupedData[0] : groupedData[1]\r\n }\r\n };\r\n _proto.getLastGroupRow = function(groupIndex) {\r\n var dateTableGroupedMap = this.groupedDataMap.dateTableGroupedMap;\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 _proto.getLastGroupCellPosition = function(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 _proto.getRowCountInGroup = function(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 return GroupedDataMapProvider\r\n}();\r\nexports.GroupedDataMapProvider = GroupedDataMapProvider;\r\n","/**\r\n * DevExtreme (cjs/ui/scheduler/workspaces/view_model/time_panel_data_generator.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.TimePanelDataGenerator = void 0;\r\nvar _utils = require(\"../../../../renovation/ui/scheduler/workspaces/utils\");\r\nvar _base = require(\"../../../../renovation/ui/scheduler/view_model/to_test/views/utils/base\");\r\nvar _week = require(\"../../../../renovation/ui/scheduler/view_model/to_test/views/utils/week\");\r\nvar _excluded = [\"allDay\", \"startDate\", \"endDate\", \"groups\", \"groupIndex\", \"isFirstGroupCell\", \"isLastGroupCell\", \"index\"];\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\n\r\nfunction _objectWithoutProperties(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = _objectWithoutPropertiesLoose(source, excluded);\r\n var key, i;\r\n if (Object.getOwnPropertySymbols) {\r\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\r\n for (i = 0; i < sourceSymbolKeys.length; i++) {\r\n key = sourceSymbolKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n }\r\n return target\r\n}\r\n\r\nfunction _objectWithoutPropertiesLoose(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = {};\r\n var sourceKeys = Object.keys(source);\r\n var key, i;\r\n for (i = 0; i < sourceKeys.length; i++) {\r\n key = sourceKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n return target\r\n}\r\nvar TimePanelDataGenerator = function() {\r\n function TimePanelDataGenerator(viewDataGenerator) {\r\n this._viewDataGenerator = viewDataGenerator\r\n }\r\n var _proto = TimePanelDataGenerator.prototype;\r\n _proto.getCompleteTimePanelMap = function(options, completeViewDataMap) {\r\n var startViewDate = options.startViewDate,\r\n cellDuration = options.cellDuration,\r\n startDayHour = options.startDayHour,\r\n isVerticalGrouping = options.isVerticalGrouping,\r\n intervalCount = options.intervalCount,\r\n currentDate = options.currentDate,\r\n viewType = options.viewType,\r\n hoursInterval = options.hoursInterval,\r\n endDayHour = options.endDayHour;\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 return completeViewDataMap.map((function(row, index) {\r\n var _row$ = row[0],\r\n allDay = _row$.allDay,\r\n startDate = _row$.startDate,\r\n groups = (_row$.endDate, _row$.groups),\r\n groupIndex = _row$.groupIndex,\r\n isFirstGroupCell = _row$.isFirstGroupCell,\r\n isLastGroupCell = _row$.isLastGroupCell,\r\n cellIndex = _row$.index,\r\n restCellProps = _objectWithoutProperties(_row$, _excluded);\r\n if (allDay) {\r\n allDayRowsCount += 1\r\n }\r\n var timeIndex = (index - allDayRowsCount) % rowCountInGroup;\r\n return _extends({}, restCellProps, {\r\n startDate: startDate,\r\n allDay: allDay,\r\n text: (0, _week.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 _proto.generateTimePanelData = function(completeTimePanelMap, options) {\r\n var startRowIndex = options.startRowIndex,\r\n rowCount = options.rowCount,\r\n topVirtualRowHeight = options.topVirtualRowHeight,\r\n bottomVirtualRowHeight = options.bottomVirtualRowHeight,\r\n isGroupedAllDayPanel = options.isGroupedAllDayPanel,\r\n isVerticalGrouping = options.isVerticalGrouping,\r\n isAllDayPanelVisible = options.isAllDayPanelVisible;\r\n var indexDifference = isVerticalGrouping || !isAllDayPanelVisible ? 0 : 1;\r\n var correctedStartRowIndex = startRowIndex + indexDifference;\r\n var displayedRowCount = (0, _base.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 _this$_generateTimePa = this._generateTimePanelDataFromMap(timePanelMap, isVerticalGrouping),\r\n groupedData = _this$_generateTimePa.previousGroupedData;\r\n timePanelData.groupedData = groupedData;\r\n return timePanelData\r\n };\r\n _proto._generateTimePanelDataFromMap = function(timePanelMap, isVerticalGrouping) {\r\n return timePanelMap.reduce((function(_ref, cellData) {\r\n var previousGroupIndex = _ref.previousGroupIndex,\r\n previousGroupedData = _ref.previousGroupedData;\r\n var currentGroupIndex = cellData.groupIndex;\r\n if (currentGroupIndex !== previousGroupIndex) {\r\n previousGroupedData.push({\r\n dateTable: [],\r\n isGroupedAllDayPanel: (0, _utils.getIsGroupedAllDayPanel)(!!cellData.allDay, isVerticalGrouping),\r\n groupIndex: currentGroupIndex,\r\n key: (0, _utils.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 return TimePanelDataGenerator\r\n}();\r\nexports.TimePanelDataGenerator = TimePanelDataGenerator;\r\n","/**\r\n * DevExtreme (cjs/ui/scheduler/workspaces/view_model/utils.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.alignToFirstDayOfWeek = alignToFirstDayOfWeek;\r\nexports.alignToLastDayOfWeek = alignToLastDayOfWeek;\r\nexports.calculateAlignedWeeksBetweenDates = calculateAlignedWeeksBetweenDates;\r\nexports.calculateDaysBetweenDates = calculateDaysBetweenDates;\r\nexports.getViewDataGeneratorByViewType = void 0;\r\nvar _date = _interopRequireDefault(require(\"../../../../core/utils/date\"));\r\nvar _constants = require(\"../../constants\");\r\nvar _view_data_generator = require(\"./view_data_generator\");\r\nvar _view_data_generator_day = require(\"./view_data_generator_day\");\r\nvar _view_data_generator_month = require(\"./view_data_generator_month\");\r\nvar _view_data_generator_timeline_month = require(\"./view_data_generator_timeline_month\");\r\nvar _view_data_generator_week = require(\"./view_data_generator_week\");\r\nvar _view_data_generator_work_week = require(\"./view_data_generator_work_week\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar DAYS_IN_WEEK = 7;\r\nvar MS_IN_DAY = 864e5;\r\nvar getViewDataGeneratorByViewType = function(viewType) {\r\n switch (viewType) {\r\n case _constants.VIEWS.MONTH:\r\n return new _view_data_generator_month.ViewDataGeneratorMonth;\r\n case _constants.VIEWS.TIMELINE_MONTH:\r\n return new _view_data_generator_timeline_month.ViewDataGeneratorTimelineMonth;\r\n case _constants.VIEWS.DAY:\r\n case _constants.VIEWS.TIMELINE_DAY:\r\n return new _view_data_generator_day.ViewDataGeneratorDay;\r\n case _constants.VIEWS.WEEK:\r\n case _constants.VIEWS.TIMELINE_WEEK:\r\n return new _view_data_generator_week.ViewDataGeneratorWeek;\r\n case _constants.VIEWS.WORK_WEEK:\r\n case _constants.VIEWS.TIMELINE_WORK_WEEK:\r\n return new _view_data_generator_work_week.ViewDataGeneratorWorkWeek;\r\n default:\r\n return new _view_data_generator.ViewDataGenerator\r\n }\r\n};\r\nexports.getViewDataGeneratorByViewType = getViewDataGeneratorByViewType;\r\n\r\nfunction 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\n\r\nfunction 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\n\r\nfunction calculateDaysBetweenDates(fromDate, toDate) {\r\n var msDiff = _date.default.trimTime(toDate).getTime() - _date.default.trimTime(fromDate).getTime();\r\n return Math.round(msDiff / MS_IN_DAY) + 1\r\n}\r\n\r\nfunction 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 (cjs/ui/scheduler/workspaces/view_model/view_data_generator.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.ViewDataGenerator = void 0;\r\nvar _date = _interopRequireDefault(require(\"../../../../core/utils/date\"));\r\nvar _constants = require(\"../../constants\");\r\nvar _utils = require(\"../../resources/utils\");\r\nvar _base = require(\"../../../../renovation/ui/scheduler/view_model/to_test/views/utils/base\");\r\nvar _utils2 = require(\"../../../../renovation/ui/scheduler/workspaces/utils\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\n\r\nfunction _toConsumableArray(arr) {\r\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread()\r\n}\r\n\r\nfunction _nonIterableSpread() {\r\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _unsupportedIterableToArray(o, minLen) {\r\n if (!o) {\r\n return\r\n }\r\n if (\"string\" === typeof o) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n var n = Object.prototype.toString.call(o).slice(8, -1);\r\n if (\"Object\" === n && o.constructor) {\r\n n = o.constructor.name\r\n }\r\n if (\"Map\" === n || \"Set\" === n) {\r\n return Array.from(o)\r\n }\r\n if (\"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n}\r\n\r\nfunction _iterableToArray(iter) {\r\n if (\"undefined\" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter[\"@@iterator\"]) {\r\n return Array.from(iter)\r\n }\r\n}\r\n\r\nfunction _arrayWithoutHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return _arrayLikeToArray(arr)\r\n }\r\n}\r\n\r\nfunction _arrayLikeToArray(arr, len) {\r\n if (null == len || len > arr.length) {\r\n len = arr.length\r\n }\r\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\r\n arr2[i] = arr[i]\r\n }\r\n return arr2\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\nvar HOUR_MS = _date.default.dateToMilliseconds(\"hour\");\r\nvar DAY_MS = _date.default.dateToMilliseconds(\"day\");\r\nvar ViewDataGenerator = function() {\r\n function ViewDataGenerator() {}\r\n var _proto = ViewDataGenerator.prototype;\r\n _proto.isSkippedDate = function() {\r\n return false\r\n };\r\n _proto.getStartViewDate = function(options) {\r\n return this._calculateStartViewDate(options)\r\n };\r\n _proto.getCompleteViewDataMap = function(options) {\r\n var _viewDataMap;\r\n var groups = options.groups,\r\n isGroupedByDate = options.isGroupedByDate,\r\n isHorizontalGrouping = options.isHorizontalGrouping,\r\n isVerticalGrouping = options.isVerticalGrouping,\r\n intervalCount = options.intervalCount,\r\n currentDate = options.currentDate,\r\n viewType = options.viewType,\r\n startDayHour = options.startDayHour,\r\n endDayHour = options.endDayHour,\r\n hoursInterval = options.hoursInterval;\r\n this._setVisibilityDates(options);\r\n this.setHiddenInterval(startDayHour, endDayHour, hoursInterval);\r\n var groupsList = (0, _utils.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 = viewDataMap).push.apply(_viewDataMap, _toConsumableArray(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 _proto._transformViewDataMapForHorizontalGrouping = function(viewDataMap, groupsList) {\r\n var result = viewDataMap.map((function(row) {\r\n return row.slice()\r\n }));\r\n groupsList.slice(1).forEach((function(groups, index) {\r\n var groupIndex = index + 1;\r\n viewDataMap.forEach((function(row, rowIndex) {\r\n var _result$rowIndex;\r\n var nextGroupRow = row.map((function(cellData) {\r\n return _extends({}, cellData, {\r\n groups: groups,\r\n groupIndex: groupIndex\r\n })\r\n }));\r\n (_result$rowIndex = result[rowIndex]).push.apply(_result$rowIndex, _toConsumableArray(nextGroupRow))\r\n }))\r\n }));\r\n return result\r\n };\r\n _proto._transformViewDataMapForVerticalGrouping = function(viewDataMap, groupsList) {\r\n var result = viewDataMap.map((function(row) {\r\n return row.slice()\r\n }));\r\n groupsList.slice(1).forEach((function(groups, index) {\r\n var groupIndex = index + 1;\r\n var nextGroupMap = viewDataMap.map((function(cellsRow) {\r\n var nextRow = cellsRow.map((function(cellData) {\r\n return _extends({}, cellData, {\r\n groupIndex: groupIndex,\r\n groups: groups\r\n })\r\n }));\r\n return nextRow\r\n }));\r\n result.push.apply(result, _toConsumableArray(nextGroupMap))\r\n }));\r\n return result\r\n };\r\n _proto._transformViewDataMapForGroupingByDate = function(viewDataMap, groupsList) {\r\n var correctedGroupList = groupsList.slice(1);\r\n var correctedGroupCount = correctedGroupList.length;\r\n var result = viewDataMap.map((function(cellsRow) {\r\n var groupedByDateCellsRow = cellsRow.reduce((function(currentRow, cell) {\r\n var rowWithCurrentCell = [].concat(_toConsumableArray(currentRow), [_extends({}, cell, {\r\n isFirstGroupCell: true,\r\n isLastGroupCell: 0 === correctedGroupCount\r\n })], _toConsumableArray(correctedGroupList.map((function(groups, index) {\r\n return _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 }))));\r\n return rowWithCurrentCell\r\n }), []);\r\n return groupedByDateCellsRow\r\n }));\r\n return result\r\n };\r\n _proto._addKeysToCells = function(viewDataMap) {\r\n var totalColumnCount = viewDataMap[0].length;\r\n var _viewDataMap$reduce = viewDataMap.reduce((function(_ref, row, rowIndex) {\r\n var allDayPanelsCount = _ref.allDayPanelsCount,\r\n currentViewDataMap = _ref.currentViewDataMap;\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((function(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 result = _viewDataMap$reduce.currentViewDataMap;\r\n return result\r\n };\r\n _proto.generateViewDataMap = function(completeViewDataMap, options) {\r\n var rowCount = options.rowCount,\r\n startCellIndex = options.startCellIndex,\r\n startRowIndex = options.startRowIndex,\r\n cellCount = options.cellCount,\r\n isVerticalGrouping = options.isVerticalGrouping,\r\n isAllDayPanelVisible = options.isAllDayPanelVisible;\r\n var sliceCells = function(row, rowIndex, startIndex, count) {\r\n var sliceToIndex = void 0 !== count ? startIndex + count : void 0;\r\n return row.slice(startIndex, sliceToIndex).map((function(cellData, columnIndex) {\r\n return {\r\n cellData: cellData,\r\n position: {\r\n rowIndex: rowIndex,\r\n columnIndex: columnIndex\r\n }\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 = (0, _base.getDisplayedRowCount)(rowCount, completeViewDataMap);\r\n var dateTableMap = completeViewDataMap.slice(correctedStartRowIndex, correctedStartRowIndex + displayedRowCount).map((function(row, rowIndex) {\r\n return sliceCells(row, rowIndex, startCellIndex, cellCount)\r\n }));\r\n return {\r\n allDayPanelMap: allDayPanelMap,\r\n dateTableMap: dateTableMap\r\n }\r\n };\r\n _proto._isStandaloneAllDayPanel = function(isVerticalGrouping, isAllDayPanelVisible) {\r\n return !isVerticalGrouping && isAllDayPanelVisible\r\n };\r\n _proto.getViewDataFromMap = function(completeViewDataMap, viewDataMap, options) {\r\n var topVirtualRowHeight = options.topVirtualRowHeight,\r\n bottomVirtualRowHeight = options.bottomVirtualRowHeight,\r\n leftVirtualCellWidth = options.leftVirtualCellWidth,\r\n rightVirtualCellWidth = options.rightVirtualCellWidth,\r\n cellCount = options.cellCount,\r\n rowCount = options.rowCount,\r\n startRowIndex = options.startRowIndex,\r\n startCellIndex = options.startCellIndex,\r\n isProvideVirtualCellsWidth = options.isProvideVirtualCellsWidth,\r\n isGroupedAllDayPanel = options.isGroupedAllDayPanel,\r\n isVerticalGrouping = options.isVerticalGrouping,\r\n isAllDayPanelVisible = options.isAllDayPanelVisible;\r\n var allDayPanelMap = viewDataMap.allDayPanelMap,\r\n dateTableMap = viewDataMap.dateTableMap;\r\n var _dateTableMap$reduce = dateTableMap.reduce((function(_ref2, cellsRow) {\r\n var previousGroupIndex = _ref2.previousGroupIndex,\r\n groupedData = _ref2.groupedData;\r\n var cellDataRow = cellsRow.map((function(_ref3) {\r\n var cellData = _ref3.cellData;\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: (0, _utils2.getIsGroupedAllDayPanel)(!!isAllDayRow, isVerticalGrouping),\r\n groupIndex: currentGroupIndex,\r\n key: (0, _utils2.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 groupedData = _dateTableMap$reduce.groupedData;\r\n if (this._isStandaloneAllDayPanel(isVerticalGrouping, isAllDayPanelVisible)) {\r\n groupedData[0].allDayPanel = allDayPanelMap.map((function(_ref4) {\r\n var cellData = _ref4.cellData;\r\n return cellData\r\n }))\r\n }\r\n var totalCellCount = (0, _base.getTotalCellCountByCompleteData)(completeViewDataMap);\r\n var totalRowCount = (0, _base.getTotalRowCountByCompleteData)(completeViewDataMap);\r\n var displayedCellCount = (0, _base.getDisplayedCellCount)(cellCount, completeViewDataMap);\r\n var displayedRowCount = (0, _base.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 _proto._generateViewCellsData = function(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 _proto._generateAllDayPanelData = function(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 _proto._generateCellsRow = function(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 _proto.getCellData = function(rowIndex, columnIndex, options, allDay) {\r\n return allDay ? this.prepareAllDayCellData(options, rowIndex, columnIndex) : this.prepareCellData(options, rowIndex, columnIndex)\r\n };\r\n _proto.prepareCellData = function(options, rowIndex, columnIndex) {\r\n var groups = options.groups,\r\n startDayHour = options.startDayHour,\r\n endDayHour = options.endDayHour,\r\n interval = options.interval,\r\n hoursInterval = options.hoursInterval;\r\n var groupsList = (0, _utils.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 _proto.prepareAllDayCellData = function(options, rowIndex, columnIndex) {\r\n var data = this.prepareCellData(options, rowIndex, columnIndex);\r\n var startDate = _date.default.trimTime(data.startDate);\r\n return _extends({}, data, {\r\n startDate: startDate,\r\n endDate: startDate,\r\n allDay: true\r\n })\r\n };\r\n _proto.getDateByCellIndices = function(options, rowIndex, columnIndex, cellCountInDay) {\r\n var startViewDate = options.startViewDate;\r\n var startDayHour = options.startDayHour,\r\n interval = options.interval,\r\n firstDayOfWeek = options.firstDayOfWeek,\r\n intervalCount = options.intervalCount;\r\n var isStartViewDateDuringDST = startViewDate.getHours() !== Math.floor(startDayHour);\r\n if (isStartViewDateDuringDST) {\r\n var dateWithCorrectHours = (0, _base.getStartViewDateWithoutDST)(startViewDate, startDayHour);\r\n startViewDate = new Date(dateWithCorrectHours - _date.default.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 : _date.default.getTimezonesDifference(startViewDate, currentDate);\r\n currentDate.setTime(currentDate.getTime() + timeZoneDifference);\r\n return currentDate\r\n };\r\n _proto.getMillisecondsOffset = function(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 _proto.getTimeOffsetByColumnIndex = function(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 _proto.calculateEndDate = function(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 _proto._calculateCellIndex = function(rowIndex, columnIndex, rowCount, columnCount) {\r\n return (0, _base.calculateCellIndex)(rowIndex, columnIndex, rowCount)\r\n };\r\n _proto.generateGroupedDataMap = function(viewDataMap) {\r\n var allDayPanelMap = viewDataMap.allDayPanelMap,\r\n dateTableMap = viewDataMap.dateTableMap;\r\n var _dateTableMap$reduce2 = dateTableMap.reduce((function(previousOptions, cellsRow) {\r\n var previousGroupedDataMap = previousOptions.previousGroupedDataMap,\r\n previousRowIndex = previousOptions.previousRowIndex,\r\n previousGroupIndex = previousOptions.previousGroupIndex;\r\n var currentGroupIndex = cellsRow[0].cellData.groupIndex;\r\n var currentRowIndex = currentGroupIndex === previousGroupIndex ? previousRowIndex + 1 : 0;\r\n cellsRow.forEach((function(cell) {\r\n var groupIndex = cell.cellData.groupIndex;\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 dateTableGroupedMap = _dateTableMap$reduce2.previousGroupedDataMap;\r\n var allDayPanelGroupedMap = [];\r\n null === allDayPanelMap || void 0 === allDayPanelMap ? void 0 : allDayPanelMap.forEach((function(cell) {\r\n var groupIndex = cell.cellData.groupIndex;\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 _proto._isFirstGroupCell = function(rowIndex, columnIndex, options, rowCount, columnCount) {\r\n var groupOrientation = options.groupOrientation,\r\n groups = options.groups,\r\n isGroupedByDate = options.isGroupedByDate;\r\n var groupCount = (0, _utils.getGroupCount)(groups);\r\n if (isGroupedByDate) {\r\n return columnIndex % groupCount === 0\r\n }\r\n if (groupOrientation === _constants.HORIZONTAL_GROUP_ORIENTATION) {\r\n return columnIndex % columnCount === 0\r\n }\r\n return rowIndex % rowCount === 0\r\n };\r\n _proto._isLastGroupCell = function(rowIndex, columnIndex, options, rowCount, columnCount) {\r\n var groupOrientation = options.groupOrientation,\r\n groups = options.groups,\r\n isGroupedByDate = options.isGroupedByDate;\r\n var groupCount = (0, _utils.getGroupCount)(groups);\r\n if (isGroupedByDate) {\r\n return (columnIndex + 1) % groupCount === 0\r\n }\r\n if (groupOrientation === _constants.HORIZONTAL_GROUP_ORIENTATION) {\r\n return (columnIndex + 1) % columnCount === 0\r\n }\r\n return (rowIndex + 1) % rowCount === 0\r\n };\r\n _proto.markSelectedAndFocusedCells = function(viewDataMap, renderOptions) {\r\n var _this = this;\r\n var selectedCells = renderOptions.selectedCells,\r\n focusedCell = renderOptions.focusedCell;\r\n if (!selectedCells && !focusedCell) {\r\n return viewDataMap\r\n }\r\n var allDayPanelMap = viewDataMap.allDayPanelMap,\r\n dateTableMap = viewDataMap.dateTableMap;\r\n var nextDateTableMap = dateTableMap.map((function(row) {\r\n return _this._markSelectedAndFocusedCellsInRow(row, selectedCells, focusedCell)\r\n }));\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 _proto._markSelectedAndFocusedCellsInRow = function(dataRow, selectedCells, focusedCell) {\r\n return dataRow.map((function(cell) {\r\n var _cell$cellData = cell.cellData,\r\n index = _cell$cellData.index,\r\n groupIndex = _cell$cellData.groupIndex,\r\n allDay = _cell$cellData.allDay,\r\n startDate = _cell$cellData.startDate;\r\n var indexInSelectedCells = selectedCells.findIndex((function(_ref5) {\r\n var selectedCellIndex = _ref5.index,\r\n selectedCellGroupIndex = _ref5.groupIndex,\r\n selectedCellAllDay = _ref5.allDay,\r\n selectedCellStartDate = _ref5.startDate;\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({}, cell, {\r\n cellData: _extends({}, cell.cellData, {\r\n isSelected: indexInSelectedCells > -1,\r\n isFocused: isFocused\r\n })\r\n })\r\n }))\r\n };\r\n _proto.getInterval = function(hoursInterval) {\r\n return hoursInterval * HOUR_MS\r\n };\r\n _proto._getIntervalDuration = function(intervalCount) {\r\n return _date.default.dateToMilliseconds(\"day\") * intervalCount\r\n };\r\n _proto._setVisibilityDates = function() {};\r\n _proto.getCellCountInDay = function(startDayHour, endDayHour, hoursInterval) {\r\n var result = (0, _base.calculateDayDuration)(startDayHour, endDayHour) / hoursInterval;\r\n return Math.ceil(result)\r\n };\r\n _proto.getCellCount = function(options) {\r\n var intervalCount = options.intervalCount,\r\n viewType = options.viewType,\r\n startDayHour = options.startDayHour,\r\n endDayHour = options.endDayHour,\r\n hoursInterval = options.hoursInterval;\r\n var cellCountInDay = this.getCellCountInDay(startDayHour, endDayHour, hoursInterval);\r\n var columnCountInDay = (0, _base.isHorizontalView)(viewType) ? cellCountInDay : 1;\r\n return this.daysInInterval * intervalCount * columnCountInDay\r\n };\r\n _proto.getRowCount = function(options) {\r\n var viewType = options.viewType,\r\n startDayHour = options.startDayHour,\r\n endDayHour = options.endDayHour,\r\n hoursInterval = options.hoursInterval;\r\n var cellCountInDay = this.getCellCountInDay(startDayHour, endDayHour, hoursInterval);\r\n var rowCountInDay = !(0, _base.isHorizontalView)(viewType) ? cellCountInDay : 1;\r\n return rowCountInDay\r\n };\r\n _proto.setHiddenInterval = function(startDayHour, endDayHour, hoursInterval) {\r\n this.hiddenInterval = DAY_MS - this.getVisibleDayDuration(startDayHour, endDayHour, hoursInterval)\r\n };\r\n _proto.getVisibleDayDuration = function(startDayHour, endDayHour, hoursInterval) {\r\n var cellCountInDay = this.getCellCountInDay(startDayHour, endDayHour, hoursInterval);\r\n return hoursInterval * cellCountInDay * HOUR_MS\r\n };\r\n _proto.getFirstDayOfWeek = function(firstDayOfWeekOption) {\r\n return firstDayOfWeekOption\r\n };\r\n _createClass(ViewDataGenerator, [{\r\n key: \"daysInInterval\",\r\n get: function() {\r\n return 1\r\n }\r\n }, {\r\n key: \"isWorkView\",\r\n get: function() {\r\n return false\r\n }\r\n }, {\r\n key: \"tableAllDay\",\r\n get: function() {\r\n return false\r\n }\r\n }]);\r\n return ViewDataGenerator\r\n}();\r\nexports.ViewDataGenerator = ViewDataGenerator;\r\n","/**\r\n * DevExtreme (cjs/ui/scheduler/workspaces/view_model/view_data_generator_day.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.ViewDataGeneratorDay = void 0;\r\nvar _day = require(\"../../../../renovation/ui/scheduler/view_model/to_test/views/utils/day\");\r\nvar _view_data_generator = require(\"./view_data_generator\");\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar ViewDataGeneratorDay = function(_ViewDataGenerator) {\r\n _inheritsLoose(ViewDataGeneratorDay, _ViewDataGenerator);\r\n\r\n function ViewDataGeneratorDay() {\r\n return _ViewDataGenerator.apply(this, arguments) || this\r\n }\r\n var _proto = ViewDataGeneratorDay.prototype;\r\n _proto._calculateStartViewDate = function(options) {\r\n return (0, _day.calculateStartViewDate)(options.currentDate, options.startDayHour, options.startDate, this._getIntervalDuration(options.intervalCount))\r\n };\r\n return ViewDataGeneratorDay\r\n}(_view_data_generator.ViewDataGenerator);\r\nexports.ViewDataGeneratorDay = ViewDataGeneratorDay;\r\n","/**\r\n * DevExtreme (cjs/ui/scheduler/workspaces/view_model/view_data_generator_month.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.ViewDataGeneratorMonth = void 0;\r\nvar _base = require(\"../../../../renovation/ui/scheduler/view_model/to_test/views/utils/base\");\r\nvar _view_data_generator = require(\"./view_data_generator\");\r\nvar _date = _interopRequireDefault(require(\"../../../../core/utils/date\"));\r\nvar _month = require(\"../../../../renovation/ui/scheduler/view_model/to_test/views/utils/month\");\r\nvar _utils = require(\"./utils\");\r\nvar _date2 = _interopRequireDefault(require(\"../../../../localization/date\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar DAY_IN_MILLISECONDS = _date.default.dateToMilliseconds(\"day\");\r\nvar DAYS_IN_WEEK = 7;\r\nvar ViewDataGeneratorMonth = function(_ViewDataGenerator) {\r\n _inheritsLoose(ViewDataGeneratorMonth, _ViewDataGenerator);\r\n\r\n function ViewDataGeneratorMonth() {\r\n return _ViewDataGenerator.apply(this, arguments) || this\r\n }\r\n var _proto = ViewDataGeneratorMonth.prototype;\r\n _proto.getCellData = function(rowIndex, columnIndex, options, allDay) {\r\n var data = _ViewDataGenerator.prototype.getCellData.call(this, rowIndex, columnIndex, options, false);\r\n var startDate = data.startDate;\r\n var indicatorTime = options.indicatorTime,\r\n timeZoneCalculator = options.timeZoneCalculator,\r\n intervalCount = options.intervalCount;\r\n data.today = this.isCurrentDate(startDate, indicatorTime, timeZoneCalculator);\r\n data.otherMonth = this.isOtherMonth(startDate, this._minVisibleDate, this._maxVisibleDate);\r\n data.firstDayOfMonth = (0, _month.isFirstCellInMonthWithIntervalCount)(startDate, intervalCount);\r\n data.text = (0, _month.getCellText)(startDate, intervalCount);\r\n return data\r\n };\r\n _proto.isCurrentDate = function(date, indicatorTime, timeZoneCalculator) {\r\n return _date.default.sameDate(date, (0, _base.getToday)(indicatorTime, timeZoneCalculator))\r\n };\r\n _proto.isOtherMonth = function(cellDate, minDate, maxDate) {\r\n return !_date.default.dateInRange(cellDate, minDate, maxDate, \"date\")\r\n };\r\n _proto._calculateCellIndex = function(rowIndex, columnIndex, rowCount, columnCount) {\r\n return (0, _month.calculateCellIndex)(rowIndex, columnIndex, rowCount, columnCount)\r\n };\r\n _proto.calculateEndDate = function(startDate, interval, endDayHour) {\r\n return (0, _base.setOptionHour)(startDate, endDayHour)\r\n };\r\n _proto.getInterval = function() {\r\n return DAY_IN_MILLISECONDS\r\n };\r\n _proto._calculateStartViewDate = function(options) {\r\n return (0, _month.calculateStartViewDate)(options.currentDate, options.startDayHour, options.startDate, options.intervalCount, this.getFirstDayOfWeek(options.firstDayOfWeek))\r\n };\r\n _proto._setVisibilityDates = function(options) {\r\n var intervalCount = options.intervalCount,\r\n startDate = options.startDate,\r\n currentDate = options.currentDate;\r\n var firstMonthDate = _date.default.getFirstMonthDate(startDate);\r\n var viewStart = (0, _month.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 _proto.getCellCount = function() {\r\n return DAYS_IN_WEEK\r\n };\r\n _proto.getRowCount = function(options) {\r\n var _options$firstDayOfWe;\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 (0, _utils.calculateAlignedWeeksBetweenDates)(startDate, endDate, null !== (_options$firstDayOfWe = options.firstDayOfWeek) && void 0 !== _options$firstDayOfWe ? _options$firstDayOfWe : _date2.default.firstDayOfWeekIndex())\r\n };\r\n _proto.getCellCountInDay = function() {\r\n return 1\r\n };\r\n _proto.setHiddenInterval = function() {\r\n this.hiddenInterval = 0\r\n };\r\n _createClass(ViewDataGeneratorMonth, [{\r\n key: \"tableAllDay\",\r\n get: function() {\r\n return\r\n }\r\n }]);\r\n return ViewDataGeneratorMonth\r\n}(_view_data_generator.ViewDataGenerator);\r\nexports.ViewDataGeneratorMonth = ViewDataGeneratorMonth;\r\n","/**\r\n * DevExtreme (cjs/ui/scheduler/workspaces/view_model/view_data_generator_timeline_month.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.ViewDataGeneratorTimelineMonth = void 0;\r\nvar _view_data_generator = require(\"./view_data_generator\");\r\nvar _month = require(\"../../../../renovation/ui/scheduler/view_model/to_test/views/utils/month\");\r\nvar _timeline_month = require(\"../../../../renovation/ui/scheduler/view_model/to_test/views/utils/timeline_month\");\r\nvar _base = require(\"../../../../renovation/ui/scheduler/view_model/to_test/views/utils/base\");\r\nvar _date = _interopRequireDefault(require(\"../../../../core/utils/date\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar DAY_IN_MILLISECONDS = _date.default.dateToMilliseconds(\"day\");\r\nvar ViewDataGeneratorTimelineMonth = function(_ViewDataGenerator) {\r\n _inheritsLoose(ViewDataGeneratorTimelineMonth, _ViewDataGenerator);\r\n\r\n function ViewDataGeneratorTimelineMonth() {\r\n return _ViewDataGenerator.apply(this, arguments) || this\r\n }\r\n var _proto = ViewDataGeneratorTimelineMonth.prototype;\r\n _proto._calculateCellIndex = function(rowIndex, columnIndex, rowCount, columnCount) {\r\n return (0, _month.calculateCellIndex)(rowIndex, columnIndex, rowCount, columnCount)\r\n };\r\n _proto.calculateEndDate = function(startDate, interval, endDayHour) {\r\n return (0, _base.setOptionHour)(startDate, endDayHour)\r\n };\r\n _proto.getInterval = function() {\r\n return DAY_IN_MILLISECONDS\r\n };\r\n _proto._calculateStartViewDate = function(options) {\r\n return (0, _timeline_month.calculateStartViewDate)(options.currentDate, options.startDayHour, options.startDate, options.intervalCount)\r\n };\r\n _proto.getCellCount = function(options) {\r\n var intervalCount = options.intervalCount,\r\n currentDate = options.currentDate;\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 _proto.setHiddenInterval = function() {\r\n this.hiddenInterval = 0\r\n };\r\n return ViewDataGeneratorTimelineMonth\r\n}(_view_data_generator.ViewDataGenerator);\r\nexports.ViewDataGeneratorTimelineMonth = ViewDataGeneratorTimelineMonth;\r\n","/**\r\n * DevExtreme (cjs/ui/scheduler/workspaces/view_model/view_data_generator_week.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.ViewDataGeneratorWeek = void 0;\r\nvar _week = require(\"../../../../renovation/ui/scheduler/view_model/to_test/views/utils/week\");\r\nvar _view_data_generator = require(\"./view_data_generator\");\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar ViewDataGeneratorWeek = function(_ViewDataGenerator) {\r\n _inheritsLoose(ViewDataGeneratorWeek, _ViewDataGenerator);\r\n\r\n function ViewDataGeneratorWeek() {\r\n return _ViewDataGenerator.apply(this, arguments) || this\r\n }\r\n var _proto = ViewDataGeneratorWeek.prototype;\r\n _proto._getIntervalDuration = function(intervalCount) {\r\n return (0, _week.getIntervalDuration)(intervalCount)\r\n };\r\n _proto._calculateStartViewDate = function(options) {\r\n return (0, _week.calculateStartViewDate)(options.currentDate, options.startDayHour, options.startDate, this._getIntervalDuration(options.intervalCount), this.getFirstDayOfWeek(options.firstDayOfWeek))\r\n };\r\n _createClass(ViewDataGeneratorWeek, [{\r\n key: \"daysInInterval\",\r\n get: function() {\r\n return 7\r\n }\r\n }]);\r\n return ViewDataGeneratorWeek\r\n}(_view_data_generator.ViewDataGenerator);\r\nexports.ViewDataGeneratorWeek = ViewDataGeneratorWeek;\r\n","/**\r\n * DevExtreme (cjs/ui/scheduler/workspaces/view_model/view_data_generator_work_week.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.ViewDataGeneratorWorkWeek = void 0;\r\nvar _work_week = require(\"../../../../renovation/ui/scheduler/view_model/to_test/views/utils/work_week\");\r\nvar _view_data_generator_week = require(\"./view_data_generator_week\");\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar ViewDataGeneratorWorkWeek = function(_ViewDataGeneratorWee) {\r\n _inheritsLoose(ViewDataGeneratorWorkWeek, _ViewDataGeneratorWee);\r\n\r\n function ViewDataGeneratorWorkWeek() {\r\n return _ViewDataGeneratorWee.apply(this, arguments) || this\r\n }\r\n var _proto = ViewDataGeneratorWorkWeek.prototype;\r\n _proto.isSkippedDate = function(date) {\r\n return (0, _work_week.isDataOnWeekend)(date)\r\n };\r\n _proto._calculateStartViewDate = function(options) {\r\n return (0, _work_week.calculateStartViewDate)(options.currentDate, options.startDayHour, options.startDate, this._getIntervalDuration(options.intervalCount), this.getFirstDayOfWeek(options.firstDayOfWeek))\r\n };\r\n _proto.getFirstDayOfWeek = function(firstDayOfWeekOption) {\r\n return firstDayOfWeekOption || 0\r\n };\r\n _createClass(ViewDataGeneratorWorkWeek, [{\r\n key: \"daysInInterval\",\r\n get: function() {\r\n return 5\r\n }\r\n }, {\r\n key: \"isWorkView\",\r\n get: function() {\r\n return true\r\n }\r\n }]);\r\n return ViewDataGeneratorWorkWeek\r\n}(_view_data_generator_week.ViewDataGeneratorWeek);\r\nexports.ViewDataGeneratorWorkWeek = ViewDataGeneratorWorkWeek;\r\n","/**\r\n * DevExtreme (cjs/ui/scheduler/workspaces/view_model/view_data_provider.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _date = _interopRequireDefault(require(\"../../../../core/utils/date\"));\r\nvar _utils = require(\"../../../../renovation/ui/scheduler/view_model/group_panel/utils\");\r\nvar _utils2 = require(\"../../../../renovation/ui/scheduler/workspaces/utils\");\r\nvar _base = require(\"../../../../renovation/ui/scheduler/view_model/to_test/views/utils/base\");\r\nvar _date_header_data_generator = require(\"./date_header_data_generator\");\r\nvar _grouped_data_map_provider = require(\"./grouped_data_map_provider\");\r\nvar _time_panel_data_generator = require(\"./time_panel_data_generator\");\r\nvar _utils3 = require(\"./utils\");\r\nvar _utils4 = _interopRequireDefault(require(\"../../utils.timeZone\"));\r\nvar _excluded = [\"groups\", \"groupOrientation\", \"groupByDate\", \"isAllDayPanelVisible\"];\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\n\r\nfunction _objectWithoutProperties(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = _objectWithoutPropertiesLoose(source, excluded);\r\n var key, i;\r\n if (Object.getOwnPropertySymbols) {\r\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\r\n for (i = 0; i < sourceSymbolKeys.length; i++) {\r\n key = sourceSymbolKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n }\r\n return target\r\n}\r\n\r\nfunction _objectWithoutPropertiesLoose(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = {};\r\n var sourceKeys = Object.keys(source);\r\n var key, i;\r\n for (i = 0; i < sourceKeys.length; i++) {\r\n key = sourceKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n return target\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n Object.defineProperty(Constructor, \"prototype\", {\r\n writable: false\r\n });\r\n return Constructor\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\nvar ViewDataProvider = function() {\r\n function ViewDataProvider(viewType) {\r\n this.viewDataGenerator = (0, _utils3.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 var _proto = ViewDataProvider.prototype;\r\n _proto.isSkippedDate = function(date) {\r\n return this.viewDataGenerator.isSkippedDate(date)\r\n };\r\n _proto.update = function(options, isGenerateNewViewData) {\r\n this.viewDataGenerator = (0, _utils3.getViewDataGeneratorByViewType)(options.viewType);\r\n var viewDataGenerator = this.viewDataGenerator;\r\n var dateHeaderDataGenerator = new _date_header_data_generator.DateHeaderDataGenerator(viewDataGenerator);\r\n var timePanelDataGenerator = new _time_panel_data_generator.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 _grouped_data_map_provider.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 _proto.createGroupedDataMapProvider = function() {\r\n this._groupedDataMapProvider = new _grouped_data_map_provider.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 _proto.updateViewData = function(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 _proto._transformRenderOptions = function(renderOptions) {\r\n var groups = renderOptions.groups,\r\n groupOrientation = renderOptions.groupOrientation,\r\n groupByDate = renderOptions.groupByDate,\r\n isAllDayPanelVisible = renderOptions.isAllDayPanelVisible,\r\n restOptions = _objectWithoutProperties(renderOptions, _excluded);\r\n return _extends({}, restOptions, {\r\n startViewDate: this.viewDataGenerator._calculateStartViewDate(renderOptions),\r\n isVerticalGrouping: (0, _utils2.isVerticalGroupingApplied)(groups, groupOrientation),\r\n isHorizontalGrouping: (0, _utils2.isHorizontalGroupingApplied)(groups, groupOrientation),\r\n isGroupedByDate: (0, _utils2.isGroupingByDate)(groups, groupOrientation, groupByDate),\r\n isGroupedAllDayPanel: (0, _base.calculateIsGroupedAllDayPanel)(groups, groupOrientation, isAllDayPanelVisible),\r\n groups: groups,\r\n groupOrientation: groupOrientation,\r\n isAllDayPanelVisible: isAllDayPanelVisible\r\n })\r\n };\r\n _proto.getGroupPanelData = function(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 (0, _utils.getGroupPanelData)(renderOptions.groups, cellCount, renderOptions.isGroupedByDate, renderOptions.isGroupedByDate ? 1 : cellCount)\r\n }\r\n return\r\n };\r\n _proto.getGroupStartDate = function(groupIndex) {\r\n return this._groupedDataMapProvider.getGroupStartDate(groupIndex)\r\n };\r\n _proto.getGroupEndDate = function(groupIndex) {\r\n return this._groupedDataMapProvider.getGroupEndDate(groupIndex)\r\n };\r\n _proto.findGroupCellStartDate = function(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 _proto.findAllDayGroupCellStartDate = function(groupIndex, startDate) {\r\n return this._groupedDataMapProvider.findAllDayGroupCellStartDate(groupIndex, startDate)\r\n };\r\n _proto.findCellPositionInMap = function(cellInfo) {\r\n return this._groupedDataMapProvider.findCellPositionInMap(cellInfo)\r\n };\r\n _proto.hasAllDayPanel = function() {\r\n var viewData = this.viewDataMap.viewData;\r\n var allDayPanel = viewData.groupedData[0].allDayPanel;\r\n return !viewData.isGroupedAllDayPanel && (null === allDayPanel || void 0 === allDayPanel ? void 0 : allDayPanel.length) > 0\r\n };\r\n _proto.getCellsGroup = function(groupIndex) {\r\n return this._groupedDataMapProvider.getCellsGroup(groupIndex)\r\n };\r\n _proto.getCompletedGroupsInfo = function() {\r\n return this._groupedDataMapProvider.getCompletedGroupsInfo()\r\n };\r\n _proto.getGroupIndices = function() {\r\n return this._groupedDataMapProvider.getGroupIndices()\r\n };\r\n _proto.getLastGroupCellPosition = function(groupIndex) {\r\n return this._groupedDataMapProvider.getLastGroupCellPosition(groupIndex)\r\n };\r\n _proto.getRowCountInGroup = function(groupIndex) {\r\n return this._groupedDataMapProvider.getRowCountInGroup(groupIndex)\r\n };\r\n _proto.getCellData = function(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 cellData = row[actualColumnIndex].cellData;\r\n return cellData\r\n };\r\n _proto.getCellsByGroupIndexAndAllDay = function(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((function(row) {\r\n return row.filter((function(_ref) {\r\n var currentGroupIndex = _ref.groupIndex;\r\n return groupIndex === currentGroupIndex\r\n }))\r\n }))\r\n };\r\n _proto.getCellCountWithGroup = function(groupIndex) {\r\n var rowIndex = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 0;\r\n var dateTableGroupedMap = this.groupedDataMap.dateTableGroupedMap;\r\n return dateTableGroupedMap.filter((function(_, index) {\r\n return index <= groupIndex\r\n })).reduce((function(previous, row) {\r\n return previous + row[rowIndex].length\r\n }), 0)\r\n };\r\n _proto.hasGroupAllDayPanel = function(groupIndex) {\r\n var _this$groupedDataMap$2;\r\n if (this._options.isVerticalGrouping) {\r\n var _this$groupedDataMap$;\r\n return !!(null !== (_this$groupedDataMap$ = this.groupedDataMap.dateTableGroupedMap[groupIndex]) && void 0 !== _this$groupedDataMap$ && _this$groupedDataMap$[0][0].cellData.allDay)\r\n }\r\n return (null === (_this$groupedDataMap$2 = this.groupedDataMap.allDayPanelGroupedMap[groupIndex]) || void 0 === _this$groupedDataMap$2 ? void 0 : _this$groupedDataMap$2.length) > 0\r\n };\r\n _proto.isGroupIntersectDateInterval = function(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 _proto.findGlobalCellPosition = function(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 completeViewDataMap = this.completeViewDataMap;\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 currentStartDate = cellData.startDate,\r\n currentEndDate = cellData.endDate,\r\n currentGroupIndex = cellData.groupIndex,\r\n currentAllDay = cellData.allDay;\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 };\r\n _proto._compareDatesAndAllDay = function(date, cellStartDate, cellEndDate, allDay) {\r\n var time = date.getTime();\r\n var trimmedTime = _date.default.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 _proto.getSkippedDaysCount = function(groupIndex, startDate, endDate, daysCount) {\r\n var dateTableGroupedMap = this._groupedDataMapProvider.groupedDataMap.dateTableGroupedMap;\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 = _date.default.trimTime(lastCell.startDate);\r\n var daysAfterView = Math.floor((endDate.getTime() - lastCellStart.getTime()) / _date.default.dateToMilliseconds(\"day\"));\r\n var deltaDays = daysAfterView > 0 ? daysAfterView : 0;\r\n return daysCount - includedDays - deltaDays\r\n };\r\n _proto.getColumnsCount = function() {\r\n var dateTableMap = this.viewDataMap.dateTableMap;\r\n return dateTableMap ? dateTableMap[0].length : 0\r\n };\r\n _proto.getViewEdgeIndices = function(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 _proto.getGroupEdgeIndices = function(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 _proto.isSameCell = function(firstCellData, secondCellData) {\r\n var firstStartDate = firstCellData.startDate,\r\n firstGroupIndex = firstCellData.groupIndex,\r\n firstAllDay = firstCellData.allDay,\r\n firstIndex = firstCellData.index;\r\n var secondStartDate = secondCellData.startDate,\r\n secondGroupIndex = secondCellData.groupIndex,\r\n secondAllDay = secondCellData.allDay,\r\n secondIndex = secondCellData.index;\r\n return firstStartDate.getTime() === secondStartDate.getTime() && firstGroupIndex === secondGroupIndex && firstAllDay === secondAllDay && firstIndex === secondIndex\r\n };\r\n _proto.getLastViewDate = function() {\r\n var completeViewDataMap = this.completeViewDataMap;\r\n var rowsCount = completeViewDataMap.length - 1;\r\n return completeViewDataMap[rowsCount][completeViewDataMap[rowsCount].length - 1].endDate\r\n };\r\n _proto.getStartViewDate = function() {\r\n return this._options.startViewDate\r\n };\r\n _proto.getIntervalDuration = function(intervalCount) {\r\n return this.viewDataGenerator._getIntervalDuration(intervalCount)\r\n };\r\n _proto.getLastCellEndDate = function() {\r\n return new Date(this.getLastViewDate().getTime() - _date.default.dateToMilliseconds(\"minute\"))\r\n };\r\n _proto.getLastViewDateByEndDayHour = function(endDayHour) {\r\n var lastCellEndDate = this.getLastCellEndDate();\r\n var endTime = _date.default.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 _proto._adjustEndDateByDaylightDiff = function(startDate, endDate) {\r\n var daylightDiff = _utils4.default.getDaylightOffsetInMs(startDate, endDate);\r\n var endDateOfLastViewCell = new Date(endDate.getTime() - daylightDiff);\r\n return new Date(endDateOfLastViewCell.getTime() - _date.default.dateToMilliseconds(\"minute\"))\r\n };\r\n _proto.getCellCountInDay = function(startDayHour, endDayHour, hoursInterval) {\r\n return this.viewDataGenerator.getCellCountInDay(startDayHour, endDayHour, hoursInterval)\r\n };\r\n _proto.getCellCount = function(options) {\r\n return this.viewDataGenerator.getCellCount(options)\r\n };\r\n _proto.getRowCount = function(options) {\r\n return this.viewDataGenerator.getRowCount(options)\r\n };\r\n _proto.getVisibleDayDuration = function(startDayHour, endDayHour, hoursInterval) {\r\n return this.viewDataGenerator.getVisibleDayDuration(startDayHour, endDayHour, hoursInterval)\r\n };\r\n _proto._getRowCountWithAllDayRows = function() {\r\n var allDayRowCount = this._options.isAllDayPanelVisible ? 1 : 0;\r\n return this.getRowCount(this._options) + allDayRowCount\r\n };\r\n _proto.getFirstDayOfWeek = function(firstDayOfWeekOption) {\r\n return this.viewDataGenerator.getFirstDayOfWeek(firstDayOfWeekOption)\r\n };\r\n _proto.setViewOptions = function(options) {\r\n this._options = this._transformRenderOptions(options)\r\n };\r\n _proto.getViewOptions = function() {\r\n return this._options\r\n };\r\n _proto.getViewPortGroupCount = function() {\r\n var dateTableGroupedMap = this.groupedDataMap.dateTableGroupedMap;\r\n return (null === dateTableGroupedMap || void 0 === dateTableGroupedMap ? void 0 : dateTableGroupedMap.length) || 0\r\n };\r\n _createClass(ViewDataProvider, [{\r\n key: \"groupedDataMap\",\r\n get: function() {\r\n return this._groupedDataMapProvider.groupedDataMap\r\n }\r\n }, {\r\n key: \"hiddenInterval\",\r\n get: function() {\r\n return this.viewDataGenerator.hiddenInterval\r\n }\r\n }]);\r\n return ViewDataProvider\r\n}();\r\nexports.default = ViewDataProvider;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/scroll_view.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _ui = _interopRequireDefault(require(\"./scroll_view/ui.scroll_view\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar _default = _ui.default;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/scroll_view/animator.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _class = _interopRequireDefault(require(\"../../core/class\"));\r\nvar _frame = require(\"../../animation/frame\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar abstract = _class.default.abstract;\r\nvar Animator = _class.default.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 (0, _frame.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 = (0, _frame.requestAnimationFrame)(this._proxiedStepCore)\r\n },\r\n _step: abstract,\r\n _isFinished: _common.noop,\r\n _stop: _common.noop,\r\n _complete: _common.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\nvar _default = Animator;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/scroll_view/ui.scroll_view.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _devices = _interopRequireDefault(require(\"../../core/devices\"));\r\nvar _window = require(\"../../core/utils/window\");\r\nvar _message = _interopRequireDefault(require(\"../../localization/message\"));\r\nvar _component_registrator = _interopRequireDefault(require(\"../../core/component_registrator\"));\r\nvar _element = require(\"../../core/element\");\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _uiScroll_viewNative = _interopRequireDefault(require(\"./ui.scroll_view.native.pull_down\"));\r\nvar _uiScroll_viewNative2 = _interopRequireDefault(require(\"./ui.scroll_view.native.swipe_down\"));\r\nvar _uiScroll_view = _interopRequireDefault(require(\"./ui.scroll_view.simulated\"));\r\nvar _ui = _interopRequireDefault(require(\"./ui.scrollable\"));\r\nvar _load_indicator = _interopRequireDefault(require(\"../load_indicator\"));\r\nvar _themes = require(\"./../themes\");\r\nvar _load_panel = _interopRequireDefault(require(\"../load_panel\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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: _uiScroll_viewNative.default,\r\n swipeDown: _uiScroll_viewNative2.default,\r\n simulated: _uiScroll_view.default\r\n};\r\nvar isServerSide = !(0, _window.hasWindow)();\r\nvar scrollViewServerConfig = {\r\n finishLoading: _common.noop,\r\n release: _common.noop,\r\n refresh: _common.noop,\r\n scrollOffset: function() {\r\n return {\r\n top: 0,\r\n left: 0\r\n }\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 = _ui.default.inherit(isServerSide ? scrollViewServerConfig : {\r\n _getDefaultOptions: function() {\r\n return (0, _extend.extend)(this.callBase(), {\r\n pullingDownText: _message.default.format(\"dxScrollView-pullingDownText\"),\r\n pulledDownText: _message.default.format(\"dxScrollView-pulledDownText\"),\r\n refreshingText: _message.default.format(\"dxScrollView-refreshingText\"),\r\n reachBottomText: _message.default.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.default.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 (0, _themes.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 = (0, _renderer.default)(\"<div>\").addClass(SCROLLVIEW_CONTENT_CLASS);\r\n this._$content.wrapInner($content)\r\n },\r\n _initTopPocket: function() {\r\n var $topPocket = this._$topPocket = (0, _renderer.default)(\"<div>\").addClass(SCROLLVIEW_TOP_POCKET_CLASS);\r\n var $pullDown = this._$pullDown = (0, _renderer.default)(\"<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 = (0, _renderer.default)(\"<div>\").addClass(SCROLLVIEW_BOTTOM_POCKET_CLASS);\r\n var $reachBottom = this._$reachBottom = (0, _renderer.default)(\"<div>\").addClass(SCROLLVIEW_REACHBOTTOM_CLASS);\r\n var $loadContainer = (0, _renderer.default)(\"<div>\").addClass(SCROLLVIEW_REACHBOTTOM_INDICATOR_CLASS);\r\n var $loadIndicator = new _load_indicator.default((0, _renderer.default)(\"<div>\")).$element();\r\n var $text = this._$reachBottomText = (0, _renderer.default)(\"<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 = (0, _renderer.default)(\"<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, _load_panel.default, 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 (0, _element.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\n(0, _component_registrator.default)(\"dxScrollView\", ScrollView);\r\nvar _default = ScrollView;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/scroll_view/ui.scroll_view.native.pull_down.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _callbacks = _interopRequireDefault(require(\"../../core/utils/callbacks\"));\r\nvar _translator = require(\"../../animation/translator\");\r\nvar _uiScrollable = _interopRequireDefault(require(\"./ui.scrollable.native\"));\r\nvar _load_indicator = _interopRequireDefault(require(\"../load_indicator\"));\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _deferred = require(\"../../core/utils/deferred\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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 = _uiScrollable.default.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 = (0, _renderer.default)(scrollView.content());\r\n this._$container = (0, _renderer.default)(scrollView.container());\r\n this._initCallbacks()\r\n },\r\n _initCallbacks: function() {\r\n this.pullDownCallbacks = (0, _callbacks.default)();\r\n this.releaseCallbacks = (0, _callbacks.default)();\r\n this.reachBottomCallbacks = (0, _callbacks.default)()\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 = (0, _renderer.default)(\"<div>\").addClass(SCROLLVIEW_PULLDOWN_IMAGE_CLASS);\r\n var $loadContainer = (0, _renderer.default)(\"<div>\").addClass(SCROLLVIEW_PULLDOWN_INDICATOR_CLASS);\r\n var $loadIndicator = new _load_indicator.default((0, _renderer.default)(\"<div>\")).$element();\r\n var $text = this._$pullDownText = (0, _renderer.default)(\"<div>\").addClass(SCROLLVIEW_PULLDOWN_TEXT_CLASS);\r\n this._$pullingDownText = (0, _renderer.default)(\"<div>\").text(this.option(\"pullingDownText\")).appendTo($text);\r\n this._$pulledDownText = (0, _renderer.default)(\"<div>\").text(this.option(\"pulledDownText\")).appendTo($text);\r\n this._$refreshingText = (0, _renderer.default)(\"<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 (0, _iterator.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 (0, _translator.move)(this._$topPocket, {\r\n top: offset\r\n });\r\n (0, _translator.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.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\nvar _default = PullDownNativeScrollViewStrategy;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/scroll_view/ui.scroll_view.native.swipe_down.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _size = require(\"../../core/utils/size\");\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _callbacks = _interopRequireDefault(require(\"../../core/utils/callbacks\"));\r\nvar _translator = require(\"../../animation/translator\");\r\nvar _index = require(\"../../events/utils/index\");\r\nvar _uiScrollable = _interopRequireDefault(require(\"./ui.scrollable.native\"));\r\nvar _load_indicator = _interopRequireDefault(require(\"../load_indicator\"));\r\nvar _deferred = require(\"../../core/utils/deferred\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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 = _uiScrollable.default.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 = (0, _renderer.default)(scrollView.content());\r\n this._$container = (0, _renderer.default)(scrollView.container());\r\n this._initCallbacks();\r\n this._location = 0\r\n },\r\n _initCallbacks: function() {\r\n this.pullDownCallbacks = (0, _callbacks.default)();\r\n this.releaseCallbacks = (0, _callbacks.default)();\r\n this.reachBottomCallbacks = (0, _callbacks.default)()\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 = (0, _renderer.default)(\"<div>\").addClass(SCROLLVIEW_PULLDOWN_INDICATOR_CLASS);\r\n var $loadIndicator = new _load_indicator.default((0, _renderer.default)(\"<div>\")).$element();\r\n this._$icon = (0, _renderer.default)(\"<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 = (0, _index.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 = (0, _index.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 (0, _translator.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 * (0, _size.getOuterHeight)(this._$element))\r\n },\r\n _getPullDownStartPosition: function() {\r\n return -Math.round(1.5 * (0, _size.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 (0, _translator.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.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\nvar _default = SwipeDownNativeScrollViewStrategy;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/scroll_view/ui.scroll_view.simulated.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _size = require(\"../../core/utils/size\");\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _callbacks = _interopRequireDefault(require(\"../../core/utils/callbacks\"));\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _uiScrollable = require(\"./ui.scrollable.simulated\");\r\nvar _load_indicator = _interopRequireDefault(require(\"../load_indicator\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar math = Math;\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 = _uiScrollable.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 (0, _iterator.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 = (0, _callbacks.default)();\r\n this.releaseCallbacks = (0, _callbacks.default)();\r\n this.reachBottomCallbacks = (0, _callbacks.default)()\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 = (0, _common.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 -= (0, _size.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 = _uiScrollable.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 = (0, _callbacks.default)();\r\n this.releaseCallbacks = (0, _callbacks.default)();\r\n this.reachBottomCallbacks = (0, _callbacks.default)()\r\n },\r\n render: function() {\r\n this._renderPullDown();\r\n this.callBase()\r\n },\r\n _renderPullDown: function() {\r\n var $image = (0, _renderer.default)(\"<div>\").addClass(SCROLLVIEW_PULLDOWN_IMAGE_CLASS);\r\n var $loadContainer = (0, _renderer.default)(\"<div>\").addClass(SCROLLVIEW_PULLDOWN_INDICATOR_CLASS);\r\n var $loadIndicator = new _load_indicator.default((0, _renderer.default)(\"<div>\")).$element();\r\n var $text = this._$pullDownText = (0, _renderer.default)(\"<div>\").addClass(SCROLLVIEW_PULLDOWN_TEXT_CLASS);\r\n this._$pullingDownText = (0, _renderer.default)(\"<div>\").text(this.option(\"pullingDownText\")).appendTo($text);\r\n this._$pulledDownText = (0, _renderer.default)(\"<div>\").text(this.option(\"pulledDownText\")).appendTo($text);\r\n this._$refreshingText = (0, _renderer.default)(\"<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 (0, _extend.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 += (0, _size.getHeight)(this._$topPocket);\r\n return location\r\n },\r\n dispose: function() {\r\n (0, _iterator.each)(this._scrollers, (function() {\r\n this.dispose()\r\n }));\r\n this.callBase()\r\n }\r\n});\r\nvar _default = SimulatedScrollViewStrategy;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/scroll_view/ui.scrollable.device.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.deviceDependentOptions = void 0;\r\nvar _devices = _interopRequireDefault(require(\"../../core/devices\"));\r\nvar _support = require(\"../../core/utils/support\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar deviceDependentOptions = function() {\r\n return [{\r\n device: function() {\r\n return !_support.nativeScrolling\r\n },\r\n options: {\r\n useNative: false\r\n }\r\n }, {\r\n device: function(_device) {\r\n return !_devices.default.isSimulator() && \"desktop\" === _devices.default.real().deviceType && \"generic\" === _device.platform\r\n },\r\n options: {\r\n bounceEnabled: false,\r\n scrollByThumb: true,\r\n scrollByContent: _support.touch,\r\n showScrollbar: \"onHover\"\r\n }\r\n }]\r\n};\r\nexports.deviceDependentOptions = deviceDependentOptions;\r\n","/**\r\n * DevExtreme (cjs/ui/scroll_view/ui.scrollable.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _uiScrollable = _interopRequireDefault(require(\"./ui.scrollable.old\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar _default = _uiScrollable.default;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/scroll_view/ui.scrollable.native.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _size = require(\"../../core/utils/size\");\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _index = require(\"../../events/utils/index\");\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _devices = _interopRequireDefault(require(\"../../core/devices\"));\r\nvar _class = _interopRequireDefault(require(\"../../core/class\"));\r\nvar _ui = _interopRequireDefault(require(\"./ui.scrollbar\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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.default.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 = (0, _renderer.default)(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.default.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 _ui.default((0, _renderer.default)(\"<div>\").appendTo(this._$element), {\r\n direction: direction,\r\n expandable: this._component.option(\"scrollByThumb\")\r\n })\r\n },\r\n handleInit: _common.noop,\r\n handleStart: _common.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: _common.noop,\r\n handleCancel: _common.noop,\r\n handleStop: _common.noop,\r\n _eachScrollbar: function(callback) {\r\n callback = callback.bind(this);\r\n (0, _iterator.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 _this$location = this.location(),\r\n left = _this$location.left,\r\n top = _this$location.top;\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 _this$location2 = this.location(),\r\n top = _this$location2.top,\r\n left = _this$location2.left;\r\n return {\r\n top: -top,\r\n left: this._normalizeOffsetLeft(-left)\r\n }\r\n },\r\n _normalizeOffsetLeft: function(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 _this$option = this.option(),\r\n showScrollbar = _this$option.showScrollbar;\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 _this$_getScrollOffse = this._getScrollOffset(),\r\n top = _this$_getScrollOffse.top,\r\n left = _this$_getScrollOffse.left;\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: _common.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: (0, _size.getHeight)(this._$container),\r\n width: (0, _size.getWidth)(this._$container)\r\n };\r\n this._componentContentSize = {\r\n height: (0, _size.getHeight)(this._component.$content()),\r\n width: (0, _size.getWidth)(this._component.$content())\r\n };\r\n this._contentSize = {\r\n height: (0, _size.getHeight)(this._$content),\r\n width: (0, _size.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 _events_engine.default.off(this._$element, \".\" + SCROLLABLE_NATIVE);\r\n _events_engine.default.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 ((0, _index.isDxMouseWheelEvent)(e) && this._isScrolledInMaxDirection(e)) {\r\n return false\r\n }\r\n return !!this._allowedDirection()\r\n },\r\n _isScrolledInMaxDirection: function(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\nvar _default = NativeStrategy;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/scroll_view/ui.scrollable.old.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _size = require(\"../../core/utils/size\");\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _support = require(\"../../core/utils/support\");\r\nvar _browser = _interopRequireDefault(require(\"../../core/utils/browser\"));\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _element = require(\"../../core/element\");\r\nvar _window = require(\"../../core/utils/window\");\r\nvar _devices = _interopRequireDefault(require(\"../../core/devices\"));\r\nvar _component_registrator = _interopRequireDefault(require(\"../../core/component_registrator\"));\r\nvar _dom_component = _interopRequireDefault(require(\"../../core/dom_component\"));\r\nvar _index = require(\"../../events/utils/index\");\r\nvar _emitterGesture = _interopRequireDefault(require(\"../../events/gesture/emitter.gesture.scroll\"));\r\nvar _uiScrollable = require(\"./ui.scrollable.simulated\");\r\nvar _uiScrollable2 = _interopRequireDefault(require(\"./ui.scrollable.native\"));\r\nvar _uiScrollable3 = require(\"./ui.scrollable.device\");\r\nvar _deferred = require(\"../../core/utils/deferred\");\r\nvar _get_element_location_internal = require(\"../../renovation/ui/scroll_view/utils/get_element_location_internal\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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 = _dom_component.default.inherit({\r\n _getDefaultOptions: function() {\r\n return (0, _extend.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((0, _uiScrollable3.deviceDependentOptions)(), [{\r\n device: function() {\r\n return _support.nativeScrolling && \"android\" === _devices.default.real().platform && !_browser.default.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 = (0, _renderer.default)(\"<div>\").addClass(SCROLLABLE_CONTAINER_CLASS);\r\n var $wrapper = this._$wrapper = (0, _renderer.default)(\"<div>\").addClass(SCROLLABLE_WRAPPER_CLASS);\r\n var $content = this._$content = (0, _renderer.default)(\"<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 _$$get = (0, _renderer.default)(this.container()).get(0),\r\n scrollWidth = _$$get.scrollWidth,\r\n clientWidth = _$$get.clientWidth,\r\n scrollHeight = _$$get.scrollHeight,\r\n clientHeight = _$$get.clientHeight;\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 _events_engine.default.off(this._$wrapper, \".\" + SCROLLABLE);\r\n _events_engine.default.on(this._$wrapper, (0, _index.addNamespace)(_emitterGesture.default.init, SCROLLABLE), initEventData, this._initHandler.bind(this));\r\n _events_engine.default.on(this._$wrapper, (0, _index.addNamespace)(_emitterGesture.default.start, SCROLLABLE), strategy.handleStart.bind(strategy));\r\n _events_engine.default.on(this._$wrapper, (0, _index.addNamespace)(_emitterGesture.default.move, SCROLLABLE), strategy.handleMove.bind(strategy));\r\n _events_engine.default.on(this._$wrapper, (0, _index.addNamespace)(_emitterGesture.default.end, SCROLLABLE), strategy.handleEnd.bind(strategy));\r\n _events_engine.default.on(this._$wrapper, (0, _index.addNamespace)(_emitterGesture.default.cancel, SCROLLABLE), strategy.handleCancel.bind(strategy));\r\n _events_engine.default.on(this._$wrapper, (0, _index.addNamespace)(_emitterGesture.default.stop, SCROLLABLE), strategy.handleStop.bind(strategy));\r\n _events_engine.default.off(this._$container, \".\" + SCROLLABLE);\r\n _events_engine.default.on(this._$container, (0, _index.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: function(e) {\r\n return this._strategy.validate(e)\r\n },\r\n handleMove: function(e) {\r\n this._strategy.handleMove(e)\r\n },\r\n _prepareDirections: function(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 _uiScrollable2.default(this) : new _uiScrollable.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 || !(0, _window.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 ((0, _type.isPlainObject)(location)) {\r\n var left = (0, _common.ensureDefined)(location.left, location.x);\r\n var top = (0, _common.ensureDefined)(location.top, location.y);\r\n return {\r\n left: (0, _type.isDefined)(left) ? -left : void 0,\r\n top: (0, _type.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 (0, _element.getPublicElement)(this._$content)\r\n },\r\n container: function() {\r\n return (0, _element.getPublicElement)(this._$container)\r\n },\r\n scrollOffset: function() {\r\n return this._strategy._getScrollOffset()\r\n },\r\n _isRtlNativeStrategy: function() {\r\n var _this$option = this.option(),\r\n useNative = _this$option.useNative,\r\n rtlEnabled = _this$option.rtlEnabled;\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 (0, _size.getHeight)(this._$container)\r\n },\r\n scrollHeight: function() {\r\n return (0, _size.getOuterHeight)(this.$content())\r\n },\r\n clientWidth: function() {\r\n return (0, _size.getWidth)(this._$container)\r\n },\r\n scrollWidth: function() {\r\n return (0, _size.getOuterWidth)(this.$content())\r\n },\r\n update: function() {\r\n if (!this._strategy) {\r\n return\r\n }\r\n return (0, _deferred.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 - (0, _common.ensureDefined)(targetLocation.left, location.left),\r\n top: location.top - (0, _common.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 = (0, _renderer.default)(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 (0, _get_element_location_internal.getElementLocationInternal)($element.get(0), direction, (0, _renderer.default)(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\n(0, _component_registrator.default)(SCROLLABLE, Scrollable);\r\nvar _default = Scrollable;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/scroll_view/ui.scrollable.simulated.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.SimulatedStrategy = exports.Scroller = void 0;\r\nvar _size = require(\"../../core/utils/size\");\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _dom_adapter = _interopRequireDefault(require(\"../../core/dom_adapter\"));\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _inflector = require(\"../../core/utils/inflector\");\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _window = require(\"../../core/utils/window\");\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _position = require(\"../../core/utils/position\");\r\nvar _translator = require(\"../../animation/translator\");\r\nvar _class = _interopRequireDefault(require(\"../../core/class\"));\r\nvar _animator = _interopRequireDefault(require(\"./animator\"));\r\nvar _index = require(\"../../events/utils/index\");\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _ui = _interopRequireDefault(require(\"./ui.scrollbar\"));\r\nvar _deferred = require(\"../../core/utils/deferred\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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.default.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\nvar Scroller = _class.default.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 var _this = this;\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 (0, _iterator.each)(options, (function(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 _ui.default((0, _renderer.default)(\"<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 _events_engine.default.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 ((0, _window.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((0, _position.getBoundingRect)(element)[dimension])\r\n },\r\n _getBaseDimension: function(element, dimension) {\r\n var dimensionName = \"offset\" + (0, _inflector.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 (0, _translator.resetPosition)(this._$content);\r\n return\r\n }(0, _translator.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: (0, _common.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 ((0, _index.isDxMouseWheelEvent)(e.originalEvent)) {\r\n return\r\n }\r\n var $target = (0, _renderer.default)(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() - (0, _size.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.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 var _this2 = this;\r\n this._stopScrolling();\r\n return (0, _common.deferUpdate)((function() {\r\n _this2._resetScaleRatio();\r\n _this2._updateLocation();\r\n _this2._updateBounds();\r\n _this2._updateScrollbar();\r\n (0, _common.deferRender)((function() {\r\n _this2._moveScrollbar();\r\n _this2._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 = ((0, _translator.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: (0, _common.deferUpdater)((function() {\r\n var _this3 = this;\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 (0, _common.deferRender)((function() {\r\n _this3._scrollbar.option({\r\n containerSize: containerSize,\r\n contentSize: contentSize,\r\n baseContainerSize: baseContainerSize,\r\n baseContentSize: baseContentSize,\r\n scaleRatio: _this3._getScaleRatio()\r\n })\r\n }))\r\n })),\r\n _moveToBounds: (0, _common.deferRenderer)((0, _common.deferUpdater)((0, _common.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\" + (0, _inflector.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 = (0, _renderer.default)(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: _common.noop\r\n});\r\nexports.Scroller = Scroller;\r\nvar hoveredScrollable;\r\nvar activeScrollable;\r\nvar SimulatedStrategy = _class.default.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 = (0, _renderer.default)(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 ((0, _type.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 ((0, _index.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 = (0, _renderer.default)(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 (0, _iterator.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 && (0, _index.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 ((0, _window.hasWindow)()) {\r\n return (0, _window.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 _events_engine.default.off(this._$element, \".\".concat(SCROLLABLE_SIMULATED_KEYBOARD));\r\n if (!this.option(\"disabled\") && this.option(\"useKeyboard\")) {\r\n _events_engine.default.on(this._$element, (0, _index.addNamespace)(\"keydown\", SCROLLABLE_SIMULATED_KEYBOARD), this._keyDownHandler.bind(this))\r\n }\r\n },\r\n _keyDownHandler: function(e) {\r\n var _this4 = this;\r\n clearTimeout(this._updateHandlerTimeout);\r\n this._updateHandlerTimeout = setTimeout((function() {\r\n if ((0, _index.normalizeKeyName)(e) === KEY_CODES.TAB) {\r\n _this4._eachScroller((function(scroller) {\r\n scroller._updateHandler()\r\n }))\r\n }\r\n }));\r\n if (!this._$container.is(_dom_adapter.default.getActiveElement(this._$container.get(0)))) {\r\n return\r\n }\r\n var handled = true;\r\n switch ((0, _index.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 ? _size.getWidth : _size.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 ? _size.getWidth : _size.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 _arguments = arguments,\r\n _this5 = this;\r\n var actionHandler = this._createActionByOption(optionName);\r\n return function() {\r\n actionHandler((0, _extend.extend)(_this5._createActionArgs(), _arguments))\r\n }\r\n },\r\n _createActionArgs: function() {\r\n var _this$_scrollers = this._scrollers,\r\n scrollerX = _this$_scrollers.horizontal,\r\n scrollerY = _this$_scrollers.vertical;\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: function() {\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 = (0, _iterator.map)(this._scrollers, (function(scroller) {\r\n return scroller[\"_\" + eventName + \"Handler\"].apply(scroller, args)\r\n }));\r\n return _deferred.when.apply(_renderer.default, deferreds).promise()\r\n },\r\n location: function() {\r\n var location = (0, _translator.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 _events_engine.default.off(this._$element, \".\".concat(SCROLLABLE_SIMULATED_CURSOR));\r\n if (!this.option(\"disabled\") && this._isHoverMode()) {\r\n _events_engine.default.on(this._$element, (0, _index.addNamespace)(\"mouseenter\", SCROLLABLE_SIMULATED_CURSOR), this._cursorEnterHandler.bind(this));\r\n _events_engine.default.on(this._$element, (0, _index.addNamespace)(\"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 = (0, _renderer.default)(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 _this6 = this;\r\n var result = this._eventHandler(\"update\").done(this._updateAction);\r\n return (0, _deferred.when)(result, (0, _common.deferUpdate)((function() {\r\n var allowedDirections = _this6._allowedDirections();\r\n (0, _common.deferRender)((function() {\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 _this6._$container.css(\"touchAction\", touchDirection)\r\n }));\r\n return (0, _deferred.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 _this$_$container$get = this._$container.get(0),\r\n clientWidth = _this$_$container$get.clientWidth,\r\n scrollLeft = _this$_$container$get.scrollLeft;\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 (0, _window.hasWindow)() ? (0, _window.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 ((0, _index.isDxMouseWheelEvent)(e) && (0, _index.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 (0, _index.isDxMouseWheelEvent)(e) ? this._validateWheel(e) : this._validateMove(e)\r\n },\r\n _validateWheel: function(e) {\r\n var _this7 = this;\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((function() {\r\n _this7._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\") && !(0, _renderer.default)(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 (0, _index.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 _events_engine.default.off(this._$element, \".\".concat(SCROLLABLE_SIMULATED_CURSOR));\r\n _events_engine.default.off(this._$container, \".\".concat(SCROLLABLE_SIMULATED_KEYBOARD))\r\n }\r\n});\r\nexports.SimulatedStrategy = SimulatedStrategy;\r\n","/**\r\n * DevExtreme (cjs/ui/scroll_view/ui.scrollbar.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _dom_adapter = _interopRequireDefault(require(\"../../core/dom_adapter\"));\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _ready_callbacks = _interopRequireDefault(require(\"../../core/utils/ready_callbacks\"));\r\nvar _translator = require(\"../../animation/translator\");\r\nvar _ui = _interopRequireDefault(require(\"../widget/ui.widget\"));\r\nvar _index = require(\"../../events/utils/index\");\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _pointer = _interopRequireDefault(require(\"../../events/pointer\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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 = _ui.default.inherit({\r\n _getDefaultOptions: function() {\r\n return (0, _extend.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 = (0, _renderer.default)(\"<div>\").addClass(SCROLLABLE_SCROLL_CLASS);\r\n (0, _renderer.default)(\"<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 _events_engine.default.on(this._$thumb, (0, _index.addNamespace)(_pointer.default.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 ((0, _type.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 (0, _translator.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 (0, _type.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 _events_engine.default.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: (0, _common.deferRenderer)((function() {\r\n this._adjustVisibility() && this.option(\"visible\", true)\r\n }))\r\n});\r\n_ready_callbacks.default.add((function() {\r\n _events_engine.default.subscribeGlobal(_dom_adapter.default.getDocument(), (0, _index.addNamespace)(_pointer.default.up, SCROLLBAR), (function() {\r\n if (activeScrollbar) {\r\n activeScrollbar.feedbackOff()\r\n }\r\n }))\r\n}));\r\nvar _default = Scrollbar;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/select_box.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../core/renderer\"));\r\nvar _common = require(\"../core/utils/common\");\r\nvar _type = require(\"../core/utils/type\");\r\nvar _extend = require(\"../core/utils/extend\");\r\nvar _iterator = require(\"../core/utils/iterator\");\r\nvar _deferred = require(\"../core/utils/deferred\");\r\nvar _element = require(\"../core/element\");\r\nvar _errors = _interopRequireDefault(require(\"../core/errors\"));\r\nvar _dom_adapter = _interopRequireDefault(require(\"../core/dom_adapter\"));\r\nvar _message = _interopRequireDefault(require(\"../localization/message\"));\r\nvar _component_registrator = _interopRequireDefault(require(\"../core/component_registrator\"));\r\nvar _ui = _interopRequireDefault(require(\"./drop_down_editor/ui.drop_down_list\"));\r\nrequire(\"./list/modules/selection\");\r\nvar _index = require(\"../events/utils/index\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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 = _ui.default.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 (0, _extend.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.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.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 && (0, _type.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 (0, _extend.extend)(this.callBase(), {\r\n placeholder: _message.default.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 (!(0, _type.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: function() {\r\n this.callBase();\r\n (0, _extend.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 _this$option = this.option(),\r\n items = _this$option.items,\r\n selectedItem = _this$option.selectedItem;\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\", (0, _element.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.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.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.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\" === (0, _index.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 = !(0, _type.isDefined)(item) && this._isCustomValueAllowed() ? this.option(\"value\") : item;\r\n return this.callBase(item)\r\n },\r\n _listConfig: function() {\r\n var result = (0, _extend.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 (0, _extend.extend)(result, {\r\n showSelectionControls: true,\r\n selectByClick: 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 = (0, _renderer.default)(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) : _common.noop\r\n },\r\n _selectionChangeHandler: function(e) {\r\n (0, _iterator.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 _this$option2 = this.option(),\r\n acceptCustomValue = _this$option2.acceptCustomValue,\r\n text = _this$option2.text,\r\n initialSelectedItem = _this$option2.selectedItem;\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 = (0, _common.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 _this$option3 = this.option(),\r\n searchEnabled = _this$option3.searchEnabled;\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 !!(0, _renderer.default)(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 = _dom_adapter.default.getActiveElement(this.element());\r\n return this.callBase() && (0, _renderer.default)(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\") && (0, _renderer.default)(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((0, _renderer.default)(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.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 = (0, _common.ensureDefined)(actionResult, params.customItem);\r\n if ((0, _type.isDefined)(actionResult)) {\r\n _errors.default.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.default.Error(\"E0121\")\r\n }\r\n if ((0, _type.isPromise)(item)) {\r\n (0, _deferred.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 = _common.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\n(0, _component_registrator.default)(\"dxSelectBox\", SelectBox);\r\nvar _default = SelectBox;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/selection/selection.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _selectionStrategy = _interopRequireDefault(require(\"./selection.strategy.deferred\"));\r\nvar _selectionStrategy2 = _interopRequireDefault(require(\"./selection.strategy.standard\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _deferred = require(\"../../core/utils/deferred\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar Selection = function() {\r\n function Selection(options) {\r\n this.options = (0, _extend.extend)(this._getDefaultOptions(), options, {\r\n selectedItemKeys: options.selectedKeys || []\r\n });\r\n this._selectionStrategy = this.options.deferred ? new _selectionStrategy.default(this.options) : new _selectionStrategy2.default(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 var _proto = Selection.prototype;\r\n _proto._getDefaultOptions = function() {\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: _common.noop,\r\n key: _common.noop,\r\n keyOf: function(item) {\r\n return item\r\n },\r\n load: function() {\r\n return (new _deferred.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: _common.noop,\r\n filter: _common.noop\r\n }\r\n };\r\n _proto.validate = function() {\r\n this._selectionStrategy.validate()\r\n };\r\n _proto.getSelectedItemKeys = function() {\r\n return this._selectionStrategy.getSelectedItemKeys()\r\n };\r\n _proto.getSelectedItems = function() {\r\n return this._selectionStrategy.getSelectedItems()\r\n };\r\n _proto.selectionFilter = function(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 _proto.setSelection = function(keys, updatedKeys) {\r\n return this.selectedItemKeys(keys, false, false, false, updatedKeys)\r\n };\r\n _proto.select = function(keys) {\r\n return this.selectedItemKeys(keys, true)\r\n };\r\n _proto.deselect = function(keys) {\r\n return this.selectedItemKeys(keys, true, true)\r\n };\r\n _proto.selectedItemKeys = function(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 _proto.clearSelection = function() {\r\n return this.selectedItemKeys([])\r\n };\r\n _proto._addSelectedItem = function(itemData, key) {\r\n this._selectionStrategy.addSelectedItem(key, itemData)\r\n };\r\n _proto._removeSelectedItem = function(key) {\r\n this._selectionStrategy.removeSelectedItem(key)\r\n };\r\n _proto._setSelectedItems = function(keys, items) {\r\n this._selectionStrategy.setSelectedItems(keys, items)\r\n };\r\n _proto.onSelectionChanged = function() {\r\n this._selectionStrategy.onSelectionChanged()\r\n };\r\n _proto.changeItemSelection = function(itemIndex, keys, setFocusOnly) {\r\n var _this$options$allowLo, _this$options, _this = this;\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 = function(index) {\r\n return index >= 0 && !items.filter((function(it) {\r\n return it.loadIndex === index\r\n })).length\r\n };\r\n if (allowLoadByRange && (0, _type.isDefined)(item)) {\r\n indexOffset = item.loadIndex - itemIndex;\r\n itemIndex = item.loadIndex;\r\n focusedItemNotInLoadedRange = itemIsNotInLoadedRange(this._focusedItemIndex);\r\n if ((0, _type.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 (0, _deferred.when)(deferred).done((function() {\r\n _this._focusedItemIndex = itemIndex;\r\n !setFocusOnly && _this.onSelectionChanged()\r\n }));\r\n return true\r\n }\r\n };\r\n _proto.isDataItem = function(item) {\r\n return this.options.isSelectableItem(item)\r\n };\r\n _proto.isSelectable = function() {\r\n return \"single\" === this.options.mode || \"multiple\" === this.options.mode\r\n };\r\n _proto.isItemDataSelected = function(data) {\r\n return this._selectionStrategy.isItemDataSelected(data, {\r\n checkPending: true\r\n })\r\n };\r\n _proto.isItemSelected = function(arg, options) {\r\n return this._selectionStrategy.isItemKeySelected(arg, options)\r\n };\r\n _proto._resetItemSelectionWhenShiftKeyPressed = function() {\r\n delete this._shiftFocusedItemIndex\r\n };\r\n _proto._resetFocusedItemIndex = function() {\r\n this._focusedItemIndex = -1\r\n };\r\n _proto.changeItemSelectionWhenShiftKeyInVirtualPaging = function(loadIndex) {\r\n var _this2 = this;\r\n var loadOptions = this.options.getLoadOptions(loadIndex, this._focusedItemIndex, this._shiftFocusedItemIndex);\r\n var deferred = new _deferred.Deferred;\r\n var indexOffset = loadOptions.skip;\r\n this.options.load(loadOptions).done((function(items) {\r\n _this2.changeItemSelectionWhenShiftKeyPressed(loadIndex, items, indexOffset);\r\n deferred.resolve()\r\n }));\r\n return deferred.promise()\r\n };\r\n _proto.changeItemSelectionWhenShiftKeyPressed = function(itemIndex, items, indexOffset) {\r\n var isSelectedItemsChanged = false;\r\n var itemIndexStep;\r\n var indexOffsetDefined = (0, _type.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 (!(0, _type.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 _proto.clearSelectedItems = function() {\r\n this._setSelectedItems([], [])\r\n };\r\n _proto.selectAll = function(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 _proto.deselectAll = function(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 _proto._onePageSelectAll = function(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.Deferred).resolve()\r\n };\r\n _proto.getSelectAllState = function(visibleOnly) {\r\n return this._selectionStrategy.getSelectAllState(visibleOnly)\r\n };\r\n _proto.loadSelectedItemsWithFilter = function() {\r\n return this._selectionStrategy.loadSelectedItemsWithFilter()\r\n };\r\n return Selection\r\n}();\r\nexports.default = Selection;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/selection/selection.strategy.deferred.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _selection = _interopRequireDefault(require(\"./selection.strategy\"));\r\nvar _ui = _interopRequireDefault(require(\"../widget/ui.errors\"));\r\nvar _query = _interopRequireDefault(require(\"../../data/query\"));\r\nvar _deferred = require(\"../../core/utils/deferred\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar DeferredStrategy = function(_SelectionStrategy) {\r\n _inheritsLoose(DeferredStrategy, _SelectionStrategy);\r\n\r\n function DeferredStrategy() {\r\n return _SelectionStrategy.apply(this, arguments) || this\r\n }\r\n var _proto = DeferredStrategy.prototype;\r\n _proto.getSelectedItems = function() {\r\n return this._loadFilteredData(this.options.selectionFilter)\r\n };\r\n _proto.getSelectedItemKeys = function() {\r\n var d = new _deferred.Deferred;\r\n var that = this;\r\n var key = this.options.key();\r\n var select = (0, _type.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 _proto.selectedItemKeys = function(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.Deferred).resolve()\r\n };\r\n _proto.setSelectedItems = function(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 _proto.isItemDataSelected = function(itemData) {\r\n return this.isItemKeySelected(itemData)\r\n };\r\n _proto.isItemKeySelected = function(itemData) {\r\n var selectionFilter = this.options.selectionFilter;\r\n if (!selectionFilter) {\r\n return true\r\n }\r\n return !!(0, _query.default)([itemData]).filter(selectionFilter).toArray().length\r\n };\r\n _proto._getKeyExpr = function() {\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 _proto._normalizeKey = function(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 _proto._getFilterByKey = function(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 _proto.addSelectedItem = function(key, isSelectAll, skipFilter) {\r\n var filter = this._getFilterByKey(key);\r\n this._addSelectionFilter(false, filter, isSelectAll, skipFilter)\r\n };\r\n _proto.removeSelectedItem = function(key) {\r\n var filter = this._getFilterByKey(key);\r\n this._addSelectionFilter(true, filter)\r\n };\r\n _proto.validate = function() {\r\n var key = this.options.key;\r\n if (key && void 0 === key()) {\r\n throw _ui.default.Error(\"E1042\", \"Deferred selection\")\r\n }\r\n };\r\n _proto._findSubFilter = function(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 _proto._isLastSubFilter = function(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 _proto._addFilterOperator = function(selectionFilter, filterOperator) {\r\n if (selectionFilter.length > 1 && (0, _type.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 _proto._denormalizeFilter = function(filter) {\r\n if (filter && (0, _type.isString)(filter[0])) {\r\n filter = [filter]\r\n }\r\n return filter\r\n };\r\n _proto._isOnlyNegativeFiltersLeft = function(filters) {\r\n return filters.every((function(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 _proto._addSelectionFilter = function(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 _proto._normalizeFilter = function(filter) {\r\n if (filter && 1 === filter.length) {\r\n filter = filter[0]\r\n }\r\n return filter\r\n };\r\n _proto._removeFilterByIndex = function(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 _proto._isSimpleKeyFilter = function(filter, key) {\r\n return 3 === filter.length && filter[0] === key && \"=\" === filter[1]\r\n };\r\n _proto._isKeyFilter = function(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 _proto._hasKeyFiltersOnlyStartingFromIndex = function(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 _proto._removeSameFilter = function(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 _proto.getSelectAllState = function() {\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 _proto.loadSelectedItemsWithFilter = function() {\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 return DeferredStrategy\r\n}(_selection.default);\r\nexports.default = DeferredStrategy;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/selection/selection.strategy.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _query = _interopRequireDefault(require(\"../../data/query\"));\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _deferred = require(\"../../core/utils/deferred\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar SelectionStrategy = function() {\r\n function SelectionStrategy(options) {\r\n this.options = options;\r\n this._setOption(\"disabledItemKeys\", []);\r\n this._clearItemKeys()\r\n }\r\n var _proto = SelectionStrategy.prototype;\r\n _proto._clearItemKeys = function() {\r\n this._setOption(\"addedItemKeys\", []);\r\n this._setOption(\"removedItemKeys\", []);\r\n this._setOption(\"removedItems\", []);\r\n this._setOption(\"addedItems\", [])\r\n };\r\n _proto.validate = function() {};\r\n _proto._setOption = function(name, value) {\r\n this.options[name] = value\r\n };\r\n _proto.onSelectionChanged = function() {\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 || _common.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 _proto.equalKeys = function(key1, key2) {\r\n if (this.options.equalByReference) {\r\n if ((0, _type.isObject)(key1) && (0, _type.isObject)(key2)) {\r\n return key1 === key2\r\n }\r\n }\r\n return (0, _common.equalByValue)(key1, key2)\r\n };\r\n _proto.getSelectableItems = function(items) {\r\n return items.filter((function(item) {\r\n return !(null !== item && void 0 !== item && item.disabled)\r\n }))\r\n };\r\n _proto._clearSelection = function(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 _proto._removeTemplateProperty = function(remoteFilter) {\r\n var _this = this;\r\n if (Array.isArray(remoteFilter)) {\r\n return remoteFilter.map((function(f) {\r\n return _this._removeTemplateProperty(f)\r\n }))\r\n }\r\n if ((0, _type.isObject)(remoteFilter)) {\r\n delete remoteFilter.template\r\n }\r\n return remoteFilter\r\n };\r\n _proto._loadFilteredData = function(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.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 = (0, _type.isPlainObject)(items) ? items.data : items;\r\n if (localFilter && !isSelectAll) {\r\n filteredItems = filteredItems.filter(localFilter)\r\n } else if (needLoadAllData) {\r\n filteredItems = (0, _query.default)(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 _proto.updateSelectedItemKeyHash = function(keys) {\r\n for (var i = 0; i < keys.length; i++) {\r\n var keyHash = (0, _common.getKeyHash)(keys[i]);\r\n if (!(0, _type.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 _proto._isAnyItemSelected = function(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 _proto._getFullSelectAllState = function() {\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((function(item) {\r\n return !(null !== item && void 0 !== item && item.disabled)\r\n }));\r\n if (dataFilter) {\r\n selectedItems = (0, _query.default)(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 _proto._getVisibleSelectAllState = function() {\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 return SelectionStrategy\r\n}();\r\nexports.default = SelectionStrategy;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/selection/selection.strategy.standard.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _array = require(\"../../core/utils/array\");\r\nvar _array_compare = require(\"../../core/utils/array_compare\");\r\nvar _query = _interopRequireDefault(require(\"../../data/query\"));\r\nvar _deferred = require(\"../../core/utils/deferred\");\r\nvar _selection_filter = require(\"../../core/utils/selection_filter\");\r\nvar _ui = _interopRequireDefault(require(\"../widget/ui.errors\"));\r\nvar _selection = _interopRequireDefault(require(\"./selection.strategy\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar StandardStrategy = function(_SelectionStrategy) {\r\n _inheritsLoose(StandardStrategy, _SelectionStrategy);\r\n\r\n function StandardStrategy(options) {\r\n var _this;\r\n _this = _SelectionStrategy.call(this, options) || this;\r\n _this._initSelectedItemKeyHash();\r\n return _this\r\n }\r\n var _proto = StandardStrategy.prototype;\r\n _proto._initSelectedItemKeyHash = function() {\r\n this._setOption(\"keyHashIndices\", this.options.equalByReference ? null : {})\r\n };\r\n _proto.getSelectedItemKeys = function() {\r\n return this.options.selectedItemKeys.slice(0)\r\n };\r\n _proto.getSelectedItems = function() {\r\n return this.options.selectedItems.slice(0)\r\n };\r\n _proto._preserveSelectionUpdate = function(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 _proto._batchRemoveSelectedItems = function(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 _proto._loadSelectedItemsCore = function(keys, isDeselect, isSelectAll, filter) {\r\n var forceCombinedFilter = arguments.length > 4 && void 0 !== arguments[4] ? arguments[4] : false;\r\n var deferred = new _deferred.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 _selection_filter.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 ? (0, _query.default)(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 _proto._replaceSelectionUpdate = function(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 _proto._warnOnIncorrectKeys = function(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 _ui.default.log(\"W1002\", key)\r\n }\r\n }\r\n };\r\n _proto._isMultiSelectEnabled = function() {\r\n var mode = this.options.mode;\r\n return \"all\" === mode || \"multiple\" === mode\r\n };\r\n _proto._requestInProgress = function() {\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 _proto._concatRequestsItems = function(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 = (0, _array.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 _proto._collectLastRequestData = function(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 (!(0, _array_compare.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 _proto._updateKeysByLastRequestData = function(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 = (0, _array.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 = (0, _array.getUniqueValues)(currentKeys)\r\n }\r\n return currentKeys\r\n };\r\n _proto._loadSelectedItems = function(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.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 (0, _deferred.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 _proto.selectedItemKeys = function(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 _proto.addSelectedItem = function(key, itemData) {\r\n if ((0, _type.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 (!(0, _type.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 _proto._getSelectedIndexByKey = function(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 _proto._getSelectedIndexByHash = function(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 _proto._indexOfSelectedItemKey = function(key, ignoreIndicesMap) {\r\n var selectedIndex;\r\n if (this.options.equalByReference) {\r\n selectedIndex = this.options.selectedItemKeys.indexOf(key)\r\n } else if ((0, _type.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 _proto._shiftSelectedKeyIndices = function(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 = (0, _common.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 _proto.removeSelectedItem = function(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 ((0, _type.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 _proto._updateAddedItemKeys = function(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 _proto._updateRemovedItemKeys = function(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 _proto._isItemSelectionInProgress = function(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 _proto._getKeyHash = function(key) {\r\n return this.options.equalByReference ? key : (0, _common.getKeyHash)(key)\r\n };\r\n _proto.setSelectedItems = function(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 _proto.isItemDataSelected = function(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 _proto.isItemKeySelected = function(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 _proto.getSelectAllState = function(visibleOnly) {\r\n if (visibleOnly) {\r\n return this._getVisibleSelectAllState()\r\n } else {\r\n return this._getFullSelectAllState()\r\n }\r\n };\r\n _proto.loadSelectedItemsWithFilter = function() {\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 (0, _deferred.Deferred)().resolve([])\r\n }\r\n var selectionFilterCreator = new _selection_filter.SelectionFilterCreator(keys);\r\n var combinedFilter = selectionFilterCreator.getCombinedFilter(keyExpr, filter, true);\r\n return this._loadFilteredData(combinedFilter)\r\n };\r\n return StandardStrategy\r\n}(_selection.default);\r\nexports.default = StandardStrategy;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/shared/accessibility.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.hiddenFocus = hiddenFocus;\r\nexports.registerKeyboardAction = registerKeyboardAction;\r\nexports.restoreFocus = restoreFocus;\r\nexports.saveFocusedElementInfo = saveFocusedElementInfo;\r\nexports.selectView = selectView;\r\nexports.setTabIndex = setTabIndex;\r\nexports.subscribeVisibilityChange = subscribeVisibilityChange;\r\nexports.unsubscribeVisibilityChange = unsubscribeVisibilityChange;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _index = require(\"../../events/utils/index\");\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _dom_adapter = _interopRequireDefault(require(\"../../core/dom_adapter\"));\r\nvar _common = require(\"../../core/utils/common\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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 = (0, _index.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\n\r\nfunction saveFocusedElementInfo(target, instance) {\r\n var $target = (0, _renderer.default)(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 = (0, _extend.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 = (0, _renderer.default)(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()) || _dom_adapter.default.getDocument();\r\n for (var index in viewSelectors) {\r\n var selector = viewSelectors[index];\r\n var $focusViewElement = (0, _renderer.default)(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\" === _dom_adapter.default.getDocument().visibilityState\r\n}\r\n\r\nfunction subscribeVisibilityChange() {\r\n _events_engine.default.on(_dom_adapter.default.getDocument(), \"visibilitychange\", onDocumentVisibilityChange)\r\n}\r\n\r\nfunction unsubscribeVisibilityChange() {\r\n _events_engine.default.off(_dom_adapter.default.getDocument(), \"visibilitychange\", onDocumentVisibilityChange)\r\n}\r\n\r\nfunction hiddenFocus(element) {\r\n isHiddenFocusing = true;\r\n element.focus();\r\n isHiddenFocusing = false\r\n}\r\n\r\nfunction registerKeyboardAction(viewName, instance, $element, selector, action, executeKeyDown) {\r\n if (instance.option(\"useLegacyKeyboardNavigation\")) {\r\n return _common.noop\r\n }\r\n var getMainElement = function() {\r\n return (0, _renderer.default)(instance.element())\r\n };\r\n var keyDownHandler = function(e) {\r\n return processKeyDown(viewName, instance, e, action, getMainElement(), executeKeyDown)\r\n };\r\n var mouseDownHandler = function() {\r\n isMouseDown = true;\r\n getMainElement().removeClass(FOCUS_STATE_CLASS)\r\n };\r\n var focusinHandler = function() {\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 _events_engine.default.on($element, \"keydown\", selector, keyDownHandler);\r\n _events_engine.default.on($element, \"mousedown\", selector, mouseDownHandler);\r\n _events_engine.default.on($element, \"focusin\", selector, focusinHandler);\r\n return function() {\r\n _events_engine.default.off($element, \"keydown\", selector, keyDownHandler);\r\n _events_engine.default.off($element, \"mousedown\", selector, mouseDownHandler);\r\n _events_engine.default.off($element, \"focusin\", selector, focusinHandler)\r\n }\r\n}\r\n\r\nfunction 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 _events_engine.default.trigger($targetElement, \"focus\")\r\n }\r\n }\r\n}\r\n\r\nfunction selectView(viewName, instance, event) {\r\n var keyName = (0, _index.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 _events_engine.default.trigger($focusViewElement, \"focus\");\r\n $focusViewElement.removeClass(FOCUS_DISABLED_CLASS);\r\n break\r\n }\r\n }\r\n }\r\n}\r\n\r\nfunction 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 (cjs/ui/shared/filtering.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _iterator = require(\"../../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 ((0, _type.isDefined)(groupInterval)) {\r\n return Array.isArray(groupInterval) ? groupInterval : [groupInterval]\r\n }\r\n};\r\nvar _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) && (0, _type.isDefined)(filterValue[0]) && (0, _type.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 ((0, _type.isDate)(dateValue)) {\r\n return [dateValue.getFullYear(), dateValue.getMonth(), dateValue.getDate(), dateValue.getHours(), dateValue.getMinutes(), dateValue.getSeconds()]\r\n }\r\n return (0, _iterator.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 && (0, _type.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) && (0, _type.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\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/shared/grouped_data_converter_mixin.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _type = require(\"../../core/utils/type\");\r\nvar isCorrectStructure = function(data) {\r\n return Array.isArray(data) && data.every((function(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\n};\r\nvar _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((function(accumulator, item) {\r\n var items = item.items.map((function(innerItem) {\r\n if (!(0, _type.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\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/shared/ui.editor_factory_mixin.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _variable_wrapper = _interopRequireDefault(require(\"../../core/utils/variable_wrapper\"));\r\nvar _data = require(\"../../core/utils/data\");\r\nvar _browser = _interopRequireDefault(require(\"../../core/utils/browser\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _devices = _interopRequireDefault(require(\"../../core/devices\"));\r\nvar _element = require(\"../../core/element\");\r\nvar _utils = require(\"../../data/data_source/utils\");\r\nvar _index = require(\"../../events/utils/index\");\r\nrequire(\"../text_box\");\r\nrequire(\"../number_box\");\r\nrequire(\"../check_box\");\r\nrequire(\"../select_box\");\r\nrequire(\"../date_box\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar isWrapped = _variable_wrapper.default.isWrapped;\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 (0, _extend.extend)(config, {\r\n readOnly: options.readOnly,\r\n placeholder: options.placeholder,\r\n inputAttr: {\r\n id: options.id\r\n },\r\n tabIndex: options.tabIndex\r\n }, options.editorOptions)\r\n };\r\n var checkEnterBug = function() {\r\n return _browser.default.mozilla || _devices.default.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 }), (0, _type.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\" === (0, _index.normalizeKeyName)(e.event)) {\r\n _events_engine.default.trigger((0, _renderer.default)(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 component = _ref.component,\r\n event = _ref.event;\r\n var useMaskBehavior = component.option(\"useMaskBehavior\");\r\n if ((checkEnterBug() || useMaskBehavior) && \"enter\" === (0, _index.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, (0, _type.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 = (0, _type.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 = (0, _data.compileGetter)(lookup.displayExpr);\r\n dataSource = lookup.dataSource;\r\n if ((0, _type.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((function() {\r\n dataSource = options.lookup.dataSource(options.row);\r\n return dataSource && dataSource.filter\r\n }), (function() {\r\n selectBox.option(\"dataSource\", dataSource)\r\n }), (function(row) {\r\n options.row = row\r\n }))\r\n }\r\n }(options)\r\n }\r\n if ((0, _type.isObject)(dataSource) || Array.isArray(dataSource)) {\r\n dataSource = (0, _utils.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: (0, _type.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 = function(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 = function(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((0, _extend.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 = (0, _element.getPublicElement)($container);\r\n if (!(0, _type.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 && !(0, _type.isDefined)(options.editorOptions.showValidationMark)) {\r\n options.editorOptions.showValidationMark = false\r\n }! function(that, options) {\r\n var $editorElement = (0, _renderer.default)(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\", (function(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\" === (0, _index.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\nvar _default = EditorFactoryMixin;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/slider.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _ui = _interopRequireDefault(require(\"./slider/ui.slider\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar _default = _ui.default;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/slider/slider_tooltip_position_controller.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.SliderTooltipPositionController = void 0;\r\nvar _popover_position_controller = require(\"../popover/popover_position_controller\");\r\nvar _translator = require(\"../../animation/translator\");\r\nvar _position = _interopRequireDefault(require(\"../../animation/position\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _type = require(\"../../core/utils/type\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\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\nvar SliderTooltipPositionController = function(_PopoverPositionContr) {\r\n _inheritsLoose(SliderTooltipPositionController, _PopoverPositionContr);\r\n\r\n function SliderTooltipPositionController() {\r\n return _PopoverPositionContr.apply(this, arguments) || this\r\n }\r\n var _proto = SliderTooltipPositionController.prototype;\r\n _proto._normalizePosition = function(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 = (0, _extend.extend)(true, {}, defaultPositionConfig, this._positionToObject(positionProp));\r\n this._positionSide = this._getDisplaySide(resultPosition);\r\n return resultPosition\r\n };\r\n _proto._renderContentInitialPosition = function() {\r\n _PopoverPositionContr.prototype._renderContentInitialPosition.call(this);\r\n this._fitIntoSlider()\r\n };\r\n _proto._fitIntoSlider = function() {\r\n var _positionUtils$calcul = _position.default.calculate(this._$content, this._position).h,\r\n collisionSide = _positionUtils$calcul.collisionSide,\r\n oversize = _positionUtils$calcul.oversize;\r\n var left = this._visualPosition.left;\r\n var isLeftSide = \"left\" === collisionSide;\r\n var offset = (isLeftSide ? 1 : -1) * oversize;\r\n (0, _translator.move)(this._$content, {\r\n left: left + offset\r\n });\r\n this._updateVisualPositionValue()\r\n };\r\n _proto._positionToObject = function(positionProp) {\r\n if ((0, _type.isString)(positionProp)) {\r\n return (0, _extend.extend)({}, SLIDER_TOOLTIP_POSITION_ALIASES[positionProp])\r\n }\r\n return positionProp\r\n };\r\n return SliderTooltipPositionController\r\n}(_popover_position_controller.PopoverPositionController);\r\nexports.SliderTooltipPositionController = SliderTooltipPositionController;\r\n","/**\r\n * DevExtreme (cjs/ui/slider/ui.slider.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _size = require(\"../../core/utils/size\");\r\nvar _component_registrator = _interopRequireDefault(require(\"../../core/component_registrator\"));\r\nvar _devices = _interopRequireDefault(require(\"../../core/devices\"));\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _deferred = require(\"../../core/utils/deferred\");\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _click = require(\"../../events/click\");\r\nvar _emitter = require(\"../../events/core/emitter.feedback\");\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _swipeable = _interopRequireDefault(require(\"../../events/gesture/swipeable\"));\r\nvar _pointer = _interopRequireDefault(require(\"../../events/pointer\"));\r\nvar _index = require(\"../../events/utils/index\");\r\nvar _number = _interopRequireDefault(require(\"../../localization/number\"));\r\nvar _themes = require(\"../themes\");\r\nvar _track_bar = _interopRequireDefault(require(\"../track_bar\"));\r\nvar _utils = require(\"../widget/utils.ink_ripple\");\r\nvar _ui = _interopRequireDefault(require(\"./ui.slider_handle\"));\r\nvar _math = require(\"../../core/utils/math\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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 = _track_bar.default.inherit({\r\n _activeStateUnit: SLIDER_HANDLE_SELECTOR,\r\n _supportedKeys: function() {\r\n var _this = this;\r\n var isRTL = this.option(\"rtlEnabled\");\r\n var roundedValue = function(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 = (0, _math.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 = function(offset) {\r\n _this.option(\"value\", roundedValue(offset, isRTL))\r\n };\r\n var moveHandleLeft = function(offset) {\r\n _this.option(\"value\", roundedValue(offset, !isRTL))\r\n };\r\n return (0, _extend.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 (0, _extend.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: (0, _themes.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.default.real().deviceType && !_devices.default.isSimulator()\r\n },\r\n options: {\r\n focusStateEnabled: true\r\n }\r\n }, {\r\n device: function() {\r\n var themeName = (0, _themes.current)();\r\n return (0, _themes.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 = (0, _index.addNamespace)(\"focusin\", namespace);\r\n var focusOutEvent = (0, _index.addNamespace)(\"focusout\", namespace);\r\n var $focusTarget = this._focusTarget();\r\n _events_engine.default.on($focusTarget, focusInEvent, this._toggleValidationMessage.bind(this, true));\r\n _events_engine.default.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 _events_engine.default.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 = (0, _renderer.default)(\"<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 = (0, _utils.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.default, {\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 || (0, _renderer.default)(\"<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, _ui.default, {\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 = (0, _renderer.default)($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 = (0, _renderer.default)(\"<div>\").addClass(SLIDER_LABEL_CLASS).appendTo(this._$wrapper)\r\n }\r\n this._$minLabel.text(_number.default.format(min, labelFormat));\r\n if (!this._$maxLabel) {\r\n this._$maxLabel = (0, _renderer.default)(\"<div>\").addClass(SLIDER_LABEL_CLASS).appendTo(this._$wrapper)\r\n }\r\n this._$maxLabel.text(_number.default.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 _this2 = this;\r\n var pointerDownEventName = (0, _index.addNamespace)(_pointer.default.down, this.NAME);\r\n var clickEventName = (0, _index.addNamespace)(_click.name, this.NAME);\r\n var startAction = this._createAction(this._startHandler.bind(this));\r\n var $element = this.$element();\r\n _events_engine.default.off($element, pointerDownEventName);\r\n _events_engine.default.on($element, pointerDownEventName, (function(e) {\r\n if ((0, _index.isMouseEvent)(e)) {\r\n startAction({\r\n event: e\r\n })\r\n }\r\n }));\r\n _events_engine.default.off($element, clickEventName);\r\n _events_engine.default.on($element, clickEventName, (function(e) {\r\n var $handle = _this2._activeHandle();\r\n if ($handle) {\r\n _events_engine.default.trigger($handle, \"focusin\");\r\n _events_engine.default.trigger($handle, \"focus\")\r\n }\r\n startAction({\r\n event: e\r\n });\r\n if (\"onHandleRelease\" === _this2.option(\"valueChangeMode\")) {\r\n _this2.option(\"value\", _this2._getActualValue());\r\n _this2._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 ((0, _index.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.Deferred;\r\n (0, _emitter.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 = (0, _size.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 (0, _size.setWidth)(this._$range, 100 * newRatio + \"%\");\r\n _ui.default.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 _this$option = this.option(),\r\n step = _this$option.step,\r\n min = _this$option.min;\r\n return Math.max((0, _math.getExponentLength)(step), (0, _math.getExponentLength)(min))\r\n },\r\n _roundToExponentLength: function(value) {\r\n var valueExponentLength = this._getValueExponentLength();\r\n return (0, _math.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 _ui.default.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 _this$option2 = this.option(),\r\n min = _this$option2.min,\r\n max = _this$option2.max;\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 = ((0, _index.eventData)(e).x - this._$bar.offset().left) / (0, _size.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((0, _common.applyServerDecimalSeparator)(value));\r\n _ui.default.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 _ui.default.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\n(0, _component_registrator.default)(\"dxSlider\", Slider);\r\nvar _default = Slider;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/slider/ui.slider_handle.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _ui = _interopRequireDefault(require(\"../widget/ui.widget\"));\r\nvar _ui2 = _interopRequireDefault(require(\"./ui.slider_tooltip\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar SLIDER_HANDLE_CLASS = \"dx-slider-handle\";\r\nvar SliderHandle = _ui.default.inherit({\r\n _getDefaultOptions: function() {\r\n return (0, _extend.extend)(this.callBase(), {\r\n hoverStateEnabled: false,\r\n value: 0,\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 })\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 _this$option = this.option(),\r\n tooltip = _this$option.tooltip,\r\n value = _this$option.value;\r\n var position = tooltip.position,\r\n format = tooltip.format,\r\n enabled = tooltip.enabled,\r\n showMode = tooltip.showMode;\r\n var $sliderTooltip = (0, _renderer.default)(\"<div>\");\r\n this._sliderTooltip = this._createComponent($sliderTooltip, _ui2.default, {\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: function(args) {\r\n var _this$_sliderTooltip;\r\n var tooltipOptions = _ui.default.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 name = args.name,\r\n value = args.value;\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\nvar _default = SliderHandle;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/slider/ui.slider_tooltip.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _tooltip = _interopRequireDefault(require(\"../tooltip\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _slider_tooltip_position_controller = require(\"./slider_tooltip_position_controller\");\r\nvar _number = _interopRequireDefault(require(\"../../localization/number\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar SLIDER_TOOLTIP_VISIBILITY_CLASS = \"dx-slider-tooltip-visible-on-hover\";\r\nvar SliderTooltip = _tooltip.default.inherit({\r\n _getDefaultOptions: function() {\r\n return (0, _extend.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: function(value) {\r\n return value\r\n },\r\n value: 0\r\n })\r\n },\r\n _initMarkup: function() {\r\n this.callBase();\r\n this._attachToMarkup(this.option(\"visible\"));\r\n this._toggleShowModeClass()\r\n },\r\n _renderContent: function() {\r\n this.callBase();\r\n this._renderContentText()\r\n },\r\n _renderContentText: function() {\r\n var _this$option = this.option(),\r\n value = _this$option.value,\r\n format = _this$option.format;\r\n var formattedText = _number.default.format(null !== value && void 0 !== value ? value : 0, format);\r\n this.$content().text(formattedText);\r\n this._renderPosition()\r\n },\r\n _toggleShowModeClass: function() {\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: function() {\r\n this._positionController = new _slider_tooltip_position_controller.SliderTooltipPositionController(this._getPositionControllerConfig())\r\n },\r\n _attachToMarkup: function(enabled) {\r\n var $sliderHandle = this.option(\"target\");\r\n enabled ? this.$element().appendTo($sliderHandle) : this.$element().detach()\r\n },\r\n _optionChanged: function(args) {\r\n var name = args.name,\r\n value = args.value;\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: function() {\r\n this._renderPosition()\r\n }\r\n});\r\nvar _default = SliderTooltip;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/sortable.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _m_sortable = _interopRequireDefault(require(\"../__internal/m_sortable\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar _default = _m_sortable.default;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/speed_dial_action.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _speed_dial_action = _interopRequireDefault(require(\"./speed_dial_action/speed_dial_action\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar _default = _speed_dial_action.default;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/speed_dial_action/repaint_floating_action_button.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _speed_dial_main_item = require(\"./speed_dial_main_item\");\r\nvar _default = _speed_dial_main_item.repaint;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/speed_dial_action/speed_dial_action.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _component_registrator = _interopRequireDefault(require(\"../../core/component_registrator\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _guid = _interopRequireDefault(require(\"../../core/guid\"));\r\nvar _ready_callbacks = _interopRequireDefault(require(\"../../core/utils/ready_callbacks\"));\r\nvar _ui = _interopRequireDefault(require(\"../widget/ui.widget\"));\r\nvar _speed_dial_main_item = require(\"./speed_dial_main_item\");\r\nvar _swatch_container = _interopRequireDefault(require(\"../widget/swatch_container\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar getSwatchContainer = _swatch_container.default.getSwatchContainer;\r\nvar ready = _ready_callbacks.default.add;\r\nvar SpeedDialAction = function(_Widget) {\r\n _inheritsLoose(SpeedDialAction, _Widget);\r\n\r\n function SpeedDialAction() {\r\n return _Widget.apply(this, arguments) || this\r\n }\r\n var _proto = SpeedDialAction.prototype;\r\n _proto._getDefaultOptions = function() {\r\n return (0, _extend.extend)(_Widget.prototype._getDefaultOptions.call(this), {\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.default\r\n })\r\n };\r\n _proto._optionChanged = function(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 (0, _speed_dial_main_item.initAction)(this);\r\n break;\r\n case \"animation\":\r\n case \"id\":\r\n break;\r\n default:\r\n _Widget.prototype._optionChanged.call(this, args)\r\n }\r\n };\r\n _proto._render = function() {\r\n var _this = this;\r\n this._toggleVisibility(false);\r\n if (!getSwatchContainer(this.$element())) {\r\n ready((function() {\r\n return (0, _speed_dial_main_item.initAction)(_this)\r\n }))\r\n } else {\r\n (0, _speed_dial_main_item.initAction)(this)\r\n }\r\n };\r\n _proto._dispose = function() {\r\n (0, _speed_dial_main_item.disposeAction)(this._options.silent(\"id\"));\r\n _Widget.prototype._dispose.call(this)\r\n };\r\n return SpeedDialAction\r\n}(_ui.default);\r\n(0, _component_registrator.default)(\"dxSpeedDialAction\", SpeedDialAction);\r\nvar _default = SpeedDialAction;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/speed_dial_action/speed_dial_item.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _index = require(\"../../events/utils/index\");\r\nvar _click = require(\"../../events/click\");\r\nvar _icon = require(\"../../core/utils/icon\");\r\nvar _ui = _interopRequireDefault(require(\"../overlay/ui.overlay\"));\r\nvar _utils = require(\"../widget/utils.ink_ripple\");\r\nvar _themes = require(\"../themes\");\r\nvar _type = require(\"../../core/utils/type\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\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\nvar SpeedDialItem = function(_Overlay) {\r\n _inheritsLoose(SpeedDialItem, _Overlay);\r\n\r\n function SpeedDialItem() {\r\n return _Overlay.apply(this, arguments) || this\r\n }\r\n var _proto = SpeedDialItem.prototype;\r\n _proto._getDefaultOptions = function() {\r\n return (0, _extend.extend)(_Overlay.prototype._getDefaultOptions.call(this), {\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 _proto._defaultOptionsRules = function() {\r\n return _Overlay.prototype._defaultOptionsRules.call(this).concat([{\r\n device: function() {\r\n return (0, _themes.isMaterial)()\r\n },\r\n options: {\r\n useInkRipple: true\r\n }\r\n }])\r\n };\r\n _proto._moveToContainer = function() {\r\n this._$wrapper.appendTo(this.$element());\r\n this._$content.appendTo(this._$wrapper)\r\n };\r\n _proto._render = function() {\r\n this.$element().addClass(FAB_CLASS);\r\n this._renderIcon();\r\n this._renderLabel();\r\n _Overlay.prototype._render.call(this);\r\n this.option(\"useInkRipple\") && this._renderInkRipple();\r\n this._renderClick()\r\n };\r\n _proto._renderLabel = function() {\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 = (0, _renderer.default)(\"<div>\").addClass(FAB_LABEL_CLASS);\r\n var $wrapper = (0, _renderer.default)(\"<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 _proto._isPositionLeft = function(position) {\r\n var currentLocation = \"\";\r\n if (position) {\r\n if ((0, _type.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 _proto._renderButtonIcon = function($element, icon, iconClass) {\r\n !!$element && $element.remove();\r\n $element = (0, _renderer.default)(\"<div>\").addClass(iconClass);\r\n var $iconElement = (0, _icon.getImageContainer)(icon);\r\n $element.append($iconElement).appendTo(this.$content());\r\n return $element\r\n };\r\n _proto._renderIcon = function() {\r\n this._$icon = this._renderButtonIcon(this._$icon, this._options.silent(\"icon\"), FAB_ICON_CLASS)\r\n };\r\n _proto._renderWrapper = function() {\r\n if (this._options.silent(\"callOverlayRenderShading\")) {\r\n _Overlay.prototype._renderWrapper.call(this)\r\n }\r\n };\r\n _proto._getVisibleActions = function(actions) {\r\n var currentActions = actions || this.option(\"actions\") || [];\r\n return currentActions.filter((function(action) {\r\n return action.option(\"visible\")\r\n }))\r\n };\r\n _proto._getActionComponent = function() {\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 _proto._initContentReadyAction = function() {\r\n this._contentReadyAction = this._getActionComponent()._createActionByOption(\"onContentReady\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n }, true)\r\n };\r\n _proto._fireContentReadyAction = function() {\r\n this._contentReadyAction({\r\n actionElement: this.$element()\r\n })\r\n };\r\n _proto._updateZIndexStackPosition = function() {\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 _proto._setClickAction = function() {\r\n var _this = this;\r\n var eventName = (0, _index.addNamespace)(_click.name, this.NAME);\r\n var overlayContent = this.$element().find(OVERLAY_CONTENT_SELECTOR);\r\n _events_engine.default.off(overlayContent, eventName);\r\n _events_engine.default.on(overlayContent, eventName, (function(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 _proto._defaultActionArgs = function() {\r\n return {\r\n component: this._getActionComponent()\r\n }\r\n };\r\n _proto._renderClick = function() {\r\n this._clickAction = this._getActionComponent()._createActionByOption(\"onClick\");\r\n this._setClickAction()\r\n };\r\n _proto._renderInkRipple = function() {\r\n this._inkRipple = (0, _utils.render)()\r\n };\r\n _proto._getInkRippleContainer = function() {\r\n return this._$icon\r\n };\r\n _proto._toggleActiveState = function($element, value, e) {\r\n _Overlay.prototype._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 _proto._optionChanged = function(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 _Overlay.prototype._optionChanged.call(this, args)\r\n }\r\n };\r\n return SpeedDialItem\r\n}(_ui.default);\r\nvar _default = SpeedDialItem;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/speed_dial_action/speed_dial_main_item.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.disposeAction = disposeAction;\r\nexports.initAction = initAction;\r\nexports.repaint = repaint;\r\nvar _size = require(\"../../core/utils/size\");\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _config = _interopRequireDefault(require(\"../../core/config\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _ui = _interopRequireDefault(require(\"../widget/ui.errors\"));\r\nvar _swatch_container = _interopRequireDefault(require(\"../widget/swatch_container\"));\r\nvar _speed_dial_item = _interopRequireDefault(require(\"./speed_dial_item\"));\r\nvar _themes = require(\"../themes\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar getSwatchContainer = _swatch_container.default.getSwatchContainer;\r\nvar FAB_MAIN_CLASS = \"dx-fa-button-main\";\r\nvar FAB_MAIN_CLASS_WITH_LABEL = \"dx-fa-button-with-label\";\r\nvar FAB_MAIN_CLASS_WITHOUT_ICON = \"dx-fa-button-without-icon\";\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 = function(action) {\r\n var _action$option = action.option(),\r\n animation = _action$option.animation,\r\n actionComponent = _action$option.actionComponent,\r\n actionVisible = _action$option.actionVisible,\r\n actions = _action$option.actions,\r\n activeStateEnabled = _action$option.activeStateEnabled,\r\n direction = _action$option.direction,\r\n elementAttr = _action$option.elementAttr,\r\n hint = _action$option.hint,\r\n hoverStateEnabled = _action$option.hoverStateEnabled,\r\n icon = _action$option.icon,\r\n id = _action$option.id,\r\n index = _action$option.index,\r\n label = _action$option.label,\r\n onClick = _action$option.onClick,\r\n onContentReady = _action$option.onContentReady,\r\n parentPosition = _action$option.parentPosition,\r\n position = _action$option.position,\r\n visible = _action$option.visible,\r\n zIndex = _action$option.zIndex;\r\n return (0, _extend.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\nvar SpeedDialMainItem = function(_SpeedDialItem) {\r\n _inheritsLoose(SpeedDialMainItem, _SpeedDialItem);\r\n\r\n function SpeedDialMainItem() {\r\n return _SpeedDialItem.apply(this, arguments) || this\r\n }\r\n var _proto = SpeedDialMainItem.prototype;\r\n _proto._getDefaultOptions = function() {\r\n var defaultOptions = {\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: (0, _themes.isCompact)() ? 49 : 55,\r\n childIndent: 40,\r\n childOffset: (0, _themes.isCompact)() ? 2 : 9,\r\n callOverlayRenderShading: true,\r\n hideOnOutsideClick: true\r\n };\r\n return (0, _extend.extend)(_SpeedDialItem.prototype._getDefaultOptions.call(this), (0, _extend.extend)(defaultOptions, (0, _config.default)().floatingActionButtonConfig, {\r\n shading: false\r\n }))\r\n };\r\n _proto._defaultOptionsRules = function() {\r\n return _SpeedDialItem.prototype._defaultOptionsRules.call(this).concat([{\r\n device: function() {\r\n return (0, _themes.isMaterial)() && !(0, _themes.isCompact)()\r\n },\r\n options: {\r\n indent: 72,\r\n childIndent: 56,\r\n childOffset: 8\r\n }\r\n }, {\r\n device: function() {\r\n return (0, _themes.isMaterial)() && (0, _themes.isCompact)()\r\n },\r\n options: {\r\n indent: 58,\r\n childIndent: 48,\r\n childOffset: 1\r\n }\r\n }])\r\n };\r\n _proto._render = function() {\r\n this.$element().addClass(FAB_MAIN_CLASS);\r\n _SpeedDialItem.prototype._render.call(this);\r\n this._moveToContainer();\r\n this._renderCloseIcon();\r\n this._renderClick()\r\n };\r\n _proto._renderLabel = function() {\r\n _SpeedDialItem.prototype._renderLabel.call(this);\r\n this.$element().toggleClass(FAB_MAIN_CLASS_WITH_LABEL, !!this._$label)\r\n };\r\n _proto._renderIcon = function() {\r\n _SpeedDialItem.prototype._renderIcon.call(this);\r\n this.$element().toggleClass(FAB_MAIN_CLASS_WITHOUT_ICON, !this.option(\"icon\"))\r\n };\r\n _proto._renderCloseIcon = function() {\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 _proto._renderClick = function() {\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 _proto._getVisibleActions = function(actions) {\r\n var currentActions = actions || this.option(\"actions\");\r\n return currentActions.filter((function(action) {\r\n return action.option(\"visible\")\r\n }))\r\n };\r\n _proto._getCurrentOptions = function(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 ? (0, _extend.extend)(modifyActionOptions(visibleActions[0]), {\r\n position: this._getPosition()\r\n }) : (0, _extend.extend)(defaultOptions, {\r\n visible: 0 !== visibleActions.length\r\n })\r\n };\r\n _proto._clickHandler = function() {\r\n var actions = this._actionItems.filter((function(action) {\r\n return action.option(\"actionVisible\")\r\n })).sort((function(action, nextAction) {\r\n return action.option(\"index\") - nextAction.option(\"index\")\r\n }));\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 ((0, _config.default)().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 _proto._updateZIndexStackPosition = function() {\r\n _SpeedDialItem.prototype._updateZIndexStackPosition.call(this);\r\n var overlayStack = this._overlayStack();\r\n overlayStack.push(this)\r\n };\r\n _proto._renderActions = function() {\r\n var _this = this;\r\n var actions = this.option(\"actions\");\r\n if (this._actionItems && this._actionItems.length) {\r\n this._actionItems.forEach((function(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 = (0, _renderer.default)(\"<div>\").appendTo(getSwatchContainer(action.$element()));\r\n _events_engine.default.off($actionElement, \"click\");\r\n _events_engine.default.on($actionElement, \"click\", (function() {\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, _speed_dial_item.default, (0, _extend.extend)({}, modifyActionOptions(action), {\r\n visible: false\r\n })))\r\n }\r\n };\r\n _proto._getActionAnimation = function(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 _proto._getDirectionIndex = function(actions, direction) {\r\n if (\"auto\" === direction) {\r\n var contentHeight = (0, _size.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 = (0, _size.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 _proto._getActionPosition = function(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 _proto._outsideClickHandler = function(e) {\r\n if (this._isShadingShown) {\r\n var isShadingClick = (0, _renderer.default)(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 _proto._setPosition = function() {\r\n if (this.option(\"visible\")) {\r\n this._hide();\r\n this._show()\r\n }\r\n };\r\n _proto._getPosition = function() {\r\n return this._getDefaultOptions().position\r\n };\r\n _proto._getInkRippleContainer = function() {\r\n return this.$content()\r\n };\r\n _proto._optionChanged = function(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 _SpeedDialItem.prototype._optionChanged.call(this, 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 _SpeedDialItem.prototype._optionChanged.call(this, args)\r\n }\r\n };\r\n return SpeedDialMainItem\r\n}(_speed_dial_item.default);\r\n\r\nfunction initAction(newAction) {\r\n newAction._options.silent(\"onInitializing\", null);\r\n var isActionExist = false;\r\n if (!speedDialMainItem) {\r\n var $fabMainElement = (0, _renderer.default)(\"<div>\").appendTo(getSwatchContainer(newAction.$element()));\r\n speedDialMainItem = newAction._createComponent($fabMainElement, SpeedDialMainItem, (0, _extend.extend)({}, modifyActionOptions(newAction), {\r\n actions: [newAction]\r\n }))\r\n } else {\r\n var savedActions = speedDialMainItem.option(\"actions\");\r\n savedActions.forEach((function(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 _ui.default.log(\"W1014\");\r\n return\r\n }\r\n savedActions.push(newAction);\r\n speedDialMainItem.option((0, _extend.extend)(speedDialMainItem._getCurrentOptions(savedActions), {\r\n actions: savedActions\r\n }))\r\n } else if (1 === savedActions.length) {\r\n speedDialMainItem.option((0, _extend.extend)({}, modifyActionOptions(savedActions[0]), {\r\n actions: savedActions,\r\n position: speedDialMainItem._getPosition()\r\n }))\r\n } else {\r\n speedDialMainItem.option((0, _extend.extend)(speedDialMainItem._getCurrentOptions(savedActions), {\r\n actions: savedActions\r\n }))\r\n }\r\n }\r\n}\r\n\r\nfunction 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((function(action) {\r\n return action._options.silent(\"id\") !== actionId\r\n }));\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((0, _extend.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\n\r\nfunction 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 (cjs/ui/splitter.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../core/renderer\"));\r\nvar _ui = _interopRequireDefault(require(\"./widget/ui.widget\"));\r\nvar _dom_adapter = _interopRequireDefault(require(\"../core/dom_adapter\"));\r\nvar _events_engine = _interopRequireDefault(require(\"../events/core/events_engine\"));\r\nvar _pointer = _interopRequireDefault(require(\"../events/pointer\"));\r\nvar _window = require(\"../core/utils/window\");\r\nvar _index = require(\"../events/utils/index\");\r\nvar _guid = _interopRequireDefault(require(\"../core/guid\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar window = (0, _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\nvar SplitterControl = function(_Widget) {\r\n _inheritsLoose(SplitterControl, _Widget);\r\n\r\n function SplitterControl() {\r\n return _Widget.apply(this, arguments) || this\r\n }\r\n var _proto = SplitterControl.prototype;\r\n _proto._init = function() {\r\n _Widget.prototype._init.call(this);\r\n var eventGuid = (new _guid.default).toString();\r\n this.SPLITTER_POINTER_DOWN_EVENT_NAME = (0, _index.addNamespace)(_pointer.default.down, SPLITTER_MODULE_NAMESPACE + eventGuid);\r\n this.SPLITTER_POINTER_MOVE_EVENT_NAME = (0, _index.addNamespace)(_pointer.default.move, SPLITTER_MODULE_NAMESPACE + eventGuid);\r\n this.SPLITTER_POINTER_UP_EVENT_NAME = (0, _index.addNamespace)(_pointer.default.up, SPLITTER_MODULE_NAMESPACE + eventGuid)\r\n };\r\n _proto._initMarkup = function() {\r\n _Widget.prototype._initMarkup.call(this);\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 = (0, _renderer.default)(\"<div>\").addClass(SPLITTER_BORDER_CLASS).appendTo(this.$element());\r\n this._$splitter = (0, _renderer.default)(\"<div>\").addClass(SPLITTER_CLASS).addClass(SPLITTER_INACTIVE_CLASS).appendTo(this._$splitterBorder)\r\n };\r\n _proto._initActions = function() {\r\n this._actions = {\r\n onApplyPanelSize: this._createActionByOption(\"onApplyPanelSize\"),\r\n onActiveStateChanged: this._createActionByOption(\"onActiveStateChanged\")\r\n }\r\n };\r\n _proto._render = function() {\r\n _Widget.prototype._render.call(this);\r\n this._detachEventHandlers();\r\n this._attachEventHandlers()\r\n };\r\n _proto._clean = function() {\r\n this._detachEventHandlers();\r\n _Widget.prototype._clean.call(this)\r\n };\r\n _proto._attachEventHandlers = function() {\r\n var document = _dom_adapter.default.getDocument();\r\n _events_engine.default.on(this._$splitterBorder, this.SPLITTER_POINTER_DOWN_EVENT_NAME, this._onMouseDownHandler.bind(this));\r\n _events_engine.default.on(document, this.SPLITTER_POINTER_MOVE_EVENT_NAME, this._onMouseMoveHandler.bind(this));\r\n _events_engine.default.on(document, this.SPLITTER_POINTER_UP_EVENT_NAME, this._onMouseUpHandler.bind(this))\r\n };\r\n _proto._detachEventHandlers = function() {\r\n var document = _dom_adapter.default.getDocument();\r\n _events_engine.default.off(this._$splitterBorder, this.SPLITTER_POINTER_DOWN_EVENT_NAME);\r\n _events_engine.default.off(document, this.SPLITTER_POINTER_MOVE_EVENT_NAME);\r\n _events_engine.default.off(document, this.SPLITTER_POINTER_UP_EVENT_NAME)\r\n };\r\n _proto._dimensionChanged = function(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 _proto._onMouseDownHandler = function(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 _proto._onMouseMoveHandler = function(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 _proto._onMouseUpHandler = function() {\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 _proto._getNewSplitterPositionLeft = function(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 _proto._getContainerLeftOffset = function() {\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 _proto._getSplitterOffset = function() {\r\n return (this._getSplitterBorderWidth() - this._getSplitterWidth()) / 2\r\n };\r\n _proto._getSplitterWidth = function() {\r\n return this._$splitter.get(0).clientWidth\r\n };\r\n _proto._getSplitterBorderWidth = function() {\r\n return this._$splitterBorder.get(0).clientWidth\r\n };\r\n _proto._getLeftPanelWidth = function() {\r\n return this._$leftElement.get(0).clientWidth\r\n };\r\n _proto.getSplitterBorderElement = function() {\r\n return this._$splitterBorder\r\n };\r\n _proto._toggleActive = function(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 _proto.toggleDisabled = function(isDisabled) {\r\n this.$element().toggleClass(STATE_DISABLED_CLASS, isDisabled);\r\n this._$splitter.toggleClass(STATE_DISABLED_CLASS, isDisabled)\r\n };\r\n _proto.isSplitterMoved = function() {\r\n return !this.$element().hasClass(SPLITTER_INITIAL_STATE_CLASS)\r\n };\r\n _proto.disableSplitterCalculation = function(value) {\r\n this._isSplitterCalculationDisabled = value\r\n };\r\n _proto._setSplitterPositionLeft = function() {\r\n var _ref = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {},\r\n _ref$splitterPosition = _ref.splitterPositionLeft,\r\n splitterPositionLeft = void 0 === _ref$splitterPosition ? null : _ref$splitterPosition,\r\n _ref$needUpdatePanels = _ref.needUpdatePanels,\r\n needUpdatePanels = void 0 === _ref$needUpdatePanels ? false : _ref$needUpdatePanels,\r\n _ref$usePercentagePan = _ref.usePercentagePanelsWidth,\r\n usePercentagePanelsWidth = void 0 === _ref$usePercentagePan ? false : _ref$usePercentagePan;\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 _proto._optionChanged = function(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 _Widget.prototype._optionChanged.call(this, args)\r\n }\r\n };\r\n _proto._convertToPercentage = function(pixelWidth) {\r\n return pixelWidth / this._$container.get(0).clientWidth * 100\r\n };\r\n _proto._convertToPixels = function(percentageWidth) {\r\n return percentageWidth / 100 * this._$container.get(0).clientWidth\r\n };\r\n return SplitterControl\r\n}(_ui.default);\r\nexports.default = SplitterControl;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/switch.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _size = require(\"../core/utils/size\");\r\nvar _renderer = _interopRequireDefault(require(\"../core/renderer\"));\r\nvar _events_engine = _interopRequireDefault(require(\"../events/core/events_engine\"));\r\nvar _devices = _interopRequireDefault(require(\"../core/devices\"));\r\nvar _extend = require(\"../core/utils/extend\");\r\nvar _component_registrator = _interopRequireDefault(require(\"../core/component_registrator\"));\r\nvar _editor = _interopRequireDefault(require(\"./editor/editor\"));\r\nvar _index = require(\"../events/utils/index\");\r\nvar _emitter = require(\"../events/core/emitter.feedback\");\r\nvar _position = require(\"../core/utils/position\");\r\nvar _fx = _interopRequireDefault(require(\"../animation/fx\"));\r\nvar _message = _interopRequireDefault(require(\"../localization/message\"));\r\nvar _click = require(\"../events/click\");\r\nvar _swipeable = _interopRequireDefault(require(\"../events/gesture/swipeable\"));\r\nvar _deferred = require(\"../core/utils/deferred\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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.default.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 (0, _extend.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 (0, _extend.extend)(this.callBase(), {\r\n hoverStateEnabled: true,\r\n activeStateEnabled: true,\r\n switchedOnText: _message.default.format(\"dxSwitch-switchedOnText\"),\r\n switchedOffText: _message.default.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.default.real().deviceType && !_devices.default.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 = (0, _renderer.default)(\"<div>\").addClass(SWITCH_INNER_CLASS).appendTo(this._$switchContainer);\r\n this._$handle = (0, _renderer.default)(\"<div>\").addClass(SWITCH_HANDLE_CLASS).appendTo(this._$switchInner)\r\n },\r\n _renderLabels: function() {\r\n this._$labelOn = (0, _renderer.default)(\"<div>\").addClass(SWITCH_ON_CLASS).prependTo(this._$switchInner);\r\n this._$labelOff = (0, _renderer.default)(\"<div>\").addClass(SWITCH_OFF_CLASS).appendTo(this._$switchInner);\r\n this._setLabelsText()\r\n },\r\n _renderContainers: function() {\r\n this._$switchContainer = (0, _renderer.default)(\"<div>\").addClass(SWITCH_CONTAINER_CLASS);\r\n this._$switchWrapper = (0, _renderer.default)(\"<div>\").addClass(SWITCH_WRAPPER_CLASS).append(this._$switchContainer)\r\n },\r\n _renderSwipeable: function() {\r\n this._createComponent(this.$element(), _swipeable.default, {\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 (0, _size.getOuterWidth)(this._$switchContainer, true) - (0, _position.getBoundingRect)(this._$handle.get(0)).width\r\n },\r\n _renderSubmitElement: function() {\r\n this._$submitElement = (0, _renderer.default)(\"<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 = (0, _index.addNamespace)(_click.name, this.NAME);\r\n var $element = this.$element();\r\n this._clickAction = this._createAction(this._clickHandler.bind(this));\r\n _events_engine.default.off($element, eventName);\r\n _events_engine.default.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.default.animate(this._$handle, {\r\n from: fromHandleConfig,\r\n to: toHandlerConfig,\r\n duration: SWITCH_ANIMATION_DURATION\r\n });\r\n _fx.default.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.Deferred;\r\n (0, _emitter.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.default.animate(this._$handle, {\r\n to: toHandleConfig,\r\n duration: SWITCH_ANIMATION_DURATION\r\n });\r\n _fx.default.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\n(0, _component_registrator.default)(\"dxSwitch\", Switch);\r\nvar _default = Switch;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/tab_panel.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _size = require(\"../core/utils/size\");\r\nvar _renderer = _interopRequireDefault(require(\"../core/renderer\"));\r\nvar _support = require(\"../core/utils/support\");\r\nvar _extend = require(\"../core/utils/extend\");\r\nvar _devices = _interopRequireDefault(require(\"../core/devices\"));\r\nvar _dom_adapter = _interopRequireDefault(require(\"../core/dom_adapter\"));\r\nvar _component_registrator = _interopRequireDefault(require(\"../core/component_registrator\"));\r\nvar _multi_view = _interopRequireDefault(require(\"./multi_view\"));\r\nvar _tabs = _interopRequireDefault(require(\"./tabs\"));\r\nvar _item = _interopRequireDefault(require(\"./tab_panel/item\"));\r\nvar _icon = require(\"../core/utils/icon\");\r\nvar _element = require(\"../core/element\");\r\nvar _type = require(\"../core/utils/type\");\r\nvar _bindable_template = require(\"../core/templates/bindable_template\");\r\nvar _window = require(\"../core/utils/window\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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 DISABLED_FOCUSED_TAB_CLASS = \"dx-disabled-focused-tab\";\r\nvar TabPanel = _multi_view.default.inherit({\r\n _getDefaultOptions: function() {\r\n return (0, _extend.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.default.real().deviceType && !_devices.default.isSimulator()\r\n },\r\n options: {\r\n focusStateEnabled: true\r\n }\r\n }, {\r\n device: function() {\r\n return !_support.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 _bindable_template.BindableTemplate((function($container, data) {\r\n if ((0, _type.isPlainObject)(data)) {\r\n var $iconElement = (0, _icon.getImageContainer)(data.icon);\r\n if ($iconElement) {\r\n $container.append($iconElement)\r\n }\r\n if ((0, _type.isDefined)(data.title) && !(0, _type.isPlainObject)(data.title)) {\r\n $container.append(_dom_adapter.default.createTextNode(data.title))\r\n }\r\n } else if ((0, _type.isDefined)(data)) {\r\n $container.text(String(data))\r\n }\r\n $container.wrapInner((0, _renderer.default)(\"<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 = (0, _renderer.default)(\"<div>\").addClass(TABPANEL_TABS_CLASS).appendTo($element);\r\n var $tabs = (0, _renderer.default)(\"<div>\").appendTo(this._$tabContainer);\r\n this._tabs = this._createComponent($tabs, _tabs.default, this._tabConfig());\r\n this._$container = (0, _renderer.default)(\"<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 ((0, _window.hasWindow)()) {\r\n var tabsHeight = (0, _size.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 = (0, _renderer.default)(tabItems[tabs.option(\"selectedIndex\")]);\r\n var id = this.getFocusedItemId();\r\n this.setAria(\"controls\", void 0, (0, _renderer.default)(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 = (0, _renderer.default)(args.value);\r\n var $newItem = this._itemElements().eq($value.index());\r\n this.option(\"focusedElement\", (0, _element.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 _toggleWrapperFocusedClass: function(isFocused) {\r\n this._toggleFocusClass(isFocused, this._$wrapper)\r\n },\r\n _toggleDisabledFocusedClass: function(isFocused) {\r\n this._focusTarget().toggleClass(DISABLED_FOCUSED_TAB_CLASS, isFocused)\r\n },\r\n _updateFocusState: function(e, isFocused) {\r\n this.callBase(e, isFocused);\r\n var isTabsTarget = e.target === this._tabs._focusTarget().get(0);\r\n var isMultiViewTarget = e.target === this._focusTarget().get(0);\r\n if (isTabsTarget) {\r\n this._toggleFocusClass(isFocused, this._focusTarget())\r\n }\r\n if (isTabsTarget || isMultiViewTarget) {\r\n var isDisabled = this._isDisabled(this.option(\"focusedElement\"));\r\n this._toggleWrapperFocusedClass(isFocused && !isDisabled);\r\n this._toggleDisabledFocusedClass(isFocused && isDisabled)\r\n }\r\n if (isMultiViewTarget) {\r\n this._toggleFocusClass(isFocused, this._tabs.option(\"focusedElement\"))\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\", (0, _element.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 ? (0, _renderer.default)(value).index() : value;\r\n var newItem = value ? this._tabs._itemElements().eq(id) : value;\r\n this._setTabsOption(\"focusedElement\", (0, _element.getPublicElement)(newItem));\r\n var isDisabled = this._isDisabled(value);\r\n this._toggleWrapperFocusedClass(!isDisabled);\r\n this._toggleDisabledFocusedClass(isDisabled);\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 = _item.default;\r\n(0, _component_registrator.default)(\"dxTabPanel\", TabPanel);\r\nvar _default = TabPanel;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/tab_panel/item.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _item = _interopRequireDefault(require(\"../collection/item\"));\r\nvar _common = require(\"../../core/utils/common\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar TabPanelItem = function(_CollectionWidgetItem) {\r\n _inheritsLoose(TabPanelItem, _CollectionWidgetItem);\r\n\r\n function TabPanelItem() {\r\n return _CollectionWidgetItem.apply(this, arguments) || this\r\n }\r\n var _proto = TabPanelItem.prototype;\r\n _proto._renderWatchers = function() {\r\n this._startWatcher(\"badge\", _common.noop);\r\n return _CollectionWidgetItem.prototype._renderWatchers.call(this)\r\n };\r\n return TabPanelItem\r\n}(_item.default);\r\nexports.default = TabPanelItem;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/tabs.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _size = require(\"../core/utils/size\");\r\nvar _renderer = _interopRequireDefault(require(\"../core/renderer\"));\r\nvar _events_engine = _interopRequireDefault(require(\"../events/core/events_engine\"));\r\nvar _devices = _interopRequireDefault(require(\"../core/devices\"));\r\nvar _component_registrator = _interopRequireDefault(require(\"../core/component_registrator\"));\r\nvar _button = _interopRequireDefault(require(\"./button\"));\r\nvar _utils = require(\"./widget/utils.ink_ripple\");\r\nvar _index = require(\"../events/utils/index\");\r\nvar _extend = require(\"../core/utils/extend\");\r\nvar _type = require(\"../core/utils/type\");\r\nvar _pointer = _interopRequireDefault(require(\"../events/pointer\"));\r\nvar _iterator = require(\"../core/utils/iterator\");\r\nvar _item = _interopRequireDefault(require(\"./tabs/item\"));\r\nvar _constants = require(\"./tabs/constants\");\r\nvar _themes = require(\"./themes\");\r\nvar _hold = _interopRequireDefault(require(\"../events/hold\"));\r\nvar _ui = _interopRequireDefault(require(\"./scroll_view/ui.scrollable\"));\r\nvar _uiCollection_widget = _interopRequireDefault(require(\"./collection/ui.collection_widget.live_update\"));\r\nvar _icon = require(\"../core/utils/icon\");\r\nvar _bindable_template = require(\"../core/templates/bindable_template\");\r\nvar _deferred = require(\"../core/utils/deferred\");\r\nvar _get_boundary_props = require(\"../renovation/ui/scroll_view/utils/get_boundary_props\");\r\nvar _get_scroll_left_max = require(\"../renovation/ui/scroll_view/utils/get_scroll_left_max\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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 FOCUSED_NEXT_TAB_CLASS = \"dx-focused-next-tab\";\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 = _uiCollection_widget.default.inherit({\r\n _activeStateUnit: \".\" + TABS_ITEM_CLASS,\r\n _getDefaultOptions: function() {\r\n return (0, _extend.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 = (0, _themes.current)();\r\n return this.callBase().concat([{\r\n device: function() {\r\n return \"desktop\" !== _devices.default.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.default.real().deviceType && !_devices.default.isSimulator()\r\n },\r\n options: {\r\n focusStateEnabled: true\r\n }\r\n }, {\r\n device: function() {\r\n return (0, _themes.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 _bindable_template.BindableTemplate(function($container, data) {\r\n if ((0, _type.isPlainObject)(data)) {\r\n this._prepareDefaultItemTemplate(data, $container)\r\n } else {\r\n $container.text(String(data))\r\n }\r\n var $iconElement = (0, _icon.getImageContainer)(data.icon);\r\n $iconElement && $iconElement.prependTo($container);\r\n $container.wrapInner((0, _renderer.default)(\"<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 _this = this;\r\n var itemData = renderArgs.itemData,\r\n container = renderArgs.container,\r\n index = renderArgs.index;\r\n this._deferredTemplates[index] = new _deferred.Deferred;\r\n return itemTemplate.render({\r\n model: itemData,\r\n container: container,\r\n index: index,\r\n onRendered: function() {\r\n return _this._deferredTemplates[index].resolve()\r\n }\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: function() {\r\n var _this2 = this;\r\n _deferred.when.apply(this, this._deferredTemplates).done((function() {\r\n return _this2._renderScrolling()\r\n }))\r\n },\r\n _renderScrolling: function() {\r\n var removeClasses = [TABS_STRETCHED_CLASS, _constants.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 = (0, _get_scroll_left_max.getScrollLeftMax)((0, _renderer.default)(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(_constants.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 > (0, _size.getWidth)(this.$element())\r\n },\r\n _needStretchItems: function() {\r\n var $visibleItems = this._getVisibleItems();\r\n var elementWidth = (0, _size.getWidth)(this.$element());\r\n var itemsWidth = [];\r\n (0, _iterator.each)($visibleItems, (function(_, item) {\r\n itemsWidth.push((0, _size.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 = (0, _utils.render)()\r\n },\r\n _getPointerEvent: function() {\r\n return _pointer.default.up\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 = (0, _renderer.default)(\"<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 _this3 = this;\r\n var $itemContainer = this.$element().wrapInner((0, _renderer.default)(\"<div>\").addClass(TABS_SCROLLABLE_CLASS)).children();\r\n this._scrollable = this._createComponent($itemContainer, _ui.default, {\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: function() {\r\n _this3._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\", (0, _get_boundary_props.isReachedLeft)(scrollable.scrollLeft(), 1));\r\n this._rightButton && this._rightButton.option(\"disabled\", (0, _get_boundary_props.isReachedRight)((0, _renderer.default)(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 = (0, _index.addNamespace)(_hold.default.name, \"dxNavButton\");\r\n var pointerUpEventName = (0, _index.addNamespace)(_pointer.default.up, \"dxNavButton\");\r\n var pointerOutEventName = (0, _index.addNamespace)(_pointer.default.out, \"dxNavButton\");\r\n var navButton = this._createComponent((0, _renderer.default)(\"<div>\").addClass(TABS_NAV_BUTTON_CLASS), _button.default, {\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 _events_engine.default.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 _events_engine.default.on($navButton, pointerUpEventName, (function() {\r\n that._clearInterval()\r\n }));\r\n _events_engine.default.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 _toggleFocusedNextClass: function(index, isNextTabFocused) {\r\n this._itemElements().eq(index).toggleClass(FOCUSED_NEXT_TAB_CLASS, isNextTabFocused)\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 \"focusedElement\":\r\n var _this$option = this.option(),\r\n selectedIndex = _this$option.selectedIndex;\r\n var currentIndex = (0, _renderer.default)(args.value).index();\r\n if (currentIndex !== selectedIndex) {\r\n this._toggleFocusedNextClass(selectedIndex, currentIndex === selectedIndex + 1)\r\n }\r\n this.callBase(args);\r\n this._scrollToItem(args.value);\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _afterItemElementInserted: function() {\r\n this.callBase();\r\n this._deferRenderScrolling()\r\n },\r\n _afterItemElementDeleted: function($item, deletedActionArgs) {\r\n this.callBase($item, deletedActionArgs);\r\n this._renderScrolling()\r\n },\r\n getScrollable: function() {\r\n return this._scrollable\r\n }\r\n});\r\nTabs.ItemClass = _item.default;\r\n(0, _component_registrator.default)(\"dxTabs\", Tabs);\r\nvar _default = Tabs;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/tabs/constants.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.TABS_EXPANDED_CLASS = void 0;\r\nvar TABS_EXPANDED_CLASS = \"dx-tabs-expanded\";\r\nexports.TABS_EXPANDED_CLASS = TABS_EXPANDED_CLASS;\r\n","/**\r\n * DevExtreme (cjs/ui/tabs/item.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _item = _interopRequireDefault(require(\"../collection/item\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar TABS_ITEM_BADGE_CLASS = \"dx-tabs-item-badge\";\r\nvar BADGE_CLASS = \"dx-badge\";\r\nvar TabsItem = _item.default.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 = (0, _renderer.default)(\"<div>\").addClass(TABS_ITEM_BADGE_CLASS).addClass(BADGE_CLASS).text(badge);\r\n this._$element.append($badge)\r\n }\r\n});\r\nvar _default = TabsItem;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/tag_box.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _size = require(\"../core/utils/size\");\r\nvar _renderer = _interopRequireDefault(require(\"../core/renderer\"));\r\nvar _devices = _interopRequireDefault(require(\"../core/devices\"));\r\nvar _element_data = require(\"../core/element_data\");\r\nvar _events_engine = _interopRequireDefault(require(\"../events/core/events_engine\"));\r\nvar _component_registrator = _interopRequireDefault(require(\"../core/component_registrator\"));\r\nvar _common = require(\"../core/utils/common\");\r\nvar _selection_filter = require(\"../core/utils/selection_filter\");\r\nvar _deferred = require(\"../core/utils/deferred\");\r\nvar _dom = require(\"../core/utils/dom\");\r\nvar _element = require(\"../core/element\");\r\nvar _type = require(\"../core/utils/type\");\r\nvar _window = require(\"../core/utils/window\");\r\nvar _extend = require(\"../core/utils/extend\");\r\nvar _iterator = require(\"../core/utils/iterator\");\r\nvar _array = require(\"../core/utils/array\");\r\nvar _message = _interopRequireDefault(require(\"../localization/message\"));\r\nvar _index = require(\"../events/utils/index\");\r\nvar _click = require(\"../events/click\");\r\nvar _utils = _interopRequireDefault(require(\"./text_box/utils.caret\"));\r\nvar _utils2 = require(\"../data/data_source/utils\");\r\nvar _guid = _interopRequireDefault(require(\"../core/guid\"));\r\nvar _select_box = _interopRequireDefault(require(\"./select_box\"));\r\nvar _bindable_template = require(\"../core/templates/bindable_template\");\r\nvar _utils3 = require(\"./text_box/utils.scroll\");\r\nvar _ui = _interopRequireDefault(require(\"./widget/ui.errors\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\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 = _select_box.default.inherit({\r\n _supportedKeys: function() {\r\n var _this = this;\r\n var parent = this.callBase();\r\n var sendToList = function(options) {\r\n return _this._list._keyboardHandler(options)\r\n };\r\n var rtlEnabled = this.option(\"rtlEnabled\");\r\n return (0, _extend.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: function(e, opts) {\r\n return e.altKey || !_this._list ? parent.upArrow.call(_this, e) : sendToList(opts)\r\n },\r\n downArrow: function(e, opts) {\r\n return e.altKey || !_this._list ? parent.downArrow.call(_this, e) : sendToList(opts)\r\n },\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 = (0, _utils.default)(this._input());\r\n return 0 === position.start && 0 === position.end\r\n },\r\n _updateInputAriaActiveDescendant: function(id) {\r\n this.setAria(\"activedescendant\", id, this._input())\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 this._updateInputAriaActiveDescendant(this._$focusedTag.attr(\"id\"));\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 this._updateInputAriaActiveDescendant($nextFocusedTag.attr(\"id\"))\r\n } else if (clearOnBoundary || \"next\" === direction && this._isEditable()) {\r\n this._clearTagFocus();\r\n this._updateInputAriaActiveDescendant()\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 this._updateInputAriaActiveDescendant();\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 _getFieldElement: function() {\r\n return this._input()\r\n },\r\n _scrollContainer: function(direction) {\r\n if (this.option(\"multiline\") || !(0, _window.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 - (0, _size.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 _this$_$focusedTag$po = this._$focusedTag.position(),\r\n scrollOffset = _this$_$focusedTag$po.left;\r\n var scrollLeft = this._$tagsContainer.scrollLeft();\r\n if (isScrollLeft) {\r\n scrollOffset += (0, _size.getOuterWidth)(this._$focusedTag, true) - (0, _size.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: _common.noop,\r\n _getDefaultOptions: function() {\r\n return (0, _extend.extend)(this.callBase(), {\r\n value: [],\r\n showDropDownButton: false,\r\n maxFilterQueryLength: 1500,\r\n tagTemplate: \"tag\",\r\n selectAllText: _message.default.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 _this$_getValue = this._getValue(),\r\n selectedCount = _this$_getValue.length;\r\n if (!this.option(\"showMultiTagOnly\")) {\r\n args.text = _message.default.getFormatter(\"dxTagBox-moreSelected\")(selectedCount - this.option(\"maxDisplayedTags\") + 1)\r\n } else {\r\n args.text = _message.default.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 _bindable_template.BindableTemplate((function($container, data) {\r\n var _data$text;\r\n var $tagContent = (0, _renderer.default)(\"<div>\").addClass(TAGBOX_TAG_CONTENT_CLASS);\r\n (0, _renderer.default)(\"<span>\").text(null !== (_data$text = data.text) && void 0 !== _data$text ? _data$text : data).appendTo($tagContent);\r\n (0, _renderer.default)(\"<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 = (0, _renderer.default)(\"<select>\").attr({\r\n multiple: \"multiple\",\r\n \"aria-label\": \"Selected items\"\r\n }).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((0, _renderer.default)(\"<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 = (0, _renderer.default)();\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.setAria({\r\n role: \"group\",\r\n roledescription: \"tagbox\"\r\n }, this.$element());\r\n this._initTagTemplate();\r\n this.callBase()\r\n },\r\n _getNewLabelId: function(actualId, newId, shouldRemove) {\r\n if (!actualId) {\r\n return newId\r\n }\r\n if (shouldRemove) {\r\n if (actualId === newId) {\r\n return\r\n }\r\n return actualId.split(\" \").filter((function(id) {\r\n return id !== newId\r\n })).join(\" \")\r\n }\r\n return \"\".concat(actualId, \" \").concat(newId)\r\n },\r\n _updateElementAria: function(id, shouldRemove) {\r\n var shouldClearLabel = !id;\r\n if (shouldClearLabel) {\r\n this.setAria(\"labelledby\", void 0, this.$element());\r\n return\r\n }\r\n var labelId = this.$element().attr(\"aria-labelledby\");\r\n var newLabelId = this._getNewLabelId(labelId, id, shouldRemove);\r\n this.setAria(\"labelledby\", newLabelId, this.$element())\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 = !(0, _type.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 = (0, _index.addNamespace)(_click.name, \"dxTagBoxTagRemove\");\r\n _events_engine.default.off(this._$tagsContainer, eventName);\r\n _events_engine.default.on(this._$tagsContainer, eventName, \".\".concat(TAGBOX_TAG_REMOVE_BUTTON_CLASS), (function(event) {\r\n tagRemoveAction({\r\n event: event\r\n })\r\n }))\r\n },\r\n _renderSingleLineScroll: function() {\r\n var mouseWheelEvent = (0, _index.addNamespace)(\"dxmousewheel\", this.NAME);\r\n var $element = this.$element();\r\n var isMultiline = this.option(\"multiline\");\r\n _events_engine.default.off($element, mouseWheelEvent);\r\n if (\"desktop\" !== _devices.default.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 _events_engine.default.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 (!(0, _index.isCommandKeyPressed)(e) && (0, _utils3.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 var _this2 = this;\r\n this.callBase();\r\n var input = this._input();\r\n var namespace = (0, _index.addNamespace)(\"keydown\", this.NAME);\r\n _events_engine.default.on(input, namespace, (function(e) {\r\n var keyName = (0, _index.normalizeKeyName)(e);\r\n if (!_this2._isControlKey(keyName) && _this2._isEditable()) {\r\n _this2._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 _this3 = this;\r\n var eventName = (0, _index.addNamespace)(\"mousedown\", \"dxTagBox\");\r\n _events_engine.default.off(this._inputWrapper(), eventName);\r\n _events_engine.default.on(this._inputWrapper(), eventName, (function(e) {\r\n if (e.target !== _this3._input()[0] && _this3._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 (0, _deferred.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._focusTarget() : this.callBase()\r\n },\r\n _initSelectAllValueChangedAction: function() {\r\n this._selectAllValueChangeAction = this._createActionByOption(\"onSelectAllValueChanged\")\r\n },\r\n _renderList: function() {\r\n var _this4 = this;\r\n this.callBase();\r\n this._setListDataSourceFilter();\r\n if (this.option(\"showSelectionControls\")) {\r\n this._list.registerKeyHandler(\"tab\", (function(e) {\r\n return _this4._popupElementTabHandler(e)\r\n }));\r\n this._list.registerKeyHandler(\"escape\", (function(e) {\r\n return _this4._popupElementEscHandler(e)\r\n }))\r\n }\r\n },\r\n _canListHaveFocus: function() {\r\n return \"useButtons\" === this.option(\"applyValueMode\")\r\n },\r\n _listConfig: function() {\r\n var _this5 = this;\r\n var selectionMode = this.option(\"showSelectionControls\") ? \"all\" : \"multiple\";\r\n return (0, _extend.extend)(this.callBase(), {\r\n selectionMode: selectionMode,\r\n selectAllText: this.option(\"selectAllText\"),\r\n onSelectAllValueChanged: function(_ref) {\r\n var value = _ref.value;\r\n _this5._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 _this6 = this;\r\n var d = new _deferred.Deferred;\r\n this._updateTagsContainer(this._$textEditorInputContainer);\r\n this._renderInputSize();\r\n this._renderTags().done((function() {\r\n _this6._popup && _this6._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 = (0, _type.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 = (0, _dom.createTextElementHiddenCopy)($input, value, {\r\n includePaddings: true\r\n });\r\n $calculationElement.insertAfter($input);\r\n width = (0, _size.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 (0, _type.isDefined)(maxDisplayedTags) && values.length > maxDisplayedTags\r\n },\r\n _renderMultiTag: function($input) {\r\n var $tag = (0, _renderer.default)(\"<div>\").addClass(TAGBOX_TAG_CLASS).addClass(TAGBOX_MULTI_TAG_CLASS);\r\n var args = {\r\n multiTagElement: (0, _element.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: (0, _element.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 _ui.default.log(\"W1019\", maxFilterQueryLength)\r\n },\r\n _getFilteredItems: function(values) {\r\n var _this$_loadFilteredIt, _this$_list, _this7 = this;\r\n null === (_this$_loadFilteredIt = this._loadFilteredItemsPromise) || void 0 === _this$_loadFilteredIt ? void 0 : _this$_loadFilteredIt.reject();\r\n var creator = new _selection_filter.SelectionFilterCreator(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.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 _dataController$loadO = dataController.loadOptions(),\r\n customQueryParams = _dataController$loadO.customQueryParams,\r\n expand = _dataController$loadO.expand,\r\n select = _dataController$loadO.select;\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((function(data, extra) {\r\n _this7._isDataSourceChanged = false;\r\n if (_this7._disposed) {\r\n d.reject();\r\n return\r\n }\r\n var _normalizeLoadResult = (0, _utils2.normalizeLoadResult)(data, extra),\r\n items = _normalizeLoadResult.data;\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 _this8 = this;\r\n var items = [];\r\n var cache = {};\r\n var isValueExprSpecified = \"this\" === this._valueGetterExpr();\r\n var filteredValues = {};\r\n filteredItems.forEach((function(filteredItem) {\r\n var filteredItemValue = isValueExprSpecified ? JSON.stringify(filteredItem) : _this8._valueGetter(filteredItem);\r\n filteredValues[filteredItemValue] = filteredItem\r\n }));\r\n var loadItemPromises = [];\r\n values.forEach((function(value, index) {\r\n var currentItem = filteredValues[isValueExprSpecified ? JSON.stringify(value) : value];\r\n if (isValueExprSpecified && !(0, _type.isDefined)(currentItem)) {\r\n loadItemPromises.push(_this8._loadItem(value, cache).always((function(item) {\r\n var newItem = _this8._createTagData(items, item, value, index);\r\n items.splice(index, 0, newItem)\r\n })))\r\n } else {\r\n var newItem = _this8._createTagData(items, currentItem, value, index);\r\n items.splice(index, 0, newItem)\r\n }\r\n }));\r\n var d = new _deferred.Deferred;\r\n _deferred.when.apply(this, loadItemPromises).always((function() {\r\n d.resolve(items)\r\n }));\r\n return d.promise()\r\n },\r\n _createTagData: function(items, item, value, valueIndex) {\r\n if ((0, _type.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 ((0, _type.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 _this9 = this;\r\n var selectedItems = new _deferred.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((function() {\r\n selectedItems.resolve(_this9._getItemsByValues(values))\r\n })).fail((function() {\r\n selectedItems.resolve([])\r\n })).always((function() {\r\n _this9._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 _this10 = this;\r\n var values = this._getValue();\r\n var tagData = new _deferred.Deferred;\r\n this._selectedItems = [];\r\n var filteredItemsPromise = this._isGroupedData() ? this._getFilteredGroupedItems(values) : this._getFilteredItems(values);\r\n filteredItemsPromise.done((function(filteredItems) {\r\n var items = _this10._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 _this11 = this;\r\n var d = new _deferred.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((function(items) {\r\n if (_this11._disposed) {\r\n d.reject();\r\n return\r\n }\r\n _this11._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 _this12 = this;\r\n var selectedItems = plainItems.filter((function(dataItem) {\r\n var currentValue;\r\n for (var i = 0; i < values.length; i++) {\r\n currentValue = values[i];\r\n if ((0, _type.isObject)(currentValue)) {\r\n if (_this12._isValueEquals(dataItem, currentValue)) {\r\n return true\r\n }\r\n } else if (_this12._isValueEquals(_this12._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, _this13 = this;\r\n null === (_this$_isInputReady = this._isInputReady) || void 0 === _this$_isInputReady ? void 0 : _this$_isInputReady.reject();\r\n this._isInputReady = new _deferred.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 }(0, _deferred.when)(this._isInputReady).done((function() {\r\n _this13._renderTagsElements(items)\r\n }))\r\n },\r\n _renderTagsElements: function(items) {\r\n var _this14 = this;\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((function(item, index) {\r\n if ($multiTag && showMultiTagOnly || $multiTag && !showMultiTagOnly && index - maxDisplayedTags >= -1) {\r\n return false\r\n }\r\n _this14._renderTag(item, $multiTag || _this14._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 (0, _iterator.each)($tags, (function(_, tag) {\r\n var $tag = (0, _renderer.default)(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 this._updateElementAria()\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: (0, _element.getPublicElement)($tag)\r\n })\r\n },\r\n _renderTag: function(item, $input) {\r\n var value = this._valueGetter(item);\r\n if (!(0, _type.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 ((0, _type.isDefined)(displayValue)) {\r\n $tag.empty();\r\n this._applyTagTemplate(itemModel, $tag)\r\n }\r\n $tag.removeClass(TAGBOX_CUSTOM_TAG_CLASS);\r\n this._updateElementAria($tag.attr(\"id\"))\r\n } else {\r\n var tagId = \"dx-\".concat(new _guid.default);\r\n $tag = this._createTag(value, $input, tagId);\r\n if ((0, _type.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 this._updateElementAria(tagId)\r\n }\r\n },\r\n _getItemModel: function(item, displayValue) {\r\n if ((0, _type.isObject)(item) && (0, _type.isDefined)(displayValue)) {\r\n return item\r\n } else {\r\n return (0, _common.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 = (0, _element_data.data)($tag, TAGBOX_TAG_DATA_KEY);\r\n if (value === tagData || (0, _common.equalByValue)(value, tagData)) {\r\n result = (0, _renderer.default)($tag);\r\n break\r\n }\r\n }\r\n return result\r\n },\r\n _createTag: function(value, $input, tagId) {\r\n return (0, _renderer.default)(\"<div>\").attr(\"id\", tagId).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 = (0, _renderer.default)(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 var itemId = $tag.attr(\"id\");\r\n this._removeTagWithUpdate(itemValue);\r\n this._updateElementAria(itemId, true);\r\n this._refreshTagElements()\r\n },\r\n _updateField: _common.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 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 var _this15 = this;\r\n if (\"useButtons\" === this.option(\"applyValueMode\")) {\r\n return\r\n }\r\n var value = this._getValue().slice();\r\n (0, _iterator.each)(e.removedItems || [], (function(_, removedItem) {\r\n _this15._removeTag(value, _this15._valueGetter(removedItem))\r\n }));\r\n (0, _iterator.each)(e.addedItems || [], (function(_, addedItem) {\r\n _this15._addTag(value, _this15._valueGetter(addedItem))\r\n }));\r\n this._updateWidgetHeight();\r\n if (!(0, _common.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 _this16 = this;\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 (0, _iterator.each)(values, (function(index, selectedValue) {\r\n if (_this16._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 = (0, _size.getHeight)(element);\r\n this._renderInputSize();\r\n var currentHeight = (0, _size.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 ((0, _type.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 _this17 = this;\r\n var filter = [];\r\n this._getValue().forEach((function(value) {\r\n return filter.push([\"!\", [_this17._valueGetterExpr(), value]])\r\n }));\r\n return filter\r\n },\r\n _dataSourceFilterFunction: function(itemData) {\r\n var _this18 = this;\r\n var itemValue = this._valueGetter(itemData);\r\n var result = true;\r\n (0, _iterator.each)(this._getValue(), (function(index, value) {\r\n if (_this18._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 ? (0, _array.getIntersection)(currentValue, listValues) : [];\r\n var newItems = existedItems.length ? (0, _array.removeDuplicates)(listValues, currentValue) : listValues;\r\n return existedItems.concat(newItems)\r\n },\r\n _getListValues: function() {\r\n var _this19 = this;\r\n if (!this._list) {\r\n return []\r\n }\r\n return this._getPlainItems(this._list.option(\"selectedItems\")).map((function(item) {\r\n return _this19._valueGetter(item)\r\n }))\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: function(newItems, previousItems) {\r\n var _this20 = this;\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((function(map, item) {\r\n var value = _this20._valueGetter(item);\r\n map[value] = item;\r\n return map\r\n }), {});\r\n var addedItems = [];\r\n newItems.forEach((function(item) {\r\n var value = _this20._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 name = args.name,\r\n value = args.value,\r\n previousValue = args.previousValue;\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\n(0, _component_registrator.default)(\"dxTagBox\", TagBox);\r\nvar _default = TagBox;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/text_area.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../core/renderer\"));\r\nvar _events_engine = _interopRequireDefault(require(\"../events/core/events_engine\"));\r\nvar _common = require(\"../core/utils/common\");\r\nvar _window = require(\"../core/utils/window\");\r\nvar _component_registrator = _interopRequireDefault(require(\"../core/component_registrator\"));\r\nvar _extend = require(\"../core/utils/extend\");\r\nvar _type = require(\"../core/utils/type\");\r\nvar _index = require(\"../events/utils/index\");\r\nvar _pointer = _interopRequireDefault(require(\"../events/pointer\"));\r\nvar _emitterGesture = _interopRequireDefault(require(\"../events/gesture/emitter.gesture.scroll\"));\r\nvar _size = require(\"../core/utils/size\");\r\nvar _utils = require(\"./text_box/utils.scroll\");\r\nvar _text_box = _interopRequireDefault(require(\"./text_box\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar TEXTAREA_CLASS = \"dx-textarea\";\r\nvar TEXTEDITOR_INPUT_CLASS = \"dx-texteditor-input\";\r\nvar TEXTEDITOR_INPUT_CLASS_AUTO_RESIZE = \"dx-texteditor-input-auto-resize\";\r\nvar TextArea = _text_box.default.inherit({\r\n _getDefaultOptions: function() {\r\n return (0, _extend.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 = (0, _renderer.default)(\"<textarea>\");\r\n this._applyInputAttributes($input, this.option(\"inputAttr\"));\r\n this._updateInputAutoResizeAppearance($input);\r\n return $input\r\n },\r\n _applyInputAttributes: function($input, customAttributes) {\r\n $input.attr(customAttributes).addClass(TEXTEDITOR_INPUT_CLASS)\r\n },\r\n _renderScrollHandler: function() {\r\n this._eventY = 0;\r\n var $input = this._input();\r\n var initScrollData = (0, _utils.prepareScrollData)($input, true);\r\n _events_engine.default.on($input, (0, _index.addNamespace)(_emitterGesture.default.init, this.NAME), initScrollData, _common.noop);\r\n _events_engine.default.on($input, (0, _index.addNamespace)(_pointer.default.down, this.NAME), this._pointerDownHandler.bind(this));\r\n _events_engine.default.on($input, (0, _index.addNamespace)(_pointer.default.move, this.NAME), this._pointerMoveHandler.bind(this))\r\n },\r\n _pointerDownHandler: function(e) {\r\n this._eventY = (0, _index.eventData)(e).y\r\n },\r\n _pointerMoveHandler: function(e) {\r\n var currentEventY = (0, _index.eventData)(e).y;\r\n var delta = this._eventY - currentEventY;\r\n if ((0, _utils.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 _events_engine.default.on(this._input(), (0, _index.addNamespace)(\"input paste\", this.NAME), this._updateInputHeight.bind(this))\r\n }\r\n this.callBase()\r\n },\r\n _refreshEvents: function() {\r\n _events_engine.default.off(this._input(), (0, _index.addNamespace)(\"input paste\", this.NAME));\r\n this.callBase()\r\n },\r\n _getHeightDifference: function($input) {\r\n return (0, _size.getVerticalOffsets)(this._$element.get(0), false) + (0, _size.getVerticalOffsets)(this._$textEditorContainer.get(0), false) + (0, _size.getVerticalOffsets)(this._$textEditorInputContainer.get(0), false) + (0, _size.getElementBoxParams)(\"height\", (0, _window.getWindow)().getComputedStyle($input.get(0))).margin\r\n },\r\n _updateInputHeight: function() {\r\n if (!(0, _window.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\", (0, _size.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 ((0, _type.isDefined)(boundaryValue)) {\r\n return \"number\" === typeof boundaryValue ? boundaryValue : (0, _size.parseHeight)(boundaryValue, this.$element().get(0).parentElement, this._$element.get(0))\r\n }\r\n },\r\n _renderInputType: _common.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 = (0, _common.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\n(0, _component_registrator.default)(\"dxTextArea\", TextArea);\r\nvar _default = TextArea;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/text_box.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _text_box = _interopRequireDefault(require(\"./text_box/text_box\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar _default = _text_box.default;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/text_box/text_box.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _window = require(\"../../core/utils/window\");\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _component_registrator = _interopRequireDefault(require(\"../../core/component_registrator\"));\r\nvar _ui = _interopRequireDefault(require(\"./ui.text_editor\"));\r\nvar _index = require(\"../../events/utils/index\");\r\nvar _size = require(\"../../core/utils/size\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar window = (0, _window.getWindow)();\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 = _ui.default.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 (0, _extend.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 = (0, _renderer.default)(\"<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 (0, _size.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 += (0, _size.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 = (0, _renderer.default)(e.target);\r\n var key = (0, _index.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 = (0, _renderer.default)(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\n(0, _component_registrator.default)(\"dxTextBox\", TextBox);\r\nvar _default = TextBox;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/text_box/texteditor_button_collection/button.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../../core/renderer\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar TextEditorButton = function() {\r\n function TextEditorButton(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 var _proto = TextEditorButton.prototype;\r\n _proto._addPlaceMarker = function($container) {\r\n this.$placeMarker = (0, _renderer.default)(\"<div>\").appendTo($container)\r\n };\r\n _proto._addToContainer = function($element) {\r\n var $placeMarker = this.$placeMarker,\r\n $container = this.$container;\r\n $placeMarker ? $placeMarker.replaceWith($element) : $element.appendTo($container)\r\n };\r\n _proto._attachEvents = function() {\r\n throw \"Not implemented\"\r\n };\r\n _proto._create = function() {\r\n throw \"Not implemented\"\r\n };\r\n _proto._isRendered = function() {\r\n return !!this.instance\r\n };\r\n _proto._isVisible = function() {\r\n var editor = this.editor,\r\n options = this.options;\r\n return options.visible || !editor.option(\"readOnly\")\r\n };\r\n _proto._isDisabled = function() {\r\n throw \"Not implemented\"\r\n };\r\n _proto._shouldRender = function() {\r\n return this._isVisible() && !this._isRendered()\r\n };\r\n _proto.dispose = function() {\r\n var instance = this.instance,\r\n $placeMarker = this.$placeMarker;\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 _proto.render = function() {\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 _this$_create = this._create(),\r\n instance = _this$_create.instance,\r\n $element = _this$_create.$element;\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 _proto.update = function() {\r\n if (this._shouldRender()) {\r\n this.render()\r\n }\r\n return !!this.instance\r\n };\r\n return TextEditorButton\r\n}();\r\nexports.default = TextEditorButton;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/text_box/texteditor_button_collection/custom.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../../core/renderer\"));\r\nvar _button = _interopRequireDefault(require(\"./button\"));\r\nvar _button2 = _interopRequireDefault(require(\"../../button\"));\r\nvar _extend = require(\"../../../core/utils/extend\");\r\nvar _events_engine = _interopRequireDefault(require(\"../../../events/core/events_engine\"));\r\nvar _hover = require(\"../../../events/hover\");\r\nvar _click = require(\"../../../events/click\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar CUSTOM_BUTTON_HOVERED_CLASS = \"dx-custom-button-hovered\";\r\nvar CustomButton = function(_TextEditorButton) {\r\n _inheritsLoose(CustomButton, _TextEditorButton);\r\n\r\n function CustomButton() {\r\n return _TextEditorButton.apply(this, arguments) || this\r\n }\r\n var _proto = CustomButton.prototype;\r\n _proto._attachEvents = function(instance, $element) {\r\n var editor = this.editor;\r\n _events_engine.default.on($element, _hover.start, (function() {\r\n editor.$element().addClass(CUSTOM_BUTTON_HOVERED_CLASS)\r\n }));\r\n _events_engine.default.on($element, _hover.end, (function() {\r\n editor.$element().removeClass(CUSTOM_BUTTON_HOVERED_CLASS)\r\n }));\r\n _events_engine.default.on($element, _click.name, (function(e) {\r\n e.stopPropagation()\r\n }))\r\n };\r\n _proto._create = function() {\r\n var editor = this.editor;\r\n var $element = (0, _renderer.default)(\"<div>\");\r\n this._addToContainer($element);\r\n var instance = editor._createComponent($element, _button2.default, (0, _extend.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 _proto._prepareIntegrationOptions = function(editor) {\r\n return (0, _extend.extend)({}, editor.option(\"integrationOptions\"), {\r\n skipTemplates: [\"content\"]\r\n })\r\n };\r\n _proto.update = function() {\r\n var isUpdated = _TextEditorButton.prototype.update.call(this);\r\n if (this.instance) {\r\n this.instance.option(\"disabled\", this._isDisabled())\r\n }\r\n return isUpdated\r\n };\r\n _proto._isVisible = function() {\r\n var editor = this.editor;\r\n return editor.option(\"visible\")\r\n };\r\n _proto._isDisabled = function() {\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 return CustomButton\r\n}(_button.default);\r\nexports.default = CustomButton;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/text_box/texteditor_button_collection/index.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../../core/renderer\"));\r\nvar _custom = _interopRequireDefault(require(\"./custom\"));\r\nvar _extend = require(\"../../../core/utils/extend\");\r\nvar _ui = _interopRequireDefault(require(\"../../widget/ui.errors\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nvar TEXTEDITOR_BUTTONS_CONTAINER_CLASS = \"dx-texteditor-buttons-container\";\r\n\r\nfunction checkButtonInfo(buttonInfo) {\r\n ! function() {\r\n if (!buttonInfo || \"object\" !== _typeof(buttonInfo) || Array.isArray(buttonInfo)) {\r\n throw _ui.default.Error(\"E1053\")\r\n }\r\n }();\r\n ! function() {\r\n if (!(\"name\" in buttonInfo)) {\r\n throw _ui.default.Error(\"E1054\")\r\n }\r\n }();\r\n ! function() {\r\n var name = buttonInfo.name;\r\n if (\"string\" !== typeof name) {\r\n throw _ui.default.Error(\"E1055\")\r\n }\r\n }();\r\n ! function() {\r\n var location = buttonInfo.location;\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 _ui.default.Error(\"E1055\", newName)\r\n }\r\n existingNames.push(newName)\r\n}\r\n\r\nfunction isPredefinedButtonName(name, predefinedButtonsInfo) {\r\n return !!predefinedButtonsInfo.find((function(info) {\r\n return info.name === name\r\n }))\r\n}\r\nvar TextEditorButtonCollection = function() {\r\n function TextEditorButtonCollection(editor, defaultButtonsInfo) {\r\n this.buttons = [];\r\n this.defaultButtonsInfo = defaultButtonsInfo;\r\n this.editor = editor\r\n }\r\n var _proto = TextEditorButtonCollection.prototype;\r\n _proto._compileButtonInfo = function(buttons) {\r\n var _this = this;\r\n var names = [];\r\n return buttons.map((function(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((function(_ref) {\r\n var name = _ref.name;\r\n return name === button || name === button.name\r\n }));\r\n if (!defaultButtonInfo) {\r\n throw _ui.default.Error(\"E1056\", _this.editor.NAME, button)\r\n }\r\n checkNamesUniqueness(names, button);\r\n return defaultButtonInfo\r\n } else {\r\n var name = button.name;\r\n checkNamesUniqueness(names, name);\r\n return (0, _extend.extend)(button, {\r\n Ctor: _custom.default\r\n })\r\n }\r\n }))\r\n };\r\n _proto._createButton = function(buttonsInfo) {\r\n var Ctor = buttonsInfo.Ctor,\r\n options = buttonsInfo.options,\r\n name = buttonsInfo.name;\r\n var button = new Ctor(name, this.editor, options);\r\n this.buttons.push(button);\r\n return button\r\n };\r\n _proto._renderButtons = function(buttons, $container, targetLocation) {\r\n var _this2 = this;\r\n var $buttonsContainer = null;\r\n var buttonsInfo = buttons ? this._compileButtonInfo(buttons) : this.defaultButtonsInfo;\r\n buttonsInfo.forEach((function(buttonsInfo) {\r\n var _buttonsInfo$location = buttonsInfo.location,\r\n location = void 0 === _buttonsInfo$location ? \"after\" : _buttonsInfo$location;\r\n if (location === targetLocation) {\r\n _this2._createButton(buttonsInfo).render(function() {\r\n $buttonsContainer = $buttonsContainer || (0, _renderer.default)(\"<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 _proto.clean = function() {\r\n this.buttons.forEach((function(button) {\r\n return button.dispose()\r\n }));\r\n this.buttons = []\r\n };\r\n _proto.getButton = function(buttonName) {\r\n var button = this.buttons.find((function(_ref2) {\r\n var name = _ref2.name;\r\n return name === buttonName\r\n }));\r\n return button && button.instance\r\n };\r\n _proto.renderAfterButtons = function(buttons, $container) {\r\n return this._renderButtons(buttons, $container, \"after\")\r\n };\r\n _proto.renderBeforeButtons = function(buttons, $container) {\r\n return this._renderButtons(buttons, $container, \"before\")\r\n };\r\n _proto.updateButtons = function(names) {\r\n this.buttons.forEach((function(button) {\r\n if (!names || -1 !== names.indexOf(button.name)) {\r\n button.update()\r\n }\r\n }))\r\n };\r\n return TextEditorButtonCollection\r\n}();\r\nexports.default = TextEditorButtonCollection;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/text_box/ui.text_editor.base.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _dom_adapter = _interopRequireDefault(require(\"../../core/dom_adapter\"));\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _selectors = require(\"../widget/selectors\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _themes = require(\"../themes\");\r\nvar _devices = _interopRequireDefault(require(\"../../core/devices\"));\r\nvar _editor = _interopRequireDefault(require(\"../editor/editor\"));\r\nvar _index = require(\"../../events/utils/index\");\r\nvar _pointer = _interopRequireDefault(require(\"../../events/pointer\"));\r\nvar _uiText_editor = _interopRequireDefault(require(\"./ui.text_editor.clear\"));\r\nvar _index2 = _interopRequireDefault(require(\"./texteditor_button_collection/index\"));\r\nvar _config = _interopRequireDefault(require(\"../../core/config\"));\r\nvar _ui = _interopRequireDefault(require(\"../widget/ui.errors\"));\r\nvar _deferred = require(\"../../core/utils/deferred\");\r\nvar _load_indicator = _interopRequireDefault(require(\"../load_indicator\"));\r\nvar _uiText_editor2 = require(\"./ui.text_editor.label\");\r\nvar _size = require(\"../../core/utils/size\");\r\nvar _resize_observer = _interopRequireDefault(require(\"../../core/resize_observer\"));\r\nvar _guid = _interopRequireDefault(require(\"../../core/guid\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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 = _uiText_editor2.TextEditorLabel;\r\n\r\nfunction checkButtonsOptionType(buttons) {\r\n if ((0, _type.isDefined)(buttons) && !Array.isArray(buttons)) {\r\n throw _ui.default.Error(\"E1053\")\r\n }\r\n}\r\nvar TextEditorBase = _editor.default.inherit({\r\n ctor: function(_, options) {\r\n if (options) {\r\n checkButtonsOptionType(options.buttons)\r\n }\r\n this._buttonCollection = new _index2.default(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 (0, _extend.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 (0, _type.isDefined)(value) && false !== value ? value : \"\"\r\n },\r\n stylingMode: (0, _config.default)().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 = (0, _themes.current)();\r\n return (0, _themes.isMaterial)(themeName)\r\n },\r\n options: {\r\n stylingMode: (0, _config.default)().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: _uiText_editor.default\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 (0, _selectors.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 = (0, _renderer.default)(\"<div>\").addClass(TEXTEDITOR_CONTAINER_CLASS).appendTo(this.$element());\r\n this._$textEditorInputContainer = (0, _renderer.default)(\"<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: function() {\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 = (0, _renderer.default)(\"<div>\").addClass(TEXTEDITOR_PENDING_INDICATOR_CLASS).appendTo($inputContainer);\r\n this._pendingIndicator = this._createComponent($indicatorElement, _load_indicator.default)\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: function() {\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 = (0, _renderer.default)(\"<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 = (0, _extend.extend)(this._getDefaultAttributes(), customAttributes);\r\n $input.attr(inputAttributes).addClass(TEXTEDITOR_INPUT_CLASS).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 _devices$real = _devices.default.real(),\r\n ios = _devices$real.ios,\r\n mac = _devices$real.mac;\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 var _this = this;\r\n (0, _iterator.each)(this.option(\"buttons\"), (function(_, _ref) {\r\n var options = _ref.options,\r\n buttonName = _ref.name;\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 (!(0, _type.isDefined)(text)) {\r\n text = displayValueFormatter(value)\r\n }\r\n this.option(\"text\", text);\r\n if (this._input().val() !== ((0, _type.isDefined)(text) ? text : \"\")) {\r\n this._renderDisplayText(text)\r\n } else {\r\n this._toggleEmptinessEventHandler()\r\n }\r\n return (new _deferred.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 _resize_observer.default.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 (0, _size.getWidth)(this._getLabelContainer())\r\n },\r\n _getLabelBeforeWidth: function() {\r\n var buttonsBeforeWidth = this._$beforeButtonsContainer && (0, _size.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 _getFieldElement: function() {\r\n return this._getLabelContainer()\r\n },\r\n _setFieldAria: function() {\r\n var _this$_$placeholder;\r\n var labelId = this._label.getId();\r\n var placeholderId = null === (_this$_$placeholder = this._$placeholder) || void 0 === _this$_$placeholder ? void 0 : _this$_$placeholder.attr(\"id\");\r\n var value = [labelId, placeholderId].filter(Boolean).join(\" \");\r\n var aria = {\r\n labelledby: value || void 0\r\n };\r\n this.setAria(aria, this._getFieldElement())\r\n },\r\n _renderLabel: function() {\r\n this._unobserveLabelContainerResize();\r\n this._labelContainerElement = (0, _renderer.default)(this._getLabelContainer()).get(0);\r\n var _this$option = this.option(),\r\n label = _this$option.label,\r\n labelMode = _this$option.labelMode,\r\n labelMark = _this$option.labelMark;\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 containerWidth: this._getLabelContainerWidth(),\r\n beforeWidth: this._getLabelBeforeWidth()\r\n };\r\n this._label = new TextEditorLabelCreator(labelConfig);\r\n this._setFieldAria();\r\n if (this._labelContainerElement) {\r\n _resize_observer.default.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 placeholder = this.option(\"placeholder\");\r\n var placeholderAttributes = {\r\n id: placeholder ? \"dx-\".concat(new _guid.default) : void 0,\r\n \"data-dx_placeholder\": placeholder\r\n };\r\n var $placeholder = this._$placeholder = (0, _renderer.default)(\"<div>\").attr(placeholderAttributes);\r\n $placeholder.insertAfter($input);\r\n $placeholder.addClass(TEXTEDITOR_PLACEHOLDER_CLASS)\r\n },\r\n _attachPlaceholderEvents: function() {\r\n var _this2 = this;\r\n var startEvent = (0, _index.addNamespace)(_pointer.default.up, this.NAME);\r\n _events_engine.default.on(this._$placeholder, startEvent, (function() {\r\n _events_engine.default.trigger(_this2._input(), \"focus\")\r\n }));\r\n this._toggleEmptinessEventHandler()\r\n },\r\n _placeholder: function() {\r\n return this._$placeholder || (0, _renderer.default)()\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() && _events_engine.default.trigger($input, \"focus\");\r\n _events_engine.default.trigger($input, \"input\")\r\n },\r\n _clearValue: function() {\r\n this.reset()\r\n },\r\n _renderEvents: function() {\r\n var _this3 = this;\r\n var $input = this._input();\r\n (0, _iterator.each)(EVENTS_LIST, (function(_, event) {\r\n if (_this3.hasActionSubscription(\"on\" + event)) {\r\n var action = _this3._createActionByOption(\"on\" + event, {\r\n excludeValidators: [\"readOnly\"]\r\n });\r\n _events_engine.default.on($input, (0, _index.addNamespace)(event.toLowerCase(), _this3.NAME), (function(e) {\r\n if (_this3._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 _this4 = this;\r\n var $input = this._input();\r\n (0, _iterator.each)(EVENTS_LIST, (function(_, event) {\r\n _events_engine.default.off($input, (0, _index.addNamespace)(event.toLowerCase(), _this4.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\" === (0, _index.normalizeKeyName)(e);\r\n var isNewValue = $input.val() !== this.option(\"value\");\r\n if (isCtrlEnter && isNewValue) {\r\n _events_engine.default.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 = (0, _index.addNamespace)(this._renderValueEventName(), \"\".concat(this.NAME, \"TextChange\"));\r\n var valueChangeEvent = (0, _index.addNamespace)(this.option(this._getValueChangeEventOptionName()), \"\".concat(this.NAME, \"ValueChange\"));\r\n var keyDownEvent = (0, _index.addNamespace)(\"keydown\", \"\".concat(this.NAME, \"TextChange\"));\r\n var $input = this._input();\r\n _events_engine.default.on($input, keyPressEvent, this._keyPressHandler.bind(this));\r\n _events_engine.default.on($input, valueChangeEvent, this._valueChangeEventHandler.bind(this));\r\n _events_engine.default.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 _events_engine.default.off(this._input(), valueChangeNamespace);\r\n _events_engine.default.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((0, _renderer.default)(element || this.$element()))\r\n },\r\n _renderEmptinessEvent: function() {\r\n var $input = this._input();\r\n _events_engine.default.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 _events_engine.default.off(this._input(), \"keyup.onEnterKey.dxTextEditor\");\r\n _events_engine.default.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\" === (0, _index.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(_dom_adapter.default.getActiveElement(this._input()[0]))\r\n },\r\n _optionChanged: function(args) {\r\n var name = args.name,\r\n fullName = args.fullName,\r\n value = args.value;\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 this._setFieldAria();\r\n break;\r\n case \"label\":\r\n this._label.updateText(value);\r\n this._setFieldAria();\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._setFieldAria();\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: function(name) {\r\n return this._buttonCollection.getButton(name)\r\n },\r\n focus: function() {\r\n _events_engine.default.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\nvar _default = TextEditorBase;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/text_box/ui.text_editor.clear.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _button = _interopRequireDefault(require(\"./texteditor_button_collection/button\"));\r\nvar _index = require(\"../../events/utils/index\");\r\nvar _pointer = _interopRequireDefault(require(\"../../events/pointer\"));\r\nvar _click = require(\"../../events/click\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar pointerDown = _pointer.default.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\nvar ClearButton = function(_TextEditorButton) {\r\n _inheritsLoose(ClearButton, _TextEditorButton);\r\n\r\n function ClearButton() {\r\n return _TextEditorButton.apply(this, arguments) || this\r\n }\r\n var _proto = ClearButton.prototype;\r\n _proto._create = function() {\r\n var $element = (0, _renderer.default)(\"<span>\").addClass(TEXTEDITOR_CLEAR_BUTTON_CLASS).append((0, _renderer.default)(\"<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 _proto._isVisible = function() {\r\n var editor = this.editor;\r\n return editor._isClearButtonVisible()\r\n };\r\n _proto._attachEvents = function(instance, $button) {\r\n var editor = this.editor;\r\n var editorName = editor.NAME;\r\n _events_engine.default.on($button, (0, _index.addNamespace)(pointerDown, editorName), (function(e) {\r\n e.preventDefault();\r\n if (\"mouse\" !== e.pointerType) {\r\n editor._clearValueHandler(e)\r\n }\r\n }));\r\n _events_engine.default.on($button, (0, _index.addNamespace)(_click.name, editorName), (function(e) {\r\n return editor._clearValueHandler(e)\r\n }))\r\n };\r\n _proto._legacyRender = function($editor, isVisible) {\r\n $editor.toggleClass(TEXTEDITOR_SHOW_CLEAR_BUTTON_CLASS, isVisible)\r\n };\r\n _proto.update = function() {\r\n var rendered = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : false;\r\n !rendered && _TextEditorButton.prototype.update.call(this);\r\n var editor = this.editor,\r\n instance = this.instance;\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 return ClearButton\r\n}(_button.default);\r\nexports.default = ClearButton;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/text_box/ui.text_editor.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _component_registrator = _interopRequireDefault(require(\"../../core/component_registrator\"));\r\nvar _uiText_editor = _interopRequireDefault(require(\"./ui.text_editor.mask\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}(0, _component_registrator.default)(\"dxTextEditor\", _uiText_editor.default);\r\nvar _default = _uiText_editor.default;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/text_box/ui.text_editor.label.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.TextEditorLabel = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _guid = _interopRequireDefault(require(\"../../core/guid\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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\nvar TextEditorLabel = function() {\r\n function TextEditorLabel(_ref) {\r\n var $editor = _ref.$editor,\r\n text = _ref.text,\r\n mode = _ref.mode,\r\n mark = _ref.mark,\r\n containsButtonsBefore = _ref.containsButtonsBefore,\r\n containerWidth = _ref.containerWidth,\r\n beforeWidth = _ref.beforeWidth;\r\n this._props = {\r\n $editor: $editor,\r\n text: text,\r\n mode: mode,\r\n mark: mark,\r\n containsButtonsBefore: containsButtonsBefore,\r\n containerWidth: containerWidth,\r\n beforeWidth: beforeWidth\r\n };\r\n this._id = \"\".concat(TEXTEDITOR_LABEL_CLASS, \"-\").concat(new _guid.default);\r\n this._render();\r\n this._toggleMarkupVisibility()\r\n }\r\n var _proto = TextEditorLabel.prototype;\r\n _proto._isVisible = function() {\r\n return !!this._props.text && \"hidden\" !== this._props.mode\r\n };\r\n _proto._render = function() {\r\n this._$before = (0, _renderer.default)(\"<div>\").addClass(LABEL_BEFORE_CLASS);\r\n this._$labelSpan = (0, _renderer.default)(\"<span>\");\r\n this._$label = (0, _renderer.default)(\"<div>\").addClass(LABEL_CLASS).append(this._$labelSpan);\r\n this._$after = (0, _renderer.default)(\"<div>\").addClass(LABEL_AFTER_CLASS);\r\n this._$root = (0, _renderer.default)(\"<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 _proto._toggleMarkupVisibility = function() {\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 _proto._updateEditorLabelClass = function(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 _proto._updateEditorBeforeButtonsClass = function() {\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 _proto._updateMark = function() {\r\n this._$labelSpan.attr(\"data-mark\", this._props.mark)\r\n };\r\n _proto._updateText = function() {\r\n this._$labelSpan.text(this._props.text)\r\n };\r\n _proto._updateBeforeWidth = function() {\r\n this._$before.css({\r\n width: this._props.beforeWidth\r\n })\r\n };\r\n _proto._updateMaxWidth = function() {\r\n this._$label.css({\r\n maxWidth: this._props.containerWidth\r\n })\r\n };\r\n _proto.$element = function() {\r\n return this._$root\r\n };\r\n _proto.isVisible = function() {\r\n return this._isVisible()\r\n };\r\n _proto.getId = function() {\r\n if (this._isVisible()) {\r\n return this._id\r\n }\r\n };\r\n _proto.updateMode = function(mode) {\r\n this._props.mode = mode;\r\n this._toggleMarkupVisibility()\r\n };\r\n _proto.updateText = function(text) {\r\n this._props.text = text;\r\n this._updateText();\r\n this._toggleMarkupVisibility()\r\n };\r\n _proto.updateMark = function(mark) {\r\n this._props.mark = mark;\r\n this._updateMark()\r\n };\r\n _proto.updateContainsButtonsBefore = function(containsButtonsBefore) {\r\n this._props.containsButtonsBefore = containsButtonsBefore;\r\n this._updateEditorBeforeButtonsClass()\r\n };\r\n _proto.updateBeforeWidth = function(beforeWidth) {\r\n this._props.beforeWidth = beforeWidth;\r\n this._updateBeforeWidth()\r\n };\r\n _proto.updateMaxWidth = function(containerWidth) {\r\n this._props.containerWidth = containerWidth;\r\n this._updateMaxWidth()\r\n };\r\n return TextEditorLabel\r\n}();\r\nexports.TextEditorLabel = TextEditorLabel;\r\n","/**\r\n * DevExtreme (cjs/ui/text_box/ui.text_editor.mask.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _utils = _interopRequireDefault(require(\"./utils.caret\"));\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _index = require(\"../../events/utils/index\");\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _selectors = require(\"../widget/selectors\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _message = _interopRequireDefault(require(\"../../localization/message\"));\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _string = require(\"../../core/utils/string\");\r\nvar _wheel = require(\"../../events/core/wheel\");\r\nvar _uiText_editorMask = require(\"./ui.text_editor.mask.rule\");\r\nvar _uiText_editor = _interopRequireDefault(require(\"./ui.text_editor.base\"));\r\nvar _uiText_editorMask2 = _interopRequireDefault(require(\"./ui.text_editor.mask.strategy\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar stubCaret = function() {\r\n return {}\r\n};\r\nvar caret = _utils.default;\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 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 = _uiText_editor.default.inherit({\r\n _getDefaultOptions: function() {\r\n return (0, _extend.extend)(this.callBase(), {\r\n mask: \"\",\r\n maskChar: \"_\",\r\n maskRules: {},\r\n maskInvalidMessage: _message.default.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 del: that._maskStrategy.getHandler(\"del\"),\r\n enter: that._changeHandler\r\n };\r\n var result = that.callBase();\r\n (0, _iterator.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 = new _uiText_editorMask2.default(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 !== _common.noop;\r\n if (!hasMouseWheelHandler) {\r\n return\r\n }\r\n var input = this._input();\r\n var eventName = (0, _index.addNamespace)(_wheel.name, this.NAME);\r\n var mouseWheelAction = this._createAction(function(e) {\r\n var event = e.event;\r\n if ((0, _selectors.focused)(input) && !(0, _index.isCommandKeyPressed)(event)) {\r\n this._onMouseWheel(event);\r\n event.preventDefault();\r\n event.stopPropagation()\r\n }\r\n }.bind(this));\r\n _events_engine.default.off(input, eventName);\r\n _events_engine.default.on(input, eventName, (function(e) {\r\n mouseWheelAction({\r\n event: e\r\n })\r\n }))\r\n },\r\n _onMouseWheel: _common.noop,\r\n _render: function() {\r\n this._renderMask();\r\n this.callBase();\r\n this._attachMouseWheelEventHandlers()\r\n },\r\n _renderHiddenElement: function() {\r\n if (this.option(\"mask\")) {\r\n this._$hiddenElement = (0, _renderer.default)(\"<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 = _utils.default\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 = (0, _index.createEvent)(e, {\r\n type: \"change\"\r\n });\r\n _events_engine.default.trigger($input, changeEvent)\r\n },\r\n _parseMask: function() {\r\n this._maskRules = (0, _extend.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 _uiText_editorMask.EmptyMaskRule\r\n }\r\n var currentMaskChar = mask[index];\r\n var isEscapedChar = currentMaskChar === ESCAPED_CHAR;\r\n var result = isEscapedChar ? new _uiText_editorMask.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 (0, _iterator.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 (0, _type.isDefined)(ruleConfig) ? new _uiText_editorMask.MaskRule((0, _extend.extend)({\r\n maskChar: this.option(\"maskChar\")\r\n }, ruleConfig)) : new _uiText_editorMask.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 (0, _string.isEmpty)(this._value)\r\n },\r\n _shouldShowMask: function() {\r\n var showMaskMode = this.option(\"showMaskMode\");\r\n if (\"onFocus\" === showMaskMode) {\r\n return (0, _selectors.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 = !(0, _string.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((0, _index.normalizeKeyName)(e)) || (0, _index.isCommandKeyPressed)(e)\r\n },\r\n _handleChain: function(args) {\r\n var handledCount = this._maskRulesChain.handle(this._normalizeChainArguments(args));\r\n this._value = this._maskRulesChain.value();\r\n this._textValue = this._maskRulesChain.text();\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 var _this = this;\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 = function() {\r\n if (previousText !== _this._input().val()) {\r\n _events_engine.default.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 _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 = (0, _string.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});\r\nvar _default = TextEditorMask;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/text_box/ui.text_editor.mask.rule.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.StubMaskRule = exports.MaskRule = exports.EmptyMaskRule = void 0;\r\nvar _class = _interopRequireDefault(require(\"../../core/class\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _common = require(\"../../core/utils/common\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar EMPTY_CHAR = \" \";\r\nvar BaseMaskRule = _class.default.inherit({\r\n ctor: function(config) {\r\n this._value = EMPTY_CHAR;\r\n (0, _extend.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: _common.noop,\r\n value: _common.noop,\r\n rawValue: _common.noop,\r\n handle: _common.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: _common.noop,\r\n clear: _common.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: _common.noop,\r\n _adjustedBackward: _common.noop,\r\n isValid: _common.noop\r\n});\r\nvar EmptyMaskRule = BaseMaskRule.inherit({\r\n next: _common.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\nexports.EmptyMaskRule = EmptyMaskRule;\r\nvar 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 ((0, _type.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\nexports.MaskRule = MaskRule;\r\nvar 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\nexports.StubMaskRule = StubMaskRule;\r\n","/**\r\n * DevExtreme (cjs/ui/text_box/ui.text_editor.mask.strategy.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _index = require(\"../../events/utils/index\");\r\nvar _browser = _interopRequireDefault(require(\"../../core/utils/browser\"));\r\nvar _dom = require(\"../../core/utils/dom\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar MASK_EVENT_NAMESPACE = \"dxMask\";\r\nvar BLUR_EVENT = \"blur beforedeactivate\";\r\nvar EMPTY_CHAR = \" \";\r\nvar DELETE_INPUT_TYPES = [\"deleteContentBackward\", \"deleteSoftLineBackward\", \"deleteContent\", \"deleteHardLineBackward\"];\r\nvar HISTORY_INPUT_TYPES = [\"historyUndo\", \"historyRedo\"];\r\nvar EVENT_NAMES = [\"focusIn\", \"focusOut\", \"input\", \"paste\", \"cut\", \"drop\", \"beforeInput\"];\r\n\r\nfunction getEmptyString(length) {\r\n return EMPTY_CHAR.repeat(length)\r\n}\r\nvar MaskStrategy = function() {\r\n function MaskStrategy(editor) {\r\n this.editor = editor\r\n }\r\n var _proto = MaskStrategy.prototype;\r\n _proto._editorOption = function() {\r\n var _this$editor;\r\n return (_this$editor = this.editor).option.apply(_this$editor, arguments)\r\n };\r\n _proto._editorInput = function() {\r\n return this.editor._input()\r\n };\r\n _proto._editorCaret = function(newCaret) {\r\n if (!newCaret) {\r\n return this.editor._caret()\r\n }\r\n this.editor._caret(newCaret)\r\n };\r\n _proto._attachChangeEventHandler = function() {\r\n var _this = this;\r\n if (!this._editorOption(\"valueChangeEvent\").split(\" \").includes(\"change\")) {\r\n return\r\n }\r\n var $input = this._editorInput();\r\n var namespace = (0, _index.addNamespace)(BLUR_EVENT, MASK_EVENT_NAMESPACE);\r\n _events_engine.default.on($input, namespace, (function(e) {\r\n _this.editor._changeHandler(e)\r\n }))\r\n };\r\n _proto._beforeInputHandler = function() {\r\n this._previousText = this._editorOption(\"text\");\r\n this._prevCaret = this._editorCaret()\r\n };\r\n _proto._inputHandler = function(event) {\r\n var originalEvent = event.originalEvent;\r\n if (!originalEvent) {\r\n return\r\n }\r\n var inputType = originalEvent.inputType;\r\n if (HISTORY_INPUT_TYPES.includes(inputType)) {\r\n this._handleHistoryInputEvent()\r\n } else if (DELETE_INPUT_TYPES.includes(inputType)) {\r\n this._handleBackwardDeleteInputEvent()\r\n } else {\r\n var currentCaret = this._editorCaret();\r\n if (!currentCaret.end) {\r\n return\r\n }\r\n this._clearSelectedText();\r\n this._autoFillHandler(originalEvent);\r\n this._editorCaret(currentCaret);\r\n this._handleInsertTextInputEvent(originalEvent.data)\r\n }\r\n if (this._editorOption(\"text\") === this._previousText) {\r\n event.stopImmediatePropagation()\r\n }\r\n };\r\n _proto._handleHistoryInputEvent = function() {\r\n var caret = this._editorCaret();\r\n this._updateEditorMask({\r\n start: caret.start,\r\n length: caret.end - caret.start,\r\n text: \"\"\r\n });\r\n this._editorCaret(this._prevCaret)\r\n };\r\n _proto._handleBackwardDeleteInputEvent = function() {\r\n this._clearSelectedText();\r\n var caret = this._editorCaret();\r\n this.editor.setForwardDirection();\r\n this.editor._adjustCaret();\r\n var adjustedForwardCaret = this._editorCaret();\r\n if (adjustedForwardCaret.start !== caret.start) {\r\n this.editor.setBackwardDirection();\r\n this.editor._adjustCaret()\r\n }\r\n };\r\n _proto._clearSelectedText = function() {\r\n var _this$_prevCaret, _this$_prevCaret2;\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) || 1;\r\n var caret = this._editorCaret();\r\n if (!this._isAutoFill()) {\r\n this.editor.setBackwardDirection();\r\n this._updateEditorMask({\r\n start: caret.start,\r\n length: length,\r\n text: getEmptyString(length)\r\n })\r\n }\r\n };\r\n _proto._handleInsertTextInputEvent = function(data) {\r\n var _this$_prevCaret$star, _this$_prevCaret3;\r\n var text = null !== data && void 0 !== data ? data : \"\";\r\n this.editor.setForwardDirection();\r\n var hasValidChars = this._updateEditorMask({\r\n start: null !== (_this$_prevCaret$star = null === (_this$_prevCaret3 = this._prevCaret) || void 0 === _this$_prevCaret3 ? void 0 : _this$_prevCaret3.start) && void 0 !== _this$_prevCaret$star ? _this$_prevCaret$star : 0,\r\n length: text.length || 1,\r\n text: text\r\n });\r\n if (!hasValidChars) {\r\n this._editorCaret(this._prevCaret)\r\n }\r\n };\r\n _proto._updateEditorMask = function(args) {\r\n var textLength = args.text.length;\r\n var processedCharsCount = this.editor._handleChain(args);\r\n this.editor._displayMask();\r\n if (this.editor.isForwardDirection()) {\r\n var _this$_editorCaret = this._editorCaret(),\r\n start = _this$_editorCaret.start,\r\n end = _this$_editorCaret.end;\r\n var correction = processedCharsCount - textLength;\r\n var hasSkippedStub = processedCharsCount > 1;\r\n if (hasSkippedStub && 1 === textLength) {\r\n this._editorCaret({\r\n start: start + correction,\r\n end: end + correction\r\n })\r\n }\r\n this.editor._adjustCaret()\r\n }\r\n return !!processedCharsCount\r\n };\r\n _proto._focusInHandler = function() {\r\n var _this2 = this;\r\n this.editor._showMaskPlaceholder();\r\n this.editor.setForwardDirection();\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 _this2._editorCaret({\r\n start: caret,\r\n end: caret\r\n })\r\n }), 0)\r\n }\r\n };\r\n _proto._focusOutHandler = function(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 _proto._delHandler = function(event) {\r\n var editor = this.editor;\r\n editor._maskKeyHandler(event, (function() {\r\n if (!editor._hasSelection()) {\r\n editor._handleKey(EMPTY_CHAR)\r\n }\r\n }))\r\n };\r\n _proto._cutHandler = function(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, (function() {\r\n return (0, _dom.clipboardText)(event, selectedText)\r\n }))\r\n };\r\n _proto._dropHandler = function() {\r\n var _this3 = this;\r\n this._clearDragTimer();\r\n this._dragTimer = setTimeout((function() {\r\n var value = _this3.editor._convertToValue(_this3._editorInput().val());\r\n _this3._editorOption(\"value\", value)\r\n }))\r\n };\r\n _proto._pasteHandler = function(event) {\r\n var editor = this.editor;\r\n if (this._editorOption(\"disabled\")) {\r\n return\r\n }\r\n var caret = this._editorCaret();\r\n editor._maskKeyHandler(event, (function() {\r\n var pastedText = (0, _dom.clipboardText)(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 _proto._autoFillHandler = function(event) {\r\n var _this4 = this;\r\n var editor = this.editor;\r\n var inputVal = this._editorInput().val();\r\n this._inputHandlerTimer = setTimeout((function() {\r\n if (_this4._isAutoFill()) {\r\n editor._maskKeyHandler(event, (function() {\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 _proto._isAutoFill = function() {\r\n var $input = this._editorInput();\r\n if (_browser.default.webkit) {\r\n var _input$matches;\r\n var input = $input.get(0);\r\n return null !== (_input$matches = null === input || void 0 === input ? void 0 : input.matches(\":-webkit-autofill\")) && void 0 !== _input$matches ? _input$matches : false\r\n }\r\n return false\r\n };\r\n _proto._clearDragTimer = function() {\r\n clearTimeout(this._dragTimer)\r\n };\r\n _proto.getHandler = function(handlerName) {\r\n var _this5 = this;\r\n return function(args) {\r\n var _this6;\r\n null === (_this6 = _this5[\"_\".concat(handlerName, \"Handler\")]) || void 0 === _this6 ? void 0 : _this6.call(_this5, args)\r\n }\r\n };\r\n _proto.attachEvents = function() {\r\n var _this7 = this;\r\n var $input = this._editorInput();\r\n EVENT_NAMES.forEach((function(eventName) {\r\n var namespace = (0, _index.addNamespace)(eventName.toLowerCase(), MASK_EVENT_NAMESPACE);\r\n _events_engine.default.on($input, namespace, _this7.getHandler(eventName))\r\n }));\r\n this._attachChangeEventHandler()\r\n };\r\n _proto.detachEvents = function() {\r\n _events_engine.default.off(this._editorInput(), \".\".concat(MASK_EVENT_NAMESPACE))\r\n };\r\n _proto.clean = function() {\r\n this._clearDragTimer();\r\n clearTimeout(this._caretTimeout);\r\n clearTimeout(this._inputHandlerTimer)\r\n };\r\n return MaskStrategy\r\n}();\r\nexports.default = MaskStrategy;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/text_box/utils.caret.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _devices = _interopRequireDefault(require(\"../../core/devices\"));\r\nvar _dom_adapter = _interopRequireDefault(require(\"../../core/dom_adapter\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar _devices$real = _devices.default.real(),\r\n ios = _devices$real.ios,\r\n mac = _devices$real.mac;\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 = _dom_adapter.default.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 = (0, _renderer.default)(input).get(0);\r\n if (!(0, _type.isDefined)(position)) {\r\n return getCaret(input)\r\n }\r\n if (!force && isFocusingOnCaretChange && _dom_adapter.default.getActiveElement(input) !== input) {\r\n return\r\n }\r\n setCaret(input, position)\r\n};\r\nvar _default = caret;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/text_box/utils.scroll.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.prepareScrollData = exports.allowScroll = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _index = require(\"../../events/utils/index\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar allowScroll = function(container, delta, shiftKey) {\r\n var $container = (0, _renderer.default)(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\nexports.allowScroll = allowScroll;\r\nvar prepareScrollData = function(container, validateTarget) {\r\n var $container = (0, _renderer.default)(container);\r\n return {\r\n validate: function(e) {\r\n if ((0, _index.isDxMouseWheelEvent)(e) && (eventTarget = e.target, validateTarget ? (0, _renderer.default)(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\nexports.prepareScrollData = prepareScrollData;\r\n","/**\r\n * DevExtreme (cjs/ui/themes.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.attachCssClasses = attachCssClasses;\r\nexports.current = current;\r\nexports.default = void 0;\r\nexports.detachCssClasses = detachCssClasses;\r\nexports.init = init;\r\nexports.initialized = initialized;\r\nexports.isCompact = isCompact;\r\nexports.isDark = isDark;\r\nexports.isGeneric = isGeneric;\r\nexports.isMaterial = isMaterial;\r\nexports.isPendingThemeLoaded = isPendingThemeLoaded;\r\nexports.isWebFontLoaded = isWebFontLoaded;\r\nexports.ready = themeReady;\r\nexports.resetTheme = resetTheme;\r\nexports.setDefaultTimeout = setDefaultTimeout;\r\nexports.waitForThemeLoad = waitForThemeLoad;\r\nexports.waitWebFont = waitWebFont;\r\nvar _size = require(\"../core/utils/size\");\r\nvar _devices = _interopRequireDefault(require(\"../core/devices\"));\r\nvar _dom_adapter = _interopRequireDefault(require(\"../core/dom_adapter\"));\r\nvar _renderer = _interopRequireDefault(require(\"../core/renderer\"));\r\nvar _deferred = require(\"../core/utils/deferred\");\r\nvar _html_parser = require(\"../core/utils/html_parser\");\r\nvar _iterator = require(\"../core/utils/iterator\");\r\nvar _ready_callbacks = _interopRequireDefault(require(\"../core/utils/ready_callbacks\"));\r\nvar _view_port = require(\"../core/utils/view_port\");\r\nvar _window = require(\"../core/utils/window\");\r\nvar _themes_callback = require(\"./themes_callback\");\r\nvar _ui = _interopRequireDefault(require(\"./widget/ui.errors\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar window = (0, _window.getWindow)();\r\nvar ready = _ready_callbacks.default.add;\r\nvar viewPort = _view_port.value;\r\nvar viewPortChanged = _view_port.changeCallback;\r\nvar initDeferred = new _deferred.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 (!(0, _window.hasWindow)()) {\r\n return null\r\n }\r\n var element = (0, _renderer.default)(\"<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\n\r\nfunction 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 _themes_callback.themeReadyCallback.fire();\r\n _themes_callback.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 _ui.default.log(\"W0004\", pendingThemeName)\r\n }\r\n if (isLoaded || isTimeout) {\r\n handleLoaded()\r\n }\r\n }), 10)\r\n }\r\n}\r\n\r\nfunction 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 = (0, _renderer.default)(DX_LINK_SELECTOR, context);\r\n if (!$allThemeLinks.length) {\r\n return\r\n }\r\n knownThemes = {};\r\n $activeThemeLink = (0, _renderer.default)((0, _html_parser.parseHTML)(\"<link rel=stylesheet>\"), context);\r\n $allThemeLinks.each((function() {\r\n var link = (0, _renderer.default)(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 }(0, _iterator.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\n\r\nfunction init(options) {\r\n options = options || {};\r\n initContext(options.context || _dom_adapter.default.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\n\r\nfunction 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 _themes_callback.themeReadyCallback.add(loadCallback)\r\n }\r\n if (currentThemeData) {\r\n $activeThemeLink.attr(\"href\", knownThemes[currentThemeName].url);\r\n if (_themes_callback.themeReadyCallback.has() || \"resolved\" !== initDeferred.state() || options._forceTimeout) {\r\n waitForThemeLoad(currentThemeName)\r\n }\r\n } else if (isAutoInit) {\r\n if ((0, _window.hasWindow)()) {\r\n waitForThemeLoad(ANY_THEME)\r\n }\r\n _themes_callback.themeReadyCallback.fire();\r\n _themes_callback.themeReadyCallback.empty()\r\n } else {\r\n throw _ui.default.Error(\"E0021\", currentThemeName)\r\n }\r\n initDeferred.done((function() {\r\n return attachCssClasses((0, _view_port.originalViewPort)(), currentThemeName)\r\n }))\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\n\r\nfunction attachCssClasses(element, themeName) {\r\n themeClasses = getCssClasses(themeName).join(\" \");\r\n (0, _renderer.default)(element).addClass(themeClasses);\r\n ! function() {\r\n var pixelRatio = (0, _window.hasWindow)() && window.devicePixelRatio;\r\n if (!pixelRatio || pixelRatio < 2) {\r\n return\r\n }\r\n var $tester = (0, _renderer.default)(\"<div>\");\r\n $tester.css(\"border\", \".5px solid transparent\");\r\n (0, _renderer.default)(\"body\").append($tester);\r\n if (1 === (0, _size.getOuterHeight)($tester)) {\r\n (0, _renderer.default)(element).addClass(DX_HAIRLINES_CLASS);\r\n themeClasses += \" \" + DX_HAIRLINES_CLASS\r\n }\r\n $tester.remove()\r\n }()\r\n}\r\n\r\nfunction detachCssClasses(element) {\r\n (0, _renderer.default)(element).removeClass(themeClasses)\r\n}\r\n\r\nfunction themeReady(callback) {\r\n _themes_callback.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\n\r\nfunction isMaterial(themeName) {\r\n return isTheme(\"material\", themeName)\r\n}\r\n\r\nfunction isGeneric(themeName) {\r\n return isTheme(\"generic\", themeName)\r\n}\r\n\r\nfunction isDark(themeName) {\r\n return isTheme(\"dark\", themeName)\r\n}\r\n\r\nfunction isCompact(themeName) {\r\n return isTheme(\"compact\", themeName)\r\n}\r\n\r\nfunction isWebFontLoaded(text, fontWeight) {\r\n var document = _dom_adapter.default.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\n\r\nfunction waitWebFont(text, fontWeight) {\r\n return new Promise((function(resolve) {\r\n var clear = function() {\r\n clearInterval(intervalId);\r\n clearTimeout(timeoutId);\r\n resolve()\r\n };\r\n var intervalId = setInterval((function() {\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 ((0, _renderer.default)(DX_LINK_SELECTOR, context).length) {\r\n throw _ui.default.Error(\"E0022\")\r\n }\r\n}\r\nif ((0, _window.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\n_devices.default.changed.add((function() {\r\n init({\r\n _autoInit: true\r\n })\r\n}));\r\n\r\nfunction resetTheme() {\r\n $activeThemeLink && $activeThemeLink.attr(\"href\", \"about:blank\");\r\n currentThemeName = null;\r\n pendingThemeName = null;\r\n initDeferred = new _deferred.Deferred\r\n}\r\n\r\nfunction initialized(callback) {\r\n initDeferred.done(callback)\r\n}\r\n\r\nfunction setDefaultTimeout(timeout) {\r\n defaultTimeout = timeout\r\n}\r\nvar _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\nexports.default = _default;\r\n","/**\r\n * DevExtreme (cjs/ui/themes_callback.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.themeReadyCallback = void 0;\r\nvar _callbacks = _interopRequireDefault(require(\"../core/utils/callbacks\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar themeReadyCallback = (0, _callbacks.default)();\r\nexports.themeReadyCallback = themeReadyCallback;\r\n","/**\r\n * DevExtreme (cjs/ui/tile_view.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _size = require(\"../core/utils/size\");\r\nvar _renderer = _interopRequireDefault(require(\"../core/renderer\"));\r\nvar _devices = _interopRequireDefault(require(\"../core/devices\"));\r\nvar _component_registrator = _interopRequireDefault(require(\"../core/component_registrator\"));\r\nvar _iterator = require(\"../core/utils/iterator\");\r\nvar _type = require(\"../core/utils/type\");\r\nvar _extend = require(\"../core/utils/extend\");\r\nvar _window = require(\"../core/utils/window\");\r\nvar _element = require(\"../core/element\");\r\nvar _common = require(\"../core/utils/common\");\r\nvar _support = require(\"../core/utils/support\");\r\nvar _scroll_view = _interopRequireDefault(require(\"./scroll_view\"));\r\nvar _uiCollection_widget = _interopRequireDefault(require(\"./collection/ui.collection_widget.edit\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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 = _uiCollection_widget.default.inherit({\r\n _activeStateUnit: TILEVIEW_ITEM_SELECTOR,\r\n _getDefaultOptions: function() {\r\n return (0, _extend.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.default.real().deviceType && !_devices.default.isSimulator()\r\n },\r\n options: {\r\n focusStateEnabled: true\r\n }\r\n }, {\r\n device: function() {\r\n return _support.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 _this$option = this.option(),\r\n width = _this$option.width,\r\n height = _this$option.height,\r\n direction = _this$option.direction,\r\n showScrollbar = _this$option.showScrollbar;\r\n this._scrollView = this._createComponent(this.$element(), _scroll_view.default, {\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 = (0, _renderer.default)(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 (0, _common.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, (0, _iterator.map)(items || [], (function(item) {\r\n return Math.round(item[config.itemCrossRatio] || 1)\r\n })));\r\n var crossDimensionValue;\r\n if (_window.hasWindow) {\r\n crossDimensionValue = (\"width\" === config.crossDimension ? _size.getWidth : _size.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 mainDimension = _ref.mainDimension,\r\n baseItemMainDimension = _ref.baseItemMainDimension;\r\n if ((0, _window.hasWindow)()) {\r\n var actualContentSize = this._cells.length * this.option(baseItemMainDimension) + (this._cells.length + 1) * itemMargin;\r\n var elementSize = (\"width\" === mainDimension ? _size.getWidth : _size.getHeight)(this.$element());\r\n (\"width\" === mainDimension ? _size.setWidth : _size.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 (0, _iterator.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 = (0, _size.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 = (0, _renderer.default)(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 (!(0, _type.isDefined)(newTargetIndex)) {\r\n return\r\n }\r\n var $newTarget = this._itemElements().eq(newTargetIndex);\r\n this.option(\"focusedElement\", (0, _element.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 ? _size.getOuterWidth : _size.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\n(0, _component_registrator.default)(\"dxTileView\", TileView);\r\nvar _default = TileView;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/toast.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _ui = _interopRequireDefault(require(\"./toast/ui.toast\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar _default = _ui.default;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/toast/hide_toasts.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar TOAST_CLASS = \"dx-toast\";\r\n\r\nfunction hideAllToasts(container) {\r\n var toasts = (0, _renderer.default)(\".\".concat(TOAST_CLASS)).toArray();\r\n if (!arguments.length) {\r\n toasts.forEach((function(toast) {\r\n (0, _renderer.default)(toast).dxToast(\"hide\")\r\n }));\r\n return\r\n }\r\n var containerElement = (0, _renderer.default)(container).get(0);\r\n toasts.map((function(toast) {\r\n return (0, _renderer.default)(toast).dxToast(\"instance\")\r\n })).filter((function(instance) {\r\n var toastContainerElement = (0, _renderer.default)(instance.option(\"container\")).get(0);\r\n return containerElement === toastContainerElement && containerElement\r\n })).forEach((function(instance) {\r\n instance.hide()\r\n }))\r\n}\r\nvar _default = hideAllToasts;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/toast/ui.toast.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _window = require(\"../../core/utils/window\");\r\nvar _dom_adapter = _interopRequireDefault(require(\"../../core/dom_adapter\"));\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _ready_callbacks = _interopRequireDefault(require(\"../../core/utils/ready_callbacks\"));\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _pointer = _interopRequireDefault(require(\"../../events/pointer\"));\r\nvar _component_registrator = _interopRequireDefault(require(\"../../core/component_registrator\"));\r\nvar _ui = _interopRequireDefault(require(\"../overlay/ui.overlay\"));\r\nvar _themes = require(\"../themes\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar window = (0, _window.getWindow)();\r\nvar ready = _ready_callbacks.default.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 _events_engine.default.subscribeGlobal(_dom_adapter.default.getDocument(), _pointer.default.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 = _ui.default.inherit({\r\n _getDefaultOptions: function() {\r\n return (0, _extend.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 preventScrollEvents: false,\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 (0, _themes.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 = (0, _renderer.default)(\"<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((0, _renderer.default)(\"<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 _toggleCloseEvents: function(event) {\r\n var dxEvent = \"dx\" + event.toLowerCase();\r\n _events_engine.default.off(this.$content(), dxEvent);\r\n this.option(\"closeOn\" + event) && _events_engine.default.on(this.$content(), dxEvent, this.hide.bind(this))\r\n },\r\n _posStringToObject: function() {\r\n if (!(0, _type.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\", (0, _extend.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\n(0, _component_registrator.default)(WIDGET_NAME, Toast);\r\nvar _default = Toast;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/toolbar.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _ui = _interopRequireDefault(require(\"./toolbar/ui.toolbar\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar _default = _ui.default;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/toolbar/constants.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.TOOLBAR_CLASS = void 0;\r\nvar TOOLBAR_CLASS = \"dx-toolbar\";\r\nexports.TOOLBAR_CLASS = TOOLBAR_CLASS;\r\n","/**\r\n * DevExtreme (cjs/ui/toolbar/internal/ui.toolbar.menu.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _size = require(\"../../../core/utils/size\");\r\nvar _renderer = _interopRequireDefault(require(\"../../../core/renderer\"));\r\nvar _devices = _interopRequireDefault(require(\"../../../core/devices\"));\r\nvar _extend = require(\"../../../core/utils/extend\");\r\nvar _ui = _interopRequireDefault(require(\"../../widget/ui.widget\"));\r\nvar _button = _interopRequireDefault(require(\"../../button\"));\r\nvar _uiToolbarMenu = _interopRequireDefault(require(\"./ui.toolbar.menu.list\"));\r\nvar _themes = require(\"../../themes\");\r\nvar _child_default_template = require(\"../../../core/templates/child_default_template\");\r\nvar _uiToolbar = require(\"../ui.toolbar.utils\");\r\nvar _window = require(\"../../../core/utils/window\");\r\nrequire(\"../../popup\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\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\nvar DropDownMenu = function(_Widget) {\r\n _inheritsLoose(DropDownMenu, _Widget);\r\n\r\n function DropDownMenu() {\r\n return _Widget.apply(this, arguments) || this\r\n }\r\n var _proto = DropDownMenu.prototype;\r\n _proto._supportedKeys = function() {\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 (0, _extend.extend)(_Widget.prototype._supportedKeys.call(this), extension, {\r\n tab: function() {\r\n this._popup && this._popup.hide()\r\n }\r\n })\r\n };\r\n _proto._getDefaultOptions = function() {\r\n return (0, _extend.extend)(_Widget.prototype._getDefaultOptions.call(this), {\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 _proto._defaultOptionsRules = function() {\r\n return _Widget.prototype._defaultOptionsRules.call(this).concat([{\r\n device: function() {\r\n return \"desktop\" === _devices.default.real().deviceType && !_devices.default.isSimulator()\r\n },\r\n options: {\r\n focusStateEnabled: true\r\n }\r\n }, {\r\n device: function() {\r\n return (0, _themes.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 _proto._init = function() {\r\n _Widget.prototype._init.call(this);\r\n this.$element().addClass(DROP_DOWN_MENU_CLASS);\r\n this._initItemClickAction();\r\n this._initButtonClickAction()\r\n };\r\n _proto._initItemClickAction = function() {\r\n this._itemClickAction = this._createActionByOption(\"onItemClick\")\r\n };\r\n _proto._initButtonClickAction = function() {\r\n this._buttonClickAction = this._createActionByOption(\"onButtonClick\")\r\n };\r\n _proto._initTemplates = function() {\r\n this._templateManager.addDefaultTemplates({\r\n content: new _child_default_template.ChildDefaultTemplate(\"content\")\r\n });\r\n _Widget.prototype._initTemplates.call(this)\r\n };\r\n _proto._initMarkup = function() {\r\n this._renderButton();\r\n _Widget.prototype._initMarkup.call(this)\r\n };\r\n _proto._render = function() {\r\n _Widget.prototype._render.call(this);\r\n this.setAria({\r\n haspopup: true,\r\n expanded: this.option(\"opened\")\r\n })\r\n };\r\n _proto._renderContentImpl = function() {\r\n if (this.option(\"opened\")) {\r\n this._renderPopup()\r\n }\r\n };\r\n _proto._clean = function() {\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 _proto._renderButton = function() {\r\n var _this = this;\r\n var $button = this.$element().addClass(DROP_DOWN_MENU_BUTTON_CLASS);\r\n this._button = this._createComponent($button, _button.default, {\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: function(e) {\r\n _this.option(\"opened\", !_this.option(\"opened\"));\r\n _this._buttonClickAction(e)\r\n }\r\n })\r\n };\r\n _proto._toggleActiveState = function($element, value, e) {\r\n this._button._toggleActiveState($element, value, e)\r\n };\r\n _proto._toggleMenuVisibility = function(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 _proto._renderPopup = function() {\r\n var _this2 = this;\r\n if (this._$popup) {\r\n return\r\n }\r\n this._$popup = (0, _renderer.default)(\"<div>\").appendTo(this.$element());\r\n var _this$option = this.option(),\r\n rtlEnabled = _this$option.rtlEnabled,\r\n container = _this$option.container,\r\n animation = _this$option.animation;\r\n this._popup = this._createComponent(this._$popup, \"dxPopup\", {\r\n onInitialized: function(_ref) {\r\n var component = _ref.component;\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: function(contentElement) {\r\n return _this2._renderList(contentElement)\r\n },\r\n _ignoreFunctionValueDeprecation: true,\r\n maxHeight: function() {\r\n return _this2._getMaxHeight()\r\n },\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: function(_ref2) {\r\n var name = _ref2.name,\r\n value = _ref2.value;\r\n if (\"visible\" === name) {\r\n _this2.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: function(e) {\r\n return _this2._closeOutsideDropDownHandler(e)\r\n },\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 _proto._getMaxHeight = function() {\r\n var $element = this.$element();\r\n var offsetTop = $element.offset().top;\r\n var windowHeight = (0, _size.getOuterHeight)((0, _window.getWindow)());\r\n var maxHeight = Math.max(offsetTop, windowHeight - offsetTop - (0, _size.getOuterHeight)($element));\r\n return Math.min(windowHeight, maxHeight - POPUP_VERTICAL_OFFSET - POPUP_BOUNDARY_VERTICAL_OFFSET)\r\n };\r\n _proto._closeOutsideDropDownHandler = function(e) {\r\n var isOutsideClick = !(0, _renderer.default)(e.target).closest(this.$element()).length;\r\n return isOutsideClick\r\n };\r\n _proto._renderList = function(contentElement) {\r\n var _this3 = this;\r\n var $content = (0, _renderer.default)(contentElement);\r\n $content.addClass(DROP_DOWN_MENU_LIST_CLASS);\r\n this._list = this._createComponent($content, _uiToolbarMenu.default, {\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: function(e) {\r\n if (_this3.option(\"closeOnClick\")) {\r\n _this3.option(\"opened\", false)\r\n }\r\n _this3._itemClickAction(e)\r\n },\r\n tabIndex: -1,\r\n focusStateEnabled: false,\r\n activeStateEnabled: true,\r\n onItemRendered: this.option(\"onItemRendered\"),\r\n _itemAttributes: {\r\n role: \"menuitem\"\r\n }\r\n })\r\n };\r\n _proto._itemOptionChanged = function(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 (0, _uiToolbar.toggleItemFocusableElementTabIndex)(this._list, item)\r\n };\r\n _proto._getListDataSource = function() {\r\n var _this$option2;\r\n return null !== (_this$option2 = this.option(\"dataSource\")) && void 0 !== _this$option2 ? _this$option2 : this.option(\"items\")\r\n };\r\n _proto._setListDataSource = function() {\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 _proto._getKeyboardListeners = function() {\r\n return _Widget.prototype._getKeyboardListeners.call(this).concat([this._list])\r\n };\r\n _proto._toggleVisibility = function(visible) {\r\n _Widget.prototype._toggleVisibility.call(this, visible);\r\n this._button.option(\"visible\", visible)\r\n };\r\n _proto._optionChanged = function(args) {\r\n var _this$_list3, _this$_list4, _this$_list5;\r\n var name = args.name,\r\n value = args.value;\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 _Widget.prototype._optionChanged.call(this, 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 _Widget.prototype._optionChanged.call(this, args)\r\n }\r\n };\r\n _proto._updateFocusableItemsTabIndex = function() {\r\n var _this4 = this;\r\n this.option(\"items\").forEach((function(item) {\r\n return (0, _uiToolbar.toggleItemFocusableElementTabIndex)(_this4._list, item)\r\n }))\r\n };\r\n return DropDownMenu\r\n}(_ui.default);\r\nexports.default = DropDownMenu;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/toolbar/internal/ui.toolbar.menu.list.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../../core/renderer\"));\r\nvar _iterator = require(\"../../../core/utils/iterator\");\r\nvar _uiList = require(\"../../list/ui.list.base\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\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\nvar ToolbarMenuList = function(_ListBase) {\r\n _inheritsLoose(ToolbarMenuList, _ListBase);\r\n\r\n function ToolbarMenuList() {\r\n return _ListBase.apply(this, arguments) || this\r\n }\r\n var _proto = ToolbarMenuList.prototype;\r\n _proto._init = function() {\r\n _ListBase.prototype._init.call(this);\r\n this._activeStateUnit = \".\".concat(TOOLBAR_MENU_ACTION_CLASS, \":not(.\").concat(TOOLBAR_HIDDEN_BUTTON_GROUP_CLASS, \")\")\r\n };\r\n _proto._initMarkup = function() {\r\n this._renderSections();\r\n _ListBase.prototype._initMarkup.call(this);\r\n this._setMenuRole()\r\n };\r\n _proto._getSections = function() {\r\n return this._itemContainer().children()\r\n };\r\n _proto._itemElements = function() {\r\n return this._getSections().children(this._itemSelector())\r\n };\r\n _proto._renderSections = function() {\r\n var _this = this;\r\n var $container = this._itemContainer();\r\n (0, _iterator.each)([\"before\", \"center\", \"after\", \"menu\"], (function(_, section) {\r\n var sectionName = \"_$\".concat(section, \"Section\");\r\n if (!_this[sectionName]) {\r\n _this[sectionName] = (0, _renderer.default)(\"<div>\").addClass(TOOLBAR_MENU_SECTION_CLASS)\r\n }\r\n _this[sectionName].appendTo($container)\r\n }))\r\n };\r\n _proto._renderItems = function() {\r\n _ListBase.prototype._renderItems.apply(this, arguments);\r\n this._updateSections()\r\n };\r\n _proto._setMenuRole = function() {\r\n var $menuContainer = this.$element().find(\".\".concat(SCROLLVIEW_CONTENT_CLASS));\r\n $menuContainer.attr(\"role\", \"menu\")\r\n };\r\n _proto._updateSections = function() {\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 _proto._renderItem = function(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 = _ListBase.prototype._renderItem.call(this, 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 _proto._getItemTemplateName = function(args) {\r\n var template = _ListBase.prototype._getItemTemplateName.call(this, args);\r\n var data = args.itemData;\r\n var menuTemplate = data && data.menuItemTemplate;\r\n return menuTemplate || template\r\n };\r\n _proto._dataSourceOptions = function() {\r\n return {\r\n paginate: false\r\n }\r\n };\r\n _proto._itemClickHandler = function(e, args, config) {\r\n if ((0, _renderer.default)(e.target).closest(\".\".concat(TOOLBAR_MENU_ACTION_CLASS)).length) {\r\n _ListBase.prototype._itemClickHandler.call(this, e, args, config)\r\n }\r\n };\r\n _proto._clean = function() {\r\n this._getSections().empty();\r\n _ListBase.prototype._clean.call(this)\r\n };\r\n return ToolbarMenuList\r\n}(_uiList.ListBase);\r\nexports.default = ToolbarMenuList;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/toolbar/strategy/toolbar.multiline.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.MultiLineStrategy = void 0;\r\nvar _size = require(\"../../../core/utils/size\");\r\nvar TOOLBAR_LABEL_CLASS = \"dx-toolbar-label\";\r\nvar MultiLineStrategy = function() {\r\n function MultiLineStrategy(toolbar) {\r\n this._toolbar = toolbar\r\n }\r\n var _proto = MultiLineStrategy.prototype;\r\n _proto._initMarkup = function() {};\r\n _proto._updateMenuVisibility = function() {};\r\n _proto._renderMenuItems = function() {};\r\n _proto._renderItem = function() {};\r\n _proto._getMenuItems = function() {};\r\n _proto._getToolbarItems = function() {\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 _proto._getItemsWidth = function() {\r\n return this._toolbar._getSummaryItemsWidth(this._toolbar.itemElements(), true)\r\n };\r\n _proto._arrangeItems = function() {\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 = (0, _size.getWidth)(this._toolbar.$element());\r\n var labelPaddings = (0, _size.getOuterWidth)($label) - (0, _size.getWidth)($label);\r\n $label.css(\"maxWidth\", elementWidth - labelPaddings)\r\n };\r\n _proto._hideOverflowItems = function() {};\r\n _proto._dimensionChanged = function() {};\r\n _proto._itemOptionChanged = function() {};\r\n _proto._optionChanged = function() {};\r\n return MultiLineStrategy\r\n}();\r\nexports.MultiLineStrategy = MultiLineStrategy;\r\n","/**\r\n * DevExtreme (cjs/ui/toolbar/strategy/toolbar.singleline.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.SingleLineStrategy = void 0;\r\nvar _size = require(\"../../../core/utils/size\");\r\nvar _renderer = _interopRequireDefault(require(\"../../../core/renderer\"));\r\nvar _iterator = require(\"../../../core/utils/iterator\");\r\nvar _common = require(\"../../../core/utils/common\");\r\nvar _extend = require(\"../../../core/utils/extend\");\r\nvar _uiToolbar = _interopRequireDefault(require(\"../internal/ui.toolbar.menu\"));\r\nvar _data = require(\"../../../core/utils/data\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _toConsumableArray(arr) {\r\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread()\r\n}\r\n\r\nfunction _nonIterableSpread() {\r\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _unsupportedIterableToArray(o, minLen) {\r\n if (!o) {\r\n return\r\n }\r\n if (\"string\" === typeof o) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n var n = Object.prototype.toString.call(o).slice(8, -1);\r\n if (\"Object\" === n && o.constructor) {\r\n n = o.constructor.name\r\n }\r\n if (\"Map\" === n || \"Set\" === n) {\r\n return Array.from(o)\r\n }\r\n if (\"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n}\r\n\r\nfunction _iterableToArray(iter) {\r\n if (\"undefined\" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter[\"@@iterator\"]) {\r\n return Array.from(iter)\r\n }\r\n}\r\n\r\nfunction _arrayWithoutHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return _arrayLikeToArray(arr)\r\n }\r\n}\r\n\r\nfunction _arrayLikeToArray(arr, len) {\r\n if (null == len || len > arr.length) {\r\n len = arr.length\r\n }\r\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\r\n arr2[i] = arr[i]\r\n }\r\n return arr2\r\n}\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\nvar SingleLineStrategy = function() {\r\n function SingleLineStrategy(toolbar) {\r\n this._toolbar = toolbar\r\n }\r\n var _proto = SingleLineStrategy.prototype;\r\n _proto._initMarkup = function() {\r\n var _this = this;\r\n (0, _common.deferRender)((function() {\r\n _this._renderOverflowMenu();\r\n _this._renderMenuItems()\r\n }))\r\n };\r\n _proto._renderOverflowMenu = function() {\r\n var _this2 = this;\r\n if (!this._hasVisibleMenuItems()) {\r\n return\r\n }\r\n this._renderMenuButtonContainer();\r\n var $menu = (0, _renderer.default)(\"<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, _uiToolbar.default, {\r\n disabled: this._toolbar.option(\"disabled\"),\r\n itemTemplate: function() {\r\n return menuItemTemplate\r\n },\r\n onItemClick: function(e) {\r\n itemClickAction(e)\r\n },\r\n container: this._toolbar.option(\"menuContainer\"),\r\n onOptionChanged: function(_ref) {\r\n var name = _ref.name,\r\n value = _ref.value;\r\n if (\"opened\" === name) {\r\n _this2._toolbar.option(\"overflowMenuVisible\", value)\r\n }\r\n if (\"items\" === name) {\r\n _this2._updateMenuVisibility(value)\r\n }\r\n }\r\n })\r\n };\r\n _proto.renderMenuItems = function() {\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 _proto._renderMenuButtonContainer = function() {\r\n this._$overflowMenuContainer = (0, _renderer.default)(\"<div>\").appendTo(this._toolbar._$afterSection).addClass(TOOLBAR_BUTTON_CLASS).addClass(TOOLBAR_DROP_DOWN_MENU_CONTAINER_CLASS)\r\n };\r\n _proto._overflowMenuContainer = function() {\r\n return this._$overflowMenuContainer\r\n };\r\n _proto._updateMenuVisibility = function(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 _proto._toggleMenuVisibility = function(value) {\r\n if (!this._overflowMenuContainer()) {\r\n return\r\n }\r\n this._overflowMenuContainer().toggleClass(INVISIBLE_STATE_CLASS, !value)\r\n };\r\n _proto._renderMenuItems = function() {\r\n var _this3 = this;\r\n (0, _common.deferRender)((function() {\r\n _this3.renderMenuItems()\r\n }))\r\n };\r\n _proto._dimensionChanged = function() {\r\n this.renderMenuItems()\r\n };\r\n _proto._getToolbarItems = function() {\r\n var _this$_toolbar$option, _this4 = this;\r\n return (0, _common.grep)(null !== (_this$_toolbar$option = this._toolbar.option(\"items\")) && void 0 !== _this$_toolbar$option ? _this$_toolbar$option : [], (function(item) {\r\n return !_this4._toolbar._isMenuItem(item)\r\n }))\r\n };\r\n _proto._getMenuItems = function() {\r\n var _this$_toolbar$option2, _this$_restoreItems, _this5 = this;\r\n var menuItems = (0, _common.grep)(null !== (_this$_toolbar$option2 = this._toolbar.option(\"items\")) && void 0 !== _this$_toolbar$option2 ? _this$_toolbar$option2 : [], (function(item) {\r\n return _this5._toolbar._isMenuItem(item)\r\n }));\r\n var $hiddenItems = this._toolbar._itemContainer().children(\".\".concat(TOOLBAR_AUTO_HIDE_ITEM_CLASS, \".\").concat(TOOLBAR_HIDDEN_ITEM)).not(\".\".concat(INVISIBLE_STATE_CLASS));\r\n this._restoreItems = null !== (_this$_restoreItems = this._restoreItems) && void 0 !== _this$_restoreItems ? _this$_restoreItems : [];\r\n var overflowItems = [].slice.call($hiddenItems).map((function(item) {\r\n var itemData = _this5._toolbar._getItemData(item);\r\n var $itemContainer = (0, _renderer.default)(item);\r\n var $itemMarkup = $itemContainer.children();\r\n return (0, _extend.extend)({\r\n menuItemTemplate: function() {\r\n _this5._restoreItems.push({\r\n container: $itemContainer,\r\n item: $itemMarkup\r\n });\r\n var $container = (0, _renderer.default)(\"<div>\").addClass(TOOLBAR_AUTO_HIDE_ITEM_CLASS);\r\n return $container.append($itemMarkup)\r\n }\r\n }, itemData)\r\n }));\r\n return [].concat(_toConsumableArray(overflowItems), _toConsumableArray(menuItems))\r\n };\r\n _proto._hasVisibleMenuItems = function(items) {\r\n var menuItems = null !== items && void 0 !== items ? items : this._toolbar.option(\"items\");\r\n var result = false;\r\n var optionGetter = (0, _data.compileGetter)(\"visible\");\r\n var overflowGetter = (0, _data.compileGetter)(\"locateInMenu\");\r\n (0, _iterator.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 _proto._arrangeItems = function() {\r\n var _this$_restoreItems2;\r\n this._toolbar._$centerSection.css({\r\n margin: \"0 auto\",\r\n float: \"none\"\r\n });\r\n (0, _iterator.each)(null !== (_this$_restoreItems2 = this._restoreItems) && void 0 !== _this$_restoreItems2 ? _this$_restoreItems2 : [], (function(_, obj) {\r\n (0, _renderer.default)(obj.container).append(obj.item)\r\n }));\r\n this._restoreItems = [];\r\n var elementWidth = (0, _size.getWidth)(this._toolbar.$element());\r\n this._hideOverflowItems(elementWidth);\r\n return elementWidth\r\n };\r\n _proto._hideOverflowItems = function(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 : (0, _size.getWidth)(this._toolbar.$element());\r\n (0, _renderer.default)(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 itemsWidth -= (0, _size.getOuterWidth)($item);\r\n $item.addClass(TOOLBAR_HIDDEN_ITEM);\r\n overflowItems.splice(-1, 1)\r\n }\r\n };\r\n _proto._getItemsWidth = function() {\r\n return this._toolbar._getSummaryItemsWidth([this._toolbar._$beforeSection, this._toolbar._$centerSection, this._toolbar._$afterSection])\r\n };\r\n _proto._itemOptionChanged = function(item, property, value) {\r\n if (this._toolbar._isMenuItem(item)) {\r\n if (\"disabled\" === property || \"options.disabled\" === property) {\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 _proto._renderItem = function(item, itemElement) {\r\n if (\"auto\" === item.locateInMenu) {\r\n itemElement.addClass(TOOLBAR_AUTO_HIDE_ITEM_CLASS)\r\n }\r\n };\r\n _proto._optionChanged = function(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 return SingleLineStrategy\r\n}();\r\nexports.SingleLineStrategy = SingleLineStrategy;\r\n","/**\r\n * DevExtreme (cjs/ui/toolbar/ui.toolbar.base.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _size = require(\"../../core/utils/size\");\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _themes = require(\"../themes\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _component_registrator = _interopRequireDefault(require(\"../../core/component_registrator\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _position = require(\"../../core/utils/position\");\r\nvar _uiCollection_widget = _interopRequireDefault(require(\"../collection/ui.collection_widget.async\"));\r\nvar _bindable_template = require(\"../../core/templates/bindable_template\");\r\nvar _fx = _interopRequireDefault(require(\"../../animation/fx\"));\r\nvar _constants = require(\"./constants\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\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\nvar ToolbarBase = function(_AsyncCollectionWidge) {\r\n _inheritsLoose(ToolbarBase, _AsyncCollectionWidge);\r\n\r\n function ToolbarBase() {\r\n return _AsyncCollectionWidge.apply(this, arguments) || this\r\n }\r\n var _proto = ToolbarBase.prototype;\r\n _proto._getSynchronizableOptionsForCreateComponent = function() {\r\n return _AsyncCollectionWidge.prototype._getSynchronizableOptionsForCreateComponent.call(this).filter((function(item) {\r\n return \"disabled\" !== item\r\n }))\r\n };\r\n _proto._initTemplates = function() {\r\n _AsyncCollectionWidge.prototype._initTemplates.call(this);\r\n var template = new _bindable_template.BindableTemplate(function($container, data, rawModel) {\r\n if ((0, _type.isPlainObject)(data)) {\r\n var text = data.text,\r\n html = data.html,\r\n widget = data.widget;\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 (!(0, _type.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 _proto._getDefaultOptions = function() {\r\n return (0, _extend.extend)(_AsyncCollectionWidge.prototype._getDefaultOptions.call(this), {\r\n renderAs: \"topToolbar\",\r\n grouped: false,\r\n useFlatButtons: false,\r\n useDefaultButtons: false\r\n })\r\n };\r\n _proto._defaultOptionsRules = function() {\r\n return _AsyncCollectionWidge.prototype._defaultOptionsRules.call(this).concat([{\r\n device: function() {\r\n return (0, _themes.isMaterial)()\r\n },\r\n options: {\r\n useFlatButtons: true\r\n }\r\n }])\r\n };\r\n _proto._itemContainer = function() {\r\n return this._$toolbarItemsContainer.find([\".\".concat(TOOLBAR_BEFORE_CLASS), \".\".concat(TOOLBAR_CENTER_CLASS), \".\".concat(TOOLBAR_AFTER_CLASS)].join(\",\"))\r\n };\r\n _proto._itemClass = function() {\r\n return TOOLBAR_ITEM_CLASS\r\n };\r\n _proto._itemDataKey = function() {\r\n return TOOLBAR_ITEM_DATA_KEY\r\n };\r\n _proto._dimensionChanged = function() {\r\n if (this._disposed) {\r\n return\r\n }\r\n this._arrangeItems();\r\n this._applyCompactMode()\r\n };\r\n _proto._initMarkup = function() {\r\n this._renderToolbar();\r\n this._renderSections();\r\n _AsyncCollectionWidge.prototype._initMarkup.call(this)\r\n };\r\n _proto._render = function() {\r\n _AsyncCollectionWidge.prototype._render.call(this);\r\n this._renderItemsAsync();\r\n this._updateDimensionsInMaterial()\r\n };\r\n _proto._postProcessRenderItems = function() {\r\n this._arrangeItems()\r\n };\r\n _proto._renderToolbar = function() {\r\n this.$element().addClass(_constants.TOOLBAR_CLASS);\r\n this._$toolbarItemsContainer = (0, _renderer.default)(\"<div>\").addClass(TOOLBAR_ITEMS_CONTAINER_CLASS).appendTo(this.$element());\r\n this.setAria(\"role\", \"toolbar\")\r\n };\r\n _proto._renderSections = function() {\r\n var _this = this;\r\n var $container = this._$toolbarItemsContainer;\r\n (0, _iterator.each)([\"before\", \"center\", \"after\"], (function(_, 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\")] = (0, _renderer.default)(\"<div>\").addClass(sectionClass).appendTo($container)\r\n }\r\n }))\r\n };\r\n _proto._arrangeItems = function(elementWidth) {\r\n var _elementWidth;\r\n elementWidth = null !== (_elementWidth = elementWidth) && void 0 !== _elementWidth ? _elementWidth : (0, _size.getWidth)(this.$element());\r\n this._$centerSection.css({\r\n margin: \"0 auto\",\r\n float: \"none\"\r\n });\r\n var beforeRect = (0, _position.getBoundingRect)(this._$beforeSection.get(0));\r\n var afterRect = (0, _position.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 += (0, _size.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 = (0, _size.getOuterWidth)($label) - (0, _size.getWidth)($label);\r\n $label.css(\"maxWidth\", sectionMaxWidth - labelPaddings)\r\n }\r\n };\r\n _proto._alignCenterSection = function(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 = (0, _position.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 _proto._alignSection = function($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 _proto._alignSectionLabels = function(labels, difference, expanding) {\r\n var getRealLabelWidth = function(label) {\r\n return (0, _position.getBoundingRect)(label).width\r\n };\r\n for (var i = 0; i < labels.length; i++) {\r\n var $label = (0, _renderer.default)(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 _proto._applyCompactMode = function() {\r\n var $element = this.$element();\r\n $element.removeClass(TOOLBAR_COMPACT_CLASS);\r\n if (this.option(\"compactMode\") && this._getSummaryItemsWidth(this.itemElements(), true) > (0, _size.getWidth)($element)) {\r\n $element.addClass(TOOLBAR_COMPACT_CLASS)\r\n }\r\n };\r\n _proto._getCurrentLabelsWidth = function(labels) {\r\n var width = 0;\r\n labels.forEach((function(label, index) {\r\n width += (0, _size.getOuterWidth)(label)\r\n }));\r\n return width\r\n };\r\n _proto._getCurrentLabelsPaddings = function(labels) {\r\n var padding = 0;\r\n labels.forEach((function(label, index) {\r\n padding += (0, _size.getOuterWidth)(label) - (0, _size.getWidth)(label)\r\n }));\r\n return padding\r\n };\r\n _proto._renderItem = function(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 = _AsyncCollectionWidge.prototype._renderItem.call(this, 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 _proto._renderGroupedItems = function() {\r\n var _this2 = this;\r\n (0, _iterator.each)(this.option(\"items\"), (function(groupIndex, group) {\r\n var _group$location;\r\n var groupItems = group.items;\r\n var $container = (0, _renderer.default)(\"<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 }(0, _iterator.each)(groupItems, (function(itemIndex, item) {\r\n _this2._renderItem(itemIndex, item, $container, null)\r\n }));\r\n _this2._$toolbarItemsContainer.find(\".dx-toolbar-\".concat(location)).append($container)\r\n }))\r\n };\r\n _proto._renderItems = function(items) {\r\n var grouped = this.option(\"grouped\") && items.length && items[0].items;\r\n grouped ? this._renderGroupedItems() : _AsyncCollectionWidge.prototype._renderItems.call(this, items)\r\n };\r\n _proto._getToolbarItems = function() {\r\n var _this$option;\r\n return null !== (_this$option = this.option(\"items\")) && void 0 !== _this$option ? _this$option : []\r\n };\r\n _proto._renderContentImpl = function() {\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 _proto._renderEmptyMessage = function() {};\r\n _proto._clean = function() {\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 _proto._visibilityChanged = function(visible) {\r\n if (visible) {\r\n this._arrangeItems()\r\n }\r\n };\r\n _proto._isVisible = function() {\r\n return (0, _size.getWidth)(this.$element()) > 0 && (0, _size.getHeight)(this.$element()) > 0\r\n };\r\n _proto._getIndexByItem = function(item) {\r\n return this._getToolbarItems().indexOf(item)\r\n };\r\n _proto._itemOptionChanged = function(item, property, value) {\r\n _AsyncCollectionWidge.prototype._itemOptionChanged.apply(this, [item, property, value]);\r\n this._arrangeItems()\r\n };\r\n _proto._optionChanged = function(_ref) {\r\n var name = _ref.name;\r\n _ref.value;\r\n switch (name) {\r\n case \"width\":\r\n _AsyncCollectionWidge.prototype._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 _AsyncCollectionWidge.prototype._optionChanged.apply(this, arguments)\r\n }\r\n };\r\n _proto._dispose = function() {\r\n _AsyncCollectionWidge.prototype._dispose.call(this);\r\n clearTimeout(this._waitParentAnimationTimeout)\r\n };\r\n _proto._updateDimensionsInMaterial = function() {\r\n var _this3 = this;\r\n if ((0, _themes.isMaterial)()) {\r\n Promise.all([new Promise((function(resolve) {\r\n ! function runCheck() {\r\n clearTimeout(_this3._waitParentAnimationTimeout);\r\n _this3._waitParentAnimationTimeout = setTimeout((function() {\r\n return function() {\r\n var readyToResolve = true;\r\n _this3.$element().parents().each((function(_, parent) {\r\n if (_fx.default.isAnimating((0, _renderer.default)(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 }() || runCheck()\r\n }), ANIMATION_TIMEOUT)\r\n }()\r\n })), function() {\r\n var $labels = _this3.$element().find(\".\".concat(TOOLBAR_LABEL_CLASS));\r\n var promises = [];\r\n $labels.each((function(_, label) {\r\n var text = (0, _renderer.default)(label).text();\r\n var fontWeight = (0, _renderer.default)(label).css(\"fontWeight\");\r\n promises.push((0, _themes.waitWebFont)(text, fontWeight))\r\n }));\r\n return Promise.all(promises)\r\n }()]).then((function() {\r\n _this3._dimensionChanged()\r\n }))\r\n }\r\n };\r\n return ToolbarBase\r\n}(_uiCollection_widget.default);\r\n(0, _component_registrator.default)(\"dxToolbarBase\", ToolbarBase);\r\nvar _default = ToolbarBase;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/toolbar/ui.toolbar.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _component_registrator = _interopRequireDefault(require(\"../../core/component_registrator\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _uiToolbar = _interopRequireDefault(require(\"./ui.toolbar.base\"));\r\nvar _uiToolbar2 = require(\"./ui.toolbar.utils\");\r\nvar _toolbar = require(\"./strategy/toolbar.multiline\");\r\nvar _toolbar2 = require(\"./strategy/toolbar.singleline\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar TOOLBAR_MULTILINE_CLASS = \"dx-toolbar-multiline\";\r\nvar TOOLBAR_AUTO_HIDE_TEXT_CLASS = \"dx-toolbar-text-auto-hide\";\r\nvar Toolbar = function(_ToolbarBase) {\r\n _inheritsLoose(Toolbar, _ToolbarBase);\r\n\r\n function Toolbar() {\r\n return _ToolbarBase.apply(this, arguments) || this\r\n }\r\n var _proto = Toolbar.prototype;\r\n _proto._getDefaultOptions = function() {\r\n return (0, _extend.extend)(_ToolbarBase.prototype._getDefaultOptions.call(this), {\r\n menuItemTemplate: \"menuItem\",\r\n menuContainer: void 0,\r\n overflowMenuVisible: false,\r\n multiline: false\r\n })\r\n };\r\n _proto._isMultiline = function() {\r\n return this.option(\"multiline\")\r\n };\r\n _proto._dimensionChanged = function(dimension) {\r\n if (\"height\" === dimension) {\r\n return\r\n }\r\n _ToolbarBase.prototype._dimensionChanged.call(this);\r\n this._layoutStrategy._dimensionChanged()\r\n };\r\n _proto._initMarkup = function() {\r\n _ToolbarBase.prototype._initMarkup.call(this);\r\n this._updateFocusableItemsTabIndex();\r\n this._layoutStrategy._initMarkup()\r\n };\r\n _proto._renderToolbar = function() {\r\n _ToolbarBase.prototype._renderToolbar.call(this);\r\n this._renderLayoutStrategy()\r\n };\r\n _proto._itemContainer = function() {\r\n if (this._isMultiline()) {\r\n return this._$toolbarItemsContainer\r\n }\r\n return _ToolbarBase.prototype._itemContainer.call(this)\r\n };\r\n _proto._renderLayoutStrategy = function() {\r\n this.$element().toggleClass(TOOLBAR_MULTILINE_CLASS, this._isMultiline());\r\n this._layoutStrategy = this._isMultiline() ? new _toolbar.MultiLineStrategy(this) : new _toolbar2.SingleLineStrategy(this)\r\n };\r\n _proto._renderSections = function() {\r\n if (this._isMultiline()) {\r\n return\r\n }\r\n return _ToolbarBase.prototype._renderSections.call(this)\r\n };\r\n _proto._postProcessRenderItems = function() {\r\n this._layoutStrategy._hideOverflowItems();\r\n this._layoutStrategy._updateMenuVisibility();\r\n _ToolbarBase.prototype._postProcessRenderItems.call(this);\r\n this._layoutStrategy._renderMenuItems()\r\n };\r\n _proto._renderItem = function(index, item, itemContainer, $after) {\r\n var itemElement = _ToolbarBase.prototype._renderItem.call(this, index, item, itemContainer, $after);\r\n this._layoutStrategy._renderItem(item, itemElement);\r\n var widget = item.widget,\r\n showText = item.showText;\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 _proto._getItemsWidth = function() {\r\n return this._layoutStrategy._getItemsWidth()\r\n };\r\n _proto._getMenuItems = function() {\r\n return this._layoutStrategy._getMenuItems()\r\n };\r\n _proto._getToolbarItems = function() {\r\n return this._layoutStrategy._getToolbarItems()\r\n };\r\n _proto._arrangeItems = function() {\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 _ToolbarBase.prototype._arrangeItems.call(this, elementWidth)\r\n }\r\n };\r\n _proto._itemOptionChanged = function(item, property, value) {\r\n this._layoutStrategy._itemOptionChanged(item, property, value);\r\n if (!this._isMenuItem(item)) {\r\n _ToolbarBase.prototype._itemOptionChanged.call(this, item, property, value)\r\n }\r\n if (\"disabled\" === property || \"options.disabled\" === property) {\r\n (0, _uiToolbar2.toggleItemFocusableElementTabIndex)(this, item)\r\n }\r\n if (\"location\" === property) {\r\n this.repaint()\r\n }\r\n };\r\n _proto._updateFocusableItemsTabIndex = function() {\r\n var _this = this;\r\n this._getToolbarItems().forEach((function(item) {\r\n return (0, _uiToolbar2.toggleItemFocusableElementTabIndex)(_this, item)\r\n }))\r\n };\r\n _proto._isMenuItem = function(itemData) {\r\n return \"menu\" === itemData.location || \"always\" === itemData.locateInMenu\r\n };\r\n _proto._isToolbarItem = function(itemData) {\r\n return void 0 === itemData.location || \"never\" === itemData.locateInMenu\r\n };\r\n _proto._optionChanged = function(_ref) {\r\n var name = _ref.name,\r\n value = _ref.value;\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 _ToolbarBase.prototype._optionChanged.apply(this, arguments);\r\n this._updateFocusableItemsTabIndex();\r\n break;\r\n default:\r\n _ToolbarBase.prototype._optionChanged.apply(this, arguments)\r\n }\r\n };\r\n _proto.updateDimensions = function() {\r\n this._dimensionChanged()\r\n };\r\n return Toolbar\r\n}(_uiToolbar.default);\r\n(0, _component_registrator.default)(\"dxToolbar\", Toolbar);\r\nvar _default = Toolbar;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/toolbar/ui.toolbar.utils.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.toggleItemFocusableElementTabIndex = toggleItemFocusableElementTabIndex;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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\n\r\nfunction 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 widget = itemData.widget;\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 : (0, _renderer.default)(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 (cjs/ui/tooltip.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _tooltip = _interopRequireDefault(require(\"./tooltip/tooltip\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar _default = _tooltip.default;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/tooltip/tooltip.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _guid = _interopRequireDefault(require(\"../../core/guid\"));\r\nvar _component_registrator = _interopRequireDefault(require(\"../../core/component_registrator\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _ui = _interopRequireDefault(require(\"../popover/ui.popover\"));\r\nvar _type = require(\"../../core/utils/type\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar TOOLTIP_CLASS = \"dx-tooltip\";\r\nvar TOOLTIP_WRAPPER_CLASS = \"dx-tooltip-wrapper\";\r\nvar Tooltip = _ui.default.inherit({\r\n _getDefaultOptions: function() {\r\n return (0, _extend.extend)(this.callBase(), {\r\n toolbarItems: [],\r\n showCloseButton: false,\r\n enableBodyScroll: true,\r\n showTitle: false,\r\n title: null,\r\n titleTemplate: null,\r\n onTitleRendered: null,\r\n bottomTemplate: null,\r\n preventScrollEvents: false,\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.default;\r\n this.$overlayContent().attr({\r\n id: this._contentId\r\n });\r\n this._toggleAriaDescription(true)\r\n },\r\n _toggleAriaDescription: function(showing) {\r\n var $target = (0, _renderer.default)(this.option(\"target\"));\r\n var label = showing ? this._contentId : void 0;\r\n if (!(0, _type.isWindow)($target.get(0))) {\r\n this.setAria(\"describedby\", label, $target)\r\n }\r\n }\r\n});\r\n(0, _component_registrator.default)(\"dxTooltip\", Tooltip);\r\nvar _default = Tooltip;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/tooltip/ui.tooltip.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.hide = hide;\r\nexports.show = show;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _tooltip = _interopRequireDefault(require(\"./tooltip\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _deferred = require(\"../../core/utils/deferred\");\r\nvar _view_port = require(\"../../core/utils/view_port\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar tooltip = null;\r\nvar removeTooltipElement = null;\r\nvar createTooltip = function(options) {\r\n options = (0, _extend.extend)({\r\n position: \"top\"\r\n }, options);\r\n var content = options.content;\r\n delete options.content;\r\n var $tooltip = (0, _renderer.default)(\"<div>\").html(content).appendTo((0, _view_port.value)());\r\n removeTooltipElement = function() {\r\n $tooltip.remove()\r\n };\r\n tooltip = new _tooltip.default($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\n\r\nfunction show(options) {\r\n removeTooltip();\r\n createTooltip(options);\r\n return tooltip.show()\r\n}\r\n\r\nfunction hide() {\r\n if (!tooltip) {\r\n return (new _deferred.Deferred).resolve()\r\n }\r\n return tooltip.hide().done(removeTooltip).promise()\r\n}\r\n","/**\r\n * DevExtreme (cjs/ui/track_bar.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../core/renderer\"));\r\nvar _editor = _interopRequireDefault(require(\"./editor/editor\"));\r\nvar _component_registrator = _interopRequireDefault(require(\"../core/component_registrator\"));\r\nvar _extend = require(\"../core/utils/extend\");\r\nvar _window = require(\"../core/utils/window\");\r\nvar _fx = _interopRequireDefault(require(\"../animation/fx\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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.default.inherit({\r\n _getDefaultOptions: function() {\r\n return (0, _extend.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 = (0, _renderer.default)(\"<div>\").addClass(TRACKBAR_WRAPPER_CLASS).appendTo(this.$element())\r\n },\r\n _renderContainer: function() {\r\n this._$bar = (0, _renderer.default)(\"<div>\").addClass(TRACKBAR_CONTAINER_CLASS).appendTo(this._$wrapper)\r\n },\r\n _renderRange: function() {\r\n this._$range = (0, _renderer.default)(\"<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.default.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 || !(0, _window.hasWindow)()) {\r\n return\r\n }\r\n _fx.default.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.default.stop(this._$range);\r\n this.callBase()\r\n }\r\n});\r\n(0, _component_registrator.default)(\"dxTrackBar\", TrackBar);\r\nvar _default = TrackBar;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/tree_list.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _m_widget = _interopRequireDefault(require(\"../__internal/grids/tree_list/m_widget\"));\r\nrequire(\"./tree_list/ui.tree_list.base\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar _default = _m_widget.default;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/tree_list/ui.tree_list.base.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _m_widget_base = _interopRequireDefault(require(\"../../__internal/grids/tree_list/m_widget_base\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar _default = _m_widget_base.default;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/tree_view.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _uiTree_view = _interopRequireDefault(require(\"./tree_view/ui.tree_view.search\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar _default = _uiTree_view.default;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/tree_view/ui.tree_view.base.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _size = require(\"../../core/utils/size\");\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _dom_adapter = _interopRequireDefault(require(\"../../core/dom_adapter\"));\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _message = _interopRequireDefault(require(\"../../localization/message\"));\r\nvar _click = require(\"../../events/click\");\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _window = require(\"../../core/utils/window\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _element = require(\"../../core/element\");\r\nvar _check_box = _interopRequireDefault(require(\"../check_box\"));\r\nvar _ui = _interopRequireDefault(require(\"../hierarchical_collection/ui.hierarchical_collection_widget\"));\r\nvar _index = require(\"../../events/utils/index\");\r\nvar _pointer = _interopRequireDefault(require(\"../../events/pointer\"));\r\nvar _double_click = require(\"../../events/double_click\");\r\nvar _fx = _interopRequireDefault(require(\"../../animation/fx\"));\r\nvar _ui2 = _interopRequireDefault(require(\"../scroll_view/ui.scrollable\"));\r\nvar _load_indicator = _interopRequireDefault(require(\"../load_indicator\"));\r\nvar _deferred = require(\"../../core/utils/deferred\");\r\nvar _support = require(\"../../core/utils/support\");\r\nvar _get_relative_offset = require(\"../../renovation/ui/scroll_view/utils/get_relative_offset\");\r\nvar _consts = require(\"../../renovation/ui/scroll_view/common/consts\");\r\nvar _icon = require(\"../../core/utils/icon\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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_WITH_CUSTOM_EXPANDER_ICON_CLASS = \"\".concat(ITEM_CLASS, \"-with-custom-expander-icon\");\r\nvar CUSTOM_EXPANDER_ICON_ITEM_CONTAINER_CLASS = \"\".concat(WIDGET_CLASS, \"-custom-expander-icon-item-container\");\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 CUSTOM_COLLAPSE_ICON_CLASS = \"\".concat(WIDGET_CLASS, \"-custom-collapse-icon\");\r\nvar CUSTOM_EXPAND_ICON_CLASS = \"\".concat(WIDGET_CLASS, \"-custom-expand-icon\");\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 = _ui.default.inherit({\r\n _supportedKeys: function(e) {\r\n var _this = this;\r\n var click = function(e) {\r\n var $itemElement = (0, _renderer.default)(_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 === (0, _index.addNamespace)(_click.name, EXPAND_EVENT_NAMESPACE);\r\n if (expandByClick) {\r\n _this._expandEventHandler(e)\r\n }\r\n };\r\n var select = function(e) {\r\n e.preventDefault();\r\n var $focusedElement = (0, _renderer.default)(_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 = (0, _renderer.default)(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 (0, _extend.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 = (0, _renderer.default)(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] || (0, _renderer.default)()\r\n }\r\n var element = this.$element().get(0).querySelector(\"[\".concat(DATA_ITEM_ID, '=\"').concat(key, '\"]'));\r\n return (0, _renderer.default)(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 = (0, _extend.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 expandIcon: null,\r\n collapseIcon: null,\r\n selectAllText: _message.default.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 (0, _extend.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 !_support.nativeScrolling\r\n },\r\n options: {\r\n useNativeScrolling: false\r\n }\r\n }])\r\n },\r\n _initSelectedItems: _common.noop,\r\n _syncSelectionOptions: _common.asyncNoop,\r\n _fireSelectionChanged: function() {\r\n var selectionChangePromise = this._selectionChangePromise;\r\n (0, _deferred.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 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 (0, _iterator.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 name = args.name,\r\n value = args.value,\r\n previousValue = args.previousValue;\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._initExpandEvent();\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 case \"expandIcon\":\r\n case \"collapseIcon\":\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 (0, _type.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.Deferred).resolve(invocationResult).promise()\r\n }\r\n if (invocationResult && (0, _type.isFunction)(invocationResult.then)) {\r\n return (0, _deferred.fromPromise)(invocationResult)\r\n }\r\n return (new _deferred.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 = (0, _renderer.default)(\"<div>\").addClass(LOAD_INDICATOR_CLASS);\r\n this._createComponent(this._treeViewLoadIndicator, _load_indicator.default, {});\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 = (0, _renderer.default)(\"<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 var _this2 = this;\r\n if (\"plain\" !== this.option(\"dataStructure\")) {\r\n return\r\n }\r\n this._dataSource && this._dataSource.store().on(\"inserted\", (function(newItem) {\r\n _this2.option().items = _this2.option(\"items\").concat(newItem);\r\n _this2._dataAdapter.addItem(newItem);\r\n if (!_this2._dataAdapter.isFiltered(newItem)) {\r\n return\r\n }\r\n _this2._updateLevel(_this2._parentIdGetter(newItem))\r\n })).on(\"removed\", (function(removedKey) {\r\n var node = _this2._dataAdapter.getNodeByKey(removedKey);\r\n if ((0, _type.isDefined)(node)) {\r\n _this2.option(\"items\")[_this2._dataAdapter.getIndexByKey(node.internalFields.key)] = 0;\r\n _this2._markChildrenItemsToRemove(node);\r\n _this2._removeItems();\r\n _this2._dataAdapter.removeItem(removedKey);\r\n _this2._updateLevel(_this2._parentIdGetter(node))\r\n }\r\n }))\r\n },\r\n _markChildrenItemsToRemove: function(node) {\r\n var _this3 = this;\r\n var keys = node.internalFields.childrenKeys;\r\n (0, _iterator.each)(keys, (function(_, key) {\r\n _this3.option(\"items\")[_this3._dataAdapter.getIndexByKey(key)] = 0;\r\n _this3._markChildrenItemsToRemove(_this3._dataAdapter.getNodeByKey(key))\r\n }))\r\n },\r\n _removeItems: function() {\r\n var _this4 = this;\r\n var items = (0, _extend.extend)(true, [], this.option(\"items\"));\r\n var counter = 0;\r\n (0, _iterator.each)(items, (function(index, item) {\r\n if (!item) {\r\n _this4.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 (0, _renderer.default)(scrollable.content()).children()\r\n }\r\n return (0, _renderer.default)()\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 }(0, _renderer.default)(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 var _this$_dataSource, _this$_dataSource$loa, _this$_dataSource$loa2;\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 langParams: null === (_this$_dataSource = this._dataSource) || void 0 === _this$_dataSource ? void 0 : null === (_this$_dataSource$loa = _this$_dataSource.loadOptions) || void 0 === _this$_dataSource$loa ? void 0 : null === (_this$_dataSource$loa2 = _this$_dataSource$loa.call(_this$_dataSource)) || void 0 === _this$_dataSource$loa2 ? void 0 : _this$_dataSource$loa2.langParams\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 (0, _renderer.default)(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._initExpandEvent();\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 && (0, _window.hasWindow)()) {\r\n scrollable.update()\r\n }\r\n if (!skipContentReadyAction) {\r\n this.callBase()\r\n }\r\n if (scrollable && (0, _window.hasWindow)()) {\r\n scrollable.update()\r\n }\r\n },\r\n _renderScrollableContainer: function() {\r\n this._scrollable = this._createComponent((0, _renderer.default)(\"<div>\").appendTo(this.$element()), _ui2.default, {\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 = (0, _renderer.default)(\"<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$internalFields, _node$internalFields$;\r\n var $node = (0, _renderer.default)(\"<li>\").addClass(NODE_CLASS).attr(DATA_ITEM_ID, this._encodeString(node.internalFields.key)).prependTo($nodeContainer);\r\n var attrs = {\r\n role: \"treeitem\",\r\n label: this._displayGetter(node.internalFields.item) || \"\",\r\n level: this._getLevel($nodeContainer)\r\n };\r\n var hasChildNodes = !!(null !== node && void 0 !== node && null !== (_node$internalFields = node.internalFields) && void 0 !== _node$internalFields && null !== (_node$internalFields$ = _node$internalFields.childrenKeys) && void 0 !== _node$internalFields$ && _node$internalFields$.length);\r\n if (hasChildNodes) {\r\n attrs.expanded = node.internalFields.expanded || false\r\n }\r\n this.setAria(attrs, $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 _hasCustomExpanderIcons: function() {\r\n return this.option(\"expandIcon\") || this.option(\"collapseIcon\")\r\n },\r\n _selectAllEnabled: function() {\r\n return \"selectAll\" === this.option(\"showCheckBoxesMode\") && !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 if (this._hasCustomExpanderIcons()) {\r\n $node.addClass(ITEM_WITH_CUSTOM_EXPANDER_ICON_CLASS);\r\n $nodeContainer.addClass(CUSTOM_EXPANDER_ICON_ITEM_CONTAINER_CLASS)\r\n }\r\n showCheckBox && this._renderCheckBox($node, node);\r\n this.setAria(\"selected\", nodeData.selected, $node);\r\n this._toggleSelectedClass($node, nodeData.selected);\r\n if (nodeData.disabled) {\r\n this.setAria(\"disabled\", nodeData.disabled, $node)\r\n }\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 _setAriaSelectionAttribute: _common.noop,\r\n _renderChildren: function($node, node) {\r\n var _this5 = this;\r\n if (!this._hasChildren(node)) {\r\n this._addLeafClass($node);\r\n return\r\n }\r\n if (this._hasCustomExpanderIcons()) {\r\n this._renderCustomExpanderIcons($node, node)\r\n } else {\r\n this._renderDefaultExpanderIcons($node, node)\r\n }\r\n if (this.option(\"deferRendering\") && !node.internalFields.expanded) {\r\n return\r\n }\r\n this._loadSublevel(node).done((function(childNodes) {\r\n _this5._renderSublevel($node, _this5._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 _this6 = this;\r\n var deferred = new _deferred.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((function(items) {\r\n deferred.resolve(_this6._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((function(childNode) {\r\n return -1 !== node.internalFields.childrenKeys.indexOf(childNode.internalFields.key)\r\n }));\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 = (0, _renderer.default)(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 _initExpandEvent: function() {\r\n var expandedEventName = this._getEventNameByOption(this.option(\"expandEvent\"));\r\n var $itemsContainer = this._itemContainer();\r\n var itemSelector = this._itemSelector();\r\n _events_engine.default.off($itemsContainer, \".\" + EXPAND_EVENT_NAMESPACE, itemSelector);\r\n _events_engine.default.on($itemsContainer, expandedEventName, itemSelector, this._expandEventHandler.bind(this))\r\n },\r\n _getEventNameByOption: function(name) {\r\n var event = \"click\" === name ? _click.name : _double_click.name;\r\n return (0, _index.addNamespace)(event, EXPAND_EVENT_NAMESPACE)\r\n },\r\n _getNode: function(identifier) {\r\n if (!(0, _type.isDefined)(identifier)) {\r\n return null\r\n }\r\n if (identifier.internalFields) {\r\n return identifier\r\n }\r\n if ((0, _type.isPrimitive)(identifier)) {\r\n return this._dataAdapter.getNodeByKey(identifier)\r\n }\r\n var itemElement = (0, _renderer.default)(identifier).get(0);\r\n if (!itemElement) {\r\n return null\r\n }\r\n if (_dom_adapter.default.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 = (0, _renderer.default)(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.Deferred).reject().promise()\r\n }\r\n if (node.internalFields.disabled) {\r\n return (new _deferred.Deferred).reject().promise()\r\n }\r\n var currentState = node.internalFields.expanded;\r\n if (currentState === state) {\r\n return (new _deferred.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.Deferred).reject().promise()\r\n }\r\n if (!currentState && !this._nodeHasRenderedChildren($node)) {\r\n this._createLoadIndicator($node)\r\n }\r\n }\r\n if (!(0, _type.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 _nodeHasRenderedChildren: function($node) {\r\n var $nodeContainer = $node.children(\".\".concat(NODE_CONTAINER_CLASS));\r\n return $nodeContainer.not(\":empty\").length\r\n },\r\n _createLoadIndicator: function($node) {\r\n this._createComponent((0, _renderer.default)(\"<div>\").addClass(NODE_LOAD_INDICATOR_CLASS), _load_indicator.default, {}).$element().appendTo($node);\r\n var $icon = $node.children(\".\".concat(TOGGLE_ITEM_VISIBILITY_CLASS, \",.\").concat(CUSTOM_EXPAND_ICON_CLASS));\r\n $icon.hide()\r\n },\r\n _renderExpanderIcon: function($node, node, $icon, iconClass) {\r\n $icon.appendTo($node);\r\n $icon.addClass(iconClass);\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 _renderDefaultExpanderIcons: function($node, node) {\r\n var $icon = (0, _renderer.default)(\"<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 _renderCustomExpanderIcons: function($node, node) {\r\n var _this$option = this.option(),\r\n expandIcon = _this$option.expandIcon,\r\n collapseIcon = _this$option.collapseIcon;\r\n var $expandIcon = (0, _icon.getImageContainer)(null !== expandIcon && void 0 !== expandIcon ? expandIcon : collapseIcon);\r\n var $collapseIcon = (0, _icon.getImageContainer)(null !== collapseIcon && void 0 !== collapseIcon ? collapseIcon : expandIcon);\r\n this._renderExpanderIcon($node, node, $expandIcon, CUSTOM_EXPAND_ICON_CLASS);\r\n this._renderExpanderIcon($node, node, $collapseIcon, CUSTOM_COLLAPSE_ICON_CLASS);\r\n var isNodeExpanded = node.internalFields.expanded;\r\n if (isNodeExpanded) {\r\n $node.parent().addClass(OPENED_NODE_CONTAINER_CLASS)\r\n }\r\n this._toggleCustomExpanderIcons($expandIcon, $collapseIcon, isNodeExpanded)\r\n },\r\n _renderToggleItemVisibilityIconClick: function($icon, node) {\r\n var _this7 = this;\r\n var eventName = (0, _index.addNamespace)(_click.name, this.NAME);\r\n _events_engine.default.off($icon, eventName);\r\n _events_engine.default.on($icon, eventName, (function(e) {\r\n _this7._toggleExpandedState(node.internalFields.key, void 0, e)\r\n }))\r\n },\r\n _toggleCustomExpanderIcons: function($expandIcon, $collapseIcon, isNodeExpanded) {\r\n $collapseIcon.toggle(isNodeExpanded);\r\n $expandIcon.toggle(!isNodeExpanded)\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 if (!this._hasCustomExpanderIcons()) {\r\n var $icon = $node.children(\".\".concat(TOGGLE_ITEM_VISIBILITY_CLASS));\r\n $icon.toggleClass(TOGGLE_ITEM_VISIBILITY_OPENED_CLASS, state)\r\n } else if (this._nodeHasRenderedChildren($node)) {\r\n var $childExpandIcons = $node.children(\".\".concat(CUSTOM_EXPAND_ICON_CLASS));\r\n var $childCollapseIcons = $node.children(\".\".concat(CUSTOM_COLLAPSE_ICON_CLASS));\r\n this._toggleCustomExpanderIcons($childExpandIcons, $childCollapseIcons, state)\r\n }\r\n var $nodeContainer = $node.children(\".\".concat(NODE_CONTAINER_CLASS));\r\n var nodeContainerExists = $nodeContainer.length > 0;\r\n var completionCallback = new _deferred.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 _this8 = this;\r\n var $node = this._getNodeElement(node);\r\n this._loadNestedItems(node).done((function(items) {\r\n var actualNodeData = _this8._getActualNode(node);\r\n _this8._renderSublevel($node, actualNodeData, _this8._dataAdapter.getNodesByItems(items));\r\n if (!items || !items.length) {\r\n completionCallback.resolve();\r\n return\r\n }\r\n _this8._fireContentReadyAction();\r\n _this8._animateNodeContainer(actualNodeData, state, e, completionCallback)\r\n }))\r\n },\r\n _loadNestedItems: function(node) {\r\n var _this9 = this;\r\n if (this._useCustomChildrenLoader()) {\r\n var publicNode = this._dataAdapter.getPublicNode(node);\r\n return this._loadChildrenByCustomLoader(publicNode).done((function(newItems) {\r\n if (!_this9._areNodesExists(newItems)) {\r\n _this9._appendItems(newItems)\r\n }\r\n }))\r\n }\r\n if (!this._isVirtualMode()) {\r\n return (new _deferred.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((function(newItems) {\r\n if (!_this9._areNodesExists(newItems)) {\r\n _this9._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 = (0, _size.getHeight)($nodeContainer);\r\n _fx.default.stop($nodeContainer, true);\r\n _fx.default.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 ((0, _type.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 = _load_indicator.default.getInstance($loadIndicator)) || void 0 === _LoadIndicator$getIns ? void 0 : _LoadIndicator$getIns.option(\"visible\", false)\r\n }\r\n var $toggleItem = $node.children(\".\".concat(CUSTOM_COLLAPSE_ICON_CLASS, \",.\").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 ? (0, _renderer.default)(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 = (0, _renderer.default)(\"<div>\").addClass(SELECT_ALL_ITEM_CLASS);\r\n var value = this._dataAdapter.isAllSelected();\r\n this._createComponent(this._$selectAllItem, _check_box.default, {\r\n value: value,\r\n elementAttr: {\r\n \"aria-label\": \"Select All\"\r\n },\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 = (0, _renderer.default)(\"<div>\").appendTo($node);\r\n this._createComponent($checkbox, _check_box.default, {\r\n value: node.internalFields.selected,\r\n onValueChanged: this._changeCheckboxValue.bind(this),\r\n focusStateEnabled: false,\r\n elementAttr: {\r\n \"aria-label\": \"Check State\"\r\n },\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 = (0, _renderer.default)(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 (0, _iterator.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 _this10 = this;\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 (0, _iterator.each)(selectedKeys, (function(index, key) {\r\n _this10._dataAdapter.toggleSelection(key, false);\r\n _this10._updateItemsUI();\r\n _this10._fireItemSelectionChanged(_this10._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 _this11 = this;\r\n var cache = {};\r\n (0, _iterator.each)(this._dataAdapter.getData(), (function(_, node) {\r\n var $node = _this11._getNodeElement(node, cache);\r\n var nodeSelection = node.internalFields.selected;\r\n if (!$node.length) {\r\n return\r\n }\r\n _this11._toggleSelectedClass($node, nodeSelection);\r\n _this11.setAria(\"selected\", nodeSelection, $node);\r\n if (_this11._showCheckboxes()) {\r\n _this11._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 = (0, _renderer.default)($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 = (0, _renderer.default)(initiator).closest(\".\" + NODE_CLASS).children(\".\" + ITEM_CLASS);\r\n return action((0, _extend.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 clickSelector = \".\" + this._itemClass();\r\n var pointerDownSelector = \".\" + NODE_CLASS + \", .\" + SELECT_ALL_ITEM_CLASS;\r\n var eventName = (0, _index.addNamespace)(_click.name, this.NAME);\r\n var pointerDownEvent = (0, _index.addNamespace)(_pointer.default.down, this.NAME);\r\n var $itemContainer = this._itemContainer();\r\n var that = this;\r\n _events_engine.default.off($itemContainer, eventName, clickSelector);\r\n _events_engine.default.off($itemContainer, pointerDownEvent, pointerDownSelector);\r\n _events_engine.default.on($itemContainer, eventName, clickSelector, (function(e) {\r\n that._itemClickHandler(e, (0, _renderer.default)(this))\r\n }));\r\n _events_engine.default.on($itemContainer, pointerDownEvent, pointerDownSelector, (function(e) {\r\n that._itemPointerDownHandler(e)\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 = (0, _renderer.default)($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 = (0, _renderer.default)($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 _events_engine.default.trigger(this._$selectAllItem, \"focus\");\r\n return\r\n }\r\n this.callBase()\r\n },\r\n _focusInHandler: function(e) {\r\n var _this12 = this;\r\n this._updateFocusState(e, true);\r\n var isSelectAllItem = (0, _renderer.default)(e.target).hasClass(SELECT_ALL_ITEM_CLASS);\r\n if (isSelectAllItem || this.option(\"focusedElement\")) {\r\n clearTimeout(this._setFocusedItemTimeout);\r\n var element = isSelectAllItem ? (0, _element.getPublicElement)(this._$selectAllItem) : (0, _renderer.default)(this.option(\"focusedElement\"));\r\n this._setFocusedItemTimeout = setTimeout((function() {\r\n _this12._setFocusedItem(element)\r\n }));\r\n return\r\n }\r\n var $activeItem = this._getActiveItem();\r\n this.option(\"focusedElement\", (0, _element.getPublicElement)($activeItem.closest(\".\" + NODE_CLASS)))\r\n },\r\n _itemPointerDownHandler: function(e) {\r\n if (!this.option(\"focusStateEnabled\")) {\r\n return\r\n }\r\n var $target = (0, _renderer.default)(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\", (0, _element.getPublicElement)(itemElement))\r\n },\r\n _findNonDisabledNodes: function($nodes) {\r\n return $nodes.not((function() {\r\n return (0, _renderer.default)(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.default.stop(this, true)\r\n }));\r\n var $items = 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\", (0, _element.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\", (0, _element.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\", (0, _element.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\", (0, _element.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 = (0, _renderer.default)(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\", (0, _element.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 = (0, _renderer.default)(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\", (0, _element.getPublicElement)(collapsedNode));\r\n this.getScrollable().scrollToElement(this._getNodeItemElement(collapsedNode))\r\n }\r\n },\r\n _encodeString: function(value) {\r\n return (0, _type.isString)(value) ? encodeURI(value) : value\r\n },\r\n _decodeString: function(value) {\r\n return (0, _type.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 _this13 = this;\r\n var deferred = new _deferred.Deferred;\r\n var scrollable = this.getScrollable();\r\n if (scrollable) {\r\n scrollable.update().done((function() {\r\n deferred.resolveWith(_this13)\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 var _this14 = this;\r\n return this.getSelectedNodeKeys().map((function(key) {\r\n var node = _this14._dataAdapter.getNodeByKey(key);\r\n return _this14._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 _this15 = this;\r\n var nodes = this._dataAdapter.getData();\r\n var expandingPromises = [];\r\n this._skipContentReadyAndItemExpanded = true;\r\n nodes.forEach((function(node) {\r\n return expandingPromises.push(_this15._toggleExpandedState(node.internalFields.key, true))\r\n }));\r\n Promise.allSettled(expandingPromises).then((function() {\r\n var _this15$_allItemsExpa;\r\n return null === (_this15$_allItemsExpa = _this15._allItemsExpanded) || void 0 === _this15$_allItemsExpa ? void 0 : _this15$_allItemsExpa.call(_this15)\r\n }))\r\n },\r\n collapseAll: function() {\r\n (0, _iterator.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 _this16 = this;\r\n var node = this._getNode(keyOrItemOrElement);\r\n if (!node) {\r\n return (new _deferred.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.Deferred;\r\n this._expandNodes(nodeKeysToExpand.reverse()).always((function() {\r\n var $element = _this16._getNodeElement(node);\r\n if ($element && $element.length) {\r\n _this16.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 _this$option2 = this.option(),\r\n scrollDirection = _this$option2.scrollDirection,\r\n rtlEnabled = _this$option2.rtlEnabled;\r\n var targetLocation = {\r\n top: 0,\r\n left: 0\r\n };\r\n var relativeOffset = (0, _get_relative_offset.getRelativeOffset)(_consts.SCROLLABLE_CONTENT_CLASS, targetElement);\r\n if (scrollDirection !== _consts.DIRECTION_VERTICAL) {\r\n var containerElement = (0, _renderer.default)(scrollable.container()).get(0);\r\n targetLocation.left = rtlEnabled ? relativeOffset.left + targetElement.offsetWidth - containerElement.clientWidth : relativeOffset.left\r\n }\r\n if (scrollDirection !== _consts.DIRECTION_HORIZONTAL) {\r\n targetLocation.top = relativeOffset.top\r\n }\r\n scrollable.scrollTo(targetLocation)\r\n },\r\n _expandNodes: function(keysToExpand) {\r\n var _this17 = this;\r\n if (!keysToExpand || 0 === keysToExpand.length) {\r\n return (new _deferred.Deferred).resolve().promise()\r\n }\r\n var resultCallback = new _deferred.Deferred;\r\n var callbacksByNodes = keysToExpand.map((function(key) {\r\n return _this17.expandItem(key)\r\n }));\r\n _deferred.when.apply(_renderer.default, callbacksByNodes).done((function() {\r\n return resultCallback.resolve()\r\n })).fail((function() {\r\n return resultCallback.reject()\r\n }));\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\nvar _default = TreeViewBase;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/tree_view/ui.tree_view.search.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _component_registrator = _interopRequireDefault(require(\"../../core/component_registrator\"));\r\nvar _ui = _interopRequireDefault(require(\"../widget/ui.search_box_mixin\"));\r\nvar _text_box = _interopRequireDefault(require(\"../text_box\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _uiTree_view = _interopRequireDefault(require(\"./ui.tree_view.base\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n_ui.default.setEditorClass(_text_box.default);\r\nvar WIDGET_CLASS = \"dx-treeview\";\r\nvar NODE_CONTAINER_CLASS = \"\".concat(WIDGET_CLASS, \"-node-container\");\r\nvar TreeViewSearch = _uiTree_view.default.inherit(_ui.default).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 (0, _extend.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) {\r\n if (this._selectAllEnabled()) {\r\n return this._getNodeContainer()\r\n }\r\n if (this._scrollable && isSearchMode) {\r\n return (0, _renderer.default)(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\n(0, _component_registrator.default)(\"dxTreeView\", TreeViewSearch);\r\nvar _default = TreeViewSearch;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/validation/default_adapter.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _class = _interopRequireDefault(require(\"../../core/class\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar DefaultAdapter = _class.default.inherit({\r\n ctor: function(editor, validator) {\r\n var _this = this;\r\n this.editor = editor;\r\n this.validator = validator;\r\n this.validationRequestsCallbacks = [];\r\n var handler = function(args) {\r\n _this.validationRequestsCallbacks.forEach((function(item) {\r\n return item(args)\r\n }))\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: function() {\r\n return this.editor.option(\"value\")\r\n },\r\n getCurrentValidationError: function() {\r\n return this.editor.option(\"validationError\")\r\n },\r\n bypass: function() {\r\n return this.editor.option(\"disabled\")\r\n },\r\n applyValidationResults: function(params) {\r\n this.editor.option({\r\n validationErrors: params.brokenRules,\r\n validationStatus: params.status\r\n })\r\n },\r\n reset: function() {\r\n this.editor.reset()\r\n },\r\n focus: function() {\r\n this.editor.focus()\r\n }\r\n});\r\nvar _default = DefaultAdapter;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/validation_engine.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _class = _interopRequireDefault(require(\"../core/class\"));\r\nvar _extend = require(\"../core/utils/extend\");\r\nvar _iterator = require(\"../core/utils/iterator\");\r\nvar _events_strategy = require(\"../core/events_strategy\");\r\nvar _errors = _interopRequireDefault(require(\"../core/errors\"));\r\nvar _common = require(\"../core/utils/common\");\r\nvar _type = require(\"../core/utils/type\");\r\nvar _number = _interopRequireDefault(require(\"../localization/number\"));\r\nvar _message = _interopRequireDefault(require(\"../localization/message\"));\r\nvar _deferred = require(\"../core/utils/deferred\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar STATUS = {\r\n valid: \"valid\",\r\n invalid: \"invalid\",\r\n pending: \"pending\"\r\n};\r\nvar BaseRuleValidator = function() {\r\n function BaseRuleValidator() {\r\n this.NAME = \"base\"\r\n }\r\n var _proto = BaseRuleValidator.prototype;\r\n _proto.defaultMessage = function(value) {\r\n return _message.default.getFormatter(\"validation-\".concat(this.NAME))(value)\r\n };\r\n _proto.defaultFormattedMessage = function(value) {\r\n return _message.default.getFormatter(\"validation-\".concat(this.NAME, \"-formatted\"))(value)\r\n };\r\n _proto._isValueEmpty = function(value) {\r\n return !rulesValidators.required.validate(value, {})\r\n };\r\n _proto.validate = function(value, rule) {\r\n var _this = this;\r\n var valueArray = Array.isArray(value) ? value : [value];\r\n var result = true;\r\n if (valueArray.length) {\r\n valueArray.every((function(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 return BaseRuleValidator\r\n}();\r\nvar RequiredRuleValidator = function(_BaseRuleValidator) {\r\n _inheritsLoose(RequiredRuleValidator, _BaseRuleValidator);\r\n\r\n function RequiredRuleValidator() {\r\n var _this2;\r\n _this2 = _BaseRuleValidator.call(this) || this;\r\n _this2.NAME = \"required\";\r\n return _this2\r\n }\r\n var _proto2 = RequiredRuleValidator.prototype;\r\n _proto2._validate = function(value, rule) {\r\n if (!(0, _type.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 || !(0, _type.isDefined)(rule.trim)) {\r\n value = value.trim()\r\n }\r\n return \"\" !== value\r\n };\r\n return RequiredRuleValidator\r\n}(BaseRuleValidator);\r\nvar NumericRuleValidator = function(_BaseRuleValidator2) {\r\n _inheritsLoose(NumericRuleValidator, _BaseRuleValidator2);\r\n\r\n function NumericRuleValidator() {\r\n var _this3;\r\n _this3 = _BaseRuleValidator2.call(this) || this;\r\n _this3.NAME = \"numeric\";\r\n return _this3\r\n }\r\n var _proto3 = NumericRuleValidator.prototype;\r\n _proto3._validate = function(value, rule) {\r\n if (false !== rule.ignoreEmptyValue && this._isValueEmpty(value)) {\r\n return true\r\n }\r\n if (rule.useCultureSettings && (0, _type.isString)(value)) {\r\n return !isNaN(_number.default.parse(value))\r\n } else {\r\n return (0, _type.isNumeric)(value)\r\n }\r\n };\r\n return NumericRuleValidator\r\n}(BaseRuleValidator);\r\nvar RangeRuleValidator = function(_BaseRuleValidator3) {\r\n _inheritsLoose(RangeRuleValidator, _BaseRuleValidator3);\r\n\r\n function RangeRuleValidator() {\r\n var _this4;\r\n _this4 = _BaseRuleValidator3.call(this) || this;\r\n _this4.NAME = \"range\";\r\n return _this4\r\n }\r\n var _proto4 = RangeRuleValidator.prototype;\r\n _proto4._validate = function(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 = (0, _type.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 || (0, _type.isDate)(value)) && !validValue) {\r\n return false\r\n }\r\n if ((0, _type.isDefined)(min)) {\r\n if ((0, _type.isDefined)(max)) {\r\n return number >= min && number <= max\r\n }\r\n return number >= min\r\n } else if ((0, _type.isDefined)(max)) {\r\n return number <= max\r\n } else {\r\n throw _errors.default.Error(\"E0101\")\r\n }\r\n };\r\n return RangeRuleValidator\r\n}(BaseRuleValidator);\r\nvar StringLengthRuleValidator = function(_BaseRuleValidator4) {\r\n _inheritsLoose(StringLengthRuleValidator, _BaseRuleValidator4);\r\n\r\n function StringLengthRuleValidator() {\r\n var _this5;\r\n _this5 = _BaseRuleValidator4.call(this) || this;\r\n _this5.NAME = \"stringLength\";\r\n return _this5\r\n }\r\n var _proto5 = StringLengthRuleValidator.prototype;\r\n _proto5._validate = function(value, rule) {\r\n var _value;\r\n value = String(null !== (_value = value) && void 0 !== _value ? _value : \"\");\r\n if (rule.trim || !(0, _type.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, (0, _extend.extend)({}, rule))\r\n };\r\n return StringLengthRuleValidator\r\n}(BaseRuleValidator);\r\nvar CustomRuleValidator = function(_BaseRuleValidator5) {\r\n _inheritsLoose(CustomRuleValidator, _BaseRuleValidator5);\r\n\r\n function CustomRuleValidator() {\r\n var _this6;\r\n _this6 = _BaseRuleValidator5.call(this) || this;\r\n _this6.NAME = \"custom\";\r\n return _this6\r\n }\r\n var _proto6 = CustomRuleValidator.prototype;\r\n _proto6.validate = function(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 && (0, _type.isFunction)(validator.option) && validator.option(\"dataGetter\");\r\n var extraParams = (0, _type.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 (0, _extend.extend)(params, extraParams)\r\n }\r\n return rule.validationCallback(params)\r\n };\r\n return CustomRuleValidator\r\n}(BaseRuleValidator);\r\nvar AsyncRuleValidator = function(_CustomRuleValidator) {\r\n _inheritsLoose(AsyncRuleValidator, _CustomRuleValidator);\r\n\r\n function AsyncRuleValidator() {\r\n var _this7;\r\n _this7 = _CustomRuleValidator.call(this) || this;\r\n _this7.NAME = \"async\";\r\n return _this7\r\n }\r\n var _proto7 = AsyncRuleValidator.prototype;\r\n _proto7.validate = function(value, rule) {\r\n if (!(0, _type.isDefined)(rule.reevaluate)) {\r\n (0, _extend.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 && (0, _type.isFunction)(validator.option) && validator.option(\"dataGetter\");\r\n var extraParams = (0, _type.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 (0, _extend.extend)(params, extraParams)\r\n }\r\n var callbackResult = rule.validationCallback(params);\r\n if (!(0, _type.isPromise)(callbackResult)) {\r\n throw _errors.default.Error(\"E0103\")\r\n }\r\n return this._getWrappedPromise((0, _deferred.fromPromise)(callbackResult).promise())\r\n };\r\n _proto7._getWrappedPromise = function(promise) {\r\n var deferred = new _deferred.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 ((0, _type.isDefined)(err)) {\r\n if ((0, _type.isString)(err)) {\r\n res.message = err\r\n } else if ((0, _type.isObject)(err) && (0, _type.isDefined)(err.message) && (0, _type.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 return AsyncRuleValidator\r\n}(CustomRuleValidator);\r\nvar CompareRuleValidator = function(_BaseRuleValidator6) {\r\n _inheritsLoose(CompareRuleValidator, _BaseRuleValidator6);\r\n\r\n function CompareRuleValidator() {\r\n var _this8;\r\n _this8 = _BaseRuleValidator6.call(this) || this;\r\n _this8.NAME = \"compare\";\r\n return _this8\r\n }\r\n var _proto8 = CompareRuleValidator.prototype;\r\n _proto8._validate = function(value, rule) {\r\n if (!rule.comparisonTarget) {\r\n throw _errors.default.Error(\"E0102\")\r\n }\r\n if (rule.ignoreEmptyValue && this._isValueEmpty(value)) {\r\n return true\r\n }(0, _extend.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 return CompareRuleValidator\r\n}(BaseRuleValidator);\r\nvar PatternRuleValidator = function(_BaseRuleValidator7) {\r\n _inheritsLoose(PatternRuleValidator, _BaseRuleValidator7);\r\n\r\n function PatternRuleValidator() {\r\n var _this9;\r\n _this9 = _BaseRuleValidator7.call(this) || this;\r\n _this9.NAME = \"pattern\";\r\n return _this9\r\n }\r\n var _proto9 = PatternRuleValidator.prototype;\r\n _proto9._validate = function(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 ((0, _type.isString)(pattern)) {\r\n pattern = new RegExp(pattern)\r\n }\r\n return pattern.test(value)\r\n };\r\n return PatternRuleValidator\r\n}(BaseRuleValidator);\r\nvar EmailRuleValidator = function(_BaseRuleValidator8) {\r\n _inheritsLoose(EmailRuleValidator, _BaseRuleValidator8);\r\n\r\n function EmailRuleValidator() {\r\n var _this10;\r\n _this10 = _BaseRuleValidator8.call(this) || this;\r\n _this10.NAME = \"email\";\r\n return _this10\r\n }\r\n var _proto10 = EmailRuleValidator.prototype;\r\n _proto10._validate = function(value, rule) {\r\n if (false !== rule.ignoreEmptyValue && this._isValueEmpty(value)) {\r\n return true\r\n }\r\n return rulesValidators.pattern.validate(value, (0, _extend.extend)({}, rule, {\r\n pattern: /^[\\d\\w._-]+@[\\d\\w._-]+\\.[\\w]+$/i\r\n }))\r\n };\r\n return EmailRuleValidator\r\n}(BaseRuleValidator);\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.default.inherit({\r\n ctor: function(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 _events_strategy.EventsStrategy(this)\r\n },\r\n validate: function() {\r\n var _this11 = this;\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 (0, _iterator.each)(this.validators, (function(_, 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 _this11._addPendingValidator(validator)\r\n }\r\n _this11._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 (0, _extend.extend)({}, this._validationInfo.result)\r\n },\r\n _subscribeToChangeEvents: function(validator) {\r\n validator.on(\"validating\", this._onValidatorStatusChanged);\r\n validator.on(\"validated\", this._onValidatorStatusChanged)\r\n },\r\n _unsubscribeFromChangeEvents: function(validator) {\r\n validator.off(\"validating\", this._onValidatorStatusChanged);\r\n validator.off(\"validated\", this._onValidatorStatusChanged)\r\n },\r\n _unsubscribeFromAllChangeEvents: function() {\r\n var _this12 = this;\r\n (0, _iterator.each)(this.validators, (function(_, validator) {\r\n _this12._unsubscribeFromChangeEvents(validator)\r\n }))\r\n },\r\n _updateValidationInfo: function(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.Deferred;\r\n this._validationInfo.result.complete = this._validationInfo.deferred.promise()\r\n }\r\n },\r\n _addPendingValidator: function(validator) {\r\n var foundValidator = (0, _common.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: function(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: function(brokenRules) {\r\n var orderedRules = [];\r\n (0, _iterator.each)(this.validators, (function(_, validator) {\r\n var foundRules = (0, _common.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: function(result) {\r\n if (!this._validationInfo.result) {\r\n return\r\n }\r\n var brokenRules = this._validationInfo.result.brokenRules;\r\n var rules = (0, _common.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: function(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: function(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 = (0, _extend.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((function() {\r\n deferred.resolve(res)\r\n }))\r\n }\r\n },\r\n _raiseValidatedEvent: function(result) {\r\n this._eventsStrategy.fireEvent(\"validated\", [result])\r\n },\r\n _resetValidationInfo: function() {\r\n this._validationInfo = {\r\n result: null,\r\n deferred: null\r\n }\r\n },\r\n _synchronizeValidationInfo: function() {\r\n if (this._validationInfo.result) {\r\n this._validationInfo.result.validators = this.validators\r\n }\r\n },\r\n removeRegisteredValidator: function(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: function(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: function() {\r\n (0, _iterator.each)(this.validators, (function(_, validator) {\r\n validator.reset()\r\n }));\r\n this._pendingValidators = [];\r\n this._resetValidationInfo()\r\n },\r\n on: function(eventName, eventHandler) {\r\n this._eventsStrategy.on(eventName, eventHandler);\r\n return this\r\n },\r\n off: function(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: function(group) {\r\n var result = (0, _common.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: function($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: function() {\r\n this.groups = [];\r\n this.addGroup()\r\n },\r\n addGroup: function(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: function(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: function(info) {\r\n var rule = info.rule,\r\n validator = info.validator,\r\n name = info.name;\r\n if (!(0, _type.isDefined)(rule.message)) {\r\n if (validator.defaultFormattedMessage && (0, _type.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: function(info) {\r\n var result = info.result,\r\n rule = info.rule;\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: function(value, rules, name) {\r\n var _rules$, _this13 = this;\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 (0, _iterator.each)(rules || [], (function(_, rule) {\r\n var ruleValidator = rulesValidators[rule.type];\r\n var ruleValidationResult;\r\n if (ruleValidator) {\r\n if ((0, _type.isDefined)(rule.isValid) && rule.value === value && !rule.reevaluate) {\r\n if (!rule.isValid) {\r\n result.isValid = false;\r\n _this13._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 _this13._setDefaultMessage({\r\n rule: rule,\r\n validator: ruleValidator,\r\n name: name\r\n });\r\n _this13._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.default.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: function(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: function(_ref) {\r\n var _this14 = this;\r\n var result = _ref.result,\r\n value = _ref.value,\r\n items = _ref.items,\r\n name = _ref.name;\r\n var asyncResults = [];\r\n (0, _iterator.each)(items, (function(_, item) {\r\n var validateResult = item.ruleValidator.validate(value, item.rule);\r\n if (!(0, _type.isPromise)(validateResult)) {\r\n _this14._updateRuleConfig({\r\n rule: item.rule,\r\n ruleResult: _this14._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((function(res) {\r\n var ruleResult = _this14._getPatchedRuleResult(res);\r\n _this14._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((function(values) {\r\n return _this14._getAsyncRulesResult({\r\n result: result,\r\n values: values\r\n })\r\n }))\r\n }\r\n return result\r\n },\r\n _updateRuleConfig: function(_ref2) {\r\n var rule = _ref2.rule,\r\n ruleResult = _ref2.ruleResult,\r\n validator = _ref2.validator,\r\n name = _ref2.name;\r\n rule.isValid = ruleResult.isValid;\r\n if (!ruleResult.isValid) {\r\n if ((0, _type.isDefined)(ruleResult.message) && (0, _type.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: function(ruleResult) {\r\n var result;\r\n if ((0, _type.isObject)(ruleResult)) {\r\n result = (0, _extend.extend)({}, ruleResult);\r\n if (!(0, _type.isDefined)(result.isValid)) {\r\n result.isValid = true\r\n }\r\n } else {\r\n result = {\r\n isValid: (0, _type.isBoolean)(ruleResult) ? ruleResult : true\r\n }\r\n }\r\n return result\r\n },\r\n _getAsyncRulesResult: function(_ref3) {\r\n var _this15 = this;\r\n var values = _ref3.values,\r\n result = _ref3.result;\r\n (0, _iterator.each)(values, (function(index, val) {\r\n if (false === val.isValid) {\r\n result.isValid = val.isValid;\r\n var rule = result.pendingRules[index];\r\n _this15._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: function(group, validator) {\r\n var groupConfig = ValidationEngine.addGroup(group);\r\n groupConfig.registerValidator.call(groupConfig, validator)\r\n },\r\n _shouldRemoveGroup: function(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: function(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: function(options) {\r\n var _this16 = this;\r\n var initedOptions = {};\r\n if (options) {\r\n [\"isValid\", \"validationStatus\", \"validationError\", \"validationErrors\"].forEach((function(prop) {\r\n if (prop in options) {\r\n (0, _extend.extend)(initedOptions, _this16.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: function(_ref4, options) {\r\n var name = _ref4.name,\r\n value = _ref4.value;\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 validationStatus = options.validationStatus;\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 validationErrors = options.validationErrors;\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: function(group) {\r\n var groupConfig = ValidationEngine.getGroupConfig(group);\r\n if (!groupConfig) {\r\n throw _errors.default.Error(\"E0110\")\r\n }\r\n return groupConfig.validate()\r\n },\r\n resetGroup: function(group) {\r\n var groupConfig = ValidationEngine.getGroupConfig(group);\r\n if (!groupConfig) {\r\n throw _errors.default.Error(\"E0110\")\r\n }\r\n return groupConfig.reset()\r\n }\r\n};\r\nValidationEngine.initGroups();\r\nvar _default = ValidationEngine;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/validation_group.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../core/renderer\"));\r\nvar _component_registrator = _interopRequireDefault(require(\"../core/component_registrator\"));\r\nvar _dom_component = _interopRequireDefault(require(\"../core/dom_component\"));\r\nvar _validation_summary = _interopRequireDefault(require(\"./validation_summary\"));\r\nvar _validation_engine = _interopRequireDefault(require(\"./validation_engine\"));\r\nvar _validator = _interopRequireDefault(require(\"./validator\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar VALIDATION_ENGINE_CLASS = \"dx-validationgroup\";\r\nvar VALIDATOR_CLASS = \"dx-validator\";\r\nvar VALIDATION_SUMMARY_CLASS = \"dx-validationsummary\";\r\nvar ValidationGroup = function(_DOMComponent) {\r\n _inheritsLoose(ValidationGroup, _DOMComponent);\r\n\r\n function ValidationGroup() {\r\n return _DOMComponent.apply(this, arguments) || this\r\n }\r\n var _proto = ValidationGroup.prototype;\r\n _proto._getDefaultOptions = function() {\r\n return _DOMComponent.prototype._getDefaultOptions.call(this)\r\n };\r\n _proto._init = function() {\r\n _DOMComponent.prototype._init.call(this);\r\n _validation_engine.default.addGroup(this)\r\n };\r\n _proto._initMarkup = function() {\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.default.getInstance((0, _renderer.default)(validatorContainer))._initGroupRegistration()\r\n }));\r\n $element.find(\".\".concat(VALIDATION_SUMMARY_CLASS)).each((function(_, summaryContainer) {\r\n _validation_summary.default.getInstance((0, _renderer.default)(summaryContainer)).refreshValidationGroup()\r\n }));\r\n _DOMComponent.prototype._initMarkup.call(this)\r\n };\r\n _proto.validate = function() {\r\n return _validation_engine.default.validateGroup(this)\r\n };\r\n _proto.reset = function() {\r\n return _validation_engine.default.resetGroup(this)\r\n };\r\n _proto._dispose = function() {\r\n _validation_engine.default.removeGroup(this);\r\n this.$element().removeClass(VALIDATION_ENGINE_CLASS);\r\n _DOMComponent.prototype._dispose.call(this)\r\n };\r\n _proto._useTemplates = function() {\r\n return false\r\n };\r\n return ValidationGroup\r\n}(_dom_component.default);\r\n(0, _component_registrator.default)(\"dxValidationGroup\", ValidationGroup);\r\nvar _default = ValidationGroup;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/validation_message.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _size = require(\"../core/utils/size\");\r\nvar _renderer = _interopRequireDefault(require(\"../core/renderer\"));\r\nvar _component_registrator = _interopRequireDefault(require(\"../core/component_registrator\"));\r\nvar _ui = _interopRequireDefault(require(\"./overlay/ui.overlay\"));\r\nvar _extend = require(\"../core/utils/extend\");\r\nvar _string = require(\"../core/utils/string\");\r\nvar _position = require(\"../core/utils/position\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\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 = _ui.default.inherit({\r\n _getDefaultOptions: function() {\r\n return (0, _extend.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 preventScrollEvents: false,\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: function() {\r\n this.callBase();\r\n this.updateMaxWidth();\r\n this._updatePosition()\r\n },\r\n _initMarkup: function() {\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 _this$option = this.option(),\r\n target = _this$option.target;\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: function() {\r\n var _this$option2 = this.option(),\r\n container = _this$option2.container,\r\n contentId = _this$option2.contentId;\r\n var id = null !== contentId && void 0 !== contentId ? contentId : (0, _renderer.default)(container).attr(\"aria-describedby\");\r\n this.$content().addClass(INVALID_MESSAGE_CONTENT).attr(\"id\", id)\r\n },\r\n _renderInnerHtml: function(element) {\r\n var $element = element && (0, _renderer.default)(element);\r\n null === $element || void 0 === $element ? void 0 : $element.html(this._textMarkup)\r\n },\r\n _getTextMarkup: function() {\r\n var _this$option3;\r\n var validationErrors = null !== (_this$option3 = this.option(\"validationErrors\")) && void 0 !== _this$option3 ? _this$option3 : [];\r\n var validationErrorMessage = \"\";\r\n validationErrors.forEach((function(err) {\r\n var _err$message;\r\n var separator = validationErrorMessage ? \"<br />\" : \"\";\r\n validationErrorMessage += separator + (0, _string.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: function() {\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: function() {\r\n var target = this.option(\"target\");\r\n var targetWidth = (0, _size.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 _this$option4 = this.option(),\r\n positionSide = _this$option4.positionSide,\r\n rtlEnabled = _this$option4.rtlEnabled,\r\n componentOffset = _this$option4.offset,\r\n boundary = _this$option4.boundary;\r\n var rtlSide = (0, _position.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: function(args) {\r\n var name = args.name,\r\n value = args.value,\r\n previousValue = args.previousValue;\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\n(0, _component_registrator.default)(\"dxValidationMessage\", ValidationMessage);\r\nvar _default = ValidationMessage;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/validation_summary.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _component_registrator = _interopRequireDefault(require(\"../core/component_registrator\"));\r\nvar _events_engine = _interopRequireDefault(require(\"../events/core/events_engine\"));\r\nvar _common = require(\"../core/utils/common\");\r\nvar _extend = require(\"../core/utils/extend\");\r\nvar _iterator = require(\"../core/utils/iterator\");\r\nvar _validation_engine = _interopRequireDefault(require(\"./validation_engine\"));\r\nvar _uiCollection_widget = _interopRequireDefault(require(\"./collection/ui.collection_widget.edit\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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 = _uiCollection_widget.default.inherit({\r\n _getDefaultOptions: function() {\r\n return (0, _extend.extend)(this.callBase(), {\r\n focusStateEnabled: false,\r\n noDataText: null\r\n })\r\n },\r\n _setOptionsByReference: function() {\r\n this.callBase();\r\n (0, _extend.extend)(this._optionsByReference, {\r\n validationGroup: true\r\n })\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this._initGroupRegistration()\r\n },\r\n _initGroupRegistration: function() {\r\n var $element = this.$element();\r\n var group = this.option(\"validationGroup\") || _validation_engine.default.findGroup($element, this._modelByElement($element));\r\n var groupConfig = _validation_engine.default.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: function() {\r\n var groupConfig = _validation_engine.default.getGroupConfig(this._validationGroup);\r\n groupConfig && groupConfig.off(\"validated\", this.groupSubscription)\r\n },\r\n _getOrderedItems: function(validators, items) {\r\n var orderedItems = [];\r\n (0, _iterator.each)(validators, (function(_, validator) {\r\n var foundItems = (0, _common.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: function(params) {\r\n var _this = this;\r\n var items = this._getOrderedItems(params.validators, (0, _iterator.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 (0, _iterator.each)(this.validators, (function(_, 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: function(_ref) {\r\n var isValid = _ref.isValid,\r\n validator = _ref.validator,\r\n brokenRules = _ref.brokenRules;\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 = (0, _common.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 }(0, _iterator.each)(brokenRules, (function(_, rule) {\r\n var foundItem = (0, _common.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: function() {\r\n this.$element().addClass(VALIDATION_SUMMARY_CLASS);\r\n this.callBase()\r\n },\r\n _optionChanged: function(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: function() {\r\n return ITEM_CLASS\r\n },\r\n _itemDataKey: function() {\r\n return ITEM_DATA_KEY\r\n },\r\n _postprocessRenderItem: function(params) {\r\n _events_engine.default.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: function() {\r\n this.callBase();\r\n this._unsubscribeGroup()\r\n },\r\n refreshValidationGroup: function() {\r\n this._initGroupRegistration()\r\n }\r\n});\r\n(0, _component_registrator.default)(\"dxValidationSummary\", ValidationSummary);\r\nvar _default = ValidationSummary;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/validator.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _element_data = require(\"../core/element_data\");\r\nvar _callbacks = _interopRequireDefault(require(\"../core/utils/callbacks\"));\r\nvar _ui = _interopRequireDefault(require(\"./widget/ui.errors\"));\r\nvar _dom_component = _interopRequireDefault(require(\"../core/dom_component\"));\r\nvar _extend = require(\"../core/utils/extend\");\r\nvar _iterator = require(\"../core/utils/iterator\");\r\nvar _validation_engine = _interopRequireDefault(require(\"./validation_engine\"));\r\nvar _default_adapter = _interopRequireDefault(require(\"./validation/default_adapter\"));\r\nvar _component_registrator = _interopRequireDefault(require(\"../core/component_registrator\"));\r\nvar _deferred = require(\"../core/utils/deferred\");\r\nvar _guid = _interopRequireDefault(require(\"../core/guid\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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 = _dom_component.default.inherit({\r\n _initOptions: function(options) {\r\n this.callBase.apply(this, arguments);\r\n this.option(_validation_engine.default.initValidationOptions(options))\r\n },\r\n _getDefaultOptions: function() {\r\n return (0, _extend.extend)(this.callBase(), {\r\n validationRules: []\r\n })\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this._initGroupRegistration();\r\n this.focused = (0, _callbacks.default)();\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: function() {\r\n var group = this._findGroup();\r\n if (!this._groupWasInit) {\r\n this.on(\"disposing\", (function(args) {\r\n _validation_engine.default.removeRegisteredValidator(args.component._validationGroup, args.component)\r\n }))\r\n }\r\n if (!this._groupWasInit || this._validationGroup !== group) {\r\n _validation_engine.default.removeRegisteredValidator(this._validationGroup, this);\r\n this._groupWasInit = true;\r\n this._validationGroup = group;\r\n _validation_engine.default.registerValidatorInGroup(group, this)\r\n }\r\n },\r\n _setOptionsByReference: function() {\r\n this.callBase();\r\n (0, _extend.extend)(this._optionsByReference, {\r\n validationGroup: true\r\n })\r\n },\r\n _getEditor: function() {\r\n var element = this.$element()[0];\r\n return (0, _element_data.data)(element, \"dx-validation-target\")\r\n },\r\n _initAdapter: function() {\r\n var _this = this;\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 _default_adapter.default(dxStandardEditor, this);\r\n adapter.validationRequestsCallbacks.push((function(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 _ui.default.Error(\"E0120\")\r\n }\r\n var callbacks = adapter.validationRequestsCallbacks;\r\n if (callbacks) {\r\n callbacks.push((function(args) {\r\n _this.validate(args)\r\n }))\r\n }\r\n },\r\n _toggleRTLDirection: function(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: function() {\r\n this.$element().addClass(VALIDATOR_CLASS);\r\n this.callBase()\r\n },\r\n _render: function() {\r\n this.callBase();\r\n this._toggleAccessibilityAttributes()\r\n },\r\n _toggleAccessibilityAttributes: function() {\r\n var dxStandardEditor = this._getEditor();\r\n if (dxStandardEditor) {\r\n var rules = this.option(\"validationRules\") || [];\r\n var isRequired = rules.some((function(_ref) {\r\n var type = _ref.type;\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\", (function() {\r\n dxStandardEditor.setAria(\"required\", isRequired)\r\n }))\r\n }\r\n },\r\n _visibilityChanged: function(visible) {\r\n if (visible) {\r\n this._initGroupRegistration()\r\n }\r\n },\r\n _optionChanged: function(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(_validation_engine.default.synchronizeValidationOptions(args, this.option()));\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _getValidationRules: function() {\r\n var _this2 = this;\r\n if (!this._validationRules) {\r\n this._validationRules = (0, _iterator.map)(this.option(\"validationRules\"), (function(rule, index) {\r\n return (0, _extend.extend)({}, rule, {\r\n validator: _this2,\r\n index: index\r\n })\r\n }))\r\n }\r\n return this._validationRules\r\n },\r\n _findGroup: function() {\r\n var $element = this.$element();\r\n return this.option(\"validationGroup\") || _validation_engine.default.findGroup($element, this._modelByElement($element))\r\n },\r\n _resetValidationRules: function() {\r\n delete this._validationRules\r\n },\r\n validate: function(args) {\r\n var _this3 = this;\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 (0, _extend.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 = _validation_engine.default.validate(value, rules, name)\r\n }\r\n result.id = (new _guid.default).toString();\r\n this._applyValidationResult(result, adapter);\r\n result.complete && result.complete.then((function(res) {\r\n if (res.id === _this3._validationInfo.result.id) {\r\n _this3._applyValidationResult(res, adapter)\r\n }\r\n }));\r\n return (0, _extend.extend)({}, this._validationInfo.result)\r\n },\r\n reset: function() {\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: function(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 = (0, _extend.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: function(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.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: function() {\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\n(0, _component_registrator.default)(\"dxValidator\", Validator);\r\nvar _default = Validator;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/widget/selectors.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.tabbable = exports.focused = exports.focusable = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _dom_adapter = _interopRequireDefault(require(\"../../core/dom_adapter\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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 = (0, _renderer.default)(element);\r\n return $element.is(\":visible\") && \"hidden\" !== $element.css(\"visibility\") && \"hidden\" !== $element.parents().css(\"visibility\")\r\n}\r\nvar focusable = function(index, element) {\r\n return focusableFn(element, (0, _renderer.default)(element).attr(\"tabIndex\"))\r\n};\r\nexports.focusable = focusable;\r\nvar tabbable = function(index, element) {\r\n var tabIndex = (0, _renderer.default)(element).attr(\"tabIndex\");\r\n return (isNaN(tabIndex) || tabIndex >= 0) && focusableFn(element, tabIndex)\r\n};\r\nexports.tabbable = tabbable;\r\nvar focused = function($element) {\r\n var element = (0, _renderer.default)($element).get(0);\r\n return _dom_adapter.default.getActiveElement(element) === element\r\n};\r\nexports.focused = focused;\r\n","/**\r\n * DevExtreme (cjs/ui/widget/swatch_container.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _view_port = require(\"../../core/utils/view_port\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar SWATCH_CONTAINER_CLASS_PREFIX = \"dx-swatch-\";\r\nvar getSwatchContainer = function(element) {\r\n var $element = (0, _renderer.default)(element);\r\n var swatchContainer = $element.closest('[class^=\"'.concat(SWATCH_CONTAINER_CLASS_PREFIX, '\"], [class*=\" ').concat(SWATCH_CONTAINER_CLASS_PREFIX, '\"]'));\r\n var viewport = (0, _view_port.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 = (0, _renderer.default)(\"<div>\").addClass(swatchClass).appendTo(viewport)\r\n }\r\n return viewportSwatchContainer\r\n};\r\nvar _default = {\r\n getSwatchContainer: getSwatchContainer\r\n};\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/widget/ui.errors.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _error = _interopRequireDefault(require(\"../../core/utils/error\"));\r\nvar _errors = _interopRequireDefault(require(\"../../core/errors\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar _default = (0, _error.default)(_errors.default.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});\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/widget/ui.search_box_mixin.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _message = _interopRequireDefault(require(\"../../localization/message\"));\r\nvar _ui = _interopRequireDefault(require(\"../widget/ui.errors\"));\r\nvar _deferred = require(\"../../core/utils/deferred\");\r\nvar _stubs = require(\"../../core/utils/stubs\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar EditorClass = (0, _stubs.stubComponent)(\"TextBox\");\r\nvar _default = {\r\n _getDefaultOptions: function() {\r\n return (0, _extend.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 = (0, _renderer.default)(\"<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 = _message.default.format(\"Search\");\r\n return (0, _extend.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.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.callBase()\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 _ui.default.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() {\r\n var $element = this.$element();\r\n this.setAria({\r\n role: null,\r\n activedescendant: null\r\n }, $element);\r\n $element.attr(\"tabIndex\", null)\r\n },\r\n _clean: function() {\r\n this.callBase();\r\n this._cleanAria()\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\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/widget/ui.widget.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _action = _interopRequireDefault(require(\"../../core/action\"));\r\nvar _dom_component = _interopRequireDefault(require(\"../../core/dom_component\"));\r\nvar _short = require(\"../../events/short\");\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _extend2 = require(\"../../core/utils/extend\");\r\nvar _selectors = require(\"./selectors\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _devices = _interopRequireDefault(require(\"../../core/devices\"));\r\nvar _version = require(\"../../core/utils/version\");\r\nrequire(\"../../events/click\");\r\nrequire(\"../../events/core/emitter.feedback\");\r\nrequire(\"../../events/hover\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\n\r\nfunction _defineProperty(obj, key, value) {\r\n key = _toPropertyKey(key);\r\n if (key in obj) {\r\n Object.defineProperty(obj, key, {\r\n value: value,\r\n enumerable: true,\r\n configurable: true,\r\n writable: true\r\n })\r\n } else {\r\n obj[key] = value\r\n }\r\n return obj\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\n\r\nfunction setAttribute(name, value, target) {\r\n name = \"role\" === name || \"id\" === name ? name : \"aria-\".concat(name);\r\n value = (0, _type.isDefined)(value) ? value.toString() : null;\r\n target.attr(name, value)\r\n}\r\nvar Widget = _dom_component.default.inherit({\r\n _feedbackHideTimeout: 400,\r\n _feedbackShowTimeout: 30,\r\n _supportedKeys: function() {\r\n return {}\r\n },\r\n _getDefaultOptions: function() {\r\n return (0, _extend2.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.default.real();\r\n var platform = device.platform;\r\n var version = device.version;\r\n return \"ios\" === platform && (0, _version.compare)(version, \"13.3\") <= 0\r\n },\r\n options: {\r\n useResizeObserver: false\r\n }\r\n }])\r\n },\r\n _init: function() {\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: function(innerWidget, optionsContainer) {\r\n var _this = this;\r\n var syncOptions = function() {\r\n return _this._options.silent(optionsContainer, (0, _extend2.extend)({}, innerWidget.option()))\r\n };\r\n syncOptions();\r\n innerWidget.on(\"optionChanged\", syncOptions)\r\n },\r\n _getAriaTarget: function() {\r\n return this._focusTarget()\r\n },\r\n _initContentReadyAction: function() {\r\n this._contentReadyAction = this._createActionByOption(\"onContentReady\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n },\r\n _initMarkup: function() {\r\n var _this$option = this.option(),\r\n disabled = _this$option.disabled,\r\n visible = _this$option.visible;\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: function() {\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: function() {\r\n var _this$option2 = this.option(),\r\n hint = _this$option2.hint;\r\n this.$element().attr(\"title\", hint || null)\r\n },\r\n _renderContent: function() {\r\n var _this2 = this;\r\n (0, _common.deferRender)((function() {\r\n return !_this2._disposed ? _this2._renderContentImpl() : void 0\r\n })).done((function() {\r\n return !_this2._disposed ? _this2._fireContentReadyAction() : void 0\r\n }))\r\n },\r\n _renderContentImpl: _common.noop,\r\n _fireContentReadyAction: (0, _common.deferRenderer)((function() {\r\n return this._contentReadyAction()\r\n })),\r\n _dispose: function() {\r\n this._contentReadyAction = null;\r\n this._detachKeyboardEvents();\r\n this.callBase()\r\n },\r\n _resetActiveState: function() {\r\n this._toggleActiveState(this._eventBindingTarget(), false)\r\n },\r\n _clean: function() {\r\n this._cleanFocusState();\r\n this._resetActiveState();\r\n this.callBase();\r\n this.$element().empty()\r\n },\r\n _toggleVisibility: function(visible) {\r\n this.$element().toggleClass(\"dx-state-invisible\", !visible)\r\n },\r\n _renderFocusState: function() {\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: function() {\r\n var $el = this._focusTarget();\r\n var _this$option3 = this.option(),\r\n accessKey = _this$option3.accessKey;\r\n $el.attr(\"accesskey\", accessKey)\r\n },\r\n _isFocusable: function() {\r\n var _this$option4 = this.option(),\r\n focusStateEnabled = _this$option4.focusStateEnabled,\r\n disabled = _this$option4.disabled;\r\n return focusStateEnabled && !disabled\r\n },\r\n _eventBindingTarget: function() {\r\n return this.$element()\r\n },\r\n _focusTarget: function() {\r\n return this._getActiveElement()\r\n },\r\n _isFocusTarget: function(element) {\r\n var focusTargets = (0, _renderer.default)(this._focusTarget()).toArray();\r\n return focusTargets.includes(element)\r\n },\r\n _findActiveTarget: function($element) {\r\n return $element.find(this._activeStateUnit).not(\".dx-state-disabled\")\r\n },\r\n _getActiveElement: function() {\r\n var activeElement = this._eventBindingTarget();\r\n if (this._activeStateUnit) {\r\n return this._findActiveTarget(activeElement)\r\n }\r\n return activeElement\r\n },\r\n _renderFocusTarget: function() {\r\n var _this$option5 = this.option(),\r\n tabIndex = _this$option5.tabIndex;\r\n this._focusTarget().attr(\"tabIndex\", tabIndex)\r\n },\r\n _keyboardEventBindingTarget: function() {\r\n return this._eventBindingTarget()\r\n },\r\n _refreshFocusEvent: function() {\r\n this._detachFocusEvents();\r\n this._attachFocusEvents()\r\n },\r\n _focusEventTarget: function() {\r\n return this._focusTarget()\r\n },\r\n _focusInHandler: function(event) {\r\n var _this3 = this;\r\n if (!event.isDefaultPrevented()) {\r\n this._createActionByOption(\"onFocusIn\", {\r\n beforeExecute: function() {\r\n return _this3._updateFocusState(event, true)\r\n },\r\n excludeValidators: [\"readOnly\"]\r\n })({\r\n event: event\r\n })\r\n }\r\n },\r\n _focusOutHandler: function(event) {\r\n var _this4 = this;\r\n if (!event.isDefaultPrevented()) {\r\n this._createActionByOption(\"onFocusOut\", {\r\n beforeExecute: function() {\r\n return _this4._updateFocusState(event, false)\r\n },\r\n excludeValidators: [\"readOnly\", \"disabled\"]\r\n })({\r\n event: event\r\n })\r\n }\r\n },\r\n _updateFocusState: function(_ref, isFocused) {\r\n var target = _ref.target;\r\n if (this._isFocusTarget(target)) {\r\n this._toggleFocusClass(isFocused, (0, _renderer.default)(target))\r\n }\r\n },\r\n _toggleFocusClass: function(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: function(element) {\r\n var $focusTarget = (0, _renderer.default)(element || this._focusTarget());\r\n return $focusTarget.hasClass(\"dx-state-focused\")\r\n },\r\n _isFocused: function() {\r\n return this._hasFocusClass()\r\n },\r\n _getKeyboardListeners: function() {\r\n return []\r\n },\r\n _attachKeyboardEvents: function() {\r\n var _this5 = this;\r\n this._detachKeyboardEvents();\r\n var _this$option6 = this.option(),\r\n focusStateEnabled = _this$option6.focusStateEnabled,\r\n onKeyboardHandled = _this$option6.onKeyboardHandled;\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 = _short.keyboard.on(this._keyboardEventBindingTarget(), this._focusTarget(), (function(opts) {\r\n return _this5._keyboardHandler(opts)\r\n }))\r\n }\r\n },\r\n _keyboardHandler: function(options, onlyChildProcessing) {\r\n if (!onlyChildProcessing) {\r\n var originalEvent = options.originalEvent,\r\n keyName = options.keyName,\r\n which = options.which;\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 _this$option7 = this.option(),\r\n onKeyboardHandled = _this$option7.onKeyboardHandled;\r\n keyboardListeners.forEach((function(listener) {\r\n return listener && listener._keyboardHandler(options)\r\n }));\r\n onKeyboardHandled && onKeyboardHandled(options);\r\n return true\r\n },\r\n _refreshFocusState: function() {\r\n this._cleanFocusState();\r\n this._renderFocusState()\r\n },\r\n _cleanFocusState: function() {\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: function() {\r\n _short.keyboard.off(this._keyboardListenerId);\r\n this._keyboardListenerId = null\r\n },\r\n _attachHoverEvents: function() {\r\n var _this6 = this;\r\n var _this$option8 = this.option(),\r\n hoverStateEnabled = _this$option8.hoverStateEnabled;\r\n var selector = this._activeStateUnit;\r\n var $el = this._eventBindingTarget();\r\n _short.hover.off($el, {\r\n selector: selector,\r\n namespace: \"UIFeedback\"\r\n });\r\n if (hoverStateEnabled) {\r\n _short.hover.on($el, new _action.default((function(_ref2) {\r\n var event = _ref2.event,\r\n element = _ref2.element;\r\n _this6._hoverStartHandler(event);\r\n _this6.option(\"hoveredElement\", (0, _renderer.default)(element))\r\n }), {\r\n excludeValidators: [\"readOnly\"]\r\n }), (function(event) {\r\n _this6.option(\"hoveredElement\", null);\r\n _this6._hoverEndHandler(event)\r\n }), {\r\n selector: selector,\r\n namespace: \"UIFeedback\"\r\n })\r\n }\r\n },\r\n _attachFeedbackEvents: function() {\r\n var _this7 = this;\r\n var _this$option9 = this.option(),\r\n activeStateEnabled = _this$option9.activeStateEnabled;\r\n var selector = this._activeStateUnit;\r\n var $el = this._eventBindingTarget();\r\n _short.active.off($el, {\r\n namespace: \"UIFeedback\",\r\n selector: selector\r\n });\r\n if (activeStateEnabled) {\r\n _short.active.on($el, new _action.default((function(_ref3) {\r\n var event = _ref3.event,\r\n element = _ref3.element;\r\n return _this7._toggleActiveState((0, _renderer.default)(element), true, event)\r\n })), new _action.default((function(_ref4) {\r\n var event = _ref4.event,\r\n element = _ref4.element;\r\n return _this7._toggleActiveState((0, _renderer.default)(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: function() {\r\n var $el = this._focusEventTarget();\r\n _short.focus.off($el, {\r\n namespace: \"\".concat(this.NAME, \"Focus\")\r\n })\r\n },\r\n _attachFocusEvents: function() {\r\n var _this8 = this;\r\n var $el = this._focusEventTarget();\r\n _short.focus.on($el, (function(e) {\r\n return _this8._focusInHandler(e)\r\n }), (function(e) {\r\n return _this8._focusOutHandler(e)\r\n }), {\r\n namespace: \"\".concat(this.NAME, \"Focus\"),\r\n isFocusable: function(index, el) {\r\n return (0, _renderer.default)(el).is(_selectors.focusable)\r\n }\r\n })\r\n },\r\n _hoverStartHandler: _common.noop,\r\n _hoverEndHandler: _common.noop,\r\n _toggleActiveState: function($element, value) {\r\n this.option(\"isActive\", value);\r\n $element.toggleClass(\"dx-state-active\", value)\r\n },\r\n _updatedHover: function() {\r\n var hoveredElement = this._options.silent(\"hoveredElement\");\r\n this._hover(hoveredElement, hoveredElement)\r\n },\r\n _findHoverTarget: function($el) {\r\n return $el && $el.closest(this._activeStateUnit || this._eventBindingTarget())\r\n },\r\n _hover: function($el, $previous) {\r\n var _this$option10 = this.option(),\r\n hoverStateEnabled = _this$option10.hoverStateEnabled,\r\n disabled = _this$option10.disabled,\r\n isActive = _this$option10.isActive;\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: function(value) {\r\n this.$element().toggleClass(\"dx-state-disabled\", Boolean(value));\r\n this.setAria(\"disabled\", value || void 0)\r\n },\r\n _toggleIndependentState: function() {\r\n this.$element().toggleClass(\"dx-state-independent\", this.option(\"ignoreParentReadOnly\"))\r\n },\r\n _setWidgetOption: function(widgetName, args) {\r\n var _this9 = this;\r\n if (!this[widgetName]) {\r\n return\r\n }\r\n if ((0, _type.isPlainObject)(args[0])) {\r\n (0, _iterator.each)(args[0], (function(option, value) {\r\n return _this9._setWidgetOption(widgetName, [option, value])\r\n }));\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: function(args) {\r\n var name = args.name,\r\n value = args.value,\r\n previousValue = args.previousValue;\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: function() {\r\n var _this$option11 = this.option(),\r\n visible = _this$option11.visible;\r\n return this.callBase() && visible\r\n },\r\n beginUpdate: function() {\r\n this._ready(false);\r\n this.callBase()\r\n },\r\n endUpdate: function() {\r\n this.callBase();\r\n if (this._initialized) {\r\n this._ready(true)\r\n }\r\n },\r\n _ready: function(value) {\r\n if (0 === arguments.length) {\r\n return this._isReady\r\n }\r\n this._isReady = value\r\n },\r\n setAria: function() {\r\n if (!(0, _type.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 (0, _iterator.each)(arguments.length <= 0 ? void 0 : arguments[0], (function(name, value) {\r\n return setAttribute(name, value, target)\r\n }))\r\n }\r\n },\r\n isReady: function() {\r\n return this._ready()\r\n },\r\n repaint: function() {\r\n this._refresh()\r\n },\r\n focus: function() {\r\n _short.focus.trigger(this._focusTarget())\r\n },\r\n registerKeyHandler: function(key, handler) {\r\n var currentKeys = this._supportedKeys();\r\n this._supportedKeys = function() {\r\n return (0, _extend2.extend)(currentKeys, _defineProperty({}, key, handler))\r\n }\r\n }\r\n});\r\nWidget.getOptionsFromContainer = function(_ref5) {\r\n var name = _ref5.name,\r\n fullName = _ref5.fullName,\r\n value = _ref5.value;\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\nvar _default = Widget;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/ui/widget/utils.ink_ripple.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.hideWave = hideWave;\r\nexports.render = exports.initConfig = void 0;\r\nexports.showWave = showWave;\r\nvar _size = require(\"../../core/utils/size\");\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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\nvar initConfig = function() {\r\n var config = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};\r\n var useHoldAnimation = config.useHoldAnimation,\r\n waveSizeCoefficient = config.waveSizeCoefficient,\r\n isCentered = config.isCentered,\r\n wavesNumber = config.wavesNumber;\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\nexports.initConfig = initConfig;\r\nvar 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\nexports.render = render;\r\nvar getInkRipple = function(element) {\r\n var result = element.children(\".\" + INKRIPPLE_CLASS);\r\n if (0 === result.length) {\r\n result = (0, _renderer.default)(\"<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((0, _renderer.default)(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 = (0, _renderer.default)(\"<div>\").appendTo(inkRipple).addClass(INKRIPPLE_WAVE_CLASS);\r\n result.push($currentWave[0])\r\n }\r\n return (0, _renderer.default)(result)\r\n};\r\nvar getWaveStyleConfig = function(args, config) {\r\n var element = (0, _renderer.default)(config.element);\r\n var elementWidth = (0, _size.getOuterWidth)(element);\r\n var elementHeight = (0, _size.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\n\r\nfunction 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\n\r\nfunction 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 (cjs/viz/axes/axes_constants.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _utils = require(\"../core/utils\");\r\nvar _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 (0, _utils.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\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/viz/axes/axes_utils.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.measureLabels = exports.calculateCanvasMargins = void 0;\r\nvar _max = Math.max;\r\nvar 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\nexports.calculateCanvasMargins = calculateCanvasMargins;\r\nvar 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\nexports.measureLabels = measureLabels;\r\n","/**\r\n * DevExtreme (cjs/viz/axes/base_axis.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.Axis = void 0;\r\nvar _smart_formatter = require(\"./smart_formatter\");\r\nvar _utils = require(\"../core/utils\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _axes_constants = _interopRequireDefault(require(\"./axes_constants\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _format_helper = _interopRequireDefault(require(\"../../format_helper\"));\r\nvar _parse_utils = require(\"../components/parse_utils\");\r\nvar _tick_generator = require(\"./tick_generator\");\r\nvar _translator2d = require(\"../translators/translator2d\");\r\nvar _range = require(\"../translators/range\");\r\nvar _tick = require(\"./tick\");\r\nvar _math2 = require(\"../../core/utils/math\");\r\nvar _errors = _interopRequireDefault(require(\"../../core/errors\"));\r\nvar _date = _interopRequireDefault(require(\"../../core/utils/date\"));\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _xy_axes = _interopRequireDefault(require(\"./xy_axes\"));\r\nvar polarMethods = _interopRequireWildcard(require(\"./polar_axes\"));\r\nvar _constant_line = _interopRequireDefault(require(\"./constant_line\"));\r\nvar _strip = _interopRequireDefault(require(\"./strip\"));\r\nvar _deferred = require(\"../../core/utils/deferred\");\r\nvar _axes_utils = require(\"./axes_utils\");\r\n\r\nfunction _getRequireWildcardCache(nodeInterop) {\r\n if (\"function\" !== typeof WeakMap) {\r\n return null\r\n }\r\n var cacheBabelInterop = new WeakMap;\r\n var cacheNodeInterop = new WeakMap;\r\n return (_getRequireWildcardCache = function(nodeInterop) {\r\n return nodeInterop ? cacheNodeInterop : cacheBabelInterop\r\n })(nodeInterop)\r\n}\r\n\r\nfunction _interopRequireWildcard(obj, nodeInterop) {\r\n if (!nodeInterop && obj && obj.__esModule) {\r\n return obj\r\n }\r\n if (null === obj || \"object\" !== _typeof(obj) && \"function\" !== typeof obj) {\r\n return {\r\n default: obj\r\n }\r\n }\r\n var cache = _getRequireWildcardCache(nodeInterop);\r\n if (cache && cache.has(obj)) {\r\n return cache.get(obj)\r\n }\r\n var newObj = {};\r\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\r\n for (var key in obj) {\r\n if (\"default\" !== key && Object.prototype.hasOwnProperty.call(obj, key)) {\r\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\r\n if (desc && (desc.get || desc.set)) {\r\n Object.defineProperty(newObj, key, desc)\r\n } else {\r\n newObj[key] = obj[key]\r\n }\r\n }\r\n }\r\n newObj.default = obj;\r\n if (cache) {\r\n cache.set(obj, newObj)\r\n }\r\n return newObj\r\n}\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\n\r\nfunction _defineProperty(obj, key, value) {\r\n key = _toPropertyKey(key);\r\n if (key in obj) {\r\n Object.defineProperty(obj, key, {\r\n value: value,\r\n enumerable: true,\r\n configurable: true,\r\n writable: true\r\n })\r\n } else {\r\n obj[key] = value\r\n }\r\n return obj\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\nvar convertTicksToValues = _axes_constants.default.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 = _axes_constants.default.top;\r\nvar BOTTOM = _axes_constants.default.bottom;\r\nvar LEFT = _axes_constants.default.left;\r\nvar RIGHT = _axes_constants.default.right;\r\nvar CENTER = _axes_constants.default.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 allowNegatives = _ref.allowNegatives,\r\n linearThreshold = _ref.linearThreshold;\r\n return (0, _tick_generator.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 (0, _tick.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 (0, _tick.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 (0, _tick.tick)(axis, renderer, (0, _extend.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((function(e) {\r\n return e[action](actionArgument1, actionArgument2)\r\n }))\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 var _TOP$BOTTOM$LEFT$RIGH;\r\n labelPosition = (_TOP$BOTTOM$LEFT$RIGH = {}, _defineProperty(_TOP$BOTTOM$LEFT$RIGH, TOP, BOTTOM), _defineProperty(_TOP$BOTTOM$LEFT$RIGH, BOTTOM, TOP), _defineProperty(_TOP$BOTTOM$LEFT$RIGH, LEFT, RIGHT), _defineProperty(_TOP$BOTTOM$LEFT$RIGH, RIGHT, LEFT), _TOP$BOTTOM$LEFT$RIGH)[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 var _TOP$BOTTOM$LEFT$RIGH2;\r\n labelOptions.alignment = (_TOP$BOTTOM$LEFT$RIGH2 = {}, _defineProperty(_TOP$BOTTOM$LEFT$RIGH2, TOP, CENTER), _defineProperty(_TOP$BOTTOM$LEFT$RIGH2, BOTTOM, CENTER), _defineProperty(_TOP$BOTTOM$LEFT$RIGH2, LEFT, RIGHT), _defineProperty(_TOP$BOTTOM$LEFT$RIGH2, RIGHT, LEFT), _TOP$BOTTOM$LEFT$RIGH2)[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 = (0, _extend.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, _common.noop, skipTickGeneration, viewPort.isEmpty(), (function(v) {\r\n return v\r\n }), viewPort)({\r\n min: min,\r\n max: max,\r\n categories: viewPort.categories,\r\n isSpacedMargin: viewPort.isSpacedMargin\r\n }, screenDelta, tickInterval, (0, _type.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\n\r\nfunction checkDeprecatedOptions(isValueAxis, options) {\r\n if (isValueAxis && \"shift\" === options.visualRangeUpdateMode) {\r\n _errors.default.log(\"W0016\", \"valueAxis.visualRangeUpdateMode\", \"shift\", \"23.1\", \"Specify another value\")\r\n }\r\n}\r\nvar 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\nexports.Axis = Axis;\r\nAxis.prototype = {\r\n constructor: Axis,\r\n _drawAxis: function() {\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: function(points, attr, sharpDirection) {\r\n return this.sharp(this._renderer.path(points, \"line\").attr(attr), sharpDirection)\r\n },\r\n sharp: function(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: function() {\r\n return false\r\n },\r\n getOrthogonalAxis: _common.noop,\r\n getCustomPosition: _common.noop,\r\n getCustomBoundaryPosition: _common.noop,\r\n resolveOverlappingForCustomPositioning: _common.noop,\r\n hasNonBoundaryPosition: function() {\r\n return false\r\n },\r\n customPositionIsBoundaryOrthogonalAxis: function() {\r\n return false\r\n },\r\n getResolvedBoundaryPosition: function() {\r\n return this.getOptions().position\r\n },\r\n getAxisSharpDirection: function() {\r\n var position = this.getResolvedBoundaryPosition();\r\n return this.hasNonBoundaryPosition() || position !== BOTTOM && position !== RIGHT ? 1 : -1\r\n },\r\n getSharpDirectionByCoords: function(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 (!(0, _type.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 font = _ref2.font,\r\n cssClass = _ref2.cssClass;\r\n return this._renderer.text(text, x, y).css((0, _utils.patchFontOptions)((0, _extend.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 ((0, _type.isDefined)(startValue) && (0, _type.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 ((0, _type.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 ((0, _type.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: function(offset, maxWidth, checkCanvas) {\r\n var _this = this;\r\n var getContainerAttrs = function(tick) {\r\n return _this._getLabelAdjustedCoord(tick, offset + (tick.labelOffset || 0), maxWidth, checkCanvas)\r\n };\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 ? (0, _utils.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 || (0, _utils.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: (0, _smart_formatter.smartFormatter)(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 (0, _type.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 (0, _type.isFunction)(labelOptions.customizeHint) ? labelOptions.customizeHint.call(formatObject, formatObject) : void 0\r\n },\r\n formatRange: function(startValue, endValue, interval, argumentFormat) {\r\n return (0, _smart_formatter.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: function() {\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: function() {\r\n return this._firstDrawing\r\n },\r\n getMargins: function() {\r\n var that = this;\r\n var _that$_options = that._options,\r\n position = _that$_options.position,\r\n offset = _that$_options.offset,\r\n customPosition = _that$_options.customPosition,\r\n placeholderSize = _that$_options.placeholderSize,\r\n grid = _that$_options.grid,\r\n tick = _that$_options.tick,\r\n crosshairMargin = _that$_options.crosshairMargin;\r\n var isDefinedCustomPositionOption = (0, _type.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((function(group) {\r\n return group && group.getBBox()\r\n })).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 = (0, _axes_utils.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 && (0, _type.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 = _xy_axes.default;\r\n break;\r\n case \"polarAxes\":\r\n axisTypeMethods = polarMethods\r\n }(0, _extend.extend)(this, axisTypeMethods[drawingType])\r\n },\r\n _getSharpParam: function() {\r\n return true\r\n },\r\n _disposeBreaksGroup: _common.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 checkDeprecatedOptions(!that.isArgumentAxis, 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 && (0, _type.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 = (0, _utils.patchFontOptions)(labelOpt.font);\r\n if (options.type === _axes_constants.default.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((function(o) {\r\n return (0, _strip.default)(that, o)\r\n }));\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 !== _axes_constants.default.logarithmic) {\r\n return _abs(value - prevValue)\r\n }\r\n var _Range = new _range.Range(this.getTranslator().getBusinessRange()),\r\n allowNegatives = _Range.allowNegatives,\r\n linearThreshold = _Range.linearThreshold;\r\n return _abs((0, _utils.getLogExt)(value, options.logarithmBase, allowNegatives, linearThreshold) - (0, _utils.getLogExt)(prevValue, options.logarithmBase, allowNegatives, linearThreshold))\r\n },\r\n getCanvasRange: function() {\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: function() {\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: function(range) {\r\n var options = this._options;\r\n if (options.type === _axes_constants.default.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: function(businessRange) {\r\n var options = this._options;\r\n var isDiscrete = options.type === _axes_constants.default.discrete;\r\n var categories = this._seriesData && this._seriesData.categories || [];\r\n var wholeRange = this.adjustRange((0, _utils.getVizRangeObject)(options.wholeRange));\r\n var visualRange = this.getViewport() || {};\r\n var result = new _range.Range(businessRange);\r\n this._addConstantLinesToRange(result);\r\n var minDefined = (0, _type.isDefined)(visualRange.startValue);\r\n var maxDefined = (0, _type.isDefined)(visualRange.endValue);\r\n if (!isDiscrete) {\r\n minDefined = minDefined && (!(0, _type.isDefined)(wholeRange.endValue) || visualRange.startValue < wholeRange.endValue);\r\n maxDefined = maxDefined && (!(0, _type.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 = (0, _utils.getCategoriesInfo)(categories, wholeRange.startValue, wholeRange.endValue);\r\n categories = categoriesInfo.categories;\r\n result.categories = categories\r\n }\r\n var adjustedVisualRange = (0, _utils.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 !(0, _type.isDefined)(result.min) && (result.min = result.minVisible);\r\n !(0, _type.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: function(range) {\r\n range = range || {};\r\n var isDiscrete = this._options.type === _axes_constants.default.discrete;\r\n var isLogarithmic = this._options.type === _axes_constants.default.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 && (0, _type.isDefined)(range.startValue) && (0, _type.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: function(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 (!(0, _type.isDefined)(_viewport.startValue) && !(0, _type.isDefined)(_viewport.endValue) && !(0, _type.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 === _axes_constants.default.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((function(c) {\r\n return c.valueOf()\r\n })).join(\",\").indexOf(categories.map((function(c) {\r\n return c.valueOf()\r\n })).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: function(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: function(range) {\r\n var currentBusinessRange = range || this._translator.getBusinessRange();\r\n var type = this._options.type;\r\n var length;\r\n if (type === _axes_constants.default.logarithmic) {\r\n length = (0, _math2.adjust)(this.calculateInterval(currentBusinessRange.maxVisible, currentBusinessRange.minVisible))\r\n } else if (type === _axes_constants.default.discrete) {\r\n var categoriesInfo = (0, _utils.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: function(range, useMerge) {\r\n var translator = this.getTranslator();\r\n var businessRange = translator.getBusinessRange();\r\n var currentBusinessRange = useMerge ? (0, _extend.extend)(true, {}, businessRange, range || {}) : range || businessRange;\r\n var _this$_options = this._options,\r\n type = _this$_options.type,\r\n logarithmBase = _this$_options.logarithmBase;\r\n var center;\r\n if (!(0, _type.isDefined)(currentBusinessRange.minVisible) || !(0, _type.isDefined)(currentBusinessRange.maxVisible)) {\r\n return\r\n }\r\n if (type === _axes_constants.default.logarithmic) {\r\n var allowNegatives = currentBusinessRange.allowNegatives,\r\n linearThreshold = currentBusinessRange.linearThreshold,\r\n minVisible = currentBusinessRange.minVisible,\r\n maxVisible = currentBusinessRange.maxVisible;\r\n center = (0, _utils.raiseToExt)((0, _math2.adjust)((0, _utils.getLogExt)(maxVisible, logarithmBase, allowNegatives, linearThreshold) + (0, _utils.getLogExt)(minVisible, logarithmBase, allowNegatives, linearThreshold)) / 2, logarithmBase, allowNegatives, linearThreshold)\r\n } else if (type === _axes_constants.default.discrete) {\r\n var categoriesInfo = (0, _utils.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: function(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 === _axes_constants.default.discrete;\r\n this._handleBusinessRangeChanged(oppositeVisualRangeUpdateMode, axisReinitialized, range);\r\n this._seriesData = new _range.Range(range);\r\n var dataIsEmpty = this._seriesData.isEmpty();\r\n var rangeWithConstantLines = new _range.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 (!(0, _type.isDefined)(this._seriesData.min) && !(0, _type.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 ((0, _type.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: function(dataRange) {\r\n this._outsideConstantLines.concat(this._insideConstantLines || []).forEach((function(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: !(0, _type.isDefined)(dataRange.min) ? value : dataRange.min,\r\n max: !(0, _type.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 (0, _type.isDefined)(value) ? this.formatLabel(value, (0, _extend.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 === _axes_constants.default.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 && (0, _type.isDefined)(customBounds[0])) {\r\n boundaryTicks.push(customBounds[0])\r\n }\r\n if (addMinMax.max && (0, _type.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(), _common.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 === _axes_constants.default.discrete && \"datetime\" === options.dataType && !this._hasLabelFormat && ticks.ticks.length) {\r\n options.label.format = _format_helper.default.getDateFormatByTicks(ticks.ticks)\r\n }\r\n return ticks\r\n },\r\n getAggregationInfo: function(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.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 === _axes_constants.default.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 !== _axes_constants.default.discrete) {\r\n var min = useAllAggregatedPoints ? businessRange.min : minVisible;\r\n var max = useAllAggregatedPoints ? businessRange.max : maxVisible;\r\n if ((0, _type.isDefined)(min) && (0, _type.isDefined)(max)) {\r\n var add = (0, _utils.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 && (0, _type.isDefined)(tickInterval)) {\r\n var maxMinDistance = Math.max(this.calculateInterval(max, min), \"datetime\" === options.dataType ? _date.default.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: function() {\r\n return this._tickInterval\r\n },\r\n getAggregationInterval: function() {\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), _common.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 (0, _utils.valueOf)(boundary) === (0, _utils.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((function(r, t) {\r\n r[t.value.valueOf()] = t;\r\n return r\r\n }), {});\r\n var sameType = (0, _type.type)(ticks.ticks[0]) === (0, _type.type)(oldMajorTicks[0] && oldMajorTicks[0].value);\r\n var skippedCategory = that._getSkippedCategory(ticks.ticks);\r\n var majorTicks = ticks.ticks.map((function(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((function(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((function(k) {\r\n return majorTicksByValues[k]\r\n })).concat(oldMinorTicks.slice(that._minorTicks.length, oldMinorTicks.length));\r\n that._ticksToRemove.forEach((function(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: function() {\r\n return this.adjustViewport(this._seriesData)\r\n },\r\n setMarginOptions: function(options) {\r\n this._marginOptions = options\r\n },\r\n getMarginOptions: function() {\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 (0, _type.isDefined)(value) && minArgs.push(isDateTime ? _date.default.dateToMilliseconds(value) : value)\r\n };\r\n addToArgs(this._tickInterval);\r\n addToArgs(this._estimatedTickInterval);\r\n (0, _type.isDefined)(interval) && minArgs.push(interval);\r\n addToArgs(this._aggregationInterval);\r\n return this._calculateWorkWeekInterval(_min.apply(this, minArgs))\r\n },\r\n _calculateWorkWeekInterval: function(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: function(intervalInPx, screenDelta) {\r\n var ratioOfCanvasRange = this._translator.ratioOfCanvasRange();\r\n return ratioOfCanvasRange / (ratioOfCanvasRange * screenDelta / (intervalInPx + screenDelta))\r\n },\r\n _calculateValueMargins: function(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(_axes_constants.default.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 ((0, _type.isDefined)(minValueMargin)) {\r\n minPercentPadding = isFinite(minValueMargin) ? minValueMargin : 0\r\n } else if (!this.isArgumentAxis && margins.checkInterval && (0, _utils.valueOf)(dataRange.minVisible) > 0 && (0, _utils.valueOf)(dataRange.minVisible) === (0, _utils.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 ((0, _type.isDefined)(maxValueMargin)) {\r\n maxPercentPadding = isFinite(maxValueMargin) ? maxValueMargin : 0\r\n } else if (!this.isArgumentAxis && margins.checkInterval && (0, _utils.valueOf)(dataRange.maxVisible) < 0 && (0, _utils.valueOf)(dataRange.maxVisible) === (0, _utils.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 !== _axes_constants.default.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 _that$getCorrectedVal = this.getCorrectedValuesToZero(minValue, maxValue),\r\n correctedMin = _that$getCorrectedVal.correctedMin,\r\n correctedMax = _that$getCorrectedVal.correctedMax,\r\n start = _that$getCorrectedVal.start,\r\n end = _that$getCorrectedVal.end;\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: function(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 = function(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: function() {\r\n if (this._isSynchronized) {\r\n return\r\n }\r\n var margins = this._calculateValueMargins(this._majorTicks);\r\n var canvas = (0, _extend.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: function() {\r\n var _this2 = this;\r\n var constantLines = (this._options.constantLines || []).map((function(o) {\r\n return (0, _constant_line.default)(_this2, o)\r\n }));\r\n this._outsideConstantLines = constantLines.filter((function(l) {\r\n return \"outside\" === l.labelPosition\r\n }));\r\n this._insideConstantLines = constantLines.filter((function(l) {\r\n return \"inside\" === l.labelPosition\r\n }))\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.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 (0, _axes_utils.measureLabels)(that._majorTicks);\r\n !options.label.template && that._applyWordWrap();\r\n (0, _axes_utils.measureLabels)(that._outsideConstantLines);\r\n (0, _axes_utils.measureLabels)(that._insideConstantLines);\r\n (0, _axes_utils.measureLabels)(that._strips);\r\n (0, _axes_utils.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 _deferred.when.apply(this, that._majorTicks.map((function(tick) {\r\n return tick.getTemplateDeferred()\r\n }))).done((function() {\r\n that._templatesRendered.resolve()\r\n }));\r\n offset = that._adjustDateMarkers(offset);\r\n that._adjustTitle(offset)\r\n },\r\n getTemplatesDef: function() {\r\n return this._templatesRendered\r\n },\r\n setRenderedState: function(state) {\r\n this._drawn = state\r\n },\r\n isRendered: function() {\r\n return this._drawn\r\n },\r\n _applyWordWrap: function() {\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 ((0, _type.isDefined)(tickInterval)) {\r\n convertedTickInterval = this.getTranslator().getInterval(\"datetime\" === options.dataType ? _date.default.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 = (0, _type.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((function(tick) {\r\n return tick.labelBBox.width > textWidth\r\n }))) {\r\n correctByWidth = true\r\n }\r\n }\r\n if (textHeight) {\r\n if (this._majorTicks.some((function(tick) {\r\n return tick.labelBBox.height > textHeight\r\n }))) {\r\n correctByHeight = true\r\n }\r\n }\r\n if (correctByWidth || correctByHeight) {\r\n this._majorTicks.forEach((function(tick) {\r\n tick.label && tick.label.setMaxSize(textWidth, textHeight, options.label)\r\n }));\r\n (0, _axes_utils.measureLabels)(this._majorTicks)\r\n }\r\n }\r\n },\r\n _measureTitle: _common.noop,\r\n animate: function() {\r\n callAction(this._majorTicks, \"animateLabels\")\r\n },\r\n updateSize: function(canvas, animate) {\r\n var updateTitle = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : true;\r\n var that = this;\r\n that.updateCanvas(canvas);\r\n if (updateTitle) {\r\n that._checkTitleOverflow();\r\n that._measureTitle();\r\n that._updateTitleCoords()\r\n }\r\n that._reinitTranslator(that._getViewportRange());\r\n that.applyMargins();\r\n var animationEnabled = !that._firstDrawing && animate;\r\n var options = that._options;\r\n initTickCoords(that._majorTicks);\r\n initTickCoords(that._minorTicks);\r\n initTickCoords(that._boundaryTicks);\r\n if (that._resetApplyingAnimation && !that._firstDrawing) {\r\n that._resetStartCoordinates()\r\n }\r\n cleanUpInvalidTicks(that._majorTicks);\r\n cleanUpInvalidTicks(that._minorTicks);\r\n cleanUpInvalidTicks(that._boundaryTicks);\r\n if (that._axisElement) {\r\n that._updateAxisElementPosition()\r\n }\r\n updateTicksPosition(that._majorTicks, options.tick, animationEnabled);\r\n updateTicksPosition(that._minorTicks, options.minorTick, animationEnabled);\r\n updateTicksPosition(that._boundaryTicks, options.tick);\r\n callAction(that._majorTicks, \"updateLabelPosition\", animationEnabled);\r\n that._outsideConstantLines.concat(that._insideConstantLines || []).forEach((function(l) {\r\n return l.updatePosition(animationEnabled)\r\n }));\r\n callAction(that._strips, \"updatePosition\", animationEnabled);\r\n updateGridsPosition(that._majorTicks, animationEnabled);\r\n updateGridsPosition(that._minorTicks, animationEnabled);\r\n if (animationEnabled) {\r\n callAction(that._ticksToRemove || [], \"fadeOutElements\")\r\n }\r\n that.prepareAnimation();\r\n that._ticksToRemove = null;\r\n if (!that._translator.getBusinessRange().isEmpty()) {\r\n that._firstDrawing = false\r\n }\r\n that._resetApplyingAnimation = false;\r\n that._updateLabelsPosition()\r\n },\r\n _updateLabelsPosition: _common.noop,\r\n prepareAnimation: function() {\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: function() {\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: function(optionValue) {\r\n var range = (0, _utils.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 (0, _utils.convertVisualRangeObject)(range, !_isArray(optionValue))\r\n },\r\n _validateOptions: function(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: function() {\r\n var options = this._options;\r\n var dataType = this.isArgumentAxis ? options.argumentType : options.valueType;\r\n var parser = dataType ? (0, _parse_utils.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: function(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: function(visualRange, allowPartialUpdate) {\r\n var range = this.adjustRange((0, _utils.getVizRangeObject)(visualRange));\r\n if (allowPartialUpdate) {\r\n (0, _type.isDefined)(range.startValue) && (this._viewport.startValue = range.startValue);\r\n (0, _type.isDefined)(range.endValue) && (this._viewport.endValue = range.endValue)\r\n } else {\r\n this._viewport = range\r\n }\r\n },\r\n _applyZooming: function(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: function(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: function(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: function() {\r\n var wholeRange = (0, _utils.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: function() {\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: function() {\r\n this._options._customVisualRange = {}\r\n },\r\n getTemplatesGroups: function() {\r\n var ticks = this._majorTicks;\r\n if (ticks) {\r\n return this._majorTicks.map((function(tick) {\r\n return tick.templateContainer\r\n })).filter((function(item) {\r\n return (0, _type.isDefined)(item)\r\n }))\r\n } else {\r\n return []\r\n }\r\n },\r\n setCustomVisualRange: function(range) {\r\n this._options._customVisualRange = range\r\n },\r\n visualRange: function() {\r\n var that = this;\r\n var args = arguments;\r\n var visualRange;\r\n if (0 === args.length) {\r\n var adjustedRange = that._getAdjustedBusinessRange();\r\n var startValue = adjustedRange.minVisible;\r\n var endValue = adjustedRange.maxVisible;\r\n if (that._options.type === _axes_constants.default.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: (0, _utils.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 ((0, _type.isPlainObject)(args[0])) {\r\n visualRange = (0, _extend.extend)({}, args[0])\r\n } else {\r\n visualRange = [args[0], args[1]]\r\n }\r\n var zoomResults = that.handleZooming(visualRange, args[1]);\r\n if (!zoomResults.isPrevented) {\r\n that._visualRange(that, zoomResults)\r\n }\r\n },\r\n handleZooming: function(visualRange, preventEvents, domEvent, action) {\r\n preventEvents = preventEvents || {};\r\n if ((0, _type.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 (0, _type.isDefined)(visualRange) && this._applyZooming(visualRange, preventEvents.allowPartialUpdate);\r\n if (!(0, _type.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: function() {\r\n if ((0, _type.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 ? (0, _math2.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: function(previousRange) {\r\n this._storedZoomEndParams = null;\r\n this._applyZooming(previousRange);\r\n this._visualRange(this, previousRange)\r\n },\r\n checkZoomingLowerLimitOvercome: function(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((0, _utils.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 ((0, _type.isDefined)(minZoom) || \"discrete\" === options.type) {\r\n minZoom = translator.convert(minZoom);\r\n if (visualRange && minZoom < beforeVisualRangeLength && minZoom >= afterVisualRangeLength) {\r\n correctedRange = (0, _utils.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: function(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: function() {\r\n return this._viewport\r\n },\r\n getFullTicks: function() {\r\n var majors = this._majorTicks || [];\r\n if (this._options.type === _axes_constants.default.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 (0, _utils.valueOf)(a) - (0, _utils.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, _common.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 _axes_constants.default.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: _common.noop,\r\n _drawDateMarkers: _common.noop,\r\n _adjustDateMarkers: _common.noop,\r\n coordsIn: _common.noop,\r\n areCoordsOutsideAxis: _common.noop,\r\n _getSkippedCategory: _common.noop,\r\n _initAxisPositions: _common.noop,\r\n _drawTitle: _common.noop,\r\n _updateTitleCoords: _common.noop,\r\n _adjustConstantLineLabels: _common.noop,\r\n _createTranslator: function() {\r\n return new _translator2d.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: function() {\r\n var canvas = this._getCanvasStartEnd();\r\n return [canvas.start, canvas.end].sort((function(a, b) {\r\n return a - b\r\n }))\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: _common.noop,\r\n _checkTitleOverflow: _common.noop,\r\n getSpiderTicks: _common.noop,\r\n setSpiderTicks: _common.noop,\r\n _checkBoundedLabelsOverlapping: _common.noop,\r\n _checkShiftedLabels: _common.noop,\r\n drawScaleBreaks: _common.noop,\r\n _visualRange: _common.noop,\r\n _rotateConstantLine: _common.noop,\r\n applyVisualRangeSetter: function(visualRangeSetter) {\r\n this._visualRange = visualRangeSetter\r\n },\r\n getCategoriesSorter: function(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: function() {\r\n return this.adjustViewport(this._translator.getBusinessRange())\r\n }\r\n};\r\n","/**\r\n * DevExtreme (cjs/viz/axes/constant_line.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = createConstantLine;\r\nvar _type = require(\"../../core/utils/type\");\r\n\r\nfunction 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: function() {\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: function() {\r\n if (!(0, _type.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 (!(0, _type.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: function() {\r\n return this.label\r\n },\r\n removeLabel: function() {\r\n this.label && this.label.remove()\r\n },\r\n updatePosition: function(animate) {\r\n var canvas = axis._getCanvasStartEnd();\r\n var coord = axis._getConstantLinePos(this.getParsedValue(), canvas.start, canvas.end);\r\n if (!(0, _type.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: function() {\r\n lastStoredCoordinates = storedCoord;\r\n storedCoord = this.coord\r\n },\r\n resetCoordinates: function() {\r\n storedCoord = lastStoredCoordinates\r\n }\r\n }\r\n}\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/viz/axes/datetime_breaks.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.generateDateBreaks = generateDateBreaks;\r\nvar _date = _interopRequireDefault(require(\"../../core/utils/date\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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 = _date.default.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 = _date.default.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 = _date.default.trimTime(min);\r\n var adjustedMax = _date.default.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 = _date.default.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: _date.default.convertMillisecondsToDateUnits(b.to - b.from)\r\n }\r\n }))\r\n}\r\n\r\nfunction 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 (cjs/viz/axes/polar_axes.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.linearSpider = exports.linear = exports.circularSpider = exports.circular = void 0;\r\nvar _utils = require(\"../core/utils\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _axes_constants = _interopRequireDefault(require(\"./axes_constants\"));\r\nvar _xy_axes = _interopRequireDefault(require(\"./xy_axes\"));\r\nvar _tick = require(\"./tick\");\r\nvar _axes_utils = require(\"./axes_utils\");\r\nvar _common = require(\"../../core/utils/common\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar PI = Math.PI,\r\n abs = Math.abs,\r\n atan = Math.atan,\r\n round = Math.round;\r\nvar _min = Math.min;\r\nvar _max = Math.max;\r\nvar xyAxesLinear = _xy_axes.default.linear;\r\nvar HALF_PI_ANGLE = 90;\r\n\r\nfunction getPolarQuarter(angle) {\r\n var quarter;\r\n angle = (0, _utils.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: function(ticks) {\r\n var _this$_getViewportRan = this._getViewportRange(),\r\n minVisible = _this$_getViewportRan.minVisible,\r\n maxVisible = _this$_getViewportRan.maxVisible;\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: function() {\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: function(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: function(options) {\r\n var originValue = options.originValue;\r\n var wholeRange = options.wholeRange = {};\r\n var period = options.period;\r\n if ((0, _type.isDefined)(originValue)) {\r\n originValue = this.validateUnit(originValue)\r\n }\r\n if (period > 0 && options.argumentType === _axes_constants.default.numeric) {\r\n originValue = originValue || 0;\r\n wholeRange.endValue = originValue + period;\r\n this._viewport = (0, _utils.getVizRangeObject)([originValue, wholeRange.endValue])\r\n }\r\n if ((0, _type.isDefined)(originValue)) {\r\n wholeRange.startValue = originValue\r\n }\r\n },\r\n getMargins: function() {\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 _this$_center = this._center,\r\n x = _this$_center.x,\r\n y = _this$_center.y;\r\n var labelBoxes = this._majorTicks.map((function(t) {\r\n return t.label && t.label.getBBox()\r\n })).filter((function(b) {\r\n return b\r\n }));\r\n var canvas = (0, _extend.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 = (0, _axes_utils.calculateCanvasMargins)(labelBoxes, canvas);\r\n Object.keys(margins).forEach((function(k) {\r\n return margins[k] = margins[k] < tickOuterLength ? tickOuterLength : margins[k]\r\n }));\r\n return margins\r\n },\r\n _updateLabelsPosition: function() {\r\n (0, _axes_utils.measureLabels)(this._majorTicks);\r\n this._adjustLabelsCoord(0, 0, true);\r\n this._checkBoundedLabelsOverlapping(this._majorTicks, this._majorTicks.map((function(t) {\r\n return t.labelBBox\r\n })))\r\n },\r\n _setVisualRange: _common.noop,\r\n applyVisualRangeSetter: _common.noop,\r\n _getStick: function() {\r\n return this._options.firstPointOnStartAngle || this._options.type !== _axes_constants.default.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 = (0, _utils.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: _axes_constants.default.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: function(line, value) {\r\n var _this$getCenter = this.getCenter(),\r\n x = _this$getCenter.x,\r\n y = _this$getCenter.y;\r\n line.rotate(value + this.getAngles()[0], x, y)\r\n },\r\n _getConstantLineLabelsCoords: function(value) {\r\n var cosSin = (0, _utils.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: _common.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 _ref$shift = _ref.shift,\r\n shift = void 0 === _ref$shift ? 0 : _ref$shift;\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 = (0, _utils.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 = (0, _utils.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 (0, _utils.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 _axes_constants.default.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 _axes_constants.default.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((function(lastVisibleLabelIndex, tick, index) {\r\n return tick.label ? index : lastVisibleLabelIndex\r\n }), null);\r\n if (!lastVisibleLabelIndex) {\r\n return\r\n }\r\n if (_axes_constants.default.areLabelsOverlap(boxes[0], boxes[lastVisibleLabelIndex], labelOpt.minSpacing, _axes_constants.default.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: function(angle) {\r\n var startAngle = this.getAngles()[0];\r\n return angle + startAngle - HALF_PI_ANGLE\r\n }\r\n};\r\nvar circular = circularAxes;\r\nexports.circular = circular;\r\nvar circularSpider = (0, _extend.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: (0, _utils.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((0, _tick.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 points = _ref2.points;\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\nexports.circularSpider = circularSpider;\r\nvar linear = {\r\n _resetMargins: function() {\r\n this._reinitTranslator(this._getViewportRange())\r\n },\r\n _getStick: xyAxesLinear._getStick,\r\n _getSpiderCategoryOption: _common.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: 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 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 = (0, _utils.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 = (0, _utils.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 = (0, _utils.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: function() {\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: _axes_constants.default.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: _common.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((function(prevValue, box) {\r\n return _max(prevValue, func(box))\r\n }), 0);\r\n return _axes_constants.default.getTicksCountInRange(this._majorTicks, 2 === quarter || 4 === quarter ? \"x\" : \"y\", maxLabelLength)\r\n }\r\n};\r\nexports.linear = linear;\r\nvar linearSpider = (0, _extend.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 = (0, _utils.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: (0, _utils.map)(this._spiderTicks, (function(tick) {\r\n var cosSin = (0, _utils.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\nexports.linearSpider = linearSpider;\r\n","/**\r\n * DevExtreme (cjs/viz/axes/smart_formatter.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.formatRange = formatRange;\r\nexports.smartFormatter = smartFormatter;\r\nvar _format_helper = _interopRequireDefault(require(\"../../format_helper\"));\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _date = _interopRequireDefault(require(\"../../core/utils/date\"));\r\nvar _math = require(\"../../core/utils/math\");\r\nvar _utils = require(\"../core/utils\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar _format = _format_helper.default.format;\r\nvar abs = Math.abs,\r\n floor = Math.floor;\r\nvar EXPONENTIAL = \"exponential\";\r\nvar formats = [\"fixedPoint\", \"thousands\", \"millions\", \"billions\", \"trillions\", EXPONENTIAL];\r\nvar dateUnitIntervals = [\"millisecond\", \"second\", \"minute\", \"hour\", \"day\", \"month\", \"year\"];\r\nvar INTERVALS_MAP = {\r\n week: \"day\",\r\n quarter: \"month\",\r\n shorttime: \"hour\",\r\n longtime: \"second\"\r\n};\r\n\r\nfunction patchFirstTickDiff(differences, tickFormatIndex) {\r\n for (var i = tickFormatIndex; i < dateUnitIntervals.length - 1; i++) {\r\n var dateUnitInterval = dateUnitIntervals[i];\r\n if (i === tickFormatIndex) {\r\n setDateUnitInterval(differences, tickFormatIndex + (differences.millisecond ? 2 : 1));\r\n break\r\n } else if (differences[dateUnitInterval] && differences.count > 1) {\r\n resetDateUnitInterval(differences, i);\r\n break\r\n }\r\n }\r\n}\r\n\r\nfunction patchTickDiff(differences, tickFormatIndex) {\r\n var patched = false;\r\n for (var i = dateUnitIntervals.length - 1; i >= tickFormatIndex; i--) {\r\n var dateUnitInterval = dateUnitIntervals[i];\r\n if (differences[dateUnitInterval]) {\r\n if (i - tickFormatIndex > 1) {\r\n for (var j = 0; j <= tickFormatIndex; j++) {\r\n resetDateUnitInterval(differences, j);\r\n patched = true\r\n }\r\n break\r\n }\r\n }\r\n }\r\n return patched\r\n}\r\n\r\nfunction getDatesDifferences(prevDate, curDate, nextDate, tickIntervalFormat) {\r\n tickIntervalFormat = INTERVALS_MAP[tickIntervalFormat] || tickIntervalFormat;\r\n var tickFormatIndex = dateUnitIntervals.indexOf(tickIntervalFormat);\r\n if (nextDate) {\r\n var nextDifferences = _date.default.getDatesDifferences(curDate, nextDate);\r\n if (nextDifferences[tickIntervalFormat]) {\r\n patchFirstTickDiff(nextDifferences, tickFormatIndex)\r\n }\r\n return nextDifferences\r\n } else {\r\n var prevDifferences = _date.default.getDatesDifferences(prevDate, curDate);\r\n var patched = patchTickDiff(prevDifferences, tickFormatIndex);\r\n if (!patched && 1 === prevDifferences.count) {\r\n setDateUnitInterval(prevDifferences, tickFormatIndex)\r\n }\r\n return prevDifferences\r\n }\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 ((0, _type.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 = (0, _utils.getAdjustedLog10)(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((0, _math.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 showTransition = _ref.showTransition,\r\n ticks = _ref.ticks,\r\n tickInterval = _ref.tickInterval;\r\n var typeFormat = _date.default.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 = _format_helper.default.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 = _format_helper.default.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 ((0, _type.isExponential)(tick)) {\r\n return Math.max(abs((0, _math.getExponent)(tick) - (0, _math.getExponent)(tickInterval)), abs((0, _math.getPrecision)(tick) - (0, _math.getPrecision)(tickInterval)))\r\n } else {\r\n return abs(getNoZeroIndex(stringTick.split(\".\")[1]) - (0, _math.getExponent)(tickInterval) + 1)\r\n }\r\n}\r\n\r\nfunction getFormatWithModifier(tick, tickInterval) {\r\n var tickIntervalIndex = floor((0, _utils.getAdjustedLog10)(tickInterval));\r\n var tickIndex;\r\n var precision = 0;\r\n var actualIndex = tickIndex = floor((0, _utils.getAdjustedLog10)(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 < 0) {\r\n indexOfFormat = 0\r\n }\r\n var typeFormat = formats[indexOfFormat] || formats[formats.length - 1];\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(_format_helper.default.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(_format_helper.default.getDateFormatByDifferences(diff))\r\n}\r\n\r\nfunction formatDateRange(startValue, endValue, tickInterval) {\r\n var diff = getDatesDifferences(startValue, endValue);\r\n var typeFormat = _date.default.getDateFormatByTickInterval(tickInterval);\r\n var diffFormatType = _format_helper.default.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 ((0, _type.isObject)(interval)) {\r\n var dateUnits = Object.keys(interval);\r\n var sum = dateUnits.reduce((function(sum, k) {\r\n return interval[k] + sum\r\n }), 0);\r\n if (1 === sum) {\r\n var dateUnit = dateUnits.filter((function(k) {\r\n return 1 === interval[k]\r\n }))[0];\r\n return dateUnit.slice(0, dateUnit.length - 1)\r\n }\r\n }\r\n return interval\r\n}\r\n\r\nfunction 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) && !(0, _type.isDefined)(tickInterval)) {\r\n tickInterval = abs(tick) >= 1 ? 1 : (0, _math.adjust)(1 - abs(tick), tick)\r\n }\r\n if (Object.is(tick, -0)) {\r\n tick = 0\r\n }\r\n if (!(0, _type.isDefined)(format) && \"discrete\" !== options.type && tick && (10 === options.logarithmBase || !isLogarithmic)) {\r\n if (\"datetime\" !== options.dataType && (0, _type.isDefined)(tickInterval)) {\r\n if (ticks.length && -1 === ticks.indexOf(tick)) {\r\n var indexOfTick = getTransitionTickIndex(ticks, tick);\r\n tickInterval = (0, _math.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 && !(0, _type.isExponential)(tickInterval)) {\r\n format = {\r\n type: formats[0],\r\n precision: separatedTickInterval[1].length\r\n }\r\n } else if ((0, _type.isExponential)(tickInterval) && (-1 !== stringTick.indexOf(\".\") || (0, _type.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\n\r\nfunction formatRange(_ref2) {\r\n var startValue = _ref2.startValue,\r\n endValue = _ref2.endValue,\r\n tickInterval = _ref2.tickInterval,\r\n argumentFormat = _ref2.argumentFormat,\r\n _ref2$axisOptions = _ref2.axisOptions,\r\n dataType = _ref2$axisOptions.dataType,\r\n type = _ref2$axisOptions.type,\r\n logarithmBase = _ref2$axisOptions.logarithmBase;\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 (cjs/viz/axes/strip.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = createStrip;\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _utils = require(\"../core/utils\");\r\nvar _extend = require(\"../../core/utils/extend\");\r\n\r\nfunction 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: function() {\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: function(coords) {\r\n return axis._renderer.text(labelOptions.text, coords.x, coords.y).css((0, _utils.patchFontOptions)((0, _extend.extend)({}, axis.getOptions().label.font, labelOptions.font))).attr({\r\n align: \"center\",\r\n class: labelOptions.cssClass\r\n }).append(axis._axisStripLabelGroup)\r\n },\r\n draw: function() {\r\n if (axis._translator.getBusinessRange().isEmpty()) {\r\n return\r\n }\r\n if (((0, _type.isDefined)(options.startValue) || (0, _type.isDefined)(options.endValue)) && (0, _type.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 || !(0, _type.isDefined)(stripPos.to) || !(0, _type.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: function() {\r\n return this.label\r\n },\r\n removeLabel: function() {},\r\n updatePosition: function(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: function() {\r\n lastStoredCoordinates = storedCoord;\r\n storedCoord = this._getCoord()\r\n },\r\n resetCoordinates: function() {\r\n storedCoord = lastStoredCoordinates\r\n }\r\n }\r\n}\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/viz/axes/tick.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.tick = createTick;\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _deferred = require(\"../../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 = (0, _extend.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 ((0, _type.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: function(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: function() {\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: function() {\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: function(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: function(category) {\r\n skippedCategory = category\r\n },\r\n _updateLine: function(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 var _this = this;\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.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: function() {\r\n _this.updateLabelPosition();\r\n _this._templateDef && _this._templateDef.resolve()\r\n }\r\n })\r\n } else if ((0, _type.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: function() {\r\n return this._templateDef\r\n },\r\n getContentContainer: function() {\r\n return this.templateContainer || this.label\r\n },\r\n fadeOutElements: function() {\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: function() {\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: function() {\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: function() {\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: function() {\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: function() {\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\n","/**\r\n * DevExtreme (cjs/viz/axes/tick_generator.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.tickGenerator = void 0;\r\nvar _utils = require(\"../core/utils\");\r\nvar _date = _interopRequireDefault(require(\"../../core/utils/date\"));\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _math = require(\"../../core/utils/math\");\r\nvar _extend = require(\"../../core/utils/extend\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _slicedToArray(arr, i) {\r\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest()\r\n}\r\n\r\nfunction _nonIterableRest() {\r\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _unsupportedIterableToArray(o, minLen) {\r\n if (!o) {\r\n return\r\n }\r\n if (\"string\" === typeof o) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n var n = Object.prototype.toString.call(o).slice(8, -1);\r\n if (\"Object\" === n && o.constructor) {\r\n n = o.constructor.name\r\n }\r\n if (\"Map\" === n || \"Set\" === n) {\r\n return Array.from(o)\r\n }\r\n if (\"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n}\r\n\r\nfunction _arrayLikeToArray(arr, len) {\r\n if (null == len || len > arr.length) {\r\n len = arr.length\r\n }\r\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\r\n arr2[i] = arr[i]\r\n }\r\n return arr2\r\n}\r\n\r\nfunction _iterableToArrayLimit(arr, i) {\r\n var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"];\r\n if (null != _i) {\r\n var _s, _e, _x, _r, _arr = [],\r\n _n = !0,\r\n _d = !1;\r\n try {\r\n if (_x = (_i = _i.call(arr)).next, 0 === i) {\r\n if (Object(_i) !== _i) {\r\n return\r\n }\r\n _n = !1\r\n } else {\r\n for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) {}\r\n }\r\n } catch (err) {\r\n _d = !0, _e = err\r\n } finally {\r\n try {\r\n if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) {\r\n return\r\n }\r\n } finally {\r\n if (_d) {\r\n throw _e\r\n }\r\n }\r\n }\r\n return _arr\r\n }\r\n}\r\n\r\nfunction _arrayWithHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return arr\r\n }\r\n}\r\nvar convertDateUnitToMilliseconds = _date.default.convertDateUnitToMilliseconds;\r\nvar dateToMilliseconds = _date.default.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 = (0, _extend.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((function(_, i) {\r\n return interval * i\r\n })) : [],\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 = (0, _utils.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 = function(value) {\r\n return value\r\n};\r\nvar getLogValue = function(base, allowNegatives, linearThreshold) {\r\n return function(value) {\r\n return (0, _utils.getLogExt)(value, base, allowNegatives, linearThreshold)\r\n }\r\n};\r\nvar raiseTo = function(base, allowNegatives, linearThreshold) {\r\n return function(value) {\r\n return (0, _utils.raiseToExt)(value, base, allowNegatives, linearThreshold)\r\n }\r\n};\r\nvar mathRaiseTo = function(base) {\r\n return function(value) {\r\n return (0, _utils.raiseTo)(value, base)\r\n }\r\n};\r\nvar logAbsValue = function(base) {\r\n return function(value) {\r\n return 0 === value ? 0 : (0, _utils.getLog)(mathAbs(value), base)\r\n }\r\n};\r\nvar correctValueByInterval = function(post, round, getValue) {\r\n return function(value, interval) {\r\n return (0, _math.adjust)(post(round((0, _math.adjust)(getValue(value) / interval)) * interval))\r\n }\r\n};\r\n\r\nfunction correctMinValueByEndOnTick(floorFunc, ceilFunc, resolveEndOnTick, endOnTick) {\r\n if ((0, _type.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 || !(0, _type.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 = (0, _utils.getLogExt)(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((0, _utils.getLogExt)(curValue, base), (0, _utils.getLogExt)(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((function(prev, item) {\r\n return prev + (item.to - item.from)\r\n }), 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((function(prev, item) {\r\n return prev + mathAbs(getLog(item.to / item.from))\r\n }), 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((0, _utils.getLogExt)(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((function(m) {\r\n return 10 * m\r\n })).reduce((function(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 = (0, _math.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((function(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((function(r, m) {\r\n return r < interval ? m * factor : r\r\n }), 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 function(ticks) {\r\n return ticks ? postProcess(mathAbs((0, _math.adjust)(getValue(ticks[1]) - getValue(ticks[0])))) || void 0 : void 0\r\n }\r\n}\r\n\r\nfunction addInterval(value, interval, isNegative) {\r\n return _date.default.addInterval(value, interval, isNegative)\r\n}\r\n\r\nfunction addIntervalLog(log, raise) {\r\n return function(value, interval, isNegative) {\r\n return raise(addInterval(log(value), interval, isNegative))\r\n }\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((function(b) {\r\n return !b.gapSize\r\n }));\r\n return function(value, interval, isNegative) {\r\n var breakSize;\r\n value = addInterval(value, interval, isNegative);\r\n if (!breaks.every((function(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 || !(0, _type.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((function(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((function(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((function(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((function(b) {\r\n return b.gapSize\r\n }));\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 _ref2 = _slicedToArray(_ref, 2),\r\n tick = _ref2[0],\r\n insideTick = _ref2[1];\r\n if (!(0, _type.isDefined)(tick) || mathAbs(getValue(breakValue) - getValue(tick)) / interval > .25) {\r\n if ((0, _type.isDefined)(insideTick) && mathAbs(getValue(insideTick) - getValue(tick)) / interval < 2) {\r\n tick = insideTick\r\n } else if (!(0, _type.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((function(result, b) {\r\n var breakTicks = ticks.filter((function(tick) {\r\n return tick <= b.from\r\n }));\r\n var from = addCorrection(getBaseTick(b.from, [].concat(breakTicks[breakTicks.length - 1], ticks[breakTicks.length]), interval, getValue), correction);\r\n breakTicks = ticks.filter((function(tick) {\r\n return tick >= b.to\r\n }));\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, (function(value, correction) {\r\n return value + correction\r\n })))\r\n}\r\nvar correctValueByIntervalLog = function(post, getRound, getValue) {\r\n return function(value, interval) {\r\n return (0, _math.sign)(value) * (0, _math.adjust)(post(getRound(value)((0, _math.adjust)(getValue(value) / interval)) * interval))\r\n }\r\n};\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, (function(value) {\r\n return value < 0 ? mathCeil : mathFloor\r\n }), absLog);\r\n var ceil = correctValueByIntervalLog(absRaise, (function(value) {\r\n return value < 0 ? mathFloor : mathCeil\r\n }), 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((function(_, tick, prevTick, factor) {\r\n return Math.max(Math.abs(tick), Math.abs(prevTick)) / factor\r\n }), addInterval, floor, ceilNumber, ceil), getScaleBreaksProcessor(getValue, log, (function(value, correction) {\r\n return raise(log(value) + correction)\r\n })))\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 = (0, _type.isString)(interval) ? _date.default.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 = function(v) {\r\n return _date.default.correctDateWithUnitBeginning(v, intervalObject, null, options.firstDayOfWeek)\r\n };\r\n var floorAtStartDate = function(v) {\r\n return new Date(mathFloor((v.getTime() - v.getTimezoneOffset() * MINUTE) / divider) * divider + v.getTimezoneOffset() * MINUTE)\r\n };\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, _date.default.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, (function(value, correction) {\r\n return new Date(value.getTime() + correction)\r\n })))\r\n}\r\nvar 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\nexports.tickGenerator = tickGenerator;\r\n","/**\r\n * DevExtreme (cjs/viz/axes/xy_axes.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _range = require(\"../translators/range\");\r\nvar _format_helper = _interopRequireDefault(require(\"../../format_helper\"));\r\nvar _date = _interopRequireDefault(require(\"../../core/utils/date\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _datetime_breaks = require(\"./datetime_breaks\");\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _utils = require(\"../core/utils\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _axes_constants = _interopRequireDefault(require(\"./axes_constants\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar getNextDateUnit = _date.default.getNextDateUnit;\r\nvar correctDateWithUnitBeginning = _date.default.correctDateWithUnitBeginning;\r\nvar _math = Math;\r\nvar _max = _math.max;\r\nvar TOP = _axes_constants.default.top;\r\nvar BOTTOM = _axes_constants.default.bottom;\r\nvar LEFT = _axes_constants.default.left;\r\nvar RIGHT = _axes_constants.default.right;\r\nvar CENTER = _axes_constants.default.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 < _date.default.dateUnitIntervals.length; i++) {\r\n dateUnitInterval = _date.default.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 = _date.default.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 && _date.default.getDatesDifferences(prevDate, curDate);\r\n if (prevDate && \"year\" !== tickInterval) {\r\n prepareDatesDifferences(datesDifferences, tickInterval);\r\n format = _format_helper.default.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 logarithmBase = _ref.logarithmBase,\r\n type = _ref.type,\r\n maxAutoBreakCount = _ref.maxAutoBreakCount;\r\n var minVisible = _ref2.minVisible,\r\n maxVisible = _ref2.maxVisible;\r\n var breaks = [];\r\n var getRange = \"logarithmic\" === type ? function(min, max) {\r\n return (0, _utils.getLog)(max / min, logarithmBase)\r\n } : function(min, max) {\r\n return max - min\r\n };\r\n var visibleRange = getRange(minVisible, maxVisible);\r\n var points = series.reduce((function(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((function(a, b) {\r\n return b - a\r\n }));\r\n var edgePoints = points[1].filter((function(p) {\r\n return points[0].indexOf(p) < 0\r\n }));\r\n var minDiff = RANGE_RATIO * visibleRange;\r\n var ranges = generateRangesOnPoints(sortedAllPoints, edgePoints, getRange).sort((function(a, b) {\r\n return b.length - a.length\r\n }));\r\n var epsilon = _math.min.apply(null, ranges.map((function(r) {\r\n return r.length\r\n }))) / 1e3;\r\n var _maxAutoBreakCount = (0, _type.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\nvar _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 _axes_constants.default.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 _axes_constants.default.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: function() {\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: function(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 ((0, _type.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: function(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((0, _utils.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((0, _utils.patchFontOptions)(markerOptions.label.font)).append(this._axisElementsGroup),\r\n line: pathElement,\r\n getContentContainer: function() {\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 = _date.default.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 = (0, _extend.extend)(true, {}, this._options.marker.label)\r\n }\r\n if (!(0, _type.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 = (0, _utils.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((function(l) {\r\n return l.labelOptions.visible\r\n })).map((function(l) {\r\n return l.options\r\n }));\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 === _axes_constants.default.top || !isHorizontal && position === _axes_constants.default.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: function() {\r\n var seriesData = this._seriesData;\r\n var viewport = this._series.filter((function(s) {\r\n return s.isVisible()\r\n })).reduce((function(range, s) {\r\n var seriesRange = s.getViewport();\r\n range.min = (0, _type.isDefined)(seriesRange.min) ? range.min < seriesRange.min ? range.min : seriesRange.min : range.min;\r\n range.max = (0, _type.isDefined)(seriesRange.max) ? range.max > seriesRange.max ? range.max : seriesRange.max : range.max;\r\n if (s.showZero) {\r\n range = new _range.Range(range);\r\n range.correctValueZeroLevel()\r\n }\r\n return range\r\n }), {});\r\n if ((0, _type.isDefined)(viewport.min) && (0, _type.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: function() {\r\n return this._wrapped\r\n },\r\n getAxisPosition: function() {\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 pos1 = this._translator.translate(value, offset, \"semidiscrete\" === this._options.type && this._options.tickInterval);\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 === _axes_constants.default.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 (!(0, _type.isDefined)(from) || !(0, _type.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 = _date.default.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((0, _datetime_breaks.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: _common.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((function(side) {\r\n shiftGroup(side, constantLinesGroups.above);\r\n shiftGroup(side, constantLinesGroups.under)\r\n }))\r\n },\r\n getCustomPosition: function(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 (!(0, _type.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: function(position) {\r\n var _that$getOptions = this.getOptions(),\r\n customPosition = _that$getOptions.customPosition,\r\n offset = _that$getOptions.offset;\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 (!(0, _type.isDefined)(orthogonalAxis._orthogonalPositions) || 0 === orthogonalTranslator.canvasLength) {\r\n return\r\n }\r\n var currentPosition = this.getCustomPosition(resolvedPosition);\r\n if (!(0, _type.isDefined)(currentPosition)) {\r\n return this.getResolvedBoundaryPosition()\r\n } else if ((0, _type.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 ((0, _type.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: function() {\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: function() {\r\n var options = this.getOptions();\r\n return (0, _type.isDefined)(this.getOrthogonalAxis()) && ((0, _type.isDefined)(options.customPosition) || isFinite(options.offset))\r\n },\r\n hasNonBoundaryPosition: function() {\r\n return this.customPositionIsAvailable() && !this.customPositionIsBoundary()\r\n },\r\n getResolvedBoundaryPosition: function() {\r\n return this.customPositionIsBoundary() ? this._customBoundaryPosition : this.getOptions().position\r\n },\r\n customPositionEqualsToPredefined: function() {\r\n return this.customPositionIsBoundary() && this._customBoundaryPosition === this.getOptions().position\r\n },\r\n customPositionIsBoundary: function() {\r\n return this.positionIsBoundary(this._customBoundaryPosition)\r\n },\r\n positionIsBoundary: function(position) {\r\n return [TOP, LEFT, BOTTOM, RIGHT].indexOf(position) >= 0\r\n },\r\n getPredefinedPosition: function(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: function(oppositeAxes) {\r\n var that = this;\r\n if (!that.hasNonBoundaryPosition() && !that.customPositionIsBoundary() && !oppositeAxes.some((function(a) {\r\n return a.hasNonBoundaryPosition()\r\n }))) {\r\n return\r\n }\r\n var overlappingObj = {\r\n axes: [],\r\n ticks: []\r\n };\r\n oppositeAxes.filter((function(orthogonalAxis) {\r\n return orthogonalAxis.pane === that.pane\r\n })).forEach((function(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: function(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: function(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: function(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\nexports.default = _default;\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\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/viz/bar_gauge.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _bar_gauge = require(\"./gauges/bar_gauge\");\r\nvar _default = _bar_gauge.dxBarGauge;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/viz/bullet.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _bullet = _interopRequireDefault(require(\"./sparklines/bullet\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar _default = _bullet.default;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/viz/chart.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _size = require(\"../core/utils/size\");\r\nvar _common = require(\"../core/utils/common\");\r\nvar _extend2 = require(\"../core/utils/extend\");\r\nvar _window = require(\"../core/utils/window\");\r\nvar _iterator = require(\"../core/utils/iterator\");\r\nvar _component_registrator = _interopRequireDefault(require(\"../core/component_registrator\"));\r\nvar _utils = require(\"./utils\");\r\nvar _utils2 = require(\"./core/utils\");\r\nvar _type = require(\"../core/utils/type\");\r\nvar _math = require(\"../core/utils/math\");\r\nvar _base_chart = require(\"./chart_components/base_chart\");\r\nvar _multi_axes_synchronizer = _interopRequireDefault(require(\"./chart_components/multi_axes_synchronizer\"));\r\nvar _advanced_chart = require(\"./chart_components/advanced_chart\");\r\nvar _scroll_bar = require(\"./chart_components/scroll_bar\");\r\nvar _crosshair = require(\"./chart_components/crosshair\");\r\nvar _range_data_calculator = _interopRequireDefault(require(\"./series/helpers/range_data_calculator\"));\r\nvar _layout_manager = require(\"./chart_components/layout_manager\");\r\nvar _range = require(\"./translators/range\");\r\nvar _shutter_zoom = _interopRequireDefault(require(\"./chart_components/shutter_zoom\"));\r\nvar _zoom_and_pan = _interopRequireDefault(require(\"./chart_components/zoom_and_pan\"));\r\nvar _annotations = require(\"./core/annotations\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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 _isArray = Array.isArray;\r\n\r\nfunction getFirstAxisNameForPane(axes, paneName, defaultPane) {\r\n var result;\r\n for (var i = 0; i < axes.length; i++) {\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((function(axis) {\r\n var minorGridOptions = axis.getOptions().minorGrid;\r\n return minorGridOptions && minorGridOptions.visible\r\n }));\r\n var gridVisibility = axesForPane.some((function(axis) {\r\n var gridOptions = axis.getOptions().grid;\r\n return gridOptions && gridOptions.visible\r\n }));\r\n if (axesForPane.length > 1) {\r\n axesForPane.forEach((function(axis) {\r\n var gridOpt = axis.getOptions().grid;\r\n if (axisShown) {\r\n changeVisibilityAxisGrids(axis, false, false)\r\n } else if (gridOpt && 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 !axisShown && hiddenStubAxis.length && changeVisibilityAxisGrids(hiddenStubAxis[0], gridVisibility, minorGridVisibility)\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++) {\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++) {\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 axis;\r\n var i;\r\n for (i = 0; i < axes.length; i++) {\r\n axis = axes[i];\r\n if (axis.name === axisName && axis.pane === paneName) {\r\n return axis\r\n }\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 var found = false;\r\n (0, _iterator.each)(panes, (function(_, pane) {\r\n if (pane.name === paneName) {\r\n found = true;\r\n return false\r\n }\r\n }));\r\n return found\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((function(margins, axis) {\r\n var _axis$getOrthogonalAx;\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 === (_axis$getOrthogonalAx = axis.getOrthogonalAxis) || void 0 === _axis$getOrthogonalAx ? void 0 : _axis$getOrthogonalAx.call(axis);\r\n if (orthogonalAxis && orthogonalAxis.customPositionIsAvailable() && (!axis.customPositionIsBoundaryOrthogonalAxis() || !orthogonalAxis.customPositionEqualsToPredefined())) {\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((function(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((function(axis) {\r\n axis[action](actionArgument1 && actionArgument1[axis.pane], actionArgument2 && 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 = -1 === (isRotated ? [\"left\", \"right\"] : [\"top\", \"bottom\"]).indexOf(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 = function(field) {\r\n return \"original\".concat(field[0].toUpperCase()).concat(field.slice(1))\r\n };\r\n\r\n function shrink(canvases, paneNames, sizeField, startMargin, endMargin, oppositeMargins) {\r\n paneNames = paneNames.sort((function(p1, p2) {\r\n return canvases[p2][startMargin] - canvases[p1][startMargin]\r\n }));\r\n paneNames.forEach((function(pane) {\r\n var canvas = canvases[pane];\r\n oppositeMargins.forEach((function(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 emptySpace = paneNames.reduce((function(space, paneName) {\r\n space -= getMaxMargin(startMargin, verticalMargins, horizontalMargins, paneName) + getMaxMargin(endMargin, verticalMargins, horizontalMargins, paneName);\r\n return space\r\n }), firstPane[sizeField] - firstPane[getOriginalField(endMargin)] - canvases[paneNames[paneNames.length - 1]][getOriginalField(startMargin)]) - _utils2.PANE_PADDING * (paneNames.length - 1);\r\n emptySpace -= Object.keys(sizes).reduce((function(prev, key) {\r\n return prev + (!(0, _utils2.isRelativeHeightPane)(sizes[key]) ? sizes[key].height : 0)\r\n }), 0);\r\n paneNames.reduce((function(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 -= !(0, _utils2.isRelativeHeightPane)(paneSize) ? paneSize.height : Math.floor(emptySpace * paneSize.height);\r\n canvas[startMargin] = offset;\r\n offset -= getMaxMargin(startMargin, verticalMargins, horizontalMargins, pane) + _utils2.PANE_PADDING;\r\n return offset\r\n }), firstPane[sizeField] - firstPane[getOriginalField(endMargin)] - (emptySpace < 0 ? emptySpace : 0))\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 _multi_axes_synchronizer.default.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 pane;\r\n var paneMargins;\r\n for (pane in margins.panes) {\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((function(sum, count) {\r\n return sum + count\r\n }), 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 = _range_data_calculator.default.getViewPortFilter(argVisualRange || {});\r\n filteredSeries.forEach((function(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 = _range_data_calculator.default.getViewPortFilter(valVisualRange || {});\r\n overloadedSeries[seriesIndex] = {};\r\n filteredSeries.forEach((function(sr) {\r\n return overloadedSeries[seriesIndex][allSeries.indexOf(sr)] = 0\r\n }));\r\n var seriesPoints = [];\r\n s.getPoints().filter((function(p) {\r\n return p.getOptions().visible && argViewPortFilter(p.argument) && (valViewPortFilter(p.getMinValue(true)) || valViewPortFilter(p.getMaxValue(true)))\r\n })).forEach((function(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 };\r\n if (p.getMinValue(true) !== p.getMaxValue(true)) {\r\n var mp = (0, _extend2.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\nvar isOverlay = function(currentPoint, overlayPoint, pointRadius) {\r\n var pointHitsLeftBorder = overlayPoint.x - pointRadius <= currentPoint.x;\r\n var pointHitsRightBorder = overlayPoint.x + pointRadius >= currentPoint.x;\r\n var pointHitsTopBorder = overlayPoint.y - pointRadius <= currentPoint.y;\r\n var pointHitsBottomBorder = overlayPoint.y + pointRadius >= currentPoint.y;\r\n var isPointOverlappedHorizontally = pointHitsLeftBorder && pointHitsRightBorder;\r\n var isPointOverlappedVertically = pointHitsTopBorder && pointHitsBottomBorder;\r\n return isPointOverlappedHorizontally && isPointOverlappedVertically\r\n};\r\nvar isPointOverlapped = function(currentPoint, points, skipSamePointsComparing) {\r\n var radiusPoint = currentPoint.getOptions().size / 2;\r\n for (var i = 0; i < points.length; i++) {\r\n if (!skipSamePointsComparing) {\r\n var isXCoordinateSame = points[i].x === currentPoint.x;\r\n var isYCoordinateSame = points[i].y === currentPoint.y;\r\n if (isXCoordinateSame && isYCoordinateSame) {\r\n continue\r\n }\r\n }\r\n if (isOverlay(currentPoint, points[i], radiusPoint)) {\r\n return true\r\n }\r\n }\r\n return false\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((function(s) {\r\n return s.name === seriesPoints[i].name\r\n }))[0];\r\n var points = seriesPoints[i].points;\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 index = seriesPoints[i].index;\r\n currentSeries.autoHidePointMarkers = true;\r\n seriesPoints.splice(i, 1);\r\n series.splice(series.indexOf(currentSeries), 1);\r\n delete markersInfo.overloadedSeries[index]\r\n }\r\n };\r\n for (var i = seriesPoints.length - 1; i >= 0; i--) {\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++) {\r\n var curPoint = points[i];\r\n var size = curPoint.size;\r\n if ((0, _type.isDefined)(curPoint.x) && (0, _type.isDefined)(curPoint.y)) {\r\n for (var j = i + 1; j < points.length; j++) {\r\n var nextPoint = points[j];\r\n var next_x = null === nextPoint || void 0 === nextPoint ? void 0 : nextPoint.x;\r\n var next_y = null === nextPoint || void 0 === nextPoint ? void 0 : nextPoint.y;\r\n if (!(0, _type.isDefined)(next_x) || Math.abs(curPoint.x - next_x) >= size) {\r\n isContinuousSeries &= j !== i + 1;\r\n break\r\n } else {\r\n var distance = (0, _type.isDefined)(next_x) && (0, _type.isDefined)(next_y) && Math.sqrt(Math.pow(curPoint.x - next_x, 2) + Math.pow(curPoint.y - next_y, 2));\r\n if (distance && distance < size) {\r\n overloadedSeries[curPoint.seriesIndex][nextPoint.seriesIndex]++;\r\n overloadedSeries[curPoint.seriesIndex].total++;\r\n if (!isContinuousSeries) {\r\n overloadedSeries[curPoint.seriesIndex].continuousSeries++;\r\n isContinuousSeries = true\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n}\r\nvar dxChart = _advanced_chart.AdvancedChart.inherit({\r\n _themeSection: \"chart\",\r\n _fontFields: [\"crosshair.label.font\"],\r\n _initCore: function() {\r\n this.paneAxis = {};\r\n this.callBase()\r\n },\r\n _init: function() {\r\n this._containerInitialHeight = (0, _window.hasWindow)() ? (0, _size.getHeight)(this._$element) : 0;\r\n this.callBase()\r\n },\r\n _correctAxes: function() {\r\n this._correctValueAxes(true)\r\n },\r\n _setDeprecatedOptions: function() {\r\n this.callBase();\r\n (0, _extend2.extend)(this._deprecatedOptions, {\r\n \"argumentAxis.aggregateByCategory\": {\r\n since: \"23.1\",\r\n message: \"Use the aggregation.enabled property\"\r\n }\r\n })\r\n },\r\n _getExtraOptions: _common.noop,\r\n _createPanes: function() {\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 = (0, _extend2.extend)(true, [], _isArray(panes) ? panes : [panes]);\r\n (0, _iterator.each)(panes, (function(_, pane) {\r\n pane.name = !(0, _type.isDefined)(pane.name) ? DEFAULT_PANE_NAME + panesNameCounter++ : pane.name\r\n }));\r\n if ((0, _type.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: function() {\r\n return {\r\n axisType: \"xyAxes\",\r\n drawingType: \"linear\"\r\n }\r\n },\r\n _prepareAxisOptions: function(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: function(seriesTheme) {\r\n var paneList = (0, _utils2.map)(this.panes, (function(pane) {\r\n return pane.name\r\n }));\r\n seriesTheme.pane = seriesTheme.pane || this.defaultPane;\r\n return paneList.includes(seriesTheme.pane)\r\n },\r\n _initCustomPositioningAxes: function() {\r\n var that = this;\r\n var argumentAxis = that.getArgumentAxis();\r\n var valueAxisName = argumentAxis.getOptions().customPositionAxis;\r\n var valueAxis = that._valueAxes.filter((function(v) {\r\n return v.pane === argumentAxis.pane && (!valueAxisName || valueAxisName === v.name)\r\n }))[0];\r\n that._valueAxes.forEach((function(v) {\r\n if (argumentAxis !== v.getOrthogonalAxis()) {\r\n v.getOrthogonalAxis = function() {\r\n return argumentAxis\r\n };\r\n v.customPositionIsBoundaryOrthogonalAxis = function() {\r\n return argumentAxis.customPositionIsBoundary()\r\n }\r\n }\r\n }));\r\n if ((0, _type.isDefined)(valueAxis) && valueAxis !== argumentAxis.getOrthogonalAxis()) {\r\n argumentAxis.getOrthogonalAxis = function() {\r\n return valueAxis\r\n };\r\n argumentAxis.customPositionIsBoundaryOrthogonalAxis = function() {\r\n return that._valueAxes.some((function(v) {\r\n return v.customPositionIsBoundary()\r\n }))\r\n }\r\n } else if ((0, _type.isDefined)(argumentAxis.getOrthogonalAxis()) && !(0, _type.isDefined)(valueAxis)) {\r\n argumentAxis.getOrthogonalAxis = _common.noop\r\n }\r\n },\r\n _getAllAxes: function() {\r\n return this._argumentAxes.concat(this._valueAxes)\r\n },\r\n _resetAxesAnimation: function(isFirstDrawing, isHorizontal) {\r\n var axes = (0, _type.isDefined)(isHorizontal) ? isHorizontal ^ this._isRotated() ? this._argumentAxes : this._valueAxes : this._getAllAxes();\r\n axes.forEach((function(a) {\r\n a.resetApplyingAnimation(isFirstDrawing)\r\n }))\r\n },\r\n _axesBoundaryPositioning: function() {\r\n var allAxes = this._getAllAxes();\r\n var boundaryStateChanged = false;\r\n allAxes.forEach((function(a) {\r\n if (!a.customPositionIsAvailable()) {\r\n return false\r\n }\r\n var prevBoundaryState = a.customPositionIsBoundary();\r\n a._customBoundaryPosition = a.getCustomBoundaryPosition();\r\n boundaryStateChanged |= prevBoundaryState !== a.customPositionIsBoundary()\r\n }));\r\n return boundaryStateChanged\r\n },\r\n _getCrosshairMargins: function() {\r\n var crosshairOptions = this._getCrosshairOptions() || {};\r\n var crosshairEnabled = crosshairOptions.enabled;\r\n var margins = (0, _crosshair.getMargins)();\r\n var horizontalLabel = (0, _extend2.extend)(true, {}, crosshairOptions.label, crosshairOptions.horizontalLine.label);\r\n var verticalLabel = (0, _extend2.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: function(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: function(needHideGrids) {\r\n var that = this;\r\n var synchronizeMultiAxes = that._themeManager.getOptions(\"synchronizeMultiAxes\");\r\n var valueAxes = that._valueAxes;\r\n var paneWithAxis = {};\r\n that.series.forEach((function(series) {\r\n var axis = series.getValueAxis();\r\n paneWithAxis[axis.pane] = true\r\n }));\r\n that.panes.forEach((function(pane) {\r\n var paneName = pane.name;\r\n if (!paneWithAxis[paneName]) {\r\n that._getValueAxis(paneName)\r\n }\r\n if (needHideGrids && synchronizeMultiAxes) {\r\n hideGridsOnNonFirstValueAxisForPane(valueAxes.filter((function(axis) {\r\n return axis.pane === paneName\r\n })))\r\n }\r\n }));\r\n that._valueAxes = valueAxes.filter((function(axis) {\r\n if (!axis.pane) {\r\n axis.setPane(that.defaultPane)\r\n }\r\n var paneExists = doesPaneExist(that.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 that._valueAxes.forEach((function(axis) {\r\n var optionPath = axis.getOptions().optionPath;\r\n if (optionPath) {\r\n var axesWithSamePath = that._valueAxes.filter((function(a) {\r\n return a.getOptions().optionPath === optionPath\r\n }));\r\n if (axesWithSamePath.length > 1) {\r\n if (axesWithSamePath.some((function(a) {\r\n return a === defaultAxis\r\n }))) {\r\n axesWithSamePath.forEach((function(a) {\r\n if (a !== defaultAxis) {\r\n a.getOptions().optionPath = null\r\n }\r\n }))\r\n } else {\r\n axesWithSamePath.forEach((function(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: function(paneName) {\r\n var paneSeries = [];\r\n (0, _iterator.each)(this.series, (function(_, 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: function() {\r\n var commonBorderOptions = this._themeManager.getOptions(\"commonPaneSettings\").border;\r\n var panesBorderOptions = {};\r\n this.panes.forEach((function(pane) {\r\n return panesBorderOptions[pane.name] = (0, _extend2.extend)(true, {}, commonBorderOptions, pane.border)\r\n }));\r\n return panesBorderOptions\r\n },\r\n _createScrollBar: function() {\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 _scroll_bar.ScrollBar(this._renderer, scrollBarGroup)).update(scrollBarOptions)\r\n } else {\r\n scrollBarGroup.linkRemove();\r\n this._scrollBar && this._scrollBar.dispose();\r\n this._scrollBar = null\r\n }\r\n },\r\n _executeAppendAfterSeries: function(append) {\r\n append()\r\n },\r\n _prepareToRender: function(drawOptions) {\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: function() {\r\n var adjustOnZoom = this._themeManager.getOptions(\"adjustOnZoom\");\r\n if (!adjustOnZoom) {\r\n return\r\n }\r\n this._valueAxes.forEach((function(axis) {\r\n return axis.adjust()\r\n }))\r\n },\r\n _recreateSizeDependentObjects: function(isCanvasChanged) {\r\n var that = this;\r\n var series = that._getVisibleSeries();\r\n var useAggregation = series.some((function(s) {\r\n return s.useAggregation()\r\n }));\r\n var zoomChanged = that._isZooming();\r\n if (!useAggregation) {\r\n return\r\n }\r\n that._argumentAxes.forEach((function(axis) {\r\n axis.updateCanvas(that._canvas, true)\r\n }));\r\n series.forEach((function(series) {\r\n if (series.useAggregation() && (isCanvasChanged || zoomChanged || !series._useAllAggregatedPoints)) {\r\n series.createPoints()\r\n }\r\n }));\r\n that._processSeriesFamilies()\r\n },\r\n _isZooming: function() {\r\n var argumentAxis = this.getArgumentAxis();\r\n if (!argumentAxis || !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 = (0, _utils2.getLog)(min, businessRange.base);\r\n max = (0, _utils2.getLog)(max, businessRange.base)\r\n }\r\n var viewportDistance = businessRange.axisType === DISCRETE ? (0, _utils2.getCategoriesInfo)(businessRange.categories, min, max).categories.length : Math.abs(max - min);\r\n var precision = (0, _math.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: function() {\r\n var that = this;\r\n var viewport = new _range.Range;\r\n that.series.forEach((function(s) {\r\n viewport.addRange(s.getArgumentRange())\r\n }));\r\n that._argumentAxes.forEach((function(axis) {\r\n axis.updateCanvas(that._canvas, true);\r\n axis.setBusinessRange(viewport, that._axesReinitialized)\r\n }));\r\n that.callBase()\r\n },\r\n _isLegendInside: function() {\r\n return this._legend && \"inside\" === this._legend.getPosition()\r\n },\r\n _isRotated: function() {\r\n return this._themeManager.getOptions(\"rotated\")\r\n },\r\n _getLayoutTargets: function() {\r\n return this.panes\r\n },\r\n _applyClipRects: function(panesBorderOptions) {\r\n this._drawPanesBorders(panesBorderOptions);\r\n this._createClipRectsForPanes();\r\n this._applyClipRectsForAxes();\r\n this._fillPanesBackground()\r\n },\r\n _updateLegendPosition: function(drawOptions, legendHasInsidePosition) {\r\n if (drawOptions.drawLegend && this._legend && legendHasInsidePosition) {\r\n var panes = this.panes;\r\n var newCanvas = (0, _extend2.extend)({}, panes[0].canvas);\r\n var layoutManager = new _layout_manager.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: function() {\r\n return true\r\n },\r\n _applyExtraSettings: function(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, wideClipRect && wideClipRect.id, this._getPaneBorderVisibility(paneIndex))\r\n },\r\n _updatePanesCanvases: function(drawOptions) {\r\n if (!drawOptions.recreateCanvas) {\r\n return\r\n }(0, _utils2.updatePanesCanvases)(this.panes, this._canvas, this._isRotated())\r\n },\r\n _normalizePanesHeight: function() {\r\n (0, _utils2.normalizePanesHeight)(this.panes)\r\n },\r\n _renderScaleBreaks: function() {\r\n this._valueAxes.concat(this._argumentAxes).forEach((function(axis) {\r\n axis.drawScaleBreaks()\r\n }))\r\n },\r\n _getArgFilter: function() {\r\n return _range_data_calculator.default.getViewPortFilter(this.getArgumentAxis().visualRange() || {})\r\n },\r\n _hidePointsForSingleSeriesIfNeeded: function(series) {\r\n var seriesPoints = series.getPoints();\r\n var overlappedPointsCount = 0;\r\n for (var i = 0; i < seriesPoints.length; i++) {\r\n var currentPoint = seriesPoints[i];\r\n var overlappingPoints = seriesPoints.slice(i + 1);\r\n overlappedPointsCount += isPointOverlapped(currentPoint, overlappingPoints);\r\n if (overlappedPointsCount > seriesPoints.length / 2) {\r\n series.autoHidePointMarkers = true;\r\n break\r\n }\r\n }\r\n },\r\n _applyAutoHidePointMarkers: function(filteredSeries) {\r\n var overlappingPoints = [];\r\n for (var i = filteredSeries.length - 1; i >= 0; i--) {\r\n var currentSeries = filteredSeries[i];\r\n if (!currentSeries.autoHidePointMarkersEnabled()) {\r\n continue\r\n }\r\n currentSeries.autoHidePointMarkers = false;\r\n this._hidePointsForSingleSeriesIfNeeded(currentSeries);\r\n if (!currentSeries.autoHidePointMarkers) {\r\n var seriesPoints = currentSeries.getPoints();\r\n var overlappingPointsCount = seriesPoints.reduce((function(pointsCount, currentPoint) {\r\n return pointsCount + isPointOverlapped(currentPoint, overlappingPoints, true)\r\n }), 0);\r\n if (overlappingPointsCount < seriesPoints.length) {\r\n overlappingPoints = overlappingPoints.concat(seriesPoints)\r\n } else {\r\n currentSeries.autoHidePointMarkers = true\r\n }\r\n }\r\n }\r\n },\r\n _applyPointMarkersAutoHiding: function() {\r\n var that = this;\r\n var allSeries = that.series;\r\n if (!that._themeManager.getOptions(\"autoHidePointMarkers\")) {\r\n allSeries.forEach((function(s) {\r\n return s.autoHidePointMarkers = false\r\n }));\r\n return\r\n }\r\n that.panes.forEach((function(_ref) {\r\n var borderCoords = _ref.borderCoords,\r\n name = _ref.name;\r\n var series = allSeries.filter((function(s) {\r\n return s.pane === name && s.usePointsToDefineAutoHiding()\r\n }));\r\n series.forEach((function(singleSeries) {\r\n singleSeries.prepareCoordinatesForPoints()\r\n }));\r\n var argAxis = that.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 ? function(p1, p2) {\r\n return argVisualRange.categories.indexOf(p1.argument) - argVisualRange.categories.indexOf(p2.argument)\r\n } : function(p1, p2) {\r\n return p1.argument - p2.argument\r\n };\r\n var points = [];\r\n markersInfo.series.forEach((function(s) {\r\n return points = points.concat(s.points)\r\n }));\r\n points.sort(sortingCallback);\r\n updateMarkersInfo(points, markersInfo.overloadedSeries);\r\n that._applyAutoHidePointMarkers(series)\r\n }\r\n }))\r\n },\r\n _renderAxes: function(drawOptions, panesBorderOptions) {\r\n function calculateTitlesWidth(axes) {\r\n return axes.map((function(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 that = this;\r\n var rotated = that._isRotated();\r\n var synchronizeMultiAxes = that._themeManager.getOptions(\"synchronizeMultiAxes\");\r\n var scrollBar = that._scrollBar ? [that._scrollBar] : [];\r\n var extendedArgAxes = that._isArgumentAxisBeforeScrollBar() ? that._argumentAxes.concat(scrollBar) : scrollBar.concat(that._argumentAxes);\r\n var verticalAxes = rotated ? that._argumentAxes : that._valueAxes;\r\n var verticalElements = rotated ? extendedArgAxes : that._valueAxes;\r\n var horizontalAxes = rotated ? that._valueAxes : that._argumentAxes;\r\n var horizontalElements = rotated ? that._valueAxes : extendedArgAxes;\r\n var allAxes = verticalAxes.concat(horizontalAxes);\r\n var allElements = allAxes.concat(scrollBar);\r\n var verticalAxesFirstDrawing = verticalAxes.some((function(v) {\r\n return v.isFirstDrawing()\r\n }));\r\n that._normalizePanesHeight();\r\n that._updatePanesCanvases(drawOptions);\r\n var panesCanvases = that.panes.reduce((function(canvases, pane) {\r\n canvases[pane.name] = (0, _extend2.extend)({}, pane.canvas);\r\n return canvases\r\n }), {});\r\n var paneSizes = that.panes.reduce((function(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 = (0, _extend2.extend)(true, {}, panesCanvases);\r\n that._initCustomPositioningAxes();\r\n var needCustomAdjustAxes = that._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 that._renderScaleBreaks();\r\n horizontalAxes.forEach((function(a) {\r\n return a.resolveOverlappingForCustomPositioning(verticalAxes)\r\n }));\r\n verticalAxes.forEach((function(a) {\r\n return a.resolveOverlappingForCustomPositioning(horizontalAxes)\r\n }));\r\n return false\r\n }\r\n if (needCustomAdjustAxes) {\r\n allAxes.forEach((function(a) {\r\n return 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 }\r\n if (that._scrollBar) {\r\n that._scrollBar.setPane(that.panes)\r\n }\r\n var vAxesMargins = {\r\n panes: {}\r\n };\r\n var hAxesMargins = getHorizontalAxesMargins(horizontalElements, (function(axis) {\r\n return axis.estimateMargins(panesCanvases[axis.pane])\r\n }));\r\n panesCanvases = shrinkCanvases(rotated, panesCanvases, paneSizes, vAxesMargins, hAxesMargins);\r\n var drawAxesAndSetCanvases = function(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 (!that._changesApplying && that._estimateTickIntervals(verticalAxes, panesCanvases)) {\r\n drawAxesAndSetCanvases(false)\r\n }\r\n var oldTitlesWidth = calculateTitlesWidth(verticalAxes);\r\n var visibleSeries = that._getVisibleSeries();\r\n var pointsToAnimation = that._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 that._renderScaleBreaks();\r\n that.panes.forEach((function(pane) {\r\n (0, _extend2.extend)(pane.canvas, panesCanvases[pane.name])\r\n }));\r\n that._valueAxes.forEach((function(axis) {\r\n axis.setInitRange()\r\n }));\r\n verticalAxes.forEach((function(axis, i) {\r\n var _axis$hasWrap;\r\n if (null !== (_axis$hasWrap = axis.hasWrap) && void 0 !== _axis$hasWrap && _axis$hasWrap.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 that.panes.forEach((function(_ref2) {\r\n var name = _ref2.name;\r\n return 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((function(v) {\r\n return v.customPositionIsAvailable() && v.getCustomPosition() !== v._axisPosition\r\n }))) {\r\n axesIsAnimated && that._resetAxesAnimation(verticalAxesFirstDrawing, false);\r\n performActionOnAxes(verticalAxes, \"updateSize\", panesCanvases, axesIsAnimated)\r\n }\r\n horizontalAxes.forEach((function(a) {\r\n return a.resolveOverlappingForCustomPositioning(verticalAxes)\r\n }));\r\n verticalAxes.forEach((function(a) {\r\n return a.resolveOverlappingForCustomPositioning(horizontalAxes)\r\n }));\r\n return cleanPanesCanvases\r\n },\r\n _getExtraTemplatesItems: function() {\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: function() {\r\n allAxes.forEach((function(a) {\r\n a.setRenderedState(true)\r\n }))\r\n },\r\n doneRequest: function() {\r\n allAxes.forEach((function(a) {\r\n a.setRenderedState(false)\r\n }))\r\n }\r\n }\r\n },\r\n _estimateTickIntervals: function(axes, canvases) {\r\n return axes.some((function(axis) {\r\n return axis.estimateTickInterval(canvases[axis.pane])\r\n }))\r\n },\r\n checkForMoreSpaceForPanesCanvas: function() {\r\n var rotated = this._isRotated();\r\n var panesAreCustomSized = this.panes.filter((function(p) {\r\n return p.unit\r\n })).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.apply(Math, this.panes.map((function(p) {\r\n return p.canvas.right\r\n })));\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.apply(Math, this.panes.map((function(p) {\r\n return p.canvas.bottom\r\n })));\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) || 0 !== this._containerInitialHeight;\r\n if (!rotated && !(customSize && 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, (function(pane) {\r\n return {\r\n width: rotated && !!pane.unit,\r\n height: !rotated && !!pane.unit\r\n }\r\n }))\r\n }\r\n return needSpace\r\n },\r\n _forceResize: function(width, height) {\r\n this._renderer.resize(width, height);\r\n this._updateSize();\r\n this._setContentSize();\r\n this._preserveOriginalCanvas();\r\n this._updateCanvasClipRect(this._canvas)\r\n },\r\n _shrinkAxes: function(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((function(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((function(pane) {\r\n return (0, _extend2.extend)(pane.canvas, panesCanvases[pane.name])\r\n }))\r\n }\r\n },\r\n _isArgumentAxisBeforeScrollBar: function() {\r\n var argumentAxis = this.getArgumentAxis();\r\n if (this._scrollBar) {\r\n var _argumentAxis$getOpti;\r\n var argAxisPosition = argumentAxis.getResolvedBoundaryPosition();\r\n var argAxisLabelPosition = null === (_argumentAxis$getOpti = argumentAxis.getOptions().label) || void 0 === _argumentAxis$getOpti ? void 0 : _argumentAxis$getOpti.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: function() {\r\n var panes = this.panes;\r\n var i;\r\n var params = [];\r\n for (i = 0; i < panes.length; i++) {\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: function() {\r\n var options = this._themeManager.getOptions(\"crosshair\") || {};\r\n var argumentAxis = this.getArgumentAxis();\r\n var axes = !this._isRotated() ? [\r\n [argumentAxis], this._valueAxes\r\n ] : [this._valueAxes, [argumentAxis]];\r\n var parameters = {\r\n canvas: this._getCommonCanvas(),\r\n panes: this._getPanesParameters(),\r\n axes: axes\r\n };\r\n if (!options || !options.enabled) {\r\n return\r\n }\r\n if (!this._crosshair) {\r\n this._crosshair = new _crosshair.Crosshair(this._renderer, options, parameters, this._crosshairCursorGroup)\r\n } else {\r\n this._crosshair.update(options, parameters)\r\n }\r\n this._crosshair.render()\r\n },\r\n _getCommonCanvas: function() {\r\n var i;\r\n var canvas;\r\n var commonCanvas;\r\n var panes = this.panes;\r\n for (i = 0; i < panes.length; i++) {\r\n canvas = panes[i].canvas;\r\n if (!commonCanvas) {\r\n commonCanvas = (0, _extend2.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: function() {\r\n var defaultBackgroundColor = this._themeManager.getOptions(\"commonPaneSettings\").backgroundColor;\r\n var backgroundColor;\r\n var renderer = this._renderer;\r\n var rect;\r\n var i;\r\n var rects = [];\r\n this._panesBackgroundGroup.clear();\r\n for (i = 0; i < this.panes.length; i++) {\r\n backgroundColor = this.panes[i].backgroundColor || defaultBackgroundColor;\r\n if (!backgroundColor || \"none\" === backgroundColor) {\r\n rects.push(null);\r\n continue\r\n }\r\n rect = renderer.rect(0, 0, 0, 0).attr({\r\n fill: (0, _utils2.extractColor)(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: function() {\r\n var that = this;\r\n var bc;\r\n (0, _iterator.each)(that.panes, (function(i, pane) {\r\n bc = pane.borderCoords;\r\n if (null !== that.panesBackground[i]) {\r\n that.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: function(pane) {\r\n var canvas = pane.canvas;\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: function(panesBorderOptions) {\r\n var that = this;\r\n var rotated = that._isRotated();\r\n that._panesBorderGroup.linkRemove().clear();\r\n (0, _iterator.each)(that.panes, (function(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 that._calcPaneBorderCoords(pane, rotated);\r\n if (!borderOptions.visible) {\r\n return\r\n }\r\n var bc = pane.borderCoords;\r\n var segmentRectParams = (0, _utils.prepareSegmentRectPoints)(bc.left, bc.top, bc.width, bc.height, borderOptions);\r\n that._renderer.path(segmentRectParams.points, segmentRectParams.pathType).attr(attr).append(that._panesBorderGroup)\r\n }));\r\n that._panesBorderGroup.linkAppend()\r\n },\r\n _createClipRect: function(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: function() {\r\n var that = this;\r\n var canvas = that._canvas;\r\n (0, _iterator.each)(that.panes, (function(i, pane) {\r\n var needWideClipRect = false;\r\n var bc = pane.borderCoords;\r\n var left = bc.left;\r\n var top = bc.top;\r\n var width = bc.width;\r\n var height = bc.height;\r\n var panesClipRects = that._panesClipRects;\r\n that._createClipRect(panesClipRects.fixed, i, left, top, width, height);\r\n that._createClipRect(panesClipRects.base, i, left, top, width, height);\r\n (0, _iterator.each)(that.series, (function(_, 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 (that._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 that._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: function() {\r\n var axes = this._getAllAxes();\r\n var chartCanvasClipRectID = this._getCanvasClipRectID();\r\n for (var i = 0; i < axes.length; i++) {\r\n var elementsClipRectID = this._getElementsClipRectID(axes[i].pane);\r\n axes[i].applyClipRects(elementsClipRectID, chartCanvasClipRectID)\r\n }\r\n },\r\n _getPaneBorderVisibility: function(paneIndex) {\r\n var commonPaneBorderVisible = this._themeManager.getOptions(\"commonPaneSettings\").border.visible;\r\n var pane = this.panes[paneIndex] || {};\r\n var paneBorder = pane.border || {};\r\n return \"visible\" in paneBorder ? paneBorder.visible : commonPaneBorderVisible\r\n },\r\n _getCanvasForPane: function(paneName) {\r\n var panes = this.panes;\r\n var panesNumber = panes.length;\r\n var i;\r\n for (i = 0; i < panesNumber; i++) {\r\n if (panes[i].name === paneName) {\r\n return panes[i].canvas\r\n }\r\n }\r\n },\r\n _getTrackerSettings: function() {\r\n var themeManager = this._themeManager;\r\n return (0, _extend2.extend)(this.callBase(), {\r\n chart: this,\r\n rotated: this._isRotated(),\r\n crosshair: this._getCrosshairOptions().enabled ? this._crosshair : null,\r\n stickyHovering: themeManager.getOptions(\"stickyHovering\")\r\n })\r\n },\r\n _resolveLabelOverlappingStack: function() {\r\n var that = this;\r\n var isRotated = that._isRotated();\r\n var shiftDirection = isRotated ? function(box, length) {\r\n return {\r\n x: box.x - length,\r\n y: box.y\r\n }\r\n } : function(box, length) {\r\n return {\r\n x: box.x,\r\n y: box.y - length\r\n }\r\n };\r\n (0, _iterator.each)(that._getStackPoints(), (function(_, stacks) {\r\n (0, _iterator.each)(stacks, (function(_, points) {\r\n var isInverted = points[0].series.getValueAxis().getOptions().inverted;\r\n _base_chart.overlapping.resolveLabelOverlappingInOneDirection(points, that._getCommonCanvas(), isRotated, isInverted, shiftDirection, (function(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 return (a.value() - b.value()) * (a.labels[0].getPoint().series.getValueAxis().getTranslator().isInverted() ? -1 : 1)\r\n }\r\n return 0\r\n }))\r\n }))\r\n }))\r\n },\r\n _getStackPoints: function() {\r\n var stackPoints = {};\r\n var visibleSeries = this._getVisibleSeries();\r\n (0, _iterator.each)(visibleSeries, (function(_, singleSeries) {\r\n var points = singleSeries.getPoints();\r\n var stackName = singleSeries.getStackName() || null;\r\n (0, _iterator.each)(points, (function(_, point) {\r\n var argument = point.argument;\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: function() {\r\n return this._getOption(\"crosshair\")\r\n },\r\n zoomArgument: function(min, max) {\r\n if (!this._initialized || !(0, _type.isDefined)(min) && !(0, _type.isDefined)(max)) {\r\n return\r\n }\r\n this.getArgumentAxis().visualRange([min, max])\r\n },\r\n resetVisualRange: function() {\r\n var that = this;\r\n var axes = that._argumentAxes;\r\n var nonVirtualArgumentAxis = that.getArgumentAxis();\r\n axes.forEach((function(axis) {\r\n axis.resetVisualRange(nonVirtualArgumentAxis !== axis);\r\n that._applyCustomVisualRangeOption(axis)\r\n }));\r\n that.callBase()\r\n },\r\n getVisibleArgumentBounds: function() {\r\n var translator = this._argumentAxes[0].getTranslator();\r\n var range = translator.getBusinessRange();\r\n var isDiscrete = range.axisType === DISCRETE;\r\n var categories = range.categories;\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: function() {\r\n this.callBase();\r\n if (this._changes.has(VISUAL_RANGE)) {\r\n this._raiseZoomEndHandlers()\r\n }\r\n },\r\n _getAxesForScaling: function() {\r\n return [this.getArgumentAxis()].concat(this._valueAxes)\r\n },\r\n _applyVisualRangeByVirtualAxes: function(axis, range) {\r\n if (axis.isArgumentAxis) {\r\n if (axis !== this.getArgumentAxis()) {\r\n return true\r\n }\r\n this._argumentAxes.filter((function(a) {\r\n return a !== axis\r\n })).forEach((function(a) {\r\n return a.visualRange(range, {\r\n start: true,\r\n end: true\r\n })\r\n }))\r\n }\r\n return false\r\n },\r\n _raiseZoomEndHandlers: function() {\r\n this._argumentAxes.forEach((function(axis) {\r\n return axis.handleZoomEnd()\r\n }));\r\n this.callBase()\r\n },\r\n _setOptionsByReference: function() {\r\n this.callBase();\r\n (0, _extend2.extend)(this._optionsByReference, {\r\n \"argumentAxis.visualRange\": true\r\n })\r\n },\r\n option: function() {\r\n var option = this.callBase.apply(this, arguments);\r\n var valueAxis = this._options.silent(\"valueAxis\");\r\n if (\"array\" === (0, _type.type)(valueAxis)) {\r\n for (var i = 0; i < valueAxis.length; i++) {\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: function() {\r\n var argAxis = this._argumentAxes[0];\r\n var argumentVisualRange = (0, _utils2.convertVisualRangeObject)(argAxis.visualRange(), !_isArray(this.option(\"argumentAxis.visualRange\")));\r\n if (!argAxis.skipEventRising || !(0, _utils2.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(_shutter_zoom.default);\r\ndxChart.addPlugin(_zoom_and_pan.default);\r\ndxChart.addPlugin(_annotations.plugins.core);\r\ndxChart.addPlugin(_annotations.plugins.chart);\r\n(0, _component_registrator.default)(\"dxChart\", dxChart);\r\nvar _default = dxChart;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/viz/chart_components/advanced_chart.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.AdvancedChart = void 0;\r\nvar _extend2 = require(\"../../core/utils/extend\");\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _range = require(\"../translators/range\");\r\nvar _base_axis = require(\"../axes/base_axis\");\r\nvar _series_family = require(\"../core/series_family\");\r\nvar _base_chart = require(\"./base_chart\");\r\nvar _range_data_calculator = _interopRequireDefault(require(\"../series/helpers/range_data_calculator\"));\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _utils = require(\"../core/utils\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\n\r\nfunction _defineProperty(obj, key, value) {\r\n key = _toPropertyKey(key);\r\n if (key in obj) {\r\n Object.defineProperty(obj, key, {\r\n value: value,\r\n enumerable: true,\r\n configurable: true,\r\n writable: true\r\n })\r\n } else {\r\n obj[key] = value\r\n }\r\n return obj\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\nvar _isArray = Array.isArray;\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 return _isArray(axisOptions) ? 0 === axisOptions.length ? [{}] : axisOptions : [axisOptions]\r\n}\r\n\r\nfunction processBubbleMargin(opt, bubbleSize) {\r\n if (opt.processBubbleSize) {\r\n opt.size = bubbleSize\r\n }\r\n return opt\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 = ((0, _type.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 _groupsData$groups$fi = groupsData.groups.filter((function(g) {\r\n return g.valueAxis === axis\r\n }))[0],\r\n valueAxisType = _groupsData$groups$fi.valueAxisType,\r\n valueType = _groupsData$groups$fi.valueType;\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[pathElements.length - 1];\r\n if (\"endValue\" === destElem || \"startValue\" === destElem) {\r\n return _defineProperty({}, destElem, value)\r\n }\r\n}\r\nvar AdvancedChart = _base_chart.BaseChart.inherit({\r\n _fontFields: [COMMON_AXIS_SETTINGS + \".label.\" + FONT, COMMON_AXIS_SETTINGS + \".title.\" + 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: function() {\r\n this._panesClipRects = {};\r\n this.callBase()\r\n },\r\n _disposeCore: function() {\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: function() {\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: function() {\r\n this._cleanPanesClipRects(\"fixed\");\r\n this._cleanPanesClipRects(\"base\");\r\n this._cleanPanesClipRects(\"wide\")\r\n },\r\n _cleanPanesClipRects: function(clipArrayName) {\r\n var clipArray = this._panesClipRects[clipArrayName];\r\n (clipArray || []).forEach((function(clipRect) {\r\n return clipRect && clipRect.dispose()\r\n }));\r\n this._panesClipRects[clipArrayName] = []\r\n },\r\n _getElementsClipRectID: function(paneName) {\r\n var clipShape = this._panesClipRects.fixed[this._getPaneIndex(paneName)];\r\n return clipShape && clipShape.id\r\n },\r\n _getPaneIndex: function(paneName) {\r\n var paneIndex;\r\n var name = paneName || DEFAULT_PANE_NAME;\r\n (0, _iterator.each)(this.panes, (function(index, pane) {\r\n if (pane.name === name) {\r\n paneIndex = index;\r\n return false\r\n }\r\n }));\r\n return paneIndex\r\n },\r\n _updateSize: function() {\r\n this.callBase();\r\n (0, _utils.setCanvasValues)(this._canvas)\r\n },\r\n _reinitAxes: function() {\r\n this.panes = this._createPanes();\r\n this._populateAxes();\r\n this._axesReinitialized = true\r\n },\r\n _populateAxes: function() {\r\n var that = this;\r\n var panes = that.panes;\r\n var rotated = that._isRotated();\r\n var argumentAxesOptions = prepareAxis(that.option(\"argumentAxis\") || {})[0];\r\n var valueAxisOption = that.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 = that._getCrosshairMargins();\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 = (0, _utils.map)(panes, (function(pane) {\r\n var virtual = pane.name !== paneWithNonVirtualAxis;\r\n return that._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 (0, _iterator.each)(valueAxesOptions, (function(priority, axisOptions) {\r\n var _axisOptions$panes;\r\n var axisPanes = [];\r\n var name = axisOptions.name;\r\n if (name && axisNames.includes(name)) {\r\n that._incidentOccurred(\"E2102\");\r\n return\r\n }\r\n name && axisNames.push(name);\r\n if (axisOptions.pane) {\r\n axisPanes.push(axisOptions.pane)\r\n }\r\n if (null !== (_axisOptions$panes = axisOptions.panes) && void 0 !== _axisOptions$panes && _axisOptions$panes.length) {\r\n axisPanes = axisPanes.concat(axisOptions.panes.slice(0))\r\n }\r\n axisPanes = (0, _utils.unique)(axisPanes);\r\n if (!axisPanes.length) {\r\n axisPanes.push(void 0)\r\n }(0, _iterator.each)(axisPanes, (function(_, pane) {\r\n var optionPath = _isArray(valueAxisOption) ? \"valueAxis[\".concat(priority, \"]\") : \"valueAxis\";\r\n valueAxesPopulatedOptions.push(that._populateAxesOptions(\"valueAxis\", axisOptions, {\r\n name: name || DEFAULT_AXIS_NAME + valueAxesCounter++,\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 that._redesignAxes(argumentAxesPopulatedOptions, true, paneWithNonVirtualAxis);\r\n that._redesignAxes(valueAxesPopulatedOptions, false)\r\n },\r\n _redesignAxes: function(options, isArgumentAxes, paneWithNonVirtualAxis) {\r\n var that = this;\r\n var axesBasis = [];\r\n var axes = isArgumentAxes ? that._argumentAxes : that._valueAxes;\r\n (0, _iterator.each)(options, (function(_, opt) {\r\n var curAxes = axes && axes.filter((function(a) {\r\n return a.name === opt.name && (!(0, _type.isDefined)(opt.pane) && that.panes.some((function(p) {\r\n return p.name === a.pane\r\n })) || a.pane === opt.pane)\r\n }));\r\n if (curAxes && curAxes.length > 0) {\r\n (0, _iterator.each)(curAxes, (function(_, axis) {\r\n var axisTypes = getAxisTypes(that._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 (0, _iterator.reverseEach)(axes, (function(index, axis) {\r\n if (!axesBasis.some((function(basis) {\r\n return basis.axis && basis.axis === axis\r\n }))) {\r\n that._disposeAxis(index, isArgumentAxes)\r\n }\r\n }))\r\n } else if (isArgumentAxes) {\r\n axes = that._argumentAxes = []\r\n } else {\r\n axes = that._valueAxes = []\r\n }(0, _iterator.each)(axesBasis, (function(_, basis) {\r\n var axis = basis.axis;\r\n if (basis.axis && isArgumentAxes) {\r\n basis.axis.isVirtual = basis.axis.pane !== paneWithNonVirtualAxis\r\n } else if (basis.options) {\r\n axis = that._createAxis(isArgumentAxes, basis.options, isArgumentAxes ? basis.options.pane !== paneWithNonVirtualAxis : void 0);\r\n axes.push(axis)\r\n }\r\n axis.applyVisualRangeSetter(that._getVisualRangeSetter())\r\n }))\r\n },\r\n _disposeAxis: function(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: function() {\r\n var disposeObjectsInArray = this._disposeObjectsInArray;\r\n disposeObjectsInArray.call(this, \"_argumentAxes\");\r\n disposeObjectsInArray.call(this, \"_valueAxes\")\r\n },\r\n _appendAdditionalSeriesGroups: function() {\r\n this._crosshairCursorGroup.linkAppend();\r\n this._scrollBar && this._scrollBarGroup.linkAppend()\r\n },\r\n _getLegendTargets: function() {\r\n var _this = this;\r\n return (this.series || []).map((function(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: function() {\r\n this._processSeriesFamilies();\r\n this._processValueAxisFormat()\r\n },\r\n _renderTrackers: function() {\r\n var i;\r\n for (i = 0; i < this.series.length; ++i) {\r\n this.series[i].drawTrackers()\r\n }\r\n },\r\n _specialProcessSeries: function() {\r\n this._processSeriesFamilies()\r\n },\r\n _processSeriesFamilies: function() {\r\n var _that$seriesFamilies;\r\n var that = this;\r\n var types = [];\r\n var families = [];\r\n var paneSeries;\r\n var themeManager = that._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: (0, _type.isDefined)(negativesAsZeroes) ? negativesAsZeroes : negativesAsZeros\r\n };\r\n if (null !== (_that$seriesFamilies = that.seriesFamilies) && void 0 !== _that$seriesFamilies && _that$seriesFamilies.length) {\r\n (0, _iterator.each)(that.seriesFamilies, (function(_, family) {\r\n family.updateOptions(familyOptions);\r\n family.adjustSeriesValues()\r\n }));\r\n return\r\n }(0, _iterator.each)(that.series, (function(_, item) {\r\n if (!types.includes(item.type)) {\r\n types.push(item.type)\r\n }\r\n }));\r\n (0, _iterator.each)(that._getLayoutTargets(), (function(_, pane) {\r\n paneSeries = that._getSeriesForPane(pane.name);\r\n (0, _iterator.each)(types, (function(_, type) {\r\n var family = new _series_family.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: that._isRotated()\r\n });\r\n family.add(paneSeries);\r\n family.adjustSeriesValues();\r\n families.push(family)\r\n }))\r\n }));\r\n that.seriesFamilies = families\r\n },\r\n _updateSeriesDimensions: function() {\r\n var i;\r\n var seriesFamilies = this.seriesFamilies || [];\r\n for (i = 0; i < seriesFamilies.length; i++) {\r\n var family = seriesFamilies[i];\r\n family.updateSeriesValues();\r\n family.adjustSeriesDimensions()\r\n }\r\n },\r\n _getLegendCallBack: function(series) {\r\n return this._legend && this._legend.getActionCallback(series)\r\n },\r\n _appendAxesGroups: function() {\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: function() {\r\n var that = this;\r\n var bubbleSize = estimateBubbleSize(that.getSize(), that.panes.length, that._themeManager.getOptions(\"maxBubbleSize\"), that._isRotated());\r\n var argumentMarginOptions = {};\r\n that._valueAxes.forEach((function(valueAxis) {\r\n var groupSeries = that.series.filter((function(series) {\r\n return series.getValueAxis() === valueAxis\r\n }));\r\n var marginOptions = {};\r\n groupSeries.forEach((function(series) {\r\n if (series.isVisible()) {\r\n var seriesMarginOptions = processBubbleMargin(series.getMarginOptions(), bubbleSize);\r\n marginOptions = (0, _utils.mergeMarginOptions)(marginOptions, seriesMarginOptions);\r\n argumentMarginOptions = (0, _utils.mergeMarginOptions)(argumentMarginOptions, seriesMarginOptions)\r\n }\r\n }));\r\n valueAxis.setMarginOptions(marginOptions)\r\n }));\r\n that._argumentAxes.forEach((function(a) {\r\n return a.setMarginOptions(argumentMarginOptions)\r\n }))\r\n },\r\n _populateBusinessRange: function(updatedAxis, keepRange) {\r\n var that = this;\r\n var rotated = that._isRotated();\r\n var series = that._getVisibleSeries();\r\n var argRanges = {};\r\n var commonArgRange = new _range.Range({\r\n rotated: !!rotated\r\n });\r\n var getPaneName = function(axis) {\r\n return axis.pane || DEFAULT_PANE_NAME\r\n };\r\n that.panes.forEach((function(p) {\r\n return argRanges[p.name] = new _range.Range({\r\n rotated: !!rotated\r\n })\r\n }));\r\n that._valueAxes.forEach((function(valueAxis) {\r\n var groupRange = new _range.Range({\r\n rotated: !!rotated,\r\n pane: valueAxis.pane,\r\n axis: valueAxis.name\r\n });\r\n var groupSeries = series.filter((function(series) {\r\n return series.getValueAxis() === valueAxis\r\n }));\r\n groupSeries.forEach((function(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, that._axesReinitialized || keepRange, that._argumentAxes[0]._lastVisualRangeUpdateMode)\r\n }\r\n }));\r\n if (!updatedAxis || updatedAxis && series.length) {\r\n Object.keys(argRanges).forEach((function(p) {\r\n return commonArgRange.addRange(argRanges[p])\r\n }));\r\n var commonInterval = commonArgRange.interval;\r\n that._argumentAxes.forEach((function(a) {\r\n var _argRanges$getPaneNam;\r\n var currentInterval = null !== (_argRanges$getPaneNam = argRanges[getPaneName(a)].interval) && void 0 !== _argRanges$getPaneNam ? _argRanges$getPaneNam : commonInterval;\r\n a.setBusinessRange(new _range.Range(_extends({}, commonArgRange, {\r\n interval: currentInterval\r\n })), that._axesReinitialized, void 0, that._groupsData.categories)\r\n }))\r\n }\r\n that._populateMarginOptions()\r\n },\r\n getArgumentAxis: function() {\r\n return (this._argumentAxes || []).filter((function(a) {\r\n return !a.isVirtual\r\n }))[0]\r\n },\r\n getValueAxis: function(name) {\r\n var _this2 = this;\r\n return (this._valueAxes || []).filter((0, _type.isDefined)(name) ? function(a) {\r\n return a.name === name\r\n } : function(a) {\r\n return a.pane === _this2.defaultPane\r\n })[0]\r\n },\r\n _getGroupsData: function() {\r\n var that = this;\r\n var groups = [];\r\n that._valueAxes.forEach((function(axis) {\r\n groups.push({\r\n series: that.series.filter((function(series) {\r\n return series.getValueAxis() === axis\r\n })),\r\n valueAxis: axis,\r\n valueOptions: axis.getOptions()\r\n })\r\n }));\r\n return {\r\n groups: groups,\r\n argumentAxes: that._argumentAxes,\r\n argumentOptions: that._argumentAxes[0].getOptions()\r\n }\r\n },\r\n _groupSeries: function() {\r\n this._correctValueAxes(false);\r\n this._groupsData = this._getGroupsData()\r\n },\r\n _processValueAxisFormat: function() {\r\n var axesWithFullStackedFormat = [];\r\n this.series.forEach((function(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((function(axis) {\r\n if (-1 === axesWithFullStackedFormat.indexOf(axis)) {\r\n axis.resetAutoLabelFormat()\r\n }\r\n }))\r\n },\r\n _populateAxesOptions: function(typeSelector, userOptions, axisOptions, rotated, virtual) {\r\n var preparedUserOptions = this._prepareStripsAndConstantLines(typeSelector, userOptions, rotated);\r\n var options = (0, _extend2.extend)(true, {}, preparedUserOptions, axisOptions, this._prepareAxisOptions(typeSelector, preparedUserOptions, rotated));\r\n if (virtual) {\r\n options.visible = options.tick.visible = options.minorTick.visible = options.label.visible = false;\r\n options.title = {}\r\n }\r\n return options\r\n },\r\n _getValFilter: function(series) {\r\n return _range_data_calculator.default.getViewPortFilter(series.getValueAxis().visualRange() || {})\r\n },\r\n _createAxis: function(isArgumentAxes, options, virtual) {\r\n var that = this;\r\n var typeSelector = isArgumentAxes ? \"argumentAxis\" : \"valueAxis\";\r\n var renderingSettings = (0, _extend2.extend)({\r\n renderer: that._renderer,\r\n incidentOccurred: that._incidentOccurred,\r\n eventTrigger: that._eventTrigger,\r\n axisClass: isArgumentAxes ? \"arg\" : \"val\",\r\n widgetClass: \"dxc\",\r\n stripsGroup: that._stripsGroup,\r\n stripLabelAxesGroup: that._stripLabelAxesGroup,\r\n constantLinesGroup: that._constantLinesGroup,\r\n scaleBreaksGroup: that._scaleBreaksGroup,\r\n axesContainerGroup: that._axesGroup,\r\n labelsAxesGroup: that._labelsAxesGroup,\r\n gridGroup: that._gridGroup,\r\n isArgumentAxis: isArgumentAxes,\r\n getTemplate: function(template) {\r\n return that._getTemplate(template)\r\n }\r\n }, that._getAxisRenderingOptions(typeSelector));\r\n var axis = new _base_axis.Axis(renderingSettings);\r\n axis.updateOptions(options);\r\n axis.isVirtual = virtual;\r\n return axis\r\n },\r\n _applyVisualRangeByVirtualAxes: function(axis, range) {\r\n return false\r\n },\r\n _applyCustomVisualRangeOption: function(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: function() {\r\n var chart = this;\r\n return function(axis, _ref2) {\r\n var skipEventRising = _ref2.skipEventRising,\r\n range = _ref2.range;\r\n chart._applyCustomVisualRangeOption(axis, range);\r\n axis.setCustomVisualRange(range);\r\n axis.skipEventRising = skipEventRising;\r\n if (!chart._applyVisualRangeByVirtualAxes(axis, range)) {\r\n if (chart._applyingChanges) {\r\n chart._change_VISUAL_RANGE()\r\n } else {\r\n chart._requestChange([VISUAL_RANGE])\r\n }\r\n }\r\n }\r\n },\r\n _getTrackerSettings: function() {\r\n return (0, _extend2.extend)(this.callBase(), {\r\n argumentAxis: this.getArgumentAxis()\r\n })\r\n },\r\n _prepareStripsAndConstantLines: function(typeSelector, userOptions, rotated) {\r\n userOptions = this._themeManager.getOptions(typeSelector, userOptions, rotated);\r\n if (userOptions.strips) {\r\n (0, _iterator.each)(userOptions.strips, (function(i) {\r\n userOptions.strips[i] = (0, _extend2.extend)(true, {}, userOptions.stripStyle, userOptions.strips[i])\r\n }))\r\n }\r\n if (userOptions.constantLines) {\r\n (0, _iterator.each)(userOptions.constantLines, (function(i, line) {\r\n userOptions.constantLines[i] = (0, _extend2.extend)(true, {}, userOptions.constantLineStyle, line)\r\n }))\r\n }\r\n return userOptions\r\n },\r\n refresh: function() {\r\n this._disposeAxes();\r\n this.callBase()\r\n },\r\n _layoutAxes: function(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: function() {\r\n return this.layoutManager.needMoreSpaceForPanesCanvas(this._getLayoutTargets(), this._isRotated())\r\n },\r\n _parseVisualRangeOption: function(fullName, value) {\r\n var that = this;\r\n var name = fullName.split(/[.[]/)[0];\r\n var index = fullName.match(/\\d+/g);\r\n index = (0, _type.isDefined)(index) ? parseInt(index[0]) : index;\r\n if (fullName.indexOf(\"visualRange\") > 0) {\r\n if (\"object\" !== (0, _type.type)(value)) {\r\n value = wrapVisualRange(fullName, value) || value\r\n }\r\n that._setCustomVisualRange(name, index, value)\r\n } else if ((\"object\" === (0, _type.type)(value) || _isArray(value)) && name.indexOf(\"Axis\") > 0 && JSON.stringify(value).indexOf(\"visualRange\") > 0) {\r\n if ((0, _type.isDefined)(value.visualRange)) {\r\n that._setCustomVisualRange(name, index, value.visualRange)\r\n } else if (_isArray(value)) {\r\n value.forEach((function(a, i) {\r\n return (0, _type.isDefined)(a.visualRange) && that._setCustomVisualRange(name, i, a.visualRange)\r\n }))\r\n }\r\n }\r\n },\r\n _setCustomVisualRange: function(axesName, index, value) {\r\n var options = this._options.silent(axesName);\r\n if (!options) {\r\n return\r\n }\r\n if (!(0, _type.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: function() {\r\n this._valueAxes.forEach((function(axis) {\r\n return axis.handleZoomEnd()\r\n }))\r\n },\r\n _setOptionsByReference: function() {\r\n this.callBase();\r\n (0, _extend2.extend)(this._optionsByReference, {\r\n \"valueAxis.visualRange\": true\r\n })\r\n },\r\n _notifyOptionChanged: function(option, value, previousValue) {\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: function() {\r\n var that = this;\r\n that._valueAxes.forEach((function(axis) {\r\n var axisPath = axis.getOptions().optionPath;\r\n if (axisPath) {\r\n var path = \"\".concat(axisPath, \".visualRange\");\r\n var visualRange = (0, _utils.convertVisualRangeObject)(axis.visualRange(), !_isArray(that.option(path)));\r\n if (!axis.skipEventRising || !(0, _utils.rangesAreEqual)(visualRange, that.option(path))) {\r\n if (!that.option(axisPath) && \"valueAxis\" !== axisPath) {\r\n that.option(axisPath, {\r\n name: axis.name,\r\n visualRange: visualRange\r\n })\r\n } else {\r\n that.option(path, visualRange)\r\n }\r\n } else {\r\n axis.skipEventRising = null\r\n }\r\n }\r\n }))\r\n },\r\n _notify: function() {\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: function() {\r\n return this._valueAxes\r\n },\r\n _getAxesByOptionPath: function(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((function(a) {\r\n return a.getOptions().optionPath === axisPath\r\n }))\r\n } else if (\"object\" === (0, _type.type)(arg.value)) {\r\n axes = sourceAxes.filter((function(a) {\r\n return a.getOptions().optionPath === arg.name\r\n }))\r\n } else if (_isArray(arg.value)) {\r\n arg.value.forEach((function(v, index) {\r\n var axis = sourceAxes.filter((function(a) {\r\n return a.getOptions().optionPath === \"\".concat(arg.name, \"[\").concat(index, \"]\")\r\n }))[0];\r\n (0, _type.isDefined)(v[optionName]) && (0, _type.isDefined)(axis) && (axes[index] = axis)\r\n }))\r\n }\r\n return axes\r\n },\r\n _optionChanged: function(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 ((0, _type.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((function(a, index) {\r\n return setAxisVisualRangeByOption(arg, a, isDirectOption, index)\r\n }))\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: function() {\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: function() {\r\n var that = this;\r\n that._valueAxes.forEach((function(axis) {\r\n axis.resetVisualRange(false);\r\n that._applyCustomVisualRangeOption(axis)\r\n }));\r\n that._requestChange([VISUAL_RANGE])\r\n },\r\n _getCrosshairMargins: function() {\r\n return {\r\n x: 0,\r\n y: 0\r\n }\r\n },\r\n _legendDataField: \"series\",\r\n _adjustSeriesLabels: _common.noop,\r\n _correctValueAxes: _common.noop\r\n});\r\nexports.AdvancedChart = AdvancedChart;\r\n","/**\r\n * DevExtreme (cjs/viz/chart_components/base_chart.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.overlapping = exports.BaseChart = void 0;\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _index = require(\"../../events/utils/index\");\r\nvar _base_widget = _interopRequireDefault(require(\"../core/base_widget\"));\r\nvar _legend = require(\"../components/legend\");\r\nvar _data_validator = require(\"../components/data_validator\");\r\nvar _base_series = require(\"../series/base_series\");\r\nvar _chart_theme_manager = require(\"../components/chart_theme_manager\");\r\nvar _layout_manager = require(\"./layout_manager\");\r\nvar trackerModule = _interopRequireWildcard(require(\"./tracker\"));\r\nvar _utils = require(\"../core/utils\");\r\nvar _export = require(\"../core/export\");\r\nvar _title = require(\"../core/title\");\r\nvar _data_source = require(\"../core/data_source\");\r\nvar _tooltip = require(\"../core/tooltip\");\r\nvar _loading_indicator = require(\"../core/loading_indicator\");\r\n\r\nfunction _getRequireWildcardCache(nodeInterop) {\r\n if (\"function\" !== typeof WeakMap) {\r\n return null\r\n }\r\n var cacheBabelInterop = new WeakMap;\r\n var cacheNodeInterop = new WeakMap;\r\n return (_getRequireWildcardCache = function(nodeInterop) {\r\n return nodeInterop ? cacheNodeInterop : cacheBabelInterop\r\n })(nodeInterop)\r\n}\r\n\r\nfunction _interopRequireWildcard(obj, nodeInterop) {\r\n if (!nodeInterop && obj && obj.__esModule) {\r\n return obj\r\n }\r\n if (null === obj || \"object\" !== _typeof(obj) && \"function\" !== typeof obj) {\r\n return {\r\n default: obj\r\n }\r\n }\r\n var cache = _getRequireWildcardCache(nodeInterop);\r\n if (cache && cache.has(obj)) {\r\n return cache.get(obj)\r\n }\r\n var newObj = {};\r\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\r\n for (var key in obj) {\r\n if (\"default\" !== key && Object.prototype.hasOwnProperty.call(obj, key)) {\r\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\r\n if (desc && (desc.get || desc.set)) {\r\n Object.defineProperty(newObj, key, desc)\r\n } else {\r\n newObj[key] = obj[key]\r\n }\r\n }\r\n }\r\n newObj.default = obj;\r\n if (cache) {\r\n cache.set(obj, newObj)\r\n }\r\n return newObj\r\n}\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar _isArray = Array.isArray;\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((function(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((function(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 width = smallestObject.rollingStock.getBoundingRect().width;\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] : function() {\r\n return 0\r\n };\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((function(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((function(l) {\r\n l.isVisible() && rollingStocks.push(new RollingStock(l, isRotated, shiftFunction))\r\n }))\r\n }));\r\n if (hasStackedSeries) {\r\n !isRotated ^ isInverted && rollingStocks.reverse();\r\n sortRollingStocks = !isInverted ? sortRollingStocksByValue(rollingStocks) : rollingStocks\r\n } else {\r\n var rollingStocksTmp = rollingStocks.slice();\r\n sortRollingStocks = rollingStocks.sort((function(a, b) {\r\n return customSorting(a, b) || a.getInitialPosition() - b.getInitialPosition() || rollingStocksTmp.indexOf(a) - rollingStocksTmp.indexOf(b)\r\n }))\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((function(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 i;\r\n var currentRollingStock;\r\n var root;\r\n for (i = 0; i < rollingStocks.length - 1; i++) {\r\n 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 moveRollingStock(rollingStocks, canvas) {\r\n var i;\r\n var j;\r\n var currentRollingStock;\r\n var nextRollingStock;\r\n var currentBBox;\r\n var nextBBox;\r\n for (i = 0; i < rollingStocks.length; i++) {\r\n currentRollingStock = rollingStocks[i];\r\n if (rollingStocksIsOut(currentRollingStock, canvas)) {\r\n currentBBox = currentRollingStock.getBoundingRect();\r\n for (j = i + 1; j < rollingStocks.length; j++) {\r\n nextRollingStock = rollingStocks[j];\r\n if (!nextRollingStock) {\r\n continue\r\n }\r\n nextBBox = nextRollingStock.getBoundingRect();\r\n if (nextBBox.end > currentBBox.start - (currentBBox.end - canvas.end)) {\r\n nextRollingStock.toChain(currentRollingStock);\r\n rollingStocks[i] = currentRollingStock = null;\r\n break\r\n }\r\n }\r\n }\r\n currentRollingStock && currentRollingStock.setRollingStockInCanvas(canvas)\r\n }\r\n}\r\n\r\nfunction rollingStocksIsOut(rollingStock, canvas) {\r\n return rollingStock && rollingStock.getBoundingRect().end > canvas.end\r\n}\r\n\r\nfunction RollingStock(label, isRotated, shiftFunction) {\r\n var bBox = label.getBoundingRect();\r\n var x = bBox.x;\r\n var y = bBox.y;\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 return this\r\n}\r\nRollingStock.prototype = {\r\n toChain: function(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: function() {\r\n return this._bBox\r\n },\r\n shift: function(shiftLength) {\r\n var shiftFunction = this.shiftFunction;\r\n (0, _iterator.each)(this.labels, (function(index, label) {\r\n var bBox = label.getBoundingRect();\r\n var coords = 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: function(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: function() {\r\n return this.labels\r\n },\r\n value: function() {\r\n return this.labels[0].getData().value\r\n },\r\n getInitialPosition: function() {\r\n return this._initialPosition\r\n },\r\n _changeBoxWidth: function(width) {\r\n this._bBox.end += width;\r\n this._bBox.width += width\r\n }\r\n};\r\n\r\nfunction getLegendFields(name) {\r\n return {\r\n nameField: name + \"Name\",\r\n colorField: name + \"Color\",\r\n indexField: name + \"Index\"\r\n }\r\n}\r\n\r\nfunction getLegendSettings(legendDataField) {\r\n var formatObjectFields = getLegendFields(legendDataField);\r\n return {\r\n getFormatObject: function(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\nvar overlapping = {\r\n resolveLabelOverlappingInOneDirection: resolveLabelOverlappingInOneDirection\r\n};\r\nexports.overlapping = overlapping;\r\nvar BaseChart = _base_widget.default.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.\" + FONT, \"legend.title.\" + FONT, \"legend.title.subtitle.\" + FONT, \"commonSeriesSettings.label.\" + FONT],\r\n _rootClassPrefix: \"dxc\",\r\n _rootClass: \"dxc-chart\",\r\n _initialChanges: [\"INIT\"],\r\n _themeDependentChanges: [\"REFRESH_SERIES_REINIT\"],\r\n _getThemeManagerOptions: function() {\r\n var themeOptions = this.callBase.apply(this, arguments);\r\n themeOptions.options = this.option();\r\n return themeOptions\r\n },\r\n _createThemeManager: function() {\r\n var chartOption = this.option();\r\n var themeManager = new _chart_theme_manager.ThemeManager(this._getThemeManagerOptions());\r\n themeManager.setTheme(chartOption.theme, chartOption.rtlEnabled);\r\n return themeManager\r\n },\r\n _initCore: function() {\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 _layout_manager.LayoutManager;\r\n this._createScrollBar();\r\n _events_engine.default.on(this._$element, \"contextmenu\", (function(event) {\r\n if ((0, _index.isTouchEvent)(event) || (0, _index.isPointerEvent)(event)) {\r\n event.preventDefault()\r\n }\r\n }));\r\n _events_engine.default.on(this._$element, \"MSHoldVisual\", (function(event) {\r\n event.preventDefault()\r\n }))\r\n },\r\n _getLayoutItems: _common.noop,\r\n _layoutManagerOptions: function() {\r\n return this._themeManager.getOptions(\"adaptiveLayout\")\r\n },\r\n _reinit: function() {\r\n (0, _utils.setCanvasValues)(this._canvas);\r\n this._reinitAxes();\r\n this._requestChange([\"DATA_SOURCE\", \"DATA_INIT\", \"CORRECT_AXIS\", \"FULL_RENDER\"])\r\n },\r\n _correctAxes: _common.noop,\r\n _createHtmlStructure: function() {\r\n var that = this;\r\n var renderer = that._renderer;\r\n var root = renderer.root;\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 that._constantLinesGroup = {\r\n dispose: function() {\r\n this.under.dispose();\r\n this.above.dispose()\r\n },\r\n linkOff: function() {\r\n this.under.linkOff();\r\n this.above.linkOff()\r\n },\r\n clear: function() {\r\n this.under.linkRemove().clear();\r\n this.above.linkRemove().clear()\r\n },\r\n linkAppend: function() {\r\n this.under.linkAppend();\r\n this.above.linkAppend()\r\n }\r\n };\r\n that._labelsAxesGroup = renderer.g().attr({\r\n class: \"dxc-elements-axes-group\"\r\n });\r\n var appendLabelsAxesGroup = function() {\r\n that._labelsAxesGroup.linkOn(root, \"elements\")\r\n };\r\n that._backgroundRect = renderer.rect().attr({\r\n fill: \"gray\",\r\n opacity: 1e-4\r\n }).append(root);\r\n that._panesBackgroundGroup = renderer.g().attr({\r\n class: \"dxc-background\"\r\n }).append(root);\r\n that._stripsGroup = renderer.g().attr({\r\n class: \"dxc-strips-group\"\r\n }).linkOn(root, \"strips\");\r\n that._gridGroup = renderer.g().attr({\r\n class: \"dxc-grids-group\"\r\n }).linkOn(root, \"grids\");\r\n that._panesBorderGroup = renderer.g().attr({\r\n class: \"dxc-border\"\r\n }).linkOn(root, \"border\");\r\n that._axesGroup = renderer.g().attr({\r\n class: \"dxc-axes-group\"\r\n }).linkOn(root, \"axes\");\r\n that._executeAppendBeforeSeries(appendLabelsAxesGroup);\r\n that._stripLabelAxesGroup = renderer.g().attr({\r\n class: \"dxc-strips-labels-group\"\r\n }).linkOn(root, \"strips-labels\");\r\n that._constantLinesGroup.under = createConstantLinesGroup();\r\n that._seriesGroup = renderer.g().attr({\r\n class: \"dxc-series-group\"\r\n }).linkOn(root, \"series\");\r\n that._executeAppendAfterSeries(appendLabelsAxesGroup);\r\n that._constantLinesGroup.above = createConstantLinesGroup();\r\n that._scaleBreaksGroup = renderer.g().attr({\r\n class: \"dxc-scale-breaks\"\r\n }).linkOn(root, \"scale-breaks\");\r\n that._labelsGroup = renderer.g().attr({\r\n class: \"dxc-labels-group\"\r\n }).linkOn(root, \"labels\");\r\n that._crosshairCursorGroup = renderer.g().attr({\r\n class: \"dxc-crosshair-cursor\"\r\n }).linkOn(root, \"crosshair\");\r\n that._legendGroup = renderer.g().attr({\r\n class: \"dxc-legend\",\r\n \"clip-path\": that._getCanvasClipRectID()\r\n }).linkOn(root, \"legend\").linkAppend(root).enableLinks();\r\n that._scrollBarGroup = renderer.g().attr({\r\n class: \"dxc-scroll-bar\"\r\n }).linkOn(root, \"scroll-bar\")\r\n },\r\n _executeAppendBeforeSeries: function() {},\r\n _executeAppendAfterSeries: function() {},\r\n _disposeObjectsInArray: function(propName, fieldNames) {\r\n (0, _iterator.each)(this[propName] || [], (function(_, item) {\r\n if (fieldNames && item) {\r\n (0, _iterator.each)(fieldNames, (function(_, field) {\r\n item[field] && item[field].dispose()\r\n }))\r\n } else {\r\n item && item.dispose()\r\n }\r\n }));\r\n this[propName] = null\r\n },\r\n _disposeCore: function() {\r\n var that = this;\r\n var disposeObject = function(propName) {\r\n if (that[propName]) {\r\n that[propName].dispose();\r\n that[propName] = null\r\n }\r\n };\r\n var unlinkGroup = function(name) {\r\n that[name].linkOff()\r\n };\r\n var disposeObjectsInArray = this._disposeObjectsInArray;\r\n that._renderer.stopAllAnimations();\r\n disposeObjectsInArray.call(that, \"series\");\r\n disposeObject(\"_tracker\");\r\n disposeObject(\"_crosshair\");\r\n that.layoutManager = that._userOptions = that._canvas = that._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: function() {\r\n return this._themeManager.getOptions(\"animation\")\r\n },\r\n _getDefaultSize: function() {\r\n return {\r\n width: 400,\r\n height: 400\r\n }\r\n },\r\n _getOption: function(name) {\r\n return this._themeManager.getOptions(name)\r\n },\r\n _applySize: function(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: function() {\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: function() {\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: function() {\r\n return (0, _extend.extend)({\r\n chart: this\r\n }, this._getSelectionModes())\r\n },\r\n _getSelectionModes: function() {\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: function(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: function(rect) {\r\n var currentCanvas = this._canvas;\r\n return (0, _utils.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: function(_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 recreateCanvas = drawOptions.recreateCanvas;\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 = new Date - startTime\r\n },\r\n _preserveOriginalCanvas: function() {\r\n this.__originalCanvas = this._canvas;\r\n this._canvas = (0, _extend.extend)({}, this._canvas)\r\n },\r\n _layoutAxes: _common.noop,\r\n _renderElements: function(drawOptions) {\r\n var that = this;\r\n var preparedOptions = that._prepareToRender(drawOptions);\r\n var isRotated = that._isRotated();\r\n var isLegendInside = that._isLegendInside();\r\n var trackerCanvases = [];\r\n (0, _extend.extend)({}, that._canvas);\r\n var argBusinessRange;\r\n var zoomMinArg;\r\n var zoomMaxArg;\r\n that._renderer.lock();\r\n if (drawOptions.drawLegend && that._legend) {\r\n that._legendGroup.linkAppend()\r\n }\r\n that.layoutManager.setOptions(that._layoutManagerOptions());\r\n var layoutTargets = that._getLayoutTargets();\r\n this._layoutAxes((function(needSpace) {\r\n var axisDrawOptions = needSpace ? (0, _extend.extend)({}, drawOptions, {\r\n animate: false,\r\n recreateCanvas: true\r\n }) : drawOptions;\r\n var canvas = that._renderAxes(axisDrawOptions, preparedOptions);\r\n that._shrinkAxes(needSpace, canvas)\r\n }));\r\n that._applyClipRects(preparedOptions);\r\n that._appendSeriesGroups();\r\n that._createCrosshairCursor();\r\n layoutTargets.forEach((function(_ref) {\r\n var canvas = _ref.canvas;\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 (that._scrollBar) {\r\n argBusinessRange = that._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 that._scrollBar.init(argBusinessRange, !that._argumentAxes[0].getOptions().valueMarginsEnabled).setPosition(zoomMinArg, zoomMaxArg)\r\n }\r\n that._updateTracker(trackerCanvases);\r\n that._updateLegendPosition(drawOptions, isLegendInside);\r\n that._applyPointMarkersAutoHiding();\r\n that._renderSeries(drawOptions, isRotated, isLegendInside);\r\n that._renderGraphicObjects();\r\n that._renderer.unlock()\r\n },\r\n _updateLegendPosition: _common.noop,\r\n _createCrosshairCursor: _common.noop,\r\n _appendSeriesGroups: function() {\r\n this._seriesGroup.linkAppend();\r\n this._labelsGroup.linkAppend();\r\n this._appendAdditionalSeriesGroups()\r\n },\r\n _renderSeries: function(drawOptions, isRotated, isLegendInside) {\r\n this._calculateSeriesLayout(drawOptions, isRotated);\r\n this._renderSeriesElements(drawOptions, isLegendInside)\r\n },\r\n _calculateSeriesLayout: function(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: function() {\r\n return function() {\r\n return true\r\n }\r\n },\r\n _getValFilter: function(series) {\r\n return function() {\r\n return true\r\n }\r\n },\r\n _getPointsToAnimation: function(series) {\r\n var _this = this;\r\n var argViewPortFilter = this._getArgFilter();\r\n return series.map((function(s) {\r\n var valViewPortFilter = _this._getValFilter(s);\r\n return s.getPoints().filter((function(p) {\r\n return p.getOptions().visible && argViewPortFilter(p.argument) && (valViewPortFilter(p.getMinValue(true)) || valViewPortFilter(p.getMaxValue(true)))\r\n })).length\r\n }))\r\n },\r\n _renderSeriesElements: function(drawOptions, isLegendInside) {\r\n var that = this;\r\n var series = that.series;\r\n var resolveLabelOverlapping = that._themeManager.getOptions(\"resolveLabelOverlapping\");\r\n var pointsToAnimation = that._getPointsToAnimation(series);\r\n series.forEach((function(singleSeries, index) {\r\n that._applyExtraSettings(singleSeries, drawOptions);\r\n var animationEnabled = drawOptions.animate && pointsToAnimation[index] <= drawOptions.animationPointsLimit && that._renderer.animationEnabled();\r\n singleSeries.draw(animationEnabled, drawOptions.hideLayoutLabels, that._getLegendCallBack(singleSeries))\r\n }));\r\n if (\"none\" === resolveLabelOverlapping) {\r\n that._adjustSeriesLabels(false)\r\n } else {\r\n that._locateLabels(resolveLabelOverlapping)\r\n }\r\n that._renderTrackers(isLegendInside);\r\n that._tracker.repairTooltip();\r\n that._renderExtraElements();\r\n that._clearCanvas();\r\n that._seriesElementsDrawn = true\r\n },\r\n _changesApplied: function() {\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: function(resolveLabelOverlapping) {\r\n this._resolveLabelOverlapping(resolveLabelOverlapping)\r\n },\r\n _renderExtraElements: function() {},\r\n _clearCanvas: function() {\r\n this._canvas = this.__originalCanvas\r\n },\r\n _resolveLabelOverlapping: function(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 (0, _type.isFunction)(func) && func.call(this)\r\n },\r\n _getVisibleSeries: function() {\r\n return (0, _common.grep)(this.getAllSeries(), (function(series) {\r\n return series.isVisible()\r\n }))\r\n },\r\n _resolveLabelOverlappingHide: function() {\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: function() {\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: function() {\r\n return false\r\n },\r\n _createLegend: function() {\r\n var legendSettings = getLegendSettings(this._legendDataField);\r\n this._legend = new _legend.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: function() {\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: function(drawOptions) {\r\n var animationOptions = this._getAnimationOptions();\r\n var options = (0, _extend.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 (!(0, _type.isDefined)(options.recreateCanvas)) {\r\n options.recreateCanvas = options.adjustAxes && options.drawLegend && options.drawTitle\r\n }\r\n return options\r\n },\r\n _processRefreshData: function(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: function() {\r\n return (0, _utils.map)(this._getLegendTargets(), (function(item) {\r\n var legendData = item.legendData;\r\n var style = item.getLegendStyles;\r\n var opacity = style.normal.opacity;\r\n if (!item.visible) {\r\n if (!(0, _type.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: (0, _extend.extend)({}, style.hover, opacityStyle),\r\n selection: (0, _extend.extend)({}, style.selection, opacityStyle),\r\n normal: (0, _extend.extend)({}, style.normal, opacityStyle)\r\n };\r\n return legendData\r\n }))\r\n },\r\n _getLegendOptions: function(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: function(seriesIndex) {\r\n var _that$series;\r\n if (this.series) {\r\n if ((0, _type.isDefined)(seriesIndex)) {\r\n this.series[seriesIndex].dispose();\r\n this.series.splice(seriesIndex, 1)\r\n } else {\r\n (0, _iterator.each)(this.series, (function(_, s) {\r\n return s.dispose()\r\n }));\r\n this.series.length = 0\r\n }\r\n }\r\n if (!(null !== (_that$series = this.series) && void 0 !== _that$series && _that$series.length)) {\r\n this.series = []\r\n }\r\n },\r\n _disposeSeriesFamilies: function() {\r\n (0, _iterator.each)(this.seriesFamilies || [], (function(_, family) {\r\n family.dispose()\r\n }));\r\n this.seriesFamilies = null;\r\n this._needHandleRenderComplete = true\r\n },\r\n _optionChanged: function(arg) {\r\n this._themeManager.resetOptions(arg.name);\r\n this.callBase.apply(this, arguments)\r\n },\r\n _applyChanges: function() {\r\n var that = this;\r\n that._themeManager.update(that._options.silent());\r\n that.callBase.apply(that, 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: function() {\r\n this._renderer.updateAnimationOptions(this._getAnimationOptions())\r\n },\r\n _change_DATA_SOURCE: function() {\r\n this._needHandleRenderComplete = true;\r\n this._updateDataSource()\r\n },\r\n _change_PALETTE: function() {\r\n this._themeManager.updatePalette();\r\n this._refreshSeries(\"DATA_INIT\")\r\n },\r\n _change_REFRESH_SERIES_DATA_INIT: function() {\r\n this._refreshSeries(\"DATA_INIT\")\r\n },\r\n _change_DATA_INIT: function() {\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: function() {\r\n this._dataInit()\r\n },\r\n _change_REFRESH_SERIES_FAMILIES: function() {\r\n this._processSeriesFamilies();\r\n this._populateBusinessRange();\r\n this._processRefreshData(FORCE_RENDER_REFRESH_ACTION)\r\n },\r\n _change_FORCE_RENDER: function() {\r\n this._processRefreshData(FORCE_RENDER_REFRESH_ACTION)\r\n },\r\n _change_AXES_AND_PANES: function() {\r\n this._refreshSeries(\"INIT\")\r\n },\r\n _change_ROTATED: function() {\r\n this._createScrollBar();\r\n this._refreshSeries(\"INIT\")\r\n },\r\n _change_REFRESH_SERIES_REINIT: function() {\r\n this._refreshSeries(\"INIT\")\r\n },\r\n _change_REFRESH_AXES: function() {\r\n (0, _utils.setCanvasValues)(this._canvas);\r\n this._reinitAxes();\r\n this._requestChange([\"CORRECT_AXIS\", \"FULL_RENDER\"])\r\n },\r\n _change_SCROLL_BAR: function() {\r\n this._createScrollBar();\r\n this._processRefreshData(FORCE_RENDER_REFRESH_ACTION)\r\n },\r\n _change_REINIT: function() {\r\n this._processRefreshData(REINIT_REFRESH_ACTION)\r\n },\r\n _change_FORCE_DRAWING: function() {\r\n this._resetComponentsAnimation()\r\n },\r\n _change_FORCE_FIRST_DRAWING: function() {\r\n this._resetComponentsAnimation(true)\r\n },\r\n _resetComponentsAnimation: function(isFirstDrawing) {\r\n this.series.forEach((function(s) {\r\n s.resetApplyingAnimation(isFirstDrawing)\r\n }));\r\n this._resetAxesAnimation(isFirstDrawing)\r\n },\r\n _resetAxesAnimation: _common.noop,\r\n _refreshSeries: function(actionName) {\r\n this.needToPopulateSeries = true;\r\n this._requestChange([actionName])\r\n },\r\n _change_CORRECT_AXIS: function() {\r\n this._correctAxes()\r\n },\r\n _doRefresh: function() {\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: function(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: function() {\r\n return this._canvasClipRect.id\r\n },\r\n _dataSourceChangedHandler: function() {\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: function() {\r\n this._dataSpecificInit(true)\r\n },\r\n _processSingleSeries: function(singleSeries) {\r\n singleSeries.createPoints(false)\r\n },\r\n _handleSeriesDataUpdated: function() {\r\n var _this2 = this;\r\n if (this._getVisibleSeries().some((function(s) {\r\n return s.useAggregation()\r\n }))) {\r\n this._populateMarginOptions()\r\n }\r\n this.series.forEach((function(s) {\r\n return _this2._processSingleSeries(s)\r\n }), this)\r\n },\r\n _dataSpecificInit: function(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: function() {\r\n this._doRender({\r\n force: true\r\n })\r\n },\r\n _repopulateSeries: function() {\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 = (0, _data_validator.validateData)(data, this._groupsData, this._incidentOccurred, dataValidatorOptions);\r\n themeManager.resetPalette();\r\n this.series.forEach((function(singleSeries) {\r\n singleSeries.updateData(parsedData[singleSeries.getArgumentField()])\r\n }));\r\n this._handleSeriesDataUpdated()\r\n },\r\n _renderCompleteHandler: function() {\r\n var allSeriesInited = true;\r\n if (this._needHandleRenderComplete) {\r\n (0, _iterator.each)(this.series, (function(_, 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: function() {\r\n return (0, _type.isDefined)(this.option(\"dataSource\")) && this._dataIsLoaded()\r\n },\r\n _populateSeriesOptions: function(data) {\r\n var that = this;\r\n var themeManager = that._themeManager;\r\n var seriesTemplate = themeManager.getOptions(\"seriesTemplate\");\r\n var seriesOptions = seriesTemplate ? (0, _utils.processSeriesTemplate)(seriesTemplate, data || []) : that.option(\"series\");\r\n var allSeriesOptions = _isArray(seriesOptions) ? seriesOptions : seriesOptions ? [seriesOptions] : [];\r\n var extraOptions = that._getExtraOptions();\r\n var particularSeriesOptions;\r\n var seriesTheme;\r\n var seriesThemes = [];\r\n var seriesVisibilityChanged = function(target) {\r\n that._specialProcessSeries();\r\n that._populateBusinessRange(target && target.getValueAxis(), true);\r\n that._renderer.stopAllAnimations(true);\r\n that._updateLegend();\r\n that._requestChange([\"FULL_RENDER\"])\r\n };\r\n for (var i = 0; i < allSeriesOptions.length; i++) {\r\n particularSeriesOptions = (0, _extend.extend)(true, {}, allSeriesOptions[i], extraOptions);\r\n if (!(0, _type.isDefined)(particularSeriesOptions.name) || \"\" === particularSeriesOptions.name) {\r\n particularSeriesOptions.name = \"Series \" + (i + 1).toString()\r\n }\r\n particularSeriesOptions.rotated = that._isRotated();\r\n particularSeriesOptions.customizePoint = themeManager.getOptions(\"customizePoint\");\r\n particularSeriesOptions.customizeLabel = themeManager.getOptions(\"customizeLabel\");\r\n particularSeriesOptions.visibilityChanged = seriesVisibilityChanged;\r\n particularSeriesOptions.incidentOccurred = that._incidentOccurred;\r\n seriesTheme = themeManager.getOptions(\"series\", particularSeriesOptions, allSeriesOptions.length);\r\n if (that._checkPaneName(seriesTheme)) {\r\n seriesThemes.push(seriesTheme)\r\n }\r\n }\r\n return seriesThemes\r\n },\r\n _populateSeries: function(data) {\r\n var _that$series2;\r\n var that = this;\r\n var seriesBasis = [];\r\n var incidentOccurred = that._incidentOccurred;\r\n var seriesThemes = that._populateSeriesOptions(data);\r\n var particularSeries;\r\n var disposeSeriesFamilies = false;\r\n that.needToPopulateSeries = false;\r\n (0, _iterator.each)(seriesThemes, (function(_, theme) {\r\n var curSeries = that.series && that.series.filter((function(s) {\r\n return s.name === theme.name && -1 === seriesBasis.map((function(sb) {\r\n return sb.series\r\n })).indexOf(s)\r\n }))[0];\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 === (_that$series2 = that.series) || void 0 === _that$series2 ? void 0 : _that$series2.length) && that._tracker.clearHover();\r\n (0, _iterator.reverseEach)(that.series, (function(index, series) {\r\n if (!seriesBasis.some((function(s) {\r\n return series === s.series\r\n }))) {\r\n that._disposeSeries(index);\r\n disposeSeriesFamilies = true\r\n }\r\n }));\r\n !disposeSeriesFamilies && (disposeSeriesFamilies = seriesBasis.some((function(sb) {\r\n return sb.series.name !== seriesThemes[sb.series.index].name\r\n })));\r\n that.series = [];\r\n disposeSeriesFamilies && that._disposeSeriesFamilies();\r\n that._themeManager.resetPalette();\r\n var eventPipe = function(data) {\r\n that.series.forEach((function(currentSeries) {\r\n currentSeries.notify(data)\r\n }))\r\n };\r\n (0, _iterator.each)(seriesBasis, (function(_, basis) {\r\n var _that$_argumentAxes$f, _that$_argumentAxes;\r\n var seriesTheme = basis.options;\r\n var argumentAxis = null !== (_that$_argumentAxes$f = null === (_that$_argumentAxes = that._argumentAxes) || void 0 === _that$_argumentAxes ? void 0 : _that$_argumentAxes.filter((function(a) {\r\n return a.pane === seriesTheme.pane\r\n }))[0]) && void 0 !== _that$_argumentAxes$f ? _that$_argumentAxes$f : that.getArgumentAxis();\r\n var renderSettings = {\r\n commonSeriesModes: that._getSelectionModes(),\r\n argumentAxis: argumentAxis,\r\n valueAxis: that._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 _base_series.Series((0, _extend.extend)({\r\n renderer: that._renderer,\r\n seriesGroup: that._seriesGroup,\r\n labelsGroup: that._labelsGroup,\r\n eventTrigger: that._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 = that.series.length;\r\n that.series.push(particularSeries)\r\n }\r\n }));\r\n return that.series\r\n },\r\n getStackedPoints: function(point) {\r\n var stackName = point.series.getStackName();\r\n return this._getVisibleSeries().reduce((function(stackPoints, series) {\r\n if (!(0, _type.isDefined)(series.getStackName()) || !(0, _type.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 = null;\r\n (0, _iterator.each)(this.series, (function(i, singleSeries) {\r\n if (singleSeries.name === name) {\r\n found = singleSeries;\r\n return false\r\n }\r\n }));\r\n return found\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: function() {\r\n this._tracker._hideTooltip()\r\n },\r\n clearHover: function() {\r\n this._tracker.clearHover()\r\n },\r\n render: function(renderOptions) {\r\n var that = this;\r\n that.__renderOptions = renderOptions;\r\n that.__forceRender = renderOptions && renderOptions.force;\r\n that.callBase.apply(that, arguments);\r\n that.__renderOptions = that.__forceRender = null;\r\n return that\r\n },\r\n refresh: function() {\r\n this._disposeSeries();\r\n this._disposeSeriesFamilies();\r\n this._requestChange([\"CONTAINER_SIZE\", \"REFRESH_SERIES_REINIT\"])\r\n },\r\n _getMinSize: function() {\r\n var adaptiveLayout = this._layoutManagerOptions();\r\n return [adaptiveLayout.width, adaptiveLayout.height]\r\n },\r\n _change_REFRESH: function() {\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: function() {\r\n this._forceRender()\r\n },\r\n _change_INIT: function() {\r\n this._reinit()\r\n },\r\n _stopCurrentHandling: function() {\r\n this._tracker.stopCurrentHandling()\r\n }\r\n});\r\nexports.BaseChart = BaseChart;\r\nREFRESH_SERIES_DATA_INIT_ACTION_OPTIONS.forEach((function(name) {\r\n BaseChart.prototype._optionChangesMap[name] = \"REFRESH_SERIES_DATA_INIT\"\r\n}));\r\nFORCE_RENDER_REFRESH_ACTION_OPTIONS.forEach((function(name) {\r\n BaseChart.prototype._optionChangesMap[name] = \"FORCE_RENDER\"\r\n}));\r\nREFRESH_SERIES_FAMILIES_ACTION_OPTIONS.forEach((function(name) {\r\n BaseChart.prototype._optionChangesMap[name] = \"REFRESH_SERIES_FAMILIES\"\r\n}));\r\nBaseChart.addPlugin(_export.plugin);\r\nBaseChart.addPlugin(_title.plugin);\r\nBaseChart.addPlugin(_data_source.plugin);\r\nBaseChart.addPlugin(_tooltip.plugin);\r\nBaseChart.addPlugin(_loading_indicator.plugin);\r\nvar _change_TITLE = BaseChart.prototype._change_TITLE;\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 (cjs/viz/chart_components/crosshair.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.Crosshair = Crosshair;\r\nexports.getMargins = getMargins;\r\nvar _utils = require(\"../core/utils\");\r\nvar _extend = require(\"../../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\n\r\nfunction 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\n\r\nfunction 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: (0, _extend.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((0, _utils.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 (cjs/viz/chart_components/layout_manager.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.LayoutManager = LayoutManager;\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _consts = _interopRequireDefault(require(\"../components/consts\"));\r\nvar _layout_element = require(\"../core/layout_element\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar floor = Math.floor,\r\n sqrt = Math.sqrt;\r\nvar _min = Math.min;\r\nvar _max = Math.max;\r\nvar DEFAULT_INNER_RADIUS = .5;\r\nvar RADIAL_LABEL_INDENT = _consts.default.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.default.pieLabelSpacing\r\n }\r\n rWidth += _consts.default.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 type = _ref.type,\r\n innerRadius = _ref.innerRadius;\r\n return \"pie\" === type ? 0 : (0, _type.isNumeric)(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 _layout_element.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 ((0, _type.isNumeric)(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: function(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 = (0, _type.isNumeric)(piePercentage);\r\n var needHorizontalSpace = 0;\r\n var needVerticalSpace = 0;\r\n panes.forEach((function(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\n","/**\r\n * DevExtreme (cjs/viz/chart_components/multi_axes_synchronizer.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _console = require(\"../../core/utils/console\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _utils = require(\"../core/utils\");\r\nvar _math2 = require(\"../../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((function(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 = function(br) {\r\n return {\r\n transform: function(v, b) {\r\n return (0, _math2.adjust)((0, _utils.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 = (0, _math2.adjust)(tick + interval)\r\n }\r\n return ticks\r\n }\r\n }\r\n};\r\nvar logConverter = function(br) {\r\n return {\r\n transform: function(v, b) {\r\n return (0, _math2.adjust)((0, _utils.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\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 && (0, _type.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 && (0, _type.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((function(max, axisInfo) {\r\n return _max(max, axisInfo.tickValues.length)\r\n }), 0);\r\n axesInfo.forEach((function(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 ((0, _type.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((0, _math2.adjust)(tickValues[0] - tickInterval));\r\n additionalStartTicksCount--\r\n }\r\n while (tickValues.length < ticksCount) {\r\n tickValues.push((0, _math2.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((function(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 && (0, _type.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((function(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((function(info) {\r\n var range = getAxisRange(info);\r\n var inverted = info.inverted;\r\n info.minValue = (0, _math2.adjust)(info.minValue - paddings[inverted ? \"end\" : \"start\"] * range);\r\n info.maxValue = (0, _math2.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((function(info) {\r\n hasSynchronizedValue = hasSynchronizedValue || (0, _type.isDefined)(info.synchronizedValue)\r\n }));\r\n axesInfo.forEach((function(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 = (0, _math2.adjust)(tickValues[0] - tickInterval)) >= minValue) {\r\n tickValues.unshift(tick)\r\n }\r\n tick = tickValues[tickValues.length - 1];\r\n while ((tick = (0, _math2.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((function(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((function(info) {\r\n if (info.oldMaxValue - info.oldMinValue === 0) {\r\n invalidAxisInfo.push(info)\r\n } else if (!(0, _type.isDefined)(correctValue) && !(0, _type.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 (!(0, _type.isDefined)(correctValue)) {\r\n return\r\n }\r\n invalidAxisInfo.forEach((function(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 correctPaddings(axesInfo, paddings) {\r\n return axesInfo.reduce((function(prev, info) {\r\n var inverted = info.inverted;\r\n var _info$axis$getCorrect = info.axis.getCorrectedValuesToZero(info.minValue, info.maxValue),\r\n start = _info$axis$getCorrect.start,\r\n end = _info$axis$getCorrect.end;\r\n if ((0, _type.isDefined)(start) || (0, _type.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 (0, _iterator.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((function(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\nvar _default = multiAxesSynchronizer;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/viz/chart_components/scroll_bar.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.ScrollBar = void 0;\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _index = require(\"../../events/utils/index\");\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _translator2d = require(\"../translators/translator2d\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _drag = require(\"../../events/drag\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar _min = Math.min;\r\nvar _max = Math.max;\r\nvar MIN_SCROLL_BAR_SIZE = 2;\r\nvar ScrollBar = function(renderer, group) {\r\n this._translator = new _translator2d.Translator2D({}, {}, {});\r\n this._scroll = renderer.rect().append(group);\r\n this._addEvents()\r\n};\r\nexports.ScrollBar = ScrollBar;\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 _this = this;\r\n var scrollElement = this._scroll.element;\r\n _events_engine.default.on(scrollElement, _drag.start, (function(e) {\r\n (0, _index.fireEvent)({\r\n type: \"dxc-scroll-start\",\r\n originalEvent: e,\r\n target: scrollElement\r\n })\r\n }));\r\n _events_engine.default.on(scrollElement, _drag.move, (function(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 (0, _index.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 _events_engine.default.on(scrollElement, _drag.end, (function(e) {\r\n (0, _index.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((0, _extend.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 = (0, _extend.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: _common.noop,\r\n hideOuterElements: _common.noop,\r\n setPosition: function(min, max) {\r\n var translator = this._translator;\r\n var minPoint = (0, _type.isDefined)(min) ? translator.translate(min, -this._translateWithOffset) : translator.translate(\"canvas_position_start\");\r\n var maxPoint = (0, _type.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: function() {\r\n return false\r\n },\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 (cjs/viz/chart_components/shutter_zoom.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _drag = require(\"../../events/drag\");\r\nvar SHUTTER_EVENTS_NS = \".shutter-zoom\";\r\nvar DRAG_START_EVENT_NAME = _drag.start + SHUTTER_EVENTS_NS;\r\nvar DRAG_UPDATE_EVENT_NAME = _drag.move + SHUTTER_EVENTS_NS;\r\nvar DRAG_END_EVENT_NAME = _drag.end + 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\nvar _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\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/viz/chart_components/tracker.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.PieTracker = exports.ChartTracker = void 0;\r\nvar _dom_adapter = _interopRequireDefault(require(\"../../core/dom_adapter\"));\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _click = require(\"../../events/click\");\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _consts = _interopRequireDefault(require(\"../components/consts\"));\r\nvar _utils = require(\"../core/utils\");\r\nvar _pointer = _interopRequireDefault(require(\"../../events/pointer\"));\r\nvar _index = require(\"../../events/utils/index\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _errors = _interopRequireDefault(require(\"../../core/errors\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar _floor = Math.floor;\r\nvar eventsConsts = _consts.default.events;\r\nvar statesConsts = _consts.default.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 = (0, _index.addNamespace)([_pointer.default.down, _pointer.default.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 && !(0, _type.isDefined)(data)) {\r\n return function getParentData(node) {\r\n if (node.parentNode) {\r\n if ((0, _type.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 event = _ref.event,\r\n cancel = _ref.cancel;\r\n var deprecatedCancel = event.cancel;\r\n var eventCanceled = cancel || deprecatedCancel;\r\n if (deprecatedCancel) {\r\n _errors.default.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((0, _index.addNamespace)(eventsConsts.showPointTooltip, EVENT_NS), data, that._showPointTooltip).on((0, _index.addNamespace)(eventsConsts.hidePointTooltip, EVENT_NS), data, that._hidePointTooltip);\r\n that._renderer.root.off(DOT_EVENT_NS).on(POINTER_ACTION, data, that._pointerHandler).on((0, _index.addNamespace)(_pointer.default.up, EVENT_NS), (function() {\r\n return clearTimeout(that._holdTimer)\r\n })).on((0, _index.addNamespace)(_click.name, EVENT_NS), data, that._clickHandler)\r\n },\r\n update: function(options) {\r\n this._chart = options.chart\r\n },\r\n updateSeries: function(series, resetDecorations) {\r\n var that = this;\r\n var noHoveredSeries = !(null !== series && void 0 !== series && series.some((function(s) {\r\n return s === that.hoveredSeries\r\n })) || 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.initDefsElements()\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: function() {\r\n if (this.hoveredSeries) {\r\n this.hoveredSeries.clearHover();\r\n this.hoveredSeries = null\r\n }\r\n },\r\n clearSelection: function() {\r\n this._storedSeries.forEach((function(series) {\r\n if (series) {\r\n series.clearSelection();\r\n series.getPoints().forEach((function(point) {\r\n return point.clearSelection()\r\n }))\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 (!(0, _type.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 = function(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 (!(0, _utils.pointInCanvas)(that._mainCanvas, x, y) && !that._isCursorOnTooltip(e)) {\r\n that._pointerOut();\r\n that._disableOutHandler()\r\n }\r\n };\r\n _events_engine.default.on(_dom_adapter.default.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 && _events_engine.default.off(_dom_adapter.default.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 ((0, _type.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 ((0, _type.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 === _pointer.default.down) {\r\n that._holdTimer = setTimeout((function() {\r\n return that._isHolding = true\r\n }), 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 !== _pointer.default.move && \"touch\" !== e.pointerType) {\r\n return\r\n }\r\n if (that.hoveredSeries) {\r\n that._setTimeout((function() {\r\n return that._pointerOnPoint(point, x, y, e)\r\n }), 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 ((0, _type.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\nvar ChartTracker = function(options) {\r\n this.ctor(options)\r\n};\r\nexports.ChartTracker = ChartTracker;\r\n(0, _extend.extend)(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 && (0, _utils.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 ((0, _utils.pointInCanvas)(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 (0, _iterator.each)(this._storedSeries, (function(_, series) {\r\n var point = series.getNeighborPoint(x, y);\r\n point && points.push(point)\r\n }));\r\n (0, _iterator.each)(points, (function(_, p) {\r\n var coords = p.getCrosshairData(x, y);\r\n var d = (0, _utils.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 (!(0, _type.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\nvar PieTracker = function(options) {\r\n this.ctor(options)\r\n};\r\nexports.PieTracker = PieTracker;\r\n(0, _extend.extend)(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((function(s) {\r\n return points.push.apply(points, s.getPointsByKeys(item.argument, item.argumentIndex))\r\n }));\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: _common.noop,\r\n _setStuckSeries: _common.noop,\r\n _getCanvas: _common.noop,\r\n _notifyLegendOnHoverArgument: true\r\n});\r\n","/**\r\n * DevExtreme (cjs/viz/chart_components/zoom_and_pan.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.default = void 0;\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _utils = require(\"../core/utils\");\r\nvar _wheel = require(\"../../events/core/wheel\");\r\nvar transformEvents = _interopRequireWildcard(require(\"../../events/transform\"));\r\nvar _drag = require(\"../../events/drag\");\r\n\r\nfunction _getRequireWildcardCache(nodeInterop) {\r\n if (\"function\" !== typeof WeakMap) {\r\n return null\r\n }\r\n var cacheBabelInterop = new WeakMap;\r\n var cacheNodeInterop = new WeakMap;\r\n return (_getRequireWildcardCache = function(nodeInterop) {\r\n return nodeInterop ? cacheNodeInterop : cacheBabelInterop\r\n })(nodeInterop)\r\n}\r\n\r\nfunction _interopRequireWildcard(obj, nodeInterop) {\r\n if (!nodeInterop && obj && obj.__esModule) {\r\n return obj\r\n }\r\n if (null === obj || \"object\" !== _typeof(obj) && \"function\" !== typeof obj) {\r\n return {\r\n default: obj\r\n }\r\n }\r\n var cache = _getRequireWildcardCache(nodeInterop);\r\n if (cache && cache.has(obj)) {\r\n return cache.get(obj)\r\n }\r\n var newObj = {};\r\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\r\n for (var key in obj) {\r\n if (\"default\" !== key && Object.prototype.hasOwnProperty.call(obj, key)) {\r\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\r\n if (desc && (desc.get || desc.set)) {\r\n Object.defineProperty(newObj, key, desc)\r\n } else {\r\n newObj[key] = obj[key]\r\n }\r\n }\r\n }\r\n newObj.default = obj;\r\n if (cache) {\r\n cache.set(obj, newObj)\r\n }\r\n return newObj\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\nvar EVENTS_NS = \".zoomAndPanNS\";\r\nvar DRAG_START_EVENT_NAME = _drag.start + EVENTS_NS;\r\nvar DRAG_EVENT_NAME = _drag.move + EVENTS_NS;\r\nvar DRAG_END_EVENT_NAME = _drag.end + 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((function(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((function(a) {\r\n return !a.getTranslator().getBusinessRange().isEmpty()\r\n }))\r\n}\r\n\r\nfunction isAxisAvailablePanning(axes) {\r\n return axes.some((function(axis) {\r\n return !axis.isExtremePosition(false) || !axis.isExtremePosition(true)\r\n }))\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 _axis$checkZoomingLow = axis.checkZoomingLowerLimitOvercome(actionField, scale, range),\r\n stopInteraction = _axis$checkZoomingLow.stopInteraction,\r\n correctedRange = _axis$checkZoomingLow.correctedRange;\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 = function(silent) {\r\n return {\r\n start: !!silent,\r\n end: !!silent\r\n }\r\n };\r\n getFilteredAxes(axes).some((function(axis) {\r\n var translator = axis.getTranslator();\r\n var scale = translator.getMinScale(zoom);\r\n var _axisZoom = 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 stopInteraction = _axisZoom.stopInteraction,\r\n result = _axisZoom.result;\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\nvar _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((function(axis) {\r\n return axis.handleZooming(null, {\r\n end: true\r\n }, e, actionField).isPrevented\r\n })) && 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((function(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 = (0, _extend.extend)(true, zoom, axis.getTranslator().zoom(translate, scale, axis.getZoomBounds()));\r\n var range = axis.adjustRange((0, _utils.getVizRangeObject)([zoom.min, zoom.max]));\r\n var _axis$checkZoomingLow2 = axis.checkZoomingLowerLimitOvercome(actionField, scale, range),\r\n stopInteraction = _axis$checkZoomingLow2.stopInteraction,\r\n correctedRange = _axis$checkZoomingLow2.correctedRange;\r\n if (!(0, _type.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 = function(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 = function(silent) {\r\n return {\r\n start: true,\r\n end: silent\r\n }\r\n };\r\n getFilteredAxes(axes).forEach((function(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((function(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((function(axis) {\r\n return checkCoords(canvasToRect(axis.getCanvas()), coords)\r\n }));\r\n return {\r\n fallback: chart._lastRenderingTime > GESTURE_TIMEOUT,\r\n cancel: !axes.length || !(0, _type.isDefined)(action),\r\n action: action,\r\n curAxisRect: axes.length && canvasToRect(axes[0].getCanvas()),\r\n valueAxes: axes.length && chart._valueAxes.filter((function(axis) {\r\n return checkCoords(canvasToRect(axis.getCanvas()), coords)\r\n })),\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 = (0, _type.isDefined)(options.panKey) && e[(0, _utils.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, (function(e) {\r\n return e.offset\r\n }));\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 = function(_ref) {\r\n var translator = _ref.translator,\r\n startCoord = _ref.startCoord,\r\n curCoord = _ref.curCoord;\r\n return function() {\r\n return [translator.from(startCoord), translator.from(curCoord)]\r\n }\r\n };\r\n var getCoords = function(curCoords, startCoords, field) {\r\n return {\r\n curCoord: curCoords[field],\r\n startCoord: startCoords[field]\r\n }\r\n };\r\n var needToZoom = function(axisOption, coords) {\r\n return axisOption.zoom && _abs(coords.curCoord - coords.startCoord) > MIN_DRAG_DELTA\r\n };\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, (function(e, actionData, coordField, scale) {\r\n return calcCenterForPinch(e)[coordField] - actionData.center[coordField] + (actionData.center[coordField] - actionData.center[coordField] * scale)\r\n }), 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, (function(e, actionData, coordField, scale) {\r\n return actionData.center[coordField] - actionData.startCenter[coordField] + (actionData.startCenter[coordField] - actionData.startCenter[coordField] * scale)\r\n }));\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 = function(_ref2) {\r\n var translator = _ref2.translator,\r\n coord = _ref2.coord,\r\n scale = _ref2.scale,\r\n axis = _ref2.axis;\r\n return function() {\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((function(axis) {\r\n return checkCoords(canvasToRect(axis.getCanvas()), coords)\r\n }));\r\n if (0 === targetAxes.length) {\r\n var targetCanvas = chart._valueAxes.reduce((function(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((function(axis) {\r\n return checkCoords(canvasToRect(axis.getCanvas()), {\r\n x: targetCanvas.left,\r\n y: targetCanvas.top\r\n })\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((function(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(_wheel.name + 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, (function(e) {\r\n return e.offset\r\n }))\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\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/viz/circular_gauge.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _circular_gauge = _interopRequireDefault(require(\"./gauges/circular_gauge\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar _default = _circular_gauge.default;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/viz/components/chart_theme_manager.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.ThemeManager = void 0;\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _base_theme_manager = require(\"../core/base_theme_manager\");\r\nvar _utils = require(\"../core/utils\");\r\nvar ThemeManager = _base_theme_manager.BaseThemeManager.inherit(function() {\r\n var processAxisOptions = function(axisOptions) {\r\n if (!axisOptions) {\r\n return {}\r\n }\r\n axisOptions = (0, _extend.extend)(true, {}, axisOptions);\r\n axisOptions.title = (options = axisOptions.title, (0, _type.isString)(options) ? {\r\n text: options\r\n } : options);\r\n var options;\r\n if (\"logarithmic\" === axisOptions.type && axisOptions.logarithmBase <= 0 || axisOptions.logarithmBase && !(0, _type.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 = (0, _extend.extend)(true, {}, theme.commonAxisSettings, theme[position], theme[name], commonAxisSettings, processedUserOptions);\r\n mergeOptions.workWeek = processedUserOptions.workWeek || theme[name].workWeek;\r\n mergeOptions.forceUserTickInterval |= (0, _type.isDefined)(processedUserOptions.tickInterval) && !(0, _type.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 ((0, _type.isPlainObject)(theme) && (0, _type.isPlainObject)(userOptions)) {\r\n result = (0, _extend.extend)(true, {}, theme, userOptions)\r\n } else {\r\n result = (0, _type.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 = (0, _utils.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 = (0, _extend.extend)(true, {}, userCommonSettings, userCommonSettings[type], userOptions);\r\n seriesVisibility = userOptions.visible;\r\n userCommonSettings = {\r\n type: {}\r\n };\r\n (0, _extend.extend)(true, userOptions, userOptions.point);\r\n userOptions.visible = seriesVisibility\r\n }\r\n var settings = (0, _extend.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 = (0, _utils.extractColor)(settings.color, true) || 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 = (0, _type.isPlainObject)(userOptions) ? userOptions : (0, _type.isDefined)(userOptions) ? {\r\n enabled: !!userOptions\r\n } : {};\r\n return mergeOptions.call(this, name, userOptions)\r\n },\r\n seriesTemplate: function() {\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: function() {\r\n function parseOption(option) {\r\n option = (0, _utils.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 = _common.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\nexports.ThemeManager = ThemeManager;\r\n","/**\r\n * DevExtreme (cjs/viz/components/consts.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _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\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/viz/components/data_validator.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.validateData = validateData;\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _utils = require(\"../core/utils\");\r\nvar _parse_utils = require(\"./parse_utils\");\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\nvar axisTypeParser = (0, _utils.enumParser)([STRING, NUMERIC, DATETIME]);\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 ((0, _type.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 = (0, _type.isDefined)(valA) ? 1 : 0;\r\n var bb = (0, _type.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 || (0, _type.isString)(unit)) {\r\n result = STRING\r\n } else if (type === DATETIME || (0, _type.isDate)(unit)) {\r\n result = DATETIME\r\n } else if ((0, _type.isNumeric)(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(!(0, _type.isNumeric)(unit) && !(0, _type.isDate)(unit) && !(0, _type.isString)(unit) ? \"E2003\" : \"E2004\", [field])\r\n }\r\n}\r\n\r\nfunction createParserUnit(type, axisType, incidentOccurred) {\r\n var parser = type ? (0, _parse_utils.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 = (0, _extend.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 ((0, _type.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 (!(0, _type.isDefined)(a)) {\r\n return 1\r\n }\r\n if (!(0, _type.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 && (0, _type.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 || !(0, _type.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 (0, _type.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 = (0, _type.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 ((0, _type.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\n\r\nfunction 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 (cjs/viz/components/legend.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.plugin = exports.Legend = void 0;\r\nvar _utils = require(\"../core/utils\");\r\nvar _extend2 = require(\"../../core/utils/extend\");\r\nvar _layout_element = require(\"../core/layout_element\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _title = require(\"../core/title\");\r\nvar _object = require(\"../../core/utils/object\");\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _renderer = require(\"../core/renderers/renderer\");\r\nvar _deferred = require(\"../../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 = _type.isDefined;\r\nvar _isFunction = _type.isFunction;\r\nvar _enumParser = _utils.enumParser;\r\nvar _normalizeEnum = _utils.normalizeEnum;\r\nvar _extend = _extend2.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 (0, _extend2.extend)({}, {\r\n state: stateName,\r\n fill: colorFromAction === NONE ? color : colorFromAction,\r\n opacity: state.opacity,\r\n filter: state.filter,\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 = (0, _renderer.processHatchingAttrs)(item, state);\r\n if (attrs.fill && 0 === attrs.fill.indexOf(\"DevExpress\")) {\r\n attrs.fill = (0, _renderer.getFuncIri)(attrs.fill)\r\n }\r\n attrs.opacity = attrs.opacity >= 0 ? attrs.opacity : 1;\r\n return (0, _extend2.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 : _common.noop;\r\n options._incidentOccurred = options._incidentOccurred || _common.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((function(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((function(maxLineLength, line) {\r\n return _max(maxLineLength, getLineLength(line, layoutOptions))\r\n }), 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((function(maxLineSize, item) {\r\n var itemMeasure = item ? item[measure] : maxLineSize;\r\n return _max(maxLineSize, itemMeasure)\r\n }), 0);\r\n line.forEach((function(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\nvar 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\nexports.Legend = Legend;\r\nvar _Legend = Legend;\r\nvar legendPrototype = _Legend.prototype = (0, _object.clone)(_layout_element.LayoutElement.prototype);\r\n(0, _extend2.extend)(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((function(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: function() {\r\n return dataItem.size\r\n },\r\n set: function(value) {\r\n dataItem.size = value\r\n }\r\n });\r\n Object.defineProperty(dataItem.marker, \"opacity\", {\r\n get: function() {\r\n return dataItem.states.normal.opacity\r\n },\r\n set: function(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.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((function(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((function(item) {\r\n return item.bBox.height = maxBBoxHeight\r\n }))\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 ? function(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 filter: attrs.filter\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((0, _utils.patchFontOptions)(options.font));\r\n that._deferredItems = [];\r\n that._templatesGroups = [];\r\n that._items = (items || []).map((function(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: (0, _extend2.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.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: function(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((function(i) {\r\n return i.visible\r\n }))\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((0, _utils.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((function(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((function(line) {\r\n return setMaxInLine(line, measure)\r\n }));\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((function(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((function(item) {\r\n var offset = item.offset || layoutOptions.spacing;\r\n var wrap = new _layout_element.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 _layout_element.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((function(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 _common.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((function(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((function(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\nvar 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\nexports.plugin = plugin;\r\n","/**\r\n * DevExtreme (cjs/viz/components/parse_utils.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.correctValueType = correctValueType;\r\nexports.getParser = void 0;\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _date_serialization = _interopRequireDefault(require(\"../../core/utils/date_serialization\"));\r\nvar _type = require(\"../../core/utils/type\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar parsers = {\r\n string: function(val) {\r\n return (0, _type.isDefined)(val) ? \"\" + val : val\r\n },\r\n numeric: function(val) {\r\n if (!(0, _type.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 (!(0, _type.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 = _date_serialization.default.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\n\r\nfunction correctValueType(type) {\r\n return \"numeric\" === type || \"datetime\" === type || \"string\" === type ? type : \"\"\r\n}\r\nvar getParser = function(valueType) {\r\n return parsers[correctValueType(valueType)] || _common.noop\r\n};\r\nexports.getParser = getParser;\r\n","/**\r\n * DevExtreme (cjs/viz/components/tracker.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.Tracker = Tracker;\r\nvar _index = require(\"../../events/utils/index\");\r\nvar _dom_adapter = _interopRequireDefault(require(\"../../core/dom_adapter\"));\r\nvar _click = require(\"../../events/click\");\r\nvar _pointer = _interopRequireDefault(require(\"../../events/pointer\"));\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar downPointerEventName = _pointer.default.down;\r\nvar movePointerEventName = _pointer.default.move;\r\n\r\nfunction 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 = _dom_adapter.default.getDocument();\r\n parameters.getCoords = function(e) {\r\n var data = (0, _index.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(_click.name, clickHandler);\r\n parameters.root.on(downPointerEventName, downHandler);\r\n _events_engine.default.on(document, downPointerEventName, downHandler);\r\n _events_engine.default.on(document, movePointerEventName, moveHandler);\r\n this._disposeHandlers = function() {\r\n parameters.root.off(_click.name, clickHandler);\r\n parameters.root.off(downPointerEventName, downHandler);\r\n _events_engine.default.off(document, downPointerEventName, downHandler);\r\n _events_engine.default.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 = (0, _index.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 (cjs/viz/core/annotations.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.plugins = exports.createAnnotations = void 0;\r\nvar _dom_adapter = _interopRequireDefault(require(\"../../core/dom_adapter\"));\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _tooltip = require(\"../core/tooltip\");\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _utils = require(\"./utils\");\r\nvar _plaque = require(\"./plaque\");\r\nvar _pointer = _interopRequireDefault(require(\"../../events/pointer\"));\r\nvar _drag = require(\"../../events/drag\");\r\nvar _index = require(\"../../events/utils/index\");\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar getDocument = _dom_adapter.default.getDocument;\r\nvar EVENT_NS = \"annotations\";\r\nvar DOT_EVENT_NS = \".\" + EVENT_NS;\r\nvar POINTER_ACTION = (0, _index.addNamespace)([_pointer.default.down, _pointer.default.move], EVENT_NS);\r\nvar POINTER_UP_EVENT_NAME = (0, _index.addNamespace)(_pointer.default.up, EVENT_NS);\r\nvar DRAG_START_EVENT_NAME = _drag.start + DOT_EVENT_NS;\r\nvar DRAG_EVENT_NAME = _drag.move + DOT_EVENT_NS;\r\nvar DRAG_END_EVENT_NAME = _drag.end + DOT_EVENT_NS;\r\n\r\nfunction coreAnnotation(options, contentTemplate) {\r\n return {\r\n draw: function(widget, group) {\r\n var _this = this;\r\n var annotationGroup = widget._renderer.g().append(group).css((0, _utils.patchFontOptions)(options.font));\r\n if (this.plaque) {\r\n this.plaque.clear()\r\n }\r\n this.plaque = new _plaque.Plaque((0, _extend.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 }, (function(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, (function(e) {\r\n _this.plaque.move(e.pageX + _this._dragOffsetX, e.pageY + _this._dragOffsetY)\r\n })).on(DRAG_END_EVENT_NAME, (function(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: function(x, y) {\r\n return this.plaque.hitTest(x, y)\r\n },\r\n showTooltip: function(tooltip, _ref) {\r\n var x = _ref.x,\r\n y = _ref.y;\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 = function(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 _ref2 = item.image || {},\r\n width = _ref2.width,\r\n height = _ref2.height,\r\n url = _ref2.url,\r\n location = _ref2.location;\r\n var outerWidth = item.width,\r\n outerHeight = item.height;\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\nvar 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((function(arr, item) {\r\n var currentImageOptions = getImageObject(item.image);\r\n var customizedItem = (0, _type.isFunction)(customizeAnnotation) ? customizeAnnotation(item) : {};\r\n if (customizedItem) {\r\n customizedItem.image = getImageObject(customizedItem.image)\r\n }\r\n var options = (0, _extend.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 && (0, _extend.extend)(true, pullOptions(options), coreAnnotation(options, widget._getTemplate(templateFunction)));\r\n annotation && arr.push(annotation);\r\n return arr\r\n }), [])\r\n};\r\nexports.createAnnotations = createAnnotations;\r\nvar chartPlugin = {\r\n name: \"annotations_chart\",\r\n init: function() {},\r\n dispose: function() {},\r\n members: {\r\n _getAnnotationCoords: function(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((function(s) {\r\n return s.name === annotation.series\r\n }))[0];\r\n axis = null === (_series = series) || void 0 === _series ? void 0 : _series.getValueAxis();\r\n (0, _type.isDefined)(axis) && (pane = axis.pane)\r\n }\r\n if ((0, _type.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 }!(0, _type.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 ((0, _type.isDefined)(value)) {\r\n var _axis3;\r\n coords[valCoordName] = null === (_axis3 = axis) || void 0 === _axis3 ? void 0 : _axis3.getTranslator().translate(value);\r\n !(0, _type.isDefined)(pane) && (0, _type.isDefined)(axis) && (pane = axis.pane)\r\n }\r\n coords.canvas = this._getCanvasForPane(pane);\r\n if ((0, _type.isDefined)(coords[argCoordName]) && !(0, _type.isDefined)(value)) {\r\n var _series2;\r\n if (!(0, _type.isDefined)(axis) && !(0, _type.isDefined)(series)) {\r\n coords[valCoordName] = argAxis.getAxisPosition()\r\n } else if ((0, _type.isDefined)(axis) && !(0, _type.isDefined)(series)) {\r\n coords[valCoordName] = this._argumentAxes.filter((function(a) {\r\n return a.pane === axis.pane\r\n }))[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 (!(0, _type.isDefined)(argument) && (0, _type.isDefined)(coords[valCoordName])) {\r\n if ((0, _type.isDefined)(axis) && !(0, _type.isDefined)(series)) {\r\n coords[argCoordName] = axis.getAxisPosition()\r\n } else if ((0, _type.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: function(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((function(a) {\r\n return a.hitTest(coords.x - rootOffset.left, coords.y - rootOffset.top)\r\n }))[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 === _pointer.default.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: function(options) {\r\n return (0, _type.isDefined)(options.value) || (0, _type.isDefined)(options.argument)\r\n },\r\n _pullOptions: function(options) {\r\n return {\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 },\r\n _forceAnnotationRender: function() {\r\n this._change([\"FORCE_RENDER\"])\r\n },\r\n _clear: function() {\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: function() {},\r\n dispose: function() {},\r\n members: {\r\n _getAnnotationCoords: function(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((function(s) {\r\n return s.name === annotation.series\r\n }))[0]\r\n }(0, _extend.extend)(true, coords, this.getXYFromPolar(angle, radius, argument, value));\r\n if ((0, _type.isDefined)(series)) {\r\n if ((0, _type.isDefined)(coords.angle) && !(0, _type.isDefined)(value) && !(0, _type.isDefined)(radius)) {\r\n if (!(0, _type.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 ((0, _type.isDefined)(coords.radius) && !(0, _type.isDefined)(argument) && !(0, _type.isDefined)(angle)) {\r\n pointCoords = series.getSeriesPairCoord({\r\n radius: coords.radius\r\n }, false)\r\n }\r\n if ((0, _type.isDefined)(pointCoords)) {\r\n coords.x = pointCoords.x;\r\n coords.y = pointCoords.y\r\n }\r\n }\r\n if (annotation.series && !(0, _type.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: function(options) {\r\n var polarOptions = (0, _extend.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: function() {},\r\n dispose: function() {\r\n this._annotations._offTracker();\r\n this._annotations._offTracker = null\r\n },\r\n members: {\r\n _getAnnotationCoords: function(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: function(options) {\r\n return (0, _type.isDefined)(options.coordinates)\r\n },\r\n _pullOptions: function(options) {\r\n var vectorMapOptions = (0, _extend.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: function() {\r\n this._change([\"EXTRA_ELEMENTS\"])\r\n },\r\n _getAnnotationStyles: function() {\r\n return {\r\n \"text-anchor\": \"start\"\r\n }\r\n },\r\n _clear: function() {}\r\n },\r\n extenders: {\r\n _prepareExtraElements: function() {\r\n var that = this;\r\n var renderElements = function() {\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: function() {},\r\n dispose: function() {},\r\n members: {\r\n _getAnnotationCoords: function(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 _argument$getAnnotati = argument.getAnnotationCoords(annotation.location),\r\n x = _argument$getAnnotati.x,\r\n y = _argument$getAnnotati.y;\r\n coords.x = x;\r\n coords.y = y\r\n }\r\n return coords\r\n },\r\n _isAnnotationBounded: function(options) {\r\n return options.argument\r\n },\r\n _annotationsPointerEventHandler: chartPlugin.members._annotationsPointerEventHandler,\r\n _pullOptions: function(options) {\r\n var pieChartOptions = (0, _extend.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: function() {\r\n this._annotations = {\r\n items: [],\r\n _hideToolTipForDrag: false,\r\n tooltip: new _tooltip.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: function() {\r\n this.tooltip.annotation = null;\r\n this.tooltip.hide()\r\n },\r\n clearItems: function() {\r\n this.items.forEach((function(i) {\r\n return i.plaque.clear()\r\n }));\r\n this.items = []\r\n }\r\n };\r\n this._annotations.tooltip.setRendererOptions(this._getRendererOptions())\r\n },\r\n dispose: function() {\r\n this._annotationsGroup.linkRemove().linkOff();\r\n _events_engine.default.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: function() {\r\n var _this2 = this;\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 _events_engine.default.on(getDocument(), POINTER_ACTION, (function(e) {\r\n if (_this2._disposed) {\r\n return\r\n }\r\n if (!_this2._annotations.tooltip.isCursorOnTooltip(e.pageX, e.pageY)) {\r\n _this2._annotations.hideTooltip()\r\n }\r\n }));\r\n _events_engine.default.on(getDocument(), POINTER_UP_EVENT_NAME, (function(event) {\r\n _this2._annotations._hideToolTipForDrag = false;\r\n _this2._annotationsPointerEventHandler(event)\r\n }));\r\n this._annotationsGroup.on(POINTER_ACTION, this._annotationsPointerEventHandler.bind(this))\r\n },\r\n _renderExtraElements: function() {\r\n var _this3 = this;\r\n this._annotationsGroup.clear();\r\n this._annotations.items.forEach((function(item) {\r\n return item.draw(_this3, _this3._annotationsGroup)\r\n }))\r\n },\r\n _stopCurrentHandling: function() {\r\n this._annotations.hideTooltip()\r\n }\r\n },\r\n members: {\r\n _buildAnnotations: function() {\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: function() {\r\n var tooltipOptions = (0, _extend.extend)({}, this._getOption(\"tooltip\"));\r\n tooltipOptions.contentTemplate = tooltipOptions.customizeTooltip = void 0;\r\n this._annotations.tooltip.update(tooltipOptions)\r\n },\r\n _getAnnotationCoords: function() {\r\n return {}\r\n },\r\n _pullOptions: function() {\r\n return {}\r\n },\r\n _getAnnotationStyles: function() {\r\n return {}\r\n }\r\n },\r\n customize: function(constructor) {\r\n constructor.addChange({\r\n code: \"ANNOTATIONITEMS\",\r\n handler: function() {\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: function() {\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: function() {\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\nvar plugins = {\r\n core: corePlugin,\r\n chart: chartPlugin,\r\n polarChart: polarChartPlugin,\r\n vectorMap: vectorMapPlugin,\r\n pieChart: pieChartPlugin\r\n};\r\nexports.plugins = plugins;\r\n","/**\r\n * DevExtreme (cjs/viz/core/base_theme_manager.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.BaseThemeManager = void 0;\r\nvar _class = _interopRequireDefault(require(\"../../core/class\"));\r\nvar _extend2 = require(\"../../core/utils/extend\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _palette = require(\"../palette\");\r\nvar _utils = require(\"./utils\");\r\nvar _themes = require(\"../themes\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar _getTheme = _themes.getTheme;\r\nvar _addCacheItem = _themes.addCacheItem;\r\nvar _removeCacheItem = _themes.removeCacheItem;\r\nvar _extend = _extend2.extend;\r\nvar _each = _iterator.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\nvar BaseThemeManager = _class.default.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, (0, _type.isString)(current) ? {} : current);\r\n this._initializeTheme();\r\n if ((0, _utils.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 (0, _palette.createPalette)(palette, options, this._defaultPalette)\r\n },\r\n createDiscretePalette: function(palette, count) {\r\n return (0, _palette.getDiscretePalette)(palette, count, this._defaultPalette)\r\n },\r\n createGradientPalette: function(palette) {\r\n return (0, _palette.getGradientPalette)(palette, this._defaultPalette)\r\n },\r\n getAccentColor: function(palette) {\r\n return (0, _palette.getAccentColor)(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\nexports.BaseThemeManager = BaseThemeManager;\r\n","/**\r\n * DevExtreme (cjs/viz/core/base_widget.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _window = require(\"../../core/utils/window\");\r\nvar _dom_adapter = _interopRequireDefault(require(\"../../core/dom_adapter\"));\r\nvar _type2 = require(\"../../core/utils/type\");\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _base_theme_manager = require(\"../core/base_theme_manager\");\r\nvar _dom_component = _interopRequireDefault(require(\"../../core/dom_component\"));\r\nvar _helpers = require(\"./helpers\");\r\nvar _utils = require(\"./utils\");\r\nvar _errors_warnings = _interopRequireDefault(require(\"./errors_warnings\"));\r\nvar _renderer2 = require(\"./renderers/renderer\");\r\nvar _size = require(\"../../core/utils/size\");\r\nvar _layout = _interopRequireDefault(require(\"./layout\"));\r\nvar _devices = _interopRequireDefault(require(\"../../core/devices\"));\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _deferred = require(\"../../core/utils/deferred\");\r\nvar _charts = require(\"../../common/charts\");\r\nvar _base_widget = require(\"./base_widget.utils\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\nvar _floor = Math.floor;\r\nvar _log = _errors_warnings.default.log;\r\nvar SIZE_CHANGING_THRESHOLD = 1;\r\nvar OPTION_RTL_ENABLED = \"rtlEnabled\";\r\nvar SIZED_ELEMENT_CLASS = \"dx-sized-element\";\r\nvar _option = _dom_component.default.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 areCanvasesDifferent(canvas1, canvas2) {\r\n return !(Math.abs(canvas1.width - canvas2.width) < SIZE_CHANGING_THRESHOLD && Math.abs(canvas1.height - canvas2.height) < SIZE_CHANGING_THRESHOLD && canvas1.left === canvas2.left && canvas1.top === canvas2.top && canvas1.right === canvas2.right && canvas1.bottom === canvas2.bottom)\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((function(result, value) {\r\n return value > 0 && !result ? value : result\r\n }), 0)\r\n}\r\nvar getEmptyComponent = function() {\r\n var emptyComponentConfig = {\r\n _initTemplates: function() {},\r\n ctor: function(element, options) {\r\n this.callBase(element, options);\r\n var sizedElement = _dom_adapter.default.createElement(\"div\");\r\n var width = options && (0, _type2.isNumeric)(options.width) ? options.width + \"px\" : \"100%\";\r\n var height = options && (0, _type2.isNumeric)(options.height) ? options.height + \"px\" : this._getDefaultSize().height + \"px\";\r\n _dom_adapter.default.setStyle(sizedElement, \"width\", width);\r\n _dom_adapter.default.setStyle(sizedElement, \"height\", height);\r\n _dom_adapter.default.setClass(sizedElement, SIZED_ELEMENT_CLASS);\r\n _dom_adapter.default.insertElement(element, sizedElement)\r\n }\r\n };\r\n var EmptyComponent = _dom_component.default.inherit(emptyComponentConfig);\r\n var originalInherit = EmptyComponent.inherit;\r\n EmptyComponent.inherit = function(config) {\r\n for (var field in config) {\r\n if ((0, _type2.isFunction)(config[field]) && \"_\" !== field.substr(0, 1) && \"option\" !== field || \"_dispose\" === field || \"_optionChanged\" === field) {\r\n config[field] = _common.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((function(c) {\r\n return c()\r\n }))\r\n}\r\n\r\nfunction floorCanvasDimensions(canvas) {\r\n return _extends({}, canvas, {\r\n height: _floor(canvas.height),\r\n width: _floor(canvas.width)\r\n })\r\n}\r\nvar isServerSide = !(0, _window.hasWindow)();\r\n\r\nfunction sizeIsValid(value) {\r\n return (0, _type2.isDefined)(value) && value > 0\r\n}\r\nvar baseWidget = isServerSide ? getEmptyComponent() : _dom_component.default.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: function() {\r\n return (0, _extend.extend)(this.callBase(), {\r\n onIncidentOccurred: defaultOnIncidentOccurred\r\n })\r\n },\r\n _useLinks: true,\r\n _init: function() {\r\n var that = this;\r\n that._$element.children(\".\" + SIZED_ELEMENT_CLASS).remove();\r\n that._graphicObjects = {};\r\n that.callBase.apply(that, arguments);\r\n that._changesLocker = 0;\r\n that._optionChangedLocker = 0;\r\n that._asyncFirstDrawing = true;\r\n that._changes = (0, _helpers.changes)();\r\n that._suspendChanges();\r\n that._themeManager = that._createThemeManager();\r\n that._themeManager.setCallback((function() {\r\n that._requestChange(that._themeDependentChanges)\r\n }));\r\n that._renderElementAttributes();\r\n that._initRenderer();\r\n var linkTarget = that._useLinks && that._renderer.root;\r\n linkTarget && linkTarget.enableLinks().virtualLink(\"core\").virtualLink(\"peripheral\");\r\n that._renderVisibilityChange();\r\n that._attachVisibilityChangeHandlers();\r\n that._toggleParentsScrollSubscription(this._isVisible());\r\n that._initEventTrigger();\r\n that._incidentOccurred = (0, _base_widget.createIncidentOccurred)(that.NAME, that._eventTrigger);\r\n that._layout = new _layout.default;\r\n linkTarget && linkTarget.linkAfter(\"core\");\r\n that._initPlugins();\r\n that._initCore();\r\n linkTarget && linkTarget.linkAfter();\r\n that._change(that._initialChanges)\r\n },\r\n _createThemeManager: function() {\r\n return new _base_theme_manager.BaseThemeManager(this._getThemeManagerOptions())\r\n },\r\n _getThemeManagerOptions: function() {\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: function() {\r\n var that = this;\r\n (0, _iterator.each)(that._plugins, (function(_, plugin) {\r\n plugin.init.call(that)\r\n }))\r\n },\r\n _disposePlugins: function() {\r\n var that = this;\r\n (0, _iterator.each)(that._plugins.slice().reverse(), (function(_, plugin) {\r\n plugin.dispose.call(that)\r\n }))\r\n },\r\n _change: function(codes) {\r\n this._changes.add(codes)\r\n },\r\n _suspendChanges: function() {\r\n ++this._changesLocker\r\n },\r\n _resumeChanges: function() {\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++;\r\n this._notify();\r\n this._optionChangedLocker--\r\n }\r\n },\r\n resolveItemsDeferred: function(items) {\r\n this._resolveDeferred(this._getTemplatesItems(items))\r\n },\r\n _collectTemplatesFromItems: function(items) {\r\n return items.reduce((function(prev, i) {\r\n return {\r\n items: prev.items.concat(i.getTemplatesDef()),\r\n groups: prev.groups.concat(i.getTemplatesGroups())\r\n }\r\n }), {\r\n items: [],\r\n groups: []\r\n })\r\n },\r\n _getTemplatesItems: function(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: function() {\r\n return {\r\n items: [],\r\n groups: [],\r\n launchRequest: function() {},\r\n doneRequest: function() {}\r\n }\r\n },\r\n _resolveDeferred: function(_ref) {\r\n var items = _ref.items,\r\n launchRequest = _ref.launchRequest,\r\n doneRequest = _ref.doneRequest,\r\n groups = _ref.groups;\r\n var that = this;\r\n that._setGroupsVisibility(groups, \"hidden\");\r\n if (that._changesApplying) {\r\n that._changesApplying = false;\r\n callForEach(doneRequest);\r\n return\r\n }\r\n var syncRendering = true;\r\n _deferred.when.apply(that, items).done((function() {\r\n if (syncRendering) {\r\n that._setGroupsVisibility(groups, \"visible\");\r\n return\r\n }\r\n callForEach(launchRequest);\r\n that._changesApplying = true;\r\n var changes = [\"LAYOUT\", \"FULL_RENDER\"];\r\n if (that._asyncFirstDrawing) {\r\n changes.push(\"FORCE_FIRST_DRAWING\");\r\n that._asyncFirstDrawing = false\r\n } else {\r\n changes.push(\"FORCE_DRAWING\")\r\n }\r\n that._requestChange(changes);\r\n that._setGroupsVisibility(groups, \"visible\")\r\n }));\r\n syncRendering = false\r\n },\r\n _setGroupsVisibility: function(groups, visibility) {\r\n groups.forEach((function(g) {\r\n return g.attr({\r\n visibility: visibility\r\n })\r\n }))\r\n },\r\n _applyQueuedOptions: function() {\r\n var queue = this._optionsQueue;\r\n this._optionsQueue = null;\r\n this.beginUpdate();\r\n (0, _iterator.each)(queue, (function(_, action) {\r\n action()\r\n }));\r\n this.endUpdate()\r\n },\r\n _requestChange: function(codes) {\r\n this._suspendChanges();\r\n this._change(codes);\r\n this._resumeChanges()\r\n },\r\n _applyChanges: function() {\r\n var changes = this._changes;\r\n var order = this._totalChangesOrder;\r\n var i;\r\n var ii = order.length;\r\n for (i = 0; i < ii; ++i) {\r\n if (changes.has(order[i])) {\r\n this[\"_change_\" + 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: function() {\r\n this._eventTrigger.applyChanges()\r\n },\r\n _change_THEME: function() {\r\n this._setThemeAndRtl()\r\n },\r\n _change_RENDERER: function() {\r\n this._setRendererOptions()\r\n },\r\n _change_RESIZE_HANDLER: function() {\r\n this._setupResizeHandler()\r\n },\r\n _change_ELEMENT_ATTR: function() {\r\n this._renderElementAttributes();\r\n this._change([\"CONTAINER_SIZE\"])\r\n },\r\n _change_CONTAINER_SIZE: function() {\r\n this._updateSize()\r\n },\r\n _change_LAYOUT: function() {\r\n this._setContentSize()\r\n },\r\n _change_DISABLED: function() {\r\n var renderer = this._renderer;\r\n var root = renderer.root;\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\": (0, _type2.isDefined)(this._initDisabledState) ? this._initDisabledState : null,\r\n filter: null\r\n })\r\n }\r\n },\r\n _themeDependentChanges: [\"RENDERER\"],\r\n _initRenderer: function() {\r\n var rawCanvas = this._calculateRawCanvas();\r\n this._canvas = floorCanvasDimensions(rawCanvas);\r\n this._renderer = new _renderer2.Renderer({\r\n cssClass: this._rootClassPrefix + \" \" + 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: function() {\r\n this._renderer.dispose()\r\n },\r\n _disposeGraphicObjects: function() {\r\n for (var id in this._graphicObjects) {\r\n this._graphicObjects[id].dispose()\r\n }\r\n this._graphicObjects = null\r\n },\r\n _getAnimationOptions: _common.noop,\r\n render: function() {\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: function(subscribe) {\r\n var $parents = (0, _renderer.default)(this._renderer.root.element).parents();\r\n if (\"generic\" === _devices.default.real().platform) {\r\n $parents = $parents.add((0, _window.getWindow)())\r\n }\r\n this._proxiedTargetParentsScrollHandler = this._proxiedTargetParentsScrollHandler || function() {\r\n this._stopCurrentHandling()\r\n }.bind(this);\r\n _events_engine.default.off((0, _renderer.default)().add(this._$prevRootParents), \"scroll.viz_widgets\", this._proxiedTargetParentsScrollHandler);\r\n if (subscribe) {\r\n _events_engine.default.on($parents, \"scroll.viz_widgets\", this._proxiedTargetParentsScrollHandler);\r\n this._$prevRootParents = $parents\r\n }\r\n },\r\n _stopCurrentHandling: _common.noop,\r\n _dispose: function() {\r\n var that = this;\r\n if (this._disposed) {\r\n return\r\n }\r\n that.callBase.apply(that, arguments);\r\n that._toggleParentsScrollSubscription(false);\r\n that._removeResizeHandler();\r\n that._layout.dispose();\r\n that._eventTrigger.dispose();\r\n that._disposeCore();\r\n that._disposePlugins();\r\n that._disposeGraphicObjects();\r\n that._disposeRenderer();\r\n that._themeManager.dispose();\r\n that._themeManager = that._renderer = that._eventTrigger = null\r\n },\r\n _initEventTrigger: function() {\r\n var that = this;\r\n that._eventTrigger = (0, _base_widget.createEventTrigger)(that._eventsMap, (function(name, actionSettings) {\r\n return that._createActionByOption(name, actionSettings)\r\n }))\r\n },\r\n _calculateRawCanvas: function() {\r\n var that = this;\r\n var size = that.option(\"size\") || {};\r\n var margin = that.option(\"margin\") || {};\r\n var defaultCanvas = that._getDefaultSize() || {};\r\n var getSizeOfSide = function(size, side, getter) {\r\n if (sizeIsValid(size[side]) || !(0, _window.hasWindow)()) {\r\n return 0\r\n }\r\n var elementSize = getter(that._$element);\r\n return elementSize <= 1 ? 0 : elementSize\r\n };\r\n var elementWidth = getSizeOfSide(size, \"width\", (function(x) {\r\n return (0, _size.getWidth)(x)\r\n }));\r\n var elementHeight = getSizeOfSide(size, \"height\", (function(x) {\r\n return (0, _size.getHeight)(x)\r\n }));\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: function() {\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: _common.noop,\r\n _getMinSize: function() {\r\n return [0, 0]\r\n },\r\n _getAlignmentRect: _common.noop,\r\n _setContentSize: function() {\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: function(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 : (0, _extend.extend)(true, {}, theme, option)\r\n },\r\n _setupResizeHandler: function() {\r\n var that = this;\r\n var redrawOnResize = (0, _utils.parseScalar)(that._getOption(\"redrawOnResize\", true), true);\r\n if (that._disposeResizeHandler) {\r\n that._removeResizeHandler()\r\n }\r\n that._disposeResizeHandler = (0, _base_widget.createResizeHandler)(that._$element[0], redrawOnResize, (function() {\r\n return that._requestChange([\"CONTAINER_SIZE\"])\r\n }))\r\n },\r\n _removeResizeHandler: function() {\r\n if (this._disposeResizeHandler) {\r\n this._disposeResizeHandler();\r\n this._disposeResizeHandler = null\r\n }\r\n },\r\n _onBeginUpdate: _common.noop,\r\n beginUpdate: function() {\r\n var that = this;\r\n if (that._initialized && that._isUpdateAllowed()) {\r\n that._onBeginUpdate();\r\n that._suspendChanges()\r\n }\r\n that.callBase.apply(that, arguments);\r\n return that\r\n },\r\n endUpdate: function() {\r\n this.callBase();\r\n this._isUpdateAllowed() && this._resumeChanges();\r\n return this\r\n },\r\n option: function(name) {\r\n var that = this;\r\n if (that._initialized && that._applyingChanges && (arguments.length > 1 || (0, _type2.isObject)(name))) {\r\n that._optionsQueue = that._optionsQueue || [];\r\n that._optionsQueue.push(that._getActionForUpdating(arguments))\r\n } else {\r\n return _option.apply(that, arguments)\r\n }\r\n },\r\n _getActionForUpdating: function(args) {\r\n var that = this;\r\n return function() {\r\n _option.apply(that, args)\r\n }\r\n },\r\n _clean: _common.noop,\r\n _render: _common.noop,\r\n _optionChanged: function(arg) {\r\n var that = this;\r\n if (that._optionChangedLocker) {\r\n return\r\n }\r\n var partialChanges = that.getPartialChangeOptionsName(arg);\r\n var changes = [];\r\n if (partialChanges.length > 0) {\r\n partialChanges.forEach((function(pc) {\r\n return changes.push(that._partialOptionChangesMap[pc])\r\n }))\r\n } else {\r\n changes.push(that._optionChangesMap[arg.name])\r\n }\r\n changes = changes.filter((function(c) {\r\n return !!c\r\n }));\r\n if (that._eventTrigger.change(arg.name)) {\r\n that._change([\"EVENTS\"])\r\n } else if (changes.length > 0) {\r\n that._change(changes)\r\n } else {\r\n that.callBase.apply(that, arguments)\r\n }\r\n },\r\n _notify: _common.noop,\r\n _changesApplied: _common.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: function(changedOption) {\r\n var that = this;\r\n var fullName = changedOption.fullName;\r\n var sections = fullName.split(/[.]/);\r\n var name = changedOption.name;\r\n var value = changedOption.value;\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((function(op) {\r\n fullName.indexOf(op) >= 0 && partialChangeOptionsName.push(op)\r\n }));\r\n if (1 === sections.length) {\r\n if (\"object\" === (0, _type2.type)(value)) {\r\n that._addOptionsNameForPartialUpdate(value, options, partialChangeOptionsName)\r\n } else if (\"array\" === (0, _type2.type)(value)) {\r\n if (value.length > 0 && value.every((function(item) {\r\n return that._checkOptionsForPartialUpdate(item, options)\r\n }))) {\r\n value.forEach((function(item) {\r\n return that._addOptionsNameForPartialUpdate(item, options, partialChangeOptionsName)\r\n }))\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return partialChangeOptionsName.filter((function(value, index, self) {\r\n return self.indexOf(value) === index\r\n }))\r\n },\r\n _checkOptionsForPartialUpdate: function(optionObject, options) {\r\n return !Object.keys(optionObject).some((function(key) {\r\n return -1 === options.indexOf(key)\r\n }))\r\n },\r\n _addOptionsNameForPartialUpdate: function(optionObject, options, partialChangeOptionsName) {\r\n var optionKeys = Object.keys(optionObject);\r\n if (this._checkOptionsForPartialUpdate(optionObject, options)) {\r\n optionKeys.forEach((function(key) {\r\n return options.indexOf(key) > -1 && partialChangeOptionsName.push(key)\r\n }))\r\n }\r\n },\r\n _visibilityChanged: function() {\r\n this.render()\r\n },\r\n _setThemeAndRtl: function() {\r\n this._themeManager.setTheme(this.option(\"theme\"), this.option(OPTION_RTL_ENABLED))\r\n },\r\n _getRendererOptions: function() {\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: function() {\r\n this._renderer.setOptions(this._getRendererOptions())\r\n },\r\n svg: function() {\r\n return this._renderer.svg()\r\n },\r\n getSize: function() {\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: function() {\r\n this.isReady = getFalse\r\n },\r\n _renderGraphicObjects: function() {\r\n var renderer = this._renderer;\r\n var graphics = (0, _charts.getGraphicObjects)();\r\n for (var id in graphics) {\r\n if (!this._graphicObjects[id]) {\r\n var _graphics$id = graphics[id],\r\n _type = _graphics$id.type,\r\n colors = _graphics$id.colors,\r\n rotationAngle = _graphics$id.rotationAngle,\r\n template = _graphics$id.template,\r\n width = _graphics$id.width,\r\n height = _graphics$id.height;\r\n switch (_type) {\r\n case \"linear\":\r\n this._graphicObjects[id] = renderer.linearGradient(colors, id, rotationAngle);\r\n break;\r\n case \"radial\":\r\n this._graphicObjects[id] = renderer.radialGradient(colors, id);\r\n break;\r\n case \"pattern\":\r\n this._graphicObjects[id] = renderer.customPattern(id, this._getTemplate(template), width, height)\r\n }\r\n }\r\n }\r\n },\r\n _drawn: function() {\r\n var that = this;\r\n that.isReady = getFalse;\r\n if (that._dataIsReady()) {\r\n that._renderer.onEndAnimation((function() {\r\n that.isReady = getTrue\r\n }))\r\n }\r\n that._eventTrigger(\"drawn\", {})\r\n }\r\n});\r\nvar _default = baseWidget;\r\nexports.default = _default;\r\n(0, _helpers.replaceInherit)(baseWidget);\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/viz/core/base_widget.utils.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.createEventTrigger = createEventTrigger;\r\nexports.createIncidentOccurred = void 0;\r\nexports.createResizeHandler = createResizeHandler;\r\nvar _version = require(\"../../core/version\");\r\nvar _string = require(\"../../core/utils/string\");\r\nvar _errors_warnings = _interopRequireDefault(require(\"./errors_warnings\"));\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _resize_callbacks = _interopRequireDefault(require(\"../../core/utils/resize_callbacks\"));\r\nvar _resize_observer = _interopRequireDefault(require(\"../../core/resize_observer\"));\r\nvar _utils = require(\"./utils\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar ERROR_MESSAGES = _errors_warnings.default.ERROR_MESSAGES;\r\n\r\nfunction createEventTrigger(eventsMap, callbackGetter) {\r\n var triggers = {};\r\n (0, _iterator.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 (0, _iterator.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\nvar 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: _string.format.apply(null, [ERROR_MESSAGES[id]].concat(args || [])),\r\n widget: widgetName,\r\n version: _version.version\r\n }\r\n })\r\n }\r\n};\r\nexports.createIncidentOccurred = createIncidentOccurred;\r\n\r\nfunction getResizeManager(resizeCallback) {\r\n return function(observe, unsubscribe) {\r\n var _createDeferredHandle = createDeferredHandler(resizeCallback, unsubscribe),\r\n handler = _createDeferredHandle.handler,\r\n dispose = _createDeferredHandle.dispose;\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: function() {\r\n clearTimeout(timeout);\r\n unsubscribe(handler)\r\n }\r\n }\r\n}\r\n\r\nfunction createResizeHandler(contentElement, redrawOnResize, resize) {\r\n var disposeHandler;\r\n var resizeManager = getResizeManager(resize);\r\n if (\"windowonly\" === (0, _utils.normalizeEnum)(redrawOnResize)) {\r\n disposeHandler = resizeManager((function(handler) {\r\n return _resize_callbacks.default.add(handler)\r\n }), (function(handler) {\r\n return _resize_callbacks.default.remove(handler)\r\n }))\r\n } else if (true === redrawOnResize) {\r\n disposeHandler = resizeManager((function(handler) {\r\n return _resize_observer.default.observe(contentElement, handler)\r\n }), (function() {\r\n return _resize_observer.default.unobserve(contentElement)\r\n }))\r\n }\r\n return disposeHandler\r\n}\r\n","/**\r\n * DevExtreme (cjs/viz/core/center_template.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.plugins = void 0;\r\nvar _utils = require(\"../core/utils\");\r\nvar _common = require(\"../../core/utils/common\");\r\nvar pieChartPlugin = {\r\n name: \"center_template_pie_chart\",\r\n init: _common.noop,\r\n dispose: function() {\r\n this._centerTemplateGroup.linkOff().dispose()\r\n },\r\n extenders: {\r\n _createHtmlStructure: function() {\r\n var patchedFontOptions = (0, _utils.patchFontOptions)(this._themeManager._font);\r\n this._centerTemplateGroup = this._renderer.g().attr({\r\n class: \"dxc-hole-template\"\r\n }).linkOn(this._renderer.root, \"center-template\").css(patchedFontOptions).linkAppend()\r\n },\r\n _renderExtraElements: function() {\r\n this._requestChange([\"CENTER_TEMPLATE\"])\r\n }\r\n },\r\n members: {\r\n _renderCenterTemplate: function() {\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 var center = this._getCenter();\r\n this._getTemplate(template).render({\r\n model: this,\r\n container: centerTemplateGroup.element,\r\n onRendered: function() {\r\n var group = centerTemplateGroup;\r\n var bBox = group.getBBox();\r\n var bBoxCenterX = bBox.x + bBox.width / 2;\r\n var bBoxCenterY = bBox.y + bBox.height / 2;\r\n group.move(center.x - bBoxCenterX, center.y - bBoxCenterY);\r\n group.attr({\r\n visibility: \"visible\"\r\n })\r\n }\r\n })\r\n }\r\n },\r\n customize: function(constructor) {\r\n constructor.addChange({\r\n code: \"CENTER_TEMPLATE\",\r\n handler: function() {\r\n this._renderCenterTemplate()\r\n },\r\n option: \"centerTemplate\"\r\n })\r\n }\r\n};\r\nvar gaugePlugin = {\r\n name: \"center_template_gauge\",\r\n init: _common.noop,\r\n dispose: pieChartPlugin.dispose,\r\n extenders: {\r\n _initCore: function() {\r\n this._createCenterTemplateGroup()\r\n },\r\n _renderContent: function() {\r\n var patchedFontOptions = (0, _utils.patchFontOptions)(this._themeManager._font);\r\n this._centerTemplateGroup.css(patchedFontOptions);\r\n this._requestChange([\"CENTER_TEMPLATE\"])\r\n },\r\n _updateExtraElements: function() {\r\n this._requestChange([\"CENTER_TEMPLATE\"])\r\n }\r\n },\r\n members: {\r\n _renderCenterTemplate: pieChartPlugin.members._renderCenterTemplate,\r\n _createCenterTemplateGroup: function() {\r\n this._centerTemplateGroup = this._renderer.g().attr({\r\n class: \"dxg-hole-template\"\r\n }).linkOn(this._renderer.root, \"center-template\").linkAppend()\r\n }\r\n },\r\n customize: pieChartPlugin.customize\r\n};\r\nvar plugins = {\r\n pieChart: pieChartPlugin,\r\n gauge: gaugePlugin\r\n};\r\nexports.plugins = plugins;\r\n","/**\r\n * DevExtreme (cjs/viz/core/data_source.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.plugin = void 0;\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _data_helper = _interopRequireDefault(require(\"../../data_helper\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar postCtor = _data_helper.default.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 _data_helper.default) {\r\n if (\"postCtor\" === name) {\r\n continue\r\n }\r\n members[name] = _data_helper.default[name]\r\n}\r\nvar plugin = {\r\n name: \"data_source\",\r\n init: function() {\r\n postCtor.call(this)\r\n },\r\n dispose: _common.noop,\r\n members: members\r\n};\r\nexports.plugin = plugin;\r\n","/**\r\n * DevExtreme (cjs/viz/core/errors_warnings.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _error = _interopRequireDefault(require(\"../../core/utils/error\"));\r\nvar _errors = _interopRequireDefault(require(\"../../core/errors\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar _default = (0, _error.default)(_errors.default.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\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/viz/core/export.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.plugin = exports.getMarkup = exports.exportWidgets = exports.exportFromMarkup = exports.combineMarkups = exports.ExportMenu = void 0;\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _window = require(\"../../core/utils/window\");\r\nvar _utils = require(\"./utils\");\r\nvar _svg = require(\"../../core/utils/svg\");\r\nvar _exporter = require(\"../../exporter\");\r\nvar _message = _interopRequireDefault(require(\"../../localization/message\"));\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _themes = require(\"../themes\");\r\nvar _hover = require(\"../../events/hover\");\r\nvar _pointer = _interopRequireDefault(require(\"../../events/pointer\"));\r\nvar _console = require(\"../../core/utils/console\");\r\nvar _size = require(\"../../core/utils/size\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\n\r\nfunction _defineProperty(obj, key, value) {\r\n key = _toPropertyKey(key);\r\n if (key in obj) {\r\n Object.defineProperty(obj, key, {\r\n value: value,\r\n enumerable: true,\r\n configurable: true,\r\n writable: true\r\n })\r\n } else {\r\n obj[key] = value\r\n }\r\n return obj\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\nvar pointerActions = [_pointer.default.down, _pointer.default.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 = _exporter.image.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 _exporter.svg.getData\r\n } else if (\"PDF\" === format) {\r\n return _exporter.pdf.getData\r\n } else {\r\n return _exporter.image.getData\r\n }\r\n}\r\n\r\nfunction _print(imageSrc, options) {\r\n var document = (0, _window.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 = (0, _size.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 _this = this;\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 = function() {\r\n _this.parentElement.removeChild(_this)\r\n };\r\n img.addEventListener(\"load\", (function() {\r\n window.focus();\r\n window.print()\r\n }));\r\n img.addEventListener(\"error\", removeFrame);\r\n window.addEventListener(\"afterprint\", (function() {\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 = (0, _utils.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(_hover.start + \".export\", (function() {\r\n return rect.attr({\r\n fill: options.button.hover.backgroundColor\r\n })\r\n })).on(_hover.end + \".export\", (function() {\r\n return rect.attr({\r\n fill: null\r\n })\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: function() {\r\n return rect.attr({\r\n fill: null\r\n })\r\n },\r\n fixPosition: function() {\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: _message.default.format(\"vizExport-printingButtonText\"),\r\n itemIndex: items.length\r\n }))\r\n }\r\n items = options.formats.reduce((function(r, format) {\r\n r.push(createMenuItem(renderer, options, {\r\n type: \"exporting\",\r\n text: _message.default.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\nvar 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 = (0, _type.isDefined)(options.margin) ? options.margin : MARGIN;\r\n options.backgroundColor = (0, _type.isDefined)(options.backgroundColor) ? options.backgroundColor : getBackgroundColorFromMarkup(markup) || (0, _themes.getTheme)().backgroundColor;\r\n (0, _exporter.export)(markup, options, getCreatorFunc(options.format))\r\n};\r\nexports.exportFromMarkup = exportFromMarkup;\r\nvar getMarkup = function(widgets) {\r\n return combineMarkups(widgets).markup\r\n};\r\nexports.getMarkup = getMarkup;\r\nvar 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\nexports.exportWidgets = exportWidgets;\r\nvar 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((function(item) {\r\n return [item]\r\n }))\r\n }\r\n var compactView = !options.gridLayout;\r\n var exportItems = widgets.reduce((function(r, row, rowIndex) {\r\n var rowInfo = row.reduce((function(r, item, colIndex) {\r\n var size = item.getSize();\r\n var backgroundColor = item.option(\"backgroundColor\") || (0, _themes.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 = function(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 = function(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((function(item) {\r\n return '<g transform=\"translate('.concat(getHOffset(item), \",\").concat(getVOffset(item), ')\">').concat(item.markup, \"</g>\")\r\n })).join(\"\") + \"</svg>\",\r\n width: totalWidth,\r\n height: totalHeight\r\n }\r\n};\r\nexports.combineMarkups = combineMarkups;\r\nvar 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(_defineProperty({\r\n class: EXPORT_CSS_CLASS\r\n }, _svg.HIDDEN_FOR_EXPORT, true)).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\nexports.ExportMenu = ExportMenu;\r\n(0, _extend.extend)(ExportMenu.prototype, {\r\n getLayoutOptions: function() {\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: function(_, y) {\r\n this._group.attr({\r\n translateY: this._group.attr(\"translateY\") + y\r\n })\r\n },\r\n draw: function(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: function() {\r\n this._group.linkAppend()\r\n },\r\n hide: function() {\r\n this._group.linkRemove()\r\n },\r\n setOptions: function(options) {\r\n var _this2 = this;\r\n this._options = options;\r\n if (options.formats) {\r\n options.formats = options.formats.reduce((function(r, format) {\r\n format = validateFormat(format, _this2._incidentOccurred, _this2.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: function() {\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: function() {\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: function() {\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: function(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: function() {\r\n this._hiddenDueToLayout = false;\r\n this.show()\r\n },\r\n freeSpace: function() {\r\n this._incidentOccurred(\"W2107\");\r\n this._hiddenDueToLayout = true;\r\n this.hide()\r\n },\r\n _hideList: function() {\r\n this._listGroup.remove();\r\n this._listShown = false;\r\n this._setButtonState(\"default\");\r\n this._menuItems.forEach((function(item) {\r\n return item.resetState()\r\n }))\r\n },\r\n _showList: function() {\r\n this._listGroup.append(this._group);\r\n this._listShown = true;\r\n this._menuItems.forEach((function(item) {\r\n return item.fixPosition()\r\n }))\r\n },\r\n _setButtonState: function(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: function() {\r\n var _this3 = this;\r\n this._renderer.root.on(_pointer.default.up + \".export\", (function(e) {\r\n var elementType = e.target[EXPORT_DATA_KEY];\r\n if (!elementType) {\r\n if (_this3._button) {\r\n _this3._hideList()\r\n }\r\n return\r\n }\r\n if (\"button\" === elementType) {\r\n if (_this3._listShown) {\r\n _this3._setButtonState(\"default\");\r\n _this3._hideList()\r\n } else {\r\n _this3._setButtonState(\"focus\");\r\n _this3._showList()\r\n }\r\n } else if (\"printing\" === elementType) {\r\n _this3._print();\r\n _this3._hideList()\r\n } else if (\"exporting\" === elementType) {\r\n _this3._exportTo(e.target[FORMAT_DATA_KEY]);\r\n _this3._hideList()\r\n }\r\n }));\r\n this._listGroup.on(pointerActions, (function(e) {\r\n return e.stopPropagation()\r\n }));\r\n this._buttonGroup.on(_pointer.default.enter, (function() {\r\n return _this3._setButtonState(\"hover\")\r\n }));\r\n this._buttonGroup.on(_pointer.default.leave, (function() {\r\n return _this3._setButtonState(_this3._listShown ? \"focus\" : \"default\")\r\n }));\r\n this._buttonGroup.on(_pointer.default.down + \".export\", (function() {\r\n return _this3._setButtonState(\"active\")\r\n }))\r\n },\r\n _unsubscribeEvents: function() {\r\n this._renderer.root.off(\".export\");\r\n this._listGroup.off();\r\n this._buttonGroup.off()\r\n },\r\n _updateButton: function() {\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(_message.default.format(\"vizExport-titleMenuText\"))\r\n }\r\n },\r\n _updateList: function() {\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((function(item) {\r\n return item.g.append(listGroup)\r\n }));\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 _widget$getSize = widget.getSize(),\r\n width = _widget$getSize.width,\r\n height = _widget$getSize.height;\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\nvar plugin = {\r\n name: \"export\",\r\n init: function() {\r\n var _this4 = this;\r\n this._exportMenu = new ExportMenu({\r\n renderer: this._renderer,\r\n incidentOccurred: this._incidentOccurred,\r\n print: function() {\r\n return _this4.print()\r\n },\r\n exportTo: function(format) {\r\n return _this4.exportTo(void 0, format)\r\n }\r\n });\r\n this._layout.add(this._exportMenu)\r\n },\r\n dispose: function() {\r\n this._exportMenu.dispose()\r\n },\r\n members: {\r\n _getExportMenuOptions: function() {\r\n return (0, _extend.extend)({}, this._getOption(\"export\"), {\r\n rtl: this._getOption(\"rtlEnabled\", true)\r\n })\r\n },\r\n _disablePointerEvents: function() {\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: function(fileName, format) {\r\n var _this5 = this;\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 = (0, _exporter.export)(this._renderer.root.element, options, getCreatorFunc(options.format)).fail(_console.logger.error).always((function() {\r\n _this5._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: function() {\r\n var _this6 = this;\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 = function(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 = (0, _exporter.export)(this._renderer.root.element, options, getCreatorFunc(options.format)).fail(_console.logger.error).always((function() {\r\n _this6._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: function(constructor) {\r\n var proto = constructor.prototype;\r\n constructor.addChange({\r\n code: \"EXPORT\",\r\n handler: function() {\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\nexports.plugin = plugin;\r\n","/**\r\n * DevExtreme (cjs/viz/core/helpers.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.changes = changes;\r\nexports.expand = expand;\r\nexports.replaceInherit = void 0;\r\nvar _extend2 = require(\"../../core/utils/extend\");\r\nvar _window = require(\"../../core/utils/window\");\r\nvar _common = require(\"../../core/utils/common\");\r\nvar isServerSide = !(0, _window.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 ? (0, _extend2.extend)({}, baseMap, thisMap) : (0, _extend2.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\n\r\nfunction 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 (0, _extend2.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\nvar 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 = _common.noop;\r\n return result\r\n };\r\n widget.addChange = _common.noop;\r\n widget.addPlugin = _common.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\nexports.replaceInherit = replaceInherit;\r\n\r\nfunction changes() {\r\n return new Flags\r\n}\r\n","/**\r\n * DevExtreme (cjs/viz/core/layout.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _utils = require(\"./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 = (0, _utils.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\nvar _default = Layout;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/viz/core/layout_element.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.LayoutElement = LayoutElement;\r\nexports.WrapperLayoutElement = WrapperLayoutElement;\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _object = require(\"../../core/utils/object\");\r\nvar _round = Math.round;\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: _common.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 = (0, _object.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\n","/**\r\n * DevExtreme (cjs/viz/core/loading_indicator.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.plugin = exports.LoadingIndicator = void 0;\r\nvar _utils = require(\"./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\nvar 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\nexports.LoadingIndicator = LoadingIndicator;\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((0, _utils.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\nvar 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: function(isLoading) {\r\n if (isLoading && (this._options.silent(\"loadingIndicator\") || {}).enabled) {\r\n this._loadingIndicator.show()\r\n }\r\n },\r\n _setContentSize: function() {\r\n this._loadingIndicator.setSize(this._canvas)\r\n },\r\n endUpdate: function() {\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\nexports.plugin = plugin;\r\n","/**\r\n * DevExtreme (cjs/viz/core/plaque.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.Plaque = void 0;\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _excluded = [\"x\", \"y\", \"canvas\", \"offsetX\", \"offsetY\", \"offset\"];\r\n\r\nfunction _extends() {\r\n _extends = Object.assign ? Object.assign.bind() : function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\n\r\nfunction _objectWithoutProperties(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = _objectWithoutPropertiesLoose(source, excluded);\r\n var key, i;\r\n if (Object.getOwnPropertySymbols) {\r\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\r\n for (i = 0; i < sourceSymbolKeys.length; i++) {\r\n key = sourceSymbolKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n }\r\n return target\r\n}\r\n\r\nfunction _objectWithoutPropertiesLoose(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = {};\r\n var sourceKeys = Object.keys(source);\r\n var key, i;\r\n for (i = 0; i < sourceKeys.length; i++) {\r\n key = sourceKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n return target\r\n}\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 width = _ref.width,\r\n height = _ref.height;\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 width = _ref2.width,\r\n height = _ref2.height;\r\n var arrowWidth = _ref3.arrowWidth,\r\n _ref3$cornerRadius = _ref3.cornerRadius,\r\n cornerRadius = void 0 === _ref3$cornerRadius ? 0 : _ref3$cornerRadius;\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\nvar Plaque = function() {\r\n function Plaque(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] : function(_, g) {\r\n return g.getBBox()\r\n };\r\n var moveContentGroup = arguments.length > 6 && void 0 !== arguments[6] ? arguments[6] : function(_, g, x, y) {\r\n return g.move(x, y)\r\n };\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 var _proto = Plaque.prototype;\r\n _proto.draw = function(_ref4) {\r\n var _this = this;\r\n var anchorX = _ref4.x,\r\n anchorY = _ref4.y,\r\n _ref4$canvas = _ref4.canvas,\r\n canvas = void 0 === _ref4$canvas ? {} : _ref4$canvas,\r\n offsetX = _ref4.offsetX,\r\n offsetY = _ref4.offsetY,\r\n _ref4$offset = _ref4.offset,\r\n offset = void 0 === _ref4$offset ? 0 : _ref4$offset,\r\n restProps = _objectWithoutProperties(_ref4, _excluded);\r\n var options = this.options;\r\n var x = options.x,\r\n y = options.y;\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 (!((0, _type.isDefined)(anchorX) && (0, _type.isDefined)(anchorY)) && !((0, _type.isDefined)(x) && (0, _type.isDefined)(y))) {\r\n return false\r\n }\r\n if ((0, _type.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 = (0, _extend.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 = function() {\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 (!(0, _type.isDefined)(x)) {\r\n if ((0, _type.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 (!(0, _type.isDefined)(anchorX)) {\r\n anchorX = x\r\n }\r\n }\r\n if (!(0, _type.isDefined)(y)) {\r\n if ((0, _type.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 (!(0, _type.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 _proto._draw = function() {\r\n var renderer = this.widget._renderer;\r\n var options = this.options;\r\n var shadowSettings = (0, _extend.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 (0, _extend.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 _proto.getBBox = function() {\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 _proto.clear = function() {\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 _proto.customizeCloud = function(attr) {\r\n if (this._cloud) {\r\n this._cloud.attr(attr)\r\n }\r\n };\r\n _proto.moveRoot = function(x, y) {\r\n if (this._root) {\r\n this._root.move(x, y)\r\n }\r\n };\r\n _proto.move = function(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 _proto.hitTest = function(x, y) {\r\n var _ref5 = this._size || {},\r\n width = _ref5.width,\r\n height = _ref5.height;\r\n return Math.abs(x - this.x) <= width / 2 && Math.abs(y - this.y) <= height / 2\r\n };\r\n return Plaque\r\n}();\r\nexports.Plaque = Plaque;\r\n","/**\r\n * DevExtreme (cjs/viz/core/renderers/animation.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.AnimationController = AnimationController;\r\nexports.easingFunctions = exports.animationSvgStep = void 0;\r\nvar _frame = require(\"../../../animation/frame\");\r\nvar noop = function() {};\r\nvar 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\nexports.easingFunctions = easingFunctions;\r\nvar 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\nexports.animationSvgStep = animationSvgStep;\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\n\r\nfunction 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 = _frame.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 (0, _frame.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 (cjs/viz/core/renderers/renderer.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.RectSvgElement = exports.PathSvgElement = exports.ArcSvgElement = void 0;\r\nexports.Renderer = Renderer;\r\nexports.TextSvgElement = exports.SvgElement = void 0;\r\nexports.getFuncIri = getFuncIri;\r\nexports.processHatchingAttrs = processHatchingAttrs;\r\nexports.refreshPaths = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../../core/renderer\"));\r\nvar _dom_adapter = _interopRequireDefault(require(\"../../../core/dom_adapter\"));\r\nvar _window = require(\"../../../core/utils/window\");\r\nvar _call_once = _interopRequireDefault(require(\"../../../core/utils/call_once\"));\r\nvar _events_engine = _interopRequireDefault(require(\"../../../events/core/events_engine\"));\r\nvar _svg = require(\"../../../core/utils/svg\");\r\nvar _animation = require(\"./animation\");\r\nvar _utils = require(\"../utils\");\r\nvar _type = require(\"../../../core/utils/type\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _slicedToArray(arr, i) {\r\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest()\r\n}\r\n\r\nfunction _nonIterableRest() {\r\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _unsupportedIterableToArray(o, minLen) {\r\n if (!o) {\r\n return\r\n }\r\n if (\"string\" === typeof o) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n var n = Object.prototype.toString.call(o).slice(8, -1);\r\n if (\"Object\" === n && o.constructor) {\r\n n = o.constructor.name\r\n }\r\n if (\"Map\" === n || \"Set\" === n) {\r\n return Array.from(o)\r\n }\r\n if (\"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n}\r\n\r\nfunction _arrayLikeToArray(arr, len) {\r\n if (null == len || len > arr.length) {\r\n len = arr.length\r\n }\r\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\r\n arr2[i] = arr[i]\r\n }\r\n return arr2\r\n}\r\n\r\nfunction _iterableToArrayLimit(arr, i) {\r\n var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"];\r\n if (null != _i) {\r\n var _s, _e, _x, _r, _arr = [],\r\n _n = !0,\r\n _d = !1;\r\n try {\r\n if (_x = (_i = _i.call(arr)).next, 0 === i) {\r\n if (Object(_i) !== _i) {\r\n return\r\n }\r\n _n = !1\r\n } else {\r\n for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) {}\r\n }\r\n } catch (err) {\r\n _d = !0, _e = err\r\n } finally {\r\n try {\r\n if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) {\r\n return\r\n }\r\n } finally {\r\n if (_d) {\r\n throw _e\r\n }\r\n }\r\n }\r\n return _arr\r\n }\r\n}\r\n\r\nfunction _arrayWithHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return arr\r\n }\r\n}\r\nvar window = (0, _window.getWindow)();\r\nvar max = Math.max,\r\n round = Math.round;\r\nvar SHARPING_CORRECTION = .5;\r\nvar ARC_COORD_PREC = 5;\r\nvar LIGHTENING_HASH = \"@filter::lightening\";\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 = (0, _call_once.default)((function() {\r\n var backupContainer = _dom_adapter.default.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 _dom_adapter.default.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 _dom_adapter.default.getBody().removeChild(getBackup().backupContainer)\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 _dom_adapter.default.createElementNS(\"http://www.w3.org/2000/svg\", tagName)\r\n}\r\n\r\nfunction 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\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\n\r\nfunction processHatchingAttrs(element, attrs) {\r\n if (attrs.hatching && \"none\" !== (0, _utils.normalizeEnum)(attrs.hatching.direction)) {\r\n attrs = extend({}, attrs);\r\n attrs.fill = element._hatching = element.renderer.lockDefsElements({\r\n color: attrs.fill,\r\n hatching: attrs.hatching\r\n }, element._hatching, \"pattern\");\r\n delete attrs.filter\r\n } else if (element._hatching) {\r\n element.renderer.releaseDefsElements(element._hatching);\r\n element._hatching = null;\r\n delete attrs.filter\r\n } else if (attrs.filter) {\r\n attrs = extend({}, attrs);\r\n attrs.filter = element._filter = element.renderer.lockDefsElements({}, element._filter, \"filter\")\r\n } else if (element._filter) {\r\n element.renderer.releaseDefsElements(element._filter);\r\n element._filter = null\r\n }\r\n delete attrs.hatching;\r\n return attrs\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 ((0, _type.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 ? \"\" : (0, _utils.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, (0, _utils.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 = (0, _type.isDefined)(settings[KEY_STROKE]) && (0, _type.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 = (0, _type.isDefined)(settings[KEY_STROKE]) && (0, _type.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 (_dom_adapter.default.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 = _dom_adapter.default.createElement(\"div\");\r\n div.innerHTML = text.replace(/\\r/g, \"\").replace(/\\n/g, \"<br/>\").replace(/style=/g, \"data-style=\");\r\n div.querySelectorAll(\"[data-style]\").forEach((function(element) {\r\n element.style = element.getAttribute(\"data-style\");\r\n element.removeAttribute(\"data-style\")\r\n }));\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(_dom_adapter.default.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 ((0, _type.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 = _dom_adapter.default.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 function() {\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 _that$_getElementBBox = that._getElementBBox(),\r\n width = _that$_getElementBBox.width,\r\n height = _that$_getElementBBox.height;\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((function(texts, line) {\r\n return texts.concat(line.parts)\r\n }), []).filter((function(t) {\r\n return \"\" !== t.value\r\n })).map((function(t) {\r\n t.stroke && t.tspan.parentNode.appendChild(t.stroke);\r\n return t\r\n })).map((function(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((function(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 hideOverflowEllipsis = _ref.hideOverflowEllipsis;\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((function(height, text) {\r\n return max(height, getItemLineHeight(text, lineHeight))\r\n }), 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((function(_ref2, l, index, arr) {\r\n var _ref3 = _slicedToArray(_ref2, 2),\r\n lines = _ref3[0],\r\n commonHeight = _ref3[1];\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((function(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((function(l) {\r\n l.parts.forEach((function(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((function(_ref4, text) {\r\n var _ref5 = _slicedToArray(_ref4, 5),\r\n lines = _ref5[0],\r\n startBox = _ref5[1],\r\n endBox = _ref5[2],\r\n stop = _ref5[3],\r\n lineNumber = _ref5[4];\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 ((0, _type.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((function(l) {\r\n return l.parts.length > 0\r\n })))\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(_dom_adapter.default.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((function(t) {\r\n return getTextWidth(t)\r\n })));\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\nvar 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\nexports.SvgElement = SvgElement;\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 = (0, _renderer.default)(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: function(pos, sharpDirection) {\r\n return this.attr({\r\n sharp: pos || true,\r\n sharpDirection: sharpDirection\r\n })\r\n },\r\n _applyTransformation: function() {\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 = (0, _type.isDefined)(tr.scaleX);\r\n var scaleYDefined = (0, _type.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 (0, _type.isDefined)(x) && (obj.translateX = x);\r\n (0, _type.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 (0, _type.isDefined)(x) && (obj.rotateX = x);\r\n (0, _type.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 = (0, _utils.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 = (0, _utils.normalizeBBox)(bBox)\r\n }\r\n return bBox\r\n },\r\n markup: function() {\r\n return (0, _svg.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: function() {\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 _events_engine.default.on.apply(_events_engine.default, 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 _events_engine.default.off.apply(_events_engine.default, 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 _events_engine.default.trigger.apply(_events_engine.default, args);\r\n return this\r\n }\r\n};\r\nvar PathSvgElement = function(renderer, type) {\r\n SvgElement.call(this, renderer, \"path\", type)\r\n};\r\nexports.PathSvgElement = PathSvgElement;\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\nvar ArcSvgElement = function(renderer) {\r\n SvgElement.call(this, renderer, \"path\", \"arc\")\r\n};\r\nexports.ArcSvgElement = ArcSvgElement;\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\nvar RectSvgElement = function(renderer) {\r\n SvgElement.call(this, renderer, \"rect\")\r\n};\r\nexports.RectSvgElement = RectSvgElement;\r\nRectSvgElement.prototype = objectCreate(SvgElement.prototype);\r\nextend(RectSvgElement.prototype, {\r\n constructor: RectSvgElement,\r\n attr: rectAttr\r\n});\r\nvar TextSvgElement = function(renderer) {\r\n SvgElement.call(this, renderer, \"text\");\r\n this.css({\r\n \"white-space\": \"pre\"\r\n })\r\n};\r\nexports.TextSvgElement = TextSvgElement;\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: function() {\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\n\r\nfunction 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 = (0, _renderer.default)(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 _animation.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[(0, _utils.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 = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : (0, _utils.getNextDefsSvgId)();\r\n var rotationAngle = arguments.length > 2 ? arguments[2] : void 0;\r\n var gradient = this._createElement(\"linearGradient\", {\r\n id: id,\r\n gradientTransform: \"rotate(\".concat(rotationAngle || 0, \")\")\r\n }).append(this._defs);\r\n gradient.id = id;\r\n this._createGradientStops(stops, gradient);\r\n return gradient\r\n },\r\n radialGradient: function(stops, id) {\r\n var gradient = this._createElement(\"radialGradient\", {\r\n id: id\r\n }).append(this._defs);\r\n this._createGradientStops(stops, gradient);\r\n return gradient\r\n },\r\n _createGradientStops: function(stops, group) {\r\n var _this = this;\r\n stops.forEach((function(stop) {\r\n var _stop$stopColor;\r\n _this._createElement(\"stop\", {\r\n offset: stop.offset,\r\n \"stop-color\": null !== (_stop$stopColor = stop[\"stop-color\"]) && void 0 !== _stop$stopColor ? _stop$stopColor : stop.color,\r\n \"stop-opacity\": stop.opacity\r\n }).append(group)\r\n }))\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 || (0, _utils.getNextDefsSvgId)();\r\n var d = \"right\" === (0, _utils.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 customPattern: function(id, template, width, height) {\r\n var option = {\r\n id: id,\r\n width: width,\r\n height: height,\r\n patternContentUnits: \"userSpaceOnUse\",\r\n patternUnits: this._getPatternUnits(width, height)\r\n };\r\n var pattern = this._createElement(\"pattern\", option).append(this._defs);\r\n template.render({\r\n container: pattern.element\r\n });\r\n return pattern\r\n },\r\n _getPatternUnits: function(width, height) {\r\n if (Number(width) && Number(height)) {\r\n return \"userSpaceOnUse\"\r\n }\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 = (0, _utils.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: function(x, y, width, height) {\r\n return this.clipShape(this.rect, arguments)\r\n },\r\n clipCircle: function(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 = (0, _utils.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 = (0, _utils.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 = (0, _utils.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 lightenFilter: function(id) {\r\n var filter = this._createElement(\"filter\", {\r\n id: id\r\n }).append(this._defs);\r\n this._createElement(\"feColorMatrix\", {\r\n type: \"matrix\",\r\n values: \"\".concat(1.3, \" 0 0 0 0 0 \").concat(1.3, \" 0 0 0 0 0 \").concat(1.3, \" 0 0 0 0 0 1 0\")\r\n }).append(filter);\r\n filter.id = id;\r\n return filter\r\n },\r\n initDefsElements: function() {\r\n var storage = this._defsElementsStorage = this._defsElementsStorage || {\r\n byHash: {},\r\n baseId: (0, _utils.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 drawPattern: function(_ref6, storageId, nextId) {\r\n var color = _ref6.color,\r\n hatching = _ref6.hatching;\r\n return this.pattern(color, hatching, \"\".concat(storageId, \"-hatching-\").concat(nextId++))\r\n },\r\n drawFilter: function(_, storageId, nextId) {\r\n return this.lightenFilter(\"\".concat(storageId, \"-lightening-\").concat(nextId++))\r\n },\r\n lockDefsElements: function(attrs, ref, type) {\r\n var storage = this._defsElementsStorage;\r\n var storageItem;\r\n var hash = \"pattern\" === type ? getHatchingHash(attrs) : LIGHTENING_HASH;\r\n var method = \"pattern\" === type ? this.drawPattern : this.drawFilter;\r\n var pattern;\r\n if (storage.refToHash[ref] !== hash) {\r\n if (ref) {\r\n this.releaseDefsElements(ref)\r\n }\r\n storageItem = storage.byHash[hash];\r\n if (!storageItem) {\r\n pattern = method.call(this, attrs, storage.baseId, 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 releaseDefsElements: function(ref) {\r\n var storage = this._defsElementsStorage;\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(_ref7) {\r\n var color = _ref7.color,\r\n hatching = _ref7.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\nvar refreshPaths = function() {\r\n fixFuncIriCallbacks.fire()\r\n};\r\nexports.refreshPaths = refreshPaths;\r\n","/**\r\n * DevExtreme (cjs/viz/core/series_family.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.SeriesFamily = SeriesFamily;\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _math = require(\"../../core/utils/math\");\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _utils = require(\"./utils\");\r\nvar _date = _interopRequireDefault(require(\"../../core/utils/date\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar round = Math.round,\r\n abs = Math.abs,\r\n pow = Math.pow,\r\n sqrt = Math.sqrt;\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 ((0, _type.isDefined)(barPadding) || (0, _type.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 ? _date.default.dateToMilliseconds(tickInterval) : tickInterval;\r\n aggregationInterval = isDateArgAxis ? _date.default.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((function(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((function(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 ((0, _type.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 (0, _iterator.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 (0, _math.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 = (0, _extend.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 (0, _iterator.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 (0, _iterator.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 (0, _iterator.each)(series, (function(_, singleSeries) {\r\n var stackName = singleSeries.getStackName ? singleSeries.getStackName() : \"default\";\r\n (0, _iterator.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 ((0, _type.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 (0, _iterator.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 (0, _iterator.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 (0, _iterator.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 (0, _iterator.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 (0, _iterator.each)(series, (function(_, seriesItem) {\r\n (0, _iterator.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 (0, _iterator.each)(series, (function(_, seriesItem) {\r\n (0, _iterator.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\n\r\nfunction SeriesFamily(options) {\r\n this.type = (0, _utils.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: _common.noop,\r\n adjustSeriesValues: _common.noop,\r\n updateSeriesValues: _common.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 = (0, _utils.map)(series, (function(singleSeries) {\r\n return singleSeries.type === type ? singleSeries : null\r\n }))\r\n }\r\n};\r\n","/**\r\n * DevExtreme (cjs/viz/core/themes/generic.carmine.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\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\nvar _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\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/viz/core/themes/generic.contrast.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\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\nvar _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\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/viz/core/themes/generic.dark.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\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\nvar _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\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/viz/core/themes/generic.darkmoon.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\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\nvar _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\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/viz/core/themes/generic.darkviolet.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\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\nvar _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\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/viz/core/themes/generic.greenmist.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\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\nvar _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\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/viz/core/themes/generic.light.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\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\nvar _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 highlight: true,\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 highlight: true,\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 highlight: false\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 highlight: false\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 highlight: false\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 highlight: false\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 highlight: false\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 highlight: false\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 highlight: false\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 highlight: false\r\n },\r\n selectionStyle: {\r\n width: 3,\r\n highlight: false\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 highlight: false\r\n },\r\n selectionStyle: {\r\n width: 3,\r\n highlight: false\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 aggregateByCategory: true,\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 highlight: true,\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 highlight: true,\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 highlight: true,\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 highlight: true,\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 highlight: true,\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 highlight: true,\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 aggregateByCategory: 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 valueChangeMode: \"onHandleRelease\"\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\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/viz/core/themes/generic.softblue.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\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\nvar _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\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/viz/core/themes/material.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\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\nvar _default = themes;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/viz/core/title.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.plugin = exports.Title = void 0;\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _utils = require(\"./utils\");\r\nvar _layout_element = require(\"./layout_element\");\r\nvar _Number = Number;\r\nvar parseHorizontalAlignment = (0, _utils.enumParser)([\"left\", \"center\", \"right\"]);\r\nvar parseVerticalAlignment = (0, _utils.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\nvar 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\nexports.Title = Title;\r\n(0, _extend.extend)(Title.prototype, _layout_element.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((0, _utils.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((0, _utils.patchFontOptions)(subtitleOptions.font))\r\n }\r\n },\r\n _shiftSubtitle: function() {\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 = (0, _extend.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 _this$getCorrectedLay = this.getCorrectedLayoutOptions(),\r\n x = _this$getCorrectedLay.x,\r\n y = _this$getCorrectedLay.y,\r\n height = _this$getCorrectedLay.height;\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: function() {\r\n var srcBox = this.getLayoutOptions();\r\n var correction = this._baseLineCorrection;\r\n return (0, _extend.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 = (0, _type.isString)(options) ? {\r\n text: options\r\n } : options || {};\r\n newOptions.subtitle = (0, _type.isString)(newOptions.subtitle) ? {\r\n text: newOptions.subtitle\r\n } : newOptions.subtitle || {};\r\n return newOptions\r\n}\r\nvar 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\nexports.plugin = plugin;\r\n","/**\r\n * DevExtreme (cjs/viz/core/tooltip.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.plugin = exports.Tooltip = void 0;\r\nvar _size = require(\"../../core/utils/size\");\r\nvar _dom_adapter = _interopRequireDefault(require(\"../../core/dom_adapter\"));\r\nvar _window = require(\"../../core/utils/window\");\r\nvar _dom = require(\"../../core/utils/dom\");\r\nvar _inflector = require(\"../../core/utils/inflector\");\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _renderer2 = require(\"./renderers/renderer\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _utils = require(\"./utils\");\r\nvar _format_helper = _interopRequireDefault(require(\"../../format_helper\"));\r\nvar _plaque = require(\"./plaque\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar format = _format_helper.default.format;\r\nvar mathCeil = Math.ceil;\r\nvar mathMax = Math.max;\r\nvar mathMin = Math.min;\r\nvar window = (0, _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 (0, _renderer.default)(\"<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((function(el) {\r\n return el.remove()\r\n }))\r\n}\r\nvar 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 = (0, _renderer.default)(\"<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 _renderer2.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 = (0, _renderer.default)(\"<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\nexports.Tooltip = Tooltip;\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 = (0, _renderer.default)(this._widgetRoot).closest(options.container);\r\n if (0 === container.length) {\r\n container = (0, _renderer.default)(options.container)\r\n }\r\n return (container.length ? container : (0, _renderer.default)(\"body\")).get(0)\r\n },\r\n setTemplate: function(contentTemplate) {\r\n this._template = contentTemplate ? this._widget._getTemplate(contentTemplate) : null\r\n },\r\n setOptions: function(options) {\r\n var _this = this;\r\n options = options || {};\r\n var that = this;\r\n that._options = options;\r\n that._textFontStyles = (0, _utils.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.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, (function(_ref) {\r\n var group = _ref.group,\r\n onRender = _ref.onRender,\r\n eventData = _ref.eventData,\r\n isMoving = _ref.isMoving,\r\n _ref$templateCallback = _ref.templateCallback,\r\n templateCallback = void 0 === _ref$templateCallback ? function() {} : _ref$templateCallback;\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: function() {\r\n removeElements(htmlContainers.splice(0, htmlContainers.length - 1));\r\n that._textHtml = (0, _dom.replaceWith)(that._textHtml, containerToTemplateRender);\r\n state.html = that._textHtml.html();\r\n if (0 === (0, _size.getWidth)(that._textHtml) && 0 === (0, _size.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, (function(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 }), (function(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[(0, _inflector.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 ((0, _type.isFunction)(customizeTooltip)) {\r\n customize = customizeTooltip.call(formatObject, formatObject);\r\n customize = (0, _type.isPlainObject)(customize) ? customize : {};\r\n if (\"text\" in customize) {\r\n state.text = (0, _type.isDefined)(customize.text) ? String(customize.text) : \"\"\r\n }\r\n if (\"html\" in customize) {\r\n state.html = (0, _type.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 = (0, _extend.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 ? (0, _extend.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: function() {\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((0, _size.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: function() {\r\n return this._options\r\n },\r\n getLocation: function() {\r\n return (0, _utils.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 = _dom_adapter.default.getDocumentElement();\r\n var document = _dom_adapter.default.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 !== _dom_adapter.default.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\nvar 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: function() {\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\nexports.plugin = plugin;\r\n","/**\r\n * DevExtreme (cjs/viz/core/utils.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.PANE_PADDING = void 0;\r\nexports.adjustVisualRange = adjustVisualRange;\r\nexports.convertAngleToRendererSpace = void 0;\r\nexports.convertPolarToXY = convertPolarToXY;\r\nexports.convertVisualRangeObject = convertVisualRangeObject;\r\nexports.enumParser = exports.degreesToRadians = exports.decreaseGaps = exports.convertXYToPolar = void 0;\r\nexports.extractColor = extractColor;\r\nexports.getAddFunction = getAddFunction;\r\nexports.getLog = exports.getDistance = exports.getDecimalOrder = exports.getCosAndSin = exports.getCategoriesInfo = exports.getAppropriateFormat = exports.getAdjustedLog10 = void 0;\r\nexports.getLogExt = getLogExt;\r\nexports.getVerticallyShiftedAngularCoords = exports.getPower = exports.getNextDefsSvgId = void 0;\r\nexports.getVizRangeObject = getVizRangeObject;\r\nexports.isRelativeHeightPane = isRelativeHeightPane;\r\nexports.map = map;\r\nexports.mergeMarginOptions = mergeMarginOptions;\r\nexports.normalizeAngle = void 0;\r\nexports.normalizeArcParams = normalizeArcParams;\r\nexports.normalizeBBox = normalizeBBox;\r\nexports.normalizeEnum = normalizeEnum;\r\nexports.normalizePanesHeight = normalizePanesHeight;\r\nexports.patchFontOptions = exports.parseScalar = void 0;\r\nexports.pointInCanvas = pointInCanvas;\r\nexports.raiseTo = exports.processSeriesTemplate = void 0;\r\nexports.raiseToExt = raiseToExt;\r\nexports.rangesAreEqual = rangesAreEqual;\r\nexports.rotateBBox = rotateBBox;\r\nexports.roundValue = void 0;\r\nexports.setCanvasValues = setCanvasValues;\r\nexports.unique = void 0;\r\nexports.updatePanesCanvases = updatePanesCanvases;\r\nexports.valueOf = valueOf;\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _math = require(\"../../core/utils/math\");\r\nvar _date = _interopRequireDefault(require(\"../../core/utils/date\"));\r\nvar _color = _interopRequireDefault(require(\"../../color\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar PI = Math.PI,\r\n LN10 = Math.LN10,\r\n abs = Math.abs,\r\n log = Math.log,\r\n floor = Math.floor,\r\n ceil = Math.ceil,\r\n pow = Math.pow,\r\n sqrt = Math.sqrt,\r\n atan2 = Math.atan2;\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 = _date.default.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\nvar numDefsSvgElements = 1;\r\nvar PANE_PADDING = 10;\r\nexports.PANE_PADDING = PANE_PADDING;\r\nvar getLog = function(value, base) {\r\n if (!value) {\r\n return _NaN\r\n }\r\n return log(value) / log(base)\r\n};\r\nexports.getLog = getLog;\r\nvar getAdjustedLog10 = function(value) {\r\n return (0, _math.adjust)(getLog(value, 10))\r\n};\r\nexports.getAdjustedLog10 = getAdjustedLog10;\r\nvar raiseTo = function(power, base) {\r\n return pow(base, power)\r\n};\r\nexports.raiseTo = raiseTo;\r\nvar normalizeAngle = function(angle) {\r\n return (angle % 360 + 360) % 360\r\n};\r\nexports.normalizeAngle = normalizeAngle;\r\nvar convertAngleToRendererSpace = function(angle) {\r\n return 90 - angle\r\n};\r\nexports.convertAngleToRendererSpace = convertAngleToRendererSpace;\r\nvar degreesToRadians = function(value) {\r\n return PI * value / 180\r\n};\r\nexports.degreesToRadians = degreesToRadians;\r\nvar 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\nexports.getCosAndSin = getCosAndSin;\r\nvar DECIMAL_ORDER_THRESHOLD = 1e-14;\r\nvar 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\nexports.getDistance = getDistance;\r\nvar 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\nexports.getDecimalOrder = getDecimalOrder;\r\nvar 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\nexports.getAppropriateFormat = getAppropriateFormat;\r\nvar roundValue = function(value, precision) {\r\n if (precision > 20) {\r\n precision = 20\r\n }\r\n if ((0, _type.isNumeric)(value)) {\r\n if ((0, _type.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\nexports.roundValue = roundValue;\r\nvar getPower = function(value) {\r\n return value.toExponential().split(\"e\")[1]\r\n};\r\nexports.getPower = getPower;\r\n\r\nfunction 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, (function(key) {\r\n return object[key] ? object[key] : null\r\n }))\r\n}\r\n\r\nfunction decreaseFields(object, keys, eachDecrease, decrease) {\r\n var dec = decrease;\r\n (0, _iterator.each)(keys, (function(_, 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\n\r\nfunction normalizeEnum(value) {\r\n return String(value).toLowerCase()\r\n}\r\n\r\nfunction 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\n\r\nfunction 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\n\r\nfunction 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\nvar 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\nexports.decreaseGaps = decreaseGaps;\r\nvar parseScalar = function(value, defaultValue) {\r\n return void 0 !== value ? value : defaultValue\r\n};\r\nexports.parseScalar = parseScalar;\r\nvar 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\nexports.enumParser = enumParser;\r\nvar patchFontOptions = function(options) {\r\n var fontOptions = {};\r\n (0, _iterator.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.default(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\nexports.patchFontOptions = patchFontOptions;\r\n\r\nfunction convertPolarToXY(centerCoords, startAngle, angle, radius) {\r\n var normalizedRadius = radius > 0 ? radius : 0;\r\n angle = (0, _type.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\nvar 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\nexports.convertXYToPolar = convertXYToPolar;\r\nvar processSeriesTemplate = function(seriesTemplate, items) {\r\n var customizeSeries = (0, _type.isFunction)(seriesTemplate.customizeSeries) ? seriesTemplate.customizeSeries : _common.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 (0, _extend.extend)(group, customizeSeries.call(null, group.name))\r\n }))\r\n};\r\nexports.processSeriesTemplate = processSeriesTemplate;\r\nvar getCategoriesInfo = function(categories, startValue, endValue) {\r\n if (0 === categories.length) {\r\n return {\r\n categories: []\r\n }\r\n }\r\n startValue = (0, _type.isDefined)(startValue) ? startValue : categories[0];\r\n endValue = (0, _type.isDefined)(endValue) ? endValue : categories[categories.length - 1];\r\n var categoriesValue = map(categories, (function(category) {\r\n return null === category || void 0 === category ? void 0 : category.valueOf()\r\n }));\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\nexports.getCategoriesInfo = getCategoriesInfo;\r\n\r\nfunction isRelativeHeightPane(pane) {\r\n return !(pane.unit % 2)\r\n}\r\n\r\nfunction normalizePanesHeight(panes) {\r\n panes.forEach((function(pane) {\r\n var height = pane.height;\r\n var unit = 0;\r\n var parsedHeight = parseFloat(height) || void 0;\r\n if ((0, _type.isString)(height) && height.indexOf(\"px\") > -1 || (0, _type.isNumeric)(height) && height > 1) {\r\n parsedHeight = _round(parsedHeight);\r\n unit = 1\r\n }\r\n if (!unit && parsedHeight) {\r\n if ((0, _type.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((function(prev, next) {\r\n return prev + (next.height || 0)\r\n }), 0);\r\n var weightHeightCount = relativeHeightPanes.length;\r\n var emptyHeightPanes = relativeHeightPanes.filter((function(pane) {\r\n return !pane.height\r\n }));\r\n var emptyHeightCount = emptyHeightPanes.length;\r\n if (weightSum < 1 && emptyHeightCount) {\r\n emptyHeightPanes.forEach((function(pane) {\r\n return pane.height = (1 - weightSum) / emptyHeightCount\r\n }))\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((function(pane) {\r\n return pane.height\r\n })).forEach((function(pane) {\r\n return pane.height *= (weightSum - emptyWeightSum) / weightSum\r\n }));\r\n emptyHeightPanes.forEach((function(pane) {\r\n return pane.height = weightForEmpty\r\n }))\r\n }\r\n relativeHeightPanes.forEach((function(pane) {\r\n return pane.height *= 1 / weightSum\r\n }))\r\n }\r\n}\r\n\r\nfunction 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((function(prev, cur) {\r\n return prev + (!isRelativeHeightPane(cur) ? cur.height : 0)\r\n }), 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((function(pane) {\r\n var calcLength = !isRelativeHeightPane(pane) ? pane.height : _round(pane.height * usefulSpace);\r\n pane.canvas = pane.canvas || {};\r\n (0, _extend.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\nvar 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\nexports.unique = unique;\r\nvar 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\nexports.getVerticallyShiftedAngularCoords = getVerticallyShiftedAngularCoords;\r\n\r\nfunction 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\n\r\nfunction 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\n\r\nfunction normalizeArcParams(x, y, innerRadius, outerRadius, 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, Math.min(outerRadius, innerRadius), Math.max(outerRadius, innerRadius), Math.cos(startAngle), Math.sin(startAngle), Math.cos(endAngle), Math.sin(endAngle), isCircle, floor(abs(endAngle - startAngle) / PI) % 2 ? \"1\" : \"0\", noArc]\r\n}\r\n\r\nfunction convertVisualRangeObject(visualRange, convertToVisualRange) {\r\n if (convertToVisualRange) {\r\n return visualRange\r\n }\r\n return [visualRange.startValue, visualRange.endValue]\r\n}\r\n\r\nfunction 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\n\r\nfunction adjustVisualRange(options, visualRange, wholeRange, dataRange) {\r\n var minDefined = (0, _type.isDefined)(visualRange.startValue);\r\n var maxDefined = (0, _type.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 && !(0, _type.isDefined)(min) && !(0, _type.isDefined)(max)) {\r\n return {\r\n startValue: min,\r\n endValue: max\r\n }\r\n }\r\n if ((0, _type.isDefined)(rangeLength)) {\r\n if (nonDiscrete) {\r\n if (\"datetime\" === options.dataType && !(0, _type.isNumeric)(rangeLength)) {\r\n rangeLength = dateToMilliseconds(rangeLength)\r\n }\r\n if (maxDefined && !minDefined || !maxDefined && !minDefined) {\r\n (0, _type.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 (0, _type.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 ((0, _type.isDefined)(wholeRange.max) && max > wholeRange.max) {\r\n max = wholeRange.max\r\n }\r\n if ((0, _type.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\n\r\nfunction 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 (0, _math.adjust)((0, _math.sign)(value) * transformValue, Number(pow(base, linearThreshold - 1).toFixed(abs(linearThreshold))))\r\n}\r\n\r\nfunction 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 (0, _math.adjust)((0, _math.sign)(value) * transformValue, Number(pow(base, linearThreshold).toFixed(abs(linearThreshold))))\r\n}\r\n\r\nfunction rangesAreEqual(range, rangeFromOptions) {\r\n if (Array.isArray(rangeFromOptions)) {\r\n return range.length === rangeFromOptions.length && range.every((function(item, i) {\r\n return valueOf(item) === valueOf(rangeFromOptions[i])\r\n }))\r\n } else {\r\n return valueOf(range.startValue) === valueOf(rangeFromOptions.startValue) && valueOf(range.endValue) === valueOf(rangeFromOptions.endValue)\r\n }\r\n}\r\n\r\nfunction valueOf(value) {\r\n return value && value.valueOf()\r\n}\r\n\r\nfunction pointInCanvas(canvas, x, y) {\r\n return x >= canvas.left && x <= canvas.right && y >= canvas.top && y <= canvas.bottom\r\n}\r\nvar getNextDefsSvgId = function() {\r\n return \"DevExpress_\".concat(numDefsSvgElements++)\r\n};\r\nexports.getNextDefsSvgId = getNextDefsSvgId;\r\n\r\nfunction extractColor(color, isBase) {\r\n if ((0, _type.isString)(color) || !color) {\r\n return color\r\n } else if (isBase) {\r\n return color.base\r\n } else {\r\n return color.fillId || color.base\r\n }\r\n}\r\n","/**\r\n * DevExtreme (cjs/viz/export.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _export = require(\"./core/export\");\r\nObject.keys(_export).forEach((function(key) {\r\n if (\"default\" === key || \"__esModule\" === key) {\r\n return\r\n }\r\n if (key in exports && exports[key] === _export[key]) {\r\n return\r\n }\r\n Object.defineProperty(exports, key, {\r\n enumerable: true,\r\n get: function() {\r\n return _export[key]\r\n }\r\n })\r\n}));\r\n","/**\r\n * DevExtreme (cjs/viz/funnel.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _funnel = _interopRequireDefault(require(\"./funnel/funnel\"));\r\nvar _label = require(\"./funnel/label\");\r\nvar _export = require(\"./core/export\");\r\nvar _title = require(\"./core/title\");\r\nvar _legend = require(\"./components/legend\");\r\nvar _tracker = require(\"./funnel/tracker\");\r\nvar _tooltip = require(\"./funnel/tooltip\");\r\nvar _loading_indicator = require(\"./core/loading_indicator\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n_funnel.default.addPlugin(_label.plugin);\r\n_funnel.default.addPlugin(_export.plugin);\r\n_funnel.default.addPlugin(_title.plugin);\r\n_funnel.default.addPlugin(_legend.plugin);\r\n_funnel.default.addPlugin(_tracker.plugin);\r\n_funnel.default.addPlugin(_tooltip.plugin);\r\n_funnel.default.addPlugin(_loading_indicator.plugin);\r\nvar _default = _funnel.default;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/viz/funnel/funnel.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _tiling = require(\"./tiling\");\r\nvar _tiling2 = _interopRequireDefault(require(\"./tiling.funnel\"));\r\nvar _tiling3 = _interopRequireDefault(require(\"./tiling.pyramid\"));\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _base_widget = _interopRequireDefault(require(\"../core/base_widget\"));\r\nvar _component_registrator = _interopRequireDefault(require(\"../../core/component_registrator\"));\r\nvar _item = _interopRequireDefault(require(\"./item\"));\r\nvar _data_source = require(\"../core/data_source\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar NODES_CREATE_CHANGE = \"NODES_CREATE\";\r\n(0, _tiling.addAlgorithm)(\"dynamicslope\", _tiling2.default, true);\r\n(0, _tiling.addAlgorithm)(\"dynamicheight\", _tiling3.default);\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 = _base_widget.default.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: _common.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 = (0, _tiling.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.default(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.initDefsElements();\r\n that._change([\"TILING\", \"DRAWN\"])\r\n },\r\n _showTooltip: _common.noop,\r\n hideTooltip: _common.noop,\r\n getAllItems: function() {\r\n return this._items.slice()\r\n },\r\n _getLegendData: function() {\r\n return this._items.map((function(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\n(0, _component_registrator.default)(\"dxFunnel\", dxFunnel);\r\nvar _default = dxFunnel;\r\nexports.default = _default;\r\ndxFunnel.addPlugin(_data_source.plugin);\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/viz/funnel/item.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _type = require(\"../../core/utils/type\");\r\nvar states = [\"normal\", \"hover\", \"selection\", \"selection\"];\r\n\r\nfunction parseStyles(color, style, baseStyle) {\r\n var border = style.border;\r\n var baseBorder = baseStyle.border;\r\n var borderVisible = (0, _type.isDefined)(border.visible) ? border.visible : baseBorder.visible;\r\n var borderWidth = (0, _type.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\nvar _default = Item;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/viz/funnel/label.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.plugin = void 0;\r\nvar _label = require(\"../series/points/label\");\r\nvar _utils = require(\"../core/utils\");\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _common = require(\"../../core/utils/common\");\r\n\r\nfunction _slicedToArray(arr, i) {\r\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest()\r\n}\r\n\r\nfunction _nonIterableRest() {\r\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _iterableToArrayLimit(arr, i) {\r\n var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"];\r\n if (null != _i) {\r\n var _s, _e, _x, _r, _arr = [],\r\n _n = !0,\r\n _d = !1;\r\n try {\r\n if (_x = (_i = _i.call(arr)).next, 0 === i) {\r\n if (Object(_i) !== _i) {\r\n return\r\n }\r\n _n = !1\r\n } else {\r\n for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) {}\r\n }\r\n } catch (err) {\r\n _d = !0, _e = err\r\n } finally {\r\n try {\r\n if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) {\r\n return\r\n }\r\n } finally {\r\n if (_d) {\r\n throw _e\r\n }\r\n }\r\n }\r\n return _arr\r\n }\r\n}\r\n\r\nfunction _arrayWithHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return arr\r\n }\r\n}\r\n\r\nfunction _toConsumableArray(arr) {\r\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread()\r\n}\r\n\r\nfunction _nonIterableSpread() {\r\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _unsupportedIterableToArray(o, minLen) {\r\n if (!o) {\r\n return\r\n }\r\n if (\"string\" === typeof o) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n var n = Object.prototype.toString.call(o).slice(8, -1);\r\n if (\"Object\" === n && o.constructor) {\r\n n = o.constructor.name\r\n }\r\n if (\"Map\" === n || \"Set\" === n) {\r\n return Array.from(o)\r\n }\r\n if (\"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n}\r\n\r\nfunction _iterableToArray(iter) {\r\n if (\"undefined\" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter[\"@@iterator\"]) {\r\n return Array.from(iter)\r\n }\r\n}\r\n\r\nfunction _arrayWithoutHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return _arrayLikeToArray(arr)\r\n }\r\n}\r\n\r\nfunction _arrayLikeToArray(arr, len) {\r\n if (null == len || len > arr.length) {\r\n len = arr.length\r\n }\r\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\r\n arr2[i] = arr[i]\r\n }\r\n return arr2\r\n}\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 = (0, _utils.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 = (0, _utils.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 _toConsumableArray(Array(bBox.height + 1)).map((function(_, i) {\r\n return [x, y + i]\r\n })).concat(_toConsumableArray(Array(bBox.height + 1)).map((function(_, i) {\r\n return [x1, y + i]\r\n })))\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 = (0, _extend.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\" === (0, _utils.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((function(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((function(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\nvar plugin = {\r\n name: \"lables\",\r\n init: _common.noop,\r\n dispose: _common.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 ((0, _utils.normalizeEnum)(\"none\" !== this._getOption(\"resolveLabelOverlapping\", true))) {\r\n this._labels.forEach((function(l) {\r\n return !l.isVisible() && l.draw(true)\r\n }))\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 ((0, _utils.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: function() {\r\n var that = this;\r\n var resolveLabelOverlapping = (0, _utils.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((function(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((function(label) {\r\n return label.isVisible()\r\n })).reduce((function(_ref, label, index, labels) {\r\n var _ref2 = _slicedToArray(_ref, 2),\r\n height = _ref2[0],\r\n emptySpace = _ref2[1];\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.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((function(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\nexports.plugin = plugin;\r\n","/**\r\n * DevExtreme (cjs/viz/funnel/tiling.funnel.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar CENTER = .5;\r\nvar _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\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/viz/funnel/tiling.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.addAlgorithm = addAlgorithm;\r\nexports.getAlgorithm = getAlgorithm;\r\nvar _utils = require(\"../core/utils\");\r\nvar algorithms = {};\r\nvar defaultAlgorithm;\r\n\r\nfunction getAlgorithm(name) {\r\n return algorithms[(0, _utils.normalizeEnum)(name)] || defaultAlgorithm\r\n}\r\n\r\nfunction 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 (cjs/viz/funnel/tiling.pyramid.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar CENTER = .5;\r\nvar LEFTCORNER = 0;\r\nvar RIGHTCORNER = 1;\r\nvar _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\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/viz/funnel/tooltip.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.plugin = void 0;\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _tooltip = require(\"../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\nvar plugin = {\r\n name: \"funnel-tooltip\",\r\n init: _common.noop,\r\n dispose: _common.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 = function(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(_tooltip.plugin)\r\n }\r\n};\r\nexports.plugin = plugin;\r\n","/**\r\n * DevExtreme (cjs/viz/funnel/tracker.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.plugin = void 0;\r\nvar _funnel = _interopRequireDefault(require(\"./funnel\"));\r\nvar _tracker = require(\"../components/tracker\");\r\nvar _type = require(\"../../core/utils/type\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar DATA_KEY_BASE = \"__funnel_data_\";\r\nvar dataKeyModifier = 0;\r\nvar proto = _funnel.default.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\nvar 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.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 ((0, _type.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\nexports.plugin = plugin;\r\n","/**\r\n * DevExtreme (cjs/viz/gauges/bar_gauge.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.dxBarGauge = void 0;\r\nvar _component_registrator = _interopRequireDefault(require(\"../../core/component_registrator\"));\r\nvar _object = require(\"../../core/utils/object\");\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _base_chart = require(\"../chart_components/base_chart\");\r\nvar _extend2 = require(\"../../core/utils/extend\");\r\nvar _utils = require(\"../core/utils\");\r\nvar _base_gauge = require(\"./base_gauge\");\r\nvar _circular_gauge = _interopRequireDefault(require(\"./circular_gauge\"));\r\nvar _legend = require(\"../components/legend\");\r\nvar _center_template = require(\"../core/center_template\");\r\nvar _math = require(\"../../core/utils/math\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\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\nvar _getSampleText = _base_gauge.getSampleText;\r\nvar _formatValue = _base_gauge.formatValue;\r\nvar _compareArrays = _base_gauge.compareArrays;\r\nvar _isArray = Array.isArray;\r\nvar _convertAngleToRendererSpace = _utils.convertAngleToRendererSpace;\r\nvar _getCosAndSin = _utils.getCosAndSin;\r\nvar _patchFontOptions = _utils.patchFontOptions;\r\nvar _Number = Number;\r\nvar _isFinite = isFinite;\r\nvar _noop = _common.noop;\r\nvar _extend = _extend2.extend;\r\nvar ARC_COORD_PREC = 5;\r\nvar OPTION_VALUES = \"values\";\r\nvar BarWrapper;\r\nvar dxBarGauge = _base_gauge.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((function(bar) {\r\n return bar.endAnimation()\r\n }));\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: _circular_gauge.default.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 _circular_gauge.default.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 _getCenter: function() {\r\n return {\r\n x: this._context.x,\r\n y: this._context.y\r\n }\r\n },\r\n _updateBars: function() {\r\n this._bars.forEach((function(bar) {\r\n return bar.applyValue()\r\n }));\r\n this._checkOverlap()\r\n },\r\n _checkOverlap: function() {\r\n var that = this;\r\n var overlapStrategy = (0, _utils.normalizeEnum)(that._getOption(\"resolveLabelOverlapping\", true));\r\n\r\n function shiftFunction(box, length) {\r\n return (0, _utils.getVerticallyShiftedAngularCoords)(box, -length, that._context)\r\n }\r\n if (\"none\" === overlapStrategy) {\r\n return\r\n }\r\n if (\"shift\" === overlapStrategy) {\r\n var newBars = that._dividePoints();\r\n _base_chart.overlapping.resolveLabelOverlappingInOneDirection(newBars.left, that._canvas, false, false, shiftFunction);\r\n _base_chart.overlapping.resolveLabelOverlappingInOneDirection(newBars.right, that._canvas, false, false, shiftFunction);\r\n that._clearLabelsCrossTitle();\r\n that._drawConnector()\r\n } else {\r\n that._clearOverlappingLabels()\r\n }\r\n },\r\n _drawConnector: function() {\r\n var that = this;\r\n var bars = that._bars;\r\n var _that$_getOption = that._getOption(\"label\"),\r\n connectorWidth = _that$_getOption.connectorWidth;\r\n bars.forEach((function(bar) {\r\n if (!bar._isLabelShifted) {\r\n return\r\n }\r\n var x = bar._bar.attr(\"x\");\r\n var y = bar._bar.attr(\"y\");\r\n var innerRadius = bar._bar.attr(\"innerRadius\");\r\n var outerRadius = bar._bar.attr(\"outerRadius\");\r\n var startAngle = bar._bar.attr(\"startAngle\");\r\n var endAngle = bar._bar.attr(\"endAngle\");\r\n var coordStart = getStartCoordsArc.apply(null, (0, _utils.normalizeArcParams)(x, y, innerRadius, outerRadius, startAngle, endAngle));\r\n var _getCosAndSin2 = _getCosAndSin(bar._angle),\r\n cos = _getCosAndSin2.cos,\r\n sin = _getCosAndSin2.sin;\r\n var xStart = coordStart.x - sin * connectorWidth / 2 - cos;\r\n var yStart = coordStart.y - cos * connectorWidth / 2 + sin;\r\n var box = bar._text.getBBox();\r\n var lastCoords = bar._text._lastCoords;\r\n var indentFromLabel = that._context.textWidth / 2;\r\n var originalXLabelCoord = box.x + box.width / 2 + lastCoords.x;\r\n var originalPoints = [xStart, yStart, originalXLabelCoord, box.y + lastCoords.y];\r\n if (bar._angle > 90) {\r\n originalPoints[2] += indentFromLabel\r\n } else {\r\n originalPoints[2] -= indentFromLabel\r\n }\r\n if (bar._angle <= 180 && bar._angle > 0) {\r\n originalPoints[3] += box.height\r\n }\r\n if (connectorWidth % 2) {\r\n var xDeviation = -sin / 2;\r\n var yDeviation = -cos / 2;\r\n if (bar._angle > 180) {\r\n originalPoints[0] -= xDeviation;\r\n originalPoints[1] -= yDeviation\r\n } else if (bar._angle > 0 && bar._angle <= 90) {\r\n originalPoints[0] += xDeviation;\r\n originalPoints[1] += yDeviation\r\n }\r\n }\r\n var points = originalPoints.map((function(coordinate) {\r\n return (0, _math.roundFloatPart)(coordinate, 4)\r\n }));\r\n bar._line.attr({\r\n points: points\r\n });\r\n bar._line.rotate(0);\r\n bar._isLabelShifted = false\r\n }))\r\n },\r\n _dividePoints: function() {\r\n var bars = this._bars;\r\n return bars.reduce((function(stackBars, bar) {\r\n var angle = (0, _utils.normalizeAngle)(bar._angle);\r\n var isRightSide = angle <= 90 || angle >= 270;\r\n bar._text._lastCoords = {\r\n x: 0,\r\n y: 0\r\n };\r\n var barToExtend = isRightSide ? stackBars.right : stackBars.left;\r\n barToExtend.push({\r\n series: {\r\n isStackedSeries: function() {\r\n return false\r\n },\r\n isFullStackedSeries: function() {\r\n return false\r\n }\r\n },\r\n getLabels: function() {\r\n return [{\r\n isVisible: function() {\r\n return true\r\n },\r\n getBoundingRect: function() {\r\n var _bar$_text$getBBox = bar._text.getBBox(),\r\n height = _bar$_text$getBBox.height,\r\n width = _bar$_text$getBBox.width,\r\n x = _bar$_text$getBBox.x,\r\n y = _bar$_text$getBBox.y;\r\n var lastCoords = bar._text._lastCoords;\r\n return {\r\n x: x + lastCoords.x,\r\n y: y + lastCoords.y,\r\n width: width,\r\n height: height\r\n }\r\n },\r\n shift: function(x, y) {\r\n var box = bar._text.getBBox();\r\n bar._text._lastCoords = {\r\n x: x - box.x,\r\n y: y - box.y\r\n };\r\n bar._text.attr({\r\n translateX: x - box.x,\r\n translateY: y - box.y\r\n });\r\n bar._isLabelShifted = true\r\n },\r\n draw: function() {\r\n return bar.hideLabel()\r\n },\r\n getData: function() {\r\n return {\r\n value: bar.getValue()\r\n }\r\n },\r\n hideInsideLabel: function() {\r\n return false\r\n }\r\n }]\r\n }\r\n });\r\n return stackBars\r\n }), {\r\n left: [],\r\n right: []\r\n })\r\n },\r\n _clearOverlappingLabels: function() {\r\n var bars = this._bars;\r\n var currentIndex = 0;\r\n var nextIndex = 1;\r\n var sortedBars = bars.concat().sort((function(a, b) {\r\n return a.getValue() - b.getValue()\r\n }));\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 _clearLabelsCrossTitle: function() {\r\n var bars = this._bars;\r\n var titleCoords = this._title.getLayoutOptions() || {\r\n x: 0,\r\n y: 0,\r\n height: 0,\r\n width: 0\r\n };\r\n var minY = titleCoords.y + titleCoords.height;\r\n bars.forEach((function(bar) {\r\n var box = bar._text.getBBox();\r\n var lastCoords = bar._text._lastCoords;\r\n if (minY > box.y + lastCoords.y) {\r\n bar.hideLabel()\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: function() {\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((function(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: (0, _object.clone)(_base_gauge.BaseGauge.prototype._factory),\r\n _optionChangesOrder: [\"VALUES\", \"NODES\"],\r\n _initialChanges: [\"VALUES\"],\r\n _change_NODES: function() {\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: function() {\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((function(b) {\r\n return {\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\n});\r\nexports.dxBarGauge = dxBarGauge;\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: function() {\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: function(_ref) {\r\n var color = _ref.color,\r\n value = _ref.value;\r\n this._color = color;\r\n this._value = value\r\n },\r\n hide: function() {\r\n this._visible = false\r\n },\r\n getColor: function() {\r\n return this._color\r\n },\r\n getValue: function() {\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\n\r\nfunction getStartCoordsArc(x, y, innerR, outerR, startAngleCos, startAngleSin) {\r\n return {\r\n x: (x + outerR * startAngleCos).toFixed(ARC_COORD_PREC),\r\n y: (y - outerR * startAngleSin).toFixed(ARC_COORD_PREC)\r\n }\r\n}(0, _component_registrator.default)(\"dxBarGauge\", dxBarGauge);\r\ndxBarGauge.addPlugin(_legend.plugin);\r\ndxBarGauge.addPlugin(_center_template.plugins.gauge);\r\n","/**\r\n * DevExtreme (cjs/viz/gauges/base_gauge.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.BaseGauge = void 0;\r\nexports.compareArrays = compareArrays;\r\nexports.getSampleText = exports.formatValue = void 0;\r\nvar _utils = require(\"../core/utils\");\r\nvar _extend2 = require(\"../../core/utils/extend\");\r\nvar _translator1d = require(\"../translators/translator1d\");\r\nvar _base_widget = _interopRequireDefault(require(\"../core/base_widget\"));\r\nvar _theme_manager = _interopRequireDefault(require(\"./theme_manager\"));\r\nvar _tracker = _interopRequireDefault(require(\"./tracker\"));\r\nvar _format_helper = _interopRequireDefault(require(\"../../format_helper\"));\r\nvar _export = require(\"../core/export\");\r\nvar _title = require(\"../core/title\");\r\nvar _tooltip = require(\"../core/tooltip\");\r\nvar _loading_indicator = require(\"../core/loading_indicator\");\r\nvar _common = require(\"../../core/utils/common\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar _Number = Number;\r\nvar _extend = _extend2.extend;\r\nvar _format = _format_helper.default.format;\r\nvar BaseGauge = _base_widget.default.inherit({\r\n _rootClassPrefix: \"dxg\",\r\n _themeSection: \"gauge\",\r\n _createThemeManager: function() {\r\n return new _theme_manager.default.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._renderGraphicObjects();\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 _updateExtraElements: _common.noop,\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 = (0, _utils.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.Translator1D\r\n },\r\n createTracker: function(parameters) {\r\n return new _tracker.default(parameters)\r\n }\r\n }\r\n});\r\nexports.BaseGauge = BaseGauge;\r\nvar 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\nexports.formatValue = formatValue;\r\nvar 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\nexports.getSampleText = getSampleText;\r\n\r\nfunction 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(_export.plugin);\r\nBaseGauge.addPlugin(_title.plugin);\r\nBaseGauge.addPlugin(_tooltip.plugin);\r\nBaseGauge.addPlugin(_loading_indicator.plugin);\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 (cjs/viz/gauges/base_indicators.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.BaseTextCloudMarker = exports.BaseRangeBar = exports.BaseIndicator = exports.BaseElement = void 0;\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _base_gauge = require(\"./base_gauge\");\r\nvar _utils = require(\"../core/utils\");\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _class = _interopRequireDefault(require(\"../../core/class\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar _isFinite = isFinite;\r\nvar _Number = Number;\r\nvar _round = Math.round;\r\nvar _formatValue = _base_gauge.formatValue;\r\nvar _getSampleText = _base_gauge.getSampleText;\r\nvar BaseElement = _class.default.inherit({\r\n ctor: function(parameters) {\r\n var that = this;\r\n (0, _iterator.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 (0, _iterator.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\nexports.BaseElement = BaseElement;\r\nvar 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: _common.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: (0, _utils.extractColor)(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 (0, _extend.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\nexports.BaseIndicator = BaseIndicator;\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\nvar 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((0, _utils.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((0, _utils.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: function(type) {\r\n return type\r\n }\r\n});\r\nexports.BaseTextCloudMarker = BaseTextCloudMarker;\r\nvar 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((0, _utils.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 = (0, _extend.extend)({}, font, {\r\n color: options.color\r\n })\r\n }\r\n return (0, _utils.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\nexports.BaseRangeBar = BaseRangeBar;\r\n","/**\r\n * DevExtreme (cjs/viz/gauges/base_range_container.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _base_indicators = require(\"./base_indicators\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _utils = require(\"../core/utils\");\r\nvar _Number = Number;\r\nvar _isArray = Array.isArray;\r\nvar _isFinite = isFinite;\r\nvar BaseRangeContainer = _base_indicators.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 = (0, _utils.extractColor)(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((function(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: (0, _utils.extractColor)(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 (0, _iterator.each)(list, (function(_, item) {\r\n var paletteColor = palette.getNextColor();\r\n item.color = (0, _type.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 (0, _iterator.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 (0, _iterator.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 (0, _iterator.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 (0, _iterator.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 (0, _iterator.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 startValue = _ref.startValue,\r\n endValue = _ref.endValue;\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\nvar _default = BaseRangeContainer;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/viz/gauges/circular_gauge.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.default = void 0;\r\nvar _component_registrator = _interopRequireDefault(require(\"../../core/component_registrator\"));\r\nvar _object = require(\"../../core/utils/object\");\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _base_gauge = require(\"./base_gauge\");\r\nvar _common = require(\"./common\");\r\nvar _utils = require(\"../core/utils\");\r\nvar _center_template = require(\"../core/center_template\");\r\nvar circularIndicators = _interopRequireWildcard(require(\"./circular_indicators\"));\r\nvar _circular_range_container = _interopRequireDefault(require(\"./circular_range_container\"));\r\n\r\nfunction _getRequireWildcardCache(nodeInterop) {\r\n if (\"function\" !== typeof WeakMap) {\r\n return null\r\n }\r\n var cacheBabelInterop = new WeakMap;\r\n var cacheNodeInterop = new WeakMap;\r\n return (_getRequireWildcardCache = function(nodeInterop) {\r\n return nodeInterop ? cacheNodeInterop : cacheBabelInterop\r\n })(nodeInterop)\r\n}\r\n\r\nfunction _interopRequireWildcard(obj, nodeInterop) {\r\n if (!nodeInterop && obj && obj.__esModule) {\r\n return obj\r\n }\r\n if (null === obj || \"object\" !== _typeof(obj) && \"function\" !== typeof obj) {\r\n return {\r\n default: obj\r\n }\r\n }\r\n var cache = _getRequireWildcardCache(nodeInterop);\r\n if (cache && cache.has(obj)) {\r\n return cache.get(obj)\r\n }\r\n var newObj = {};\r\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\r\n for (var key in obj) {\r\n if (\"default\" !== key && Object.prototype.hasOwnProperty.call(obj, key)) {\r\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\r\n if (desc && (desc.get || desc.set)) {\r\n Object.defineProperty(newObj, key, desc)\r\n } else {\r\n newObj[key] = obj[key]\r\n }\r\n }\r\n }\r\n newObj.default = obj;\r\n if (cache) {\r\n cache.set(obj, newObj)\r\n }\r\n return newObj\r\n}\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar _isFinite = isFinite;\r\nvar _normalizeAngle = _utils.normalizeAngle;\r\nvar _getCosAndSin = _utils.getCosAndSin;\r\nvar _abs = Math.abs;\r\nvar _max = Math.max;\r\nvar _min = Math.min;\r\nvar _round = Math.round;\r\nvar _each = _iterator.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 = _common.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: function() {\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((0, _extend.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 _getCenter: function() {\r\n return this._getElementLayout()\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() {\r\n var offset = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 0;\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: (0, _object.clone)(_base_gauge.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 = (0, _extend.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 = (0, _common.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 = _circular_range_container.default;\r\n(0, _component_registrator.default)(\"dxCircularGauge\", dxCircularGauge);\r\ndxCircularGauge.addPlugin(_center_template.plugins.gauge);\r\nvar _default = dxCircularGauge;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/viz/gauges/circular_indicators.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.twocolorneedle = exports.triangleneedle = exports.trianglemarker = exports.textcloud = exports.rectangleneedle = exports.rangebar = exports._default = void 0;\r\nvar _base_indicators = require(\"./base_indicators\");\r\nvar _utils = require(\"../core/utils\");\r\nvar _Number = Number;\r\nvar _getCosAndSin = _utils.getCosAndSin;\r\nvar _convertAngleToRendererSpace = _utils.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 = _base_indicators.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\nexports.rectangleneedle = exports._default = rectangleNeedle;\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\nexports.triangleneedle = triangleNeedle;\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\nexports.twocolorneedle = twoColorNeedle;\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: function(layout) {\r\n return true\r\n },\r\n resize: function(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\nexports.trianglemarker = triangleMarker;\r\nvar textCloud = _base_indicators.BaseTextCloudMarker.inherit({\r\n _isEnabled: function() {\r\n return true\r\n },\r\n _isVisible: function(layout) {\r\n return true\r\n },\r\n resize: function(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 = (0, _utils.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\nexports.textcloud = textCloud;\r\nvar rangeBar = _base_indicators.BaseRangeBar.inherit({\r\n _isEnabled: function() {\r\n return this._options.size > 0\r\n },\r\n _isVisible: function(layout) {\r\n return true\r\n },\r\n resize: function(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\nexports.rangebar = rangeBar;\r\n","/**\r\n * DevExtreme (cjs/viz/gauges/circular_range_container.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _base_range_container = _interopRequireDefault(require(\"./base_range_container\"));\r\nvar _utils = require(\"../core/utils\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar _Number = Number;\r\nvar _max = Math.max;\r\nvar CircularRangeContainer = _base_range_container.default.inherit({\r\n _processOptions: function() {\r\n this._inner = this._outer = 0;\r\n switch ((0, _utils.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\nvar _default = CircularRangeContainer;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/viz/gauges/common.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.createIndicatorCreator = createIndicatorCreator;\r\nexports.dxGauge = void 0;\r\nvar _base_gauge = require(\"./base_gauge\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _extend2 = require(\"../../core/utils/extend\");\r\nvar _base_axis = require(\"../axes/base_axis\");\r\nvar _utils = require(\"../core/utils\");\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _isArray = Array.isArray;\r\nvar _isFinite = isFinite;\r\nvar _Number = Number;\r\nvar _min = Math.min;\r\nvar _max = Math.max;\r\nvar _extend = _extend2.extend;\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 : (0, _type.isNumeric)(arg) ? [arg] : null\r\n}\r\nvar dxGauge = _base_gauge.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 _base_axis.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: function() {}\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 = (0, _type.isNumeric)(startValue) ? _Number(startValue) : (0, _type.isNumeric)(scaleOption.startValue) ? _Number(scaleOption.startValue) : 0;\r\n endValue = (0, _type.isNumeric)(endValue) ? _Number(endValue) : (0, _type.isNumeric)(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((0, _extend2.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 = (0, _utils.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((function(element) {\r\n return element.resize(that._getElementLayout(element.getOffset()))\r\n }));\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 = (0, _extend2.extend)(true, {}, that._themeManager.theme(\"scale\"), userOptions);\r\n scaleOptions.label.indentFromAxis = 0;\r\n scaleOptions.isHorizontal = !that._area.vertical;\r\n scaleOptions.forceUserTickInterval |= (0, _type.isDefined)(userOptions) && (0, _type.isDefined)(userOptions.tickInterval) && !(0, _type.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((0, _extend2.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 = (0, _utils.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 this._updateExtraElements();\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._updateExtraElements();\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 (!(0, _base_gauge.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\nexports.dxGauge = dxGauge;\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) ? (0, _utils.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 = _common.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((function(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((function(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((function(valueIndicator) {\r\n return valueIndicator.dispose()\r\n }));\r\n this._valueIndicators = null\r\n}\r\n\r\nfunction cleanValueIndicators_hardMode() {\r\n this._valueIndicators.forEach((function(valueIndicator) {\r\n return valueIndicator.clean()\r\n }))\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((function(indicator) {\r\n return indicator.dispose()\r\n }));\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((function(indicator) {\r\n return indicator.clean()\r\n }));\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 = (0, _type.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 = (0, _utils.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((function(indicator) {\r\n return indicator.resize(layout)\r\n }));\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((function(indicator, i) {\r\n return indicator.value(arg[i], _noAnimation)\r\n }))\r\n }\r\n return this\r\n }\r\n return (0, _utils.map)(this._indicators, (function(indicator) {\r\n return indicator.value()\r\n }))\r\n }\r\n};\r\n\r\nfunction createIndicatorCreator(indicators) {\r\n return function(parameters, type, _strict) {\r\n var indicatorType = indicators[(0, _utils.normalizeEnum)(type)] || !_strict && indicators._default;\r\n return indicatorType ? new indicatorType(parameters) : null\r\n }\r\n}\r\n","/**\r\n * DevExtreme (cjs/viz/gauges/linear_gauge.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.default = void 0;\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _component_registrator = _interopRequireDefault(require(\"../../core/component_registrator\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _object = require(\"../../core/utils/object\");\r\nvar _base_gauge = require(\"./base_gauge\");\r\nvar _common = require(\"./common\");\r\nvar _utils = require(\"../core/utils\");\r\nvar linearIndicators = _interopRequireWildcard(require(\"./linear_indicators\"));\r\nvar _linear_range_container = _interopRequireDefault(require(\"./linear_range_container\"));\r\n\r\nfunction _getRequireWildcardCache(nodeInterop) {\r\n if (\"function\" !== typeof WeakMap) {\r\n return null\r\n }\r\n var cacheBabelInterop = new WeakMap;\r\n var cacheNodeInterop = new WeakMap;\r\n return (_getRequireWildcardCache = function(nodeInterop) {\r\n return nodeInterop ? cacheNodeInterop : cacheBabelInterop\r\n })(nodeInterop)\r\n}\r\n\r\nfunction _interopRequireWildcard(obj, nodeInterop) {\r\n if (!nodeInterop && obj && obj.__esModule) {\r\n return obj\r\n }\r\n if (null === obj || \"object\" !== _typeof(obj) && \"function\" !== typeof obj) {\r\n return {\r\n default: obj\r\n }\r\n }\r\n var cache = _getRequireWildcardCache(nodeInterop);\r\n if (cache && cache.has(obj)) {\r\n return cache.get(obj)\r\n }\r\n var newObj = {};\r\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\r\n for (var key in obj) {\r\n if (\"default\" !== key && Object.prototype.hasOwnProperty.call(obj, key)) {\r\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\r\n if (desc && (desc.get || desc.set)) {\r\n Object.defineProperty(newObj, key, desc)\r\n } else {\r\n newObj[key] = obj[key]\r\n }\r\n }\r\n }\r\n newObj.default = obj;\r\n if (cache) {\r\n cache.set(obj, newObj)\r\n }\r\n return newObj\r\n}\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar _max = Math.max;\r\nvar _min = Math.min;\r\nvar _round = Math.round;\r\nvar dxLinearGauge = _common.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: function() {\r\n var options = this.callBase.apply(this, arguments);\r\n options.subTheme = \"_linear\";\r\n return options\r\n },\r\n _getInvertedState: function() {\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((0, _extend.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 = (0, _extend.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\" === (0, _utils.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 (0, _iterator.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: (0, _object.clone)(_base_gauge.BaseGauge.prototype._factory)\r\n});\r\n\r\nfunction selectRectBySizes(srcRect, sizes, margins) {\r\n var rect = (0, _extend.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 = (0, _common.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 = _linear_range_container.default;\r\n(0, _component_registrator.default)(\"dxLinearGauge\", dxLinearGauge);\r\nvar _default = dxLinearGauge;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/viz/gauges/linear_indicators.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.trianglemarker = exports.textcloud = exports.rhombus = exports.rectangle = exports.rangebar = exports.circle = exports._default = void 0;\r\nvar _base_indicators = require(\"./base_indicators\");\r\nvar _utils = require(\"../core/utils\");\r\nvar _Number = Number;\r\nvar SimpleIndicator = _base_indicators.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\nexports.rectangle = rectangle;\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\nexports.rhombus = rhombus;\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\nexports.circle = circle;\r\nvar triangleMarker = SimpleIndicator.inherit({\r\n _isEnabled: function() {\r\n this.vertical = this._options.vertical;\r\n this._inverted = this.vertical ? \"right\" === (0, _utils.normalizeEnum)(this._options.horizontalOrientation) : \"bottom\" === (0, _utils.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\nexports.trianglemarker = triangleMarker;\r\nvar textCloud = _base_indicators.BaseTextCloudMarker.inherit({\r\n _isEnabled: function() {\r\n this.vertical = this._options.vertical;\r\n this._inverted = this.vertical ? \"right\" === (0, _utils.normalizeEnum)(this._options.horizontalOrientation) : \"bottom\" === (0, _utils.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: function(type, _ref, _ref2) {\r\n var x = _ref.x,\r\n y = _ref.y;\r\n var width = _ref2.width,\r\n height = _ref2.height;\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\nexports.textcloud = textCloud;\r\nvar rangeBar = _base_indicators.BaseRangeBar.inherit({\r\n _isEnabled: function() {\r\n this.vertical = this._options.vertical;\r\n this._inverted = this.vertical ? \"right\" === (0, _utils.normalizeEnum)(this._options.horizontalOrientation) : \"bottom\" === (0, _utils.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\nexports.rangebar = exports._default = rangeBar;\r\n","/**\r\n * DevExtreme (cjs/viz/gauges/linear_range_container.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _base_range_container = _interopRequireDefault(require(\"./base_range_container\"));\r\nvar _utils = require(\"../core/utils\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar _Number = Number;\r\nvar _max = Math.max;\r\nvar LinearRangeContainer = _base_range_container.default.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 ((0, _utils.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 ((0, _utils.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\nvar _default = LinearRangeContainer;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/viz/gauges/theme_manager.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _extend2 = require(\"../../core/utils/extend\");\r\nvar _base_theme_manager = require(\"../core/base_theme_manager\");\r\nvar _extend = _extend2.extend;\r\nvar ThemeManager = _base_theme_manager.BaseThemeManager.inherit({\r\n ctor: function(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\nvar _default = {\r\n ThemeManager: ThemeManager\r\n};\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/viz/gauges/tracker.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _class = _interopRequireDefault(require(\"../../core/class\"));\r\nvar _dom_adapter = _interopRequireDefault(require(\"../../core/dom_adapter\"));\r\nvar _wheel = require(\"../../events/core/wheel\");\r\nvar _ready_callbacks = _interopRequireDefault(require(\"../../core/utils/ready_callbacks\"));\r\nvar _index = require(\"../../events/utils/index\");\r\nvar _pointer = _interopRequireDefault(require(\"../../events/pointer\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar EVENT_NS = \"gauge-tooltip\";\r\nvar TOOLTIP_HIDE_DELAY = 100;\r\nvar ready = _ready_callbacks.default.add;\r\nvar Tracker = _class.default.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 = function(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((0, _index.addNamespace)([_pointer.default.move], EVENT_NS), data, handleTooltipMouseOver).on((0, _index.addNamespace)([_pointer.default.out], EVENT_NS), data, handleTooltipMouseOut).on((0, _index.addNamespace)([_pointer.default.down], EVENT_NS), data, handleTooltipTouchStart).on((0, _index.addNamespace)([_pointer.default.up], EVENT_NS), data, handleTooltipTouchEnd).on((0, _index.addNamespace)([_wheel.name], 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 _events_engine.default.subscribeGlobal(_dom_adapter.default.getDocument(), (0, _index.addNamespace)([_pointer.default.down], EVENT_NS), handleDocumentTooltipTouchStart)\r\n}));\r\nvar _default = Tracker;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/viz/linear_gauge.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _linear_gauge = _interopRequireDefault(require(\"./gauges/linear_gauge\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar _default = _linear_gauge.default;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/viz/palette.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.createPalette = createPalette;\r\nexports.currentPalette = currentPalette;\r\nexports.generateColors = generateColors;\r\nexports.getAccentColor = getAccentColor;\r\nexports.getDiscretePalette = getDiscretePalette;\r\nexports.getGradientPalette = getGradientPalette;\r\nexports.getPalette = getPalette;\r\nexports.registerPalette = registerPalette;\r\nvar _utils = require(\"./core/utils\");\r\nvar _extend = require(\"../core/utils/extend\");\r\nvar _color = _interopRequireDefault(require(\"../color\"));\r\nvar _type = require(\"../core/utils/type\");\r\nvar _palettes;\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\n\r\nfunction _defineProperty(obj, key, value) {\r\n key = _toPropertyKey(key);\r\n if (key in obj) {\r\n Object.defineProperty(obj, key, {\r\n value: value,\r\n enumerable: true,\r\n configurable: true,\r\n writable: true\r\n })\r\n } else {\r\n obj[key] = value\r\n }\r\n return obj\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\nvar _floor = Math.floor;\r\nvar _ceil = Math.ceil;\r\nvar _isArray = Array.isArray;\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 = (_palettes = {}, _defineProperty(_palettes, 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}), _defineProperty(_palettes, \"office\", officePalette), _defineProperty(_palettes, \"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}), _defineProperty(_palettes, \"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}), _defineProperty(_palettes, \"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}), _defineProperty(_palettes, \"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}), _defineProperty(_palettes, \"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}), _defineProperty(_palettes, \"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}), _defineProperty(_palettes, \"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}), _defineProperty(_palettes, \"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}), _defineProperty(_palettes, \"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}), _defineProperty(_palettes, \"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}), _defineProperty(_palettes, \"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}), _defineProperty(_palettes, \"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}), _defineProperty(_palettes, \"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}), _palettes);\r\nvar currentPaletteName;\r\n\r\nfunction currentPalette(name) {\r\n if (void 0 === name) {\r\n return currentPaletteName || DEFAULT_PALETTE\r\n } else {\r\n name = (0, _utils.normalizeEnum)(name);\r\n currentPaletteName = name in palettes ? name : void 0\r\n }\r\n}\r\n\r\nfunction 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\n\r\nfunction 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 ((0, _type.isString)(palette)) {\r\n result = palettes[(0, _utils.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\n\r\nfunction 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 = (0, _utils.normalizeEnum)(name);\r\n (0, _extend.extend)(palettes[paletteName] = palettes[paletteName] || {}, item)\r\n }\r\n}\r\n\r\nfunction 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.default(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.default.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.default(c2[0]);\r\n color1 = new _color.default(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\n\r\nfunction createPalette(palette, parameters, themeDefaultPalette) {\r\n var paletteObj = {\r\n dispose: function() {\r\n this._extensionStrategy = null\r\n },\r\n getNextColor: function(count) {\r\n return this._extensionStrategy.getColor(this._currentColor++, count)\r\n },\r\n generateColors: function(count, parameters) {\r\n return this._extensionStrategy.generateColors(count, (parameters || {}).repeat)\r\n },\r\n reset: function() {\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.default(currentColor).alter(step);\r\n var lightness = getLightness(newColor);\r\n if (lightness > 200 || lightness < 55) {\r\n newColor = new _color.default(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\n\r\nfunction 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.default(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\n\r\nfunction 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.default(palette[0]);\r\n var color2 = new _color.default(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 (cjs/viz/pie_chart.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _consts = _interopRequireDefault(require(\"./components/consts\"));\r\nvar _utils = require(\"./core/utils\");\r\nvar _extend2 = require(\"../core/utils/extend\");\r\nvar _type = require(\"../core/utils/type\");\r\nvar _iterator = require(\"../core/utils/iterator\");\r\nvar _range = require(\"./translators/range\");\r\nvar _component_registrator = _interopRequireDefault(require(\"../core/component_registrator\"));\r\nvar _base_chart = require(\"./chart_components/base_chart\");\r\nvar _common = require(\"../core/utils/common\");\r\nvar _translator1d = require(\"./translators/translator1d\");\r\nvar _annotations = require(\"./core/annotations\");\r\nvar _center_template = require(\"./core/center_template\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar states = _consts.default.states;\r\nvar seriesSpacing = _consts.default.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 getLegendItemAction(points) {\r\n var state = NORMAL_STATE;\r\n points.forEach((function(point) {\r\n var _point$series;\r\n var seriesOptions = null === (_point$series = point.series) || void 0 === _point$series ? void 0 : _point$series.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 ((0, _type.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((function(li) {\r\n return li !== item\r\n }))\r\n }\r\n var pies = [];\r\n var timers = {};\r\n return {\r\n queue: function(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((function() {\r\n ! function(group, allPies) {\r\n var pies = allPies.filter((function(p) {\r\n return p._isVisible() && p.getSizeGroup() === group\r\n }));\r\n var minRadius = Math.min.apply(null, pies.map((function(p) {\r\n return p.getSizeGroupLayout().radius\r\n })));\r\n var minPie = pies.filter((function(p) {\r\n return p.getSizeGroupLayout().radius === minRadius\r\n }));\r\n pies.forEach((function(p) {\r\n return p.render({\r\n force: true,\r\n sizeGroupLayout: minPie.length ? minPie[0].getSizeGroupLayout() : {}\r\n })\r\n }))\r\n }(group, pies)\r\n }))\r\n },\r\n remove: function(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 = _base_chart.BaseChart.inherit({\r\n _themeSection: \"pie\",\r\n _layoutManagerOptions: function() {\r\n return (0, _extend2.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 _optionChangesMap: {\r\n diameter: \"REINIT\",\r\n minDiameter: \"REINIT\",\r\n sizeGroup: \"REINIT\"\r\n },\r\n _disposeCore: function() {\r\n pieSizeEqualizer.remove(this);\r\n this.callBase()\r\n },\r\n _groupSeries: function() {\r\n var series = this.series;\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: series[0] && series[0].getOptions()\r\n }\r\n },\r\n getArgumentAxis: function() {\r\n return null\r\n },\r\n _getValueAxis: function() {\r\n var translator = (new _translator1d.Translator1D).setCodomain(360, 0);\r\n return {\r\n getTranslator: function() {\r\n return translator\r\n },\r\n setBusinessRange: function(range) {\r\n translator.setDomain(range.min, range.max)\r\n }\r\n }\r\n },\r\n _populateBusinessRange: function() {\r\n this.series.map((function(series) {\r\n var range = new _range.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: function() {\r\n (0, _iterator.each)(this.series, (function(_, singleSeries) {\r\n singleSeries.arrangePoints()\r\n }))\r\n },\r\n _checkPaneName: function() {\r\n return true\r\n },\r\n _processSingleSeries: function(singleSeries) {\r\n this.callBase(singleSeries);\r\n singleSeries.arrangePoints()\r\n },\r\n _handleSeriesDataUpdated: function() {\r\n var maxPointCount = 0;\r\n this.series.forEach((function(s) {\r\n maxPointCount = Math.max(s.getPointsCount(), maxPointCount)\r\n }));\r\n this.series.forEach((function(s) {\r\n s.setMaxPointsCount(maxPointCount)\r\n }));\r\n this.callBase()\r\n },\r\n _getLegendOptions: function(item) {\r\n var legendItem = this.callBase(item);\r\n var legendData = legendItem.legendData;\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: function() {\r\n var that = this;\r\n var itemsByArgument = {};\r\n (that.series || []).forEach((function(series) {\r\n series.getPoints().forEach((function(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 (0, _iterator.each)(itemsByArgument, (function(_, points) {\r\n points.forEach((function(point, index) {\r\n if (0 === index) {\r\n items.push(that._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: function() {\r\n return [{\r\n canvas: this._canvas\r\n }]\r\n },\r\n _getLayoutSeries: function(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((function(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((function(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: function(series, sizeGroupLayout) {\r\n var canvas = this._canvas;\r\n var layout = this.layoutManager.applyEqualPieChartLayout(series, sizeGroupLayout);\r\n series.forEach((function(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: function(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 sizeGroupLayout = drawOptions.sizeGroupLayout;\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((function(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: function(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 _getCenter: function() {\r\n return this._center\r\n },\r\n getInnerRadius: function() {\r\n return this._innerRadius\r\n },\r\n _getLegendCallBack: function() {\r\n var that = this;\r\n var legend = this._legend;\r\n var items = this._getLegendTargets().map((function(i) {\r\n return i.legendData\r\n }));\r\n return function(target) {\r\n items.forEach((function(data) {\r\n var points = [];\r\n var callback = legend.getActionCallback({\r\n index: data.id\r\n });\r\n that.series.forEach((function(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: function(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: function(moveLabelsFromCenter) {\r\n return this.series.reduce((function(r, s) {\r\n return s.adjustLabels(moveLabelsFromCenter) || r\r\n }), false)\r\n },\r\n _applyExtraSettings: _common.noop,\r\n _resolveLabelOverlappingShift: function() {\r\n var that = this;\r\n var inverseDirection = \"anticlockwise\" === that.option(\"segmentsDirection\");\r\n var seriesByPosition = that.series.reduce((function(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 labelsOverlapped = resolve(seriesByPosition.inside.reduce((function(r, singleSeries) {\r\n return singleSeries.getVisiblePoints().reduce((function(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 }), shiftInColumnFunction) || labelsOverlapped\r\n }\r\n labelsOverlapped = seriesByPosition.columns.reduce((function(r, singleSeries) {\r\n return resolve(dividePoints(singleSeries), shiftInColumnFunction) || r\r\n }), labelsOverlapped);\r\n if (seriesByPosition.outside.length > 0) {\r\n labelsOverlapped = resolve(seriesByPosition.outside.reduce((function(r, singleSeries) {\r\n return dividePoints(singleSeries, r)\r\n }), null), (function(box, length) {\r\n return (0, _utils.getVerticallyShiftedAngularCoords)(box, -length, that._center)\r\n })) || labelsOverlapped\r\n }\r\n return labelsOverlapped;\r\n\r\n function dividePoints(series, points) {\r\n return series.getVisiblePoints().reduce((function(r, point) {\r\n var angle = (0, _utils.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\n function resolve(points, shiftCallback) {\r\n var overlapped;\r\n if (inverseDirection) {\r\n points.left.reverse();\r\n points.right.reverse()\r\n }\r\n overlapped = _base_chart.overlapping.resolveLabelOverlappingInOneDirection(points.left, that._canvas, false, false, shiftCallback);\r\n return _base_chart.overlapping.resolveLabelOverlappingInOneDirection(points.right, that._canvas, false, false, shiftCallback) || overlapped\r\n }\r\n\r\n function shiftInColumnFunction(box, length) {\r\n return {\r\n x: box.x,\r\n y: box.y - length\r\n }\r\n }\r\n },\r\n _setGeometry: function(_ref) {\r\n var x = _ref.centerX,\r\n y = _ref.centerY,\r\n radiusInner = _ref.radiusInner;\r\n this._center = {\r\n x: x,\r\n y: y\r\n };\r\n this._innerRadius = radiusInner\r\n },\r\n _disposeSeries: function(seriesIndex) {\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: _common.noop,\r\n _renderTrackers: _common.noop,\r\n _trackerType: \"PieTracker\",\r\n _createScrollBar: _common.noop,\r\n _updateAxesLayout: _common.noop,\r\n _applyClipRects: _common.noop,\r\n _appendAdditionalSeriesGroups: _common.noop,\r\n _prepareToRender: _common.noop,\r\n _isLegendInside: _common.noop,\r\n _renderAxes: _common.noop,\r\n _shrinkAxes: _common.noop,\r\n _isRotated: _common.noop,\r\n _seriesPopulatedHandlerCore: _common.noop,\r\n _reinitAxes: _common.noop,\r\n _correctAxes: _common.noop,\r\n _getExtraOptions: function() {\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: function() {\r\n return this._themeManager.getOptions(\"sizeGroup\")\r\n },\r\n getSizeGroupLayout: function() {\r\n return this._sizeGroupLayout || {}\r\n }\r\n});\r\n(0, _iterator.each)(OPTIONS_FOR_REFRESH_SERIES, (function(_, name) {\r\n dxPieChart.prototype._optionChangesMap[name] = \"REFRESH_SERIES_DATA_INIT\"\r\n}));\r\ndxPieChart.addPlugin(_center_template.plugins.pieChart);\r\ndxPieChart.addPlugin(_annotations.plugins.core);\r\ndxPieChart.addPlugin(_annotations.plugins.pieChart);\r\n(0, _component_registrator.default)(\"dxPieChart\", dxPieChart);\r\nvar _default = dxPieChart;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/viz/polar_chart.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _common = require(\"../core/utils/common\");\r\nvar _component_registrator = _interopRequireDefault(require(\"../core/component_registrator\"));\r\nvar _extend = require(\"../core/utils/extend\");\r\nvar _utils = require(\"./core/utils\");\r\nvar _advanced_chart = require(\"./chart_components/advanced_chart\");\r\nvar _type = require(\"../core/utils/type\");\r\nvar _annotations = require(\"./core/annotations\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar DEFAULT_PANE_NAME = \"default\";\r\nvar DOUBLE_PI_ANGLE = 360;\r\nvar dxPolarChart = _advanced_chart.AdvancedChart.inherit({\r\n _themeSection: \"polar\",\r\n _createPanes: function() {\r\n this.callBase();\r\n return [{\r\n name: DEFAULT_PANE_NAME\r\n }]\r\n },\r\n _checkPaneName: function() {\r\n return true\r\n },\r\n _getAxisRenderingOptions: function(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: function(append) {\r\n append()\r\n },\r\n _prepareAxisOptions: function(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) ? (0, _utils.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: function() {\r\n this._disposeAxes();\r\n this._requestChange([\"AXES_AND_PANES\"])\r\n },\r\n _getExtraOptions: function() {\r\n return {\r\n spiderWidget: this.option(\"useSpiderWeb\")\r\n }\r\n },\r\n _prepareToRender: function() {\r\n this._appendAxesGroups();\r\n return {}\r\n },\r\n _calcCanvas: function() {\r\n var canvas = (0, _extend.extend)({}, this._canvas);\r\n var argumentAxis = this.getArgumentAxis();\r\n var margins = argumentAxis.getMargins();\r\n Object.keys(margins).forEach((function(margin) {\r\n return 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: function(drawOptions) {\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: function() {\r\n return this._valueAxes[0]\r\n },\r\n _shrinkAxes: function(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: function() {\r\n return this.layoutManager.needMoreSpaceForPanesCanvas([{\r\n canvas: this.getArgumentAxis().getCanvas()\r\n }], this._isRotated())\r\n },\r\n _getLayoutTargets: function() {\r\n return [{\r\n canvas: this._canvas\r\n }]\r\n },\r\n _getSeriesForPane: function() {\r\n return this.series\r\n },\r\n _applyClipRects: function() {\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: function() {\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((function(s) {\r\n return s.areErrorBarsVisible()\r\n }))) {\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: function(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: function(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: function(angle) {\r\n return this.getArgumentAxis().getOptions().inverted ? DOUBLE_PI_ANGLE - angle : angle\r\n },\r\n getXYFromPolar: function(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 (!(0, _type.isDefined)(angle) && !(0, _type.isDefined)(radius) && !(0, _type.isDefined)(argument) && !(0, _type.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 ((0, _type.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 (!(0, _type.isDefined)(angle)) {\r\n argAngle = 0\r\n }\r\n if ((0, _type.isDefined)(value)) {\r\n translatedRadius = this.getValueAxis().getTranslator().translate(value)\r\n } else if (isFinite(radius)) {\r\n translatedRadius = radius\r\n } else if (!(0, _type.isDefined)(radius)) {\r\n translatedRadius = argAxis.getRadius()\r\n }\r\n if ((0, _type.isDefined)(argAngle) && (0, _type.isDefined)(translatedRadius)) {\r\n var coords = (0, _utils.convertPolarToXY)(argAxis.getCenter(), startAngle, argAngle, translatedRadius);\r\n (0, _extend.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: _common.noop,\r\n _createScrollBar: _common.noop,\r\n _isRotated: _common.noop,\r\n _getCrosshairOptions: _common.noop,\r\n _isLegendInside: _common.noop\r\n});\r\ndxPolarChart.addPlugin(_annotations.plugins.core);\r\ndxPolarChart.addPlugin(_annotations.plugins.polarChart);\r\n(0, _component_registrator.default)(\"dxPolarChart\", dxPolarChart);\r\nvar _default = dxPolarChart;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/viz/range_selector.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _range_selector = _interopRequireDefault(require(\"./range_selector/range_selector\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar _default = _range_selector.default;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/viz/range_selector/common.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.utils = exports.formatValue = exports.consts = exports.HEIGHT_COMPACT_MODE = void 0;\r\nvar _smart_formatter = require(\"../axes/smart_formatter\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar HEIGHT_COMPACT_MODE = 24;\r\nexports.HEIGHT_COMPACT_MODE = HEIGHT_COMPACT_MODE;\r\nvar POINTER_SIZE = 4;\r\nvar EMPTY_SLIDER_MARKER_TEXT = \". . .\";\r\nvar 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\nexports.utils = utils;\r\nvar consts = {\r\n emptySliderMarkerText: EMPTY_SLIDER_MARKER_TEXT,\r\n pointerSize: POINTER_SIZE\r\n};\r\nexports.consts = consts;\r\nvar formatValue = function(value, formatOptions, tickIntervalsInfo, valueType, type, logarithmBase) {\r\n var formatObject = {\r\n value: value,\r\n valueText: (0, _smart_formatter.smartFormatter)(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((0, _type.isFunction)(formatOptions.customizeText) ? formatOptions.customizeText.call(formatObject, formatObject) : formatObject.valueText)\r\n};\r\nexports.formatValue = formatValue;\r\n","/**\r\n * DevExtreme (cjs/viz/range_selector/range_selector.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _component_registrator = _interopRequireDefault(require(\"../../core/component_registrator\"));\r\nvar _type2 = require(\"../../core/utils/type\");\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _utils = require(\"../core/utils\");\r\nvar _date = _interopRequireDefault(require(\"../../core/utils/date\"));\r\nvar _math = require(\"../../core/utils/math\");\r\nvar _range = require(\"../translators/range\");\r\nvar _base_axis = require(\"../axes/base_axis\");\r\nvar _parse_utils = require(\"../components/parse_utils\");\r\nvar _format_helper = _interopRequireDefault(require(\"../../format_helper\"));\r\nvar _common = require(\"./common\");\r\nvar _sliders_controller = require(\"./sliders_controller\");\r\nvar _tracker = require(\"./tracker\");\r\nvar _range_view = require(\"./range_view\");\r\nvar _series_data_source = require(\"./series_data_source\");\r\nvar _tick_generator = require(\"../axes/tick_generator\");\r\nvar _axes_constants = _interopRequireDefault(require(\"../axes/axes_constants\"));\r\nvar _base_widget = _interopRequireDefault(require(\"../core/base_widget\"));\r\nvar _export = require(\"../core/export\");\r\nvar _title = require(\"../core/title\");\r\nvar _loading_indicator = require(\"../core/loading_indicator\");\r\nvar _data_source = require(\"../core/data_source\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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 ? _common.consts.emptySliderMarkerText : (0, _common.formatValue)(value, sliderMarkerOptions);\r\n var textBBox = getTextBBox(renderer, formattedText, sliderMarkerOptions.font);\r\n return _ceil(textBBox.height) + 2 * sliderMarkerOptions.paddingTopBottom + _common.consts.pointerSize\r\n}\r\n\r\nfunction calculateScaleLabelHalfWidth(renderer, value, scaleOptions, tickIntervalsInfo) {\r\n var formattedText = (0, _common.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 = (0, _type2.isDefined)(scale.startValue) ? ticks[0] : void 0;\r\n endTickValue = (0, _type2.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 = (0, _type2.type)(firstValue);\r\n var typeSecondValue = (0, _type2.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 = _date.default.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 && !(0, _type2.isNumeric)(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 = (0, _common.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 = _date.default.getDateUnitInterval(minorTickInterval);\r\n var majorUnit = _date.default.getDateUnitInterval(tickInterval);\r\n var idx = _date.default.dateUnitIntervals.indexOf(interval);\r\n if (withCorrection && interval === majorUnit && idx > 0) {\r\n interval = _date.default.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 = _date.default.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 = _date.default.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 = (0, _type2.isDefined)(range.minVisible) ? range.minVisible : range.min;\r\n var max = (0, _type2.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 = (0, _tick_generator.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: (0, _type2.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.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.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 = (0, _utils.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 ((0, _type2.isDefined)(startValue) && (0, _type2.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 ((0, _type2.isDefined)(startValue) || (0, _type2.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 !(0, _type2.isDefined)(start) || !(0, _type2.isDefined)(end)\r\n}\r\n\r\nfunction getTextBBox(renderer, text, fontOptions) {\r\n var textElement = renderer.text(text, INVISIBLE_POS, INVISIBLE_POS).css((0, _utils.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 (!(0, _type2.isDefined)(tickInterval) || tickInterval.years || tickInterval.months >= 6 || screenDelta / SEMIDISCRETE_GRID_SPACING_FACTOR < _ceil((max - min) / _date.default.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 = (0, _type2.isDate)(scaleOptions.startValue) && (0, _type2.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 && (!(0, _type2.isDefined)(scaleOptions.label.format) || scaleOptions.type === SEMIDISCRETE && scaleOptions.minorTickInterval !== scaleOptions.tickInterval)) {\r\n if (scaleOptions.type === DISCRETE) {\r\n scaleOptions.label.format = _format_helper.default.getDateFormatByTicks(tickIntervalsInfo.ticks)\r\n } else if (!scaleOptions.marker.visible) {\r\n scaleOptions.label.format = _format_helper.default.getDateFormatByTickInterval(scaleOptions.startValue, scaleOptions.endValue, scaleOptions.tickInterval)\r\n } else {\r\n scaleOptions.label.format = _date.default.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 = (0, _parse_utils.correctValueType)((0, _utils.normalizeEnum)(scaleOption.valueType));\r\n var validateStartEndValues = function(field, parser) {\r\n var messageToIncidentOccurred = field === START_VALUE ? \"start\" : \"end\";\r\n if ((0, _type2.isDefined)(scaleOption[field])) {\r\n parsedValue = parser(scaleOption[field]);\r\n if ((0, _type2.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 = (0, _parse_utils.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 |= (0, _type2.isDefined)(scaleOption.tickInterval) && !(0, _type2.isDefined)(scaleOption.axisDivisionFactor);\r\n scaleOption.axisDivisionFactor = (0, _type2.isDefined)(scaleOption.axisDivisionFactor) ? scaleOption.axisDivisionFactor : DEFAULT_AXIS_DIVISION_FACTOR;\r\n scaleOption.minorAxisDivisionFactor = (0, _type2.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 ((0, _type2.isDefined)(value)) {\r\n value = isDate ? _date.default.correctDateWithUnitBeginning(new Date(value), interval, null, firstDayOfWeek) : (0, _math.adjust)(_floor((0, _math.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 (!(0, _type2.isDefined)(min) || !(0, _type2.isDefined)(max)) {\r\n return res\r\n }\r\n res.intervals = _date.default.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 = _date.default.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((0, _math.adjust)((0, _utils.getLog)(tail, 10)))) : 0\r\n}\r\nvar dxRangeSelector = _base_widget.default.inherit({\r\n _toggleParentsScrollSubscription: function() {},\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 _setDeprecatedOptions: function() {\r\n this.callBase();\r\n (0, _extend.extend)(this._deprecatedOptions, {\r\n \"behavior.callValueChanged\": {\r\n since: \"23.1\",\r\n message: 'Use the \"behavior.valueChangeMode\" property instead'\r\n },\r\n \"scale.aggregateByCategory\": {\r\n since: \"23.1\",\r\n message: \"Use the aggregation.enabled property\"\r\n }\r\n })\r\n },\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((0, _utils.convertVisualRangeObject)(range), e)\r\n },\r\n incidentOccurred: that._incidentOccurred\r\n });\r\n that._rangeView = new _range_view.RangeView({\r\n renderer: renderer,\r\n root: rangeViewGroup,\r\n translator: that._axis.getTranslator()\r\n });\r\n that._slidersController = new _sliders_controller.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, (0, _utils.convertVisualRangeObject)(range, (0, _type2.isPlainObject)(that._options.silent(VALUE))))\r\n }\r\n that._eventTrigger(VALUE_CHANGED, {\r\n value: (0, _utils.convertVisualRangeObject)(range),\r\n previousValue: (0, _utils.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.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: function() {\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 = (0, _type2.isDefined)(value[0]) && (0, _type2.isDefined)(value[1]);\r\n if ((0, _type2.isDefined)(selectedRangeUpdateMode)) {\r\n selectedRangeUpdateMode = (0, _utils.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 && (0, _utils.getVizRangeObject)(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 _this = this;\r\n var ensureValueInvalid = function(value) {\r\n return (0, _type2.isDefined)(value) && !_this._axis.getTranslator().isValid(value)\r\n };\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.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: function(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((0, _extend.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) : _common.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 _base_axis.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 = (0, _extend.extend)({}, chartOptions, {\r\n theme: this.option(\"theme\")\r\n });\r\n seriesDataSource = new _series_data_source.SeriesDataSource({\r\n renderer: this._renderer,\r\n dataSource: dataSource,\r\n valueType: (0, _utils.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 && (0, _type2.isNumeric)(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 ((0, _type2.isDefined)(minorTickInterval) && 0 !== minorTickInterval) {\r\n interval = getMinorTickIntervalUnit(tickInterval, minorTickInterval, doNotSnap)\r\n }\r\n if (!scaleOptions.marker.visible) {\r\n if ((0, _type2.isDefined)(startValue) && (0, _type2.isDefined)(endValue)) {\r\n sliderMarkerOptions.format = _format_helper.default.getDateFormatByTickInterval(startValue, endValue, interval)\r\n }\r\n } else {\r\n sliderMarkerOptions.format = _date.default.getDateFormatByTickInterval(interval)\r\n }\r\n }\r\n if (isValueTypeDatetime && isTypeDiscrete && tickIntervalsInfo.ticks.length) {\r\n sliderMarkerOptions.format = _format_helper.default.getDateFormatByTicks(tickIntervalsInfo.ticks)\r\n }\r\n }\r\n return sliderMarkerOptions\r\n },\r\n getValue: function() {\r\n return (0, _utils.convertVisualRangeObject)(this._slidersController.getSelectedRange())\r\n },\r\n setValue: function(value, e) {\r\n var visualRange = (0, _utils.getVizRangeObject)(value);\r\n if (!this._isUpdating && value) {\r\n this._validateRange(visualRange.startValue, visualRange.endValue);\r\n !(0, _utils.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\n(0, _iterator.each)([\"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 (0, _iterator.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 ? _date.default.addInterval(range.startValue, scaleOptions.minRange) : void 0;\r\n var maxRange = scaleOptions.maxRange ? _date.default.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 && _axes_constants.default.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 _base_axis.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: function() {}\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: function(value) {\r\n var _this$_axis$visualRan = this._axis.visualRange(),\r\n startValue = _this$_axis$visualRan.startValue,\r\n endValue = _this$_axis$visualRan.endValue;\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: function() {\r\n return this._axis.getOptions() || {}\r\n }\r\n};\r\n(0, _iterator.each)(_base_axis.Axis.prototype, (function(field) {\r\n if (\"constructor\" !== field && \"_\" !== field[0] && (0, _type2.isFunction)(_base_axis.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\n(0, _component_registrator.default)(\"dxRangeSelector\", dxRangeSelector);\r\nvar _default = dxRangeSelector;\r\nexports.default = _default;\r\ndxRangeSelector.addPlugin(_export.plugin);\r\ndxRangeSelector.addPlugin(_title.plugin);\r\ndxRangeSelector.addPlugin(_loading_indicator.plugin);\r\ndxRangeSelector.addPlugin(_data_source.plugin);\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/viz/range_selector/range_view.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.RangeView = RangeView;\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((function(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\n\r\nfunction 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 (cjs/viz/range_selector/series_data_source.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.SeriesDataSource = void 0;\r\nvar _base_series = require(\"../series/base_series\");\r\nvar _series_family = require(\"../core/series_family\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _utils = require(\"../core/utils\");\r\nvar _range = require(\"../translators/range\");\r\nvar _data_validator = require(\"../components/data_validator\");\r\nvar _chart_theme_manager = require(\"../components/chart_theme_manager\");\r\nvar createThemeManager = function(chartOptions) {\r\n return new _chart_theme_manager.ThemeManager({\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 (0, _iterator.each)(series, (function(i, item) {\r\n if (!types.includes(item.type)) {\r\n types.push(item.type)\r\n }\r\n }));\r\n (0, _iterator.each)(types, (function(_, type) {\r\n var family = new _series_family.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\nvar 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\nexports.SeriesDataSource = SeriesDataSource;\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 ? (0, _utils.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 = (0, _extend.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 _base_series.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 = (0, _data_validator.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: function() {\r\n if (0 === this._series.length) {\r\n return\r\n }\r\n var series = this._series;\r\n var viewport = new _range.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 }, (0, _type.isDefined)(negativesAsZeroes) ? negativesAsZeroes : negativesAsZeros)\r\n },\r\n adjustSeriesDimensions: function() {\r\n (0, _iterator.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.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.Range({});\r\n var rangeYSize;\r\n var rangeVisibleSizeY;\r\n var minIndent;\r\n var maxIndent;\r\n (0, _iterator.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 = ((0, _type.isNumeric)(valRange.maxVisible) ? valRange.maxVisible : valRange.max) - ((0, _type.isNumeric)(valRange.minVisible) ? valRange.minVisible : valRange.min);\r\n if ((0, _type.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 ((0, _type.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 ((0, _type.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 (0, _utils.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 (cjs/viz/range_selector/slider.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _common = require(\"./common\");\r\nvar _slider_marker = _interopRequireDefault(require(\"./slider_marker\"));\r\nvar _support = require(\"../../core/utils/support\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar animationSettings = _common.utils.animationSettings;\r\nvar SPLITTER_WIDTH = 8;\r\nvar TOUCH_SPLITTER_WIDTH = 20;\r\n\r\nfunction getSliderTrackerWidth(sliderHandleWidth) {\r\n return _support.touchEvents || _support.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 _slider_marker.default(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((0, _common.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\nvar _default = Slider;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/viz/range_selector/slider_marker.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _utils = require(\"../core/utils\");\r\nvar _common = require(\"./common\");\r\nvar POINTER_SIZE = _common.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((0, _utils.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\nvar _default = SliderMarker;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/viz/range_selector/sliders_controller.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.SlidersController = SlidersController;\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _common2 = require(\"./common\");\r\nvar _slider = _interopRequireDefault(require(\"./slider\"));\r\nvar _utils = require(\"../core/utils\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _math = require(\"../../core/utils/math\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar animationSettings = _common2.utils.animationSettings;\r\nvar emptySliderMarkerText = _common2.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 = _common.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\n\r\nfunction 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.default(sliderParams, 0), new _slider.default(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 (!(0, _utils.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 = \"onhandlemove\" === (0, _utils.normalizeEnum)(behavior.valueChangeMode) || \"onmoving\" === (0, _utils.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 _adjustVisualRange = (0, _utils.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 = _adjustVisualRange.startValue,\r\n endValue = _adjustVisualRange.endValue;\r\n startValue = (0, _type.isNumeric)(startValue) ? (0, _math.adjust)(startValue) : startValue;\r\n endValue = (0, _type.isNumeric)(endValue) ? (0, _math.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) : (0, _type.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 (cjs/viz/range_selector/tracker.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.Tracker = Tracker;\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _pointer = _interopRequireDefault(require(\"../../events/pointer\"));\r\nvar _window = require(\"../../core/utils/window\");\r\nvar _dom_adapter = _interopRequireDefault(require(\"../../core/dom_adapter\"));\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _support = require(\"../../core/utils/support\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\n\r\nfunction _defineProperty(obj, key, value) {\r\n key = _toPropertyKey(key);\r\n if (key in obj) {\r\n Object.defineProperty(obj, key, {\r\n value: value,\r\n enumerable: true,\r\n configurable: true,\r\n writable: true\r\n })\r\n } else {\r\n obj[key] = value\r\n }\r\n return obj\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\nvar MIN_MANUAL_SELECTING_WIDTH = 10;\r\nvar window = (0, _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 _docEvents;\r\n var isTouchEvent;\r\n var isActive = false;\r\n var initialPosition;\r\n var movingHandler = null;\r\n var docEvents = (_docEvents = {}, _defineProperty(_docEvents, _pointer.default.move, (function(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 })), _defineProperty(_docEvents, _pointer.default.up, (function(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 })), _docEvents);\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(_pointer.default.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 _docEvents2;\r\n var isTouchEvent;\r\n var isActive = false;\r\n var movingHandler = null;\r\n var docEvents = (_docEvents2 = {}, _defineProperty(_docEvents2, _pointer.default.move, (function(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 })), _defineProperty(_docEvents2, _pointer.default.up, cancel), _docEvents2);\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(_pointer.default.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 _docEvents3;\r\n var isTouchEvent;\r\n var isActive = false;\r\n var movingHandler = null;\r\n var docEvents = (_docEvents3 = {}, _defineProperty(_docEvents3, _pointer.default.move, (function(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 })), _defineProperty(_docEvents3, _pointer.default.up, cancel), _docEvents3);\r\n (0, _iterator.each)(sliders, (function(i, slider) {\r\n var _slider$on;\r\n slider.on((_slider$on = {}, _defineProperty(_slider$on, _pointer.default.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.beginSliderMoving(i, getEventPageX(e) - getRootOffsetLeft());\r\n stopPropagationAndPreventDefault(e)\r\n })), _defineProperty(_slider$on, _pointer.default.move, (function() {\r\n if (!movingHandler) {\r\n controller.foregroundSlider(i)\r\n }\r\n })), _slider$on))\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\n\r\nfunction Tracker(params) {\r\n var state = this._state = {};\r\n var targets = params.controller.getTrackerTargets();\r\n if (_support.pointerEvents) {\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 (0, _iterator.each)(this._docEvents, (function(_, events) {\r\n _events_engine.default.on(_dom_adapter.default.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 (0, _iterator.each)(this._docEvents, (function(_, events) {\r\n _events_engine.default.off(_dom_adapter.default.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 (cjs/viz/sankey.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _sankey = _interopRequireDefault(require(\"./sankey/sankey\"));\r\nvar _tooltip = require(\"./sankey/tooltip\");\r\nvar _export = require(\"./core/export\");\r\nvar _title = require(\"./core/title\");\r\nvar _tracker = require(\"./sankey/tracker\");\r\nvar _tooltip2 = require(\"./core/tooltip\");\r\nvar _loading_indicator = require(\"./core/loading_indicator\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n_sankey.default.addPlugin(_export.plugin);\r\n_sankey.default.addPlugin(_title.plugin);\r\n_sankey.default.addPlugin(_tracker.plugin);\r\n_sankey.default.addPlugin(_loading_indicator.plugin);\r\n_sankey.default.addPlugin(_tooltip2.plugin);\r\n(0, _tooltip.setTooltipCustomOptions)(_sankey.default);\r\nvar _default = _sankey.default;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/viz/sankey/constants.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.COLOR_MODE_TARGET = exports.COLOR_MODE_SOURCE = exports.COLOR_MODE_NONE = exports.COLOR_MODE_GRADIENT = void 0;\r\nvar COLOR_MODE_GRADIENT = \"gradient\";\r\nexports.COLOR_MODE_GRADIENT = COLOR_MODE_GRADIENT;\r\nvar COLOR_MODE_SOURCE = \"source\";\r\nexports.COLOR_MODE_SOURCE = COLOR_MODE_SOURCE;\r\nvar COLOR_MODE_TARGET = \"target\";\r\nexports.COLOR_MODE_TARGET = COLOR_MODE_TARGET;\r\nvar COLOR_MODE_NONE = \"none\";\r\nexports.COLOR_MODE_NONE = COLOR_MODE_NONE;\r\n","/**\r\n * DevExtreme (cjs/viz/sankey/data_validator.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _graph = _interopRequireDefault(require(\"./graph\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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 _graph.default.struct.hasCycle(data)\r\n }\r\n};\r\nvar _default = validator;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/viz/sankey/graph.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\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 = function(v) {\r\n return v\r\n };\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((function(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((function(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((function(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 var _this = this;\r\n this._hasCycle = false;\r\n this._sortedList = [];\r\n var vertices = {};\r\n var allVertices = getVertices(links);\r\n allVertices.forEach((function(vertex) {\r\n vertices[vertex] = {\r\n color: WHITE\r\n }\r\n }));\r\n allVertices.forEach((function(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: function(links) {\r\n var sortedVertices = this._sortedList;\r\n sortedVertices.forEach((function(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((function(adjacentVertex) {\r\n maxLP.push(sortedVertices.filter((function(sv) {\r\n return sv.name === adjacentVertex\r\n }))[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\nvar _default = {\r\n struct: struct,\r\n routines: routines,\r\n getVertices: getVertices,\r\n getAdjacentVertices: getAdjacentVertices,\r\n getReverseAdjacentVertices: getReverseAdjacentVertices\r\n};\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/viz/sankey/layout.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.layout = void 0;\r\nvar _graph = _interopRequireDefault(require(\"./graph\"));\r\nvar _data_validator = _interopRequireDefault(require(\"./data_validator\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar _SPLINE_TENSION = .3;\r\nvar _ALIGNMENT_CENTER = \"center\";\r\nvar _ALIGNMENT_BOTTOM = \"bottom\";\r\nvar _ALIGNMENT_DEFAULT = _ALIGNMENT_CENTER;\r\nvar layout = {\r\n _weightPerPixel: null,\r\n _getCascadeIdx: function(nodeTitle, cascadesConfig) {\r\n var nodeInfo = cascadesConfig.filter((function(c) {\r\n return c.name === nodeTitle\r\n }))[0];\r\n if (nodeInfo.outgoing.length > 0) {\r\n return nodeInfo.lp\r\n } else {\r\n return _graph.default.routines.maxOfArray(cascadesConfig.map((function(c) {\r\n return c.lp\r\n })))\r\n }\r\n },\r\n _getInWeightForNode: function(nodeTitle, links) {\r\n var w = 0;\r\n links.forEach((function(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((function(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 _this = this;\r\n var cascadesConfig = _graph.default.struct.computeLongestPaths(links);\r\n var maxCascade = _graph.default.routines.maxOfArray(cascadesConfig.map((function(c) {\r\n return c.lp\r\n })));\r\n var cascades = [];\r\n for (var i = 0; i < maxCascade + 1; i++) {\r\n cascades.push({})\r\n }\r\n links.forEach((function(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((function(cascade) {\r\n Object.keys(cascade).forEach((function(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((function(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((function(cascade) {\r\n var mW = 0;\r\n Object.keys(cascade).forEach((function(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 _graph.default.routines.maxOfArray(max)\r\n },\r\n _computeNodes: function(cascades, options) {\r\n var _this2 = this;\r\n var rects = [];\r\n var maxWeight = this._getMaxWeightThroughCascades(cascades);\r\n var maxNodeNum = _graph.default.routines.maxOfArray(cascades.map((function(nodesInCascade) {\r\n return Object.keys(nodesInCascade).length\r\n })));\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((function(cascade) {\r\n var cascadeRects = [];\r\n var y = 0;\r\n var nodesInCascade = Object.keys(cascade).length;\r\n var cascadeHeight = _this2._getWeightForCascade(cascades, cascadeIdx) / _this2._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((function(nodeTitle) {\r\n cascade[nodeTitle].sort = _this2._sort && Object.prototype.hasOwnProperty.call(_this2._sort, nodeTitle) ? _this2._sort[nodeTitle] : 1\r\n }));\r\n Object.keys(cascade).sort((function(a, b) {\r\n return cascade[a].sort - cascade[b].sort\r\n })).forEach((function(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 _this3 = this;\r\n var yOffsets = {};\r\n var paths = [];\r\n var result = [];\r\n cascades.forEach((function(cascade) {\r\n Object.keys(cascade).forEach((function(nodeTitle) {\r\n yOffsets[nodeTitle] = {\r\n in: 0,\r\n out: 0\r\n }\r\n }))\r\n }));\r\n rects.forEach((function(rectsOfCascade) {\r\n rectsOfCascade.forEach((function(nodeRect) {\r\n var nodeTitle = nodeRect._name;\r\n var rectFrom = _this3._findRectByName(rects, nodeTitle);\r\n var linksFromNode = links.filter((function(link) {\r\n return link[0] === nodeTitle\r\n }));\r\n linksFromNode.forEach((function(link) {\r\n link.sort = _this3._findIndexByName(rects, link[1])\r\n }));\r\n linksFromNode.sort((function(a, b) {\r\n return a.sort - b.sort\r\n })).forEach((function(link) {\r\n var rectTo = _this3._findRectByName(rects, link[1]);\r\n var height = Math.round(link[2] / _this3._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((function(link) {\r\n var path = {\r\n d: _this3._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 = _data_validator.default.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\nexports.layout = layout;\r\n","/**\r\n * DevExtreme (cjs/viz/sankey/link_item.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _constants = require(\"./constants\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar states = [\"normal\", \"adjacentNodeHover\", \"hover\"];\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 = (0, _type.isDefined)(border.visible) ? border.visible : baseBorder.visible;\r\n var borderWidth = (0, _type.isDefined)(border.width) ? border.width : baseBorder.width;\r\n var borderOpacity = (0, _type.isDefined)(border.opacity) ? border.opacity : (0, _type.isDefined)(baseBorder.opacity) ? baseBorder.opacity : 1;\r\n var opacity = (0, _type.isDefined)(itemOptions.opacity) ? itemOptions.opacity : (0, _type.isDefined)(itemBaseOptions.opacity) ? itemBaseOptions.opacity : 1;\r\n var fill = itemOptions.color || color;\r\n if (itemBaseOptions.colorMode === _constants.COLOR_MODE_TARGET || itemBaseOptions.colorMode === _constants.COLOR_MODE_SOURCE) {\r\n fill = color\r\n } else if (itemBaseOptions.colorMode === _constants.COLOR_MODE_GRADIENT && gradient && (0, _type.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\nvar _default = Link;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/viz/sankey/node_item.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _utils = require(\"../core/utils\");\r\nvar states = [\"normal\", \"hover\"];\r\n\r\nfunction _compileAttrs(color, itemOptions, itemBaseOptions) {\r\n var border = itemOptions.border;\r\n var baseBorder = itemBaseOptions.border;\r\n var borderVisible = (0, _type.isDefined)(border.visible) ? border.visible : baseBorder.visible;\r\n var borderWidth = (0, _type.isDefined)(border.width) ? border.width : baseBorder.width;\r\n var borderOpacity = (0, _type.isDefined)(border.opacity) ? border.opacity : (0, _type.isDefined)(baseBorder.opacity) ? baseBorder.opacity : 1;\r\n var opacity = (0, _type.isDefined)(itemOptions.opacity) ? itemOptions.opacity : (0, _type.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 = _utils.patchFontOptions;\r\n if (labelOptions.useNodeColors) {\r\n labelOptions.font.color = node.color\r\n }\r\n var borderVisible = (0, _type.isDefined)(labelOptions.border.visible) ? labelOptions.border.visible : false;\r\n var borderWidth = (0, _type.isDefined)(labelOptions.border.width) ? labelOptions.border.width : 0;\r\n var borderColor = (0, _type.isDefined)(labelOptions.border.color) ? labelOptions.border.color : labelOptions.font.color;\r\n var borderOpacity = (0, _type.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 var _this = this;\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((function(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\nvar _default = Node;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/viz/sankey/sankey.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _constants = require(\"./constants\");\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _node_item = _interopRequireDefault(require(\"./node_item\"));\r\nvar _link_item = _interopRequireDefault(require(\"./link_item\"));\r\nvar _layout = require(\"./layout\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _base_widget = _interopRequireDefault(require(\"../core/base_widget\"));\r\nvar _component_registrator = _interopRequireDefault(require(\"../../core/component_registrator\"));\r\nvar _data_source = require(\"../core/data_source\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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((function(link) {\r\n return link[attrName]._name === nodeName\r\n })).forEach((function(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 = _base_widget.default.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: _common.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: _common.noop,\r\n hideTooltip: _common.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 (!(0, _type.isString)(item[sourceField])) {\r\n that._incidentOccurred(\"E2008\", sourceField)\r\n } else if (!(0, _type.isString)(item[targetField])) {\r\n that._incidentOccurred(\"E2008\", targetField)\r\n } else if (!(0, _type.isNumeric)(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 _this = this;\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) || _layout.layout;\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((function(item) {\r\n return item.length\r\n })).reduce((function(previousValue, currentValue) {\r\n return previousValue + currentValue\r\n }), 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((function(gradient) {\r\n gradient.dispose()\r\n }));\r\n that._gradients = [];\r\n that._shadowFilter && that._shadowFilter.dispose();\r\n layout.nodes.forEach((function(cascadeNodes) {\r\n cascadeNodes.forEach((function(node) {\r\n var color = nodeOptions.color || palette.getNextColor();\r\n var nodeItem = new _node_item.default(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((function(link) {\r\n var gradient = null;\r\n if (linkOptions.colorMode === _constants.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 === _constants.COLOR_MODE_SOURCE) {\r\n color = nodeColors[link._from._name]\r\n } else if (linkOptions.colorMode === _constants.COLOR_MODE_TARGET) {\r\n color = nodeColors[link._to._name]\r\n }\r\n var linkItem = new _link_item.default(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.initDefsElements();\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 && _layout.layout.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\n(0, _component_registrator.default)(\"dxSankey\", dxSankey);\r\nvar _default = dxSankey;\r\nexports.default = _default;\r\ndxSankey.addPlugin(_data_source.plugin);\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/viz/sankey/tooltip.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.setTooltipCustomOptions = setTooltipCustomOptions;\r\nvar _extend2 = require(\"../../core/utils/extend\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar defaultCustomizeLinkTooltip = function(formatter) {\r\n return 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\n};\r\nvar defaultCustomizeNodeTooltip = function(formatter) {\r\n return 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\n};\r\nvar generateCustomCallback = function(customCallback, defaultCallback) {\r\n return function(objectInfo) {\r\n var res = (0, _type.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 = (0, _extend2.extend)(res, defaultCallback.call(objectInfo, objectInfo))\r\n }\r\n return res\r\n }\r\n};\r\n\r\nfunction 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((0, _extend2.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 = function(value) {\r\n return tooltip.formatValue(value)\r\n };\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: function(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 (cjs/viz/sankey/tracker.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.plugin = void 0;\r\nvar _sankey = _interopRequireDefault(require(\"./sankey\"));\r\nvar _tracker = require(\"../components/tracker\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar proto = _sankey.default.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\nvar 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.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\nexports.plugin = plugin;\r\n","/**\r\n * DevExtreme (cjs/viz/series/area_series.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.polar = exports.chart = void 0;\r\nvar _object = require(\"../../core/utils/object\");\r\nvar _extend2 = require(\"../../core/utils/extend\");\r\nvar _scatter_series = require(\"./scatter_series\");\r\nvar _line_series = require(\"./line_series\");\r\nvar _utils = require(\"../core/utils\");\r\nvar chartLineSeries = _line_series.chart.line;\r\nvar polarLineSeries = _line_series.polar.line;\r\nvar _extend = _extend2.extend;\r\nvar calculateBezierPoints = _line_series.chart.spline._calculateBezierPoints;\r\nvar chart = {};\r\nexports.chart = chart;\r\nvar polar = {};\r\nexports.polar = polar;\r\nvar baseAreaMethods = {\r\n _createBorderElement: chartLineSeries._createMainElement,\r\n _createLegendState: function(styleOptions, defaultColor) {\r\n return {\r\n fill: (0, _utils.extractColor)(styleOptions.color) || defaultColor,\r\n opacity: styleOptions.opacity,\r\n hatching: styleOptions.hatching,\r\n filter: styleOptions.highlight\r\n }\r\n },\r\n _getColorId: function(options) {\r\n var _options$color;\r\n return null === (_options$color = options.color) || void 0 === _options$color ? void 0 : _options$color.fillId\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 _scatter_series.chart.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 _options$highlight;\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: (0, _utils.extractColor)(options.color) || defaultColor,\r\n hatching: options.hatching,\r\n opacity: options.opacity,\r\n filter: null !== (_options$highlight = options.highlight) && void 0 !== _options$highlight ? _options$highlight : null\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 (0, _utils.map)(points, (function(pt) {\r\n return pt.getCoords()\r\n })).concat((0, _utils.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: function(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((function(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 = (0, _object.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 _line_series.polar.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 = _line_series.chart.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: _line_series.chart.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: _line_series.chart.spline._createMainElement,\r\n getSeriesPairCoord: _line_series.chart.spline.getSeriesPairCoord,\r\n _getNearestPoints: _line_series.chart.spline._getNearestPoints,\r\n _getBezierPoints: _line_series.chart.spline._getBezierPoints,\r\n obtainCubicBezierTCoef: _line_series.chart.spline.obtainCubicBezierTCoef\r\n});\r\n","/**\r\n * DevExtreme (cjs/viz/series/bar_series.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.polar = exports.chart = void 0;\r\nvar _extend2 = require(\"../../core/utils/extend\");\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar scatterSeries = _interopRequireWildcard(require(\"./scatter_series\"));\r\nvar _area_series = require(\"./area_series\");\r\nvar _utils = require(\"../core/utils\");\r\nvar _type = require(\"../../core/utils/type\");\r\n\r\nfunction _getRequireWildcardCache(nodeInterop) {\r\n if (\"function\" !== typeof WeakMap) {\r\n return null\r\n }\r\n var cacheBabelInterop = new WeakMap;\r\n var cacheNodeInterop = new WeakMap;\r\n return (_getRequireWildcardCache = function(nodeInterop) {\r\n return nodeInterop ? cacheNodeInterop : cacheBabelInterop\r\n })(nodeInterop)\r\n}\r\n\r\nfunction _interopRequireWildcard(obj, nodeInterop) {\r\n if (!nodeInterop && obj && obj.__esModule) {\r\n return obj\r\n }\r\n if (null === obj || \"object\" !== _typeof(obj) && \"function\" !== typeof obj) {\r\n return {\r\n default: obj\r\n }\r\n }\r\n var cache = _getRequireWildcardCache(nodeInterop);\r\n if (cache && cache.has(obj)) {\r\n return cache.get(obj)\r\n }\r\n var newObj = {};\r\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\r\n for (var key in obj) {\r\n if (\"default\" !== key && Object.prototype.hasOwnProperty.call(obj, key)) {\r\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\r\n if (desc && (desc.get || desc.set)) {\r\n Object.defineProperty(newObj, key, desc)\r\n } else {\r\n newObj[key] = obj[key]\r\n }\r\n }\r\n }\r\n newObj.default = obj;\r\n if (cache) {\r\n cache.set(obj, newObj)\r\n }\r\n return newObj\r\n}\r\nvar areaSeries = _area_series.chart.area;\r\nvar chartSeries = scatterSeries.chart;\r\nvar polarSeries = scatterSeries.polar;\r\nvar _extend = _extend2.extend;\r\nvar _each = _iterator.each;\r\nvar chart = {};\r\nexports.chart = chart;\r\nvar polar = {};\r\nexports.polar = polar;\r\nvar baseBarSeriesMethods = {\r\n _createLegendState: function(styleOptions, defaultColor) {\r\n return {\r\n fill: (0, _utils.extractColor)(styleOptions.color) || defaultColor,\r\n hatching: styleOptions.hatching,\r\n filter: styleOptions.highlight\r\n }\r\n },\r\n _getColorId: areaSeries._getColorId,\r\n _parsePointStyle: function(style, defaultColor, defaultBorderColor) {\r\n var color = (0, _utils.extractColor)(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.filter = style.highlight;\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 _pointOptions$color;\r\n var mainColor = (0, _utils.extractColor)(pointOptions.color, true) || this._getMainColor();\r\n var colorId = null === (_pointOptions$color = pointOptions.color) || void 0 === _pointOptions$color ? void 0 : _pointOptions$color.fillId;\r\n var hoverStyle = pointOptions.hoverStyle || {};\r\n var selectionStyle = pointOptions.selectionStyle || {};\r\n if (colorId) {\r\n this._turnOffHatching(hoverStyle, selectionStyle)\r\n }\r\n return {\r\n labelColor: mainColor,\r\n normal: this._parsePointStyle(pointOptions, mainColor, mainColor),\r\n hover: this._parsePointStyle(hoverStyle, colorId || mainColor, mainColor),\r\n selection: this._parsePointStyle(selectionStyle, colorId || mainColor, mainColor)\r\n }\r\n },\r\n _updatePointsVisibility: function() {\r\n var visibility = this._options.visible;\r\n (0, _iterator.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: function() {},\r\n usePointsToDefineAutoHiding: function() {\r\n return false\r\n }\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: function(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: function(coord, isArgument) {\r\n var oppositeCoord = null;\r\n var rotated = this._options.rotated;\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: function(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 = (0, _type.isDefined)(p[paramName]) && (0, _type.isDefined)(params[paramName]) && p[paramName].valueOf() === params[paramName].valueOf() ? (0, _utils.convertPolarToXY)(argAxis.getCenter(), startAngle, -argAxis.getTranslatedAngle(p.angle), p.radius) : void 0;\r\n if ((0, _type.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\n","/**\r\n * DevExtreme (cjs/viz/series/base_series.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\nexports.Series = Series;\r\nexports.mixins = void 0;\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _extend2 = require(\"../../core/utils/extend\");\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _base_point = require(\"./points/base_point\");\r\nvar _utils = require(\"../core/utils\");\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _consts = _interopRequireDefault(require(\"../components/consts\"));\r\nvar _range_data_calculator = _interopRequireDefault(require(\"./helpers/range_data_calculator\"));\r\nvar scatterSeries = _interopRequireWildcard(require(\"./scatter_series\"));\r\nvar lineSeries = _interopRequireWildcard(require(\"./line_series\"));\r\nvar areaSeries = _interopRequireWildcard(require(\"./area_series\"));\r\nvar barSeries = _interopRequireWildcard(require(\"./bar_series\"));\r\nvar _range_series = require(\"./range_series\");\r\nvar _bubble_series = require(\"./bubble_series\");\r\nvar pieSeries = _interopRequireWildcard(require(\"./pie_series\"));\r\nvar financialSeries = _interopRequireWildcard(require(\"./financial_series\"));\r\nvar stackedSeries = _interopRequireWildcard(require(\"./stacked_series\"));\r\n\r\nfunction _getRequireWildcardCache(nodeInterop) {\r\n if (\"function\" !== typeof WeakMap) {\r\n return null\r\n }\r\n var cacheBabelInterop = new WeakMap;\r\n var cacheNodeInterop = new WeakMap;\r\n return (_getRequireWildcardCache = function(nodeInterop) {\r\n return nodeInterop ? cacheNodeInterop : cacheBabelInterop\r\n })(nodeInterop)\r\n}\r\n\r\nfunction _interopRequireWildcard(obj, nodeInterop) {\r\n if (!nodeInterop && obj && obj.__esModule) {\r\n return obj\r\n }\r\n if (null === obj || \"object\" !== _typeof(obj) && \"function\" !== typeof obj) {\r\n return {\r\n default: obj\r\n }\r\n }\r\n var cache = _getRequireWildcardCache(nodeInterop);\r\n if (cache && cache.has(obj)) {\r\n return cache.get(obj)\r\n }\r\n var newObj = {};\r\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\r\n for (var key in obj) {\r\n if (\"default\" !== key && Object.prototype.hasOwnProperty.call(obj, key)) {\r\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\r\n if (desc && (desc.get || desc.set)) {\r\n Object.defineProperty(newObj, key, desc)\r\n } else {\r\n newObj[key] = obj[key]\r\n }\r\n }\r\n }\r\n newObj.default = obj;\r\n if (cache) {\r\n cache.set(obj, newObj)\r\n }\r\n return newObj\r\n}\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar seriesNS = {};\r\nvar states = _consts.default.states;\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(0, _extend2.extend)(seriesNS.mixins.pie, pieSeries);\r\n(0, _extend2.extend)(seriesNS.mixins.chart, lineSeries.chart, areaSeries.chart, barSeries.chart, _range_series.chart, _bubble_series.chart, financialSeries, stackedSeries.chart);\r\n(0, _extend2.extend)(seriesNS.mixins.polar, lineSeries.polar, areaSeries.polar, barSeries.polar, stackedSeries.polar);\r\n\r\nfunction includePointsMode(mode) {\r\n mode = (0, _utils.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 = (0, _extend2.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\" === (0, _utils.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: (0, _type.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 = (0, _extend2.extend)({}, base, extra);\r\n options.border = (0, _extend2.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 = (0, _extend2.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\n\r\nfunction 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 = _common.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 function() {\r\n return true\r\n }\r\n } else {\r\n return function(value) {\r\n return value > 0\r\n }\r\n }\r\n}\r\nSeries.prototype = {\r\n constructor: Series,\r\n _createLegendState: _common.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 var colorId = this._getColorId(options);\r\n var hoverStyle = options.hoverStyle || {};\r\n var selectionStyle = options.selectionStyle || {};\r\n if (colorId) {\r\n this._turnOffHatching(hoverStyle, selectionStyle)\r\n }\r\n this._styles = {\r\n labelColor: mainSeriesColor,\r\n normal: this._parseStyle(options, mainSeriesColor, mainSeriesColor),\r\n hover: this._parseStyle(hoverStyle, colorId || mainSeriesColor, mainSeriesColor),\r\n selection: this._parseStyle(selectionStyle, colorId || mainSeriesColor, mainSeriesColor),\r\n legendStyles: {\r\n normal: this._createLegendState(options, colorId || mainSeriesColor),\r\n hover: this._createLegendState(hoverStyle, colorId || mainSeriesColor),\r\n selection: this._createLegendState(selectionStyle, colorId || mainSeriesColor)\r\n }\r\n }\r\n },\r\n setClippingParams: function(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: _common.noop,\r\n getSizeField: _common.noop,\r\n getArgumentField: _common.noop,\r\n getPoints: function() {\r\n return this._points\r\n },\r\n getPointsInViewPort: function() {\r\n return _range_data_calculator.default.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 _base_point.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 ? _range_data_calculator.default.getArgumentRange(this) : getEmptyBusinessRange()\r\n },\r\n getViewport: function() {\r\n return _range_data_calculator.default.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: function(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 && (0, _utils.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 ? function(x) {\r\n return null === x ? void 0 : x\r\n } : function(x) {\r\n return x\r\n }\r\n },\r\n _defineDrawingState: function() {\r\n this._firstDrawing = true\r\n },\r\n _disposePoints: function(points) {\r\n (0, _iterator.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((function(data, dataItem, index) {\r\n var pointDataItem = dataSelector(dataItem);\r\n if ((0, _type.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: function() {\r\n var data = this._data || [];\r\n if (this.useAggregation()) {\r\n var argumentRange = this.argumentAxisType !== DISCRETE ? this.getArgumentRange() : {};\r\n var aggregationInfo = this.getArgumentAxis().getAggregationInfo(this._useAllAggregatedPoints, argumentRange);\r\n data = this._resample(aggregationInfo, 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: _common.noop,\r\n usePointsToDefineAutoHiding: _common.noop,\r\n createPoints: function(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((function(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((function(key) {\r\n return that._disposePoints(oldPointsByArgument[key])\r\n }));\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 (0, _iterator.each)(that._graphics.splice(startIndex, that._graphics.length) || [], (function(_, elem) {\r\n that._removeElement(elem)\r\n }));\r\n if (that._trackers) {\r\n (0, _iterator.each)(that._trackers.splice(startIndex, that._trackers.length) || [], (function(_, elem) {\r\n elem.remove()\r\n }))\r\n }\r\n },\r\n _prepareSegmentsPosition: function() {\r\n var points = this._points || [];\r\n var isCloseSegment = points[0] && points[0].hasValue() && this._options.closed;\r\n var segments = points.reduce((function(segments, p) {\r\n var segment = segments.at(-1);\r\n if (!p.translated) {\r\n p.setDefaultCoords()\r\n }\r\n if (p.hasValue() && p.hasCoords()) {\r\n segment.push(p)\r\n } else if (!p.hasValue() && segment.length) {\r\n segments.push([])\r\n }\r\n return segments\r\n }), [\r\n []\r\n ]);\r\n this._drawSegments(segments, isCloseSegment, false)\r\n },\r\n _drawElements: function(animationEnabled, firstDrawing) {\r\n var that = this;\r\n var points = that._points || [];\r\n var isCloseSegment = 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.at(-1);\r\n if (p.hasValue() && p.hasCoords()) {\r\n 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 that._drawSegments(segments, isCloseSegment, animationEnabled);\r\n that._firstDrawing = !points.length;\r\n that._removeOldSegments();\r\n animationEnabled && that._animate(firstDrawing)\r\n },\r\n _drawSegments: function(segments, closeSegment, animationEnabled) {\r\n var _this = this;\r\n segments.forEach((function(segment, index) {\r\n if (segment.length) {\r\n var lastSegment = closeSegment && index === segments.length - 1;\r\n _this._drawSegment(segment, animationEnabled, index, lastSegment)\r\n }\r\n }))\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 if (!this._isAllPointsTranslated) {\r\n this.prepareCoordinatesForPoints()\r\n }\r\n this._setGroupsSettings(animationEnabled, firstDrawing);\r\n !firstDrawing && !this._resetApplyingAnimation && this._prepareSegmentsPosition();\r\n this._drawElements(animationEnabled, firstDrawing);\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._isAllPointsTranslated = false;\r\n this._resetApplyingAnimation = false\r\n },\r\n _translatePoints: function() {\r\n var _this$_points;\r\n var points = null !== (_this$_points = this._points) && void 0 !== _this$_points ? _this$_points : [];\r\n points.forEach((function(p) {\r\n p.translate()\r\n }))\r\n },\r\n prepareCoordinatesForPoints: function() {\r\n this._applyVisibleArea();\r\n this._translatePoints();\r\n this._isAllPointsTranslated = true\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 = (0, _utils.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() && (0, _utils.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 !(0, _type.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 = (0, _extend2.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 && !(0, _type.isEmptyObject)(customLabelOptions);\r\n customLabelOptions = useLabelCustomOptions ? (0, _extend2.extend)(true, {}, options.label, customLabelOptions) : null\r\n }\r\n if (customizePoint && customizePoint.call) {\r\n customizeObject = customizeObject || (0, _extend2.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 && !(0, _type.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: _common.noop,\r\n hideLabels: function() {\r\n (0, _iterator.each)(this._points, (function(_, point) {\r\n point._label.draw(false)\r\n }))\r\n },\r\n _turnOffHatching: function(hoverStyle, selectionStyle) {\r\n if (hoverStyle.hatching) {\r\n hoverStyle.hatching.direction = \"none\"\r\n }\r\n if (selectionStyle.hatching) {\r\n selectionStyle.hatching.direction = \"none\"\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 = (0, _extend2.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.labelColor);\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 (0, _extend2.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 = (0, _utils.normalizeEnum)(options.method);\r\n var customAggregator = \"custom\" === method && options.calculate;\r\n var aggregator;\r\n if (isDiscrete && !aggregateByCategory) {\r\n aggregator = function(_ref) {\r\n var data = _ref.data;\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: function(_ref2, data) {\r\n var interval = _ref2.interval,\r\n ticks = _ref2.ticks,\r\n aggregateByCategory = _ref2.aggregateByCategory;\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 = function(target, data, aggregationInfo) {\r\n if (!data) {\r\n return\r\n }\r\n var processData = function(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((function(g, category) {\r\n g[category.valueOf()] = [];\r\n return g\r\n }), {});\r\n data.forEach((function(dataItem) {\r\n groups[dataItem.argument.valueOf()].push(dataItem)\r\n }));\r\n return categories.reduce((function(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((function(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 = (0, _utils.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 = (0, _utils.normalizeEnum)(targetOptions.hoverMode);\r\n var selectionModeOfPoint = (0, _utils.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 (0, _iterator.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: _common.noop,\r\n drawTrackers: _common.noop,\r\n getNeighborPoint: _common.noop,\r\n areErrorBarsVisible: _common.noop,\r\n _getColorId: _common.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: function() {\r\n return this._markersGroup\r\n },\r\n getRenderer: function() {\r\n return this._renderer\r\n },\r\n removePointElements: function() {\r\n if (this._markersGroup) {\r\n (0, _iterator.each)(this._points, (function(_, p) {\r\n return p.deleteMarker()\r\n }));\r\n this._markersGroup.dispose();\r\n this._markersGroup = null\r\n }\r\n },\r\n removeGraphicElements: function() {\r\n var that = this;\r\n if (that._elementsGroup) {\r\n that._elementsGroup.dispose();\r\n that._elementsGroup = null\r\n }(0, _iterator.each)(that._graphics || [], (function(_, elem) {\r\n that._removeElement(elem)\r\n }));\r\n that._graphics = null\r\n },\r\n removeBordersGroup: function() {\r\n if (this._bordersGroup) {\r\n this._bordersGroup.dispose();\r\n this._bordersGroup = null\r\n }\r\n }\r\n};\r\nvar mixins = seriesNS.mixins;\r\nexports.mixins = mixins;\r\n","/**\r\n * DevExtreme (cjs/viz/series/bubble_series.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.chart = void 0;\r\nvar _line_series = require(\"./line_series\");\r\nvar _scatter_series = require(\"./scatter_series\");\r\nvar _area_series = require(\"./area_series\");\r\nvar _bar_series = require(\"./bar_series\");\r\nvar _extend2 = require(\"../../core/utils/extend\");\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _common = require(\"../../core/utils/common\");\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\n\r\nfunction _defineProperty(obj, key, value) {\r\n key = _toPropertyKey(key);\r\n if (key in obj) {\r\n Object.defineProperty(obj, key, {\r\n value: value,\r\n enumerable: true,\r\n configurable: true,\r\n writable: true\r\n })\r\n } else {\r\n obj[key] = value\r\n }\r\n return obj\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\nvar lineSeries = _line_series.chart.line;\r\nvar areaSeries = _area_series.chart.area;\r\nvar chartBarSeries = _bar_series.chart.bar;\r\nvar polarBarSeries = _bar_series.polar.bar;\r\nvar _extend = _extend2.extend;\r\nvar _each = _iterator.each;\r\nvar _noop = _common.noop;\r\nvar chart = {};\r\nexports.chart = chart;\r\nchart.bubble = _extend({}, _scatter_series.chart, {\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 _getColorId: areaSeries._getColorId,\r\n _setMarkerGroupSettings: polarBarSeries._setMarkerGroupSettings,\r\n areErrorBarsVisible: _noop,\r\n _createErrorBarGroup: _noop,\r\n _checkData: function(data, skippedFields) {\r\n return _scatter_series.chart._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 = _scatter_series.chart._getPointDataSelector.call(this);\r\n return function(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: function(_ref, series) {\r\n var _ref2;\r\n var data = _ref.data,\r\n intervalStart = _ref.intervalStart,\r\n intervalEnd = _ref.intervalEnd;\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((function(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 _ref2 = {}, _defineProperty(_ref2, valueField, aggregate[0] / aggregate[2]), _defineProperty(_ref2, sizeField, aggregate[1] / aggregate[2]), _defineProperty(_ref2, series.getArgumentField(), series._getIntervalCenter(intervalStart, intervalEnd)), _ref2\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\n","/**\r\n * DevExtreme (cjs/viz/series/financial_series.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.stock = exports.candlestick = void 0;\r\nvar _scatter_series = require(\"./scatter_series\");\r\nvar _bar_series = require(\"./bar_series\");\r\nvar _extend2 = require(\"../../core/utils/extend\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _utils = require(\"../core/utils\");\r\nvar _common = require(\"../../core/utils/common\");\r\nvar barSeries = _bar_series.chart.bar;\r\nvar DEFAULT_FINANCIAL_POINT_SIZE = 10;\r\nvar stock = (0, _extend2.extend)({}, _scatter_series.chart, {\r\n _animate: _common.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: _common.noop,\r\n areErrorBarsVisible: _common.noop,\r\n _createGroups: _scatter_series.chart._createGroups,\r\n _setMarkerGroupSettings: function() {\r\n var markersGroup = this._markersGroup;\r\n var styles = this._createPointStyles(this._getMarkerGroupOptions());\r\n var defaultStyle = (0, _extend2.extend)(styles.normal, {\r\n class: \"default-markers\"\r\n });\r\n var defaultPositiveStyle = (0, _extend2.extend)(styles.positive.normal, {\r\n class: \"default-positive-markers\"\r\n });\r\n var reductionStyle = (0, _extend2.extend)(styles.reduction.normal, {\r\n class: \"reduction-markers\"\r\n });\r\n var reductionPositiveStyle = (0, _extend2.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 _scatter_series.chart._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 = (0, _extend2.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 _scatter_series.chart._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 _this = this;\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 ((0, _utils.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 function(data) {\r\n var reductionValue = data[level];\r\n var isReduction = false;\r\n if ((0, _type.isDefined)(reductionValue)) {\r\n if ((0, _type.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 var color = (0, _utils.extractColor)(style.color, true);\r\n return {\r\n stroke: color || defaultColor,\r\n \"stroke-width\": style.width,\r\n fill: color || innerColor\r\n }\r\n },\r\n _getDefaultStyle: function(options) {\r\n var mainPointColor = (0, _utils.extractColor)(options.color, true) || 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 = (0, _extend2.extend)(true, {}, styles);\r\n var reductionStyle = this._getReductionStyle(pointOptions);\r\n var reductionPositiveStyle = (0, _extend2.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 styles.labelColor = innerColor;\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: function(_ref, series) {\r\n var intervalStart = _ref.intervalStart,\r\n intervalEnd = _ref.intervalEnd,\r\n data = _ref.data;\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: function(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: function() {\r\n return false\r\n }\r\n});\r\nexports.stock = stock;\r\nvar candlestick = (0, _extend2.extend)({}, stock, {\r\n _parsePointStyle: function(style, defaultColor, innerColor) {\r\n var color = (0, _utils.extractColor)(style.color, true) || 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\nexports.candlestick = candlestick;\r\n","/**\r\n * DevExtreme (cjs/viz/series/helpers/display_format_parser.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.processDisplayFormat = processDisplayFormat;\r\nvar _localization = require(\"../../../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 (0, _localization.formatDate)(value, format)\r\n }\r\n if (\"number\" === typeof value) {\r\n return (0, _localization.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\n\r\nfunction 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 (cjs/viz/series/helpers/range_data_calculator.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _utils = require(\"../../core/utils\");\r\nvar _type = require(\"../../../core/utils/type\");\r\nvar _common = require(\"../../../core/utils/common\");\r\nvar DISCRETE = \"discrete\";\r\nvar abs = Math.abs,\r\n floor = Math.floor,\r\n ceil = Math.ceil,\r\n min = Math.min;\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 function(value) {\r\n var log = (0, _utils.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 function(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 = (0, _type.isObject)(firstValue) ? firstValue.min : firstValue;\r\n range.max = (0, _type.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 = (0, _utils.unique)(range.categories)\r\n }\r\n return range\r\n}\r\n\r\nfunction getValueForArgument(point, extraPoint, x, range) {\r\n if (extraPoint && (0, _type.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 : _common.noop;\r\n if (argumentAxis && argumentAxis.getMarginOptions().checkInterval) {\r\n var range = series.getArgumentAxis().getTranslator().getBusinessRange();\r\n var add = (0, _utils.getAddFunction)(range, false);\r\n var interval = range.interval;\r\n if (isFinite(interval) && (0, _type.isDefined)(viewport.startValue) && (0, _type.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 && (0, _type.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((function(result, category) {\r\n result[category.valueOf()] = true;\r\n return result\r\n }), {});\r\n return function(argument) {\r\n return (0, _type.isDefined)(argument) && dictionary[argument.valueOf()]\r\n }\r\n }\r\n if (!(0, _type.isDefined)(viewport.startValue) && !(0, _type.isDefined)(viewport.endValue)) {\r\n return function() {\r\n return true\r\n }\r\n }\r\n if (!(0, _type.isDefined)(viewport.endValue)) {\r\n return function(argument) {\r\n return argument >= viewport.startValue\r\n }\r\n }\r\n if (!(0, _type.isDefined)(viewport.startValue)) {\r\n return function(argument) {\r\n return argument <= viewport.endValue\r\n }\r\n }\r\n return function(argument) {\r\n return argument >= viewport.startValue && argument <= viewport.endValue\r\n }\r\n}\r\nvar _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((function(item) {\r\n return item.argument\r\n }))\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 ((0, _type.isDefined)(viewport.startValue) || (0, _type.isDefined)(viewport.length)) {\r\n argumentCalculator(range.arg, argumentRange.min, argumentRange.min)\r\n }\r\n if ((0, _type.isDefined)(viewport.endValue) || (0, _type.isDefined)(viewport.length) && (0, _type.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 } : _common.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\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/viz/series/line_series.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.polar = exports.chart = void 0;\r\nvar _scatter_series = require(\"./scatter_series\");\r\nvar _object = require(\"../../core/utils/object\");\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _utils = require(\"../core/utils\");\r\nvar _math = require(\"../../core/utils/math\");\r\nvar DISCRETE = \"discrete\";\r\nvar round = Math.round,\r\n sqrt = Math.sqrt,\r\n pow = Math.pow,\r\n min = Math.min,\r\n max = Math.max,\r\n abs = Math.abs;\r\nvar chart = {};\r\nexports.chart = chart;\r\nvar polar = {};\r\nexports.polar = polar;\r\n\r\nfunction clonePoint(point, newX, newY, newAngle) {\r\n var p = (0, _object.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 = (0, _utils.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 (0, _math.solveCubicEquation)(a, b, c, d)\r\n}\r\nvar lineMethods = {\r\n autoHidePointMarkersEnabled: function() {\r\n return true\r\n },\r\n _applyGroupSettings: function(style, settings, group) {\r\n settings = (0, _extend.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 _scatter_series.chart._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 _scatter_series.chart._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: (0, _utils.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: (0, _utils.extractColor)(options.color, true) || 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 (0, _iterator.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 _scatter_series.chart._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 (0, _iterator.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 _scatter_series.chart._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: function(axis, coord) {\r\n if (!_scatter_series.chart.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 = (0, _extend.extend)({}, _scatter_series.chart, lineMethods, {\r\n getPointCenterByArg: function(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: function(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 = (0, _extend.extend)({}, lineSeries, {\r\n _calculateStepLinePoints: function(points) {\r\n var segment = [];\r\n var coordName = this._options.rotated ? \"x\" : \"y\";\r\n (0, _iterator.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 = (0, _object.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: function(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 = (0, _extend.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: function(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((function(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: function(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: function() {\r\n return this._segments.length > 0 ? this._segments.reduce((function(a, seg) {\r\n return a.concat(seg.line)\r\n }), []) : []\r\n }\r\n});\r\npolar.line = (0, _extend.extend)({}, _scatter_series.polar, 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 = (0, _utils.normalizeAngle)(angle);\r\n return angle >= 0 ? 360 - normAngle : -normAngle\r\n },\r\n _closeSegment: function(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: function(point, lastPoint) {\r\n if (lastPoint.angle === point.angle) {\r\n return\r\n }\r\n if ((0, _utils.normalizeAngle)(round(lastPoint.angle)) === (0, _utils.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: function(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 = function(prevPoint, point, _ref) {\r\n var x = _ref.x,\r\n y = _ref.y;\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 = (0, _utils.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((0, _math.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: function(param, paramName) {\r\n var points = this.getPoints();\r\n var neighborPoints = [];\r\n if (this.getOptions().closed) {\r\n points = (0, _extend.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\n","/**\r\n * DevExtreme (cjs/viz/series/pie_series.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.pie = exports.doughnut = exports.donut = void 0;\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _scatter_series = require(\"./scatter_series\");\r\nvar _utils = require(\"../core/utils\");\r\nvar _extend2 = require(\"../../core/utils/extend\");\r\nvar _bar_series = require(\"./bar_series\");\r\nvar chartScatterSeries = _scatter_series.chart;\r\nvar barSeries = _bar_series.chart.bar;\r\nvar _extend = _extend2.extend;\r\nvar _each = _iterator.each;\r\nvar _noop = _common.noop;\r\nvar _map = _utils.map;\r\nvar _isFinite = isFinite;\r\nvar _max = Math.max;\r\nvar ANIMATION_DURATION = .7;\r\nvar INSIDE = \"inside\";\r\nvar 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((function(p) {\r\n return p !== point\r\n }))\r\n }\r\n return point\r\n },\r\n adjustLabels: function(moveLabelsFromCenter) {\r\n return (this._points || []).reduce((function(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 var _this = this;\r\n return this._data.filter((function(d) {\r\n return _this._checkData(d)\r\n })).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: function(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 _pointOptions$color;\r\n var mainColor = (0, _utils.extractColor)(pointOptions.color, true) || this._getMainColor(data, point);\r\n var colorId = null === (_pointOptions$color = pointOptions.color) || void 0 === _pointOptions$color ? void 0 : _pointOptions$color.fillId;\r\n var hoverStyle = pointOptions.hoverStyle || {};\r\n var selectionStyle = pointOptions.selectionStyle || {};\r\n if (colorId) {\r\n this._turnOffHatching(hoverStyle, selectionStyle)\r\n }\r\n return {\r\n labelColor: mainColor,\r\n normal: this._parsePointStyle(pointOptions, mainColor, mainColor),\r\n hover: this._parsePointStyle(hoverStyle, colorId || mainColor, mainColor),\r\n selection: this._parsePointStyle(selectionStyle, colorId || mainColor, mainColor),\r\n legendStyles: {\r\n normal: this._createLegendState(pointOptions, mainColor),\r\n hover: this._createLegendState(hoverStyle, colorId || mainColor),\r\n selection: this._createLegendState(selectionStyle, colorId || 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) ? (0, _utils.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\nexports.pie = pie;\r\nvar doughnut = pie;\r\nexports.doughnut = doughnut;\r\nvar donut = pie;\r\nexports.donut = donut;\r\n","/**\r\n * DevExtreme (cjs/viz/series/points/bar_point.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _extend2 = require(\"../../../core/utils/extend\");\r\nvar _symbol_point = _interopRequireDefault(require(\"./symbol_point\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar _extend = _extend2.extend;\r\nvar _math = Math;\r\nvar _floor = _math.floor;\r\nvar _abs = _math.abs;\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\nvar _default = _extend({}, _symbol_point.default, {\r\n correctCoordinates: function(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 _this$_getVisibleArea = this._getVisibleArea(),\r\n minX = _this$_getVisibleArea.minX,\r\n maxX = _this$_getVisibleArea.maxX,\r\n minY = _this$_getVisibleArea.minY,\r\n maxY = _this$_getVisibleArea.maxY;\r\n this.inVisibleArea = minX < x + width && maxX > x && minY < y + height && maxY > y\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 = _symbol_point.default._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 _symbol_point.default._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: function(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 _that$getMarkerCoords = this.getMarkerCoords(),\r\n x = _that$getMarkerCoords.x,\r\n y = _that$getMarkerCoords.y,\r\n width = _that$getMarkerCoords.width,\r\n height = _that$getMarkerCoords.height;\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: function() {\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 x = this.x,\r\n y = this.y,\r\n width = this.width,\r\n height = this.height;\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: function() {\r\n var width = this.width,\r\n height = this.height,\r\n x = this.x,\r\n y = this.y;\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: function() {\r\n return this._options.rotated ? this.height : this.width\r\n },\r\n _translateErrorBars: function(argVisibleArea) {\r\n _symbol_point.default._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 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._calculateVisibility(rotated ? val : arg, rotated ? arg : val, this.width, this.height);\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\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/viz/series/points/base_point.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.Point = Point;\r\nvar _consts = _interopRequireDefault(require(\"../../components/consts\"));\r\nvar _symbol_point = _interopRequireDefault(require(\"./symbol_point\"));\r\nvar _bar_point = _interopRequireDefault(require(\"./bar_point\"));\r\nvar _bubble_point = _interopRequireDefault(require(\"./bubble_point\"));\r\nvar _pie_point = _interopRequireDefault(require(\"./pie_point\"));\r\nvar _range_symbol_point = _interopRequireDefault(require(\"./range_symbol_point\"));\r\nvar _range_bar_point = _interopRequireDefault(require(\"./range_bar_point\"));\r\nvar _candlestick_point = _interopRequireDefault(require(\"./candlestick_point\"));\r\nvar _stock_point = _interopRequireDefault(require(\"./stock_point\"));\r\nvar _polar_point = require(\"./polar_point\");\r\nvar _utils = require(\"../../core/utils\");\r\nvar _extend2 = require(\"../../../core/utils/extend\");\r\nvar _type = require(\"../../../core/utils/type\");\r\nvar _common = require(\"../../../core/utils/common\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar mixins = {};\r\nvar _extend = _extend2.extend;\r\nvar statesConsts = _consts.default.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\" === (0, _utils.normalizeEnum)(mode)\r\n}\r\n\r\nfunction 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 filter: null\r\n }\r\n}\r\nmixins.symbolPoint = _symbol_point.default;\r\nmixins.barPoint = _bar_point.default;\r\nmixins.bubblePoint = _bubble_point.default;\r\nmixins.piePoint = _pie_point.default;\r\nmixins.rangeSymbolPoint = _range_symbol_point.default;\r\nmixins.rangeBarPoint = _range_bar_point.default;\r\nmixins.candlestickPoint = _candlestick_point.default;\r\nmixins.stockPoint = _stock_point.default;\r\nmixins.polarSymbolPoint = _polar_point.polarSymbolPoint;\r\nmixins.polarBarPoint = _polar_point.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: function() {\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: function() {\r\n return this.series._argumentChecker(this.argument)\r\n },\r\n isValueCorrect: function() {\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: _common.noop,\r\n correctPosition: _common.noop,\r\n correctRadius: _common.noop,\r\n correctLabelRadius: _common.noop,\r\n getCrosshairData: _common.noop,\r\n getPointRadius: _common.noop,\r\n _populatePointShape: _common.noop,\r\n _checkSymbol: _common.noop,\r\n getMarkerCoords: _common.noop,\r\n hide: _common.noop,\r\n show: _common.noop,\r\n hideMarker: _common.noop,\r\n setInvisibility: _common.noop,\r\n clearVisibility: _common.noop,\r\n isVisible: _common.noop,\r\n resetCorrection: _common.noop,\r\n correctValue: _common.noop,\r\n resetValue: _common.noop,\r\n setPercentValue: _common.noop,\r\n correctCoordinates: _common.noop,\r\n coordsIn: _common.noop,\r\n getTooltipParams: _common.noop,\r\n applyWordWrap: _common.noop,\r\n setLabelTrackerData: _common.noop,\r\n updateLabelCoord: _common.noop,\r\n drawLabel: _common.noop,\r\n correctLabelPosition: _common.noop,\r\n getMinValue: _common.noop,\r\n getMaxValue: _common.noop,\r\n _drawErrorBar: _common.noop,\r\n getMarkerVisibility: _common.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((function(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 ((0, _type.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: function() {\r\n return {\r\n x: this.x,\r\n y: this.y\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (cjs/viz/series/points/bubble_point.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _extend2 = require(\"../../../core/utils/extend\");\r\nvar _symbol_point = _interopRequireDefault(require(\"./symbol_point\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar _extend = _extend2.extend;\r\nvar MIN_BUBBLE_HEIGHT = 20;\r\nvar _default = _extend({}, _symbol_point.default, {\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 = _symbol_point.default._getLabelFormatObject.call(this);\r\n formatObject.size = this.initialSize;\r\n return formatObject\r\n },\r\n _updateData: function(data) {\r\n _symbol_point.default._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 = _symbol_point.default._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 = _symbol_point.default._getLabelCoords.call(this, label)\r\n }\r\n return coords\r\n }\r\n});\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/viz/series/points/candlestick_point.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _extend2 = require(\"../../../core/utils/extend\");\r\nvar _symbol_point = _interopRequireDefault(require(\"./symbol_point\"));\r\nvar _bar_point = _interopRequireDefault(require(\"./bar_point\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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\nvar _default = (0, _extend2.extend)({}, _bar_point.default, {\r\n _calculateVisibility: _symbol_point.default._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: function() {\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 = _symbol_point.default;\r\n var formatObject = symbolMethods._getFormatObject.call(this, tooltip);\r\n return (0, _extend2.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\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/viz/series/points/label.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.Label = Label;\r\nvar _format_helper = _interopRequireDefault(require(\"../../../format_helper\"));\r\nvar _utils = require(\"../../core/utils\");\r\nvar _iterator = require(\"../../../core/utils/iterator\");\r\nvar _extend = require(\"../../../core/utils/extend\");\r\nvar _display_format_parser = require(\"../helpers/display_format_parser\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar _format = _format_helper.default.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 (0, _iterator.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 = (0, _utils.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((0, _utils.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 ? (0, _display_format_parser.processDisplayFormat)(options.displayFormat, data) : data.valueText\r\n}\r\n\r\nfunction 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 ? (0, _utils.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 = (0, _extend.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 = (0, _utils.rotateBBox)(bBox, [bBox.x + bBox.width / 2, bBox.y + bBox.height / 2], -rotationAngle);\r\n this._bBox = bBox\r\n },\r\n getFigureCenter: function() {\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: function() {\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 (cjs/viz/series/points/pie_point.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _extend2 = require(\"../../../core/utils/extend\");\r\nvar _symbol_point = _interopRequireDefault(require(\"./symbol_point\"));\r\nvar _utils = require(\"../../core/utils\");\r\nvar _type = require(\"../../../core/utils/type\");\r\nvar _consts = _interopRequireDefault(require(\"../../components/consts\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar _extend = _extend2.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\nvar RADIAL_LABEL_INDENT = _consts.default.radialLabelIndent;\r\nvar _default = _extend({}, _symbol_point.default, {\r\n _updateData: function(data, argumentChanged) {\r\n _symbol_point.default._updateData.call(this, data);\r\n if (argumentChanged || !(0, _type.isDefined)(this._visible)) {\r\n this._visible = true\r\n }\r\n this.minValue = this.initialMinValue = this.originalMinValue = (0, _type.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 = (0, _utils.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 = (0, _utils.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 ? (0, _utils.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 = (0, _utils.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 = (0, _utils.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 = _symbol_point.default._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\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/viz/series/points/polar_point.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.polarSymbolPoint = exports.polarBarPoint = void 0;\r\nvar _extend2 = require(\"../../../core/utils/extend\");\r\nvar _symbol_point = _interopRequireDefault(require(\"./symbol_point\"));\r\nvar _bar_point = _interopRequireDefault(require(\"./bar_point\"));\r\nvar _pie_point = _interopRequireDefault(require(\"./pie_point\"));\r\nvar _type = require(\"../../../core/utils/type\");\r\nvar _utils = require(\"../../core/utils\");\r\nvar _consts = _interopRequireDefault(require(\"../../components/consts\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar _extend = _extend2.extend;\r\nvar _math = Math;\r\nvar _max = _math.max;\r\nvar RADIAL_LABEL_INDENT = _consts.default.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\nvar polarSymbolPoint = _extend({}, _symbol_point.default, {\r\n _getLabelCoords: _pie_point.default._getLabelCoords,\r\n _getElementCoords: _pie_point.default._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 = (0, _utils.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: function() {\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 = (0, _type.isDefined)(coord.radius) && coord.radius >= 0 ? coord.radius : null;\r\n this.vx = (0, _utils.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: function(radius, maxRadius) {\r\n return (0, _type.isDefined)(radius) && radius <= maxRadius\r\n },\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 }(0, _type.isDefined)(this.lowError) && (this._lowErrorCoord = this.centerY - translator.translate(this.lowError));\r\n (0, _type.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 = (0, _utils.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 = _symbol_point.default._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\nexports.polarSymbolPoint = polarSymbolPoint;\r\nvar polarBarPoint = _extend({}, _bar_point.default, {\r\n _translateErrorBars: polarSymbolPoint._translateErrorBars,\r\n _getErrorBarSettings: polarSymbolPoint._getErrorBarSettings,\r\n _moveLabelOnCanvas: polarSymbolPoint._moveLabelOnCanvas,\r\n _getLabelCoords: _pie_point.default._getLabelCoords,\r\n _getElementCoords: _pie_point.default._getElementCoords,\r\n _getLabelConnector: _pie_point.default._getLabelConnector,\r\n getTooltipParams: _pie_point.default.getTooltipParams,\r\n _getLabelPosition: _pie_point.default._getLabelPosition,\r\n _getCoords: polarSymbolPoint._getCoords,\r\n _translate: function() {\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 = -(0, _utils.normalizeAngle)(this.middleAngleCorrection - this.angle)\r\n },\r\n _checkRadiusForVisibleArea: function(radius) {\r\n return (0, _type.isDefined)(radius) || this._getValTranslator().translate(this.minValue) > 0\r\n },\r\n _getErrorBarBaseEdgeLength: function() {\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 = (0, _utils.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 = (0, _utils.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\nexports.polarBarPoint = polarBarPoint;\r\n","/**\r\n * DevExtreme (cjs/viz/series/points/range_bar_point.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _common = require(\"../../../core/utils/common\");\r\nvar _extend2 = require(\"../../../core/utils/extend\");\r\nvar _bar_point = _interopRequireDefault(require(\"./bar_point\"));\r\nvar _range_symbol_point = _interopRequireDefault(require(\"./range_symbol_point\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar _extend = _extend2.extend;\r\nvar _default = _extend({}, _bar_point.default, {\r\n deleteLabel: _range_symbol_point.default.deleteLabel,\r\n _getFormatObject: _range_symbol_point.default._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 = _bar_point.default;\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: _range_symbol_point.default.hasCoords,\r\n _updateData: _range_symbol_point.default._updateData,\r\n _getLabelPosition: _range_symbol_point.default._getLabelPosition,\r\n _getLabelMinFormatObject: _range_symbol_point.default._getLabelMinFormatObject,\r\n _updateLabelData: _range_symbol_point.default._updateLabelData,\r\n _updateLabelOptions: _range_symbol_point.default._updateLabelOptions,\r\n getCrosshairData: _range_symbol_point.default.getCrosshairData,\r\n _createLabel: _range_symbol_point.default._createLabel,\r\n _checkOverlay: _range_symbol_point.default._checkOverlay,\r\n _checkLabelsOverlay: _range_symbol_point.default._checkLabelsOverlay,\r\n _getOverlayCorrections: _range_symbol_point.default._getOverlayCorrections,\r\n _drawLabel: _range_symbol_point.default._drawLabel,\r\n _getLabelCoords: _range_symbol_point.default._getLabelCoords,\r\n getLabel: _range_symbol_point.default.getLabel,\r\n getLabels: _range_symbol_point.default.getLabels,\r\n getBoundingRect: _common.noop,\r\n getMinValue: _range_symbol_point.default.getMinValue,\r\n getMaxValue: _range_symbol_point.default.getMaxValue\r\n});\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/viz/series/points/range_symbol_point.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _iterator = require(\"../../../core/utils/iterator\");\r\nvar _extend2 = require(\"../../../core/utils/extend\");\r\nvar _common = require(\"../../../core/utils/common\");\r\nvar _label = require(\"./label\");\r\nvar _symbol_point = _interopRequireDefault(require(\"./symbol_point\"));\r\nvar _type = require(\"../../../core/utils/type\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar _extend = _extend2.extend;\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\nvar _default = _extend({}, _symbol_point.default, {\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.Label(options);\r\n this._bottomLabel = new _label.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 (0, _iterator.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 ((0, _type.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 _symbol_point.default._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 _symbol_point.default.hasCoords.call(this) && !(null === this.minX || null === this.minY)\r\n },\r\n _updateData: function(data) {\r\n _symbol_point.default._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: _common.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\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/viz/series/points/stock_point.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _extend2 = require(\"../../../core/utils/extend\");\r\nvar _type = require(\"../../../core/utils/type\");\r\nvar _candlestick_point = _interopRequireDefault(require(\"./candlestick_point\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar _extend = _extend2.extend;\r\nvar _isNumeric = _type.isNumeric;\r\nvar _default = _extend({}, _candlestick_point.default, {\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\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/viz/series/points/symbol_point.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _extend2 = require(\"../../../core/utils/extend\");\r\nvar _iterator = require(\"../../../core/utils/iterator\");\r\nvar _common = require(\"../../../core/utils/common\");\r\nvar _window = require(\"../../../core/utils/window\");\r\nvar _label = require(\"./label\");\r\nvar _type = require(\"../../../core/utils/type\");\r\nvar _utils = require(\"../../core/utils\");\r\nvar window = (0, _window.getWindow)();\r\nvar _extend = _extend2.extend;\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\nvar _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.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 _this$_getVisibleArea = this._getVisibleArea(),\r\n minX = _this$_getVisibleArea.minX,\r\n maxX = _this$_getVisibleArea.maxX,\r\n minY = _this$_getVisibleArea.minY,\r\n maxY = _this$_getVisibleArea.maxY;\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 (0, _type.isDefined)(image) && (\"string\" === typeof image || (0, _type.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: _common.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: function() {\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 = (0, _utils.normalizeEnum)(errorBarOptions.displayMode);\r\n var isHighDisplayMode = \"high\" === displayMode;\r\n var isLowDisplayMode = \"low\" === displayMode;\r\n var highErrorOnly = (isHighDisplayMode || !(0, _type.isDefined)(low)) && (0, _type.isDefined)(high) && !isLowDisplayMode;\r\n var lowErrorOnly = (isLowDisplayMode || !(0, _type.isDefined)(high)) && (0, _type.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 && (0, _type.isDefined)(high) && (0, _type.isDefined)(low) && (0, _type.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 && (0, _iterator.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 = (0, _window.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 }(0, _type.isDefined)(this.lowError) && (this._lowErrorCoord = translator.translate(this.lowError));\r\n (0, _type.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);\r\n this.vy = this.y = argTranslator.translate(this.argument);\r\n this.minX = valTranslator.translate(this.minValue);\r\n this.defaultX = valTranslator.translate(CANVAS_POSITION_DEFAULT)\r\n } else {\r\n this.vy = this.y = valTranslator.translate(this.value);\r\n this.vx = this.x = argTranslator.translate(this.argument);\r\n this.minY = valTranslator.translate(this.minValue);\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 = (0, _type.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 }, (0, _type.isDefined)(labelFormatObject.percent) ? {\r\n percentText: tooltip.formatValue(labelFormatObject.percent, \"percent\")\r\n } : {}, (0, _type.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 && (0, _type.isDefined)(this.lowError) ? this.lowError : this.value;\r\n var highValue = \"low\" !== displayMode && (0, _type.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 && (0, _type.isDefined)(this.lowError) ? this.lowError : this.value;\r\n var highValue = \"low\" !== displayMode && (0, _type.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\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/viz/series/range_series.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.chart = void 0;\r\nvar _extend2 = require(\"../../core/utils/extend\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _utils = require(\"../core/utils\");\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _scatter_series = require(\"./scatter_series\");\r\nvar _bar_series = require(\"./bar_series\");\r\nvar _area_series = require(\"./area_series\");\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\n\r\nfunction _defineProperty(obj, key, value) {\r\n key = _toPropertyKey(key);\r\n if (key in obj) {\r\n Object.defineProperty(obj, key, {\r\n value: value,\r\n enumerable: true,\r\n configurable: true,\r\n writable: true\r\n })\r\n } else {\r\n obj[key] = value\r\n }\r\n return obj\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\r\nvar _extend = _extend2.extend;\r\nvar barSeries = _bar_series.chart.bar;\r\nvar areaSeries = _area_series.chart.area;\r\nvar chart = {};\r\nexports.chart = chart;\r\nvar baseRangeSeries = {\r\n areErrorBarsVisible: _common.noop,\r\n _createErrorBarGroup: _common.noop,\r\n _checkData: function(data, skippedFields) {\r\n var valueFields = this.getValueFields();\r\n return _scatter_series.chart._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: _scatter_series.chart.getValueRangeInitialValue,\r\n _getPointDataSelector: function(data) {\r\n var _this = this;\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 function(data) {\r\n return {\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 },\r\n _defaultAggregator: \"range\",\r\n _aggregators: {\r\n range: function(_ref, series) {\r\n var _data$reduce;\r\n var intervalStart = _ref.intervalStart,\r\n intervalEnd = _ref.intervalEnd,\r\n data = _ref.data;\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((function(result, item) {\r\n var val1 = item[val1Field];\r\n var val2 = item[val2Field];\r\n if (!(0, _type.isDefined)(val1) || !(0, _type.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 }), (_data$reduce = {}, _defineProperty(_data$reduce, val1Field, 1 / 0), _defineProperty(_data$reduce, val2Field, -1 / 0), _defineProperty(_data$reduce, series.getArgumentField(), series._getIntervalCenter(intervalStart, intervalEnd)), _data$reduce));\r\n if (!isFinite(result[val1Field]) || !isFinite(result[val2Field])) {\r\n if (data.filter((function(i) {\r\n return null === i[val1Field] && null === i[val2Field]\r\n })).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: function(coord, isArgument) {\r\n var oppositeCoord = null;\r\n var rotated = this._options.rotated;\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 = (0, _utils.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: (0, _utils.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\n","/**\r\n * DevExtreme (cjs/viz/series/scatter_series.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.polar = exports.chart = void 0;\r\nvar _extend3 = require(\"../../core/utils/extend\");\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _range_data_calculator = _interopRequireDefault(require(\"./helpers/range_data_calculator\"));\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _utils = require(\"../core/utils\");\r\nvar _common = require(\"../../core/utils/common\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction _typeof(obj) {\r\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n } : function(obj) {\r\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }, _typeof(obj)\r\n}\r\n\r\nfunction _defineProperty(obj, key, value) {\r\n key = _toPropertyKey(key);\r\n if (key in obj) {\r\n Object.defineProperty(obj, key, {\r\n value: value,\r\n enumerable: true,\r\n configurable: true,\r\n writable: true\r\n })\r\n } else {\r\n obj[key] = value\r\n }\r\n return obj\r\n}\r\n\r\nfunction _toPropertyKey(arg) {\r\n var key = _toPrimitive(arg, \"string\");\r\n return \"symbol\" === _typeof(key) ? key : String(key)\r\n}\r\n\r\nfunction _toPrimitive(input, hint) {\r\n if (\"object\" !== _typeof(input) || null === input) {\r\n return input\r\n }\r\n var prim = input[Symbol.toPrimitive];\r\n if (void 0 !== prim) {\r\n var res = prim.call(input, hint || \"default\");\r\n if (\"object\" !== _typeof(res)) {\r\n return res\r\n }\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === hint ? String : Number)(input)\r\n}\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\nexports.chart = chart;\r\nvar polar = {};\r\nexports.polar = polar;\r\n\r\nfunction sum(array) {\r\n var result = 0;\r\n (0, _iterator.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((0, _utils.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 ((0, _type.isDefined)(item[lowValueField])) {\r\n result[0] += item[valueField] - item[lowValueField];\r\n result[1]++\r\n }\r\n if ((0, _type.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 function(_ref, series) {\r\n var intervalStart = _ref.intervalStart,\r\n intervalEnd = _ref.intervalEnd,\r\n data = _ref.data;\r\n var valueField = series.getValueFields()[0];\r\n var targetData = data[0];\r\n targetData = data.reduce((function(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 (0, _extend3.extend)({}, targetData, _defineProperty({}, series.getArgumentField(), series._getIntervalCenter(intervalStart, intervalEnd)))\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 ? !(0, _type.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: _common.noop,\r\n _updateOptions: _common.noop,\r\n _parseStyle: _common.noop,\r\n _prepareSegment: _common.noop,\r\n _drawSegment: _common.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: (0, _utils.extractColor)(styleOptions.color, true) || defaultColor,\r\n hatching: styleOptions.hatching ? (0, _extend3.extend)({}, styleOptions.hatching, {\r\n direction: \"right\"\r\n }) : void 0\r\n }\r\n },\r\n _getColorId: _common.noop,\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((0, _utils.normalizeEnum)(errorBarOptions.type)) || (0, _type.isDefined)(errorBarOptions.lowValueField) || (0, _type.isDefined)(errorBarOptions.highValueField))\r\n },\r\n groupPointsByCoords: function(rotated) {\r\n var cat = [];\r\n (0, _iterator.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 = (0, _extend3.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: (0, _utils.extractColor)(style.color, true) || 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 = (0, _utils.extractColor)(pointOptions.color, true) || 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 labelColor: mainPointColor,\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: function() {\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 _range_data_calculator.default.getRangeData(this)\r\n },\r\n _getPointDataSelector: function() {\r\n var _this = this;\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 function(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 (0, _iterator.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: function(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: function(_ref2, series) {\r\n var _calculateAvgErrorBar;\r\n var data = _ref2.data,\r\n intervalStart = _ref2.intervalStart,\r\n intervalEnd = _ref2.intervalEnd;\r\n if (!data.length) {\r\n return\r\n }\r\n var valueField = series.getValueFields()[0];\r\n var aggregationResult = data.reduce((function(result, item) {\r\n var value = item[valueField];\r\n if ((0, _type.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((_calculateAvgErrorBar = {}, _defineProperty(_calculateAvgErrorBar, valueField, aggregationResult[2] === data.length ? null : aggregationResult[0] / aggregationResult[1]), _defineProperty(_calculateAvgErrorBar, series.getArgumentField(), series._getIntervalCenter(intervalStart, intervalEnd)), _calculateAvgErrorBar), data, series)\r\n },\r\n sum: function(_ref3, series) {\r\n var _calculateSumErrorBar;\r\n var intervalStart = _ref3.intervalStart,\r\n intervalEnd = _ref3.intervalEnd,\r\n data = _ref3.data;\r\n if (!data.length) {\r\n return\r\n }\r\n var valueField = series.getValueFields()[0];\r\n var aggregationResult = data.reduce((function(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((_calculateSumErrorBar = {}, _defineProperty(_calculateSumErrorBar, valueField, value), _defineProperty(_calculateSumErrorBar, series.getArgumentField(), series._getIntervalCenter(intervalStart, intervalEnd)), _calculateSumErrorBar), data, series)\r\n },\r\n count: function(_ref4, series) {\r\n var _ref5;\r\n var data = _ref4.data,\r\n intervalStart = _ref4.intervalStart,\r\n intervalEnd = _ref4.intervalEnd;\r\n var valueField = series.getValueFields()[0];\r\n return _ref5 = {}, _defineProperty(_ref5, series.getArgumentField(), series._getIntervalCenter(intervalStart, intervalEnd)), _defineProperty(_ref5, valueField, data.filter((function(i) {\r\n return void 0 !== i[valueField]\r\n })).length), _ref5\r\n },\r\n min: getMinMaxAggregator((function(a, b) {\r\n return a < b\r\n })),\r\n max: getMinMaxAggregator((function(a, b) {\r\n return a > b\r\n }))\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 (0, _type.isString)(lowValueField) && valueFields.push(lowValueField);\r\n (0, _type.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 = (0, _utils.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 = (0, _utils.map)(data, (function(item) {\r\n return (0, _type.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 && (0, _iterator.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: function() {\r\n return true\r\n }\r\n};\r\nexports.chart = chart = (0, _extend3.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 (0, _iterator.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: function(isArgument, coord) {\r\n var axis = isArgument ? this.getArgumentAxis() : this.getValueAxis();\r\n var visibleArea = axis.getVisibleArea();\r\n return (0, _type.isDefined)(coord) && visibleArea[0] <= coord && visibleArea[1] >= coord\r\n },\r\n checkSeriesViewportCoord: function(axis, coord) {\r\n return this.getPoints().length && this.isVisible()\r\n },\r\n getSeriesPairCoord: function(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: function(point, nextPoint) {\r\n return [point, nextPoint]\r\n },\r\n _getBezierPoints: function() {\r\n return []\r\n },\r\n _getNearestPointsByCoord: function(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((function(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 (0, _iterator.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: function(arg) {\r\n var point = this.getPointsByArg(arg)[0];\r\n return point ? point.getCenterCoord() : void 0\r\n }\r\n});\r\nexports.polar = polar = (0, _extend3.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 }(0, _iterator.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 = (0, _utils.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: function(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 = (0, _type.isDefined)(p[paramName]) && (0, _type.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 ((0, _type.isDefined)(tmpPoint)) {\r\n coords = tmpPoint;\r\n break\r\n }\r\n }\r\n return coords\r\n }\r\n});\r\n","/**\r\n * DevExtreme (cjs/viz/series/stacked_series.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.polar = exports.chart = void 0;\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _extend2 = require(\"../../core/utils/extend\");\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _area_series = require(\"./area_series\");\r\nvar _bar_series = require(\"./bar_series\");\r\nvar _line_series = require(\"./line_series\");\r\nvar _utils = require(\"../core/utils\");\r\nvar _object = require(\"../../core/utils/object\");\r\nvar chartAreaSeries = _area_series.chart.area;\r\nvar chartBarSeries = _bar_series.chart.bar;\r\nvar baseStackedSeries = {\r\n _calculateErrorBars: _common.noop,\r\n _updateOptions: function(options) {\r\n this._stackName = \"axis_\" + (options.axis || \"default\")\r\n }\r\n};\r\nvar chart = {};\r\nexports.chart = chart;\r\nvar polar = {};\r\nexports.polar = polar;\r\nchart.stackedline = (0, _extend2.extend)({}, _line_series.chart.line, baseStackedSeries, {});\r\nchart.stackedspline = (0, _extend2.extend)({}, _line_series.chart.spline, baseStackedSeries, {});\r\nchart.fullstackedline = (0, _extend2.extend)({}, _line_series.chart.line, baseStackedSeries, {\r\n getValueRangeInitialValue: _area_series.chart.area.getValueRangeInitialValue\r\n});\r\nchart.fullstackedspline = (0, _extend2.extend)({}, _line_series.chart.spline, baseStackedSeries, {\r\n getValueRangeInitialValue: _area_series.chart.area.getValueRangeInitialValue\r\n});\r\nvar stackedBar = chart.stackedbar = (0, _extend2.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 = (0, _extend2.extend)({}, chartBarSeries, baseStackedSeries, {\r\n _updateOptions: stackedBar._updateOptions\r\n});\r\n\r\nfunction clonePoint(point, value, minValue, position) {\r\n point = (0, _object.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 = (0, _extend2.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 = (0, _extend2.extend)({}, _area_series.chart.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 = _area_series.chart.splinearea._prepareSegment.call(this, points, rotated)\r\n } else {\r\n var forwardPoints = _line_series.chart.spline._calculateBezierPoints(points, rotated);\r\n var backwardPoints = (0, _utils.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 }(0, _iterator.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 = _line_series.chart.spline._calculateBezierPoints(backwardPoints, rotated);\r\n (0, _iterator.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 = (0, _extend2.extend)({}, chartAreaSeries, baseStackedSeries, {\r\n _prepareSegment: chart.stackedarea._prepareSegment,\r\n _appendInGroup: chart.stackedarea._appendInGroup\r\n});\r\nchart.fullstackedsplinearea = (0, _extend2.extend)({}, _area_series.chart.splinearea, baseStackedSeries, {\r\n _prepareSegment: chart.stackedsplinearea._prepareSegment,\r\n _appendInGroup: chart.stackedarea._appendInGroup\r\n});\r\npolar.stackedbar = (0, _extend2.extend)({}, _bar_series.polar.bar, baseStackedSeries, {});\r\n","/**\r\n * DevExtreme (cjs/viz/sparkline.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _sparkline = _interopRequireDefault(require(\"./sparklines/sparkline\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar _default = _sparkline.default;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/viz/sparklines/base_sparkline.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _dom_adapter = _interopRequireDefault(require(\"../../core/dom_adapter\"));\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _base_widget = _interopRequireDefault(require(\"../core/base_widget\"));\r\nvar _extend2 = require(\"../../core/utils/extend\");\r\nvar _index = require(\"../../events/utils/index\");\r\nvar _pointer = _interopRequireDefault(require(\"../../events/pointer\"));\r\nvar _utils = require(\"../core/utils\");\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _translator2d = require(\"../translators/translator2d\");\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _tooltip = require(\"../core/tooltip\");\r\nvar _export = require(\"../core/export\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar DEFAULT_LINE_SPACING = 2;\r\nvar TOOLTIP_TABLE_BORDER_SPACING = 0;\r\nvar TOOLTIP_TABLE_KEY_VALUE_SPACE = 15;\r\nvar EVENT_NS = \"sparkline-tooltip\";\r\nvar POINTER_ACTION = (0, _index.addNamespace)([_pointer.default.down, _pointer.default.move], EVENT_NS);\r\nvar _extend = _extend2.extend;\r\nvar _floor = Math.floor;\r\n\r\nfunction inCanvas(_ref, x, y) {\r\n var width = _ref.width,\r\n height = _ref.height;\r\n return (0, _utils.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 data = _ref2.data;\r\n var that = data.widget;\r\n that._enableOutHandler();\r\n that._showTooltip()\r\n}\r\n\r\nfunction getDefaultTemplate(_ref3, textAlign) {\r\n var lineSpacing = _ref3.lineSpacing,\r\n size = _ref3.size;\r\n var lineHeight = \"\".concat((null !== lineSpacing && void 0 !== lineSpacing ? lineSpacing : DEFAULT_LINE_SPACING) + size, \"px\");\r\n return function(_ref4, container) {\r\n var valueText = _ref4.valueText;\r\n var table = (0, _renderer.default)(\"<table>\").css({\r\n borderSpacing: TOOLTIP_TABLE_BORDER_SPACING,\r\n lineHeight: lineHeight\r\n });\r\n for (var i = 0; i < valueText.length; i += 2) {\r\n var tr = (0, _renderer.default)(\"<tr>\");\r\n (0, _renderer.default)(\"<td>\").text(valueText[i]).appendTo(tr);\r\n (0, _renderer.default)(\"<td>\").css({\r\n width: TOOLTIP_TABLE_KEY_VALUE_SPACE\r\n }).appendTo(tr);\r\n (0, _renderer.default)(\"<td>\").css({\r\n textAlign: textAlign\r\n }).text(valueText[i + 1]).appendTo(tr);\r\n table.append(tr)\r\n }\r\n container.append(table)\r\n }\r\n}\r\n\r\nfunction createAxis(isHorizontal) {\r\n var translator = new _translator2d.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: function() {\r\n var visibleArea = translator.getCanvasVisibleArea();\r\n return [visibleArea.min, visibleArea.max]\r\n },\r\n visualRange: _common.noop,\r\n calculateInterval: _common.noop,\r\n getMarginOptions: function() {\r\n return {}\r\n },\r\n aggregatedPointBetweenTicks: function() {\r\n return false\r\n }\r\n }\r\n}\r\nvar _initTooltip;\r\nvar BaseSparkline = _base_widget.default.inherit({\r\n _getLayoutItems: _common.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: _common.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: function() {\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: function() {\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: function() {\r\n if (this._tooltipShown) {\r\n this._tooltipShown = false;\r\n this._tooltip.hide()\r\n }\r\n },\r\n _stopCurrentHandling: function() {\r\n this._hideTooltip()\r\n },\r\n _enableOutHandler: function() {\r\n var that = this;\r\n if (that._outHandler) {\r\n return\r\n }\r\n var handler = function(_ref5) {\r\n var pageX = _ref5.pageX,\r\n pageY = _ref5.pageY;\r\n var _that$_renderer$getRo = that._renderer.getRootOffset(),\r\n left = _that$_renderer$getRo.left,\r\n top = _that$_renderer$getRo.top;\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 _events_engine.default.on(_dom_adapter.default.getDocument(), POINTER_ACTION, handler);\r\n this._outHandler = handler\r\n },\r\n _disableOutHandler: function() {\r\n this._outHandler && _events_engine.default.off(_dom_adapter.default.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\nvar _default = BaseSparkline;\r\nexports.default = _default;\r\nBaseSparkline.addPlugin(_tooltip.plugin);\r\n_initTooltip = BaseSparkline.prototype._initTooltip;\r\nBaseSparkline.prototype._initTooltip = _common.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 if (this._tooltip) {\r\n var options = this._getOption(\"tooltip\");\r\n var defaultContentTemplate = this._getDefaultTooltipTemplate(options);\r\n var contentTemplateOptions = defaultContentTemplate ? {\r\n contentTemplate: defaultContentTemplate\r\n } : {};\r\n var optionsToUpdate = _extend(contentTemplateOptions, options, {\r\n enabled: options.enabled && this._isTooltipEnabled()\r\n });\r\n this._tooltip.update(optionsToUpdate)\r\n }\r\n};\r\nBaseSparkline.prototype._getDefaultTooltipTemplate = function(options) {\r\n var defaultTemplateNeeded = true;\r\n var textAlign = this.option(\"rtlEnabled\") ? \"left\" : \"right\";\r\n if ((0, _type.isFunction)(options.customizeTooltip)) {\r\n var _options$customizeToo;\r\n this._tooltip.update(options);\r\n var formatObject = this._getTooltipData();\r\n var customizeResult = null !== (_options$customizeToo = options.customizeTooltip.call(formatObject, formatObject)) && void 0 !== _options$customizeToo ? _options$customizeToo : {};\r\n defaultTemplateNeeded = !(\"html\" in customizeResult) && !(\"text\" in customizeResult)\r\n }\r\n return defaultTemplateNeeded && getDefaultTemplate(options.font, textAlign)\r\n};\r\nvar exportPlugin = (0, _extend2.extend)(true, {}, _export.plugin, {\r\n init: _common.noop,\r\n dispose: _common.noop,\r\n customize: null,\r\n members: {\r\n _getExportMenuOptions: null\r\n }\r\n});\r\nBaseSparkline.addPlugin(exportPlugin);\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/viz/sparklines/bullet.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _base_sparkline = _interopRequireDefault(require(\"./base_sparkline\"));\r\nvar _component_registrator = _interopRequireDefault(require(\"../../core/component_registrator\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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 = _base_sparkline.default.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\n(0, _iterator.each)([\"color\", \"targetColor\", \"targetWidth\", \"showTarget\", \"showZeroLevel\", \"value\", \"target\", \"startScaleValue\", \"endScaleValue\"], (function(_, name) {\r\n dxBullet.prototype._optionChangesMap[name] = \"OPTIONS\"\r\n}));\r\n(0, _component_registrator.default)(\"dxBullet\", dxBullet);\r\nvar _default = dxBullet;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/viz/sparklines/sparkline.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _base_sparkline = _interopRequireDefault(require(\"./base_sparkline\"));\r\nvar _data_validator = require(\"../components/data_validator\");\r\nvar _base_series = require(\"../series/base_series\");\r\nvar _utils = require(\"../core/utils\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _component_registrator = _interopRequireDefault(require(\"../../core/component_registrator\"));\r\nvar _data_source = require(\"../core/data_source\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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\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 (0, _utils.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 (0, _utils.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 = _base_sparkline.default.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 = (0, _utils.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 _base_series.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 = (0, _data_validator.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 = (0, _type.isDefined)(minValue) && _isFinite(minValue);\r\n var maxValue = this._allOptions.maxValue;\r\n var hasMaxY = (0, _type.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 = (0, _type.isDefined)(minMax.minIndexes[0]) ? dataSource[minMax.minIndexes[0]][valueField] : first;\r\n var max = (0, _type.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(0, _utils.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\n(0, _component_registrator.default)(\"dxSparkline\", dxSparkline);\r\nvar _default = dxSparkline;\r\nexports.default = _default;\r\ndxSparkline.addPlugin(_data_source.plugin);\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/viz/themes.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.addCacheItem = addCacheItem;\r\nexports.currentTheme = currentTheme;\r\nexports.getTheme = getTheme;\r\nexports.refreshTheme = refreshTheme;\r\nexports.registerTheme = registerTheme;\r\nexports.registerThemeSchemeAlias = registerThemeSchemeAlias;\r\nexports.removeCacheItem = removeCacheItem;\r\nvar _extend2 = require(\"../core/utils/extend\");\r\nvar _iterator = require(\"../core/utils/iterator\");\r\nvar _utils = require(\"./core/utils\");\r\nvar _themes = require(\"../ui/themes\");\r\nvar _type = require(\"../core/utils/type\");\r\nvar _generic = _interopRequireDefault(require(\"./core/themes/generic.light\"));\r\nvar _generic2 = _interopRequireDefault(require(\"./core/themes/generic.carmine\"));\r\nvar _generic3 = _interopRequireDefault(require(\"./core/themes/generic.dark\"));\r\nvar _generic4 = _interopRequireDefault(require(\"./core/themes/generic.contrast\"));\r\nvar _generic5 = _interopRequireDefault(require(\"./core/themes/generic.darkmoon\"));\r\nvar _generic6 = _interopRequireDefault(require(\"./core/themes/generic.darkviolet\"));\r\nvar _generic7 = _interopRequireDefault(require(\"./core/themes/generic.greenmist\"));\r\nvar _generic8 = _interopRequireDefault(require(\"./core/themes/generic.softblue\"));\r\nvar _material = _interopRequireDefault(require(\"./core/themes/material\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar themes = {};\r\nvar themesMapping = {};\r\nvar themesSchemeMapping = {};\r\nvar _extend = _extend2.extend;\r\nvar _each = _iterator.each;\r\nvar currentThemeName = null;\r\nvar defaultTheme;\r\nvar nextCacheUid = 0;\r\nvar widgetsCache = {};\r\n\r\nfunction getTheme(themeName) {\r\n var name = (0, _utils.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\n\r\nfunction currentTheme(themeName, colorScheme) {\r\n if (!arguments.length) {\r\n return currentThemeName || findThemeNameByName((0, _themes.current)()) || defaultTheme\r\n }\r\n var scheme = (0, _utils.normalizeEnum)(colorScheme);\r\n currentThemeName = (themeName && themeName.platform ? findThemeNameByPlatform((0, _utils.normalizeEnum)(themeName.platform), themeName.version, scheme) : findThemeNameByName((0, _utils.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\n\r\nfunction registerTheme(theme, baseThemeName) {\r\n var themeName = (0, _utils.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\n\r\nfunction 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\n\r\nfunction addCacheItem(target) {\r\n var cacheUid = ++nextCacheUid;\r\n target._cache = cacheUid;\r\n widgetsCache[cacheUid] = target\r\n}\r\n\r\nfunction removeCacheItem(target) {\r\n delete widgetsCache[target._cache]\r\n}\r\n\r\nfunction refreshTheme() {\r\n _each(widgetsCache, (function() {\r\n this.refresh()\r\n }));\r\n return this\r\n}\r\nif ((0, _type.isEmptyObject)(themes) && (0, _type.isEmptyObject)(themesMapping) && !defaultTheme) {\r\n [].concat(_generic.default, _generic2.default, _generic3.default, _generic4.default, _generic5.default, _generic6.default, _generic7.default, _generic8.default, _material.default).forEach((function(t) {\r\n registerTheme(t.theme, t.baseThemeName)\r\n }))\r\n}\r\n","/**\r\n * DevExtreme (cjs/viz/translators/category_translator.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _math = require(\"../../core/utils/math\");\r\nvar round = Math.round;\r\n\r\nfunction getValue(value) {\r\n return value\r\n}\r\nvar _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 ((0, _type.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((0, _math.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 = (0, _type.isDefined)(min) ? this.translate(min, -stickOffset) : null;\r\n var maxPoint = (0, _type.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 (0, _type.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: function(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\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/viz/translators/datetime_translator.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _date = _interopRequireDefault(require(\"../../core/utils/date\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction parse(value) {\r\n return null !== value ? new Date(value) : value\r\n}\r\nvar _default = {\r\n fromValue: parse,\r\n toValue: parse,\r\n _add: _date.default.addDateInterval,\r\n convert: _date.default.dateToMilliseconds\r\n};\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/viz/translators/interval_translator.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _date = _interopRequireDefault(require(\"../../core/utils/date\"));\r\nvar _math = require(\"../../core/utils/math\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar floor = Math.floor;\r\nvar _default = {\r\n _intervalize: function(value, interval) {\r\n if (!(0, _type.isDefined)(value)) {\r\n return\r\n }\r\n if (\"datetime\" === this._businessRange.dataType) {\r\n if ((0, _type.isNumeric)(value)) {\r\n value = new Date(value)\r\n } else {\r\n value = new Date(value.getTime())\r\n }\r\n value = _date.default.correctDateWithUnitBeginning(value, interval, null, this._options.firstDayOfWeek)\r\n } else {\r\n value = (0, _math.adjust)(floor((0, _math.adjust)(value / interval)) * interval, interval)\r\n }\r\n return value\r\n },\r\n translate: function(bp, direction, interval) {\r\n var specialValue = this.translateSpecialCase(bp);\r\n if ((0, _type.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, 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 && (0, _type.isNumeric)(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() >= _date.default.addInterval(rangeMax, interval)) {\r\n return false\r\n }\r\n return true\r\n },\r\n to: function(bp, direction, interval) {\r\n interval = interval || this._options.interval;\r\n var v1 = this._intervalize(bp, interval);\r\n var v2 = _date.default.addInterval(v1, interval);\r\n var res = this._to(v1);\r\n var p2 = this._to(v2);\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) {\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 = _date.default.addInterval(rMax, this._options.interval) - rMin\r\n }\r\n return this._conversionValue(this._calculateProjection(offset * this._canvasOptions.ratioOfCanvasRange))\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 = _date.default.dateToMilliseconds(origInterval)\r\n }\r\n value = this._calculateUnProjection((position - this._canvasOptions.startPoint) / this._canvasOptions.ratioOfCanvasRange);\r\n value = this._intervalize(_date.default.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\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/viz/translators/logarithmic_translator.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _utils = require(\"../core/utils\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _default = {\r\n fromValue: function(value) {\r\n return null !== value ? (0, _utils.getLogExt)(value, this._canvasOptions.base, this._businessRange.allowNegatives, this._businessRange.linearThreshold) : value\r\n },\r\n toValue: function(value) {\r\n return null !== value ? (0, _utils.raiseToExt)(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 ((0, _type.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\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/viz/translators/range.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.Range = void 0;\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _utils = require(\"../core/utils\");\r\nvar _isDefined = _type.isDefined;\r\nvar _isDate = _type.isDate;\r\nvar _isFunction = _type.isFunction;\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\nvar Range = function(range) {\r\n range && (0, _extend.extend)(this, range)\r\n};\r\nexports.Range = Range;\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 ? (0, _utils.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: function(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((function(item) {\r\n return item.valueOf()\r\n }));\r\n var filteredSeriesCategories = this.categories.filter((function(item) {\r\n return -1 === sortValues.indexOf(item.valueOf())\r\n }));\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 = function(a, b) {\r\n return a.valueOf() - b.valueOf()\r\n }\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 (cjs/viz/translators/translator1d.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.Translator1D = Translator1D;\r\nvar _Number = Number;\r\n\r\nfunction 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: function(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 (cjs/viz/translators/translator2d.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.Translator2D = void 0;\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _range = require(\"./range\");\r\nvar _category_translator = _interopRequireDefault(require(\"./category_translator\"));\r\nvar _interval_translator = _interopRequireDefault(require(\"./interval_translator\"));\r\nvar _datetime_translator = _interopRequireDefault(require(\"./datetime_translator\"));\r\nvar _logarithmic_translator = _interopRequireDefault(require(\"./logarithmic_translator\"));\r\nvar _utils = require(\"../core/utils\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _math = require(\"../../core/utils/math\");\r\nvar _date = _interopRequireDefault(require(\"../../core/utils/date\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar _abs = Math.abs;\r\nvar CANVAS_PROP = [\"width\", \"height\", \"left\", \"top\", \"bottom\", \"right\"];\r\nvar dummyTranslator = {\r\n to: function(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: function(value) {\r\n return value - this._canvasOptions.startPoint\r\n }\r\n};\r\nvar validateCanvas = function(canvas) {\r\n (0, _iterator.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.Range)) {\r\n businessRange = new _range.Range(businessRange)\r\n }\r\n\r\n function validate(valueSelector, baseValueSelector) {\r\n if (!(0, _type.isDefined)(businessRange[valueSelector]) && (0, _type.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 (0, _utils.getLogExt)(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 = (0, _utils.getLogExt)(maxVisible, range.base, range.allowNegatives, range.linearThreshold);\r\n minVisible = (0, _utils.getLogExt)(minVisible, range.base, range.allowNegatives, range.linearThreshold);\r\n min = (0, _utils.getLogExt)(min, range.base, range.allowNegatives, range.linearThreshold);\r\n max = (0, _utils.getLogExt)(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\nexports.Translator2D = _Translator2d;\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 = (0, _utils.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 = _logarithmic_translator.default;\r\n break;\r\n case \"semidiscrete\":\r\n script = _interval_translator.default;\r\n canvasOptions.ratioOfCanvasRange = canvasOptions.canvasLength / (_date.default.addInterval(canvasOptions.rangeMaxVisible, options.interval) - canvasOptions.rangeMinVisible);\r\n break;\r\n case \"discrete\":\r\n script = _category_translator.default;\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 = _datetime_translator.default\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 (0, _extend.extend)(that, script);\r\n that._conversionValue = options.conversionValue ? function(value) {\r\n return value\r\n } : function(value) {\r\n return Math.round(value)\r\n };\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: function() {\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, (0, _utils.getPower)(canvasOptions.rangeMax - canvasOptions.rangeMin) - (0, _utils.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 = (0, _extend.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 (!(0, _type.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: function(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) - (!(0, _type.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: function(bp, direction) {\r\n var specialValue = this.translateSpecialCase(bp);\r\n if ((0, _type.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)\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: function(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 = (0, _type.isDefined)(min) ? min : (0, _math.adjust)(this.from(newStart, 1));\r\n max = (0, _type.isDefined)(max) ? max : (0, _math.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: (0, _math.adjust)(translate),\r\n scale: (0, _math.adjust)(scale)\r\n }\r\n },\r\n _correctValueAboutBreaks: function(value, direction) {\r\n var br = this._userBreaks.filter((function(br) {\r\n return value >= br.from && value <= br.to\r\n }));\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: function(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 = (0, _type.isDate)(max) || (0, _type.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 ? (0, _math.adjust)((0, _utils.raiseToExt)(newMin, canvasOptions.base)) : isDateTime ? new Date(newMin) : newMin;\r\n newMax = isLogarithmic ? (0, _math.adjust)((0, _utils.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 _this$_businessRange = this._businessRange,\r\n dataType = _this$_businessRange.dataType,\r\n interval = _this$_businessRange.interval;\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: function(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 = (0, _type.isDefined)(val1) ? this.fromValue(val1) : canvasOptions.rangeMin;\r\n val2 = (0, _type.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) {\r\n var range = this.getBusinessRange();\r\n if ((0, _type.isDefined)(range.maxVisible) && (0, _type.isDefined)(range.minVisible) && range.maxVisible.valueOf() === range.minVisible.valueOf()) {\r\n if (!(0, _type.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 = (0, _type.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))\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 = (0, _type.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: function() {\r\n return this._canvasOptions.ratioOfCanvasRange\r\n },\r\n convert: function(value) {\r\n return value\r\n },\r\n getRangeByMinZoomValue: function(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\n","/**\r\n * DevExtreme (cjs/viz/tree_map.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _tree_map = _interopRequireDefault(require(\"./tree_map/tree_map\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar _default = _tree_map.default;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/viz/tree_map/api.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _tree_map = _interopRequireDefault(require(\"./tree_map.base\"));\r\nvar _node = _interopRequireDefault(require(\"./node\"));\r\nvar _extend2 = require(\"../../core/utils/extend\");\r\nvar _common = require(\"../../core/utils/common\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar proto = _tree_map.default.prototype;\r\nvar nodeProto = _node.default.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 (0, _extend2.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 = _common.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 (0, _extend2.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 = (0, _extend2.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 (cjs/viz/tree_map/colorizing.discrete.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _colorizing = require(\"./colorizing\");\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}(0, _colorizing.addColorizer)(\"discrete\", discreteColorizer);\r\nvar _default = discreteColorizer;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/viz/tree_map/colorizing.gradient.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _colorizing = require(\"./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 = (0, _colorizing.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}(0, _colorizing.addColorizer)(\"gradient\", gradientColorizer);\r\nvar _default = gradientColorizer;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/viz/tree_map/colorizing.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.addColorizer = addColorizer;\r\nexports.createColorCodeGetter = createColorCodeGetter;\r\nexports.getColorizer = getColorizer;\r\nexports.setDefaultColorizer = setDefaultColorizer;\r\nvar _utils = require(\"../core/utils\");\r\nvar _common = require(\"../../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\n\r\nfunction getColorizer(options, themeManager, root) {\r\n var type = (0, _utils.normalizeEnum)(options.type || defaultColorizerName);\r\n var colorizer = colorizers[type] && colorizers[type](options, themeManager, root);\r\n return colorizer ? (options.colorizeGroups ? wrapGroupColorGetter : wrapLeafColorGetter)(colorizer) : _common.noop\r\n}\r\n\r\nfunction addColorizer(name, colorizer) {\r\n colorizers[name] = colorizer\r\n}\r\n\r\nfunction 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\n\r\nfunction createColorCodeGetter(options) {\r\n return options.colorCodeField ? createColorCode(options.colorCodeField) : getValueAsColorCode\r\n}\r\n","/**\r\n * DevExtreme (cjs/viz/tree_map/colorizing.range.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _colorizing = require(\"./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 = (0, _colorizing.createColorCodeGetter)(options);\r\n return function(node) {\r\n return palette.getColor(getPaletteIndex(getValue(node), range))\r\n }\r\n}(0, _colorizing.addColorizer)(\"range\", rangeColorizer);\r\nvar _default = rangeColorizer;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/viz/tree_map/common.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.buildRectAppearance = buildRectAppearance;\r\nexports.buildTextAppearance = buildTextAppearance;\r\nvar _utils = require(\"../core/utils\");\r\n\r\nfunction 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\n\r\nfunction buildTextAppearance(options, filter) {\r\n return {\r\n attr: {\r\n filter: filter\r\n },\r\n css: (0, _utils.patchFontOptions)(options.font)\r\n }\r\n}\r\n","/**\r\n * DevExtreme (cjs/viz/tree_map/drilldown.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _tree_map = _interopRequireDefault(require(\"./tree_map.base\"));\r\nvar _helpers = require(\"../core/helpers\");\r\nrequire(\"./api\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar proto = _tree_map.default.prototype;\r\nproto._eventsMap.onDrill = {\r\n name: \"drill\"\r\n};\r\n(0, _helpers.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(0, _helpers.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 (cjs/viz/tree_map/hover.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _tree_map = _interopRequireDefault(require(\"./tree_map.base\"));\r\nvar _node = _interopRequireDefault(require(\"./node\"));\r\nvar _helpers = require(\"../core/helpers\");\r\nvar _common = require(\"./common\");\r\nvar _utils = require(\"../core/utils\");\r\nrequire(\"./api\");\r\nrequire(\"./states\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar proto = _tree_map.default.prototype;\r\nvar nodeProto = _node.default.prototype;\r\nvar STATE_CODE = 1;\r\nproto._eventsMap.onHoverChanged = {\r\n name: \"hoverChanged\"\r\n};\r\n(0, _helpers.expand)(proto._handlers, \"calculateAdditionalStates\", (function(states, options) {\r\n states[1] = options.hoverStyle ? (0, _common.buildRectAppearance)(options.hoverStyle) : {}\r\n}));\r\n_tree_map.default.addChange({\r\n code: \"HOVER_ENABLED\",\r\n handler: function() {\r\n var hoverEnabled = (0, _utils.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\n(0, _helpers.expand)(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\n(0, _helpers.expand)(proto, \"_onNodesCreated\", (function() {\r\n this._hoverIndex = -1\r\n}));\r\n(0, _helpers.expand)(proto, \"_changeGroupSettings\", (function() {\r\n this._groupHoverEnabled = (0, _utils.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 (cjs/viz/tree_map/node.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _extend2 = require(\"../../core/utils/extend\");\r\n\r\nfunction Node() {}\r\nvar updateTile = [updateLeaf, updateGroup];\r\n(0, _extend2.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 = (0, _extend2.extend)({}, state);\r\n return extra ? (0, _extend2.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\nvar _default = Node;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/viz/tree_map/plain_data_source.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _tree_map = _interopRequireDefault(require(\"./tree_map.base\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar proto = _tree_map.default.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 (cjs/viz/tree_map/selection.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _tree_map = _interopRequireDefault(require(\"./tree_map.base\"));\r\nvar _node = _interopRequireDefault(require(\"./node\"));\r\nvar _helpers = require(\"../core/helpers\");\r\nvar _common = require(\"./common\");\r\nvar _utils = require(\"../core/utils\");\r\nrequire(\"./api\");\r\nrequire(\"./states\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar proto = _tree_map.default.prototype;\r\nvar nodeProto = _node.default.prototype;\r\nvar MODE_NONE = 0;\r\nvar MODE_SINGLE = 1;\r\nvar MODE_MULTIPLE = 2;\r\nvar STATE_CODE = 2;\r\nproto._eventsMap.onSelectionChanged = {\r\n name: \"selectionChanged\"\r\n};\r\n(0, _helpers.expand)(proto._handlers, \"calculateAdditionalStates\", (function(states, options) {\r\n states[2] = options.selectionStyle ? (0, _common.buildRectAppearance)(options.selectionStyle) : {}\r\n}));\r\nnodeProto.statesMap[2] = nodeProto.statesMap[3] = STATE_CODE;\r\nnodeProto.additionalStates.push(2);\r\n(0, _helpers.expand)(proto, \"_onNodesCreated\", (function() {\r\n this._selectionList.length = 0\r\n}));\r\n(0, _helpers.expand)(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\n_tree_map.default.addChange({\r\n code: \"SELECTION_MODE\",\r\n handler: function() {\r\n var option = (0, _utils.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\n(0, _helpers.expand)(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 (cjs/viz/tree_map/states.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _tree_map = _interopRequireDefault(require(\"./tree_map.base\"));\r\nvar _node = _interopRequireDefault(require(\"./node\"));\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _extend2 = require(\"../../core/utils/extend\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar proto = _tree_map.default.prototype;\r\nvar nodeProto = _node.default.prototype;\r\nvar handlers = proto._handlers;\r\nvar _calculateState = handlers.calculateState;\r\nvar _buildState = nodeProto._buildState;\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 = _common.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]] = (0, _extend2.extend)({}, base, source[list[i]])\r\n }\r\n}\r\n","/**\r\n * DevExtreme (cjs/viz/tree_map/tiling.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.addAlgorithm = addAlgorithm;\r\nexports.buildSidesData = buildSidesData;\r\nexports.calculateRectangles = calculateRectangles;\r\nexports.getAlgorithm = getAlgorithm;\r\nexports.getStaticSideIndex = void 0;\r\nexports.setDefaultAlgorithm = setDefaultAlgorithm;\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _utils = require(\"../core/utils\");\r\nvar _round = Math.round;\r\nvar algorithms = {};\r\nvar defaultAlgorithm;\r\n\r\nfunction getAlgorithm(value) {\r\n return algorithms[(0, _utils.normalizeEnum)(value)] || (0, _type.isFunction)(value) && value || defaultAlgorithm\r\n}\r\n\r\nfunction addAlgorithm(name, callback) {\r\n algorithms[name] = callback\r\n}\r\n\r\nfunction setDefaultAlgorithm(name) {\r\n defaultAlgorithm = algorithms[name]\r\n}\r\nvar directionToIndexOffsets = {};\r\ndirectionToIndexOffsets[-1] = [2, 0];\r\ndirectionToIndexOffsets[1] = [0, 2];\r\nvar getStaticSideIndex = function(rect) {\r\n return rect[2] - rect[0] < rect[3] - rect[1] ? 0 : 1\r\n};\r\nexports.getStaticSideIndex = getStaticSideIndex;\r\n\r\nfunction 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\n\r\nfunction 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 (cjs/viz/tree_map/tiling.rotated_slice_and_dice.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _tiling = require(\"./tiling\");\r\nvar sliceAndDiceAlgorithm = (0, _tiling.getAlgorithm)(\"sliceanddice\");\r\n\r\nfunction rotatedSliceAndDice(data) {\r\n data.isRotated = !data.isRotated;\r\n return sliceAndDiceAlgorithm.call(this, data)\r\n}(0, _tiling.addAlgorithm)(\"rotatedsliceanddice\", rotatedSliceAndDice);\r\n","/**\r\n * DevExtreme (cjs/viz/tree_map/tiling.slice_and_dice.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _tiling = require(\"./tiling\");\r\n\r\nfunction sliceAndDice(data) {\r\n var items = data.items;\r\n var sidesData = (0, _tiling.buildSidesData)(data.rect, data.directions, data.isRotated ? 1 : 0);\r\n (0, _tiling.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}(0, _tiling.addAlgorithm)(\"sliceanddice\", sliceAndDice);\r\nvar _default = sliceAndDice;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/viz/tree_map/tiling.squarified.base.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = _default;\r\nvar _tiling = require(\"./tiling\");\r\nvar _max = Math.max;\r\nvar _round = Math.round;\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 = (0, _tiling.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 (0, _tiling.calculateRectangles)(nodes, head, context.rect, sidesData, rowData);\r\n context.sum -= rowData.sum;\r\n return head + rowData.count\r\n}\r\n\r\nfunction _default(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 = (0, _tiling.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\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/viz/tree_map/tiling.squarified.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _tilingSquarified = _interopRequireDefault(require(\"./tiling.squarified.base\"));\r\nvar _tiling = require(\"./tiling\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar _max = Math.max;\r\n\r\nfunction accumulate(total, current) {\r\n return _max(total, current)\r\n}\r\n\r\nfunction squarified(data) {\r\n return (0, _tilingSquarified.default)(data, accumulate, false)\r\n}(0, _tiling.addAlgorithm)(\"squarified\", squarified);\r\nvar _default = squarified;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/viz/tree_map/tiling.strip.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _tilingSquarified = _interopRequireDefault(require(\"./tiling.squarified.base\"));\r\nvar _tiling = require(\"./tiling\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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 (0, _tilingSquarified.default)(data, accumulate, true)\r\n}(0, _tiling.addAlgorithm)(\"strip\", strip);\r\nvar _default = strip;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/viz/tree_map/tooltip.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _helpers = require(\"../core/helpers\");\r\nvar _tree_map = _interopRequireDefault(require(\"./tree_map.base\"));\r\nrequire(\"./api\");\r\nvar _tooltip = require(\"../core/tooltip\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar proto = _tree_map.default.prototype;\r\n(0, _helpers.expand)(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\n(0, _helpers.expand)(proto, \"_onNodesCreated\", (function() {\r\n if (this._tooltipIndex >= 0) {\r\n this._tooltip.hide()\r\n }\r\n this._tooltipIndex = -1\r\n}));\r\n(0, _helpers.expand)(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 = function(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\n_tree_map.default.addPlugin(_tooltip.plugin);\r\n","/**\r\n * DevExtreme (cjs/viz/tree_map/tracker.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _tree_map = _interopRequireDefault(require(\"./tree_map.base\"));\r\nvar _tracker = require(\"../components/tracker\");\r\nvar _helpers = require(\"../core/helpers\");\r\nvar _utils = require(\"../core/utils\");\r\nrequire(\"./api\");\r\nrequire(\"./hover\");\r\nrequire(\"./tooltip\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar DATA_KEY_BASE = \"__treemap_data_\";\r\nvar dataKeyModifier = 0;\r\nvar proto = _tree_map.default.prototype;\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\n(0, _helpers.expand)(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.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 = (0, _utils.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\n(0, _helpers.expand)(proto, \"_disposeCore\", (function() {\r\n this._tracker.dispose()\r\n}));\r\n","/**\r\n * DevExtreme (cjs/viz/tree_map/tree_map.base.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _common = require(\"./common\");\r\nvar _node = _interopRequireDefault(require(\"./node\"));\r\nvar _tiling = require(\"./tiling\");\r\nvar _colorizing = require(\"./colorizing\");\r\nvar _utils = require(\"../core/utils\");\r\nvar _common2 = require(\"../../core/utils/common\");\r\nvar _base_widget = _interopRequireDefault(require(\"../core/base_widget\"));\r\nrequire(\"./tiling.squarified\");\r\nrequire(\"./colorizing.discrete\");\r\nvar _component_registrator = _interopRequireDefault(require(\"../../core/component_registrator\"));\r\nvar _data_source = require(\"../core/data_source\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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\n(0, _tiling.setDefaultAlgorithm)(\"squarified\");\r\n(0, _colorizing.setDefaultColorizer)(\"discrete\");\r\n\r\nfunction pickPositiveInteger(val) {\r\n return val > 0 ? Math.round(val) : 0\r\n}\r\nvar dxTreeMap = _base_widget.default.inherit({\r\n _handlers: {\r\n beginBuildNodes: _common2.noop,\r\n buildNode: _common2.noop,\r\n endBuildNodes: _common2.noop,\r\n setTrackerData: _common2.noop,\r\n calculateState: function(options) {\r\n return (0, _common.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: _common.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: _common2.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.default;\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: _common2.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 = (0, _common.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.initDefsElements();\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 = (0, _colorizing.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: (0, _tiling.getAlgorithm)(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: _common2.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((0, _utils.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.default;\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}(0, _component_registrator.default)(\"dxTreeMap\", dxTreeMap);\r\nvar _default = dxTreeMap;\r\nexports.default = _default;\r\ndxTreeMap.addPlugin(_data_source.plugin);\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/viz/tree_map/tree_map.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _tree_map = _interopRequireDefault(require(\"./tree_map.base\"));\r\nrequire(\"./tiling.squarified\");\r\nrequire(\"./tiling.strip\");\r\nrequire(\"./tiling.slice_and_dice\");\r\nrequire(\"./tiling.rotated_slice_and_dice\");\r\nrequire(\"./colorizing.discrete\");\r\nrequire(\"./colorizing.gradient\");\r\nrequire(\"./colorizing.range\");\r\nrequire(\"./api\");\r\nrequire(\"./hover\");\r\nrequire(\"./selection\");\r\nrequire(\"./tooltip\");\r\nrequire(\"./tracker\");\r\nrequire(\"./drilldown\");\r\nrequire(\"./plain_data_source\");\r\nvar _export = require(\"../core/export\");\r\nvar _title = require(\"../core/title\");\r\nvar _loading_indicator = require(\"../core/loading_indicator\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar _default = _tree_map.default;\r\nexports.default = _default;\r\n_tree_map.default.addPlugin(_export.plugin);\r\n_tree_map.default.addPlugin(_title.plugin);\r\n_tree_map.default.addPlugin(_loading_indicator.plugin);\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/viz/utils.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.prepareSegmentRectPoints = void 0;\r\nObject.defineProperty(exports, \"refreshPaths\", {\r\n enumerable: true,\r\n get: function() {\r\n return _renderer.refreshPaths\r\n }\r\n});\r\nvar _renderer = require(\"./core/renderers/renderer\");\r\nvar _iterator = require(\"../core/utils/iterator\");\r\nvar 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 (0, _iterator.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 }(0, _iterator.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 (0, _iterator.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\nexports.prepareSegmentRectPoints = prepareSegmentRectPoints;\r\n","/**\r\n * DevExtreme (cjs/viz/vector_map.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _vector_map = _interopRequireDefault(require(\"./vector_map/vector_map\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar _default = _vector_map.default;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/viz/vector_map/control_bar/control_bar.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.ControlBar = ControlBar;\r\nvar _utils = require(\"../../core/utils\");\r\nvar _utils2 = require(\"./utils\");\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\nvar parseHorizontalAlignment = (0, _utils.enumParser)([\"left\", \"center\", \"right\"]);\r\nvar parseVerticalAlignment = (0, _utils.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\n\r\nfunction 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 = (0, _utils2.createVisibilityGroup)(renderer, this._root, \"dxm-pan-control\");\r\n var zoomBar = this._zoomBar = (0, _utils2.createVisibilityGroup)(renderer, this._root, \"dxm-zoom-bar\");\r\n var trackersPan = this._trackersPan = (0, _utils2.createTracker)(renderer, this._root);\r\n var trackersZoom = this._trackersZoom = (0, _utils2.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 (0, _utils2.toggleDisplay)(groupPan, this._isPanVisible);\r\n (0, _utils2.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 ((0, _utils.parseScalar)(interaction.centeringEnabled, true)) {\r\n this._flags |= FLAG_CENTERING\r\n } else {\r\n this._flags &= ~FLAG_CENTERING\r\n }\r\n if ((0, _utils.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 = !!(0, _utils.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 = !!(0, _utils.parseScalar)(options.panVisible, true);\r\n this._isZoomVisible = !!(0, _utils.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 (cjs/viz/vector_map/control_bar/utils.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.toggleDisplay = exports.createVisibilityGroup = exports.createTracker = void 0;\r\nvar createTracker = function(renderer, root) {\r\n return 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\n};\r\nexports.createTracker = createTracker;\r\nvar 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\nexports.createVisibilityGroup = createVisibilityGroup;\r\nvar toggleDisplay = function(blocks, isVisible) {\r\n var style = isVisible ? {\r\n display: \"block\"\r\n } : {\r\n display: \"none\"\r\n };\r\n blocks.map((function(item) {\r\n return item.css(style)\r\n }))\r\n};\r\nexports.toggleDisplay = toggleDisplay;\r\n","/**\r\n * DevExtreme (cjs/viz/vector_map/data_exchanger.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.DataExchanger = DataExchanger;\r\nvar _callbacks = _interopRequireDefault(require(\"../../core/utils/callbacks\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\n\r\nfunction 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: (0, _callbacks.default)()\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 (cjs/viz/vector_map/event_emitter.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.makeEventEmitter = makeEventEmitter;\r\nvar _callbacks = _interopRequireDefault(require(\"../../core/utils/callbacks\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\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]] = (0, _callbacks.default)()\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\n\r\nfunction 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 (cjs/viz/vector_map/gesture_handler.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.GestureHandler = GestureHandler;\r\nvar _ln = Math.log;\r\nvar _LN2 = Math.LN2;\r\n\r\nfunction 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 (cjs/viz/vector_map/layout.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.LayoutControl = LayoutControl;\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _round = Math.round;\r\nvar _min = Math.min;\r\nvar _max = Math.max;\r\nvar _each = _iterator.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\n\r\nfunction 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((function(el) {\r\n return el.getTemplatesGroups && el.getTemplatesDef\r\n })));\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 (cjs/viz/vector_map/legend.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.LegendsControl = LegendsControl;\r\nvar _extend2 = require(\"../../core/utils/extend\");\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _object = require(\"../../core/utils/object\");\r\nvar _legend = require(\"../components/legend\");\r\nvar _extend = _extend2.extend;\r\nvar _each = _iterator.each;\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 _legend.Legend.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((0, _object.clone)(_legend.Legend.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 _legend.Legend.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: _legend.Legend.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\n\r\nfunction 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 (cjs/viz/vector_map/map_layer.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.MapLayerCollection = MapLayerCollection;\r\nexports.getMaxBound = getMaxBound;\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _extend2 = require(\"../../core/utils/extend\");\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _data_helper = _interopRequireDefault(require(\"../../data_helper\"));\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _deferred = require(\"../../core/utils/deferred\");\r\nvar _utils = require(\"../core/utils\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar _noop = _common.noop;\r\nvar _extend = _extend2.extend;\r\nvar _each = _iterator.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\n\r\nfunction getMaxBound(arr) {\r\n return arr.reduce((function(a, c) {\r\n return c ? [_min(a[0], c[0]), _min(a[1], c[1]), _max(a[2], c[2]), _max(a[3], c[3])] : a\r\n }), arr[0])\r\n}\r\n\r\nfunction getSelection(selectionMode) {\r\n var selection = (0, _utils.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 = (0, _utils.normalizeEnum)(options.type);\r\n var elementType = (0, _utils.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: function(projection, coordinates) {\r\n return 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\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: (0, _type.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: function() {\r\n return layer.getBounds()\r\n }\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: function() {\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: function() {\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.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 = !!(0, _utils.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: function() {\r\n return getMaxBound(this._handles.map((function(_ref) {\r\n var proxy = _ref.proxy;\r\n return proxy.coordinates().map((function(coords) {\r\n if (!_isArray(coords)) {\r\n return\r\n }\r\n var coordsToBoundsSearch = _isArray(coords[0][0]) ? coords.reduce((function(ac, val) {\r\n return ac.concat(val)\r\n }), []) : coords;\r\n var initValue = coordsToBoundsSearch[0];\r\n return coordsToBoundsSearch.reduce((function(min, c) {\r\n return [_min(min[0], c[0]), _min(min[1], c[1]), _max(min[2], c[0]), _max(min[3], c[1])]\r\n }), [initValue[0], initValue[1], initValue[0], initValue[1]])\r\n }))\r\n })).map(getMaxBound))\r\n },\r\n _destroyHandles: function() {\r\n this._handles.forEach((function(h) {\r\n return h.dispose()\r\n }));\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 }(0, _type.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: function() {\r\n return this._handles.map((function(p) {\r\n return p.proxy\r\n }))\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}, _data_helper.default);\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((0, _utils.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\n\r\nfunction 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((function(l) {\r\n return l.dispose()\r\n }));\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: function(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((function(l, i) {\r\n var name = getName(optionList, i);\r\n return (0, _type.isDefined)(name) && name !== l.proxy.name\r\n }));\r\n if (needToCreateLayers) {\r\n this._params.tracker.reset();\r\n this._layers.forEach((function(l) {\r\n return l.dispose()\r\n }));\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((function(l, i) {\r\n l.setOptions(optionList[i])\r\n }));\r\n readyCallbacks = layers.map((function(l) {\r\n return l.getDataReadyCallback()\r\n }));\r\n readyCallbacks.length && _deferred.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 (cjs/viz/vector_map/projection.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"projection\", {\r\n enumerable: true,\r\n get: function() {\r\n return _projection.projection\r\n }\r\n});\r\nvar _projection = require(\"./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\n_projection.projection.add(\"mercator\", (0, _projection.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\n_projection.projection.add(\"equirectangular\", (0, _projection.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\n_projection.projection.add(\"lambert\", (0, _projection.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\n_projection.projection.add(\"miller\", (0, _projection.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\n","/**\r\n * DevExtreme (cjs/viz/vector_map/projection.main.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.projection = exports.Projection = void 0;\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _event_emitter = require(\"./event_emitter\");\r\n\r\nfunction _slicedToArray(arr, i) {\r\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest()\r\n}\r\n\r\nfunction _nonIterableRest() {\r\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _unsupportedIterableToArray(o, minLen) {\r\n if (!o) {\r\n return\r\n }\r\n if (\"string\" === typeof o) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n var n = Object.prototype.toString.call(o).slice(8, -1);\r\n if (\"Object\" === n && o.constructor) {\r\n n = o.constructor.name\r\n }\r\n if (\"Map\" === n || \"Set\" === n) {\r\n return Array.from(o)\r\n }\r\n if (\"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n}\r\n\r\nfunction _arrayLikeToArray(arr, len) {\r\n if (null == len || len > arr.length) {\r\n len = arr.length\r\n }\r\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\r\n arr2[i] = arr[i]\r\n }\r\n return arr2\r\n}\r\n\r\nfunction _iterableToArrayLimit(arr, i) {\r\n var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"];\r\n if (null != _i) {\r\n var _s, _e, _x, _r, _arr = [],\r\n _n = !0,\r\n _d = !1;\r\n try {\r\n if (_x = (_i = _i.call(arr)).next, 0 === i) {\r\n if (Object(_i) !== _i) {\r\n return\r\n }\r\n _n = !1\r\n } else {\r\n for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) {}\r\n }\r\n } catch (err) {\r\n _d = !0, _e = err\r\n } finally {\r\n try {\r\n if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) {\r\n return\r\n }\r\n } finally {\r\n if (_d) {\r\n throw _e\r\n }\r\n }\r\n }\r\n return _arr\r\n }\r\n}\r\n\r\nfunction _arrayWithHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return arr\r\n }\r\n}\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\nvar 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\nexports.Projection = Projection;\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\n(0, _event_emitter.makeEventEmitter)(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 _findMinMax = findMinMax(p1, p2),\r\n min = _findMinMax.min,\r\n max = _findMinMax.max;\r\n engine.min = returnArray(min);\r\n engine.max = returnArray(max)\r\n}\r\nvar Engine = function() {\r\n function Engine(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 (0, _extend.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 var _proto = Engine.prototype;\r\n _proto.aspectRatio = function(_aspectRatio) {\r\n var engine = new Engine((0, _extend.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 _proto.bounds = function(_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 (0, _extend.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 return Engine\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 function(arg) {\r\n return invertVerticalAxis(method(arg))\r\n }\r\n}\r\n\r\nfunction createUnprojectMethod(method) {\r\n return function(arg) {\r\n return method(invertVerticalAxis(arg))\r\n }\r\n}\r\n\r\nfunction returnValue(value) {\r\n return function() {\r\n return value\r\n }\r\n}\r\n\r\nfunction returnArray(value) {\r\n return function() {\r\n return value.slice()\r\n }\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\nvar projection = function(parameters) {\r\n return parameters && parameters.to ? new Engine(parameters) : null\r\n};\r\nexports.projection = projection;\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 _project = project(coordinates),\r\n _project2 = _slicedToArray(_project, 2),\r\n p0 = _project2[0],\r\n p1 = _project2[1];\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 (cjs/viz/vector_map/tooltip_viewer.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.TooltipViewer = TooltipViewer;\r\nvar TOOLTIP_OFFSET = 12;\r\n\r\nfunction 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 = function(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 (cjs/viz/vector_map/tracker.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.Tracker = Tracker;\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _window = require(\"../../core/utils/window\");\r\nvar _dom_adapter = _interopRequireDefault(require(\"../../core/dom_adapter\"));\r\nvar _event_emitter = require(\"./event_emitter\");\r\nvar _index = require(\"../../events/utils/index\");\r\nvar _wheel = require(\"../../events/core/wheel\");\r\nvar _utils = require(\"../core/utils\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar navigator = (0, _window.getNavigator)();\r\nvar _math = Math;\r\nvar _abs = _math.abs;\r\nvar _sqrt = _math.sqrt;\r\nvar _round = _math.round;\r\nvar _addNamespace = _index.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\n\r\nfunction 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 = !!(0, _utils.parseScalar)(options.touchEnabled, true);\r\n this._isWheelEnabled = !!(0, _utils.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 _events_engine.default.off(_dom_adapter.default.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 _events_engine.default.on(_dom_adapter.default.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\n(0, _event_emitter.makeEventEmitter)(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, (0, _window.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(_wheel.name, _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 (cjs/viz/vector_map/vector_map.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _utils = require(\"../core/utils\");\r\nvar _projection = require(\"./projection.main\");\r\nvar _control_bar = require(\"./control_bar/control_bar\");\r\nvar _gesture_handler = require(\"./gesture_handler\");\r\nvar _tracker = require(\"./tracker\");\r\nvar _data_exchanger = require(\"./data_exchanger\");\r\nvar _legend = require(\"./legend\");\r\nvar _layout = require(\"./layout\");\r\nvar _map_layer = require(\"./map_layer\");\r\nvar _tooltip_viewer = require(\"./tooltip_viewer\");\r\nvar _vector_map = require(\"./vector_map.utils\");\r\nrequire(\"./projection\");\r\nvar _base_widget = _interopRequireDefault(require(\"../core/base_widget\"));\r\nvar _component_registrator = _interopRequireDefault(require(\"../../core/component_registrator\"));\r\nvar _export = require(\"../core/export\");\r\nvar _title = require(\"../core/title\");\r\nvar _tooltip = require(\"../core/tooltip\");\r\nvar _loading_indicator = require(\"../core/loading_indicator\");\r\nvar _annotations = require(\"../core/annotations\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n default: obj\r\n }\r\n}\r\nvar DEFAULT_WIDTH = 800;\r\nvar DEFAULT_HEIGHT = 400;\r\nvar RE_STARTS_LAYERS = /^layers/;\r\nvar RE_ENDS_DATA_SOURCE = /\\.dataSource$/;\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 = _base_widget.default.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 _map_layer.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: function() {\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: function(coordinates) {\r\n return [2 * (coordinates[0] - bounds[0]) / longitudeLength - 1, 2 * (coordinates[1] - bounds[3]) / latitudeLength - 1]\r\n },\r\n from: function(coordinates) {\r\n return [(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 },\r\n _getBoundsFromData: function() {\r\n var bounds = this._getBoundingBoxFromDataSource();\r\n if (!bounds) {\r\n var boundsByData = (0, _map_layer.getMaxBound)(this.getLayers().map((function(l) {\r\n return l.getBounds()\r\n })));\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 _legend.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 _control_bar.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 = (0, _vector_map.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 _data_exchanger.DataExchanger;\r\n that._projection = new _projection.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.Tracker({\r\n root: that._root,\r\n projection: that._projection,\r\n dataKey: dataKey\r\n });\r\n that._gestureHandler = new _gesture_handler.GestureHandler({\r\n projection: that._projection,\r\n renderer: that._renderer,\r\n tracker: that._tracker\r\n });\r\n that._layoutControl = new _layout.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 _tooltip_viewer.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: !!(0, _utils.parseScalar)(this._getOption(\"panningEnabled\", true), true),\r\n zoomingEnabled: !!(0, _utils.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: function() {\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((function(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: function() {\r\n return this._layerCollection.items().map((function(l) {\r\n return l.proxy\r\n }))\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\n(0, _component_registrator.default)(\"dxVectorMap\", dxVectorMap);\r\nvar _default = dxVectorMap;\r\nexports.default = _default;\r\ndxVectorMap.addPlugin(_export.plugin);\r\ndxVectorMap.addPlugin(_title.plugin);\r\ndxVectorMap.addPlugin(_tooltip.plugin);\r\ndxVectorMap.addPlugin(_loading_indicator.plugin);\r\ndxVectorMap.addPlugin(_annotations.plugins.core);\r\ndxVectorMap.addPlugin(_annotations.plugins.vectorMap);\r\nmodule.exports = exports.default;\r\nmodule.exports.default = exports.default;\r\n","/**\r\n * DevExtreme (cjs/viz/vector_map/vector_map.utils.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.generateDataKey = generateDataKey;\r\nvar nextDataKey = 1;\r\n\r\nfunction generateDataKey() {\r\n return \"vectormap-data-\" + nextDataKey++\r\n}\r\n","\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:!0});var e=require(\"inferno\");function n(e){return void 0===e||null===e}function o(e){return\"string\"===typeof e}function t(e){return void 0===e}var r={onComponentDidMount:1,onComponentDidUpdate:1,onComponentShouldUpdate:1,onComponentWillMount:1,onComponentWillUnmount:1,onComponentWillUpdate:1};function i(i,l,u){var f,a,d=arguments,c=null,p=null,m=null,s=0,v=arguments.length-2;if(1===v)f=u;else if(v>1)for(f=[];v-- >0;)f[v]=d[v+2];if(!o(i)){if(s=2,t(f)||(l||(l={}),l.children=f),!n(l))for(var C in a={},l)\"key\"===C?p=l.key:\"ref\"===C?c=l.ref:1===r[C]?(c||(c={}),c[C]=l[C]):a[C]=l[C];return e.createComponentVNode(s,i,a,p,c)}if(s=e.getFlagsForElementVnode(i),!n(l))for(var y in a={},l)\"className\"===y||\"class\"===y?m=l[y]:\"key\"===y?p=l.key:\"children\"===y&&t(f)?f=l.children:\"ref\"===y?c=l.ref:(\"contenteditable\"===y&&(s|=4096),a[y]=l[y]);if(8192&s)return e.createFragment(1===v?[f]:f,0,p);return e.createVNode(s,i,m,f,0,a,p,c)}exports.createElement=i;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./dist/index.cjs.min.js');\n} else {\n module.exports = require('./dist/index.cjs.js');\n}\n","\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:!0});var e=Array.isArray;function n(e){var n=typeof e;return\"string\"===n||\"number\"===n}function t(e){return void 0===e||null===e}function r(e){return null===e||!1===e||!0===e||void 0===e}function o(e){return\"function\"===typeof e}function i(e){return\"string\"===typeof e}function l(e){return\"number\"===typeof e}function a(e){return null===e}function u(e){return void 0===e}function c(e,n){var t={};if(e)for(var r in e)t[r]=e[r];if(n)for(var o in n)t[o]=n[o];return t}function s(e,n){if(o(n))return{data:e,event:n};return null}function f(e){return!a(e)&&\"object\"===typeof e}var d={},p=\"$F\";function v(e){return e.substr(2).toLowerCase()}function h(e,n){e.appendChild(n)}function m(e,n,t){a(t)?h(e,n):e.insertBefore(n,t)}function g(e,n){if(n)return document.createElementNS(\"http://www.w3.org/2000/svg\",e);return document.createElement(e)}function y(e,n,t){e.replaceChild(n,t)}function $(e,n){e.removeChild(n)}function k(e){for(var n=0;n<e.length;n++)e[n]()}function b(e,n,t){var r=e.children;if(4&t)return r.$LI;if(8192&t)return 2===e.childFlags?r:r[n?0:r.length-1];return r}function x(e,n){for(var t;e;){if(2033&(t=e.flags))return e.dom;e=b(e,n,t)}return null}function C(e,n){do{var t=e.flags;if(2033&t)return void $(n,e.dom);var r=e.children;if(4&t&&(e=r.$LI),8&t&&(e=r),8192&t){if(2!==e.childFlags){for(var o=0,i=r.length;o<i;++o)C(r[o],n);return}e=r}}while(e)}function w(e,n,t){do{var r=e.flags;if(2033&r)return void m(n,e.dom,t);var o=e.children;if(4&r&&(e=o.$LI),8&r&&(e=o),8192&r){if(2!==e.childFlags){for(var i=0,l=o.length;i<l;++i)w(o[i],n,t);return}e=o}}while(e)}function F(e,n,t){if(e.constructor.getDerivedStateFromProps)return c(t,e.constructor.getDerivedStateFromProps(n,t));return t}var P={v:!1},N={componentComparator:null,createVNode:null,renderComplete:null};function V(e,n){e.textContent=n}function S(e,n){return f(e)&&e.event===n.event&&e.data===n.data}function U(e,n){for(var t in n)u(e[t])&&(e[t]=n[t]);return e}function L(e,n){return!!o(e)&&(e(n),!0)}var M=\"$\";function I(e,n,t,r,o,i,l,a){this.childFlags=e,this.children=n,this.className=t,this.dom=null,this.flags=r,this.key=void 0===o?null:o,this.props=void 0===i?null:i,this.ref=void 0===l?null:l,this.type=a}function B(e,n,t,r,o,i,l,a){var u=void 0===o?1:o,c=new I(u,r,t,e,l,i,a,n);return N.createVNode&&N.createVNode(c),0===u&&K(c,c.children),c}function _(e,n,r){if(4&e)return r;var o=(32768&e?n.render:n).defaultHooks;if(t(o))return r;if(t(r))return o;return U(r,o)}function D(e,n,r){var o=(32768&e?n.render:n).defaultProps;if(t(o))return r;if(t(r))return c(o,null);return U(r,o)}function E(e,n){if(12&e)return e;if(n.prototype&&n.prototype.render)return 4;if(n.render)return 32776;return 8}function A(e,n,t,r,o){var i=new I(1,null,null,e=E(e,n),r,D(e,n,t),_(e,n,o),n);return N.createVNode&&N.createVNode(i),i}function T(e,n){return new I(1,t(e)||!0===e||!1===e?\"\":e,null,16,n,null,null,null)}function R(e,n,t){var r=B(8192,8192,null,e,n,null,t,null);switch(r.childFlags){case 1:r.children=H(),r.childFlags=2;break;case 16:r.children=[T(e)],r.childFlags=4}return r}function W(e){var n=e.props;if(n){var r=e.flags;481&r&&(void 0!==n.children&&t(e.children)&&K(e,n.children),void 0!==n.className&&(t(e.className)&&(e.className=n.className||null),n.className=void 0)),void 0!==n.key&&(e.key=n.key,n.key=void 0),void 0!==n.ref&&(e.ref=8&r?c(e.ref,n.ref):n.ref,n.ref=void 0)}return e}function O(e){var n=e.children,t=e.childFlags;return R(2===t?j(n):n.map(j),t,e.key)}function j(e){var n=-16385&e.flags,t=e.props;if(14&n&&!a(t)){var r=t;for(var o in t={},r)t[o]=r[o]}if(0===(8192&n))return new I(e.childFlags,e.children,e.className,n,e.key,t,e.ref,e.type);return O(e)}function H(){return T(\"\",null)}function Q(e,n){var t=q(e);return B(1024,1024,null,t,0,null,t.key,n)}function X(t,o,l,u){for(var c=t.length;l<c;l++){var s=t[l];if(!r(s)){var f=u+M+l;if(e(s))X(s,o,0,f);else{if(n(s))s=T(s,f);else{var d=s.key,p=i(d)&&d[0]===M;(81920&s.flags||p)&&(s=j(s)),s.flags|=65536,p?d.substring(0,u.length)!==u&&(s.key=u+d):a(d)?s.key=f:s.key=u+d}o.push(s)}}}}function G(e){switch(e){case\"svg\":return 32;case\"input\":return 64;case\"select\":return 256;case\"textarea\":return 128;case p:return 8192;default:return 1}}function K(t,o){var l,u=1;if(r(o))l=o;else if(n(o))u=16,l=o;else if(e(o)){for(var c=o.length,s=0;s<c;++s){var f=o[s];if(r(f)||e(f)){l=l||o.slice(0,s),X(o,l,s,\"\");break}if(n(f))(l=l||o.slice(0,s)).push(T(f,M+s));else{var d=f.key,p=(81920&f.flags)>0,v=a(d),h=i(d)&&d[0]===M;p||v||h?(l=l||o.slice(0,s),(p||h)&&(f=j(f)),(v||h)&&(f.key=M+s),l.push(f)):l&&l.push(f),f.flags|=65536}}u=0===(l=l||o).length?1:8}else(l=o).flags|=65536,81920&o.flags&&(l=j(o)),u=2;return t.children=l,t.childFlags=u,t}function q(t){if(r(t)||n(t))return T(t,null);if(e(t))return R(t,0,null);return 16384&t.flags?j(t):t}var z=\"http://www.w3.org/1999/xlink\",J=\"http://www.w3.org/XML/1998/namespace\",Y={\"xlink:actuate\":z,\"xlink:arcrole\":z,\"xlink:href\":z,\"xlink:role\":z,\"xlink:show\":z,\"xlink:title\":z,\"xlink:type\":z,\"xml:base\":J,\"xml:lang\":J,\"xml:space\":J};function Z(e){return{onClick:e,onDblClick:e,onFocusIn:e,onFocusOut:e,onKeyDown:e,onKeyPress:e,onKeyUp:e,onMouseDown:e,onMouseMove:e,onMouseUp:e,onTouchEnd:e,onTouchMove:e,onTouchStart:e}}var ee=Z(0),ne=Z(null),te=Z(!0);function re(e,n){var t=n.$EV;return t||(t=n.$EV=Z(null)),t[e]||1===++ee[e]&&(ne[e]=ve(e)),t}function oe(e,n){var t=n.$EV;t&&t[e]&&(0===--ee[e]&&(document.removeEventListener(v(e),ne[e]),ne[e]=null),t[e]=null)}function ie(e,n,t,r){if(o(t))re(e,r)[e]=t;else if(f(t)){if(S(n,t))return;re(e,r)[e]=t}else oe(e,r)}function le(e){return o(e.composedPath)?e.composedPath()[0]:e.target}function ae(e,n,t,r){var o=le(e);do{if(n&&o.disabled)return;var i=o.$EV;if(i){var l=i[t];if(l&&(r.dom=o,l.event?l.event(l.data,e):l(e),e.cancelBubble))return}o=o.parentNode}while(!a(o))}function ue(){this.cancelBubble=!0,this.immediatePropagationStopped||this.stopImmediatePropagation()}function ce(){return this.defaultPrevented}function se(){return this.cancelBubble}function fe(e){var n={dom:document};return e.isDefaultPrevented=ce,e.isPropagationStopped=se,e.stopPropagation=ue,Object.defineProperty(e,\"currentTarget\",{configurable:!0,get:function(){return n.dom}}),n}function de(e){return function(n){if(0!==n.button)return void n.stopPropagation();ae(n,!0,e,fe(n))}}function pe(e){return function(n){ae(n,!1,e,fe(n))}}function ve(e){var n=\"onClick\"===e||\"onDblClick\"===e?de(e):pe(e);return document.addEventListener(v(e),n),n}function he(e,n){var t=document.createElement(\"i\");return t.innerHTML=n,t.innerHTML===e.innerHTML}function me(e,n,t){if(e[n]){var r=e[n];r.event?r.event(r.data,t):r(t)}else{var o=n.toLowerCase();e[o]&&e[o](t)}}function ge(e,n){var t=function(t){var r=this.$V;if(!r)return;var l=r.props||d,a=r.dom;if(i(e))me(l,e,t);else for(var u=0;u<e.length;++u)me(l,e[u],t);if(o(n)){var c=this.$V,s=c.props||d;n(s,a,!1,c)}};return Object.defineProperty(t,\"wrapped\",{configurable:!1,enumerable:!1,value:!0,writable:!1}),t}function ye(e,n,t){var r=\"$\"+n,i=e[r];if(i){if(i[1].wrapped)return;e.removeEventListener(i[0],i[1]),e[r]=null}o(t)&&(e.addEventListener(n,t),e[r]=[n,t])}function $e(e){return\"checkbox\"===e||\"radio\"===e}var ke=ge(\"onInput\",we),be=ge([\"onClick\",\"onChange\"],we);function xe(e){e.stopPropagation()}function Ce(e,n){$e(n.type)?(ye(e,\"change\",be),ye(e,\"click\",xe)):ye(e,\"input\",ke)}function we(e,n){var r=e.type,o=e.value,i=e.checked,l=e.multiple,a=e.defaultValue,u=!t(o);r&&r!==n.type&&n.setAttribute(\"type\",r),t(l)||l===n.multiple||(n.multiple=l),t(a)||u||(n.defaultValue=a+\"\"),$e(r)?(u&&(n.value=o),t(i)||(n.checked=i)):u&&n.value!==o?(n.defaultValue=o,n.value=o):t(i)||(n.checked=i)}function Fe(e,n){if(\"option\"===e.type)Pe(e,n);else{var t=e.children,r=e.flags;if(4&r)Fe(t.$LI,n);else if(8&r)Fe(t,n);else if(2===e.childFlags)Fe(t,n);else if(12&e.childFlags)for(var o=0,i=t.length;o<i;++o)Fe(t[o],n)}}function Pe(n,r){var o=n.props||d,i=n.dom;i.value=o.value,o.value===r||e(r)&&-1!==r.indexOf(o.value)?i.selected=!0:t(r)&&t(o.selected)||(i.selected=o.selected||!1)}xe.wrapped=!0;var Ne=ge(\"onChange\",Se);function Ve(e){ye(e,\"change\",Ne)}function Se(e,n,r,o){var i=Boolean(e.multiple);t(e.multiple)||i===n.multiple||(n.multiple=i);var a=e.selectedIndex;if(-1===a&&(n.selectedIndex=-1),1!==o.childFlags){var u=e.value;l(a)&&a>-1&&n.options[a]&&(u=n.options[a].value),r&&t(u)&&(u=e.defaultValue),Fe(o,u)}}var Ue,Le,Me=ge(\"onInput\",_e),Ie=ge(\"onChange\");function Be(e,n){ye(e,\"input\",Me),n.onChange&&ye(e,\"change\",Ie)}function _e(e,n,r){var o=e.value,i=n.value;if(t(o)){if(r){var l=e.defaultValue;t(l)||l===i||(n.defaultValue=l,n.value=l)}}else i!==o&&(n.defaultValue=o,n.value=o)}function De(e,n,t,r,o,i){64&e?we(r,t):256&e?Se(r,t,o,n):128&e&&_e(r,t,o),i&&(t.$V=n)}function Ee(e,n,t){64&e?Ce(n,t):256&e?Ve(n):128&e&&Be(n,t)}function Ae(e){return e.type&&$e(e.type)?!t(e.checked):!t(e.value)}function Te(){return{current:null}}function Re(e){return{render:e}}function We(e){e&&!L(e,null)&&e.current&&(e.current=null)}function Oe(e,n,t){e&&(o(e)||void 0!==e.current)&&t.push((function(){L(e,n)||void 0===e.current||(e.current=n)}))}function je(e,n){He(e),C(e,n)}function He(e){var n,r=e.flags,i=e.children;if(481&r){n=e.ref;var l=e.props;We(n);var u=e.childFlags;if(!a(l))for(var c=Object.keys(l),s=0,f=c.length;s<f;s++){var p=c[s];te[p]&&oe(p,e.dom)}12&u?Qe(i):2===u&&He(i)}else i&&(4&r?(o(i.componentWillUnmount)&&i.componentWillUnmount(),We(e.ref),i.$UN=!0,He(i.$LI)):8&r?(!t(n=e.ref)&&o(n.onComponentWillUnmount)&&n.onComponentWillUnmount(x(e,!0),e.props||d),He(i)):1024&r?je(i,e.ref):8192&r&&12&e.childFlags&&Qe(i))}function Qe(e){for(var n=0,t=e.length;n<t;++n)He(e[n])}function Xe(e){e.textContent=\"\"}function Ge(e,n,t){Qe(t),8192&n.flags?C(n,e):Xe(e)}function Ke(e){var n=e.event;return function(t){n(e.data,t)}}function qe(e,n,t,r){if(f(t)){if(S(n,t))return;t=Ke(t)}ye(r,v(e),t)}function ze(e,n,r){if(t(n))return void r.removeAttribute(\"style\");var o,l,a=r.style;if(i(n))return void(a.cssText=n);if(t(e)||i(e))for(o in n)l=n[o],a.setProperty(o,l);else{for(o in n)(l=n[o])!==e[o]&&a.setProperty(o,l);for(o in e)t(n[o])&&a.removeProperty(o)}}function Je(e,n,r,o){var i=e&&e.__html||\"\",l=n&&n.__html||\"\";i!==l&&(t(l)||he(o,l)||(a(r)||(12&r.childFlags?Qe(r.children):2===r.childFlags&&He(r.children),r.children=null,r.childFlags=1),o.innerHTML=l))}function Ye(e,n,r,o,i,l,a){switch(e){case\"children\":case\"childrenType\":case\"className\":case\"defaultValue\":case\"key\":case\"multiple\":case\"ref\":case\"selectedIndex\":break;case\"autoFocus\":o.autofocus=!!r;break;case\"allowfullscreen\":case\"autoplay\":case\"capture\":case\"checked\":case\"controls\":case\"default\":case\"disabled\":case\"hidden\":case\"indeterminate\":case\"loop\":case\"muted\":case\"novalidate\":case\"open\":case\"readOnly\":case\"required\":case\"reversed\":case\"scoped\":case\"seamless\":case\"selected\":o[e]=!!r;break;case\"defaultChecked\":case\"value\":case\"volume\":if(l&&\"value\"===e)break;var u=t(r)?\"\":r;o[e]!==u&&(o[e]=u);break;case\"style\":ze(n,r,o);break;case\"dangerouslySetInnerHTML\":Je(n,r,a,o);break;default:te[e]?ie(e,n,r,o):111===e.charCodeAt(0)&&110===e.charCodeAt(1)?qe(e,n,r,o):t(r)?o.removeAttribute(e):i&&Y[e]?o.setAttributeNS(Y[e],e,r):o.setAttribute(e,r)}}function Ze(e,n,t,r,o){var i=!1,l=(448&n)>0;for(var a in l&&(i=Ae(t))&&Ee(n,r,t),t)Ye(a,null,t[a],r,o,i,null);l&&De(n,e,r,t,!0,i)}function en(e,n,t){var r=q(e.render(n,e.state,t)),i=t;return o(e.getChildContext)&&(i=c(t,e.getChildContext())),e.$CX=i,r}function nn(e,n,t,r,i,l){var u=new n(t,r),c=u.$N=Boolean(n.getDerivedStateFromProps||u.getSnapshotBeforeUpdate);if(u.$SVG=i,u.$L=l,e.children=u,u.$BS=!1,u.context=r,u.props===d&&(u.props=t),c)u.state=F(u,t,u.state);else if(o(u.componentWillMount)){u.$BR=!0,u.componentWillMount();var s=u.$PS;if(!a(s)){var f=u.state;if(a(f))u.state=s;else for(var p in s)f[p]=s[p];u.$PS=null}u.$BR=!1}return u.$LI=en(u,t,r),u}function tn(e,n){var t=e.props||d;return 32768&e.flags?e.type.render(t,e.ref,n):e.type(t,n)}function rn(e,n,t,r,o,i){var l=e.flags|=16384;481&l?un(e,n,t,r,o,i):4&l?sn(e,n,t,r,o,i):8&l?(fn(e,n,t,r,o,i),hn(e,i)):512&l||16&l?an(e,n,o):8192&l?ln(e,t,n,r,o,i):1024&l&&on(e,t,n,o,i)}function on(e,n,t,r,o){rn(e.children,e.ref,n,!1,null,o);var i=H();an(i,t,r),e.dom=i.dom}function ln(e,n,t,r,o,i){var l=e.children,a=e.childFlags;12&a&&0===l.length&&(a=e.childFlags=2,l=e.children=H()),2===a?rn(l,t,n,r,o,i):cn(l,t,n,r,o,i)}function an(e,n,t){var r=e.dom=document.createTextNode(e.children);a(n)||m(n,r,t)}function un(e,n,r,o,i,l){var u=e.flags,c=e.props,s=e.className,f=e.childFlags,d=e.dom=g(e.type,o=o||(32&u)>0),p=e.children;if(t(s)||\"\"===s||(o?d.setAttribute(\"class\",s):d.className=s),16===f)V(d,p);else if(1!==f){var v=o&&\"foreignObject\"!==e.type;2===f?(16384&p.flags&&(e.children=p=j(p)),rn(p,d,r,v,null,l)):8!==f&&4!==f||cn(p,d,r,v,null,l)}a(n)||m(n,d,i),a(c)||Ze(e,u,c,d,o),Oe(e.ref,d,l)}function cn(e,n,t,r,o,i){for(var l=0;l<e.length;++l){var a=e[l];16384&a.flags&&(e[l]=a=j(a)),rn(a,n,t,r,o,i)}}function sn(e,n,t,r,o,i){var l=nn(e,e.type,e.props||d,t,r,i);rn(l.$LI,n,l.$CX,r,o,i),pn(e.ref,l,i)}function fn(e,n,t,r,o,i){rn(e.children=q(tn(e,t)),n,t,r,o,i)}function dn(e){return function(){e.componentDidMount()}}function pn(e,n,t){Oe(e,n,t),o(n.componentDidMount)&&t.push(dn(n))}function vn(e,n){return function(){e.onComponentDidMount(x(n,!0),n.props||d)}}function hn(e,n){var r=e.ref;t(r)||(L(r.onComponentWillMount,e.props||d),o(r.onComponentDidMount)&&n.push(vn(r,e)))}function mn(e,n,t,r,o,i){He(e),0!==(n.flags&e.flags&2033)?(rn(n,null,r,o,null,i),y(t,n.dom,e.dom)):(rn(n,t,r,o,x(e,!0),i),C(e,t))}function gn(e,n,t,r,o,i,l){var a=n.flags|=16384;e.flags!==a||e.type!==n.type||e.key!==n.key||2048&a?16384&e.flags?mn(e,n,t,r,o,l):rn(n,t,r,o,i,l):481&a?xn(e,n,r,o,a,l):4&a?Nn(e,n,t,r,o,i,l):8&a?Vn(e,n,t,r,o,i,l):16&a?Sn(e,n):512&a?n.dom=e.dom:8192&a?kn(e,n,t,r,o,l):bn(e,n,r,l)}function yn(e,n,t){e!==n&&(\"\"!==e?t.firstChild.nodeValue=n:V(t,n))}function $n(e,n){e.textContent!==n&&(e.textContent=n)}function kn(e,n,t,r,o,i){var l=e.children,a=n.children,u=e.childFlags,c=n.childFlags,s=null;12&c&&0===a.length&&(c=n.childFlags=2,a=n.children=H());var f=0!==(2&c);if(12&u){var d=l.length;(8&u&&8&c||f||!f&&a.length>d)&&(s=x(l[d-1],!1).nextSibling)}wn(u,c,l,a,t,r,o,s,e,i)}function bn(e,n,t,o){var i=e.ref,l=n.ref,a=n.children;if(wn(e.childFlags,n.childFlags,e.children,a,i,t,!1,null,e,o),n.dom=e.dom,i!==l&&!r(a)){var u=a.dom;$(i,u),h(l,u)}}function xn(e,n,r,o,i,l){var a,u=n.dom=e.dom,c=e.props,s=n.props,f=!1,p=!1;if(o=o||(32&i)>0,c!==s){var v=c||d;if((a=s||d)!==d)for(var h in(f=(448&i)>0)&&(p=Ae(a)),a){var m=v[h],g=a[h];m!==g&&Ye(h,m,g,u,o,p,e)}if(v!==d)for(var y in v)t(a[y])&&!t(v[y])&&Ye(y,v[y],null,u,o,p,e)}var $=n.children,k=n.className;e.className!==k&&(t(k)?u.removeAttribute(\"class\"):o?u.setAttribute(\"class\",k):u.className=k),4096&i?$n(u,$):wn(e.childFlags,n.childFlags,e.children,$,u,r,o&&\"foreignObject\"!==n.type,null,e,l),f&&De(i,n,u,a,!1,p);var b=n.ref,x=e.ref;x!==b&&(We(x),Oe(b,u,l))}function Cn(e,n,t,r,o,i){He(e),cn(n,t,r,o,x(e,!0),i),C(e,t)}function wn(e,n,t,r,o,i,l,a,u,c){switch(e){case 2:switch(n){case 2:gn(t,r,o,i,l,a,c);break;case 1:je(t,o);break;case 16:He(t),V(o,r);break;default:Cn(t,r,o,i,l,c)}break;case 1:switch(n){case 2:rn(r,o,i,l,a,c);break;case 1:break;case 16:V(o,r);break;default:cn(r,o,i,l,a,c)}break;case 16:switch(n){case 16:yn(t,r,o);break;case 2:Xe(o),rn(r,o,i,l,a,c);break;case 1:Xe(o);break;default:Xe(o),cn(r,o,i,l,a,c)}break;default:switch(n){case 16:Qe(t),V(o,r);break;case 2:Ge(o,u,t),rn(r,o,i,l,a,c);break;case 1:Ge(o,u,t);break;default:var s=0|t.length,f=0|r.length;0===s?f>0&&cn(r,o,i,l,a,c):0===f?Ge(o,u,t):8===n&&8===e?Ln(t,r,o,i,l,s,f,a,u,c):Un(t,r,o,i,l,s,f,a,c)}}}function Fn(e,n,t,r,o){o.push((function(){e.componentDidUpdate(n,t,r)}))}function Pn(e,n,t,r,i,l,a,u,s){var f=e.state,d=e.props,p=Boolean(e.$N),v=o(e.shouldComponentUpdate);if(p&&(n=F(e,t,n!==f?c(f,n):n)),a||!v||v&&e.shouldComponentUpdate(t,n,i)){!p&&o(e.componentWillUpdate)&&e.componentWillUpdate(t,n,i),e.props=t,e.state=n,e.context=i;var h=null,m=en(e,t,i);p&&o(e.getSnapshotBeforeUpdate)&&(h=e.getSnapshotBeforeUpdate(d,f)),gn(e.$LI,m,r,e.$CX,l,u,s),e.$LI=m,o(e.componentDidUpdate)&&Fn(e,d,f,h,s)}else e.props=t,e.state=n,e.context=i}function Nn(e,n,t,r,i,l,u){var s=n.children=e.children;if(a(s))return;s.$L=u;var f=n.props||d,p=n.ref,v=e.ref,h=s.state;if(!s.$N){if(o(s.componentWillReceiveProps)){if(s.$BR=!0,s.componentWillReceiveProps(f,r),s.$UN)return;s.$BR=!1}a(s.$PS)||(h=c(h,s.$PS),s.$PS=null)}Pn(s,h,f,t,r,i,!1,l,u),v!==p&&(We(v),Oe(p,s,u))}function Vn(e,n,r,i,l,a,u){var c=!0,s=n.props||d,f=n.ref,p=e.props,v=!t(f),h=e.children;if(v&&o(f.onComponentShouldUpdate)&&(c=f.onComponentShouldUpdate(p,s)),!1!==c){v&&o(f.onComponentWillUpdate)&&f.onComponentWillUpdate(p,s);var m=q(tn(n,i));gn(h,m,r,i,l,a,u),n.children=m,v&&o(f.onComponentDidUpdate)&&f.onComponentDidUpdate(p,s)}else n.children=h}function Sn(e,n){var t=n.children,r=n.dom=e.dom;t!==e.children&&(r.nodeValue=t)}function Un(e,n,t,r,o,i,l,a,u){for(var c,s,f=i>l?l:i,d=0;d<f;++d)c=n[d],s=e[d],16384&c.flags&&(c=n[d]=j(c)),gn(s,c,t,r,o,a,u),e[d]=c;if(i<l)for(d=f;d<l;++d)16384&(c=n[d]).flags&&(c=n[d]=j(c)),rn(c,t,r,o,a,u);else if(i>l)for(d=f;d<i;++d)je(e[d],t)}function Ln(e,n,t,r,o,i,l,a,u,c){var s,f,d=i-1,p=l-1,v=0,h=e[v],m=n[v];e:{for(;h.key===m.key;){if(16384&m.flags&&(n[v]=m=j(m)),gn(h,m,t,r,o,a,c),e[v]=m,++v>d||v>p)break e;h=e[v],m=n[v]}for(h=e[d],m=n[p];h.key===m.key;){if(16384&m.flags&&(n[p]=m=j(m)),gn(h,m,t,r,o,a,c),e[d]=m,p--,v>--d||v>p)break e;h=e[d],m=n[p]}}if(v>d){if(v<=p)for(f=(s=p+1)<l?x(n[s],!0):a;v<=p;)16384&(m=n[v]).flags&&(n[v]=m=j(m)),++v,rn(m,t,r,o,f,c)}else if(v>p)for(;v<=d;)je(e[v++],t);else Mn(e,n,r,i,l,d,p,v,t,o,a,u,c)}function Mn(e,n,t,r,o,i,l,a,u,c,s,f,d){var p,v,h,m=0,g=a,y=a,$=i-a+1,k=l-a+1,b=new Int32Array(k+1),C=$===r,F=!1,P=0,N=0;if(o<4||($|k)<32)for(m=g;m<=i;++m)if(p=e[m],N<k){for(a=y;a<=l;a++)if(v=n[a],p.key===v.key){if(b[a-y]=m+1,C)for(C=!1;g<m;)je(e[g++],u);P>a?F=!0:P=a,16384&v.flags&&(n[a]=v=j(v)),gn(p,v,u,t,c,s,d),++N;break}!C&&a>l&&je(p,u)}else C||je(p,u);else{var V={};for(m=y;m<=l;++m)V[n[m].key]=m;for(m=g;m<=i;++m)if(p=e[m],N<k)if(void 0!==(a=V[p.key])){if(C)for(C=!1;m>g;)je(e[g++],u);b[a-y]=m+1,P>a?F=!0:P=a,16384&(v=n[a]).flags&&(n[a]=v=j(v)),gn(p,v,u,t,c,s,d),++N}else C||je(p,u);else C||je(p,u)}if(C)Ge(u,f,e),cn(n,u,t,c,s,d);else if(F){var S=Bn(b);for(a=S.length-1,m=k-1;m>=0;m--)0===b[m]?(16384&(v=n[P=m+y]).flags&&(n[P]=v=j(v)),rn(v,u,t,c,(h=P+1)<o?x(n[h],!0):s,d)):a<0||m!==S[a]?w(v=n[P=m+y],u,(h=P+1)<o?x(n[h],!0):s):a--}else if(N!==k)for(m=k-1;m>=0;m--)0===b[m]&&(16384&(v=n[P=m+y]).flags&&(n[P]=v=j(v)),rn(v,u,t,c,(h=P+1)<o?x(n[h],!0):s,d))}var In=0;function Bn(e){var n=0,t=0,r=0,o=0,i=0,l=0,a=0,u=e.length;for(u>In&&(In=u,Ue=new Int32Array(u),Le=new Int32Array(u));t<u;++t)if(0!==(n=e[t])){if(e[r=Ue[o]]<n){Le[t]=r,Ue[++o]=t;continue}for(i=0,l=o;i<l;)e[Ue[a=i+l>>1]]<n?i=a+1:l=a;n<e[Ue[i]]&&(i>0&&(Le[t]=Ue[i-1]),Ue[i]=t)}i=o+1;var c=new Int32Array(i);for(l=Ue[i-1];i-- >0;)c[i]=l,l=Le[l],Ue[i]=0;return c}var _n=\"undefined\"!==typeof document;function Dn(e,n,r,i){var l=[],a=n.$V;P.v=!0,t(a)?t(e)||(16384&e.flags&&(e=j(e)),rn(e,n,i,!1,null,l),n.$V=e,a=e):t(e)?(je(a,n),n.$V=null):(16384&e.flags&&(e=j(e)),gn(a,e,n,i,!1,null,l),a=n.$V=e),k(l),P.v=!1,o(r)&&r(),o(N.renderComplete)&&N.renderComplete(a,n)}function En(e,n,t,r){void 0===t&&(t=null),void 0===r&&(r=d),Dn(e,n,t,r)}function An(e){return function(n,t,r,o){e||(e=n),En(t,e,r,o)}}_n&&window.Node&&(Node.prototype.$EV=null,Node.prototype.$V=null);var Tn=[],Rn=\"undefined\"!==typeof Promise?Promise.resolve().then.bind(Promise.resolve()):function(e){window.setTimeout(e,0)},Wn=!1;function On(e,n,r,i){var l=e.$PS;if(o(n)&&(n=n(l?c(e.state,l):e.state,e.props,e.context)),t(l))e.$PS=n;else for(var a in n)l[a]=n[a];if(e.$BR)o(r)&&e.$L.push(r.bind(e));else{if(!P.v&&0===Tn.length)return Qn(e,i),void(o(r)&&r.call(e));if(-1===Tn.indexOf(e)&&Tn.push(e),i&&(e.$F=!0),Wn||(Wn=!0,Rn(Hn)),o(r)){var u=e.$QU;u||(u=e.$QU=[]),u.push(r)}}}function jn(e){for(var n=e.$QU,t=0;t<n.length;++t)n[t].call(e);e.$QU=null}function Hn(){var e;for(Wn=!1;e=Tn.shift();)if(!e.$UN){var n=e.$F;e.$F=!1,Qn(e,n),e.$QU&&jn(e)}}function Qn(e,n){if(n||!e.$BR){var t=e.$PS;e.$PS=null;var r=[];P.v=!0,Pn(e,c(e.state,t),e.props,x(e.$LI,!0).parentNode,e.context,e.$SVG,n,null,r),k(r),P.v=!1}else e.state=e.$PS,e.$PS=null}var Xn=function(e,n){this.state=null,this.$BR=!1,this.$BS=!0,this.$PS=null,this.$LI=null,this.$UN=!1,this.$CX=null,this.$QU=null,this.$N=!1,this.$L=null,this.$SVG=!1,this.$F=!1,this.props=e||d,this.context=n||d};Xn.prototype.forceUpdate=function(e){if(this.$UN)return;On(this,{},e,!0)},Xn.prototype.setState=function(e,n){if(this.$UN)return;this.$BS||On(this,e,n,!1)},Xn.prototype.render=function(e,n,t){return null};var Gn=\"7.4.11\";exports.Component=Xn,exports.EMPTY_OBJ=d,exports.Fragment=p,exports._CI=nn,exports._HI=q,exports._M=rn,exports._MCCC=pn,exports._ME=un,exports._MFCC=hn,exports._MP=Ze,exports._MR=Oe,exports._RFC=tn,exports.__render=Dn,exports.createComponentVNode=A,exports.createFragment=R,exports.createPortal=Q,exports.createRef=Te,exports.createRenderer=An,exports.createTextVNode=T,exports.createVNode=B,exports.directClone=j,exports.findDOMfromVNode=x,exports.forwardRef=Re,exports.getFlagsForElementVnode=G,exports.linkEvent=s,exports.normalizeProps=W,exports.options=N,exports.render=En,exports.rerender=Hn,exports.version=Gn;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./dist/index.cjs.min.js');\n} else {\n module.exports = require('./dist/index.cjs.js');\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[\"rrule\"] = factory();\n\telse\n\t\troot[\"rrule\"] = factory();\n})(typeof self !== 'undefined' ? self : this, () => {\nreturn /******/ (() => { // webpackBootstrap\n/******/ \t\"use strict\";\n/******/ \t// The require scope\n/******/ \tvar __webpack_require__ = {};\n/******/ \t\n/************************************************************************/\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/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/************************************************************************/\nvar __webpack_exports__ = {};\n// ESM COMPAT FLAG\n__webpack_require__.r(__webpack_exports__);\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, {\n \"ALL_WEEKDAYS\": () => (/* reexport */ ALL_WEEKDAYS),\n \"Frequency\": () => (/* reexport */ Frequency),\n \"RRule\": () => (/* reexport */ RRule),\n \"RRuleSet\": () => (/* reexport */ RRuleSet),\n \"Weekday\": () => (/* reexport */ Weekday),\n \"datetime\": () => (/* reexport */ datetime),\n \"rrulestr\": () => (/* reexport */ rrulestr)\n});\n\n;// CONCATENATED MODULE: ./src/weekday.ts\n// =============================================================================\n// Weekday\n// =============================================================================\nvar ALL_WEEKDAYS = [\n 'MO',\n 'TU',\n 'WE',\n 'TH',\n 'FR',\n 'SA',\n 'SU',\n];\nvar Weekday = /** @class */ (function () {\n function Weekday(weekday, n) {\n if (n === 0)\n throw new Error(\"Can't create weekday with n == 0\");\n this.weekday = weekday;\n this.n = n;\n }\n Weekday.fromStr = function (str) {\n return new Weekday(ALL_WEEKDAYS.indexOf(str));\n };\n // __call__ - Cannot call the object directly, do it through\n // e.g. RRule.TH.nth(-1) instead,\n Weekday.prototype.nth = function (n) {\n return this.n === n ? this : new Weekday(this.weekday, n);\n };\n // __eq__\n Weekday.prototype.equals = function (other) {\n return this.weekday === other.weekday && this.n === other.n;\n };\n // __repr__\n Weekday.prototype.toString = function () {\n var s = ALL_WEEKDAYS[this.weekday];\n if (this.n)\n s = (this.n > 0 ? '+' : '') + String(this.n) + s;\n return s;\n };\n Weekday.prototype.getJsWeekday = function () {\n return this.weekday === 6 ? 0 : this.weekday + 1;\n };\n return Weekday;\n}());\n\n\n;// CONCATENATED MODULE: ./src/helpers.ts\n// =============================================================================\n// Helper functions\n// =============================================================================\n\nvar isPresent = function (value) {\n return value !== null && value !== undefined;\n};\nvar isNumber = function (value) {\n return typeof value === 'number';\n};\nvar isWeekdayStr = function (value) {\n return typeof value === 'string' && ALL_WEEKDAYS.includes(value);\n};\nvar isArray = Array.isArray;\n/**\n * Simplified version of python's range()\n */\nvar range = function (start, end) {\n if (end === void 0) { end = start; }\n if (arguments.length === 1) {\n end = start;\n start = 0;\n }\n var rang = [];\n for (var i = start; i < end; i++)\n rang.push(i);\n return rang;\n};\nvar clone = function (array) {\n return [].concat(array);\n};\nvar repeat = function (value, times) {\n var i = 0;\n var array = [];\n if (isArray(value)) {\n for (; i < times; i++)\n array[i] = [].concat(value);\n }\n else {\n for (; i < times; i++)\n array[i] = value;\n }\n return array;\n};\nvar toArray = function (item) {\n if (isArray(item)) {\n return item;\n }\n return [item];\n};\nfunction padStart(item, targetLength, padString) {\n if (padString === void 0) { padString = ' '; }\n var str = String(item);\n targetLength = targetLength >> 0;\n if (str.length > targetLength) {\n return String(str);\n }\n targetLength = targetLength - str.length;\n if (targetLength > padString.length) {\n padString += repeat(padString, targetLength / padString.length);\n }\n return padString.slice(0, targetLength) + String(str);\n}\n/**\n * Python like split\n */\nvar split = function (str, sep, num) {\n var splits = str.split(sep);\n return num\n ? splits.slice(0, num).concat([splits.slice(num).join(sep)])\n : splits;\n};\n/**\n * closure/goog/math/math.js:modulo\n * Copyright 2006 The Closure Library Authors.\n * The % operator in JavaScript returns the remainder of a / b, but differs from\n * some other languages in that the result will have the same sign as the\n * dividend. For example, -1 % 8 == -1, whereas in some other languages\n * (such as Python) the result would be 7. This function emulates the more\n * correct modulo behavior, which is useful for certain applications such as\n * calculating an offset index in a circular list.\n *\n * @param {number} a The dividend.\n * @param {number} b The divisor.\n * @return {number} a % b where the result is between 0 and b (either 0 <= x < b\n * or b < x <= 0, depending on the sign of b).\n */\nvar pymod = function (a, b) {\n var r = a % b;\n // If r and b differ in sign, add b to wrap the result to the correct sign.\n return r * b < 0 ? r + b : r;\n};\n/**\n * @see: <http://docs.python.org/library/functions.html#divmod>\n */\nvar divmod = function (a, b) {\n return { div: Math.floor(a / b), mod: pymod(a, b) };\n};\nvar empty = function (obj) {\n return !isPresent(obj) || obj.length === 0;\n};\n/**\n * Python-like boolean\n *\n * @return {Boolean} value of an object/primitive, taking into account\n * the fact that in Python an empty list's/tuple's\n * boolean value is False, whereas in JS it's true\n */\nvar notEmpty = function (obj) {\n return !empty(obj);\n};\n/**\n * Return true if a value is in an array\n */\nvar includes = function (arr, val) {\n return notEmpty(arr) && arr.indexOf(val) !== -1;\n};\n\n;// CONCATENATED MODULE: ./src/dateutil.ts\n\nvar datetime = function (y, m, d, h, i, s) {\n if (h === void 0) { h = 0; }\n if (i === void 0) { i = 0; }\n if (s === void 0) { s = 0; }\n return new Date(Date.UTC(y, m - 1, d, h, i, s));\n};\n/**\n * General date-related utilities.\n * Also handles several incompatibilities between JavaScript and Python\n *\n */\nvar MONTH_DAYS = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\n/**\n * Number of milliseconds of one day\n */\nvar ONE_DAY = 1000 * 60 * 60 * 24;\n/**\n * @see: <http://docs.python.org/library/datetime.html#datetime.MAXYEAR>\n */\nvar MAXYEAR = 9999;\n/**\n * Python uses 1-Jan-1 as the base for calculating ordinals but we don't\n * want to confuse the JS engine with milliseconds > Number.MAX_NUMBER,\n * therefore we use 1-Jan-1970 instead\n */\nvar ORDINAL_BASE = datetime(1970, 1, 1);\n/**\n * Python: MO-SU: 0 - 6\n * JS: SU-SAT 0 - 6\n */\nvar PY_WEEKDAYS = [6, 0, 1, 2, 3, 4, 5];\n/**\n * py_date.timetuple()[7]\n */\nvar getYearDay = function (date) {\n var dateNoTime = new Date(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate());\n return (Math.ceil((dateNoTime.valueOf() - new Date(date.getUTCFullYear(), 0, 1).valueOf()) /\n ONE_DAY) + 1);\n};\nvar isLeapYear = function (year) {\n return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;\n};\nvar isDate = function (value) {\n return value instanceof Date;\n};\nvar isValidDate = function (value) {\n return isDate(value) && !isNaN(value.getTime());\n};\n/**\n * @return {Number} the date's timezone offset in ms\n */\nvar tzOffset = function (date) {\n return date.getTimezoneOffset() * 60 * 1000;\n};\n/**\n * @see: <http://www.mcfedries.com/JavaScript/DaysBetween.asp>\n */\nvar daysBetween = function (date1, date2) {\n // The number of milliseconds in one day\n // Convert both dates to milliseconds\n var date1ms = date1.getTime();\n var date2ms = date2.getTime();\n // Calculate the difference in milliseconds\n var differencems = date1ms - date2ms;\n // Convert back to days and return\n return Math.round(differencems / ONE_DAY);\n};\n/**\n * @see: <http://docs.python.org/library/datetime.html#datetime.date.toordinal>\n */\nvar toOrdinal = function (date) {\n return daysBetween(date, ORDINAL_BASE);\n};\n/**\n * @see - <http://docs.python.org/library/datetime.html#datetime.date.fromordinal>\n */\nvar fromOrdinal = function (ordinal) {\n return new Date(ORDINAL_BASE.getTime() + ordinal * ONE_DAY);\n};\nvar getMonthDays = function (date) {\n var month = date.getUTCMonth();\n return month === 1 && isLeapYear(date.getUTCFullYear())\n ? 29\n : MONTH_DAYS[month];\n};\n/**\n * @return {Number} python-like weekday\n */\nvar getWeekday = function (date) {\n return PY_WEEKDAYS[date.getUTCDay()];\n};\n/**\n * @see: <http://docs.python.org/library/calendar.html#calendar.monthrange>\n */\nvar monthRange = function (year, month) {\n var date = datetime(year, month + 1, 1);\n return [getWeekday(date), getMonthDays(date)];\n};\n/**\n * @see: <http://docs.python.org/library/datetime.html#datetime.datetime.combine>\n */\nvar combine = function (date, time) {\n time = time || date;\n return new Date(Date.UTC(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate(), time.getHours(), time.getMinutes(), time.getSeconds(), time.getMilliseconds()));\n};\nvar dateutil_clone = function (date) {\n var dolly = new Date(date.getTime());\n return dolly;\n};\nvar cloneDates = function (dates) {\n var clones = [];\n for (var i = 0; i < dates.length; i++) {\n clones.push(dateutil_clone(dates[i]));\n }\n return clones;\n};\n/**\n * Sorts an array of Date or Time objects\n */\nvar sort = function (dates) {\n dates.sort(function (a, b) {\n return a.getTime() - b.getTime();\n });\n};\nvar timeToUntilString = function (time, utc) {\n if (utc === void 0) { utc = true; }\n var date = new Date(time);\n return [\n padStart(date.getUTCFullYear().toString(), 4, '0'),\n padStart(date.getUTCMonth() + 1, 2, '0'),\n padStart(date.getUTCDate(), 2, '0'),\n 'T',\n padStart(date.getUTCHours(), 2, '0'),\n padStart(date.getUTCMinutes(), 2, '0'),\n padStart(date.getUTCSeconds(), 2, '0'),\n utc ? 'Z' : '',\n ].join('');\n};\nvar untilStringToDate = function (until) {\n var re = /^(\\d{4})(\\d{2})(\\d{2})(T(\\d{2})(\\d{2})(\\d{2})Z?)?$/;\n var bits = re.exec(until);\n if (!bits)\n throw new Error(\"Invalid UNTIL value: \".concat(until));\n return new Date(Date.UTC(parseInt(bits[1], 10), parseInt(bits[2], 10) - 1, parseInt(bits[3], 10), parseInt(bits[5], 10) || 0, parseInt(bits[6], 10) || 0, parseInt(bits[7], 10) || 0));\n};\nvar dateTZtoISO8601 = function (date, timeZone) {\n // date format for sv-SE is almost ISO8601\n var dateStr = date.toLocaleString('sv-SE', { timeZone: timeZone });\n // '2023-02-07 10:41:36'\n return dateStr.replace(' ', 'T') + 'Z';\n};\nvar dateInTimeZone = function (date, timeZone) {\n var localTimeZone = Intl.DateTimeFormat().resolvedOptions().timeZone;\n // Date constructor can only reliably parse dates in ISO8601 format\n var dateInLocalTZ = new Date(dateTZtoISO8601(date, localTimeZone));\n var dateInTargetTZ = new Date(dateTZtoISO8601(date, timeZone !== null && timeZone !== void 0 ? timeZone : 'UTC'));\n var tzOffset = dateInTargetTZ.getTime() - dateInLocalTZ.getTime();\n return new Date(date.getTime() - tzOffset);\n};\n\n;// CONCATENATED MODULE: ./src/iterresult.ts\n/**\n * This class helps us to emulate python's generators, sorta.\n */\nvar IterResult = /** @class */ (function () {\n function IterResult(method, args) {\n this.minDate = null;\n this.maxDate = null;\n this._result = [];\n this.total = 0;\n this.method = method;\n this.args = args;\n if (method === 'between') {\n this.maxDate = args.inc\n ? args.before\n : new Date(args.before.getTime() - 1);\n this.minDate = args.inc ? args.after : new Date(args.after.getTime() + 1);\n }\n else if (method === 'before') {\n this.maxDate = args.inc ? args.dt : new Date(args.dt.getTime() - 1);\n }\n else if (method === 'after') {\n this.minDate = args.inc ? args.dt : new Date(args.dt.getTime() + 1);\n }\n }\n /**\n * Possibly adds a date into the result.\n *\n * @param {Date} date - the date isn't necessarly added to the result\n * list (if it is too late/too early)\n * @return {Boolean} true if it makes sense to continue the iteration\n * false if we're done.\n */\n IterResult.prototype.accept = function (date) {\n ++this.total;\n var tooEarly = this.minDate && date < this.minDate;\n var tooLate = this.maxDate && date > this.maxDate;\n if (this.method === 'between') {\n if (tooEarly)\n return true;\n if (tooLate)\n return false;\n }\n else if (this.method === 'before') {\n if (tooLate)\n return false;\n }\n else if (this.method === 'after') {\n if (tooEarly)\n return true;\n this.add(date);\n return false;\n }\n return this.add(date);\n };\n /**\n *\n * @param {Date} date that is part of the result.\n * @return {Boolean} whether we are interested in more values.\n */\n IterResult.prototype.add = function (date) {\n this._result.push(date);\n return true;\n };\n /**\n * 'before' and 'after' return only one date, whereas 'all'\n * and 'between' an array.\n *\n * @return {Date,Array?}\n */\n IterResult.prototype.getValue = function () {\n var res = this._result;\n switch (this.method) {\n case 'all':\n case 'between':\n return res;\n case 'before':\n case 'after':\n default:\n return (res.length ? res[res.length - 1] : null);\n }\n };\n IterResult.prototype.clone = function () {\n return new IterResult(this.method, this.args);\n };\n return IterResult;\n}());\n/* harmony default export */ const iterresult = (IterResult);\n\n;// CONCATENATED MODULE: ./node_modules/tslib/tslib.es6.js\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/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nfunction __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nvar __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\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}\r\n\r\nfunction __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\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;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nfunction __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nfunction __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nfunction __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nfunction __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\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;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nvar __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nfunction __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nfunction __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nfunction __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nfunction __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nfunction __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nfunction __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nfunction __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nfunction __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nfunction __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nfunction __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\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);\r\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); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nfunction __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nfunction __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nfunction __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nfunction __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\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\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nfunction __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\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\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nfunction __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\n;// CONCATENATED MODULE: ./src/callbackiterresult.ts\n\n\n/**\n * IterResult subclass that calls a callback function on each add,\n * and stops iterating when the callback returns false.\n */\nvar CallbackIterResult = /** @class */ (function (_super) {\n __extends(CallbackIterResult, _super);\n function CallbackIterResult(method, args, iterator) {\n var _this = _super.call(this, method, args) || this;\n _this.iterator = iterator;\n return _this;\n }\n CallbackIterResult.prototype.add = function (date) {\n if (this.iterator(date, this._result.length)) {\n this._result.push(date);\n return true;\n }\n return false;\n };\n return CallbackIterResult;\n}(iterresult));\n/* harmony default export */ const callbackiterresult = (CallbackIterResult);\n\n;// CONCATENATED MODULE: ./src/nlp/i18n.ts\n// =============================================================================\n// i18n\n// =============================================================================\nvar ENGLISH = {\n dayNames: [\n 'Sunday',\n 'Monday',\n 'Tuesday',\n 'Wednesday',\n 'Thursday',\n 'Friday',\n 'Saturday',\n ],\n monthNames: [\n 'January',\n 'February',\n 'March',\n 'April',\n 'May',\n 'June',\n 'July',\n 'August',\n 'September',\n 'October',\n 'November',\n 'December',\n ],\n tokens: {\n SKIP: /^[ \\r\\n\\t]+|^\\.$/,\n number: /^[1-9][0-9]*/,\n numberAsText: /^(one|two|three)/i,\n every: /^every/i,\n 'day(s)': /^days?/i,\n 'weekday(s)': /^weekdays?/i,\n 'week(s)': /^weeks?/i,\n 'hour(s)': /^hours?/i,\n 'minute(s)': /^minutes?/i,\n 'month(s)': /^months?/i,\n 'year(s)': /^years?/i,\n on: /^(on|in)/i,\n at: /^(at)/i,\n the: /^the/i,\n first: /^first/i,\n second: /^second/i,\n third: /^third/i,\n nth: /^([1-9][0-9]*)(\\.|th|nd|rd|st)/i,\n last: /^last/i,\n for: /^for/i,\n 'time(s)': /^times?/i,\n until: /^(un)?til/i,\n monday: /^mo(n(day)?)?/i,\n tuesday: /^tu(e(s(day)?)?)?/i,\n wednesday: /^we(d(n(esday)?)?)?/i,\n thursday: /^th(u(r(sday)?)?)?/i,\n friday: /^fr(i(day)?)?/i,\n saturday: /^sa(t(urday)?)?/i,\n sunday: /^su(n(day)?)?/i,\n january: /^jan(uary)?/i,\n february: /^feb(ruary)?/i,\n march: /^mar(ch)?/i,\n april: /^apr(il)?/i,\n may: /^may/i,\n june: /^june?/i,\n july: /^july?/i,\n august: /^aug(ust)?/i,\n september: /^sep(t(ember)?)?/i,\n october: /^oct(ober)?/i,\n november: /^nov(ember)?/i,\n december: /^dec(ember)?/i,\n comma: /^(,\\s*|(and|or)\\s*)+/i,\n },\n};\n/* harmony default export */ const i18n = (ENGLISH);\n\n;// CONCATENATED MODULE: ./src/nlp/totext.ts\n\n\n\n// =============================================================================\n// Helper functions\n// =============================================================================\n/**\n * Return true if a value is in an array\n */\nvar contains = function (arr, val) {\n return arr.indexOf(val) !== -1;\n};\nvar defaultGetText = function (id) { return id.toString(); };\nvar defaultDateFormatter = function (year, month, day) { return \"\".concat(month, \" \").concat(day, \", \").concat(year); };\n/**\n *\n * @param {RRule} rrule\n * Optional:\n * @param {Function} gettext function\n * @param {Object} language definition\n * @constructor\n */\nvar ToText = /** @class */ (function () {\n function ToText(rrule, gettext, language, dateFormatter) {\n if (gettext === void 0) { gettext = defaultGetText; }\n if (language === void 0) { language = i18n; }\n if (dateFormatter === void 0) { dateFormatter = defaultDateFormatter; }\n this.text = [];\n this.language = language || i18n;\n this.gettext = gettext;\n this.dateFormatter = dateFormatter;\n this.rrule = rrule;\n this.options = rrule.options;\n this.origOptions = rrule.origOptions;\n if (this.origOptions.bymonthday) {\n var bymonthday = [].concat(this.options.bymonthday);\n var bynmonthday = [].concat(this.options.bynmonthday);\n bymonthday.sort(function (a, b) { return a - b; });\n bynmonthday.sort(function (a, b) { return b - a; });\n // 1, 2, 3, .., -5, -4, -3, ..\n this.bymonthday = bymonthday.concat(bynmonthday);\n if (!this.bymonthday.length)\n this.bymonthday = null;\n }\n if (isPresent(this.origOptions.byweekday)) {\n var byweekday = !isArray(this.origOptions.byweekday)\n ? [this.origOptions.byweekday]\n : this.origOptions.byweekday;\n var days = String(byweekday);\n this.byweekday = {\n allWeeks: byweekday.filter(function (weekday) {\n return !weekday.n;\n }),\n someWeeks: byweekday.filter(function (weekday) {\n return Boolean(weekday.n);\n }),\n isWeekdays: days.indexOf('MO') !== -1 &&\n days.indexOf('TU') !== -1 &&\n days.indexOf('WE') !== -1 &&\n days.indexOf('TH') !== -1 &&\n days.indexOf('FR') !== -1 &&\n days.indexOf('SA') === -1 &&\n days.indexOf('SU') === -1,\n isEveryDay: days.indexOf('MO') !== -1 &&\n days.indexOf('TU') !== -1 &&\n days.indexOf('WE') !== -1 &&\n days.indexOf('TH') !== -1 &&\n days.indexOf('FR') !== -1 &&\n days.indexOf('SA') !== -1 &&\n days.indexOf('SU') !== -1,\n };\n var sortWeekDays = function (a, b) {\n return a.weekday - b.weekday;\n };\n this.byweekday.allWeeks.sort(sortWeekDays);\n this.byweekday.someWeeks.sort(sortWeekDays);\n if (!this.byweekday.allWeeks.length)\n this.byweekday.allWeeks = null;\n if (!this.byweekday.someWeeks.length)\n this.byweekday.someWeeks = null;\n }\n else {\n this.byweekday = null;\n }\n }\n /**\n * Test whether the rrule can be fully converted to text.\n *\n * @param {RRule} rrule\n * @return {Boolean}\n */\n ToText.isFullyConvertible = function (rrule) {\n var canConvert = true;\n if (!(rrule.options.freq in ToText.IMPLEMENTED))\n return false;\n if (rrule.origOptions.until && rrule.origOptions.count)\n return false;\n for (var key in rrule.origOptions) {\n if (contains(['dtstart', 'tzid', 'wkst', 'freq'], key))\n return true;\n if (!contains(ToText.IMPLEMENTED[rrule.options.freq], key))\n return false;\n }\n return canConvert;\n };\n ToText.prototype.isFullyConvertible = function () {\n return ToText.isFullyConvertible(this.rrule);\n };\n /**\n * Perform the conversion. Only some of the frequencies are supported.\n * If some of the rrule's options aren't supported, they'll\n * be omitted from the output an \"(~ approximate)\" will be appended.\n *\n * @return {*}\n */\n ToText.prototype.toString = function () {\n var gettext = this.gettext;\n if (!(this.options.freq in ToText.IMPLEMENTED)) {\n return gettext('RRule error: Unable to fully convert this rrule to text');\n }\n this.text = [gettext('every')];\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n this[RRule.FREQUENCIES[this.options.freq]]();\n if (this.options.until) {\n this.add(gettext('until'));\n var until = this.options.until;\n this.add(this.dateFormatter(until.getUTCFullYear(), this.language.monthNames[until.getUTCMonth()], until.getUTCDate()));\n }\n else if (this.options.count) {\n this.add(gettext('for'))\n .add(this.options.count.toString())\n .add(this.plural(this.options.count) ? gettext('times') : gettext('time'));\n }\n if (!this.isFullyConvertible())\n this.add(gettext('(~ approximate)'));\n return this.text.join('');\n };\n ToText.prototype.HOURLY = function () {\n var gettext = this.gettext;\n if (this.options.interval !== 1)\n this.add(this.options.interval.toString());\n this.add(this.plural(this.options.interval) ? gettext('hours') : gettext('hour'));\n };\n ToText.prototype.MINUTELY = function () {\n var gettext = this.gettext;\n if (this.options.interval !== 1)\n this.add(this.options.interval.toString());\n this.add(this.plural(this.options.interval)\n ? gettext('minutes')\n : gettext('minute'));\n };\n ToText.prototype.DAILY = function () {\n var gettext = this.gettext;\n if (this.options.interval !== 1)\n this.add(this.options.interval.toString());\n if (this.byweekday && this.byweekday.isWeekdays) {\n this.add(this.plural(this.options.interval)\n ? gettext('weekdays')\n : gettext('weekday'));\n }\n else {\n this.add(this.plural(this.options.interval) ? gettext('days') : gettext('day'));\n }\n if (this.origOptions.bymonth) {\n this.add(gettext('in'));\n this._bymonth();\n }\n if (this.bymonthday) {\n this._bymonthday();\n }\n else if (this.byweekday) {\n this._byweekday();\n }\n else if (this.origOptions.byhour) {\n this._byhour();\n }\n };\n ToText.prototype.WEEKLY = function () {\n var gettext = this.gettext;\n if (this.options.interval !== 1) {\n this.add(this.options.interval.toString()).add(this.plural(this.options.interval) ? gettext('weeks') : gettext('week'));\n }\n if (this.byweekday && this.byweekday.isWeekdays) {\n if (this.options.interval === 1) {\n this.add(this.plural(this.options.interval)\n ? gettext('weekdays')\n : gettext('weekday'));\n }\n else {\n this.add(gettext('on')).add(gettext('weekdays'));\n }\n }\n else if (this.byweekday && this.byweekday.isEveryDay) {\n this.add(this.plural(this.options.interval) ? gettext('days') : gettext('day'));\n }\n else {\n if (this.options.interval === 1)\n this.add(gettext('week'));\n if (this.origOptions.bymonth) {\n this.add(gettext('in'));\n this._bymonth();\n }\n if (this.bymonthday) {\n this._bymonthday();\n }\n else if (this.byweekday) {\n this._byweekday();\n }\n if (this.origOptions.byhour) {\n this._byhour();\n }\n }\n };\n ToText.prototype.MONTHLY = function () {\n var gettext = this.gettext;\n if (this.origOptions.bymonth) {\n if (this.options.interval !== 1) {\n this.add(this.options.interval.toString()).add(gettext('months'));\n if (this.plural(this.options.interval))\n this.add(gettext('in'));\n }\n else {\n // this.add(gettext('MONTH'))\n }\n this._bymonth();\n }\n else {\n if (this.options.interval !== 1) {\n this.add(this.options.interval.toString());\n }\n this.add(this.plural(this.options.interval)\n ? gettext('months')\n : gettext('month'));\n }\n if (this.bymonthday) {\n this._bymonthday();\n }\n else if (this.byweekday && this.byweekday.isWeekdays) {\n this.add(gettext('on')).add(gettext('weekdays'));\n }\n else if (this.byweekday) {\n this._byweekday();\n }\n };\n ToText.prototype.YEARLY = function () {\n var gettext = this.gettext;\n if (this.origOptions.bymonth) {\n if (this.options.interval !== 1) {\n this.add(this.options.interval.toString());\n this.add(gettext('years'));\n }\n else {\n // this.add(gettext('YEAR'))\n }\n this._bymonth();\n }\n else {\n if (this.options.interval !== 1) {\n this.add(this.options.interval.toString());\n }\n this.add(this.plural(this.options.interval) ? gettext('years') : gettext('year'));\n }\n if (this.bymonthday) {\n this._bymonthday();\n }\n else if (this.byweekday) {\n this._byweekday();\n }\n if (this.options.byyearday) {\n this.add(gettext('on the'))\n .add(this.list(this.options.byyearday, this.nth, gettext('and')))\n .add(gettext('day'));\n }\n if (this.options.byweekno) {\n this.add(gettext('in'))\n .add(this.plural(this.options.byweekno.length)\n ? gettext('weeks')\n : gettext('week'))\n .add(this.list(this.options.byweekno, undefined, gettext('and')));\n }\n };\n ToText.prototype._bymonthday = function () {\n var gettext = this.gettext;\n if (this.byweekday && this.byweekday.allWeeks) {\n this.add(gettext('on'))\n .add(this.list(this.byweekday.allWeeks, this.weekdaytext, gettext('or')))\n .add(gettext('the'))\n .add(this.list(this.bymonthday, this.nth, gettext('or')));\n }\n else {\n this.add(gettext('on the')).add(this.list(this.bymonthday, this.nth, gettext('and')));\n }\n // this.add(gettext('DAY'))\n };\n ToText.prototype._byweekday = function () {\n var gettext = this.gettext;\n if (this.byweekday.allWeeks && !this.byweekday.isWeekdays) {\n this.add(gettext('on')).add(this.list(this.byweekday.allWeeks, this.weekdaytext));\n }\n if (this.byweekday.someWeeks) {\n if (this.byweekday.allWeeks)\n this.add(gettext('and'));\n this.add(gettext('on the')).add(this.list(this.byweekday.someWeeks, this.weekdaytext, gettext('and')));\n }\n };\n ToText.prototype._byhour = function () {\n var gettext = this.gettext;\n this.add(gettext('at')).add(this.list(this.origOptions.byhour, undefined, gettext('and')));\n };\n ToText.prototype._bymonth = function () {\n this.add(this.list(this.options.bymonth, this.monthtext, this.gettext('and')));\n };\n ToText.prototype.nth = function (n) {\n n = parseInt(n.toString(), 10);\n var nth;\n var gettext = this.gettext;\n if (n === -1)\n return gettext('last');\n var npos = Math.abs(n);\n switch (npos) {\n case 1:\n case 21:\n case 31:\n nth = npos + gettext('st');\n break;\n case 2:\n case 22:\n nth = npos + gettext('nd');\n break;\n case 3:\n case 23:\n nth = npos + gettext('rd');\n break;\n default:\n nth = npos + gettext('th');\n }\n return n < 0 ? nth + ' ' + gettext('last') : nth;\n };\n ToText.prototype.monthtext = function (m) {\n return this.language.monthNames[m - 1];\n };\n ToText.prototype.weekdaytext = function (wday) {\n var weekday = isNumber(wday) ? (wday + 1) % 7 : wday.getJsWeekday();\n return ((wday.n ? this.nth(wday.n) + ' ' : '') +\n this.language.dayNames[weekday]);\n };\n ToText.prototype.plural = function (n) {\n return n % 100 !== 1;\n };\n ToText.prototype.add = function (s) {\n this.text.push(' ');\n this.text.push(s);\n return this;\n };\n ToText.prototype.list = function (arr, callback, finalDelim, delim) {\n var _this = this;\n if (delim === void 0) { delim = ','; }\n if (!isArray(arr)) {\n arr = [arr];\n }\n var delimJoin = function (array, delimiter, finalDelimiter) {\n var list = '';\n for (var i = 0; i < array.length; i++) {\n if (i !== 0) {\n if (i === array.length - 1) {\n list += ' ' + finalDelimiter + ' ';\n }\n else {\n list += delimiter + ' ';\n }\n }\n list += array[i];\n }\n return list;\n };\n callback =\n callback ||\n function (o) {\n return o.toString();\n };\n var realCallback = function (arg) {\n return callback && callback.call(_this, arg);\n };\n if (finalDelim) {\n return delimJoin(arr.map(realCallback), delim, finalDelim);\n }\n else {\n return arr.map(realCallback).join(delim + ' ');\n }\n };\n return ToText;\n}());\n/* harmony default export */ const totext = (ToText);\n\n;// CONCATENATED MODULE: ./src/nlp/parsetext.ts\n\n\n// =============================================================================\n// Parser\n// =============================================================================\nvar Parser = /** @class */ (function () {\n function Parser(rules) {\n this.done = true;\n this.rules = rules;\n }\n Parser.prototype.start = function (text) {\n this.text = text;\n this.done = false;\n return this.nextSymbol();\n };\n Parser.prototype.isDone = function () {\n return this.done && this.symbol === null;\n };\n Parser.prototype.nextSymbol = function () {\n var best;\n var bestSymbol;\n this.symbol = null;\n this.value = null;\n do {\n if (this.done)\n return false;\n var rule = void 0;\n best = null;\n for (var name_1 in this.rules) {\n rule = this.rules[name_1];\n var match = rule.exec(this.text);\n if (match) {\n if (best === null || match[0].length > best[0].length) {\n best = match;\n bestSymbol = name_1;\n }\n }\n }\n if (best != null) {\n this.text = this.text.substr(best[0].length);\n if (this.text === '')\n this.done = true;\n }\n if (best == null) {\n this.done = true;\n this.symbol = null;\n this.value = null;\n return;\n }\n } while (bestSymbol === 'SKIP');\n this.symbol = bestSymbol;\n this.value = best;\n return true;\n };\n Parser.prototype.accept = function (name) {\n if (this.symbol === name) {\n if (this.value) {\n var v = this.value;\n this.nextSymbol();\n return v;\n }\n this.nextSymbol();\n return true;\n }\n return false;\n };\n Parser.prototype.acceptNumber = function () {\n return this.accept('number');\n };\n Parser.prototype.expect = function (name) {\n if (this.accept(name))\n return true;\n throw new Error('expected ' + name + ' but found ' + this.symbol);\n };\n return Parser;\n}());\nfunction parseText(text, language) {\n if (language === void 0) { language = i18n; }\n var options = {};\n var ttr = new Parser(language.tokens);\n if (!ttr.start(text))\n return null;\n S();\n return options;\n function S() {\n // every [n]\n ttr.expect('every');\n var n = ttr.acceptNumber();\n if (n)\n options.interval = parseInt(n[0], 10);\n if (ttr.isDone())\n throw new Error('Unexpected end');\n switch (ttr.symbol) {\n case 'day(s)':\n options.freq = RRule.DAILY;\n if (ttr.nextSymbol()) {\n AT();\n F();\n }\n break;\n // FIXME Note: every 2 weekdays != every two weeks on weekdays.\n // DAILY on weekdays is not a valid rule\n case 'weekday(s)':\n options.freq = RRule.WEEKLY;\n options.byweekday = [RRule.MO, RRule.TU, RRule.WE, RRule.TH, RRule.FR];\n ttr.nextSymbol();\n AT();\n F();\n break;\n case 'week(s)':\n options.freq = RRule.WEEKLY;\n if (ttr.nextSymbol()) {\n ON();\n AT();\n F();\n }\n break;\n case 'hour(s)':\n options.freq = RRule.HOURLY;\n if (ttr.nextSymbol()) {\n ON();\n F();\n }\n break;\n case 'minute(s)':\n options.freq = RRule.MINUTELY;\n if (ttr.nextSymbol()) {\n ON();\n F();\n }\n break;\n case 'month(s)':\n options.freq = RRule.MONTHLY;\n if (ttr.nextSymbol()) {\n ON();\n F();\n }\n break;\n case 'year(s)':\n options.freq = RRule.YEARLY;\n if (ttr.nextSymbol()) {\n ON();\n F();\n }\n break;\n case 'monday':\n case 'tuesday':\n case 'wednesday':\n case 'thursday':\n case 'friday':\n case 'saturday':\n case 'sunday':\n options.freq = RRule.WEEKLY;\n var key = ttr.symbol\n .substr(0, 2)\n .toUpperCase();\n options.byweekday = [RRule[key]];\n if (!ttr.nextSymbol())\n return;\n // TODO check for duplicates\n while (ttr.accept('comma')) {\n if (ttr.isDone())\n throw new Error('Unexpected end');\n var wkd = decodeWKD();\n if (!wkd) {\n throw new Error('Unexpected symbol ' + ttr.symbol + ', expected weekday');\n }\n options.byweekday.push(RRule[wkd]);\n ttr.nextSymbol();\n }\n AT();\n MDAYs();\n F();\n break;\n case 'january':\n case 'february':\n case 'march':\n case 'april':\n case 'may':\n case 'june':\n case 'july':\n case 'august':\n case 'september':\n case 'october':\n case 'november':\n case 'december':\n options.freq = RRule.YEARLY;\n options.bymonth = [decodeM()];\n if (!ttr.nextSymbol())\n return;\n // TODO check for duplicates\n while (ttr.accept('comma')) {\n if (ttr.isDone())\n throw new Error('Unexpected end');\n var m = decodeM();\n if (!m) {\n throw new Error('Unexpected symbol ' + ttr.symbol + ', expected month');\n }\n options.bymonth.push(m);\n ttr.nextSymbol();\n }\n ON();\n F();\n break;\n default:\n throw new Error('Unknown symbol');\n }\n }\n function ON() {\n var on = ttr.accept('on');\n var the = ttr.accept('the');\n if (!(on || the))\n return;\n do {\n var nth = decodeNTH();\n var wkd = decodeWKD();\n var m = decodeM();\n // nth <weekday> | <weekday>\n if (nth) {\n // ttr.nextSymbol()\n if (wkd) {\n ttr.nextSymbol();\n if (!options.byweekday)\n options.byweekday = [];\n options.byweekday.push(RRule[wkd].nth(nth));\n }\n else {\n if (!options.bymonthday)\n options.bymonthday = [];\n options.bymonthday.push(nth);\n ttr.accept('day(s)');\n }\n // <weekday>\n }\n else if (wkd) {\n ttr.nextSymbol();\n if (!options.byweekday)\n options.byweekday = [];\n options.byweekday.push(RRule[wkd]);\n }\n else if (ttr.symbol === 'weekday(s)') {\n ttr.nextSymbol();\n if (!options.byweekday) {\n options.byweekday = [RRule.MO, RRule.TU, RRule.WE, RRule.TH, RRule.FR];\n }\n }\n else if (ttr.symbol === 'week(s)') {\n ttr.nextSymbol();\n var n = ttr.acceptNumber();\n if (!n) {\n throw new Error('Unexpected symbol ' + ttr.symbol + ', expected week number');\n }\n options.byweekno = [parseInt(n[0], 10)];\n while (ttr.accept('comma')) {\n n = ttr.acceptNumber();\n if (!n) {\n throw new Error('Unexpected symbol ' + ttr.symbol + '; expected monthday');\n }\n options.byweekno.push(parseInt(n[0], 10));\n }\n }\n else if (m) {\n ttr.nextSymbol();\n if (!options.bymonth)\n options.bymonth = [];\n options.bymonth.push(m);\n }\n else {\n return;\n }\n } while (ttr.accept('comma') || ttr.accept('the') || ttr.accept('on'));\n }\n function AT() {\n var at = ttr.accept('at');\n if (!at)\n return;\n do {\n var n = ttr.acceptNumber();\n if (!n) {\n throw new Error('Unexpected symbol ' + ttr.symbol + ', expected hour');\n }\n options.byhour = [parseInt(n[0], 10)];\n while (ttr.accept('comma')) {\n n = ttr.acceptNumber();\n if (!n) {\n throw new Error('Unexpected symbol ' + ttr.symbol + '; expected hour');\n }\n options.byhour.push(parseInt(n[0], 10));\n }\n } while (ttr.accept('comma') || ttr.accept('at'));\n }\n function decodeM() {\n switch (ttr.symbol) {\n case 'january':\n return 1;\n case 'february':\n return 2;\n case 'march':\n return 3;\n case 'april':\n return 4;\n case 'may':\n return 5;\n case 'june':\n return 6;\n case 'july':\n return 7;\n case 'august':\n return 8;\n case 'september':\n return 9;\n case 'october':\n return 10;\n case 'november':\n return 11;\n case 'december':\n return 12;\n default:\n return false;\n }\n }\n function decodeWKD() {\n switch (ttr.symbol) {\n case 'monday':\n case 'tuesday':\n case 'wednesday':\n case 'thursday':\n case 'friday':\n case 'saturday':\n case 'sunday':\n return ttr.symbol.substr(0, 2).toUpperCase();\n default:\n return false;\n }\n }\n function decodeNTH() {\n switch (ttr.symbol) {\n case 'last':\n ttr.nextSymbol();\n return -1;\n case 'first':\n ttr.nextSymbol();\n return 1;\n case 'second':\n ttr.nextSymbol();\n return ttr.accept('last') ? -2 : 2;\n case 'third':\n ttr.nextSymbol();\n return ttr.accept('last') ? -3 : 3;\n case 'nth':\n var v = parseInt(ttr.value[1], 10);\n if (v < -366 || v > 366)\n throw new Error('Nth out of range: ' + v);\n ttr.nextSymbol();\n return ttr.accept('last') ? -v : v;\n default:\n return false;\n }\n }\n function MDAYs() {\n ttr.accept('on');\n ttr.accept('the');\n var nth = decodeNTH();\n if (!nth)\n return;\n options.bymonthday = [nth];\n ttr.nextSymbol();\n while (ttr.accept('comma')) {\n nth = decodeNTH();\n if (!nth) {\n throw new Error('Unexpected symbol ' + ttr.symbol + '; expected monthday');\n }\n options.bymonthday.push(nth);\n ttr.nextSymbol();\n }\n }\n function F() {\n if (ttr.symbol === 'until') {\n var date = Date.parse(ttr.text);\n if (!date)\n throw new Error('Cannot parse until date:' + ttr.text);\n options.until = new Date(date);\n }\n else if (ttr.accept('for')) {\n options.count = parseInt(ttr.value[0], 10);\n ttr.expect('number');\n // ttr.expect('times')\n }\n }\n}\n\n;// CONCATENATED MODULE: ./src/types.ts\nvar Frequency;\n(function (Frequency) {\n Frequency[Frequency[\"YEARLY\"] = 0] = \"YEARLY\";\n Frequency[Frequency[\"MONTHLY\"] = 1] = \"MONTHLY\";\n Frequency[Frequency[\"WEEKLY\"] = 2] = \"WEEKLY\";\n Frequency[Frequency[\"DAILY\"] = 3] = \"DAILY\";\n Frequency[Frequency[\"HOURLY\"] = 4] = \"HOURLY\";\n Frequency[Frequency[\"MINUTELY\"] = 5] = \"MINUTELY\";\n Frequency[Frequency[\"SECONDLY\"] = 6] = \"SECONDLY\";\n})(Frequency || (Frequency = {}));\nfunction freqIsDailyOrGreater(freq) {\n return freq < Frequency.HOURLY;\n}\n\n;// CONCATENATED MODULE: ./src/nlp/index.ts\n\n\n\n\n\n/* !\n * rrule.js - Library for working with recurrence rules for calendar dates.\n * https://github.com/jakubroztocil/rrule\n *\n * Copyright 2010, Jakub Roztocil and Lars Schoning\n * Licenced under the BSD licence.\n * https://github.com/jakubroztocil/rrule/blob/master/LICENCE\n *\n */\n/**\n *\n * Implementation of RRule.fromText() and RRule::toText().\n *\n *\n * On the client side, this file needs to be included\n * when those functions are used.\n *\n */\n// =============================================================================\n// fromText\n// =============================================================================\n/**\n * Will be able to convert some of the below described rules from\n * text format to a rule object.\n *\n *\n * RULES\n *\n * Every ([n])\n * day(s)\n * | [weekday], ..., (and) [weekday]\n * | weekday(s)\n * | week(s)\n * | month(s)\n * | [month], ..., (and) [month]\n * | year(s)\n *\n *\n * Plus 0, 1, or multiple of these:\n *\n * on [weekday], ..., (or) [weekday] the [monthday], [monthday], ... (or) [monthday]\n *\n * on [weekday], ..., (and) [weekday]\n *\n * on the [monthday], [monthday], ... (and) [monthday] (day of the month)\n *\n * on the [nth-weekday], ..., (and) [nth-weekday] (of the month/year)\n *\n *\n * Plus 0 or 1 of these:\n *\n * for [n] time(s)\n *\n * until [date]\n *\n * Plus (.)\n *\n *\n * Definitely no supported for parsing:\n *\n * (for year):\n * in week(s) [n], ..., (and) [n]\n *\n * on the [yearday], ..., (and) [n] day of the year\n * on day [yearday], ..., (and) [n]\n *\n *\n * NON-TERMINALS\n *\n * [n]: 1, 2 ..., one, two, three ..\n * [month]: January, February, March, April, May, ... December\n * [weekday]: Monday, ... Sunday\n * [nth-weekday]: first [weekday], 2nd [weekday], ... last [weekday], ...\n * [monthday]: first, 1., 2., 1st, 2nd, second, ... 31st, last day, 2nd last day, ..\n * [date]:\n * - [month] (0-31(,) ([year])),\n * - (the) 0-31.(1-12.([year])),\n * - (the) 0-31/(1-12/([year])),\n * - [weekday]\n *\n * [year]: 0000, 0001, ... 01, 02, ..\n *\n * Definitely not supported for parsing:\n *\n * [yearday]: first, 1., 2., 1st, 2nd, second, ... 366th, last day, 2nd last day, ..\n *\n * @param {String} text\n * @return {Object, Boolean} the rule, or null.\n */\nvar fromText = function (text, language) {\n if (language === void 0) { language = i18n; }\n return new RRule(parseText(text, language) || undefined);\n};\nvar common = [\n 'count',\n 'until',\n 'interval',\n 'byweekday',\n 'bymonthday',\n 'bymonth',\n];\ntotext.IMPLEMENTED = [];\ntotext.IMPLEMENTED[Frequency.HOURLY] = common;\ntotext.IMPLEMENTED[Frequency.MINUTELY] = common;\ntotext.IMPLEMENTED[Frequency.DAILY] = ['byhour'].concat(common);\ntotext.IMPLEMENTED[Frequency.WEEKLY] = common;\ntotext.IMPLEMENTED[Frequency.MONTHLY] = common;\ntotext.IMPLEMENTED[Frequency.YEARLY] = ['byweekno', 'byyearday'].concat(common);\n// =============================================================================\n// Export\n// =============================================================================\nvar toText = function (rrule, gettext, language, dateFormatter) {\n return new totext(rrule, gettext, language, dateFormatter).toString();\n};\nvar isFullyConvertible = totext.isFullyConvertible;\n\n\n;// CONCATENATED MODULE: ./src/datetime.ts\n\n\n\n\nvar Time = /** @class */ (function () {\n function Time(hour, minute, second, millisecond) {\n this.hour = hour;\n this.minute = minute;\n this.second = second;\n this.millisecond = millisecond || 0;\n }\n Time.prototype.getHours = function () {\n return this.hour;\n };\n Time.prototype.getMinutes = function () {\n return this.minute;\n };\n Time.prototype.getSeconds = function () {\n return this.second;\n };\n Time.prototype.getMilliseconds = function () {\n return this.millisecond;\n };\n Time.prototype.getTime = function () {\n return ((this.hour * 60 * 60 + this.minute * 60 + this.second) * 1000 +\n this.millisecond);\n };\n return Time;\n}());\n\nvar DateTime = /** @class */ (function (_super) {\n __extends(DateTime, _super);\n function DateTime(year, month, day, hour, minute, second, millisecond) {\n var _this = _super.call(this, hour, minute, second, millisecond) || this;\n _this.year = year;\n _this.month = month;\n _this.day = day;\n return _this;\n }\n DateTime.fromDate = function (date) {\n return new this(date.getUTCFullYear(), date.getUTCMonth() + 1, date.getUTCDate(), date.getUTCHours(), date.getUTCMinutes(), date.getUTCSeconds(), date.valueOf() % 1000);\n };\n DateTime.prototype.getWeekday = function () {\n return getWeekday(new Date(this.getTime()));\n };\n DateTime.prototype.getTime = function () {\n return new Date(Date.UTC(this.year, this.month - 1, this.day, this.hour, this.minute, this.second, this.millisecond)).getTime();\n };\n DateTime.prototype.getDay = function () {\n return this.day;\n };\n DateTime.prototype.getMonth = function () {\n return this.month;\n };\n DateTime.prototype.getYear = function () {\n return this.year;\n };\n DateTime.prototype.addYears = function (years) {\n this.year += years;\n };\n DateTime.prototype.addMonths = function (months) {\n this.month += months;\n if (this.month > 12) {\n var yearDiv = Math.floor(this.month / 12);\n var monthMod = pymod(this.month, 12);\n this.month = monthMod;\n this.year += yearDiv;\n if (this.month === 0) {\n this.month = 12;\n --this.year;\n }\n }\n };\n DateTime.prototype.addWeekly = function (days, wkst) {\n if (wkst > this.getWeekday()) {\n this.day += -(this.getWeekday() + 1 + (6 - wkst)) + days * 7;\n }\n else {\n this.day += -(this.getWeekday() - wkst) + days * 7;\n }\n this.fixDay();\n };\n DateTime.prototype.addDaily = function (days) {\n this.day += days;\n this.fixDay();\n };\n DateTime.prototype.addHours = function (hours, filtered, byhour) {\n if (filtered) {\n // Jump to one iteration before next day\n this.hour += Math.floor((23 - this.hour) / hours) * hours;\n }\n for (;;) {\n this.hour += hours;\n var _a = divmod(this.hour, 24), dayDiv = _a.div, hourMod = _a.mod;\n if (dayDiv) {\n this.hour = hourMod;\n this.addDaily(dayDiv);\n }\n if (empty(byhour) || includes(byhour, this.hour))\n break;\n }\n };\n DateTime.prototype.addMinutes = function (minutes, filtered, byhour, byminute) {\n if (filtered) {\n // Jump to one iteration before next day\n this.minute +=\n Math.floor((1439 - (this.hour * 60 + this.minute)) / minutes) * minutes;\n }\n for (;;) {\n this.minute += minutes;\n var _a = divmod(this.minute, 60), hourDiv = _a.div, minuteMod = _a.mod;\n if (hourDiv) {\n this.minute = minuteMod;\n this.addHours(hourDiv, false, byhour);\n }\n if ((empty(byhour) || includes(byhour, this.hour)) &&\n (empty(byminute) || includes(byminute, this.minute))) {\n break;\n }\n }\n };\n DateTime.prototype.addSeconds = function (seconds, filtered, byhour, byminute, bysecond) {\n if (filtered) {\n // Jump to one iteration before next day\n this.second +=\n Math.floor((86399 - (this.hour * 3600 + this.minute * 60 + this.second)) /\n seconds) * seconds;\n }\n for (;;) {\n this.second += seconds;\n var _a = divmod(this.second, 60), minuteDiv = _a.div, secondMod = _a.mod;\n if (minuteDiv) {\n this.second = secondMod;\n this.addMinutes(minuteDiv, false, byhour, byminute);\n }\n if ((empty(byhour) || includes(byhour, this.hour)) &&\n (empty(byminute) || includes(byminute, this.minute)) &&\n (empty(bysecond) || includes(bysecond, this.second))) {\n break;\n }\n }\n };\n DateTime.prototype.fixDay = function () {\n if (this.day <= 28) {\n return;\n }\n var daysinmonth = monthRange(this.year, this.month - 1)[1];\n if (this.day <= daysinmonth) {\n return;\n }\n while (this.day > daysinmonth) {\n this.day -= daysinmonth;\n ++this.month;\n if (this.month === 13) {\n this.month = 1;\n ++this.year;\n if (this.year > MAXYEAR) {\n return;\n }\n }\n daysinmonth = monthRange(this.year, this.month - 1)[1];\n }\n };\n DateTime.prototype.add = function (options, filtered) {\n var freq = options.freq, interval = options.interval, wkst = options.wkst, byhour = options.byhour, byminute = options.byminute, bysecond = options.bysecond;\n switch (freq) {\n case Frequency.YEARLY:\n return this.addYears(interval);\n case Frequency.MONTHLY:\n return this.addMonths(interval);\n case Frequency.WEEKLY:\n return this.addWeekly(interval, wkst);\n case Frequency.DAILY:\n return this.addDaily(interval);\n case Frequency.HOURLY:\n return this.addHours(interval, filtered, byhour);\n case Frequency.MINUTELY:\n return this.addMinutes(interval, filtered, byhour, byminute);\n case Frequency.SECONDLY:\n return this.addSeconds(interval, filtered, byhour, byminute, bysecond);\n }\n };\n return DateTime;\n}(Time));\n\n\n;// CONCATENATED MODULE: ./src/parseoptions.ts\n\n\n\n\n\n\n\nfunction initializeOptions(options) {\n var invalid = [];\n var keys = Object.keys(options);\n // Shallow copy for options and origOptions and check for invalid\n for (var _i = 0, keys_1 = keys; _i < keys_1.length; _i++) {\n var key = keys_1[_i];\n if (!includes(defaultKeys, key))\n invalid.push(key);\n if (isDate(options[key]) && !isValidDate(options[key])) {\n invalid.push(key);\n }\n }\n if (invalid.length) {\n throw new Error('Invalid options: ' + invalid.join(', '));\n }\n return __assign({}, options);\n}\nfunction parseOptions(options) {\n var opts = __assign(__assign({}, DEFAULT_OPTIONS), initializeOptions(options));\n if (isPresent(opts.byeaster))\n opts.freq = RRule.YEARLY;\n if (!(isPresent(opts.freq) && RRule.FREQUENCIES[opts.freq])) {\n throw new Error(\"Invalid frequency: \".concat(opts.freq, \" \").concat(options.freq));\n }\n if (!opts.dtstart)\n opts.dtstart = new Date(new Date().setMilliseconds(0));\n if (!isPresent(opts.wkst)) {\n opts.wkst = RRule.MO.weekday;\n }\n else if (isNumber(opts.wkst)) {\n // cool, just keep it like that\n }\n else {\n opts.wkst = opts.wkst.weekday;\n }\n if (isPresent(opts.bysetpos)) {\n if (isNumber(opts.bysetpos))\n opts.bysetpos = [opts.bysetpos];\n for (var i = 0; i < opts.bysetpos.length; i++) {\n var v = opts.bysetpos[i];\n if (v === 0 || !(v >= -366 && v <= 366)) {\n throw new Error('bysetpos must be between 1 and 366,' + ' or between -366 and -1');\n }\n }\n }\n if (!(Boolean(opts.byweekno) ||\n notEmpty(opts.byweekno) ||\n notEmpty(opts.byyearday) ||\n Boolean(opts.bymonthday) ||\n notEmpty(opts.bymonthday) ||\n isPresent(opts.byweekday) ||\n isPresent(opts.byeaster))) {\n switch (opts.freq) {\n case RRule.YEARLY:\n if (!opts.bymonth)\n opts.bymonth = opts.dtstart.getUTCMonth() + 1;\n opts.bymonthday = opts.dtstart.getUTCDate();\n break;\n case RRule.MONTHLY:\n opts.bymonthday = opts.dtstart.getUTCDate();\n break;\n case RRule.WEEKLY:\n opts.byweekday = [getWeekday(opts.dtstart)];\n break;\n }\n }\n // bymonth\n if (isPresent(opts.bymonth) && !isArray(opts.bymonth)) {\n opts.bymonth = [opts.bymonth];\n }\n // byyearday\n if (isPresent(opts.byyearday) &&\n !isArray(opts.byyearday) &&\n isNumber(opts.byyearday)) {\n opts.byyearday = [opts.byyearday];\n }\n // bymonthday\n if (!isPresent(opts.bymonthday)) {\n opts.bymonthday = [];\n opts.bynmonthday = [];\n }\n else if (isArray(opts.bymonthday)) {\n var bymonthday = [];\n var bynmonthday = [];\n for (var i = 0; i < opts.bymonthday.length; i++) {\n var v = opts.bymonthday[i];\n if (v > 0) {\n bymonthday.push(v);\n }\n else if (v < 0) {\n bynmonthday.push(v);\n }\n }\n opts.bymonthday = bymonthday;\n opts.bynmonthday = bynmonthday;\n }\n else if (opts.bymonthday < 0) {\n opts.bynmonthday = [opts.bymonthday];\n opts.bymonthday = [];\n }\n else {\n opts.bynmonthday = [];\n opts.bymonthday = [opts.bymonthday];\n }\n // byweekno\n if (isPresent(opts.byweekno) && !isArray(opts.byweekno)) {\n opts.byweekno = [opts.byweekno];\n }\n // byweekday / bynweekday\n if (!isPresent(opts.byweekday)) {\n opts.bynweekday = null;\n }\n else if (isNumber(opts.byweekday)) {\n opts.byweekday = [opts.byweekday];\n opts.bynweekday = null;\n }\n else if (isWeekdayStr(opts.byweekday)) {\n opts.byweekday = [Weekday.fromStr(opts.byweekday).weekday];\n opts.bynweekday = null;\n }\n else if (opts.byweekday instanceof Weekday) {\n if (!opts.byweekday.n || opts.freq > RRule.MONTHLY) {\n opts.byweekday = [opts.byweekday.weekday];\n opts.bynweekday = null;\n }\n else {\n opts.bynweekday = [[opts.byweekday.weekday, opts.byweekday.n]];\n opts.byweekday = null;\n }\n }\n else {\n var byweekday = [];\n var bynweekday = [];\n for (var i = 0; i < opts.byweekday.length; i++) {\n var wday = opts.byweekday[i];\n if (isNumber(wday)) {\n byweekday.push(wday);\n continue;\n }\n else if (isWeekdayStr(wday)) {\n byweekday.push(Weekday.fromStr(wday).weekday);\n continue;\n }\n if (!wday.n || opts.freq > RRule.MONTHLY) {\n byweekday.push(wday.weekday);\n }\n else {\n bynweekday.push([wday.weekday, wday.n]);\n }\n }\n opts.byweekday = notEmpty(byweekday) ? byweekday : null;\n opts.bynweekday = notEmpty(bynweekday) ? bynweekday : null;\n }\n // byhour\n if (!isPresent(opts.byhour)) {\n opts.byhour = opts.freq < RRule.HOURLY ? [opts.dtstart.getUTCHours()] : null;\n }\n else if (isNumber(opts.byhour)) {\n opts.byhour = [opts.byhour];\n }\n // byminute\n if (!isPresent(opts.byminute)) {\n opts.byminute =\n opts.freq < RRule.MINUTELY ? [opts.dtstart.getUTCMinutes()] : null;\n }\n else if (isNumber(opts.byminute)) {\n opts.byminute = [opts.byminute];\n }\n // bysecond\n if (!isPresent(opts.bysecond)) {\n opts.bysecond =\n opts.freq < RRule.SECONDLY ? [opts.dtstart.getUTCSeconds()] : null;\n }\n else if (isNumber(opts.bysecond)) {\n opts.bysecond = [opts.bysecond];\n }\n return { parsedOptions: opts };\n}\nfunction buildTimeset(opts) {\n var millisecondModulo = opts.dtstart.getTime() % 1000;\n if (!freqIsDailyOrGreater(opts.freq)) {\n return [];\n }\n var timeset = [];\n opts.byhour.forEach(function (hour) {\n opts.byminute.forEach(function (minute) {\n opts.bysecond.forEach(function (second) {\n timeset.push(new Time(hour, minute, second, millisecondModulo));\n });\n });\n });\n return timeset;\n}\n\n;// CONCATENATED MODULE: ./src/parsestring.ts\n\n\n\n\n\nfunction parseString(rfcString) {\n var options = rfcString\n .split('\\n')\n .map(parseLine)\n .filter(function (x) { return x !== null; });\n return __assign(__assign({}, options[0]), options[1]);\n}\nfunction parseDtstart(line) {\n var options = {};\n var dtstartWithZone = /DTSTART(?:;TZID=([^:=]+?))?(?::|=)([^;\\s]+)/i.exec(line);\n if (!dtstartWithZone) {\n return options;\n }\n var tzid = dtstartWithZone[1], dtstart = dtstartWithZone[2];\n if (tzid) {\n options.tzid = tzid;\n }\n options.dtstart = untilStringToDate(dtstart);\n return options;\n}\nfunction parseLine(rfcString) {\n rfcString = rfcString.replace(/^\\s+|\\s+$/, '');\n if (!rfcString.length)\n return null;\n var header = /^([A-Z]+?)[:;]/.exec(rfcString.toUpperCase());\n if (!header) {\n return parseRrule(rfcString);\n }\n var key = header[1];\n switch (key.toUpperCase()) {\n case 'RRULE':\n case 'EXRULE':\n return parseRrule(rfcString);\n case 'DTSTART':\n return parseDtstart(rfcString);\n default:\n throw new Error(\"Unsupported RFC prop \".concat(key, \" in \").concat(rfcString));\n }\n}\nfunction parseRrule(line) {\n var strippedLine = line.replace(/^RRULE:/i, '');\n var options = parseDtstart(strippedLine);\n var attrs = line.replace(/^(?:RRULE|EXRULE):/i, '').split(';');\n attrs.forEach(function (attr) {\n var _a = attr.split('='), key = _a[0], value = _a[1];\n switch (key.toUpperCase()) {\n case 'FREQ':\n options.freq = Frequency[value.toUpperCase()];\n break;\n case 'WKST':\n options.wkst = Days[value.toUpperCase()];\n break;\n case 'COUNT':\n case 'INTERVAL':\n case 'BYSETPOS':\n case 'BYMONTH':\n case 'BYMONTHDAY':\n case 'BYYEARDAY':\n case 'BYWEEKNO':\n case 'BYHOUR':\n case 'BYMINUTE':\n case 'BYSECOND':\n var num = parseNumber(value);\n var optionKey = key.toLowerCase();\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n options[optionKey] = num;\n break;\n case 'BYWEEKDAY':\n case 'BYDAY':\n options.byweekday = parseWeekday(value);\n break;\n case 'DTSTART':\n case 'TZID':\n // for backwards compatibility\n var dtstart = parseDtstart(line);\n options.tzid = dtstart.tzid;\n options.dtstart = dtstart.dtstart;\n break;\n case 'UNTIL':\n options.until = untilStringToDate(value);\n break;\n case 'BYEASTER':\n options.byeaster = Number(value);\n break;\n default:\n throw new Error(\"Unknown RRULE property '\" + key + \"'\");\n }\n });\n return options;\n}\nfunction parseNumber(value) {\n if (value.indexOf(',') !== -1) {\n var values = value.split(',');\n return values.map(parseIndividualNumber);\n }\n return parseIndividualNumber(value);\n}\nfunction parseIndividualNumber(value) {\n if (/^[+-]?\\d+$/.test(value)) {\n return Number(value);\n }\n return value;\n}\nfunction parseWeekday(value) {\n var days = value.split(',');\n return days.map(function (day) {\n if (day.length === 2) {\n // MO, TU, ...\n return Days[day]; // wday instanceof Weekday\n }\n // -1MO, +3FR, 1SO, 13TU ...\n var parts = day.match(/^([+-]?\\d{1,2})([A-Z]{2})$/);\n if (!parts || parts.length < 3) {\n throw new SyntaxError(\"Invalid weekday string: \".concat(day));\n }\n var n = Number(parts[1]);\n var wdaypart = parts[2];\n var wday = Days[wdaypart].weekday;\n return new Weekday(wday, n);\n });\n}\n\n;// CONCATENATED MODULE: ./src/datewithzone.ts\n\nvar DateWithZone = /** @class */ (function () {\n function DateWithZone(date, tzid) {\n if (isNaN(date.getTime())) {\n throw new RangeError('Invalid date passed to DateWithZone');\n }\n this.date = date;\n this.tzid = tzid;\n }\n Object.defineProperty(DateWithZone.prototype, \"isUTC\", {\n get: function () {\n return !this.tzid || this.tzid.toUpperCase() === 'UTC';\n },\n enumerable: false,\n configurable: true\n });\n DateWithZone.prototype.toString = function () {\n var datestr = timeToUntilString(this.date.getTime(), this.isUTC);\n if (!this.isUTC) {\n return \";TZID=\".concat(this.tzid, \":\").concat(datestr);\n }\n return \":\".concat(datestr);\n };\n DateWithZone.prototype.getTime = function () {\n return this.date.getTime();\n };\n DateWithZone.prototype.rezonedDate = function () {\n if (this.isUTC) {\n return this.date;\n }\n return dateInTimeZone(this.date, this.tzid);\n };\n return DateWithZone;\n}());\n\n\n;// CONCATENATED MODULE: ./src/optionstostring.ts\n\n\n\n\n\nfunction optionsToString(options) {\n var rrule = [];\n var dtstart = '';\n var keys = Object.keys(options);\n var defaultKeys = Object.keys(DEFAULT_OPTIONS);\n for (var i = 0; i < keys.length; i++) {\n if (keys[i] === 'tzid')\n continue;\n if (!includes(defaultKeys, keys[i]))\n continue;\n var key = keys[i].toUpperCase();\n var value = options[keys[i]];\n var outValue = '';\n if (!isPresent(value) || (isArray(value) && !value.length))\n continue;\n switch (key) {\n case 'FREQ':\n outValue = RRule.FREQUENCIES[options.freq];\n break;\n case 'WKST':\n if (isNumber(value)) {\n outValue = new Weekday(value).toString();\n }\n else {\n outValue = value.toString();\n }\n break;\n case 'BYWEEKDAY':\n /*\n NOTE: BYWEEKDAY is a special case.\n RRule() deconstructs the rule.options.byweekday array\n into an array of Weekday arguments.\n On the other hand, rule.origOptions is an array of Weekdays.\n We need to handle both cases here.\n It might be worth change RRule to keep the Weekdays.\n \n Also, BYWEEKDAY (used by RRule) vs. BYDAY (RFC)\n \n */\n key = 'BYDAY';\n outValue = toArray(value)\n .map(function (wday) {\n if (wday instanceof Weekday) {\n return wday;\n }\n if (isArray(wday)) {\n return new Weekday(wday[0], wday[1]);\n }\n return new Weekday(wday);\n })\n .toString();\n break;\n case 'DTSTART':\n dtstart = buildDtstart(value, options.tzid);\n break;\n case 'UNTIL':\n outValue = timeToUntilString(value, !options.tzid);\n break;\n default:\n if (isArray(value)) {\n var strValues = [];\n for (var j = 0; j < value.length; j++) {\n strValues[j] = String(value[j]);\n }\n outValue = strValues.toString();\n }\n else {\n outValue = String(value);\n }\n }\n if (outValue) {\n rrule.push([key, outValue]);\n }\n }\n var rules = rrule\n .map(function (_a) {\n var key = _a[0], value = _a[1];\n return \"\".concat(key, \"=\").concat(value.toString());\n })\n .join(';');\n var ruleString = '';\n if (rules !== '') {\n ruleString = \"RRULE:\".concat(rules);\n }\n return [dtstart, ruleString].filter(function (x) { return !!x; }).join('\\n');\n}\nfunction buildDtstart(dtstart, tzid) {\n if (!dtstart) {\n return '';\n }\n return 'DTSTART' + new DateWithZone(new Date(dtstart), tzid).toString();\n}\n\n;// CONCATENATED MODULE: ./src/cache.ts\n\n\n\nfunction argsMatch(left, right) {\n if (Array.isArray(left)) {\n if (!Array.isArray(right))\n return false;\n if (left.length !== right.length)\n return false;\n return left.every(function (date, i) { return date.getTime() === right[i].getTime(); });\n }\n if (left instanceof Date) {\n return right instanceof Date && left.getTime() === right.getTime();\n }\n return left === right;\n}\nvar Cache = /** @class */ (function () {\n function Cache() {\n this.all = false;\n this.before = [];\n this.after = [];\n this.between = [];\n }\n /**\n * @param {String} what - all/before/after/between\n * @param {Array,Date} value - an array of dates, one date, or null\n * @param {Object?} args - _iter arguments\n */\n Cache.prototype._cacheAdd = function (what, value, args) {\n if (value) {\n value = value instanceof Date ? dateutil_clone(value) : cloneDates(value);\n }\n if (what === 'all') {\n this.all = value;\n }\n else {\n args._value = value;\n this[what].push(args);\n }\n };\n /**\n * @return false - not in the cache\n * @return null - cached, but zero occurrences (before/after)\n * @return Date - cached (before/after)\n * @return [] - cached, but zero occurrences (all/between)\n * @return [Date1, DateN] - cached (all/between)\n */\n Cache.prototype._cacheGet = function (what, args) {\n var cached = false;\n var argsKeys = args ? Object.keys(args) : [];\n var findCacheDiff = function (item) {\n for (var i = 0; i < argsKeys.length; i++) {\n var key = argsKeys[i];\n if (!argsMatch(args[key], item[key])) {\n return true;\n }\n }\n return false;\n };\n var cachedObject = this[what];\n if (what === 'all') {\n cached = this.all;\n }\n else if (isArray(cachedObject)) {\n // Let's see whether we've already called the\n // 'what' method with the same 'args'\n for (var i = 0; i < cachedObject.length; i++) {\n var item = cachedObject[i];\n if (argsKeys.length && findCacheDiff(item))\n continue;\n cached = item._value;\n break;\n }\n }\n if (!cached && this.all) {\n // Not in the cache, but we already know all the occurrences,\n // so we can find the correct dates from the cached ones.\n var iterResult = new iterresult(what, args);\n for (var i = 0; i < this.all.length; i++) {\n if (!iterResult.accept(this.all[i]))\n break;\n }\n cached = iterResult.getValue();\n this._cacheAdd(what, cached, args);\n }\n return isArray(cached)\n ? cloneDates(cached)\n : cached instanceof Date\n ? dateutil_clone(cached)\n : cached;\n };\n return Cache;\n}());\n\n\n;// CONCATENATED MODULE: ./src/masks.ts\n\n\n// =============================================================================\n// Date masks\n// =============================================================================\n// Every mask is 7 days longer to handle cross-year weekly periods.\nvar M365MASK = __spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray([], repeat(1, 31), true), repeat(2, 28), true), repeat(3, 31), true), repeat(4, 30), true), repeat(5, 31), true), repeat(6, 30), true), repeat(7, 31), true), repeat(8, 31), true), repeat(9, 30), true), repeat(10, 31), true), repeat(11, 30), true), repeat(12, 31), true), repeat(1, 7), true);\nvar M366MASK = __spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray([], repeat(1, 31), true), repeat(2, 29), true), repeat(3, 31), true), repeat(4, 30), true), repeat(5, 31), true), repeat(6, 30), true), repeat(7, 31), true), repeat(8, 31), true), repeat(9, 30), true), repeat(10, 31), true), repeat(11, 30), true), repeat(12, 31), true), repeat(1, 7), true);\nvar M28 = range(1, 29);\nvar M29 = range(1, 30);\nvar M30 = range(1, 31);\nvar M31 = range(1, 32);\nvar MDAY366MASK = __spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray([], M31, true), M29, true), M31, true), M30, true), M31, true), M30, true), M31, true), M31, true), M30, true), M31, true), M30, true), M31, true), M31.slice(0, 7), true);\nvar MDAY365MASK = __spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray([], M31, true), M28, true), M31, true), M30, true), M31, true), M30, true), M31, true), M31, true), M30, true), M31, true), M30, true), M31, true), M31.slice(0, 7), true);\nvar NM28 = range(-28, 0);\nvar NM29 = range(-29, 0);\nvar NM30 = range(-30, 0);\nvar NM31 = range(-31, 0);\nvar NMDAY366MASK = __spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray([], NM31, true), NM29, true), NM31, true), NM30, true), NM31, true), NM30, true), NM31, true), NM31, true), NM30, true), NM31, true), NM30, true), NM31, true), NM31.slice(0, 7), true);\nvar NMDAY365MASK = __spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray([], NM31, true), NM28, true), NM31, true), NM30, true), NM31, true), NM30, true), NM31, true), NM31, true), NM30, true), NM31, true), NM30, true), NM31, true), NM31.slice(0, 7), true);\nvar M366RANGE = [0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335, 366];\nvar M365RANGE = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365];\nvar WDAYMASK = (function () {\n var wdaymask = [];\n for (var i = 0; i < 55; i++)\n wdaymask = wdaymask.concat(range(7));\n return wdaymask;\n})();\n\n\n;// CONCATENATED MODULE: ./src/iterinfo/yearinfo.ts\n\n\n\n\nfunction rebuildYear(year, options) {\n var firstyday = datetime(year, 1, 1);\n var yearlen = isLeapYear(year) ? 366 : 365;\n var nextyearlen = isLeapYear(year + 1) ? 366 : 365;\n var yearordinal = toOrdinal(firstyday);\n var yearweekday = getWeekday(firstyday);\n var result = __assign(__assign({ yearlen: yearlen, nextyearlen: nextyearlen, yearordinal: yearordinal, yearweekday: yearweekday }, baseYearMasks(year)), { wnomask: null });\n if (empty(options.byweekno)) {\n return result;\n }\n result.wnomask = repeat(0, yearlen + 7);\n var firstwkst;\n var wyearlen;\n var no1wkst = (firstwkst = pymod(7 - yearweekday + options.wkst, 7));\n if (no1wkst >= 4) {\n no1wkst = 0;\n // Number of days in the year, plus the days we got\n // from last year.\n wyearlen = result.yearlen + pymod(yearweekday - options.wkst, 7);\n }\n else {\n // Number of days in the year, minus the days we\n // left in last year.\n wyearlen = yearlen - no1wkst;\n }\n var div = Math.floor(wyearlen / 7);\n var mod = pymod(wyearlen, 7);\n var numweeks = Math.floor(div + mod / 4);\n for (var j = 0; j < options.byweekno.length; j++) {\n var n = options.byweekno[j];\n if (n < 0) {\n n += numweeks + 1;\n }\n if (!(n > 0 && n <= numweeks)) {\n continue;\n }\n var i = void 0;\n if (n > 1) {\n i = no1wkst + (n - 1) * 7;\n if (no1wkst !== firstwkst) {\n i -= 7 - firstwkst;\n }\n }\n else {\n i = no1wkst;\n }\n for (var k = 0; k < 7; k++) {\n result.wnomask[i] = 1;\n i++;\n if (result.wdaymask[i] === options.wkst)\n break;\n }\n }\n if (includes(options.byweekno, 1)) {\n // Check week number 1 of next year as well\n // orig-TODO : Check -numweeks for next year.\n var i = no1wkst + numweeks * 7;\n if (no1wkst !== firstwkst)\n i -= 7 - firstwkst;\n if (i < yearlen) {\n // If week starts in next year, we\n // don't care about it.\n for (var j = 0; j < 7; j++) {\n result.wnomask[i] = 1;\n i += 1;\n if (result.wdaymask[i] === options.wkst)\n break;\n }\n }\n }\n if (no1wkst) {\n // Check last week number of last year as\n // well. If no1wkst is 0, either the year\n // started on week start, or week number 1\n // got days from last year, so there are no\n // days from last year's last week number in\n // this year.\n var lnumweeks = void 0;\n if (!includes(options.byweekno, -1)) {\n var lyearweekday = getWeekday(datetime(year - 1, 1, 1));\n var lno1wkst = pymod(7 - lyearweekday.valueOf() + options.wkst, 7);\n var lyearlen = isLeapYear(year - 1) ? 366 : 365;\n var weekst = void 0;\n if (lno1wkst >= 4) {\n lno1wkst = 0;\n weekst = lyearlen + pymod(lyearweekday - options.wkst, 7);\n }\n else {\n weekst = yearlen - no1wkst;\n }\n lnumweeks = Math.floor(52 + pymod(weekst, 7) / 4);\n }\n else {\n lnumweeks = -1;\n }\n if (includes(options.byweekno, lnumweeks)) {\n for (var i = 0; i < no1wkst; i++)\n result.wnomask[i] = 1;\n }\n }\n return result;\n}\nfunction baseYearMasks(year) {\n var yearlen = isLeapYear(year) ? 366 : 365;\n var firstyday = datetime(year, 1, 1);\n var wday = getWeekday(firstyday);\n if (yearlen === 365) {\n return {\n mmask: M365MASK,\n mdaymask: MDAY365MASK,\n nmdaymask: NMDAY365MASK,\n wdaymask: WDAYMASK.slice(wday),\n mrange: M365RANGE,\n };\n }\n return {\n mmask: M366MASK,\n mdaymask: MDAY366MASK,\n nmdaymask: NMDAY366MASK,\n wdaymask: WDAYMASK.slice(wday),\n mrange: M366RANGE,\n };\n}\n\n;// CONCATENATED MODULE: ./src/iterinfo/monthinfo.ts\n\n\nfunction rebuildMonth(year, month, yearlen, mrange, wdaymask, options) {\n var result = {\n lastyear: year,\n lastmonth: month,\n nwdaymask: [],\n };\n var ranges = [];\n if (options.freq === RRule.YEARLY) {\n if (empty(options.bymonth)) {\n ranges = [[0, yearlen]];\n }\n else {\n for (var j = 0; j < options.bymonth.length; j++) {\n month = options.bymonth[j];\n ranges.push(mrange.slice(month - 1, month + 1));\n }\n }\n }\n else if (options.freq === RRule.MONTHLY) {\n ranges = [mrange.slice(month - 1, month + 1)];\n }\n if (empty(ranges)) {\n return result;\n }\n // Weekly frequency won't get here, so we may not\n // care about cross-year weekly periods.\n result.nwdaymask = repeat(0, yearlen);\n for (var j = 0; j < ranges.length; j++) {\n var rang = ranges[j];\n var first = rang[0];\n var last = rang[1] - 1;\n for (var k = 0; k < options.bynweekday.length; k++) {\n var i = void 0;\n var _a = options.bynweekday[k], wday = _a[0], n = _a[1];\n if (n < 0) {\n i = last + (n + 1) * 7;\n i -= pymod(wdaymask[i] - wday, 7);\n }\n else {\n i = first + (n - 1) * 7;\n i += pymod(7 - wdaymask[i] + wday, 7);\n }\n if (first <= i && i <= last)\n result.nwdaymask[i] = 1;\n }\n }\n return result;\n}\n\n;// CONCATENATED MODULE: ./src/iterinfo/easter.ts\nfunction easter(y, offset) {\n if (offset === void 0) { offset = 0; }\n var a = y % 19;\n var b = Math.floor(y / 100);\n var c = y % 100;\n var d = Math.floor(b / 4);\n var e = b % 4;\n var f = Math.floor((b + 8) / 25);\n var g = Math.floor((b - f + 1) / 3);\n var h = Math.floor(19 * a + b - d - g + 15) % 30;\n var i = Math.floor(c / 4);\n var k = c % 4;\n var l = Math.floor(32 + 2 * e + 2 * i - h - k) % 7;\n var m = Math.floor((a + 11 * h + 22 * l) / 451);\n var month = Math.floor((h + l - 7 * m + 114) / 31);\n var day = ((h + l - 7 * m + 114) % 31) + 1;\n var date = Date.UTC(y, month - 1, day + offset);\n var yearStart = Date.UTC(y, 0, 1);\n return [Math.ceil((date - yearStart) / (1000 * 60 * 60 * 24))];\n}\n\n;// CONCATENATED MODULE: ./src/iterinfo/index.ts\n\n\n\n\n\n\n\n// =============================================================================\n// Iterinfo\n// =============================================================================\nvar Iterinfo = /** @class */ (function () {\n // eslint-disable-next-line no-empty-function\n function Iterinfo(options) {\n this.options = options;\n }\n Iterinfo.prototype.rebuild = function (year, month) {\n var options = this.options;\n if (year !== this.lastyear) {\n this.yearinfo = rebuildYear(year, options);\n }\n if (notEmpty(options.bynweekday) &&\n (month !== this.lastmonth || year !== this.lastyear)) {\n var _a = this.yearinfo, yearlen = _a.yearlen, mrange = _a.mrange, wdaymask = _a.wdaymask;\n this.monthinfo = rebuildMonth(year, month, yearlen, mrange, wdaymask, options);\n }\n if (isPresent(options.byeaster)) {\n this.eastermask = easter(year, options.byeaster);\n }\n };\n Object.defineProperty(Iterinfo.prototype, \"lastyear\", {\n get: function () {\n return this.monthinfo ? this.monthinfo.lastyear : null;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Iterinfo.prototype, \"lastmonth\", {\n get: function () {\n return this.monthinfo ? this.monthinfo.lastmonth : null;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Iterinfo.prototype, \"yearlen\", {\n get: function () {\n return this.yearinfo.yearlen;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Iterinfo.prototype, \"yearordinal\", {\n get: function () {\n return this.yearinfo.yearordinal;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Iterinfo.prototype, \"mrange\", {\n get: function () {\n return this.yearinfo.mrange;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Iterinfo.prototype, \"wdaymask\", {\n get: function () {\n return this.yearinfo.wdaymask;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Iterinfo.prototype, \"mmask\", {\n get: function () {\n return this.yearinfo.mmask;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Iterinfo.prototype, \"wnomask\", {\n get: function () {\n return this.yearinfo.wnomask;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Iterinfo.prototype, \"nwdaymask\", {\n get: function () {\n return this.monthinfo ? this.monthinfo.nwdaymask : [];\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Iterinfo.prototype, \"nextyearlen\", {\n get: function () {\n return this.yearinfo.nextyearlen;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Iterinfo.prototype, \"mdaymask\", {\n get: function () {\n return this.yearinfo.mdaymask;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Iterinfo.prototype, \"nmdaymask\", {\n get: function () {\n return this.yearinfo.nmdaymask;\n },\n enumerable: false,\n configurable: true\n });\n Iterinfo.prototype.ydayset = function () {\n return [range(this.yearlen), 0, this.yearlen];\n };\n Iterinfo.prototype.mdayset = function (_, month) {\n var start = this.mrange[month - 1];\n var end = this.mrange[month];\n var set = repeat(null, this.yearlen);\n for (var i = start; i < end; i++)\n set[i] = i;\n return [set, start, end];\n };\n Iterinfo.prototype.wdayset = function (year, month, day) {\n // We need to handle cross-year weeks here.\n var set = repeat(null, this.yearlen + 7);\n var i = toOrdinal(datetime(year, month, day)) - this.yearordinal;\n var start = i;\n for (var j = 0; j < 7; j++) {\n set[i] = i;\n ++i;\n if (this.wdaymask[i] === this.options.wkst)\n break;\n }\n return [set, start, i];\n };\n Iterinfo.prototype.ddayset = function (year, month, day) {\n var set = repeat(null, this.yearlen);\n var i = toOrdinal(datetime(year, month, day)) - this.yearordinal;\n set[i] = i;\n return [set, i, i + 1];\n };\n Iterinfo.prototype.htimeset = function (hour, _, second, millisecond) {\n var _this = this;\n var set = [];\n this.options.byminute.forEach(function (minute) {\n set = set.concat(_this.mtimeset(hour, minute, second, millisecond));\n });\n sort(set);\n return set;\n };\n Iterinfo.prototype.mtimeset = function (hour, minute, _, millisecond) {\n var set = this.options.bysecond.map(function (second) { return new Time(hour, minute, second, millisecond); });\n sort(set);\n return set;\n };\n Iterinfo.prototype.stimeset = function (hour, minute, second, millisecond) {\n return [new Time(hour, minute, second, millisecond)];\n };\n Iterinfo.prototype.getdayset = function (freq) {\n switch (freq) {\n case Frequency.YEARLY:\n return this.ydayset.bind(this);\n case Frequency.MONTHLY:\n return this.mdayset.bind(this);\n case Frequency.WEEKLY:\n return this.wdayset.bind(this);\n case Frequency.DAILY:\n return this.ddayset.bind(this);\n default:\n return this.ddayset.bind(this);\n }\n };\n Iterinfo.prototype.gettimeset = function (freq) {\n switch (freq) {\n case Frequency.HOURLY:\n return this.htimeset.bind(this);\n case Frequency.MINUTELY:\n return this.mtimeset.bind(this);\n case Frequency.SECONDLY:\n return this.stimeset.bind(this);\n }\n };\n return Iterinfo;\n}());\n/* harmony default export */ const iterinfo = (Iterinfo);\n\n;// CONCATENATED MODULE: ./src/iter/poslist.ts\n\n\nfunction buildPoslist(bysetpos, timeset, start, end, ii, dayset) {\n var poslist = [];\n for (var j = 0; j < bysetpos.length; j++) {\n var daypos = void 0;\n var timepos = void 0;\n var pos = bysetpos[j];\n if (pos < 0) {\n daypos = Math.floor(pos / timeset.length);\n timepos = pymod(pos, timeset.length);\n }\n else {\n daypos = Math.floor((pos - 1) / timeset.length);\n timepos = pymod(pos - 1, timeset.length);\n }\n var tmp = [];\n for (var k = start; k < end; k++) {\n var val = dayset[k];\n if (!isPresent(val))\n continue;\n tmp.push(val);\n }\n var i = void 0;\n if (daypos < 0) {\n i = tmp.slice(daypos)[0];\n }\n else {\n i = tmp[daypos];\n }\n var time = timeset[timepos];\n var date = fromOrdinal(ii.yearordinal + i);\n var res = combine(date, time);\n // XXX: can this ever be in the array?\n // - compare the actual date instead?\n if (!includes(poslist, res))\n poslist.push(res);\n }\n sort(poslist);\n return poslist;\n}\n\n;// CONCATENATED MODULE: ./src/iter/index.ts\n\n\n\n\n\n\n\n\n\nfunction iter(iterResult, options) {\n var dtstart = options.dtstart, freq = options.freq, interval = options.interval, until = options.until, bysetpos = options.bysetpos;\n var count = options.count;\n if (count === 0 || interval === 0) {\n return emitResult(iterResult);\n }\n var counterDate = DateTime.fromDate(dtstart);\n var ii = new iterinfo(options);\n ii.rebuild(counterDate.year, counterDate.month);\n var timeset = makeTimeset(ii, counterDate, options);\n for (;;) {\n var _a = ii.getdayset(freq)(counterDate.year, counterDate.month, counterDate.day), dayset = _a[0], start = _a[1], end = _a[2];\n var filtered = removeFilteredDays(dayset, start, end, ii, options);\n if (notEmpty(bysetpos)) {\n var poslist = buildPoslist(bysetpos, timeset, start, end, ii, dayset);\n for (var j = 0; j < poslist.length; j++) {\n var res = poslist[j];\n if (until && res > until) {\n return emitResult(iterResult);\n }\n if (res >= dtstart) {\n var rezonedDate = rezoneIfNeeded(res, options);\n if (!iterResult.accept(rezonedDate)) {\n return emitResult(iterResult);\n }\n if (count) {\n --count;\n if (!count) {\n return emitResult(iterResult);\n }\n }\n }\n }\n }\n else {\n for (var j = start; j < end; j++) {\n var currentDay = dayset[j];\n if (!isPresent(currentDay)) {\n continue;\n }\n var date = fromOrdinal(ii.yearordinal + currentDay);\n for (var k = 0; k < timeset.length; k++) {\n var time = timeset[k];\n var res = combine(date, time);\n if (until && res > until) {\n return emitResult(iterResult);\n }\n if (res >= dtstart) {\n var rezonedDate = rezoneIfNeeded(res, options);\n if (!iterResult.accept(rezonedDate)) {\n return emitResult(iterResult);\n }\n if (count) {\n --count;\n if (!count) {\n return emitResult(iterResult);\n }\n }\n }\n }\n }\n }\n if (options.interval === 0) {\n return emitResult(iterResult);\n }\n // Handle frequency and interval\n counterDate.add(options, filtered);\n if (counterDate.year > MAXYEAR) {\n return emitResult(iterResult);\n }\n if (!freqIsDailyOrGreater(freq)) {\n timeset = ii.gettimeset(freq)(counterDate.hour, counterDate.minute, counterDate.second, 0);\n }\n ii.rebuild(counterDate.year, counterDate.month);\n }\n}\nfunction isFiltered(ii, currentDay, options) {\n var bymonth = options.bymonth, byweekno = options.byweekno, byweekday = options.byweekday, byeaster = options.byeaster, bymonthday = options.bymonthday, bynmonthday = options.bynmonthday, byyearday = options.byyearday;\n return ((notEmpty(bymonth) && !includes(bymonth, ii.mmask[currentDay])) ||\n (notEmpty(byweekno) && !ii.wnomask[currentDay]) ||\n (notEmpty(byweekday) && !includes(byweekday, ii.wdaymask[currentDay])) ||\n (notEmpty(ii.nwdaymask) && !ii.nwdaymask[currentDay]) ||\n (byeaster !== null && !includes(ii.eastermask, currentDay)) ||\n ((notEmpty(bymonthday) || notEmpty(bynmonthday)) &&\n !includes(bymonthday, ii.mdaymask[currentDay]) &&\n !includes(bynmonthday, ii.nmdaymask[currentDay])) ||\n (notEmpty(byyearday) &&\n ((currentDay < ii.yearlen &&\n !includes(byyearday, currentDay + 1) &&\n !includes(byyearday, -ii.yearlen + currentDay)) ||\n (currentDay >= ii.yearlen &&\n !includes(byyearday, currentDay + 1 - ii.yearlen) &&\n !includes(byyearday, -ii.nextyearlen + currentDay - ii.yearlen)))));\n}\nfunction rezoneIfNeeded(date, options) {\n return new DateWithZone(date, options.tzid).rezonedDate();\n}\nfunction emitResult(iterResult) {\n return iterResult.getValue();\n}\nfunction removeFilteredDays(dayset, start, end, ii, options) {\n var filtered = false;\n for (var dayCounter = start; dayCounter < end; dayCounter++) {\n var currentDay = dayset[dayCounter];\n filtered = isFiltered(ii, currentDay, options);\n if (filtered)\n dayset[currentDay] = null;\n }\n return filtered;\n}\nfunction makeTimeset(ii, counterDate, options) {\n var freq = options.freq, byhour = options.byhour, byminute = options.byminute, bysecond = options.bysecond;\n if (freqIsDailyOrGreater(freq)) {\n return buildTimeset(options);\n }\n if ((freq >= RRule.HOURLY &&\n notEmpty(byhour) &&\n !includes(byhour, counterDate.hour)) ||\n (freq >= RRule.MINUTELY &&\n notEmpty(byminute) &&\n !includes(byminute, counterDate.minute)) ||\n (freq >= RRule.SECONDLY &&\n notEmpty(bysecond) &&\n !includes(bysecond, counterDate.second))) {\n return [];\n }\n return ii.gettimeset(freq)(counterDate.hour, counterDate.minute, counterDate.second, counterDate.millisecond);\n}\n\n;// CONCATENATED MODULE: ./src/rrule.ts\n\n\n\n\n\n\n\n\n\n\n\n// =============================================================================\n// RRule\n// =============================================================================\nvar Days = {\n MO: new Weekday(0),\n TU: new Weekday(1),\n WE: new Weekday(2),\n TH: new Weekday(3),\n FR: new Weekday(4),\n SA: new Weekday(5),\n SU: new Weekday(6),\n};\nvar DEFAULT_OPTIONS = {\n freq: Frequency.YEARLY,\n dtstart: null,\n interval: 1,\n wkst: Days.MO,\n count: null,\n until: null,\n tzid: null,\n bysetpos: null,\n bymonth: null,\n bymonthday: null,\n bynmonthday: null,\n byyearday: null,\n byweekno: null,\n byweekday: null,\n bynweekday: null,\n byhour: null,\n byminute: null,\n bysecond: null,\n byeaster: null,\n};\nvar defaultKeys = Object.keys(DEFAULT_OPTIONS);\n/**\n *\n * @param {Options?} options - see <http://labix.org/python-dateutil/#head-cf004ee9a75592797e076752b2a889c10f445418>\n * - The only required option is `freq`, one of RRule.YEARLY, RRule.MONTHLY, ...\n * @constructor\n */\nvar RRule = /** @class */ (function () {\n function RRule(options, noCache) {\n if (options === void 0) { options = {}; }\n if (noCache === void 0) { noCache = false; }\n // RFC string\n this._cache = noCache ? null : new Cache();\n // used by toString()\n this.origOptions = initializeOptions(options);\n var parsedOptions = parseOptions(options).parsedOptions;\n this.options = parsedOptions;\n }\n RRule.parseText = function (text, language) {\n return parseText(text, language);\n };\n RRule.fromText = function (text, language) {\n return fromText(text, language);\n };\n RRule.fromString = function (str) {\n return new RRule(RRule.parseString(str) || undefined);\n };\n RRule.prototype._iter = function (iterResult) {\n return iter(iterResult, this.options);\n };\n RRule.prototype._cacheGet = function (what, args) {\n if (!this._cache)\n return false;\n return this._cache._cacheGet(what, args);\n };\n RRule.prototype._cacheAdd = function (what, value, args) {\n if (!this._cache)\n return;\n return this._cache._cacheAdd(what, value, args);\n };\n /**\n * @param {Function} iterator - optional function that will be called\n * on each date that is added. It can return false\n * to stop the iteration.\n * @return Array containing all recurrences.\n */\n RRule.prototype.all = function (iterator) {\n if (iterator) {\n return this._iter(new callbackiterresult('all', {}, iterator));\n }\n var result = this._cacheGet('all');\n if (result === false) {\n result = this._iter(new iterresult('all', {}));\n this._cacheAdd('all', result);\n }\n return result;\n };\n /**\n * Returns all the occurrences of the rrule between after and before.\n * The inc keyword defines what happens if after and/or before are\n * themselves occurrences. With inc == True, they will be included in the\n * list, if they are found in the recurrence set.\n *\n * @return Array\n */\n RRule.prototype.between = function (after, before, inc, iterator) {\n if (inc === void 0) { inc = false; }\n if (!isValidDate(after) || !isValidDate(before)) {\n throw new Error('Invalid date passed in to RRule.between');\n }\n var args = {\n before: before,\n after: after,\n inc: inc,\n };\n if (iterator) {\n return this._iter(new callbackiterresult('between', args, iterator));\n }\n var result = this._cacheGet('between', args);\n if (result === false) {\n result = this._iter(new iterresult('between', args));\n this._cacheAdd('between', result, args);\n }\n return result;\n };\n /**\n * Returns the last recurrence before the given datetime instance.\n * The inc keyword defines what happens if dt is an occurrence.\n * With inc == True, if dt itself is an occurrence, it will be returned.\n *\n * @return Date or null\n */\n RRule.prototype.before = function (dt, inc) {\n if (inc === void 0) { inc = false; }\n if (!isValidDate(dt)) {\n throw new Error('Invalid date passed in to RRule.before');\n }\n var args = { dt: dt, inc: inc };\n var result = this._cacheGet('before', args);\n if (result === false) {\n result = this._iter(new iterresult('before', args));\n this._cacheAdd('before', result, args);\n }\n return result;\n };\n /**\n * Returns the first recurrence after the given datetime instance.\n * The inc keyword defines what happens if dt is an occurrence.\n * With inc == True, if dt itself is an occurrence, it will be returned.\n *\n * @return Date or null\n */\n RRule.prototype.after = function (dt, inc) {\n if (inc === void 0) { inc = false; }\n if (!isValidDate(dt)) {\n throw new Error('Invalid date passed in to RRule.after');\n }\n var args = { dt: dt, inc: inc };\n var result = this._cacheGet('after', args);\n if (result === false) {\n result = this._iter(new iterresult('after', args));\n this._cacheAdd('after', result, args);\n }\n return result;\n };\n /**\n * Returns the number of recurrences in this set. It will have go trough\n * the whole recurrence, if this hasn't been done before.\n */\n RRule.prototype.count = function () {\n return this.all().length;\n };\n /**\n * Converts the rrule into its string representation\n *\n * @see <http://www.ietf.org/rfc/rfc2445.txt>\n * @return String\n */\n RRule.prototype.toString = function () {\n return optionsToString(this.origOptions);\n };\n /**\n * Will convert all rules described in nlp:ToText\n * to text.\n */\n RRule.prototype.toText = function (gettext, language, dateFormatter) {\n return toText(this, gettext, language, dateFormatter);\n };\n RRule.prototype.isFullyConvertibleToText = function () {\n return isFullyConvertible(this);\n };\n /**\n * @return a RRule instance with the same freq and options\n * as this one (cache is not cloned)\n */\n RRule.prototype.clone = function () {\n return new RRule(this.origOptions);\n };\n // RRule class 'constants'\n RRule.FREQUENCIES = [\n 'YEARLY',\n 'MONTHLY',\n 'WEEKLY',\n 'DAILY',\n 'HOURLY',\n 'MINUTELY',\n 'SECONDLY',\n ];\n RRule.YEARLY = Frequency.YEARLY;\n RRule.MONTHLY = Frequency.MONTHLY;\n RRule.WEEKLY = Frequency.WEEKLY;\n RRule.DAILY = Frequency.DAILY;\n RRule.HOURLY = Frequency.HOURLY;\n RRule.MINUTELY = Frequency.MINUTELY;\n RRule.SECONDLY = Frequency.SECONDLY;\n RRule.MO = Days.MO;\n RRule.TU = Days.TU;\n RRule.WE = Days.WE;\n RRule.TH = Days.TH;\n RRule.FR = Days.FR;\n RRule.SA = Days.SA;\n RRule.SU = Days.SU;\n RRule.parseString = parseString;\n RRule.optionsToString = optionsToString;\n return RRule;\n}());\n\n\n;// CONCATENATED MODULE: ./src/iterset.ts\n\n\n\nfunction iterSet(iterResult, _rrule, _exrule, _rdate, _exdate, tzid) {\n var _exdateHash = {};\n var _accept = iterResult.accept;\n function evalExdate(after, before) {\n _exrule.forEach(function (rrule) {\n rrule.between(after, before, true).forEach(function (date) {\n _exdateHash[Number(date)] = true;\n });\n });\n }\n _exdate.forEach(function (date) {\n var zonedDate = new DateWithZone(date, tzid).rezonedDate();\n _exdateHash[Number(zonedDate)] = true;\n });\n iterResult.accept = function (date) {\n var dt = Number(date);\n if (isNaN(dt))\n return _accept.call(this, date);\n if (!_exdateHash[dt]) {\n evalExdate(new Date(dt - 1), new Date(dt + 1));\n if (!_exdateHash[dt]) {\n _exdateHash[dt] = true;\n return _accept.call(this, date);\n }\n }\n return true;\n };\n if (iterResult.method === 'between') {\n evalExdate(iterResult.args.after, iterResult.args.before);\n iterResult.accept = function (date) {\n var dt = Number(date);\n if (!_exdateHash[dt]) {\n _exdateHash[dt] = true;\n return _accept.call(this, date);\n }\n return true;\n };\n }\n for (var i = 0; i < _rdate.length; i++) {\n var zonedDate = new DateWithZone(_rdate[i], tzid).rezonedDate();\n if (!iterResult.accept(new Date(zonedDate.getTime())))\n break;\n }\n _rrule.forEach(function (rrule) {\n iter(iterResult, rrule.options);\n });\n var res = iterResult._result;\n sort(res);\n switch (iterResult.method) {\n case 'all':\n case 'between':\n return res;\n case 'before':\n return ((res.length && res[res.length - 1]) || null);\n case 'after':\n default:\n return ((res.length && res[0]) || null);\n }\n}\n\n;// CONCATENATED MODULE: ./src/rrulestr.ts\n\n\n\n\n\n\n/**\n * RRuleStr\n * To parse a set of rrule strings\n */\nvar rrulestr_DEFAULT_OPTIONS = {\n dtstart: null,\n cache: false,\n unfold: false,\n forceset: false,\n compatible: false,\n tzid: null,\n};\nfunction parseInput(s, options) {\n var rrulevals = [];\n var rdatevals = [];\n var exrulevals = [];\n var exdatevals = [];\n var parsedDtstart = parseDtstart(s);\n var dtstart = parsedDtstart.dtstart;\n var tzid = parsedDtstart.tzid;\n var lines = splitIntoLines(s, options.unfold);\n lines.forEach(function (line) {\n var _a;\n if (!line)\n return;\n var _b = breakDownLine(line), name = _b.name, parms = _b.parms, value = _b.value;\n switch (name.toUpperCase()) {\n case 'RRULE':\n if (parms.length) {\n throw new Error(\"unsupported RRULE parm: \".concat(parms.join(',')));\n }\n rrulevals.push(parseString(line));\n break;\n case 'RDATE':\n var _c = (_a = /RDATE(?:;TZID=([^:=]+))?/i.exec(line)) !== null && _a !== void 0 ? _a : [], rdateTzid = _c[1];\n if (rdateTzid && !tzid) {\n tzid = rdateTzid;\n }\n rdatevals = rdatevals.concat(parseRDate(value, parms));\n break;\n case 'EXRULE':\n if (parms.length) {\n throw new Error(\"unsupported EXRULE parm: \".concat(parms.join(',')));\n }\n exrulevals.push(parseString(value));\n break;\n case 'EXDATE':\n exdatevals = exdatevals.concat(parseRDate(value, parms));\n break;\n case 'DTSTART':\n break;\n default:\n throw new Error('unsupported property: ' + name);\n }\n });\n return {\n dtstart: dtstart,\n tzid: tzid,\n rrulevals: rrulevals,\n rdatevals: rdatevals,\n exrulevals: exrulevals,\n exdatevals: exdatevals,\n };\n}\nfunction buildRule(s, options) {\n var _a = parseInput(s, options), rrulevals = _a.rrulevals, rdatevals = _a.rdatevals, exrulevals = _a.exrulevals, exdatevals = _a.exdatevals, dtstart = _a.dtstart, tzid = _a.tzid;\n var noCache = options.cache === false;\n if (options.compatible) {\n options.forceset = true;\n options.unfold = true;\n }\n if (options.forceset ||\n rrulevals.length > 1 ||\n rdatevals.length ||\n exrulevals.length ||\n exdatevals.length) {\n var rset_1 = new RRuleSet(noCache);\n rset_1.dtstart(dtstart);\n rset_1.tzid(tzid || undefined);\n rrulevals.forEach(function (val) {\n rset_1.rrule(new RRule(groomRruleOptions(val, dtstart, tzid), noCache));\n });\n rdatevals.forEach(function (date) {\n rset_1.rdate(date);\n });\n exrulevals.forEach(function (val) {\n rset_1.exrule(new RRule(groomRruleOptions(val, dtstart, tzid), noCache));\n });\n exdatevals.forEach(function (date) {\n rset_1.exdate(date);\n });\n if (options.compatible && options.dtstart)\n rset_1.rdate(dtstart);\n return rset_1;\n }\n var val = rrulevals[0] || {};\n return new RRule(groomRruleOptions(val, val.dtstart || options.dtstart || dtstart, val.tzid || options.tzid || tzid), noCache);\n}\nfunction rrulestr(s, options) {\n if (options === void 0) { options = {}; }\n return buildRule(s, rrulestr_initializeOptions(options));\n}\nfunction groomRruleOptions(val, dtstart, tzid) {\n return __assign(__assign({}, val), { dtstart: dtstart, tzid: tzid });\n}\nfunction rrulestr_initializeOptions(options) {\n var invalid = [];\n var keys = Object.keys(options);\n var defaultKeys = Object.keys(rrulestr_DEFAULT_OPTIONS);\n keys.forEach(function (key) {\n if (!includes(defaultKeys, key))\n invalid.push(key);\n });\n if (invalid.length) {\n throw new Error('Invalid options: ' + invalid.join(', '));\n }\n return __assign(__assign({}, rrulestr_DEFAULT_OPTIONS), options);\n}\nfunction extractName(line) {\n if (line.indexOf(':') === -1) {\n return {\n name: 'RRULE',\n value: line,\n };\n }\n var _a = split(line, ':', 1), name = _a[0], value = _a[1];\n return {\n name: name,\n value: value,\n };\n}\nfunction breakDownLine(line) {\n var _a = extractName(line), name = _a.name, value = _a.value;\n var parms = name.split(';');\n if (!parms)\n throw new Error('empty property name');\n return {\n name: parms[0].toUpperCase(),\n parms: parms.slice(1),\n value: value,\n };\n}\nfunction splitIntoLines(s, unfold) {\n if (unfold === void 0) { unfold = false; }\n s = s && s.trim();\n if (!s)\n throw new Error('Invalid empty string');\n // More info about 'unfold' option\n // Go head to http://www.ietf.org/rfc/rfc2445.txt\n if (!unfold) {\n return s.split(/\\s/);\n }\n var lines = s.split('\\n');\n var i = 0;\n while (i < lines.length) {\n // TODO\n var line = (lines[i] = lines[i].replace(/\\s+$/g, ''));\n if (!line) {\n lines.splice(i, 1);\n }\n else if (i > 0 && line[0] === ' ') {\n lines[i - 1] += line.slice(1);\n lines.splice(i, 1);\n }\n else {\n i += 1;\n }\n }\n return lines;\n}\nfunction validateDateParm(parms) {\n parms.forEach(function (parm) {\n if (!/(VALUE=DATE(-TIME)?)|(TZID=)/.test(parm)) {\n throw new Error('unsupported RDATE/EXDATE parm: ' + parm);\n }\n });\n}\nfunction parseRDate(rdateval, parms) {\n validateDateParm(parms);\n return rdateval.split(',').map(function (datestr) { return untilStringToDate(datestr); });\n}\n\n;// CONCATENATED MODULE: ./src/rruleset.ts\n\n\n\n\n\n\n\nfunction createGetterSetter(fieldName) {\n var _this = this;\n return function (field) {\n if (field !== undefined) {\n _this[\"_\".concat(fieldName)] = field;\n }\n if (_this[\"_\".concat(fieldName)] !== undefined) {\n return _this[\"_\".concat(fieldName)];\n }\n for (var i = 0; i < _this._rrule.length; i++) {\n var field_1 = _this._rrule[i].origOptions[fieldName];\n if (field_1) {\n return field_1;\n }\n }\n };\n}\nvar RRuleSet = /** @class */ (function (_super) {\n __extends(RRuleSet, _super);\n /**\n *\n * @param {Boolean?} noCache\n * The same stratagy as RRule on cache, default to false\n * @constructor\n */\n function RRuleSet(noCache) {\n if (noCache === void 0) { noCache = false; }\n var _this = _super.call(this, {}, noCache) || this;\n _this.dtstart = createGetterSetter.apply(_this, ['dtstart']);\n _this.tzid = createGetterSetter.apply(_this, ['tzid']);\n _this._rrule = [];\n _this._rdate = [];\n _this._exrule = [];\n _this._exdate = [];\n return _this;\n }\n RRuleSet.prototype._iter = function (iterResult) {\n return iterSet(iterResult, this._rrule, this._exrule, this._rdate, this._exdate, this.tzid());\n };\n /**\n * Adds an RRule to the set\n *\n * @param {RRule}\n */\n RRuleSet.prototype.rrule = function (rrule) {\n _addRule(rrule, this._rrule);\n };\n /**\n * Adds an EXRULE to the set\n *\n * @param {RRule}\n */\n RRuleSet.prototype.exrule = function (rrule) {\n _addRule(rrule, this._exrule);\n };\n /**\n * Adds an RDate to the set\n *\n * @param {Date}\n */\n RRuleSet.prototype.rdate = function (date) {\n _addDate(date, this._rdate);\n };\n /**\n * Adds an EXDATE to the set\n *\n * @param {Date}\n */\n RRuleSet.prototype.exdate = function (date) {\n _addDate(date, this._exdate);\n };\n /**\n * Get list of included rrules in this recurrence set.\n *\n * @return List of rrules\n */\n RRuleSet.prototype.rrules = function () {\n return this._rrule.map(function (e) { return rrulestr(e.toString()); });\n };\n /**\n * Get list of excluded rrules in this recurrence set.\n *\n * @return List of exrules\n */\n RRuleSet.prototype.exrules = function () {\n return this._exrule.map(function (e) { return rrulestr(e.toString()); });\n };\n /**\n * Get list of included datetimes in this recurrence set.\n *\n * @return List of rdates\n */\n RRuleSet.prototype.rdates = function () {\n return this._rdate.map(function (e) { return new Date(e.getTime()); });\n };\n /**\n * Get list of included datetimes in this recurrence set.\n *\n * @return List of exdates\n */\n RRuleSet.prototype.exdates = function () {\n return this._exdate.map(function (e) { return new Date(e.getTime()); });\n };\n RRuleSet.prototype.valueOf = function () {\n var result = [];\n if (!this._rrule.length && this._dtstart) {\n result = result.concat(optionsToString({ dtstart: this._dtstart }));\n }\n this._rrule.forEach(function (rrule) {\n result = result.concat(rrule.toString().split('\\n'));\n });\n this._exrule.forEach(function (exrule) {\n result = result.concat(exrule\n .toString()\n .split('\\n')\n .map(function (line) { return line.replace(/^RRULE:/, 'EXRULE:'); })\n .filter(function (line) { return !/^DTSTART/.test(line); }));\n });\n if (this._rdate.length) {\n result.push(rdatesToString('RDATE', this._rdate, this.tzid()));\n }\n if (this._exdate.length) {\n result.push(rdatesToString('EXDATE', this._exdate, this.tzid()));\n }\n return result;\n };\n /**\n * to generate recurrence field such as:\n * DTSTART:19970902T010000Z\n * RRULE:FREQ=YEARLY;COUNT=2;BYDAY=TU\n * RRULE:FREQ=YEARLY;COUNT=1;BYDAY=TH\n */\n RRuleSet.prototype.toString = function () {\n return this.valueOf().join('\\n');\n };\n /**\n * Create a new RRuleSet Object completely base on current instance\n */\n RRuleSet.prototype.clone = function () {\n var rrs = new RRuleSet(!!this._cache);\n this._rrule.forEach(function (rule) { return rrs.rrule(rule.clone()); });\n this._exrule.forEach(function (rule) { return rrs.exrule(rule.clone()); });\n this._rdate.forEach(function (date) { return rrs.rdate(new Date(date.getTime())); });\n this._exdate.forEach(function (date) { return rrs.exdate(new Date(date.getTime())); });\n return rrs;\n };\n return RRuleSet;\n}(RRule));\n\nfunction _addRule(rrule, collection) {\n if (!(rrule instanceof RRule)) {\n throw new TypeError(String(rrule) + ' is not RRule instance');\n }\n if (!includes(collection.map(String), String(rrule))) {\n collection.push(rrule);\n }\n}\nfunction _addDate(date, collection) {\n if (!(date instanceof Date)) {\n throw new TypeError(String(date) + ' is not Date instance');\n }\n if (!includes(collection.map(Number), Number(date))) {\n collection.push(date);\n sort(collection);\n }\n}\nfunction rdatesToString(param, rdates, tzid) {\n var isUTC = !tzid || tzid.toUpperCase() === 'UTC';\n var header = isUTC ? \"\".concat(param, \":\") : \"\".concat(param, \";TZID=\").concat(tzid, \":\");\n var dateString = rdates\n .map(function (rdate) { return timeToUntilString(rdate.valueOf(), isUTC); })\n .join(',');\n return \"\".concat(header).concat(dateString);\n}\n\n;// CONCATENATED MODULE: ./src/index.ts\n/* !\n * rrule.js - Library for working with recurrence rules for calendar dates.\n * https://github.com/jakubroztocil/rrule\n *\n * Copyright 2010, Jakub Roztocil and Lars Schoning\n * Licenced under the BSD licence.\n * https://github.com/jakubroztocil/rrule/blob/master/LICENCE\n *\n * Based on:\n * python-dateutil - Extensions to the standard Python datetime module.\n * Copyright (c) 2003-2011 - Gustavo Niemeyer <gustavo@niemeyer.net>\n * Copyright (c) 2012 - Tomi Pieviläinen <tomi.pievilainen@iki.fi>\n * https://github.com/jakubroztocil/rrule/blob/master/LICENCE\n *\n */\n\n\n\n\n\n\n\n/******/ \treturn __webpack_exports__;\n/******/ })()\n;\n});","module.exports = window.Globalize;","module.exports = window.JSZip;","module.exports = window.TurndownService;","module.exports = window.jQuery;","// 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\t// no module.id needed\n\t\t// no module.loaded needed\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// Return the exports of the module\n\treturn module.exports;\n}\n\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__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// 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};","\"use strict\";\r\n\r\n/* Comment lines below for the widgets you don't require and run \"devextreme-bundler\" in this directory, then include dx.custom.js in your project */\r\n\r\n/* Core (dx.module-core.js) */\r\n/* eslint-disable import/no-commonjs */\r\nconst DevExpress = require('devextreme/bundles/modules/core');\r\n\r\n/* Integrations (dx.module-core.js) */\r\n\r\nrequire('devextreme/integration/jquery');\r\n//require('devextreme/integration/angular');\r\n//require('devextreme/integration/knockout');\r\n\r\nrequire('devextreme/localization/globalize/core');\r\nrequire('devextreme/localization/globalize/message');\r\nrequire('devextreme/localization/globalize/number');\r\nrequire('devextreme/localization/globalize/date');\r\nrequire('devextreme/localization/globalize/currency');\r\n\r\n/* Events (dx.module-core.js) */\r\n\r\nrequire('devextreme/events/click');\r\nrequire('devextreme/events/contextmenu');\r\nrequire('devextreme/events/double_click');\r\nrequire('devextreme/events/drag');\r\nrequire('devextreme/events/hold');\r\nrequire('devextreme/events/hover');\r\nrequire('devextreme/events/pointer');\r\nrequire('devextreme/events/swipe');\r\nrequire('devextreme/events/transform');\r\n\r\n\r\n/* Data (dx.module-core.js) */\r\n\r\nconst data = DevExpress.data = require('devextreme/bundles/modules/data');\r\n\r\ndata.odata = require('devextreme/bundles/modules/data.odata');\r\n\r\n\r\n/* UI core (dx.module-core.js) */\r\n\r\nconst ui = DevExpress.ui = require('devextreme/bundles/modules/ui');\r\n\r\nui.themes = require('devextreme/ui/themes');\r\n\r\n// deprecated\r\nui.setTemplateEngine = require('devextreme/core/templates/template_engine_registry').setTemplateEngine;\r\n\r\nui.dialog = require('devextreme/ui/dialog');\r\nui.notify = require('devextreme/ui/notify');\r\nui.repaintFloatingActionButton = require('devextreme/ui/speed_dial_action/repaint_floating_action_button');\r\nui.hideToasts = require('devextreme/ui/toast/hide_toasts');\r\n\r\n/* Base widgets (dx.module-widgets-base.js) */\r\n\r\nui.dxActionSheet = require('devextreme/ui/action_sheet');\r\nui.dxAutocomplete = require('devextreme/ui/autocomplete');\r\nui.dxBox = require('devextreme/ui/box');\r\nui.dxButton = require('devextreme/ui/button');\r\nui.dxDropDownButton = require('devextreme/ui/drop_down_button');\r\nui.dxButtonGroup = require('devextreme/ui/button_group');\r\nui.dxCalendar = require('devextreme/ui/calendar');\r\nui.dxCheckBox = require('devextreme/ui/check_box');\r\nui.dxColorBox = require('devextreme/ui/color_box');\r\nui.dxDateBox = require('devextreme/ui/date_box');\r\nui.dxDateRangeBox = require('devextreme/ui/date_range_box');\r\nui.dxDrawer = require('devextreme/ui/drawer');\r\nui.dxDeferRendering = require('devextreme/ui/defer_rendering');\r\nui.dxDropDownBox = require('devextreme/ui/drop_down_box');\r\nui.dxFileUploader = require('devextreme/ui/file_uploader');\r\nui.dxForm = require('devextreme/ui/form');\r\nui.dxGallery = require('devextreme/ui/gallery');\r\nui.dxHtmlEditor = require('devextreme/ui/html_editor');\r\nui.dxList = require('devextreme/ui/list');\r\nui.dxLoadIndicator = require('devextreme/ui/load_indicator');\r\nui.dxLoadPanel = require('devextreme/ui/load_panel');\r\nui.dxLookup = require('devextreme/ui/lookup');\r\nui.dxMap = require('devextreme/ui/map');\r\nui.dxMultiView = require('devextreme/ui/multi_view');\r\nui.dxNumberBox = require('devextreme/ui/number_box');\r\nui.dxOverlay = require('devextreme/ui/overlay/ui.overlay');\r\nui.dxPopover = require('devextreme/ui/popover');\r\nui.dxPopup = require('devextreme/ui/popup');\r\nui.dxProgressBar = require('devextreme/ui/progress_bar');\r\nui.dxRadioGroup = require('devextreme/ui/radio_group');\r\nui.dxRangeSlider = require('devextreme/ui/range_slider');\r\nui.dxResizable = require('devextreme/ui/resizable');\r\nui.dxResponsiveBox = require('devextreme/ui/responsive_box');\r\nui.dxScrollView = require('devextreme/ui/scroll_view');\r\nui.dxSelectBox = require('devextreme/ui/select_box');\r\nui.dxSlider = require('devextreme/ui/slider');\r\nui.dxSpeedDialAction = require('devextreme/ui/speed_dial_action');\r\nui.dxSwitch = require('devextreme/ui/switch');\r\nui.dxTabPanel = require('devextreme/ui/tab_panel');\r\nui.dxTabs = require('devextreme/ui/tabs');\r\nui.dxTagBox = require('devextreme/ui/tag_box');\r\nui.dxTextArea = require('devextreme/ui/text_area');\r\nui.dxTextBox = require('devextreme/ui/text_box');\r\nui.dxTileView = require('devextreme/ui/tile_view');\r\nui.dxToast = require('devextreme/ui/toast');\r\nui.dxToolbar = require('devextreme/ui/toolbar');\r\nui.dxTooltip = require('devextreme/ui/tooltip');\r\nui.dxTrackBar = require('devextreme/ui/track_bar');\r\nui.dxDraggable = require('devextreme/ui/draggable');\r\nui.dxSortable = require('devextreme/ui/sortable');\r\n\r\n/* Validation (dx.module-widgets-base.js) */\r\n\r\nDevExpress.validationEngine = require('devextreme/ui/validation_engine');\r\nui.dxValidationSummary = require('devextreme/ui/validation_summary');\r\nui.dxValidationGroup = require('devextreme/ui/validation_group');\r\nui.dxValidator = require('devextreme/ui/validator');\r\n\r\n/* Widget parts */\r\nrequire('devextreme/ui/html_editor/converters/markdown');\r\n\r\n\r\n/* Web widgets (dx.module-widgets-web.js) */\r\n\r\nui.dxAccordion = require('devextreme/ui/accordion');\r\nui.dxContextMenu = require('devextreme/ui/context_menu');\r\nui.dxDataGrid = require('devextreme/ui/data_grid');\r\nui.dxTreeList = require('devextreme/ui/tree_list');\r\nui.dxMenu = require('devextreme/ui/menu');\r\nui.dxPivotGrid = require('devextreme/ui/pivot_grid');\r\nui.dxPivotGridFieldChooser = require('devextreme/ui/pivot_grid_field_chooser');\r\ndata.PivotGridDataSource = require('devextreme/ui/pivot_grid/data_source');\r\ndata.XmlaStore = require('devextreme/ui/pivot_grid/xmla_store');\r\nui.dxScheduler = require('devextreme/ui/scheduler');\r\nui.dxTreeView = require('devextreme/ui/tree_view');\r\nui.dxFilterBuilder = require('devextreme/ui/filter_builder');\r\nui.dxFileManager = require('devextreme/ui/file_manager');\r\nui.dxDiagram = require('devextreme/ui/diagram');\r\nui.dxGantt = require('devextreme/ui/gantt');\r\n\r\n\r\n/* Viz core (dx.module-viz-core.js) */\r\n\r\nconst viz = DevExpress.viz = require('devextreme/bundles/modules/viz');\r\nviz.currentTheme = require('devextreme/viz/themes').currentTheme;\r\nviz.registerTheme = require('devextreme/viz/themes').registerTheme;\r\nviz.exportFromMarkup = require('devextreme/viz/export').exportFromMarkup;\r\nviz.getMarkup = require('devextreme/viz/export').getMarkup;\r\nviz.exportWidgets = require('devextreme/viz/export').exportWidgets;\r\nviz.currentPalette = require('devextreme/viz/palette').currentPalette;\r\nviz.getPalette = require('devextreme/viz/palette').getPalette;\r\nviz.generateColors = require('devextreme/viz/palette').generateColors;\r\nviz.registerPalette = require('devextreme/viz/palette').registerPalette;\r\nviz.refreshTheme = require('devextreme/viz/themes').refreshTheme;\r\n\r\n/* Charts (dx.module-viz-charts.js) */\r\nviz.dxChart = require('devextreme/viz/chart');\r\nviz.dxPieChart = require('devextreme/viz/pie_chart');\r\nviz.dxPolarChart = require('devextreme/viz/polar_chart');\r\n\r\n/* Gauges (dx.module-viz-gauges.js) */\r\nviz.dxLinearGauge = require('devextreme/viz/linear_gauge');\r\nviz.dxCircularGauge = require('devextreme/viz/circular_gauge');\r\nviz.dxBarGauge = require('devextreme/viz/bar_gauge');\r\n\r\n/* Range selector (dx.module-viz-rangeselector.js) */\r\nviz.dxRangeSelector = require('devextreme/viz/range_selector');\r\n\r\n/* Vector map (dx.module-viz-vectormap.js) */\r\nviz.dxVectorMap = require('devextreme/viz/vector_map');\r\nviz.map = {};\r\nviz.map.sources = {};\r\nviz.map.projection = require('devextreme/viz/vector_map/projection').projection;\r\n\r\n/* Sparklines (dx.module-viz-sparklines.js) */\r\nviz.dxSparkline = require('devextreme/viz/sparkline');\r\nviz.dxBullet = require('devextreme/viz/bullet');\r\n\r\n/* Treemap */\r\nviz.dxTreeMap = require('devextreme/viz/tree_map');\r\n\r\n/* Funnel */\r\nviz.dxFunnel = require('devextreme/viz/funnel');\r\n\r\n/* Sankey */\r\nviz.dxSankey = require('devextreme/viz/sankey');\r\n\r\nDevExpress.fileManagement = require('devextreme/bundles/modules/file_management');\r\n\r\n//Additional possible scripts not currently include in the bundle\r\n//~/devextreme/dx-diagram.js\r\n//~/js/devextreme/jszip.js\r\n//~/js/devextreme/vectormap-data/world.js //https://js.devexpress.com/DevExtreme/Guide/Widgets/VectorMap/Providing_Data/#Data_for_Areas\r\n\r\n\r\n//let's us inject whatever we like into the devex library without changing the source code\r\n//Let's Modify the extractTemplateMarkup method to check if the type is a string first mean it's already extracted\r\n\r\nlet extractTemplateMarkupOriginal = DevExpress.utils.dom.extractTemplateMarkup;\r\nDevExpress.utils.dom.extractTemplateMarkup = function (element) {\r\n\r\n if (typeof element === 'string') {\r\n //if the element text it should already be normalized\r\n return element;\r\n }\r\n return extractTemplateMarkupOriginal(element);\r\n}\r\n\r\n/* Utilities for integration with ASP.NET */\r\nDevExpress.data.AspNet = require('devextreme-aspnet-data/js/dx.aspnet.data');\r\nDevExpress.aspnet = require('devextreme/aspnet');\r\n\r\n\r\n\r\nrequire('./src/xTemplateCustomRenderer')\r\nrequire('./src/xTemplate')\r\nrequire('./src/pillar-integration');\r\n\r\n//DevExtreme is suppsoto automatically add this when rendering any component on the page\r\n//However sometimes it does not do that for some reason\r\n//Here we are making sure that this ran everytime\r\nDevExpress.config({ \"serverDecimalSeparator\": \".\" });\r\nDevExpress.aspnet.setTemplateEngine();"],"names":["extendStatics","__extends","this","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__","constructor","prototype","create","defineProperty","exports","value","inferno_1","effect_host_1","areObjectsEqual","firstObject","secondObject","firstObjectKeys","keys","secondObjectKeys","length","some","key","BaseInfernoComponent","_super","_this","apply","arguments","_pendingContext","context","componentWillReceiveProps","_","shouldComponentUpdate","nextProps","nextState","props","state","Component","InfernoComponent","_effects","createEffects","updateEffects","componentWillMount","InfernoEffectHost","lock","componentWillUpdate","_nextProps","_nextState","_context","componentDidMount","callbacks","push","callEffects","componentDidUpdate","destroyEffects","forEach","e","dispose","componentWillUnmount","InfernoWrapperComponent","vDomElement","vDomUpdateClasses","el","currentClasses","className","split","addedClasses","filter","dxClasses","previous","indexOf","removedClasses","indexInRemoved","removed","splice","added","indexInAdded","findDOMfromVNode","$LI","call","classList","add","remove","shouldUpdate","__assign","assign","t","s","i","n","contextId","createContext","defaultValue","id","Provider","class_1","getChildContext","_a","render","children","InfernoEffect","effect","dependency","destroy","update","currentDependency","lockCount","Error","effects","callback","__export","m","shared_1","hydrateChildren","parentVNode","parentNode","currentNode","isSVG","lifecycle","childFlags","flags","isNull","_M","hydrateVNode","nextSibling","appendChild","document","createTextNode","childNodes","nodeType","textContent","nodeValue","prevVNodeIsTextNode","len","child","removeChild","firstChild","dom","Boolean","dangerouslySetInnerHTML","__html","innerHTML","tempdom","createElement","isSameInnerHTML","isSamePropsInnerHTML","hydrateText","vNode","parentDOM","replaceChild","text","currentDom","isClass","type","ref","EMPTY_OBJ","instance","_CI","input","$CX","_MCCC","_HI","_RFC","_MFCC","hydrateComponent","_ME","_MP","isNullOrUndef","removeAttribute","setAttribute","_MR","hydrateElement","findLastDOMFromVNode","hydrateFragment","throwError","hydrate","isInvalid","listener","undefined","shift","$V","isFunction","ERROR_MSG","o","message","__read","Symbol","iterator","r","ar","next","done","error","NUMBER_STYLES","Set","uppercasePattern","normalizeStyles","styles","entries","reduce","acc","str","_b","replace","toLowerCase","Number","isNaN","isNumeric","style","has","getNumberStyleValue","Portal","container","createPortal","effect_1","createReRenderEffect","rerender","inferno_create_element_1","renderTemplate","template","_component","setTimeout","get","item","getContainer","hasTemplate","name","properties","window","Pillardx","getCurrentTemplateEngine","createTemplate","element","Template","currentMsgPtr","DevExpress","localization","formatMessage","args","res","getRandomValues","rnds8","Uint8Array","rng","crypto","bind","msCrypto","byteToHex","toString","substr","arr","offset","uuid","test","TypeError","options","buf","rnds","random","MATCH_COMPONENT","MATCH_DEV_EX_CONTENT","DEV_EX_STRIP_ARGS","DEV_EX_ARGS_ID","DEV_EX_ARGS_ERP_REPLACE_ID","DEV_EX_ARGS_REPLACE_ID","XTemplate","dxContainer","itemData","itemIndex","itemElement","control","_dxContainer","_itemData","_itemIndex","_itemElement","_control","_provideDxCustomTemplate","_normalizeData","data","_normalize","isArray","newData","_renderCustomTemplateAsString","templateString","template_engine","_currentContextTemplateData","compile","_combineItemDataAndCurrentTemplateData","_provideCustomTemplate","uid","newGuid","$","_htmlXTemplate","_htmlXTemplateContent","_reformatTemplate","thresholdElements","devExContent","match","_formatDevExContent","content","_formatWithPlaceHolders","_reformatDevExContent","_addFunctionBlock","_fillPlaceHolders","sb","devexID","join","placeholder","nonDevExContent","TemplateIdentifier","_FireClientSideEvent","SetTemplateEventFunc","_mainElement","_$element","_setXTemplateData","eq","html","_fillDXComponentPlaceHolders","console","warn","matchdata","result","CreateXTemplate","that","NestedTemplates","itemdata","mainElement","Templates","childTemplate","JsFuncTemplateHandler","xTemplate","xTemplateCustomRenderer","allowRenderToDetachedContainer","skipTemplates","isAsyncTemplate","_templateElement","_jsFuncTemplateHandler","model","change","dxParentComponent","component","_templateManager","getTemplate","CreateHandler","CreateCustomRenderer","module","l","c","enumerable","toStringTag","__esModule","default","x","y","zero","fromNumber","isZero","JSON","stringify","copyFrom","clone","equals","offsetByPoint","multiply","negative","applyConverter","plus","minus","xComparer","yComparer","Point","ShapeType","ShapeTypes","ShapeCategories","General","Flowchart","OrgChart","Containers","Custom","Text","Rectangle","Ellipse","Cross","Triangle","Diamond","Heart","Pentagon","Hexagon","Octagon","Star","ArrowLeft","ArrowUp","ArrowRight","ArrowDown","ArrowUpDown","ArrowLeftRight","Process","Decision","Terminator","PredefinedProcess","Document","MultipleDocuments","ManualInput","Preparation","Data","Database","HardDisk","InternalStorage","PaperTape","ManualOperation","Delay","StoredData","Display","Merge","Connector","Or","SummingJunction","Container","VerticalContainer","HorizontalContainer","Card","CardWithImageOnLeft","CardWithImageOnTop","CardWithImageOnRight","rectangle","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","delay","storedData","display","merge","connector","or","summingJunction","verticalContainer","horizontalContainer","cardWithImageOnLeft","cardWithImageOnTop","cardWithImageOnRight","width","height","empty","initByCommonAction","isEmpty","nonNegativeSize","Size","EventUtils","HtmlFocusUtils","ObjectUtils","GeometryUtils","Utils","EventDispatcher","Range","LineEquation","a","u","h","f","aParam","bParam","cParam","fromPoints","v","areDuplicatedPoints","getPointIntersection","MathUtils","numberCloseTo","createPoint","containsPoint","from","to","Math","abs","configurable","extend","min","max","includes","fromLength","g","listeners","hasEventListener","raise","raise1","flatten","concat","getCommonRectangle","MAX_VALUE","right","bottom","findFreeSpace","sort","map","SearchUtils","binaryIndexOf","checkRect","getArrowPoints","point1","point2","point3","sqrt","pow","createSegments","Segment","createRectagle","createSegmentsFromRectangle","areSegmentsCutRectangle","isIntersectedByRect","startPoint","endPoint","isIntersected","areIntersectedSegments","isLineIntersected","removeUnnecessaryPoints","removeUnnecessaryPointsCore","removeBackwardPoints","removeUnnecessaryRightAnglePoints","removeNotRightAnglePoints","removeDuplicatedPoints","removeNotCornersPoints","getNextPoint","isRightAngleCorner","isCorner","isBackwardPoint","createAngle","PI","Vector","atan2","addSelectedLinesTo","P","C","S","getSelectionOffsetPoint","getSelectionTextStartEndPoints","TextAlignment","Left","Right","getPathLength","Metrics","euclideanDistance","getPathPointByPosition","getLineAngle","getTriangleBeginAngle","getTriangleEndAngle","getPathPointByPoint","sin","fround","round","cos","tan","getPathPositionByPoint","atan","arePointsEqual","getMaxRectangleEnscribedInEllipse","getEllipseByEnscribedRectangle","cloneObject","compareObjects","isDeepEqual","getOwnPropertyNames","focusWithPreventScroll","Browser","Safari","getHtmlScrollPosition","parentElement","getBoundingClientRect","left","top","frameElement","setProperty","focus","preventScroll","setHtmlScrollPosition","pos","getDocumentScrollPosition","iframePos","pageXOffset","documentElement","scrollLeft","body","pageYOffset","scrollTop","setDocumentScrollPosition","isLeftButtonPressed","EvtUtils","isPointerEvents","PointerEvent","isMousePointer","pointerType","Firefox","isTouchMode","TouchUI","navigator","maxTouchPoints","isTouchEvent","ModelUtils","I","w","O","T","M","E","D","A","R","L","N","z","j","U","k","B","H","K","V","setShapePosition","position","addAndRedo","MoveShapeHistoryItem","Shape","setShapeSize","size","ResizeShapeHistoryItem","addConnectorPoint","AddConnectorPointHistoryItem","deleteConnectorCustomPoints","points","tryCreateRenderPointsContext","lineOption","ConnectorLineOption","Straight","ChangeConnectorPointsHistoryItem","ConnectorRenderPointsContext","ConnectorRenderPoint","actualRoutingMode","ReplaceConnectorPointsHistoryItem","deleteConnectorUnnecessaryPoints","getRenderPoints","createUnnecessaryRenderPoints","skipped","skippedRenderPoints","findFirstPointIndex","createNecessaryPoints","createUnnecessaryRightAngleRenderPoints","validateRenderPointIndexes","lockCreateRenderPoints","fixConnectorBeginEndConnectionIndex","beginItem","beginConnectionPointIndex","getNearestConnectionPoint","SetConnectionPointIndexHistoryItem","ConnectorPosition","Begin","endItem","endConnectionPointIndex","End","skipUnnecessaryRenderPoints","removeUnnecessaryRenderPoints","skipUnnecessaryRightAngleRenderPoints","removeUnnecessaryRightAngleRenderPoints","removeUnnecessaryPoint","collectNotSkippedRenderPoints","collectSkippedRenderPoints","isNecessaryPoint","pointIndex","moveConnectorRightAnglePoints","MoveConnectorRightAnglePointsHistoryItem","moveConnectorPoint","MoveConnectorPointHistoryItem","updateConnectorAttachedPoints","beginTransaction","findItemCollapsedContainer","isContainerItem","updateConnectorBeginPoint","getConnectionPointIndexForItem","updateConnectorEndPoint","endTransaction","getConnectionPointPosition","center","updateContainerConnectorsAttachedPoints","getChildren","attachedConnectors","findItemTopCollapsedContainer","getConnectorsWithoutBeginItemInfo","findConnectorsWithoutBeginItem","point","getConnectorsWithoutEndItemInfo","findConnectorsWithoutEndItem","updateShapeAttachedConnectors","tryRemoveConnectorIntermediatePoints","updateMovingShapeConnections","getMovingShapeConnectionPointIndex","DeleteConnectionHistoryItem","AddConnectionHistoryItem","getConnectionPoints","connectionPointActionSize","shouldRemoveConnectorIntermediatePoints","Orthogonal","isShapeIntersectConnectorCustomPoints","getCustomRenderPoints","minOffset","UnitConverter","pixelsToTwips","inflate","getSnappedPos","snapStartPoint","tryUpdateModelRectangle","modelManipulator","getModelSizeUpdateOffset","ModelResizeHistoryItem","UpdatePositionsOnPageResizeHistoryItem","raiseModelRectangleChanged","getRectangle","deleteItems","getKeys","SetSelectionHistoryItem","deleteItemsCore","removeFromContainer","RemoveFromContainerHistoryItem","updateAttachedConnectorsContainer","locked","findItem","deleteShape","deleteConnector","detachConnectors","permissionsProvider","canDeleteItems","DeleteShapeHistoryItem","DeleteConnectorHistoryItem","deleteAllItems","items","slice","deleteSelection","getSelectedItems","changeSelectionLocked","ChangeLockedHistoryItem","updateSelection","copyStylesToItem","styleText","ChangeStyleTextHistoryItem","ChangeStyleHistoryItem","cloneShapeToOffset","AddShapeHistoryItem","description","shapeKey","ChangeCustomDataHistoryItem","customData","ChangeShapeParametersHistoryItem","parameters","applyOffsetToConnectorRenderPointsContext","renderPoints","cloneConnectorToOffset","AddConnectorHistoryItem","connectorKey","findConnector","ChangeConnectorPropertyHistoryItem","findShape","texts","ChangeConnectorTextHistoryItem","cloneSelectionToOffset","getSelectedShapes","getSelectedConnectors","findContainerByEventKey","findContainer","isLocked","hasKey","canInsertToContainer","findChild","canInsertSelectionToContainer","insertToContainer","enableChildren","InsertToContainerHistoryItem","insertSelectionToContainer","removeSelectionFromContainer","getConnectorContainer","updateConnectorContainer","updateNewShapeProperties","inputPosition","getDefaultStyle","getDefaultStylePropertyValue","getDefaultTextStyle","getDefaultTextStylePropertyValue","updateNewConnectorProperties","getDefaultConnectorProperties","getDefaultConnectorPropertyValue","applyLayout","getOccupiedRectangles","offsetLayoutToFreeSpace","clientRectangle","containerPadding","adjustLayoutToSnapGrid","resizeContainerOnLayout","applyLayoutToNodes","edges","applyLayoutToConnectors","getNonGraphItems","createSize","offsetNodes","nodeKeys","forEachNode","applyLayoutToNode","edgeToPosition","getConnectionPointIndexForSide","beginIndex","endIndex","nodeToLayout","getGraphInfoByItems","expanded","getGraphByItems","nodes","GraphInfo","level","Graph","extendByConnectedComponents","getItemIndex","getNode","addNode","addEdge","Edge","getlUnitValue","DiagramUnit","Cm","twipsToCentimeters","In","twipsToInches","Px","twipsToPixels","getUnitText","toFixed","getTwipsValue","centimetersToTwips","inchesToTwips","getGuidItemKey","generateGuid","createSelectedItems","canMoveConnector","createRectangle","PathPrimitiveClosePathCommand","PathPrimitiveArcToCommand","PathPrimitiveQuadraticCurveToCommand","PathPrimitiveCubicCurveToCommand","PathPrimitiveLineToCommand","PathPrimitiveMoveToCommand","PathPrimitiveCommand","PathPrimitive","commands","createMainElement","createElementNS","svgNS","applyElementProperties","setPositionCorrectionAttribute","SvgPrimitive","PrimitiveObject","getUnitVaue","fromPoint","x1","y1","x2","y2","x3","y3","rx","ry","xAxisRotation","largeArcFlag","sweepFag","CONNECTOR_DEFAULT_TEXT_POSITION","ConnectorProperties","ConnectorTexts","routingStrategy","renderPointsWithoutSkipped","shouldInvalidateRenderPoints","getTextCount","count","getText","setText","set","ConnectorText","getTextPoint","getTextPositionByPoint","pointsToTwips","parseInt","getTextRectangle","fromGeometry","changeRoutingStrategy","invalidateRenderPoints","clearRoutingStrategy","changeRenderPoints","ConnectorPointsOrthogonalCalculator","getPoints","ConnectorRoutingMode","None","createRenderPoints","AllShapesOnly","getCalculator","shouldChangeRenderPoints","updatePointsOnPageResize","addPoint","deletePoint","movePoint","onAddPoint","replaceRenderPointsCore","onDeletePoint","onMovePoint","onMovePoints","replaceRenderPoints","clearRenderPoints","ConnectorPointsCalculator","createPrimitives","createLineEndingPrimitives","createTextPrimitives","strategy","createLineEndingStrategy","startLineEnding","endLineEnding","hasCommands","needCreateSeparatePrimitive","createPrimitive","createCommands","ConnectorLineEnding","ConnectorLineEndingNoneStrategy","Arrow","ConnectorLineEndingArrowStrategy","OutlinedTriangle","ConnectorLineEndingOutlinedTriangleStrategy","FilledTriangle","ConnectorLineEndingFilledTriangleStrategy","ConnectorLineEndingStrategy","createSelectorPrimitives","enableText","TextPrimitive","TextOwner","PAGE_BG_TEXTFLOOR_FILTER_IDPREFIX","RenderUtils","setElementEventData","MouseEventElementType","getExtremeItem","getExtremeConnectionPointIndex","getMinX","getMinY","getConnectionPointSide","ConnectionPointSide","Undefined","getSegments","intersectedByRect","toNative","NativeConnector","dataKey","fromKey","toKey","fromId","fromPointIndex","toId","toPointIndex","applyUnits","minTextHeight","DiagramItem","ShapeDescription","ShapeTextPadding","ShapeDefaultSize","ShapeMinDimension","ShapeDefaultDimension","defaultSize","hasDefaultText","onChanged","connectionPoints","createConnectionPoints","getTitle","DiagramLocalizationService","shapeTexts","getDefaultText","getDefaultImageUrl","ConnectionPoint","North","East","South","West","processConnectionPoint","getConnectionPointSideByGeometry","createParameters","normalizeParameters","modifyParameters","changeParameterValue","getParameterPoints","getExpandedSize","getCollapsedSize","getToolboxHeightToWidthRatio","allowResizeHorizontally","allowResizeVertically","createShapePrimitives","enableImage","createImagePrimitives","textSpacing","getTextClipPathId","getTextAngle","TextAngle","Angle0deg","getClientRectangle","getTextEditRectangle","RectanglePrimitive","raiseShapeDescriptionChanged","notifyShapeDescriptionChanged","CompositionHistoryItem","HistoryItem","uniqueId","changeModified","getName","historyItems","dataSyncItems","redo","undo","DEFAULT_ZINDEX","zIndex","Style","TextStyle","getConnectionPoint","toPoint","getConnectionPointIndex","getConnectionPointSideByIndex","strokeWidth","areIntersected","SimpleCommandBase","getState","SimpleCommandState","isEnabled","getValue","getDefaultValue","getItems","isVisible","settings","readOnly","isEnabledInReadOnlyMode","getModelUnit","units","getModelUnitText","unitItems","formatUnit","getModelUnitTwipsValue","getViewUnit","viewUnits","getViewUnitText","getViewUnitTwipsValue","CommandBase","DiagramClipboardEvent","DiagramKeyboardEvent","DiagramContextMenuEvent","DiagramWheelEvent","DiagramMouseEvent","DiagramMouseEventBase","DiagramMouseEventTouch","DiagramFocusEvent","DiagramEvent","ResizeEventSource","MouseEventSource","MouseButton","Middle","Background","ConnectorPoint","ConnectorSide","ConnectorOrthogonalSide","ShapeResizeBox","ShapeParameterBox","SelectionRect","ShapeConnectionPoint","ShapeExpandButton","ResizeBox_NW","ResizeBox_NE","ResizeBox_SE","ResizeBox_SW","ResizeBox_N","ResizeBox_E","ResizeBox_S","ResizeBox_W","modifiers","ModifierKey","inputText","offsetPoint","modelPoint","source","button","touches","scrollX","scrollY","deltaX","deltaY","eventPoint","keyCode","getShortcutCode","clipboardData","hundredthsOfMillimeterToTwipsRound","documentsToTwips","pixelsToTwipsF","pixelsToTwipsCustomDpi","pixelsToTwipsFCustomDpi","inchesToTwipsF","pointsToTwipsF","picasToTwips","PICAS_PER_INCH","centimetersToTwipsF","DPI","CENTIMETERS_PER_INCH","twipsToDegrees","twipsToRadians","degreesToTwips","radiansToTwips","radiansToDegrees","twipsToFD","fdToTwips","emuToTwips","twipsToPixelsF","inchesToPixels","centimeterToPixel","centimeterToPixelF","millimetersToPixel","pointsToPixels","pointsToPixelsF","pixelsToPoints","pixelsToPointsF","twipsToPoints","twipsToPointsF","pixelsToInches","pixelToCentimeters","twipsToHundredthsOfMillimeter","pixelsToHundredthsOfMillimeter","hundredthsOfMillimeterToTwips","twipsToEmu","twipsToDegree","createPosition","createVerticalInterval","FixedInterval","createHorizontalInterval","fromPositions","fromCenter","isCollapsed","setPosition","setSize","setGeomerty","moveRectangle","moveRectangleByPoint","resize","containsRectangle","applyOffsetsInside","applyNormalizedOffsetsInside","applyOffsetsOutside","getHorizIntersection","IntervalAlgorithms","getIntersection","getVertIntersection","start","getHorNonCollapsedIntersection","getVertNonCollapsedIntersection","getNonCollapsedIntersection","union","Top","Bottom","HitTestDeviation","initRectangle","initPoint","deviation","Flag","calcDeviation","calcAdditionalParams","insidePoint","offsetToInside","RectangleDeviation","expandedSize","toolboxSize","image","ImageInfo","ShapeParameters","allowEditText","allowEditImage","getMinWidth","minWidth","getMinHeight","minHeight","getMaxWidth","maxWidth","getMaxHeight","maxHeight","normalizeX","normalizeY","side","toggleExpandedSize","NativeShape","attachedConnectorIds","containerId","containerChildItemIds","containerExpanded","RenderHelper","createSvgElement","baseVal","Diagnostics","optimizeLayers","transform","addEventListener","removeEventListener","DiagramModelOperation","ModelOperationSettings","_addShape","_addShapeFromToolbox","_deleteShape","_deleteConnector","_changeConnection","_changeConnectorPoints","_changeShapeText","_changeConnectorText","_resizeShape","_moveShape","applySettings","addShape","addShapeFromToolbox","changeConnection","changeConnectorPoints","changeShapeText","changeConnectorText","resizeShape","moveShape","AddShape","AddShapeFromToolbox","DeleteShape","DeleteConnector","ChangeConnection","ChangeConnectorPoints","BeforeChangeShapeText","ChangeShapeText","BeforeChangeConnectorText","ChangeConnectorText","ResizeShape","MoveShape","raiseEvent","updateSvgElementSize","removeElement","removeContent","getElementEventData","getAttribute","getHtmlElementStylePropertyName","getTextAnchorValue","getStrokeDasharrayValue","applyStyleToElement","getDefaultInstance","HTMLElement","generateSvgElementId","getUrlPathById","preventDefault","IdentUserAgent","Chrome","Mozilla","Netscape","Opera","IE","indentPlatformMajorVersion","Windows","Macintosh","Mac_PowerPC","Android","Opera10","RegExp","exec","index","GetBrowserVersion","getIECompatibleVersionString","toUpperCase","floor","getVersionFromTrident","documentMode","fillUserAgentInfo","getVersionFromMatches","compatible","userAgent","version","isTouchEnabled","hasTouchStart","hasMaxTouchPoints","hasMsMaxTouchPoints","msMaxTouchPoints","hasNavigator","Version","MajorVersion","WindowsPlatform","MacOSMobilePlatform","MacOSPlatform","AndroidMobilePlatform","WindowsPhonePlatform","WebKitFamily","NetscapeFamily","WebKitTouchUI","UserAgent","MSTouchUI","MobileUI","AndroidDefaultBrowser","AndroidChromeBrowser","SamsungAndroidDevice","VirtualKeyboardSupported","fillDocumentElementBrowserTypeClassNames","PlaformMajorVersion","parseFloat","Info","getUserAgent","_foo","RectangleShapeDescription","getSizeByText","Alignment","DataLayoutOrientation","LogicalDirectionKind","TreeLayoutSettings","LayoutSettings","orientation","Vertical","direction","Forward","columnSpacing","layerSpacing","componentSpacing","alignment","Center","subTreeColumnSpacing","Backward","Horizontal","setUnitAttribute","getAlpha","getRed","getGreen","getBlue","redPartToString","greenPartToString","bluePartToString","fromArgbNumber","fromRgbaString","fromHashString","isHashColorString","charAt","StringUtils","repeat","fromColorName","colorNames","fromString","colorToHash","stringToHash","isKnownColorName","isGray","DARK_COLOR","LIGHT_COLOR","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","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","green","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","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","teal","thistle","tomato","turquoise","violet","violetred","wheat","white","whitesmoke","yellow","yellowgreen","windowtext","ColorUtils","PermissionRequestEventArgs","RequestedEntity","apiController","eventArgs","allowed","updateUI","_eventArgs","createEventArgs","powFactor","restrictValue","getRandomInt","ListUtils","initByCallback","somePrimes","clipPathId","onApplyProperties","createChildElements","createCustomContent","applyElementStyleProperties","applyChildrenProperties","applyElementStylePropertiesCore","destroyCustomContent","getKeyModifiers","altKey","Alt","ctrlKey","Ctrl","shiftKey","Shift","metaKey","Meta","getShortcutCodeByEvent","getEventKeyCode","which","parseShortcutString","trim","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","Enter","Home","Up","Down","PageUp","PageDown","Space","Tab","Backspace","ContextMenu","Esc","Delete","Insert","charCodeAt","alert","EncodeUtils","decodeViaTextArea","KeyUtils","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","Equals","Comma","Dash","Period","ForwardSlash","GraveAccent","OpenBracket","BackSlash","CloseBracket","SingleQuote","KeyCode","EmptyStyle","StrokeStyle","DEFAULT_STROKE_DASHARRAY","DEFAULT_STROKE_WIDTH","StyleBase","createDefaultProperties","createInstance","strokeWidthPx","toHash","toObject","fromObject","isColorProperty","fill","stroke","defaultInstance","isDefaultStrokeDashArray","resetStrokeDashArray","getAlignment","_strokeWidthPx","_strokeOffset","default1pxInstance","default1pxNegativeOffsetInstance","default2pxInstance","clearInnerHtml","setStylePosition","setStyleSize","setStyleSizeAndPosition","hideNode","isHTMLElementNode","Node","ELEMENT_NODE","isTextNode","TEXT_NODE","isElementNode","isHTMLTableRowElement","tagName","isItParent","getParentByTagName","getDocumentScrollTop","getCurrentStyle","overflow","getDocumentScrollLeft","currentStyle","defaultView","getComputedStyle","ownerDocument","isDefined","offsetWidth","setFocus","activeElement","hasClassName","contains","addClassName","removeClassName","toggleClassName","pxToInt","pxToFloat","getAbsolutePositionY","cells","offsetTop","offsetParent","borderTopWidth","getAbsolutePositionX","offsetLeft","borderLeftWidth","isInteractiveControl","getClearClientHeight","offsetHeight","getTopBottomPaddings","getVerticalBordersWidth","paddingTop","paddingBottom","borderTopStyle","borderBottomStyle","borderBottomWidth","getNodes","all","getElementsByTagName","getChildNodes","getNodesByClassName","querySelectorAll","getChildNodesByClassName","isNonNullString","getVerticalScrollBarWidth","verticalScrollBarWidth","cssText","clientWidth","getHorizontalBordersWidth","borderLeftStyle","borderRightStyle","borderRightWidth","getFontFamiliesFromCssString","getInnerText","html2PlainTextFilter","innerText","DomUtils","AutoZoomMode","DiagramSettings","onZoomChanged","onViewChanged","onReadOnlyChanged","onConnectorRoutingModeChanged","_zoomLevel","_zoomLevelWasChanged","_zoomLevelItems","_simpleView","_fullscreen","_readOnly","_autoZoom","Disabled","_snapToGrid","_showGrid","_contextMenuEnabled","_gridSize","_gridSizeItems","_pageSizeItems","_viewUnits","_connectorRoutingMode","_reloadInsertedItemRequired","_useCanvgForExportToImage","correctZoomLevel","notifyZoomChanged","notifyViewChanged","notifyReadOnlyChanged","notifyGridChanged","showGrid","gridSize","notifyConnectorRoutingModeChanged","_shapeMinWidth","_shapeMinHeight","_shapeMaxWidth","_shapeMaxHeight","applyShapeSizeSettings","shapeMaxHeight","shapeMinHeight","shapeMaxWidth","shapeMinWidth","FitContent","FitToWidth","ConnectorShapesOnly","ShapeParameterPoint","DEFAULT_CONNECTOR_ENDLINEENDING","DEFAULT_CONNECTOR_STARTLINEENDING","DEFAULT_CONNECTOR_LINEOPTION","intersectCore","MouseHandlerDraggingState","history","canApplyChangesOnMouseMove","dragStartLimit","onAfterApplyChanges","modified","handler","raiseDragStart","getDraggingElementKeys","mouseDownPoint","onMouseDown","onMouseMove","mouseMoveEvent","cancelChanges","switchToDefaultState","onApplyChanges","onKeyDown","performMouseMoveEvent","onKeyUp","onMouseUp","beginStorePermissions","finish","checkStoredPermissionsOnFinish","onFinishWithChanges","raiseDragEnd","endStorePermissions","clearInteractingItems","isStoredPermissionsGranted","lockPermissions","undoTransaction","unlockPermissions","getSnappedPoint","getSnappedPointOnDragPoint","MouseHandlerCancellableState","manhattanDistance","ShapeParameter","addRange","ConnectionMode","PositionInfo","weight","getHashKey","reverse","Outgoing","Incoming","OutgoingAndIncoming","GroupPrimitive","onBeforeDispose","MouseHandlerStateBase","onMouseClick","onMouseDblClick","onMouseWheel","onDragStart","onDragEnd","onShortcut","onConnectionPointsShow","onConnectionTargetShow","normedBinaryIndexOf","binaryIndexNormalizator","normedInterpolationIndexOf","CanvasManagerBase","elements","instanceId","actualZoom","createAndChangePrimitivesElements","createAndChangePrimitiveElement","createPrimitiveElement","changeByPrimitive","changePrimitiveElement","getOrCreateElement","createTextFloodFilter","TextFloodFilterPrimitive","getAbsoluteSize","ExtensionLine","Resize","SetAbsoluteY","SetAbsoluteX","isFinite","visibility","ArrayInsert","ArrayRemove","ArrayIndexOf","ArrayRemoveAt","pop","ArrayClear","ArrayContains","ArrayEqual","ArraySame","every","ArrayGetIntegerEdgeValues","CollectionToArray","ArrayIntegerAscendingSort","end","ArrayIntegerSort","CollectionsUnionToArray","CreateHashTableFromArray","CreateIndexHashTableFromArray","ArrayToHash","Sum","Min","CalculateArrayMinMax","Max","NearestLeftBinarySearchComparer","ArrayBinarySearch","defaultBinarySearchComparer","ArrayFlatten","GetDistinctArray","ForEach","MergeHashTables","NEGATIVE_INFINITY","POSITIVE_INFINITY","byRange","cssTextToObject","objectToCssText","ImageCache","CacheImageInfo","_base64","Base64Utils","normalizeToDataUrl","actualId","_referenceInfo","_isLoaded","imageUrl","referenceInfo","_isLoading","startLoading","finalizeLoading","emptyImageId","lastActualId","onReadyStateChanged","cache","nonLoadedImages","createUnloadedInfoByBase64","transparentOnePixelImage","isLoaded","reset","getImageData","createUnloadedInfoByUrl","findInfoByUrl","registerImageData","getNextActualId","findInfoByBase64","createUnloadedInfoByShapeImageInfo","exportUrl","checkPrependDataUrl","raiseReadyStateChanged","loadAllImages","isLoading","load","base64","hasNonLoadedImages","findInfoCore","notifyImageCacheReadyStateChanged","PageOrientation","Portrait","Landscape","itemKey","connectionPointIndex","addConnection","deleteConnection","oldConnectionPointIndex","setConnectionPointIndex","isAlpha","isDigit","stringHashCode","endsAt","startsAt","stringInLowerCase","stringInUpperCase","atLeastOneSymbolInUpperCase","getSymbolFromEnd","trimInternal","trimStart","trimEnd","getDecimalSeparator","toLocaleString","isNullOrEmpty","padLeft","substring","boolToInt","boolToString","isNumber","isString","isEven","isOdd","numberToStringBin","numberToStringHex","url","loadFailed","transparentWhiteImage1_1","loadBase64Content","setUnableToLoadFlag","ConnectorPointsOrthogonalSideCalculatorBase","parent","beginRect","endRect","getBeginOffsetPoints","getCorrectOriginPoint","isBeginEndSame","getSameShapeOffsetPoints","isBeginEndOverlappedPoints","getOverlappedPointsOffsetPoints","isBeginEndOverlapped","getBeginOverlappedShapeOffsetPoints","isOriginRectContainsTargetPoint","isOnSidePoint","getBeginOnSideOffsetPoints","getBeginOffSideOffsetPoints","getEndOffsetPoints","getEndOverlappedShapeOffsetPoints","getEndOnSideOffsetPoints","getEndOffSideOffsetPoints","getSide","getSideCalculator","getMinOffset","isBeginEndOverlappedX","isBeginEndOverlappedY","shapeDescription","GraphIterator","FastGraph","nodeMap","edgeMap","onInit","getEdge","getAdjacentEdges","cast","getConnectedComponents","createIterator","visitEachEdgeOnce","onNode","onEdge","iterate","comparer","getSpanningGraph","HashSet","addNodeToSpanningGraph","tryPush","list","parentToChildren","childToParents","getParents","graph","connectionMode","visitEachNodeOnce","visitedNodes","visitedEdges","skipNode","iterateCore","isNodeVisited","skipEdge","onAfterEdge","onAllEdges","isEdgeVisited","EllipsePrimitive","cx","cy","ClipPathPrimitive","ExportImportCommandBase","DataLayoutType","DiagramControl","DiagramCommand","getOwnPropertySymbols","propertyIsEnumerable","getOwnPropertyDescriptor","Reflect","decorate","metadata","Promise","throw","then","label","sent","trys","ops","return","asyncIterator","resolve","raw","fromSegment","normalize","angleBetween","scalarProduct","acos","Console","beginAverage","enableLogsAndTimers","lastAverageGroupName","endAverage","tryLogAverage","timers","groupName","endTime","startTime","log","timer","lastCreatedTimer","performance","now","endTimer","showMessage","logPerfInfo","querySelector","memory","usedJSHeapSize","mode","getElement","lastMessage","background","fontSize","fontFamily","opacity","optimizeUsingRAF","DiagramModel","itemIndexByKey","keyCounter","pageSize","pageLandscape","pageColor","defaultPageColor","initializeKeyCounter","pushItem","cacheShapeImage","removeItem","updateIndicesHash","findShapesCore","findShapeCore","findShapeAtPosition","findShapeByDataKey","findShapesByImageUrl","findShapesByDescription","findNearestContainer","findItemContainerCore","findItemContainer","findConnectorCore","findConnectorAtPoints","findConnectorByDataKey","findConnectorByBeginEndDataKeys","findConnectorsCore","findItemByDataKey","findItemCore","isIntersectedItems","getIntersectItems","getIntersectItemsMinZIndex","getIntersectItemsMaxZIndex","iterateItems","getNextKey","TextPrimitive270degRenderHelper","TextPrimitive180degRenderHelper","TextPrimitive90degRenderHelper","TextPrimitiveRenderHelper","Angle90deg","Angle180deg","Angle270deg","owner","textWidth","textHeight","reverseTextAhchor","angle","filterId","textSegmens","textToParagraphs","renderHelper","createRenderHelper","getTextX","getTextY","fitToSize","createTSpanElements","prepareTSpanElements","prepareMainElement","createTSpanElement","textToWords","wordsByLines","measureWords","prepareFirstTSpanElement","prepareTSpanElement","baselineCorrection","primitive","needRotation","LINE_HEIGHT","textAnchor","getLineHeight","getTextHeight","getTextLineSize","getOptimalTextRectangle","TEXTRECT_RATIO_EPS","words","MAX_SAFE_INTEGER","preventEvent","cancelable","returnValue","getEventSource","getEventSourceCore","getEventSourceByPosition","elementFromPoint","getEventX","clientEventRequiresDocScrollCorrection","getEventY","srcElement","target","getMouseWheelEventName","TouchUtils","event","buttons","isMoveEventName","touchMouseMoveEventName","getMoveEventName","preventEventAndBubble","stopPropagation","cancelBubble","clientX","clientY","getWheelDelta","detail","wheelDelta","renderPointsContext","addConnector","selectedKeys","selection","forceChange","oldSelection","oldText","oldStyleValue","styleProperty","changeStyleText","styleValue","ChangeStyleHistoryItemBase","Margin","EdgeLayout","NodeLayout","NodeInfo","margin","info","EllipseShapeDescription","Exporter","export","page","connectors","shapes","pageWidth","pageHeight","exportItemsCore","exportItems","exportShape","exportConnector","beginItemKey","endItemKey","exportItem","childKeys","expandedWidth","expandedHeight","exportSvg","exportSvgImage","exportPng","exportPngImage","exportJpg","exportJpgImage","ToggleStyleTextPropertyCommand","getCurrentTextStylePropertyValue","getStyleProperty","getStylePropertyValue","executeCore","setTextStylePropertyValue","getStyleObj","getDefaultStyleObj","StylePropertyCommandBase","ChangeStylePropertyCommand","getCurrentStylePropertyValue","createHistoryItem","updateInputPosition","setStylePropertyValue","ChangeStylePropertyCommandBase","AutoLayoutCommandBase","getAffectedShapes","getAffectedConnectors","createLayoutSettings","ScrollIntoViewOnUndoHistoryItem","view","createLayout","snapToGrid","ScrollIntoViewOnRedoHistoryItem","ChangePagePropertyCommand","createHistoryItems","CanvasItemsManager","CONNECTOR_CAN_MOVE","NOT_VALID_CSSCLASS","itemSelectorGroupContainers","itemSelectorElements","itemGroupContainers","itemElements","itemChildElements","primitives","selectorPrimitives","selectedItems","initializeContainerElements","itemSelectorsContainer","itemsContainer","clear","applyChange","getItemParent","applyShapeChange","isValid","applyConnectorChange","setPointerEventsNone","pointerEvents","notifyDragStart","notifyDragEnd","notifyDragScrollStart","notifyDragScrollEnd","notifyTextInputStart","notifyTextInputEnd","notifyTextInputPermissionsCheck","notifyActualZoomChanged","changeByFunc","notifyViewAdjusted","invalidatePrimitives","getPrimitives","getSelectorPrimitives","getShapeSelectorClassName","getShapeClassName","getItemSelectorGroupContainer","getItemGroupContainer","ItemChangeType","Create","createItemElements","changeItemChildrenVisibility","Remove","removeItemCustomContent","removeItemElements","UpdateStructure","UpdateProperties","Update","changeItemElements","changeItemClassName","moveItemElements","UpdateClassName","getConnectorSelectorClassName","getConnectorClassName","changeChildrenByPrimitives","insertBefore","getItemGroupContainerKey","getItemSelectorParent","notifySelectionChanged","populateItems","applyOrPostponeChanges","ItemChange","CanvasManager","TextMeasurer","fontSizeCache","containers","createNodes","splitToWords","getStyleHash","tryLoadWordsToMeasurer","putElementsInDOM","beforeMeasureInDOM","measureElementsInDOM","afterMeasureInDOM","measureTextLine","onNewModel","onNewModelCore","tryLoadShapeTexts","tryLoadConnectorTexts","replaceParent","clean","hashes","styleHashes","tryLoadWordToMeasurer","newWords","svgElement","getDomElementSize","getDomFontSize","getHash","setAttributeNS","getBBox","createContainer","EdgeOnLayer","NodeOnLayer","SugiyamaNodesOrderer","SugiyamaLayerDistributor","SugiyamaLayoutBuilder","build","GraphLayout","CycleRemover","removeCycles","getLayers","orderNodes","removedEdges","assignAbsCoordinates","createInfoGraphLayout","reversedEdges","setComponentOffset","getComponentOffset","layer","getAbsOffsetInfo","MIN_SAFE_INTEGER","getDepthNodeSize","chooseDirectionValue","getAbsPosition","getBreadthNodeSize","setBreadth","setDepthOffset","isDummy","getDirectionValue","createNodesLayout","createEdgesLayout","getDirectEdgeLayout","getDiffLevelEdgeLayout","getSameLevelEdgeLayout","originFrom","leftOffset","getBreadthNodeSizeCore","getDepthNodeSizeCore","LayoutBuilder","getFeasibleTree","calcNodesLayers","initLayerAssignment","idCounter","initGraphInfo","initOrder","getNodeToPositionMap","getCrossCount","getNodesOrder","getNodePosition","sortNodes","createDummyID","getAbsCoodinate","TopLeft","TopRight","BottomLeft","BottomRight","getPositionByMedian","getMedians","resolveMedianConflicts","getSortedBlocks","getBlock","checkMedianConfict","getActualAdjacentEdges","getMedianPosition","getHashCode","_originFrom","trunc","suspendUpdateCount","occurredEvents","beginUpdate","onUpdateLocked","endUpdate","isUpdateLocked","onUpdateUnlocked","suspendUpdate","continueUpdate","registerOccurredEvent","resetOccurredEvents","BatchUpdatableObject","EmptyBatchUpdatableObject","CommandManager","F","W","G","Z","q","X","Y","J","Q","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","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","ZoomLevelItems","GridSizeItems","PageSizeItems","ImportXML","InsertShapeImage","DeleteShapeImage","StrokeWidth","AutoLayoutTreeVerticalBottomToTop","AutoLayoutTreeHorizontalRightToLeft","AutoLayoutLayeredVerticalBottomToTop","AutoLayoutLayeredHorizontalRightToLeft","Zoom25","Zoom50","Zoom75","Zoom100","Zoom125","Zoom150","Zoom200","AutoZoomToContent","AutoZoomToWidth","ZoomLevelInPercentage","ht","shortcutsToCommand","lastCommandsChain","executingCommandsChain","executingCommandCounter","isPublicApiCall","createCommand","UndoCommand","RedoCommand","CutSelectionCommand","CopySelectionCommand","PasteSelectionCommand","PasteSelectionInPositionCommand","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","AutoLayoutTreeVerticalCommand","AutoLayoutLayeredHorizontalCommand","ChangeUnitsCommand","ChangeViewUnitsCommand","ChangePageSizeCommand","ChangePageLandscapeCommand","ChangePageColorCommand","ChangeGridSizeCommand","ChangeShowGridCommand","ChangeSnapToGridCommand","ChangeZoomLevelCommand","ChangeZoomLevelInPercentageCommand","AutoLayoutTreeVerticalBottomToTopCommand","AutoLayoutTreeHorizontalCommand","AutoLayoutTreeHorizontalRightToLeftCommand","AutoLayoutLayeredVerticalCommand","AutoLayoutLayeredVerticalBottomToTopCommand","AutoLayoutLayeredHorizontalRightToLeftCommand","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","execute","processPaste","notifyScrollPositionChanged","prependByDataUrl","dataUrl","deleteDataUrlPrefix","getUint8Array","atob","fromArrayBuffer","byteLength","String","fromCharCode","btoa","getFileFromBase64","FileUtils","createFile","getMimeTypeAsString","getKnownMimeType","MimeTypeUtils","stringTypeToType","DxMimeType","Unknown","fromBlobAsArrayBuffer","FileReader","onloadend","readAsArrayBuffer","fromBlobAsDataUrl","readAsDataURL","NativeItem","unitsApplied","applyUnitsCore","UpdateConnectorPointsHistoryItem","newPoints","oldRenderContext","oldPoints","updateRenderPoints","newRenderContext","fromOffsets","fromSide","Offsets","propertyName","oldValue","changeConnectorProperty","changeStyle","first","ShapeDescriptionManager","descriptions","descriptionTypes","descriptionCategories","onShapeDecriptionChanged","register","TextShapeDescription","CrossShapeDescription","TriangleShapeDescription","DiamondShapeDescription","HeartShapeDescription","PentagonShapeDescription","HexagonShapeDescription","OctagonShapeDescription","StarShapeDescription","ArrowUpShapeDescription","ArrowDownShapeDescription","ArrowLeftShapeDescription","ArrowRightShapeDescription","ArrowUpDownShapeDescription","ArrowLeftRightShapeDescription","ProcessShapeDescription","DecisionShapeDescription","TerminatorShapeDescription","PredefinedProcessShapeDescription","DocumentShapeDescription","MultipleDocumentsShapeDescription","ManualInputShapeDescription","PreparationShapeDescription","DataShapeDescription","DatabaseShapeDescription","HardDiskShapeDescription","InternalStorageShapeDescription","PaperTapeShapeDescription","ManualOperationShapeDescription","DelayShapeDescription","StoredDataShapeDescription","DisplayShapeDescription","MergeShapeDescription","ConnectorShapeDescription","OrShapeDescription","SummingJunctionShapeDescription","CardWithImageOnLeftDescription","CardWithImageOnRightDescription","CardWithImageOnTopDescription","VerticalContainerDescription","HorizontalContainerDescription","defaultContainerInstance","getTypesByCategory","getCategoryByType","getCategoryByDescription","registerCustomShape","baseType","CustomShapeDescription","category","unregisterCustomShape","unregisterAllCustomShapes","ArrowVerticalShapeDescription","ArrowVerticalLineWidthParameterName","ArrowVerticalTriangleHeightParameterName","ArrowHorizontalShapeDescription","ArrowVerticalLineHeightParameterName","ArrowVerticalTriangleWidthParameterName","PolygonShapeDescription","calculateHeight","angleCount","ImportUtils","parseJSON","parse","createDocument","DOMParser","parseFromString","ChangeStyleTextPropertyCommand","TreeLayoutBuilder","nodeToLevel","levelDepthSize","Tree","createSpanningTree","processTree","preProcessTree","getMaxDepthSize","loadNodes","hasNode","root","processLevel","setDepthPos","getDepthPos","addNodes","updateEdgeConnections","getBreadthPos","alignParent","getBeginEdgeIndex","getEndEdgeIndex","isVertical","ExportImageCommand","exporter","getExportManager","getExportFunc","getExtension","tryDispose","useCanvgForExportToImage","getOrCreateMeasurer","createItemsManager","exportManager","CanvasExportManager","ExportDOMManipulator","onModelChanged","commitItemsCreateChanges","tempMeasurer","measurer","DOMManipulator","queue","doChange","cancelAnimation","rafId","cancelAnimationFrame","requestAnimation","doChangeSync","rafRequested","requestAnimationFrame","ClipboardCommand","setClipboardData","getClipboardData","isPasteSupportedByBrowser","ChangeZindexHistoryItem","oldZIndex","changeZIndex","DataLayoutParameters","Sugiyama","sizeSettings","layoutType","layoutSettings","skipPointIndices","autoSizeEnabled","getLayoutBuilder","EditShapeImageCommandBase","getSelectedShape","ChangeShapeImageHistoryItem","removeBy","shallowCopy","deepCopy","initByValue","forEachOnInterval","reverseForEachOnInterval","reducedMap","indexBy","reverseIndexBy","elementBy","reverseElementBy","last","setLast","incLast","decLast","allOf2","equalsByReference","unique","unshift","uniqueNumber","Comparers","number","NaN","forEach2","reverseForEach","reverseIndexOf","accumulate","accumulateNumber","anyOf","unsafeAnyOf","reverseAnyOf","unsafeReverseAnyOf","anyOf2","allOf","allOfOnInterval","addListOnTail","joinLists","countIf","minExtended","minElement","maxExtended","maxElement","minMax","minMaxExtended","MinMax","ExtendedMin","ExtendedMax","ExtendedMinMax","minByCmp","maxByCmp","minMaxByCmp","makeByStartEnd","makeByStartLength","makeByLengthEnd","makeByConstInterval","expand","MutableInterval","sparseIntervals","intervalIndex","curr","moveNext","posInInterval","initObject","numIntervals","getInterval","movePrev","isStarted","SparseIntervalsIterator","FilterPrimitive","strokeOffset","ConnectorPointsCalculatorBase","oldParameters","changeShapeParameters","shape","oldPosition","oldSize","oldCustomData","changeCustomData","oldLocked","changeLocked","Importer","obj","getObject","getPageObject","getShapeObjects","getConnectorObjects","importPageSettings","assert","importShape","shapeDescriptionManager","importShapeChildren","importConnector","ImporterBase","textClipPathId","getSizeByTextRectangle","defaultRatio","createDocumentPrimitives","curveOffsetRatio","defaultWidth","defaultHeight","baseDescription","imageLoader","ImageLoader","updateSvgImage","defaultText","defaultImageUrl","title","svgUrl","svgImage","svgToolboxUrl","svgToolboxImage","keepRatioOnAutoSize","toolboxWidthToHeightRatio","allowResize","getConnectionPointSides","svgLeft","svgTop","svgWidth","svgHeight","ImagePrimitive","createToolboxTemplate","templateLeft","templateTop","templateWidth","templateHeight","createNativeShape","SvgElementPrimitive","destroyTemplate","textLeft","textTop","getImageSize","ShapeWithImageDescription","imageWidth","imageHeight","getImagePlacementRectangle","imageLeft","imageTop","preserveAspectRatio","SHAPE_IMAGE_CLASSNAMES","IMAGE","IMAGE_PLACEHOLDER","LOADING_INDICATOR","USER_PIC","WARNING_MARK","defaultIconSize","getImageMargin","createImagePlaceholder","unableToLoad","createEmptyImagePrimitives","renderUrl","createLoadingImagePrimitives","createLoadedImagePrimitives","imageScalingRule","getIconPlacementRectangle","ShapeImageIndicator","createLoadingIndicatorPrimitives","createEmptyImagePrimitive","createWarningPrimitive","borderThickness","animationStarted","createLoadingIndicatorPrimitive","createUserIconPrimitives","createUserIconPrimitive","createWarningIconPrimitives","createWarningIconPrimitive","rotate","animationRequestId","onApplyLoadingIndicatorElementProperties","loadedCallback","loadInner","loadPictureByUrl","loadPictureByBase64","Image","onload","src","XMLHttpRequest","response","onerror","status","open","responseType","send","ContainerDescription","CONTAINER_EXPAND_BUTTON_SIGN_RATIO","CONTAINER_EXPAND_BUTTON_RECT_RATIO","CONTAINER_HEADER_TOOLBOX_SIZE_RATIO","CONTAINER_HEADER_SIZE","createHeaderPrimitives","createExpandButtonPrimitives","CardBaseDescription","RoundedRectanglePrimitive","isTextAfterImage","isHorizontal","getImageSizeByTextBlockSize","createGraphicalTextRepresentation","createTextRepresentationPrimitives","import","importShapes","importConnectors","updateConnections","updateChildren","importItems","importItemsData","lockInputPositionUpdating","processParameter","ChangeConnectorPropertyCommand","getCurrentConnectorPropertyValue","getPropertyName","getPropertyDefaultValue","setConnectorPropertyValue","copyEdges","pendingChanges","pendingRemoveChanges","updatesLock","applyPendingChanges","getPendingChanges","getPendingRemoveChanges","applyChangesCore","postponeChanges","notifyModelChanged","notifyPageColorChanged","notifyPageSizeChanged","PasteSelectionCommandBase","parseClipboardData","getEventPositionOffset","contextMenuPosition","getCorrectedOffsetByModel","topLeftItem","getShapeCorrectedPosition","getConnectorCorrectedPoints","performPaste","addItemForSortingRecursive","getSortedPasteItems","beginUpdateCanvas","ImportShapeHistoryItem","ImportConnectorHistoryItem","endUpdateCanvas","barManager","updateItemsState","positionOffset","ChangeLockedCommand","getLockState","oldImage","changeShapeImage","MouseHandlerDefaultState","visualizerManager","resetConnectionPoints","onMouseDownCore","canScrollPage","startScrolling","changeSingleSelection","switchState","MouseHandlerMoveConnectorTextState","MouseHandlerResizeShapeState","MouseHandlerDragParameterPointState","MouseHandlerMoveConnectorPointState","MouseHandlerMoveConnectorSideState","MouseHandlerMoveConnectorOrthogonalSideState","MouseHandlerCreateConnectorState","onDragDiagramItemOnMouseDown","canAddDiagramItemToSelection","MouseHandlerMoveShapeState","MouseHandlerMoveConnectorState","MouseHandlerBeforeToolboxDraggingState","onMouseMoveCore","updateConnectionsOnMouseMove","canRemoveDiagramItemToSelection","removeDiagramItemFromSelection","canDragObjectOnMouseDown","canExpandContainerOnMouseDown","canClearSelectionOnMouseDown","canSelectOnMouseUp","canClearSelectionOnMouseUp","canPerformChangeConnectionOnUpdateUI","MouseHandlerDefaultStateBase","MouseHandlerMoveConnectorPointStateBase","resetConnectionTarget","addInteractingItem","allowAttachToObjects","pointPosition","setConnectionTarget","oppositeConnectionPointIndex","setConnectionPoints","oppositePointPosition","getOppositePointPosition","oppositeItem","targetItem","updateOppositeItemConnectionPointIndex","tryUpdateModelSize","canMultipleSelection","onStartScrollPageByKeyboard","onFinishScrollPageByKeyboard","canFinishTextEditing","hasDiagramItem","onShapeExpandBtnMouseDown","clearSelection","replaceSelection","mouseDownEvent","startLimit","processOnMouseMoveAfterLimit","startZooming","startSelection","onMouseUpCore","canStartZoomOnWheel","MouseHandlerZoomOnWheelState","onLongTouch","replaceMultipleSelection","MouseHandlerSelectionState","raiseDragScrollStart","MouseHandlerScrollingState","MouseHandlerZoomOnPinchState","inSelection","addDiagramItemToSelection","MouseHandlerToggleShapeExpandedState","lastOffset","getPointByEvent","currentPoint","scrollBy","onFinishScrollPageByMouse","MouseHandlerDragDiagramItemStateBase","DraggingConnector","startPoints","startRenderContext","startPosition","startScrollLeft","startScrollTop","resetExtensionLines","resetContainerTarget","shouldClone","canCopySelectedItems","initDrag","lockInitDrag","draggingShapes","copySelection","updateContainers","setExtensionLines","allowInsertToContainer","setContainerTarget","calculateFixedPosition","draggingConnectors","moveConnectorCore","moveConnector","modelConnectorsWithoutBeginItemInfo","modelConnectorsWithoutEndItemInfo","getSnappedPointOnDragDiagramItem","fixedX","fixedY","initDraggingShapes","areValidDraggingShapes","initDraggingConnectors","areValidDraggingConnectors","createModelConnectorsWithoutBeginItemInfo","createModelConnectorsWithoutEndItemInfo","draggingConnectorsIndexByKey","registerConnector","containsDraggingConnectorByKey","canCalculateFixedPosition","offsetConnector","changeConnector","offsetRenderContext","MouseHandlerDefaultReadOnlyState","ChangeShapeTextHistoryItem","ContextMenuHandler","contextMenuVisible","textInputStarted","canHideContextMenu","onVisibilityChanged","hideContextMenu","onContextMenu","showContextMenu","onFocus","onBlur","onTextInputFocus","onTextInputBlur","notifyShowContextMenu","notifyHideContextMenu","notifyShowContextToolbox","notifyHideContextToolbox","VisualizerManager","eventManager","onVisualizersUpdate","connectionPointsVisualizer","ConnectionPointsVisualizer","connectionTargetVisualizer","ConnectionTargetVisualizer","containerTargetVisualizer","ContainerTargetVisualizer","extensionLinesVisualizer","ExtensionLinesVisualizer","resizeInfoVisualizer","ResizeInfoVisualizer","selectionRectangleVisualizer","SelectionRectVisualizer","initialize","onMouseEnter","onMouseLeave","resetResizeInfo","resetSelectionRectangle","isFocused","setPoints","ConnectionPointInfo","setPointIndex","updateConnectionPoints","getKey","setTargetRect","addPageExtensionLines","addShapeExtensionLines","addSegment","ExtensionLineType","HorizontalCenterToPageCenter","VerticalCenterToPageCenter","LeftToPageCenter","TopToPageCenter","RightToPageCenter","BottomToPageCenter","CanvasSelectionManager","extensionLineWidth","extensionLineOffset","VerticalCenterAfter","VerticalCenterBefore","TopToTopAfter","TopToTopBefore","BottomToBottomAfter","BottomToBottomBefore","TopToBottomAfter","TopToBottomBefore","BottomToTopAfter","BottomToTopBefore","HorizontalCenterBelow","HorizontalCenterAbove","LeftToLeftBelow","LeftToLeftAbove","RightToRightBelow","RightToRightAbove","LeftToRightBelow","LeftToRightAbove","RightToLeftBelow","RightToLeftAbove","setResizeInfo","resizeInfoOffset","setSelectionRectangle","setRectangle","TargetVisualizerBase","dispatcher","targetRect","targetStrokeWidth","raiseShow","raiseHide","segment","lines","lineIndexByType","notifyExtensionLinesShow","notifyExtensionLinesHide","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","getResizeInfoElement","resizeInfoTextOffset","hideResizeInfo","getConnectionPointClassName","showConnectionPoint","showConnectionPointCore","connectionPointLargeSize","connectionPointSmallSize","getConnectionPointElement","hideConnectionPoints","showContainerTarget","getContainerTargetElement","hideContainerTarget","showConnectionTarget","getConnectionTargetElement","hideConnectionTarget","showExtensionLine","extensionLineEndingSize","getExtensionLineElement","hideExtensionLines","getOrCreateShapeSelection","getOrCreateConnectorSelection","getOrCreateMultipleSelection","getMultipleSelection","updateShapeSelection","onModelItemChanged","updateConnectorSelection","hideOutdatedSelection","selectionCanBeDrawn","onSelectionChanged","notifySelectionRectShow","notifySelectionRectHide","notifyResizeInfoShow","notifyResizeInfoHide","notifyConnectionPointsShow","connectionPointShift","notifyConnectionPointsHide","notifyConnectionTargetShow","correctSelectionRect","rect","connectionTargetBorderWidth","notifyConnectionTargetHide","notifyContainerTargetShow","notifyContainerTargetHide","selectionOffset","ceil","evenOddSelectionCorrection","selectionMarkSize","lockedSelectionMarkSize","selectionRectLineWidth","multiSelectionRectLineWidth","geomertyMarkSize","connectorPointMarkSize","connectorSideMarkSize","resizeInfoLineWidth","rectsContainer","marksContainer","zoomLevel","updatedElements","redraw","redrawCore","drawSelectionMarks","drawSelectionMark","drawSelectionRect","isMultipleSelection","isLockedRender","drawLockedSelectionMark","rectangles","needDrawSelectionMarks","shapeParameterPoints","drawLockedSelection","drawUnlockedSelection","drawShapeParameterPoints","drawShapeParameterPoint","lineType","drawConnectorSelection","drawConnectorSelectionMarks","populateSelectionPrimitiveCommands","createNotSkippedRenderPoints","getSelectionOffset","getConnectorSelectionTextSize","drawConnectorSideMarks","canDrawConnectorSideMark","DiagramDraggingEvent","ToolboxDraggingObject","Toolbox","allowDragging","shapeTypes","getAllowedShapeTypes","dragPrepareTimeout","dragState","emulateDragEvents","onDragOperation","onClickOperation","attachHandlers","detachHandlers","draggable","tabIndex","onElementMouseDownHandler","onElementMouseDown","onElementMouseUpHandler","onElementMouseUp","onMouseDownHandler","onMouseMoveHandler","onMouseUpHandler","onDragStartHandler","onTouchMoveHandler","onTouchMove","mouseDownEventName","mouseMoveEventName","mouseUpEventName","createElements","createDraggingObject","onFinishDragging","resetDragState","onCaptured","capture","getDragShapeType","getTouchPointFromEvent","mouseDownShapeType","touchDownPoint","setDragState","Prepare","Start","draggingObject","Dragging","raiseDraggingMouseMove","updateDraggingElementPosition","clearTimeout","dragPrepareEvent","prepareDragging","onDragPrepareTimeout","startDragging","doDragging","finishDragging","dragStartPoint","dragStartShapeType","createDraggingElement","captured","evt","RightAngleConnectorRoutingMathOperations","createUnionSegments","unionPoints","getTurnDirection","RightAngleTurnDirection","Backwards","isSegmentNormal","isConnectionRectanleLineIntersected","createBeginConnectionSegment","createEndConnectionSegment","IntersectedShapeZone","AStarMetrics","IntersectedShapesMetrics","TurnDirectionMetrics","IntersectedShapeMetrics","shapeMargin","penalty","createRelativeMarginPenalty","isTopPosition","isLeftPosition","isBottomPosition","isRightPosition","turnBack","turnLeft","turnRight","shapeMetrics","turnDirectionMetrics","shapesMetrics","distance","beginDeleteItems","endDeleteItems","oneConstainsOtherArraysOfInterval","containsInterval","getIntersectionTemplate","getIntersectionNonNullLength","getIntersectionNonNullLengthTemplate","getIntersectionsTwoArraysOfInterval","getIntersectionsTwoArraysOfIntervalTemplate","getAffectedObjects","interval","getAffectedObjectsTemplate","SparseIntervalsCollector","getIntervals","handleAffectedObjects","getMergedIntervals","getMergedIntervalsTemplate","reflectIntervals","reflectIntervalsTemplate","reflectionOfPointOnInterval","MinMaxNumber","minValue","maxValue","string","stringIgnoreCase","simpleType","object","normalizeLength","ConstInterval","isNormalized","containsIntervalWithoutEnd","containsWithIntervalEnd","containsWithoutIntervalEndAndStart","intervals","SparseIntervals","_count","_numIntervals","getNativeIterator","getObjectsIterator","SparseObjectsIterator","objects","TextFilterPrimitive","floodColor","nodeName","prepareFEFloodNode","encodeHtml","decodeHtml","prepareTextForRequest","prepareTextForCallBackRequest","polyfill","writable","onEventAttachingToDocument","isTouchEventName","documentTouchHandlers","documentEventAttachingAllowed","changedTouches","pageX","pageY","touchMouseDownEventName","touchMouseUpEventName","msTouchDraggableClassName","loadJavascriptFile","htmlScriptElement","startDownloadFileLocal","ArrayBuffer","msSaveOrOpenBlob","URL","createObjectURL","href","download","click","revokeObjectURL","Blob","lastModifiedDate","lastModified","Date","File","isFile","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","sideCalculators","ConnectorPointsOrthogonalUndefinedSideCalculator","ConnectorPointsOrthogonalSouthSideCalculator","ConnectorPointsOrthogonalNorthSideCalculator","ConnectorPointsOrthogonalEastSideCalculator","ConnectorPointsOrthogonalWestSideCalculator","getPointSide","isDirectConnectionAllowed","getDirectConnectionPoints","addMiddlePoints","getMiddlePoint","getMiddlePoints","createPointsRect","isReturnPoint","isIntermediatePoints","isPriorMiddlePoint","getAsideOffsetPoints","getScaleableOffsetY","getScaleableAsideOffsetPoints","getScaleableOffsetX","getStyle","getCssClass","arrowHeight","arrowWidth","renderContext","addDeleteConnectorPoint","containerKey","newPoint","oldPoint","beginPointIndex","newBeginPoint","lastPointIndex","newLastPoint","oldBeginPoint","oldLastPoint","backOffset","changeModelSize","applyOffset","sourceGraph","_graph","getNodeInfoGraph","_level","getLevel","LayoutUtils","shapeToLayout","getContainerLevel","isPermissionsRequired","enabled","executeWithPermissions","updateControlState","lockUIUpdating","visible","denyUpdateValue","canUndo","canRedo","keepExistingItems","importModel","slopeHeightRatio","slopeAngle","curveWidthRatio","PredefinedProcessEdgeParameterName","minEdge","CrossVerticalWidthParameterName","CrossHorizontalWidthParameterName","StarConvexParameterName","getActualBottom","getInnerPointDistance","getInnerPointPos","getInnerPointDistanceByAxis","documentsOffsetRatioForToolbox","documentsOffsetRatio","arcWidthRatio","InternalStorageVerticalEdgeParameterName","InternalStorageHorizontalEdgeParameterName","createContent","destroyContent","getHeaderSize","ChangeTextAlignCommand","scrollIntoView","childToParent","hasChildren","findRoot","candidate","inc","out","gridSizeItems","ChangePageLandscapeHistoryItem","changePageLandscape","getModelUnitSize","ChangePageSizeHistoryItem","pageSizeItems","changePageSize","__awaiter","__generator","getSvgImage","backgroundColor","getExportCssRules","cloneNode","inlineStyle","getSvgImageUrl","getSvgBase64String","getSvgString","XMLSerializer","serializeToString","base64Start","getBase64EncodeUnicode","encodeURIComponent","styleSheets","getRules","isCSSStyleRule","selectorText","checkSelector","exportStyleRules","isCSSStyleSheet","rules","cssRules","exportStyleAttributes","getPropertyValue","exportBinaryImage","getContext","fillStyle","fillRect","canvg","exportBinaryImageCanvgAsync","exportBinaryImageCanvgOld","drawImage","toDataURL","drawSvg","renderCallback","Canvg","insertShape","removeShape","insertConnector","removeConnector","BPMNImporter","updateModel","getShapeDescription","BPMNNode","doc","onDefinitionsElement","validate","dataSourceKey","onProcessElement","onStartEventElement","onSequenceFlowElement","onScriptTaskElement","onUserTaskElement","onServiceTaskElement","onSendTaskElement","onExclusiveGateway","onEndEventGateway","createNode","createEdge","hasAttribute","sourceKey","getFeedbackSet","reverseEdges","getNonTrivialStronglyConnectedComponents","getMaxCyclicEdges","getStronglyConnectedComponents","getStronglyConnectedComponent","needSendToBack","needBringToFront","MoveCommand","getPosition","getZoom","autoZoom","updateLayout","zoomLevelItems","exactValue","getZoomLevel","getActualAutoZoomLevel","nodeDataSource","performImportData","createDocumentDataSource","edgeDataSource","dataParameters","nodeDataImporter","edgeDataImporter","layoutParameters","createModelItems","deleteDocumentDataSource","CloneCommand","canAddItems","getOffsetX","getOffsetY","ChangeUnitsHistoryItem","oldUnits","ChangePageColorHistoryItem","changePageColor","fullscreen","notifyToggleFullscreen","simpleView","getModelPointByEventPoint","XmlImporter","getSize","getPoint","getShapeType","getItemKey","importStyle","getColor","getNumbers","connectorRoutingMode","updateLockCount","shouldUpdateItemsByModel","reloadContentNeeded","reloadContentParameters","ReloadContentParameters","reloadContentByExternalChangesParameters","Selection","onNativeAction","ApiController","PermissionsProvider","onRequestOperation","routingModel","ConnectorRoutingModel","ModelManipulator","History","BarManager","ViewController","commandManager","EventManager","mouseHandler","visualizersManager","toolboxManager","ToolboxManager","operationSettings","cleanMarkup","cleanToolboxes","onTextInputOperation","onMouseOperation","onModelSizeChanged","initMeasurer","RenderManager","modelSize","contextMenuEnabled","gridVisible","zoomLevelWasChanged","raiseCanvasViewActualZoomChanged","raiseSelectionChanged","createToolbox","getToolboxAllowedShapeTypes","registerToolbox","createContextToolbox","cleanContextToolbox","contextToolbox","contextToolboxOnClick","beginUpdateUI","canAddShapeFromToolbox","endUpdateUI","refreshToolbox","clearCache","refresh","applyToolboxFilter","applyFilter","notifyToolboxClick","onDimensionChanged","captureFocus","registerBar","updateBarItemsState","getNativeItemByKey","createNativeItem","getNativeItemByDataKey","getNativeItems","getNativeSelectedItems","setSelectedItems","scrollToItems","setInitialStyleProperties","setInitialTextStyleProperties","setInitialConnectorProperties","addCustomShapes","removeCustomShapes","removeAllCustomShapes","onImportData","commitPageChanges","notifyHistoryChanged","documentDataSource","DocumentDataSource","setDataSource","applyOperationSettings","notifyEdgeInserted","onEdgeInserted","notifyEdgeUpdated","onEdgeUpdated","notifyEdgeRemoved","onEdgeRemoved","notifyNodeInserted","onNodeInserted","notifyNodeUpdated","onNodeUpdated","notifyNodeRemoved","onNodeRemoved","reloadInsertedItem","reloadInsertedItemRequired","reloadContent","isChangesLocked","reloadContentCore","getData","refetchData","updateModelItems","dataKeys","commitItemUpdateChanges","notifyDataChanges","raiseOnChanged","notifyToolboxDragStart","onToolboxDragStart","notifyToolboxDragEnd","onToolboxDragEnd","notifyToolboxDraggingMouseMove","onTextInputStart","onTextInputEnd","onToggleFullscreen","onShowContextMenu","getEventPointByModelPoint","onHideContextMenu","onShowContextToolbox","onHideContextToolbox","updateShapeDescription","raiseActualZoomChanged","notifyRequestOperation","requestOperationByDataSource","IsNodeParentIdMode","IsNodeItemsMode","isShapeParent","beginChangesNotification","changesLockChanged","endChangesNotification","notifyReloadContent","lockedReadOnly","updateItemsByModel","initializeCore","updateShapeImage","updateModelSize","createStrategy","raisePageSizeChanged","raiseModelSizeChanged","raisePageColorChanged","commitItemsChangesCore","raiseModelChanged","changeStyleCore","getInteractingItem","canResizeShapes","canMoveShapes","changeShapeExpanded","getConnectorInteractingPoints","addDeleteConnectorPointCore","moveConnectorPointCore","canChangeConnectorPoints","canChangeConnection","changeConnectorTextPosition","raiseSnapPointChange","createModelRectangleOffset","notifyModelSizeChanged","notifyModelRectangleChanged","notifySnapPointPositionChanged","toolboxes","VisualizerTouchManager","contextMenuHandler","ContextMenuTouchHandler","contextToolboxHandler","ContextToolboxHandler","MouseHandler","textInputHandler","TextInputHandler","processDragging","onDblClick","notifyDblClick","onClick","notifyClick","isShortcutForFocusInput","onTextInputKeyDown","onPaste","isTextInputActive","onWheel","getDraggingEvent","draggingEvent","onDocumentDragStart","onDocumentDragEnd","onDocumentDragScrollStart","onDocumentDragScrollEnd","onDocumentClick","raiseTextInputStart","raiseTextInputEnd","raiseTextInputPermissionsCheck","finishStateLock","allowMultipleSelection","allowCopyDiagramItems","allowSnapToCellOnDragDiagramItem","allowSnapToCellOnDragPoint","allowSnapToCellOnResizeShape","allowFixedDrag","allowZoomOnWheel","allowScrollPage","shouldScrollPage","copyDiagramItemsByCtrlAndShift","startScrollingPageByCtrl","initializeDefaultState","defaultState","MouseHandlerDefaultReadOnlyTouchState","MouseHandlerDefaultTouchState","showContextToolbox","hideContextToolbox","hasCtrlModifier","hasCtrlOrShiftModifier","hasCtrlAndShiftModifier","hasAltModifier","hasShiftModifier","canFinishZoomOnWheel","canStartScrollingPageByKeyboard","canEndScrollingPageByKeyboard","finishScrollingPage","canEndScrollingPage","raiseDragScrollEnd","getSnapToCellOnDragDiagramItem","getFixedXPosition","getFixedYPosition","getSnapToCellOnDragPoint","getSnappedOffsetOnDragPoint","lockAspectRatioOnShapeResize","getSnappedPositionOnResizeShape","getSnapToCellOnResizeShape","pressedDiagramItemKey","pressedDiagramItemInSelection","raiseClick","canPerformChangeConnection","oldItem","restartState","newState","rotation","resizeEventSource","lockH","lockV","sideH","sideV","startRectangle","startShapeSizes","startShapePositions","startConnectorPoints","getNormalizedSize","getSnappedPosition","pointCreated","parameterPointKey","startParameters","connectedItem","createNewShapeAtConnectorEnd","getNewShapeSide","getNewShapePosition","checkNewConnectorPermissions","getNewShapeSideByConnectorPoints","getSourceItem","renderPoint1","renderPoint2","isVerticalOrientation","pointIndex1","correctEdgePoint","findPointIndex","pointIndex2","createUnnecessaryPoints","MouseHandlerToolboxDraggingState","isModelEmpty","tryRemoveTimer","dragging","switchToDraggingState","nonPageAreaTimer","savedEvt","updatePageSizeTimer","processAndRemoveUpdatePageSizeTimer","tryRemoveUpdatePageSizeTimer","deleteHistoryItem","insertToolboxItem","undoTransactionTo","startShapePosition","connectorsWithoutBeginItemInfo","connectorsWithoutEndItemInfo","savedText","ChangeConnectorTextPositionHistoryItem","newPosition","ToggleShapeExpandedHistoryItem","selectRect","trySwitchToDefault","getNextStepZoom","resetScroll","scrollTo","startDistance","getTouchDistance","startZoomLevel","prevDistance","getMiddleLayoutPoint","getMiddleAbsPoint","getMiddlePointByEvent","startTextInput","textInputItem","textEditRectangle","canChangeShapeText","textInputPosition","canChangeConnectorText","endTextInput","applyTextInput","getTextInputElementValue","canApplyShapeTextChange","canApplyConnectorTextChange","cancelTextInput","processDblClick","contextToolboxVisible","showContextMenuAtSelection","showContextMenuAtEmptySelection","ConnectionTargetInfo","ContainerTargetInfo","outsideRectangle","hideConnections","showConnections","needShowConnections","contextToolboxCancelCallback","InputPosition","getSelectedItemsInsideContainers","getSelectedItemsCore","initialProperties","InputPositionProperties","defaultProperties","currentProperties","getConnectorProperties","getConnectorPropertyValue","getTextStyle","getTextStylePropertyValue","baseProperties","disableMergingStyles","connectorProperties","textStyle","updateConnectorProperties","updateStyle","updatePropertyValue","diagram","currentIndex","incrementalId","transactionLevel","unmodifiedIndex","currTransactionId","isModified","raiseChanged","startDataSyncItem","transaction","addDataSyncItem","addInternal","deleteOldItems","MAX_HISTORY_ITEM_COUNT","getNextId","resetModified","getCurrentItemId","bars","getCommandKeys","updateBarItem","setItemVisible","setItemEnabled","getItemValue","setItemSubItems","setItemValue","getDefaultItemValue","setEnabled","notifyBarCommandExecuted","notifyBarUpdateRequested","DBL_CLICK_TIMEOUT","LONG_TOUCH_TIMEOUT","moveLocked","lockMouseMoveTimer","lastClickElement","longTouchTimer","dblTouchTimer","pointers","scroll","NativeScrollView","CanvasViewManager","InputManager","canvasElement","CanvasPageManager","pageElement","autoScroll","AutoScrollController","attachEvents","events","killLockMouseMoveTimer","clearLastMouseDownEvent","detachEvents","adjust","horizontal","vertical","attachPointerEvents","onPointerDownHandler","onPointerUpHandler","onPointerMoveHandler","onPointerCancelHandler","onPointerLeaveHandler","detachPointerEvents","attachMouseTouchEvents","detachMouseTouchEvents","onPointerDown","onPointerUp","onPointerMove","onPointerCancel","onPointerLeave","onMouseEnterHandler","onMouseLeaveHandler","onMouseWheelHandler","onMouseDblClickHandler","onContextMenuHandler","onWindowResizelHandler","onWindowResize","onOrientationChangeHandler","onOrientationChange","onMouseClickHandler","mouseWheelHandler","setPointerPosition","pointerId","clearPointerPosition","getPointerCount","lockMouseMove","lockFocus","lastDownMouseEvent","createDiagramMouseEvent","processTouchDown","processTouchMove","processTouchUp","createActualMouseClickEvent","createDiagramMouseEventTouches","createDiagramContextMenuEvent","resetLongTouch","resetDblClick","touchPositionLimit","getPointers","checkFitToCanvas","createDiagramWheelEvent","onDragScrollStart","onDragScrollEnd","getOffsetPointByEvent","getModelPoint","getOffsetPointByEventPoint","originalEvent","isDiagramControl","isDocumentContainer","isTextInputElement","getScrollContainer","getAbsolutePoint","onScroll","scrollBarWidth","onScrollHandler","notifyScrollChanged","getScroll","setScroll","offsetScroll","getScrollBarWidth","layoutPointResolver","textMeasurer","focusElementsParent","focused","focusLocked","createInputElements","detachInputElementEvents","detachTextInputElementEvents","textInputElement","inputElement","clipboardInputElement","select","execCommand","clipboard","readText","catch","createFocusInputElement","createTextInputElement","createClipboardInputElement","attachInputElementEvents","setInputElementFocusHandlerMode","textInputElementContainer","setInputElementTextInputMode","setTextInputElementBounds","setTextInputElementStyle","updateTextInputPadding","savedTextInputPosition","savedTextInputSize","savedTextInputAngle","savedTextInputStyle","onInputBlurHandler","onInputBlur","onInputFocusHandler","onInputFocus","onInputKeyDownHandler","onInputKeyDown","onInputKeyPressHandler","onInputKeyPress","onInputKeyUpHandler","onInputKeyUp","onPasteHandler","attachTextInputElementEvents","onTextInputBlurHandler","onTextInputFocusHandler","onTextInputKeyDownHandler","onTextInputMouseWheelHandler","onTextInputMouseWheel","onTextInputMouseUpHandler","onTextInputMouseUp","onTextInputKeyUpHandler","onTextInputKeyUp","onTextInputChangeHandler","onTextInputChange","blurControl","focusControl","getDiagramFocusEvent","getDiagramKeyboardEvent","code","getDiagramClipboardEvent","textAngle","snapPoint","gridPatternId","pagesGridPatternId","pagesGridClipId","canvasViewOffset","initContainers","backgroundContainer","redrawPage","redrawGrid","updateGridElements","updatePagesGridElements","getGridRectElement","gridRectElement","getGridPatternElement","gridPatternElement","PatternPrimitive","createGridPathPrimitive","createGridPatternPrimitivePosition","getPagesGridRectElement","getPagesGridClipPathElement","pagesGridClipPathElement","getPagesGridPatternElement","pagesGridPatternElement","CROP_OFFSET","CANVAS_SCROLL_PADDING","CANVAS_MIN_PADDING","paddings","crop","lockAutoZoom","autoScrollLocker","pageClipPathId","pageShadowId","scrollView","fixedZoomLevel","rectangleToCrop","updateElements","ShadowFilterPrimitive","containerSize","adjustCore","tryNormalizePaddings","adjustAfterDragEnd","autoZoomLocked","getActualModelSizeWithoutZoom","checkScrollBars","correctCrop","setActualZoom","getActualAutoZoom","getActualZoom","getTailSpace","applyChanges","changeScrollByOffset","changeTranslateByOffset","translate","cropHiddenHead","getScrollDeltaByOffset","getTranslateDeltaByOffset","setScrollTo","getVisibileAreaAbsShift","updatePageElement","updateCanvasElement","updatePageElementCore","createPageShadow","createPageClipPathPrimitive","resizeView","resetView","setSvgSize","lockAutoScroll","unlockAutoScroll","isAutoScrollLocked","getActualOffset","lastWidth","lastHeight","leftButtonPressed","scrollDragging","scrollTimer","clearScrollTimer","canAutoScroll","changeScrollPosition","getScrollingOffset","UpdateNodeKeyRelatedObjectsStackAction","UpdateNodeKeyRelatedObjectsStackItem","nodeObj","kind","changesListener","nodeInsertingLockCount","updateNodeKeyRelatedObjectsCount","updateNodeKeyRelatedObjectsStack","updateNodeKeyRelatedObjectsStackActions","deleteNodes","deleteEdges","updateNode","updateEdge","isItemObjectModified","setLocked","setZIndex","setCustomData","setStyle","setStyleText","setDataObjectKeyRelatedProperty","autoGeneratedDataKeys","updateItemObjectProperties","dataObj","findNode","isNodeObjectModified","updateNodeObjectProperties","updateNodeObjectConnectedProperties","setKey","addNodeInternal","addInternalKeyOnInsert","updateNodeObjectKey","beginNodeInserting","endNodeInserting","areImageUrlsEqual","compareStrings","setImage","actualUrl","setLeft","setTop","setWidth","setHeight","setType","useNodeParentId","setParentKey","getParentItemKey","updateNodeObjectParentKey","useNodeContainerId","setContainerKey","getContainerShapeKey","updateNodeObjectContainerKey","useNodeItems","setItems","updateNodeObjectItems","useNodeChildren","setChildren","updateNodeObjectChildren","getParentKey","isRootParentKey","isInUpdateNodeKeyRelatedObjects","addToUpdateNodeKeyRelatedObjectsStackAction","updateNodeObjectContainerOrParentKeyInternal","updateNodeObjectParentKeyInternal","getContainerKey","parentDataObj","checkNodeCyrcleItems","containerDataObj","getNodeArray","updateNodeKeyRelatedObjects","isInNodeInserting","addToUpdateNodeKeyRelatedObjectsStack","getChildItems","useEdgesArray","findEdge","updateEdgeObjectFromProperty","updateEdgeObjectToProperty","getParentItem","isEdgeObjectModified","updateEdgeObjectProperties","canUpdateEdgeDataSource","addEdgeInternal","updateEdgeObjectKey","setFromPointIndex","setToPointIndex","pointsAreEqual","compareTexts","setLineOption","setStartLineEnding","setEndLineEnding","setFrom","updateEdgeObjectFromOrToPropertyInternal","setTo","raiseNodeInsertingStack","beginUpdateNodeKeyRelatedObjects","endUpdateNodeKeyRelatedObjects","raiseUpdateNodeKeyRelatedObjectsStack","DataSource","canUseAutoSize","loadParameters","createNodeDataImporter","createEdgeDataImporter","fetchData","isAutoGeneratedKey","DataSourceNodeDataImporter","assignNodeDataImporterProperties","DataSourceEdgeDataImporter","assignEdgeDataImporterProperties","assignItemDataImporterProperties","getCustomData","getLocked","getStyleText","getZIndex","getType","getImage","getLeft","getTop","getWidth","getHeight","getFrom","getFromPointIndex","getTo","getToPointIndex","getLineOption","getStartLineEnding","getEndLineEnding","addNodeEdgesByParentId","isContainer","getItemChanges","containsItem","remained","remainedNewKeys","find","assignNodeProperties","getNodeKey","DataSourceNodeItem","assignEdgeProperties","DataSourceEdgeItem","assignItemProperties","createShapeByNode","createConnectorByEdge","needAutoLayout","purgeLayoutShapes","changeShapeByDataItem","changeItemByDataItem","updateShapeContainer","changeConnectorPointsByDataItem","getConnectorPointsByEdge","changeConnectorByDataItem","keySet","uniqueShapes","applyShapeAutoSize","textRectangle","getPreparedStyleValue","createModelPointFromDataSourceEdgeItemPoints","isValidDataSourceEdgeItemPoint","createModelPoint","isEmptyString","DataSourceItemDataImporter","DataSourceItem","getNearestCurrentZoomStep","exp","measurers","TextToolbox","IconToolbox","searchFilter","drawShapeIcons","toolboxWidth","shapeIconSize","shapeIconSpacing","shapeIconCountInRow","createShape","updateShapeIconBounds","drawShape","drawSelector","shapeIconAttributes","needResetShapeText","SelectionChanged","tryRaiseUserAction","cleanupNativeItem","createNativeConnector","convertUnit","convertPoint","convertSize","dataSource","isUserAction","permissionsLockCount","requestDeleteItems","updateUICount","storage","PermissionsProviderStorage","operation","DeleteShapeRequestedEntity","DeleteConnectorRequestedEntity","requestOperation","AddShapeRequestedEntity","AddShapeFromToolboxRequestedEntity","ChangeConnectionRequestedEntity","ChangeConnectorPointsRequestedEntity","BeforeChangeShapeTextRequestedEntity","BeforeChangeConnectorTextRequestedEntity","ChangeShapeTextRequestedEntity","ChangeConnectorTextRequestedEntity","ResizeShapeRequestedEntity","MoveShapeRequestedEntity","requestOperationCore","needStorePermissions","storePermission","storageKey","settingsKey","getInteractingItemCount","AddShapeEventArgs","DeleteShapeEventArgs","DeleteConnectorEventArgs","AddShapeFromToolboxEventArgs","shapeType","ChangeConnectionEventArgs","oldShape","ChangeConnectorPointsEventArgs","BeforeChangeShapeTextEventArgs","BeforeChangeConnectorTextEventArgs","ChangeShapeTextEventArgs","ChangeConnectorTextEventArgs","interactingItems","storedPermissions","getInteractingItemKey","storePermissions","ResizeShapeEventArgs","MoveShapeEventArgs","ConnectorRoutingPenaltyDescription","shapeMargins","shouldReverseConnections","shouldResizeConnections","penaltyDescription","RightAngleConnectorRoutingStrategy","getShapes","getConnectorShapes","RightAngleConnectorRoutingContext","shouldCreateRenderPoints","createRenderPointsCore","getRenderPointIndexByPointIndex","onMovePointCore","setup","renderSegments","registerCustomPoints","startPointIndex","registerRenderPoints","createRoutedPoints","startInfo","endInfo","createProhibitedSegments","validateRenderPoints","registerPoint","IntersectingItemsByPointsContext","CuttingItemsContext","cuttingItemKeys","registerShape","getOrAddItems","supportRenderPoints","beginConnectionShape","endConnectionShape","beginConnectionSide","getConnectionSide","beginPoint","endConnectionSide","ignorableItemKeys","cuttingShapesContext","intersectedItemsByPointsContext","isInvalidRenderSegments","isSmallPath","hasIntersecting","isReversedStartConnection","isReversedEndConnection","beginConnectionSegment","endConnectionSegment","isReversedConnectionSegment","supportSegments","beginPathPoint","endPathPoint","processContainers","processSupportSegments","processIntersection","processConnections","processRenderSegments","processRoutingGrid","processRoutingMetrics","createAStarContext","AStarCalculator","calculate","path","addConnectionRoutedPoints","getIntersectedItems","isIgnorableItem","registerIgnorableShape","createSupportSegments","isConnectedByStart","isConnectedByEnd","shapeContainsOtherConnection","createRenderSegments","createGridPoints","routingGrid","createGrid","metrics","createAStarMetrics","AStarContext","isCustomSegment","shouldCreateSegment","ConnectorRenderSegment","createPreviousCustomSegment","isPathNormal","createBeginConnectionSegmentCore","hasIntersectedItemsByPoint","isEndConnectionRectanleLineIntersected","createEndConnectionSegmentCore","isBeginConnectionRectanleLineIntersected","createExtendedShapesBounds","RoutingGrid","previousCustomSegment","createProhibitedSegmentsCore","addExludedPoint","ConnectorProhibitedSegments","segments","exludedPoints","allowPoint","verticalGridLines","horizontalGridLines","addLine","getNeighborPoints","isValidArrayIndex","AStarContextBase","targetPosition","maxStepsCount","prohibitedPoints","updatableSet","stepsCount","generalSet","SortedQueues","UniqueAStarNodePositions","AStarNode","getDistance","enqueue","openNode","startContinue","dequeueMin","endContinue","addProhibitedPoint","getPenalty","finishWithPath","getPath","finishWithoutPath","routingContext","prohibitedSegments","grid","hasIntersectedItem","isIntersectedWithExtendedRectangle","hasOneShapeConnection","itemContainsConnectionPoints","isConnectionPoint","_itemsArrays","_sortedKeys","getQueue","addSortedKey","removeCore","removeSortedKey","sortedKeys","node","shouldStartContinue","shouldFinish","_dataKeys","_getData","_layoutParameters","GanttDataObjectNames","DataObject","internalId","assignFromObject","updateId","task","resource","resourceAssignment","TaskAreaEventSource","TaskTitlePosition","Position","ViewType","TenMinutes","Hours","SixHours","Days","Weeks","Months","Quarter","Years","FiveYears","Inside","Outside","TaskArea","TaskEdit_Frame","TaskEdit_Progress","TaskEdit_Start","TaskEdit_End","TaskEdit_DependencyStart","TaskEdit_DependencyFinish","Successor_Wrapper","Successor_DependencyStart","Successor_DependencyFinish","validationController","_state","executeInternal","editing","DateTimeUtils","compareDates","getTime","areDatesEqual","getMaxDate","getMinDate","getDaysBetween","msInDay","getWeeksBetween","getDay","getMonthsDifference","getFullYear","getMonth","getYearsDifference","getDayNumber","getDateByDayNumber","setHours","setMinutes","setSeconds","addDays","checkDayOfMonth","getDate","checkDayOfWeek","checkMonth","checkYear","checkDayOfWeekOccurrenceInMonth","getSpecificDayOfWeekInMonthDates","DayOfWeekMonthlyOccurrence","Last","getFirstDayOfWeekInMonth","getSpecificDayOfWeekInMonthDate","checkValidDayInMonth","getNextMonth","convertToDate","convertTimeRangeToDateRange","hour","sec","msec","DateRange","convertToTimeRanges","convertToTimeRange","parseTimeRanges","TimeRange","convertToTime","parseTimeRange","Time","getTimeGromJsDate","parseTime","getHours","getMinutes","getSeconds","getMilliseconds","caclTimeDifference","getTimeInMilleconds","areTimesEqual","getMaxTime","getMinTime","getLastTimeOfDay","BaseArguments","cancel","values","TaskAreaStateEventNames","TASK_AREA_CLICK","TASK_AREA_DBLCLICK","TASK_AREA_SCROLL","TASK_AREA_START_MOVE","TASK_AREA_PROCESS_MOVE","TASK_AREA_END_MOVE","TASK_AREA_ZOOM_IN","TASK_AREA_ZOOM_OUT","CONTEXTMENU_SHOW","CONTEXTMENU_HIDE","DEPENDENCY_SELECTION","STATE_EXIT","TASK_SELECTION","TASK_EDIT_START","TASK_EDIT_END","TASK_LEAVE","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_DEPENDENCY_POINTS","DEPENDENCY_START","DEPENDENCY_PROCESS","DEPENDENCY_END","TASK_AREA_KEY_DOWN","GET_POINTERS_INFO","GET_COORDINATES_REF_POINT","setModelManipulator","DateUtils","getDaysInQuarter","getDaysInMonth","getOffsetInMonths","getOffsetInQuarters","getNearestScaleTickDate","setTime","needCorrectDate","getNearestLeftTickTime","getNextTickTime","setMonth","adjustStartDateByViewType","adjustEndDateByViewType","roundStartDate","getTickTimeSpan","msPerHour","msPerDay","msPerWeek","msPerMonth","msPerYear","getRangeTickCount","getRangeTickCountInMonthsViewType","getRangeTickCountInQuarterViewType","getRangeMSPeriod","getDSTDelta","getOrCreateUTCDate","getTimezoneOffset","valueOf","getTimezoneOffsetDiff","msPerMinute","getDSTCorrectedTaskEnd","ViewTypeToScaleMap","RenderElementUtils","assignToElement","attr","recreate","Color","_num","_opacity","_rgb","hasValue","getRBGColor","assignFromString","assignFromRgbArray","assignFromColor","assignFromHexString","assignFromRgbString","rgbaRegexp","rgbRegexp","applyOpacityToBackground","equal","DialogBase","isApiCall","_canRefresh","showDialog","onBeforeDialogShow","activeInstance","getDialogName","applyParameters","afterClosing","ResourceCollection","createItem","Resource","CollectionBase","_items","_isGanttCollection","getItemById","_addItem","_removeItems","invalidate","_invertedItems","getItem","_createInvertedItems","invertedItems","getItemByPublicId","importFromObject","importFromArray","createItemFromObjectAndAdd","importFromJSON","GanttJsonUtils","parseJson","DependencyType","TaskType","Regular","Summary","Milestone","FS","SS","FF","SF","TaskCommandBase","taskEditController","dependencyId","updateParent","_parentAutoCalc","updateParentsIfRequired","GridLayoutCalculator","tileToDependencyMap","tileToNoWorkingIntervalsMap","minLineLength","resourceMaxWidth","minTaskWidth","_taskWrapperPoints","_taskElementInfoList","_scaleCalculator","ScaleCalculator","setSettings","visibleTaskAreaSize","tickSize","_viewType","range","verticalTickCount","itemCount","viewModel","elementSizeValues","taskHeight","parentTaskHeight","milestoneWidth","scaleHeight","scaleItemHeight","arrowSize","connectorArrowWidth","lineThickness","connectorLineThickness","minConnectorSpaceFromTask","tickTimeSpan","scrollBarHeight","createTileToNonWorkingIntervalsMap","setViewType","resetTaskInfo","getTaskAreaBorderInfo","getVerticalGridLineHeight","getTotalWidth","getGridBorderInfo","scaleWidth","getScaleBorderInfo","GridElementInfo","getScaleBorderPosition","getGridBorderPosition","getGridBorderSize","viewType","getScaleElementInfo","getScaleItemInfo","getScaleItemClassName","getRenderedNoWorkingIntervals","getScaleItems","overflowX","textOverflow","additionalInfo","getScaleItemStart","getScaleItemAdjustedStart","isScaleItemInsideNoWorkingInterval","getScaleItem","getScaleRangesInArea","getScaleIndexByPos","topScaleItems","bottomScaleItems","getScaleItemColSpan","getTaskWrapperElementInfo","getTaskWrapperClassName","getTaskWrapperPoint","getViewItem","isMilestone","isCustom","selected","getTaskHeight","getPosByDate","getTaskElementInfo","getTask","parentAutoCalc","taskHasChildrenByIndex","getTaskWidth","getCorrectedTaskWidthByRange","taskCut","getTaskClassName","color","borderLeftColor","borderRightColor","borderTopColor","taskClassName","milestoneClassName","smallTaskWidth","smallTaskClassName","getAutoCalcParentTaskClassName","parentTaskClassName","progress","getTaskPoint","taskWrapperTopPadding","getTaskSize","getWidthByDateRange","isTaskToCalculateByChildren","getTaskProgressElementInfo","taskProgressClassName","getTaskProgressSize","getTaskProgressWidth","isTaskCutByRange","normalizedProgress","getTaskTextElementInfo","getTaskTextElementClassName","outsideTaskTextDefaultWidth","margins","hidden","taskTitleClassName","titleInClassName","titleOutClassName","getTaskResourcesWrapperElementInfo","getTaskResourceElementInfo","taskResourceClassName","getSelectionElementInfo","getRowElementInfo","getSelectionPosition","getSelectionSize","getHighlightRowInfo","getNoWorkingIntervalInfo","getNoWorkingIntervalPosition","getNoWorkingIntervalSize","getConnectorInfo","getConnectorPoints","getConnectorLineInfo","getArrowInfo","checkAndCorrectConnectorLinesByRange","getConnectorPosition","getConnectorSize","CLASSNAMES","CONNECTOR_VERTICAL","CONNECTOR_HORIZONTAL","findArrowLineInfo","getArrowPosition","getArrowClassName","getArrowPoint","arrowClassName","leftArrowClassName","topArrowClassName","rightArrowClassName","bottomArrowClassName","getArrowPositionByClassName","getArrowX","getArrowY","getDateByPos","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","getTaskSidePoints","getTaskEdgeCorrection","getRenderedRowColumnIndices","getFirstVisibleGridCellIndex","getFirstScaleVisibleIndex","getLastVisibleGridCellIndex","getLastScaleVisibleIndex","getRenderedScaleItemIndices","getTopScaleIndexByBottomIndex","getFirstScaleIndexForRender","getLastScaleIndexForRender","createTileToConnectorLinesMap","dependencies","createConnecotInfo","visibleIndex","updateTileToConnectorLinesMap","predecessor","addElementInfoToTileMap","noWorkingIntervals","getAdjustedNoWorkingInterval","getRenderedConnectorLines","getElementsInRenderedTiles","getRenderedStripLines","stripLines","showCurrentTime","StripLine","currentTimeTitle","currentTimeCssClass","isCurrent","cssClass","isTaskInRenderedRange","checkAndCorrectElementDisplayByRange","checkAndCorrectArrowElementDisplayByRange","dxGanttPrefix","StyleDef","_fillColor","_textColor","_lineColor","_cellWidth","Width","_cellPadding","_fontFamily","PredefinedStyles","getPredefinedStringOrUndefined","fontFamilies","_fontStyle","fontStyles","_fontSize","_overflow","_horizontalAlign","horizontalAlign","_verticalAlign","verticalAlign","_lineWidth","_minCellWidth","_minCellHeight","font","fontStyle","halign","valign","lineWidth","minCellWidth","minCellHeight","fillColor","textColor","lineColor","cellWidth","cellPadding","assignFromCssStyle","getPdfFontFamily","getPdfFontStyle","getPfrFontSize","textAlign","borderWidth","borderColor","assignPaddingFromCss","extraLeftPadding","fontWeight","padding","paddingLeft","paddingRight","getJsPdfProviderProps","PdfPageTableNames","treeListHeader","treeListMain","chartMain","chartScaleTop","chartScaleBottom","BaseManipulator","getErrorCallback","getDataUpdateErrorCallback","TaskAreaDomHelper","classToSource","isConnectorLine","isTaskElement","isMouseEvent","MouseEvent","TouchEvent","isPointerEvent","TaskEditController","TASK_EDIT_PROGRESS","TASK_EDIT_FRAME","TASK_EDIT_DEPENDENCY_RIGTH","TASK_EDIT_DEPENDENCY_LEFT","TASK_EDIT_SUCCESSOR_DEPENDENCY_RIGTH","TASK_EDIT_SUCCESSOR_DEPENDENCY_LEFT","TaskAreaStateBase","isCursorInArea","_listener","_taskArea","_cellSize","getClickedRowIndex","raiseTaskSelection","onTaskPointerEnter","onTaskPointerEnterBase","onDocumentPointerMove","processPointerMove","onDocumentPointerDown","processPointerDown","onDocumentPointerUp","processPointerUp","onTaskTouchStart","onTouchStart","onTouchEnd","onTaskHover","onTaskLeave","onTaskAreaLeave","onTaskAreaLeaveInternal","checkAndProcessTouchOutsideArea","onTouchStartInternal","onDocumentPointerDownInternal","onMouseDownInternal","onTouchMoveInternal","onDocumentPointerMoveInternal","onMouseMoveInternal","onTouchEndInternal","onDocumentPointerUpInternal","isInTaskArea","TaskAreaEventArgs","getHandler","raiseDependencySelection","getRelativePos","ConstraintViolationOption","ConfirmationType","TaskDelete","DependencyDelete","ResourcesDelete","DoNothing","RemoveDependency","KeepDependency","DialogParametersBase","DeassignResourceHistoryItem","assignmentId","assignment","deassig","resourceId","taskId","objectType","updateKey","ResourceCommandBase","headerFooterVisibility","pageBreak","rowPageBreak","assignWithValues","assignWithMargin","getCorrectedValues","DataExportMode","ExportMode","treeList","chart","RecurrenceBase","_start","_end","_interval","_occurrenceCount","_dayOfWeek","_day","_dayOfWeekOccurrence","_month","_calculateByDayOfWeek","occurrenceCount","dayOfWeek","dayOfWeekInternal","RecurrenceFactory","getEnumValue","DayOfWeek","day","dayInternal","dayOfWeekOccurrence","dayOfWeekOccurrenceInternal","month","monthInternal","Month","calculateByDayOfWeek","calculatePoints","calculatePointsByOccurrenceCount","calculatePointsByDateRange","getFirstPoint","isRecurrencePoint","isDateInRange","checkDate","useIntervalInCalc","checkInterval","calculatePointByInterval","calculateNearestPoint","getSpecDayInMonth","Sunday","Saturday","First","January","December","ConfirmationDialogParameters","RemoveDependencyHistoryItem","removeDependency","insertDependency","predecessorId","successorId","undoItemsQuery","CreateTaskHistoryItem","insertedKey","parentId","PdfTaskInfo","sidePoints","isParent","defaultParentHeightCorrection","_copyPoints","progressWidth","isSmallTask","textPosition","progressColor","taskColor","CellDef","colSpan","appendStyles","_styles","showInfoDelay","taskIndex","successorIndex","isEditingInProgress","disableTaskEditBox","isTaskEditBoxShown","viewItem","getRenderHelper","getGanttSettings","getViewModel","getCommandManager","updateTaskCommand","getValidationController","raiseTaskMoving","getModelManipulator","_tooltip","TaskEditTooltip","baseElement","tooltipSettings","elementTextHelperCultureInfo","TooltipSettings","getHeaderHeight","header","clientHeight","getTaskProgressTooltipContentTemplate","ganttSettings","taskProgressTooltipContentTemplate","getTaskTimeTooltipContentTemplate","taskTimeTooltipContentTemplate","getTaskTooltipContentTemplate","taskTooltipContentTemplate","formatDate","getTaskAreaContainer","taskAreaContainer","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","allowDependencyInsert","showDependencies","updateWrapInfo","assignPosition","assignSize","taskArea","timerId","endEditing","tooltip","showTaskInfo","showInfo","isAllowedToConnectTasks","canCreateDependency","showDependencySuccessor","dependencySuccessorBaseElement","dependencySuccessorFrame","hideDependencySuccessor","processProgress","showProgress","confirmProgress","processEnd","gridLayoutCalculator","getCorrectedDate","showTime","confirmEnd","processStart","confirmStart","processMove","onTaskMovingCallback","confirmMove","startDependency","dependencyLine","TASK_EDIT_DEPENDENCY_LINE","processDependency","drawline","endDependency","createDependencyCommand","selectDependency","allowDependencyDelete","isDependencySelected","deleteSelectedDependency","removeDependencyCommand","baseFrame","dependencyFinish","TASK_EDIT_TOUCH","dependencyStart","TASK_EDIT_BOX_SUCCESSOR","TASK_EDIT_FRAME_SUCCESSOR","dependencySuccessorStart","dependencySuccessorFinish","allowTaskUpdate","GanttView","currentSelectedTaskID","isFocus","_updateWithModelReloadLockedCounter","scaleCount","currentZoom","stripLinesUpdaterId","ganttOwner","Settings","initValidationController","initMarkup","loadOptionsFromGanttOwner","init","firstDayOfWeek","initTaskEditController","_getHistoryListener","initFullScreenModeHelper","updateView","_scrollTimeOut","scrollLeftByViewType","initializeStripLinesUpdater","initGanttViewApi","ganttViewApi","GanttViewApi","onTransactionStart","onHistoryTransactionStart","onTransactionEnd","onHistoryTransactionEnd","lockUpdateWithReload","unlockUpdateWithReload","_pendingUpdateInfo","updateWithDataReload","keepExpandState","ValidationControllerSettings","getHistory","getRange","getValidationSettings","validation","updateOwnerInAutoParentMode","getIsValidateDependenciesRequired","isValidateDependenciesRequired","ValidationController","TaskEditSettings","getDateFormat","_taskAreaEventsListener","TaskAreaEventsListener","FullScreenHelperSettings","getMainElement","getOwnerControlMainElement","adjustControl","adjustOwnerControl","fullScreenModeHelper","FullScreenModeHelper","getDateRange","getVisibleAreaTime","startDateRange","endDateRange","getTaskAreaContainerWidth","zoomIn","zoomOut","scrollToDate","scrollToDateCore","showPopupMenu","hidePopupMenu","collapseAll","expandAll","onGanttViewContextMenu","changeGanttTaskSelection","hideTaskEditControl","dataRange","setTaskAreaContainerScrollLeftToDate","onVisualModelChanged","resetAndUpdate","setInterval","recreateStripLines","currentTimeUpdateInterval","clearStripLinesUpdater","clearInterval","getGanttViewStartDate","getGanttViewEndDate","validateDependencies","updateTickSizeWidth","etalonScaleItemWidths","onBeginUpdateView","setTimeScaleContainerScrollLeft","taskAreaContainerScrollLeft","processScroll","onGanttScroll","taskAreaContainerScrollTop","onEndUpdateView","taskAreaScrollTopKey","taskAreaScrollLeftKey","taskTextHeightKey","allowTaskAreaBorders","areHorizontalBordersEnabled","areVerticalBordersEnabled","getScaleItemText","getTaskText","rowHasChildren","rowHasSelection","getAllVisibleTaskIndices","getVisibleDependencyKeysByTaskRange","tasks","getTreeListTableStyle","getTreeListColCount","getTreeListHeaderInfo","getTreeListCellInfo","getTreeListEmptyDataCellInfo","exportToPdf","docCreateMethod","getDefaultPdfDocCreateMethod","PdfGanttExporter","GanttExportCalculator","jspdf","jsPDF","getTaskDependencies","isHighlightRowElementAllowed","areAlternateRowsEnabled","calculateAutoViewType","getExternalTaskAreaContainer","prepareExternalTaskAreaContainer","changeTaskExpanded","getTaskByPublicId","expandTask","collapseTask","showTask","changeTaskVisibility","hideTask","getTaskVisibility","unselectCurrentSelectedTask","unselectTask","getTaskSelected","setViewTypeRange","setTaskTitlePosition","taskTitlePosition","setShowResources","showResources","toggleResources","setShowDependencies","toggleDependencies","setFirstDayOfWeek","setStartDateRange","setEndDateRange","getRowHeight","getGanttTasksData","ModelChangesDispatcher","getModelChangesListener","ViewVisualModel","getGanttDependenciesData","getGanttResourcesData","getGanttResourceAssignmentsData","getGanttWorkTimeRules","updateRange","taskAreaManagerDetachEvents","checkAndProcessModelChanges","refreshTaskDataIfRequires","updateHistoryObsoleteInsertedKey","updateObsoleteInsertedKey","updateRenderedConnectorLinesId","updateRowHeights","getTaskAreaContainerScrollLeft","setTaskAreaContainerScrollLeft","selectTask","changeTaskSelected","updateBarManager","selectTaskById","createConnectorLines","setMainElementWidth","setMainElementHeight","setAllowSelection","allowSelectTask","setEditingSettings","setValidationSettings","setRowLinesVisible","prepareTaskAreaContainer","setStripLines","StripLineSettings","deleteTask","removeTaskCommand","insertTask","getRootTaskId","createTaskCommand","getLastInsertedTaskId","updateTask","_getTaskDataForUpdate","getTaskData","getTaskObjectForDataSource","deleteDependency","convertPublicToInternalKey","getDependencyData","getDependencyObjectForDataSource","insertResource","createResourceCommand","assignResourceToTask","deleteResource","removeResourceCommand","assignResourceCommand","unassignResourceFromTask","findAssignment","deassignResourceCommand","unassignAllResourcesFromTask","findAllTaskAssignments","getResourceData","getResourceObjectForDataSource","getResourceAssignmentData","getResourceAssignmentObjectForDataSource","getTaskResources","getAssignedResources","getVisibleTaskKeys","getVisibleTasks","getVisibleDependencyKeys","getVisibleDependencies","getVisibleResourceKeys","getVisibleResources","getVisibleResourceAssignmentKeys","getVisibleResourceAssignments","getTasksExpandedState","applyTasksExpandedState","canRefresh","notifyGanttViewUpdated","onBrowserWindowResize","isInFullScreenMode","adjustControlInFullScreenMode","getTaskTreeLine","setTaskValue","getPrevTask","getTaskIdByInternalId","isTaskHasChildren","requireFirstLoadParentAutoCalc","getRequireFirstLoadParentAutoCalc","notifyParentDataRecalculated","getCurrentTaskData","getCurrentProcessingItemInfo","rollBackAndRemove","unlock","setTaskTooltipContentTemplate","setTaskProgressTooltipContentTemplate","setTaskTimeTooltipContentTemplate","setTaskContentTemplate","taskContentTemplate","onTaskAreaClick","onTaskClick","onTaskAreaDblClick","onTaskDblClick","showTaskEditDialog","onTaskAreaContextMenu","convertInternalToPublicKey","onTaskSelectionChanged","getFormattedDateText","getDefaultDateFormat","onTaskAreaSizeChanged","showTaskDetailsDialog","showResourcesDialog","getCommandByKey","updateViewDataRange","getTaskMinStart","getTaskMaxEnd","cachedPrefix","ResourceAssigningArguments","AssignResourceHistoryItem","DependencyCommandBase","TaskInsertingArguments","UpdateTaskHistoryItem","newValues","oldState","HistoryItemState","_hour","_min","_sec","_msec","_fullmsec","updateFullMilleconds","isTimeInRange","hasIntersect","concatWith","Second","Third","Forth","Margins","assignMargins","marginLeft","marginTop","marginRight","marginBottom","PdfDependencyLineInfo","arrowInfo","PdfTaskResourcesInfo","_widthInternal","PdfTimeMarkerInfo","isStripLine","EllipsisHelper","limitPdfTextWithEllipsis","getTextWidth","ellipsis","TaskDragBaseState","onStart","onEnd","onDrag","currentPosition","onStartInternal","onDragInternal","onEndInternal","Dependency","parseType","ResourceAssignment","createRecurrenceByType","Daily","Weekly","Monthly","Yearly","createRecurrenceFromObject","updateContextMenu","isContextMenu","updateItemsList","completeUpdate","GanttClientCommand","CreateTask","CreateSubTask","createSubTaskCommand","RemoveTask","TaskInformation","ResourceManager","TaskAddContextItem","TaskAddContextItemCommand","ZoomIn","ZoomInCommand","ZoomOut","ZoomOutCommand","FullScreen","ToggleFullScreenCommand","CollapseAll","CollapseAllCommand","ExpandAll","ExpandAllCommand","ToggleResources","ToggleDependencies","CreateTaskCommand","CreateSubTaskCommand","RemoveTaskCommand","UpdateTaskCommand","CreateDependencyCommand","RemoveDependencyCommand","CreateResourceCommand","RemoveResourceCommand","AssignResourceCommand","DeassignResourceCommand","ResourceColorCommand","TaskEditDialogCommand","ConstraintViolationDialogCommand","ConfirmationDialog","ResourcesDialogCommand","ToggleResourceCommand","ToggleDependenciesCommand","resourcesForDelete","raiseResourceManagerDialogShowing","resources","callBack","ResourcesDialogParameters","showConfirmationDialog","__spreadArray","JsonUtils","raiseTaskTaskEditDialogShowing","readOnlyFields","hiddenFields","getUpdatedTaskData","assigned","notifyResourceAssigning","assignments","fireResourceUnassigning","TaskEditParameters","showResourcesDialogCommand","showTaskEditDialogCommand","enableEdit","isTaskEditEnabled","enableRangeEdit","isTaskRangeEditEnabled","isValidationRequired","getCorrectDateRange","DependencyInsertingArguments","notifyDependencyInserting","InsertDependencyHistoryItem","moveStartDependTasks","moveEndDependTasks","DependencyRemovingArguments","notifyDependencyRemoving","fullScreenTempVars","toggle","allowTaskResourceUpdate","ResourceInsertingArguments","notifyResourceCreating","CreateResourceHistoryItem","allowResourceInsert","createCallback","ResourceColorHistoryItem","ResourcePropertyCommandBase","getPropertiesManipulator","ResourcePropertiesHistoryItemBase","newValue","setValue","restoreValue","allowResourceUpdate","ResourceRemovingArguments","notifyResourceRemoving","RemoveResourceHistoryItem","allowResourceDelete","notifyTaskCreating","allowTaskInsert","raiseTaskUpdating","filterChangedValues","processDependecyValidation","onAfterValidationCallback","checkStartDependencies","checkEndDependencies","showConstraintViolationDialog","ConstraintViolationDialogParameters","option","validationErrors","processAutoParentUpdate","correctParentsOnChildMoving","critical","isUpdateParentTaskRequired","TaskRemovingArguments","notifyTaskRemoving","RemoveTaskHistoryItem","allowTaskDelete","_isInFullScreenMode","setFullScreenMode","setNormalMode","prepareFullScreenMode","AttrUtils","changeElementStyleAttribute","bodyMargin","self","requestFullScreen","cancelFullScreen","restoreElementStyleAttribute","requestFullscreen","mozRequestFullScreen","webkitRequestFullscreen","msRequestFullscreen","getFullScreenElement","webkitExitFullscreen","mozCancelFullScreen","msExitFullscreen","exitFullscreen","fullscreenElement","webkitFullscreenElement","mozFullScreenElement","msFullscreenElement","setElementAttribute","setStyleAttribute","getElementAttribute","getStyleAttribute","removeElementAttribute","removeStyleAttribute","removeProperty","saveStyleAttributeInElement","isExistsAttributeInElement","emptyObject","isAttributeExists","_owner","_props","GanttPdfExportProps","_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","pageLeftMargin","treeListLeft","treeListWidth","_treeListLeft","headerRowHeight","_mainTableHeight","taskAreaHeight","_treeListWidth","getTreeListTableWidth","treeListHeaderMatrix","getTreeListColumnWidth","_chartWidth","chartTableScaleBottomMatrix","baseCellWidth","_settingsForPaging","prepareAutoFormat","scalingHelper","scalePageMargins","format","autoFormatKey","landscape","autoFormatWidth","autoFormatHeight","pageRightMargin","chartLeft","chartWidth","_autoFormatWidthAddStock","mainTableTop","mainTableHeight","pageBottomMargin","_canExportChart","getGanttObjectsInfo","tables","getTablesInfo","scaleSizes","_canExportTreelist","createTreeListHeaderTableInfo","createTreeListMainTableInfo","createChartMainTableInfo","_createChartScaleTopInfo","_createChartScaleBottomInfo","getFont","fontName","chartScaleTableStyle","chartTableScaleTopMatrix","chartMainTableStyle","chartTableBodyMatrix","hideRowLines","treeListTableStyle","treeListBodyMatrix","scaleRanges","scales","getScaleItemTextByStart","scaleTopWidths","scaleBottomWidths","createChartTableBodyRow","parentRowBackColor","fillTreeListTableBodyMatrix","fillTreeListEmptyTableBodyMatrix","getObjectsLeftOffset","dataObjectLeftDelta","customRangeLeftOffset","_dataObjectLeftDelta","getDataObjectLeftDelta","_dataObjectTopDelta","getDataObjectTopDelta","scaleTableStyle","_predefinedFont","tasksInfo","dependenciesInfo","resourcesInfo","timeMarkers","timeMarkersInfo","_tasksInfo","calculateTasksInfo","_dependenciesInfo","calculateDependenciesInfo","_resourcesInfo","calculateResourcesInfo","_timeMarkersInfo","calculateTimeMarkersInfoInfo","objectsLeftDelta","objectsTopDelta","calculateTaskInfo","getTaskColor","appendTaskTitle","appendTaskProgress","getTaskTextStyle","getTaskProgressColor","dataObjectTopDelta","getTaskElementBackColor","getTaskElementStyle","dependencyColor","connectorLines","createLineInfo","getArrowTopCorner","getLinePoints","resourcesElements","calculateResourcesInLine","getElementsByClassName","isElementVisible","getMargin","stripLinesElements","createTimeMarkerInfo","noWorkingIntervalsElements","ScaleItemInfo","_bottomScaleItems","_topScaleItems","_scaleWidth","findIndex","getAdjustedBottomScaleItemStart","calculateTopScale","calculateBottomScale","calculateScaleWidth","getNextScaleDate","getNextDateInTenMinutesScale","getNextDateInHoursScale","getNextDateInSixHoursScale","getNextDateInDaysScale","getNextDateInWeeksScale","getNextDateInMonthsScale","getNextDateInQuartersScale","getNextDateInYearsScale","getNextDateInFiveYearsScale","getNextTimeBySpan","_customRangeLeftOffset","startDate","ownerStartDate","renderedScaleLeft","hasTasks","getCellTop","getTaskCellOffsetTop","_offsetLeft","visibleLeft","_offsetTop","getOffsetTop","_scaleRanges","scaleLeft","scaleRight","_scaleTopWidths","getScaleTopWidths","_scaleBottomWidths","getScaleBottomWidths","_headerRowHeight","scaleElements","_visibleTaskIndices","getTaskIndices","_scaleTableStyle","getScaleTableStyle","_parentRowBackColor","getParentBackColor","_arrowWidth","getArrowWidth","_dependencyColor","getDependencyColor","getTaskWrapper","getElementStyle","_visibleLeft","isVisibleMode","_visibleTop","_visibleRight","getVisibleRight","_visibleBottom","getVisibleBottom","visibleTop","_scaleLeft","_scaleRight","visibleRight","endDate","getScaleWidths","scaleTopStartIndex","scaleTopEndIndex","scaleBottomStartIndex","scaleBottomEndIndex","getCellLeft","dataMode","exportRange","startIndex","getVisibleTaskIndices","taskElements","visibleBottom","scaleBorders","hlRowElements","selectionElements","_connectorLines","allConnectorLines","isLineVisible","visibleDependencyKeys","_visibleDependencyKeys","_resourcesElements","_stripLinesElements","stripLinesMap","_noWorkingIntervalsElements","noWorkingIntervalsToElementsMap","dateRange","ownerEndDate","_layoutCalculator","hasCustomRangeOutOfRender","findElementBackColor","getChartTableBorderColor","getDependencyLineStyle","isTaskTemplateMode","fakeTaskWrapper","createDefaultTaskElement","pdfDocument","fileName","PdfDataRange","PdfCustomFontSettings","fontObject","applyToDoc","addFileToVFS","addFont","setFont","pageVerIndex","pageHorIndex","cellRowIndexOnPage","cellColIndexOnPage","cell","pageIndex","globalCellIndex","pageOffset","cutSize","_pdfDoc","_globalInfo","_pages","_paginateTables","_paginateObjects","pageMatrixToArray","_paginateTable","_paginateTasks","_paginateDependencies","_paginateResources","_paginateTimeMarkers","_paginateTask","_paginateArrow","_paginateDependencyLine","_paginateResource","_paginateTimeMarker","_getTableStart","_preparePagesNavigationMatrixForTable","_getPage","hIndex","pageLeft","vIndex","pageTop","_setTablePositionOnPage","_addCellToPage","_updateTableSizeOnPages","_getTaskPagination","_offsetPoints","_addTaskToPage","_getPointPageInfo","offsetX","offsetY","_addDependencyToPage","_getDependencyLinePagination","_addResourceToPage","_getTimeMarkerPagination","_addTimeMarkerToPage","PageNavigation","pageBorders","correctedPageBottoms","_extendPageMatrixIfRequired","_getTableOrCreate","_createTable","_getTableNavigationVector","_prepareCuttedCell","cellIndexOnPage","_createPage","_getTableAndExtendIfRequired","_updateTableSizeOnPage","_getCellWidth","createFrom","_placeCell","getSpaceToBorder","offsetOneD","getPageSize","isCutted","splitTextToSize","_getLinePagination","pageNavigator","getPageGlobalOffset","getPageWidth","getPageHeight","_pageLeft","_pageRight","_pageTop","_pageBottom","pageBottom","pageRight","_correctedPageBottoms","_getCorrectedPagesBottom","_pageNavigator","getPageStart","_correctedBottoms","_top","_left","_bottom","_right","getCurrentPageBottom","getPageEnd","defaultPageWidth","getPageBottom","_doc","internal","scaleFactor","_docScaleFactor","_defaultScaleFactor","EPSILON","getScaledSize","_correctScaleNeeded","scaleTables","scaleObjects","scaleTable","scaleStyle","scaleTasks","scaleDependencies","scaleResources","scaleTimeMarkers","scalePoints","currentProcessingItemInfo","activateItem","HistoryItemInfo","checkAndRemoveItem","isUndo","updateItemsObsoleteInsertedKey","keyUpdaters","notifyTaskCreated","notifyTaskRemoved","notifyTaskUpdating","notifyTaskMoving","notifyTaskEditDialogShowing","notifyResourceManagerDialogShowing","notifyTaskUpdated","notifyParentTaskUpdated","notifyDependencyInserted","notifyDependencyRemoved","notifyResourceCreated","notifyResourceRemoved","notifyResourceColorChanged","notifyResourceAssigned","notifyResourceUnassigning","notifyResourceUnassigned","notifyScaleCellPrepared","ResourceUnassigningArguments","TaskUpdatingArguments","TaskEditDialogShowingArguments","ResourceManagerDialogShowingArguments","createNewValues","TaskManipulator","TaskDependencyManipulator","ResourcesManipulator","onBeginDataObjectCreate","updateVisibleItemDependencies","recreateConnectorLineElement","getObjectForDataSource","processServerInsertedKey","onEndDataObjectCreate","ResourcePropertiesManipulator","ResourceColorManipulator","setPropertyValue","ResourcePropertyManipulator","recreateTaskElement","_info","applyCustomFont","PdfGanttPageDrawer","addPage","getDocumentFormat","getOrientation","drawPage","save","createDoc","getJsPDFProps","putOnlyUsedFonts","unit","hotfixes","PdfGanttTableDrawer","needDrawChart","drawTable","PdfObjectDrawer","draw","needDrawTreeList","drawMargins","getContentRightBottom","setFillColor","_FONT_ROW_RATIO","drawTimeMarkers","drawDependencies","drawTasks","drawResources","drawTask","setDrawColor","drawMilestone","drawRegularTask","drawParentBorder","printTaskTitle","setTextColor","setFontSize","align","drawDependencyLine","drawArrow","line","isValidLine","drawTimeMarker","saveGraphicsState","setGState","GState","restoreGraphicsState","setLineDashPattern","createTableOptions","autoTable","createDefaultTableOptions","addTableCommonSettings","addCommonTableStyles","prepareBodyCells","addBody","TableOptions","tableWidth","startY","alternateRowStyles","cellEllipsisSpace","onDrawCellCallback","row","column","table","columns","setLineWidth","_margin","_tableLineColor","_tableWidth","_alternateRowStyles","_pageBreak","_rowPageBreak","_showHead","_showFoot","_startY","_tableLineWidth","_body","showFoot","showHead","tableLineWidth","getBodyForJsPdf","columnStyles","getColumnStylesForJsPdf","didDrawCell","tableLineColor","addCells","applyColumnStyle","_columnStyles","renderedColIndices","renderedRowIndices","invalidTaskDependencies","etalonSizeValues","EtalonSizeValues","_gridLayoutCalculator","_ganttView","_connectorLinesRender","ConnectorLinesRender","_etalonsHelper","EtalonsHelper","_noWorkingIntervalRender","NoWorkingIntervalRender","_resourceRender","ResourseRender","_scaleRender","ScaleRender","_stripLinesRender","StripLinesRender","_taskAreaRender","TaskAreaRender","_taskRender","TaskRender","_mainElementsRender","MainElementsRender","createHeader","_elementTextHelper","setupHelpers","setSizeForTaskArea","createTimeScale","_taskAreaManager","TaskAreaManager","taskAreaEventsListener","ElementTextHelper","ganttViewSettings","cultureInfo","calculateEtalonSizeValues","createTaskAreaContainer","recreateTaskAreaBordersAndTaskElements","recreateConnectorLineElements","recreateNoWorkingIntervalElements","recreateScalesElements","isExternal","timeScaleContainer","scaleItemWidths","renderedConnectorLines","createTimeScaleAreas","getTargetDateByPos","isAllowTaskAreaBorders","hasTaskTemplate","recreateConnectorLineElemensts","createResources","createResourcesWrapperElement","createTimeScaleContainer","createTaskArea","getTaskAreaWidth","getTaskAreaHeight","TaskAreaContainer","createHighlightRowElement","getSmallTaskWidth","createTaskElement","removeTaskElement","getTaskResourcesVisibility","getScaleItemTextTemplate","taskAreaManager","attachEventsOnTask","detachEventsOnTask","_connectorLinesToElementsMap","_renderedConnectorLines","_renderHelper","ganttViewTaskAreaContainerScrollTop","createConnectorLineElement","connectorLinesToElementsMap","removeConnectorLineElement","createEtalonElementsContainer","createEtalonElements","calculateEtalonSizeValuesCore","_noWorkingIntervalsToElementsMap","_renderedNoWorkingIntervals","ganttTaskAreaContainerScrollLeft","createNoWorkingIntervalElement","removeNoWorkingIntervalElement","renderedNoWorkingIntervals","createResourceElement","_scaleBorders","_scaleElements","_renderedScaleItemIndices","_timeScaleAreas","_timeScaleContainer","createTimeScaleArea","timeScaleAreas","createScaleElementCore","createScaleElement","lineHeight","createScaleBorder","createScaleElementAndBorder","onScaleCellPrepared","removeScaleElementAndBorder","recreateScaleElements","renderedScaleItemIndices","ScaleCellPreparedArguments","scaleType","scaleIndex","scaleElement","separatorElement","_stripLinesMap","_renderedStripLines","renderedStripLines","TOUCH_ACTION_NONE","_eventListener","attachTouchEvents","attachMouseEvents","attachCommonEvents","detachTouchEvents","detachMouseEvents","detachCommonEvents","onTaskPointerEnterHandler","onTaskTouchStartHandler","onTaskMouseEnterHandler","onTaskMouseLeaveHandler","taskAreaAddEventListener","onKeyDownHandler","taskAreaRemoveEventListener","onDocumentPointerDownHandler","onDocumentPointerUpHandler","onDocumentPointerMoveHandler","onDocumentPointerCancelUpHandler","onTaskAreaPointerLeaveHandler","onTouchStartHandler","onTouchEndHandler","onTaskAreaMouseLeaveHandler","_stateController","TaskAreaStateController","_onContextMenuHandler","stateController","_onMouseWheelHandler","_onScrollHandler","_onKeyDownHandler","_onTaskPointerEnterHandler","_onTaskAreaPointerLeaveHandler","onTaskAreaPointerLeave","_onDocumentPointerDownHandler","_onDocumentPointerUpHandler","_onDocumentPointerCancelHandler","onDocumentPointerCancel","_onDocumentPointerMoveHandler","_onTouchStartHandler","_onTouchEndHandler","_onTouchMoveHandler","_onTaskTouchStartHandler","_onMouseClickHandler","_onMouseDblClickHandler","_onMouseDownHandler","_onTaskAreaMouseLeaveHandler","onTaskAreaMouseLeave","_onMouseMoveHandler","_onMouseUpHandler","_onTaskMouseEnterHandler","onTaskElementHover","_onTaskMouseLeaveHandler","onTaskElementLeave","DBLCLICK_INTERVAL","MS_POINTER_ACTIVE_CLASS","_pointers","setHandler","getPointersInfo","triggerEvent","TaskAreaZoomState","_clearPointerInfo","_updatePinterInfo","toggleStateOnPointerDown","toggleStateOnPointerMove","getTaskAreaEventSource","processMouseDownOnTaskArea","TaskMoveState","TaskEditState","TaskAreaDependencyState","TaskAreaDefaultState","TaskAreaScrollState","toggleStateWhenMultiOrOutsideTouch","_canStartDrag","checkEventInTaskEditFrameArea","isTaskUpdateDisabled","_getActivePointersCount","getTaskEditFrameElement","_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","clearTimers","onPointerDownBase","onPointerUpBase","_lastTouchRowIndex","changeSelectionOnTouchDown","_contextMenuTimer","showContextMenuOnTouchDown","defaultContextMenuTimeout","canToEmulateClick","_lastEmulatedClickTime","defaultDblClickTimeout","_dblClickClearTimer","defaultDblClickClearTimeout","rowIndex","eventName","dependencyMap","onDependencyEndByMouse","onDependencyStart","onDependencyMoveStep","onDependencyEndByTouch","processEndDependency","successorStart","successorFinish","isTouchNearby","_isStarted","onBeforeStart","onMove","onMoveByPointer","_isInZooming","processZoom","onEndZoom","onTouchZoom","leftPos","GetTouchPoints","getZoomMiddlePoint","getMouseZoomLeftPos","convertScreenToChartCoordinates","_source","getEventOnEndKey","getEventOnDragKey","delta","_vertTaskAreaBorders","_horTaskAreaBorders","_isExternalTaskAreaContainer","_taskAreaContainer","getTaskAreaContainerElement","initTaskAreaContainer","createTaskAreaBorder","getTaskAreaBordersDictionary","removeTaskAreaBorder","createTaskAreaBorderAndTaskElement","removeTaskAreaBorderAndTaskElement","vertTaskAreaBorders","horTaskAreaBorders","_selectionElements","_taskElements","customTaskRender","CustomTaskRender","isExternalTaskAreaContainer","viewModelItems","_fakeTaskWrapper","createFakeTaskWrapper","addInvalidTaskDependencies","removeInvalidTaskDependencies","renderTaskElement","createTaskWrapperElement","createCustomTaskElement","createTaskVisualElement","createTaskSelectionElement","createTaskTextElement","createTaskProgressElement","firstElementChild","_minTextWidth","minTextWidth","minTitleOutRightPadding","getTaskTextHeight","_pendingTemplateFuncsToRender","_saveTemplateFuncToStack","_hasRepeatedTemplateRenderCall","createCustomTaskInformation","onTaskTemplateContainerRendered","_getLastPendingTemplateFunc","drawCustomTask","_clearTemplateFuncsStack","createCustomTaskWrapperElement","createCustomTaskVisualElement","cellSize","taskData","taskHTML","taskPosition","taskResources","taskSize","scrollWidth","scrollHeight","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","getVisible","getDayTextTemplate","getWeekTextTemplate","getLongestMonthName","getLongestAbbrDayName","getLongestAbbrMonthName","getLongestText","measureText","amText","pmText","quarterNames","monthNames","dayNames","abbrMonthNames","abbrDayNames","EditingSettings","ValidationSettings","viewTypeRange","ViewTypeRangeSettings","autoUpdateParentTasks","enablePredecessorGap","lockPredecessorToSuccessor","ValidationError","isStartDependency","checkParent","correctMoving","moveRelatedTasks","recalculateParents","getDuration","oldStart","oldEnd","updateParentsRangeByChild","updateChildRangeByParent","_fLockCount","lockChangesProcessing","TaskCollection","DependencyCollection","ResourceAssignmentCollection","_itemList","_viewItemList","_workTimeCalculator","WorkingTimeCalculator","ViewVisualModelItem","createHierarchy","populateItemsForView","addChild","duration","taskType","customFields","populateVisibleItems","getExpanded","getTasVisibleDependencies","setDependencies","ViewVisualModelDependencyInfo","changed","compareTaskOrder","saveTaskInternalIds","restoreTaskInternalIds","enableDependencyValidation","getDependentTasksHash","checkTasksInterdependence","checkDependencyChain","getBranchIds","taskHasChildren","getItemByInternalId","rootTaskId","calculateRootTaskId","Task","assignCustomFields","changeVisibility","changeSelection","_workingRules","WorkingDayRuleCollection","_workDayList","_calculationRange","calculateWorkDayList","clearList","processRule","sortList","recurrence","dayNumber","isWorkDay","addWorkingIntervals","workTimeRanges","DayWorkingTimeInfo","calculateNoWorkTimeIntervals","getNoWorkTimeRangesFromDay","concatJointedRanges","_noWorkingIntervals","WorkingTimeRule","recurrenceType","Monday","Tuesday","Wednesday","Thursday","Friday","February","March","April","May","June","July","August","September","October","November","calcNextPointWithWeekCount","MonthInfo","addMonths","year","_workingIntervals","rearrangeWorkingIntervals","concatWithIntersectedRanges","sortIntervals","getIntersectedIntervals","removeInterval","clearIntervals","_isWorkDay","maxZoom","updateGanttViewType","handlers","_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","_ganttMovingHelper","GanttMovingHelper","ganttMovingHelper","startMoving","movingInfo","calcMovingInfo","updateGanttAreaCursor","cancelMoving","move","updateScrollPosition","eventX","eventY","maxRightDelta","maxLeftDelta","maxBottomDelta","maxTopDelta","cursor","factory","unwrapESModule","require","ajaxUtility","Deferred","CustomStore","dataUtils","CUSTOM_STORE_OPTIONS","createStoreConfig","keyExpr","loadUrl","loadMethod","loadParams","isRawLoadMode","loadMode","updateUrl","insertUrl","deleteUrl","onBeforeSend","onAjaxError","requiresKey","ajaxSettings","customSuccessHandler","thenable","beforeSendResult","sendCore","sendRequest","textStatus","xhr","mime","getResponseHeader","responseText","jsonObj","safeParseJSON","isNonEmptyString","getErrorMessageFromXhr","reject","dataType","promise","loadOptionsToActionParams","isCountQuery","normalizeSorting","normalizeSortingInfo","group","expr","isAdvancedGrouping","stringifyDatesInFilter","totalSummary","groupSummary","handleInsertUpdateSuccess","isJSON","useDefaultSearch","loadOptions","method","processLoadResponse","createLoadExtra","totalCount","byKey","keyValue","updateMethod","serializeKey","insert","insertMethod","deleteMethod","getResolveArgs","groupCount","summary","crit","date","zpad","builder","serializeDate","json","createStore","__webpack_modules__","__unused_webpack_module","parchment__WEBPACK_IMPORTED_MODULE_0__","_decorators__WEBPACK_IMPORTED_MODULE_1__","_utils__WEBPACK_IMPORTED_MODULE_2__","_typeof","_defineProperties","descriptor","_get","property","receiver","base","_getPrototypeOf","_superPropBase","desc","_setPrototypeOf","getPrototypeOf","OverriddenAttributor","_Attributor","subClass","superClass","_inherits","Constructor","protoProps","staticProps","Derived","hasNativeReflectConstruct","construct","sham","Proxy","_isNativeReflectConstruct","Super","NewTarget","ReferenceError","_assertThisInitialized","_possibleConstructorReturn","attrName","keyName","_options$allowedTags","allowedTags","_classCallCheck","dj","WT","attribute","Mx","ud","Attributor","_utils__WEBPACK_IMPORTED_MODULE_0__","decorateMethodWithKeyName","originalKeyName","mQ","_len","_key","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","enumerableOnly","symbols","sym","_objectSpread","_defineProperty","getOwnPropertyDescriptors","defineProperties","KeyNameType","OVERRIDDEN_ATTRIBUTORS_TAG_INFO","Sp","tag","keyNamesSet","bc","Pw","fU","getKeyNameWithCustomPrefix","tagInfo","removeCustomPrefixFromKeyName","keyNameWithPrefix","Delta","Delta_default","parchment","blots_break","inline","blots_text","utils","fillAttributes","blot","keyNames","normalizedKeyName","query","Scope","ATTRIBUTE","attributor","_createClass","_createSuper","AttributorStore","domNode","Registry","attributes","classes","ClassAttributor","Block","_BlockBlot","blockDelta","BLOCK","def","tail","insertAt","block","lineIndex","head","force","BlockBlot","blotName","defaultChild","allowedChildren","EmbedBlot","BlockEmbed","_EmbedBlot","_super2","formats","BLOCK_ATTRIBUTE","endsWith","descendants","LeafBlot","leaf","bubbleFormats","statics","scope","BLOCK_BLOT","Break","prev","__WEBPACK_DEFAULT_EXPORT__","_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","other","selfIndex","order","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","_arrayWithHoles","_i","_s","_e","_arr","_n","_d","err","_iterableToArrayLimit","minLen","_arrayLikeToArray","_unsupportedIterableToArray","_nonIterableRest","arr2","isLine","ZP","i2","Scroll","_ScrollBlot","registry","_ref","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","_ref2","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","ASCII","Editor","getDelta","immediateFormats","scrollLength","batchStart","normalizedDelta","op","normalizeDelta","deleteDelta","Op","addedNewline","retain","_this$scroll$line2","E2","AttributeMap","diff","INLINE","addedLength","delete","deleteAt","batchEnd","_this3","leaves","_map2","blots","combineFormats","_this$scroll$line4","lineOffset","convertHTML","getContents","_this4","isComposing","_this$scroll$line6","suffixLength","suffix","applyDelta","selectionInfo","oldDelta","textBlot","relativeSelectionInfo","oldRange","shiftRange","newRange","compose","convertListHTML","lastIndent","types","_endTag","getListType","iter","_iterableToArray","_items$","indent","rest","_getListType4","previousType","endTag","isRoot","parts","linkedList","handleBreakLine","removeTableServiceClasses","extractNodeFromBlot","outerHTML","_outerHTML$split2","combined","merged","hasAttributes","attributesString","getBlotNodeAttributes","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","_len2","_key2","_len3","_key3","EDITOR_CHANGE","SELECTION_CHANGE","TEXT_CHANGE","CONTENT_SETTED","API","SILENT","WeakMap","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","theme","keyboard","addModule","uploader","lastRange","modify","setContents","getInitialContent","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","userConfig","themeConfig","config","moduleConfig","moduleClass","toolbar","_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","whitelist","AlignAttribute","AlignClass","AlignStyle","_color__WEBPACK_IMPORTED_MODULE_1__","BackgroundClass","BackgroundStyle","OO","_Inline","replaceWith","_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","ColorAttributor","hex","ColorClass","ColorStyle","DirectionAttribute","DirectionClass","DirectionStyle","FontClass","FontStyleAttributor","FontStyle","Link","sanitize","_sanitize","PROTOCOL_WHITELIST","SANITIZED_URL","protocols","anchor","protocol","SizeClass","SizeStyle","_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","styleName","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__","_excluded","prepareAttributor","domAttrName","elementConfig","excluded","sourceKeys","_objectWithoutPropertiesLoose","sourceSymbolKeys","_objectWithoutProperties","_attributors_style_attributor__WEBPACK_IMPORTED_MODULE_0__","prepareStyleAttributor","prop","formatName","_prop$split2","propName","propSubName","_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","_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","Du","dataset","tableCellLine","isCell","li","_this$cell","_this$cell2","_this$cell2$table","_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","_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","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","matchAlias","HTML_TEXT_MATCHERS","IF","memo","HE","HQ","H8","Clipboard","_Module","_options$tableBlots","onCaptureCopy","onCapturePaste","matchers","tableBlots","selector","matcher","addMatcher","_ref3","keepLastNewLine","applyMatchers","applyTextMatchers","prepareTextMatching","nodeMatches","_this$prepareMatching2","prepareMatching","elementMatchers","textMatchers","traverse","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","up","down","spacebar","del","subtract","esc","KEY_CODES","SHORTKEY","Keyboard","bindings","addInternalBindings","listen","handleEnter","handleBackspace","handleDelete","prefix","handleDeleteRange","keyBinding","binding","keyPropery","singleBinding","raiseOnKeydownCallback","normalizeKeyName","matches","_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","windowHeight","_element$getBoundingC","elemTop","elemBottom","scrollConfig","innerHeight","isKeySupported","normalizedKey","makeCodeBlockHandler","makeEmbedArrowHandler","makeFormatHandler","firstFormats","lastFormats","outdent","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","language","cachedText","qz","codeBlock","se","Syntax","hljs","languages","highlightBlot","initListener","initTimer","highlight","attachUI","fw","nodeText","_core_quill__WEBPACK_IMPORTED_MODULE_2__","_core_module__WEBPACK_IMPORTED_MODULE_3__","_formats_table__WEBPACK_IMPORTED_MODULE_4__","_utils_is_defined__WEBPACK_IMPORTED_MODULE_10__","_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__","EMPTY_RESULT","Table","iD","addImmediateFormat","integrateClipboard","addKeyboardHandlers","listenBalanceCells","addTableBlot","matchCell","Zt","h6","keyboardBindings","xJ","balanceCells","_this$getTable2","getTable","deleteColumn","cellOffset","_this$quill$getLine2","_this$getTable8","insertColumn","_this$getTable10","insertRow","_this$getTable12","insertHeaderRow","Lv","balanceTables","old","xs","pj","KA","SC","RM","xD","isHeaderRow","cellLineBlotName","PF","HI","_this$quill$selection","is_defined","get_id","toggle_attribute","_this$row$table","_this$row2","make_table_arrow_handler","insertParagraphAbove","insertIndex","insertParagraphBelow","tableSide","prepare_attr_matcher","lite_typeof","lite_slicedToArray","lite_arrayWithHoles","lite_iterableToArrayLimit","lite_arrayLikeToArray","lite_unsupportedIterableToArray","lite_nonIterableRest","lite_defineProperties","lite_setPrototypeOf","lite_getPrototypeOf","TableLite","lite_inherits","lite_isNativeReflectConstruct","lite_assertThisInitialized","lite_possibleConstructorReturn","lite_classCallCheck","matchTable","getModule","_module$getTable2","hasHead","_module$getTable4","hasBody","lite","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","capitalize","src_scope","LinkedList","append","curNode","ret","curIndex","curLength","linked_list","_extendStatics","ParchmentError","tags","bubble","blotClass","ANY","LEVEL","Element","TYPE","definitions","definition","shadow","ShadowBlot","detach","replacement","_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","copy","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","__unused_webpack_exports","entryUnbind","isCallable","tryToString","$TypeError","argument","$String","wellKnownSymbol","UNSCOPABLES","ArrayPrototype","isObject","toAbsoluteIndex","lengthOfArrayLike","argumentsLength","endPos","callWithSafeIterationClosing","isArrayIteratorMethod","isConstructor","createProperty","getIterator","getIteratorMethod","$Array","arrayLike","IS_CONSTRUCTOR","mapfn","mapping","step","iteratorMethod","toIndexedObject","createMethod","IS_INCLUDES","$this","fromIndex","anObject","iteratorClose","fn","ENTRIES","ITERATOR","SAFE_CLOSING","called","iteratorWithReturn","SKIP_CLOSING","ITERATION_SUPPORT","uncurryThisRaw","stringSlice","TO_STRING_TAG_SUPPORT","classofRaw","TO_STRING_TAG","$Object","CORRECT_ARGUMENTS","tryGet","callee","hasOwn","getOwnPropertyDescriptorModule","definePropertyModule","exceptions","MATCH","METHOD_NAME","regexp","error1","error2","fails","DESCRIPTORS","createPropertyDescriptor","bitmap","toPropertyKey","propertyKey","makeBuiltIn","defineGlobalProperty","simple","global","unsafe","nonConfigurable","nonWritable","documentAll","IS_HTMLDDA","EXISTS","getBuiltIn","Deno","versions","v8","uncurryThis","CONSTRUCTOR","METHOD","createNonEnumerableProperty","defineBuiltIn","copyConstructorProperties","isForced","targetProperty","sourceProperty","TARGET","GLOBAL","STATIC","stat","dontCallGetSet","aCallable","NATIVE_BIND","Function","FunctionPrototype","getDescriptor","PROPER","CONFIGURABLE","uncurryThisWithBind","classof","getMethod","isNullOrUndefined","Iterators","usingIterator","func","check","globalThis","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","proto","PrototypeOfArrayIteratorPrototype","arrayIterator","toLength","InternalStateModule","enforceInternalState","getInternalState","CONFIGURABLE_LENGTH","TEMPLATE","getter","setter","arity","activeXDocument","definePropertiesModule","enumBugKeys","documentCreateElement","PROTOTYPE","SCRIPT","IE_PROTO","EmptyConstructor","scriptTag","LT","NullProtoObjectViaActiveX","write","close","temp","parentWindow","NullProtoObject","ActiveXObject","iframeDocument","iframe","JS","domain","contentWindow","Properties","V8_PROTOTYPE_DEFINE_BUG","objectKeys","IE8_DOM_DEFINE","$defineProperty","$getOwnPropertyDescriptor","ENUMERABLE","WRITABLE","Attributes","current","propertyIsEnumerableModule","internalObjectKeys","CORRECT_PROTOTYPE_GETTER","ObjectPrototype","names","$propertyIsEnumerable","NASHORN_BUG","aPossiblePrototype","CORRECT_SETTER","TO_ENTRIES","pref","val","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","TAG","SHARED","copyright","license","toIntegerOrInfinity","requireObjectCoercible","CONVERT_TO_STRING","second","codeAt","V8_VERSION","symbol","integer","IndexedObject","isSymbol","ordinaryToPrimitive","TO_PRIMITIVE","exoticToPrim","toPrimitive","postfix","NATIVE_SYMBOL","WellKnownSymbolsStore","symbolFor","createWellKnownSymbol","withoutSetter","addToUnscopables","checkCorrectnessOfIteration","iterable","$values","notARegExp","correctIsRegExpLogic","nativeEndsWith","CORRECT_IS_REGEXP_LOGIC","searchString","endPosition","search","defineIterator","createIterResultObject","STRING_ITERATOR","setInternalState","iterated","Events","EE","addListener","_events","_eventsCount","clearEvent","EventEmitter","eventNames","ee","listenerCount","a1","a2","a3","a4","a5","removeListener","removeAllListeners","prefixed","DIFF_DELETE","DIFF_INSERT","DIFF_EQUAL","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","diff_halfMatch_","mid_common","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","before","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","freeExports","freeModule","moduleExports","addMapEntry","addSetEntry","arrayReduce","array","iteratee","accumulator","initAccum","isHostObject","mapToArray","overArg","arg","setToArray","arrayProto","funcProto","objectProto","coreJsData","maskSrcKey","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__","assignValue","objValue","assocIndexOf","baseClone","isDeep","isFull","customizer","isArr","initCloneArray","copyArray","getTag","isFunc","buffer","cloneBuffer","isPrototype","initCloneObject","copyObject","getSymbols","copySymbols","baseAssign","cloneFunc","Ctor","cloneArrayBuffer","dataView","byteOffset","cloneDataView","typedArray","cloneTypedArray","cloneMap","lastIndex","cloneRegExp","cloneSet","initCloneByTag","stacked","keysFunc","symbolsFunc","arrayPush","baseGetAllKeys","getAllKeys","arrayEach","subValue","arrayBuffer","getMapData","baseIsNative","pairs","LARGE_ARRAY_SIZE","isIndex","ctorString","isArrayLike","isLength","inherited","isObjectLike","isArrayLikeObject","isArguments","baseTimes","skipIndexes","arrayLikeKeys","baseKeys","COMPARE_PARTIAL_FLAG","COMPARE_UNORDERED_FLAG","arrayTag","asyncTag","errorTag","nullTag","proxyTag","undefinedTag","typedArrayTags","freeProcess","nodeUtil","nodeIsTypedArray","isTypedArray","arraySome","predicate","nativeObjectToString","symToStringTag","SetCache","baseGetTag","isOwn","unmasked","getRawTag","baseIsArguments","baseIsEqual","bitmask","equalFunc","objIsArr","othIsArr","objTag","othTag","objIsObj","othIsObj","isSameTag","equalArrays","isPartial","equalByTag","objIsWrapped","othIsWrapped","objUnwrapped","othUnwrapped","objProps","objLength","skipCtor","othValue","compared","objCtor","othCtor","equalObjects","baseIsEqualDeep","arrLength","othLength","seen","arrValue","othIndex","isMasked","resIndex","arrayFilter","baseUnary","isArg","isBuff","isType","objectCtorString","allocUnsafe","nativeMax","nativeNow","baseCreate","assignMergeValue","baseAssignValue","baseMerge","srcIndex","baseFor","srcValue","mergeFunc","safeGet","isCommon","isTyped","isPlainObject","isNew","keysIn","toPlainObject","baseMergeDeep","baseSetToString","identity","setToString","lastCalled","stamp","shortOut","nativeKeysIn","isProto","baseKeysIn","assigner","otherArgs","thisArg","overRest","baseRest","guard","isIterateeCall","cloneDeep","keepNull","attrs","baseInverted","priority","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","peek","firstLeft","peekType","peekLength","thisOp","otherOp","action","thisData","otherData","strings","retDelta","diffResult","opLength","eachLine","newline","inverted","baseIndex","baseOp","opData","baseOpData","transformedData","nextType","retOp","__webpack_module_cache__","moduleId","cachedModule","loaded","paths","core","IndentAttributor","_ClassAttributor","blockquote_typeof","blockquote_setPrototypeOf","blockquote_getPrototypeOf","Blockquote","blockquote_inherits","blockquote_isNativeReflectConstruct","blockquote_assertThisInitialized","blockquote_possibleConstructorReturn","blockquote_classCallCheck","header_typeof","header_defineProperties","header_setPrototypeOf","header_getPrototypeOf","Header","header_inherits","header_isNativeReflectConstruct","header_assertThisInitialized","header_possibleConstructorReturn","header_classCallCheck","list_typeof","list_get","list_getPrototypeOf","list_superPropBase","list_defineProperties","list_createClass","list_classCallCheck","list_inherits","list_setPrototypeOf","list_createSuper","list_isNativeReflectConstruct","list_assertThisInitialized","list_possibleConstructorReturn","ListContainer","ListItem","ui","listEventHandler","italic_typeof","italic_setPrototypeOf","italic_getPrototypeOf","_Bold","italic_inherits","italic_isNativeReflectConstruct","italic_assertThisInitialized","italic_possibleConstructorReturn","italic_classCallCheck","formats_link","script_typeof","script_defineProperties","script_get","script_getPrototypeOf","script_superPropBase","script_setPrototypeOf","Script","script_inherits","script_isNativeReflectConstruct","script_assertThisInitialized","script_possibleConstructorReturn","script_classCallCheck","script","strike_typeof","strike_setPrototypeOf","strike_getPrototypeOf","Strike","strike_inherits","strike_isNativeReflectConstruct","strike_assertThisInitialized","strike_possibleConstructorReturn","strike_classCallCheck","underline_typeof","underline_setPrototypeOf","underline_getPrototypeOf","underline_inherits","underline_isNativeReflectConstruct","underline_assertThisInitialized","underline_possibleConstructorReturn","underline_classCallCheck","blots_embed","formula_typeof","formula_defineProperties","formula_get","formula_getPrototypeOf","formula_superPropBase","formula_setPrototypeOf","Formula","_Embed","formula_inherits","formula_isNativeReflectConstruct","formula_assertThisInitialized","formula_possibleConstructorReturn","formula_classCallCheck","formula","katex","throwOnError","errorColor","image_typeof","image_defineProperties","image_get","image_getPrototypeOf","image_superPropBase","image_setPrototypeOf","ATTRIBUTES","image_inherits","image_isNativeReflectConstruct","image_assertThisInitialized","image_possibleConstructorReturn","image_classCallCheck","formats_image","video_typeof","video_defineProperties","video_get","video_getPrototypeOf","video_superPropBase","video_setPrototypeOf","video_ATTRIBUTES","Video","_BlockEmbed","video_inherits","video_isNativeReflectConstruct","video_assertThisInitialized","video_possibleConstructorReturn","video_classCallCheck","video","syntax","multiline_break_typeof","multiline_break_defineProperties","multiline_break_setPrototypeOf","multiline_break_getPrototypeOf","MultilineBreak","multiline_break_inherits","multiline_break_isNativeReflectConstruct","multiline_break_assertThisInitialized","multiline_break_possibleConstructorReturn","multiline_break_classCallCheck","multiline_break","multiline_typeof","multiline_defineProperties","multiline_setPrototypeOf","multiline_assertThisInitialized","multiline_getPrototypeOf","breakMatcher","multilineBreak","Multiline","multiline_inherits","multiline_isNativeReflectConstruct","multiline_possibleConstructorReturn","multiline_classCallCheck","enterHandler","currentLeaf","nextLeaf","multiline","attributors_table","quill_defineProperty","registerAttributorArray","attributorArray","Qu","yA","dk","Hn","hY","VT","kk","EK","getDefaultOpts","defaultOptions","omitExtraWLInCodeBlocks","describe","noHeaderId","prefixHeaderId","rawPrefixHeaderId","ghCompatibleHeaderId","rawHeaderId","headerLevelStart","parseImgDimensions","simplifiedAutoLink","excludeTrailingPunctuationFromURLs","literalMidWordUnderscores","literalMidWordAsterisks","strikethrough","tablesHeaderId","ghCodeBlocks","tasklists","smoothLivePreview","smartIndentationFix","disableForced4SpacesIndentedSublists","simpleLineBreaks","requireSpaceBeforeHeadingText","ghMentions","ghMentionsLink","encodeEmails","openLinksInNewWindow","backslashEscapesHTMLTags","emoji","completeHTMLDocument","splitAdjacentBlockquotes","opt","showdown","parsers","extensions","globalOptions","setFlavor","flavor","github","original","ghost","vanilla","allOn","allOptionsOn","extension","errMsg","valid","helper","baseMsg","ext","isUndefined","regex","ln","escapeCharactersCallback","wholeMatch","m1","setOption","getOption","getOptions","resetOptions","preset","getFlavor","getFlavorOptions","getDefaultOptions","subParser","stdExtName","validExtension","getAllExtensions","removeExtension","resetExtensions","validateExtension","escapeCharacters","charsToEscape","afterBackslash","regexString","unescapeHTMLEntities","txt","rgxFindMatchPos","matchRecursiveRegExp","matchPos","results","replaceRecursiveRegExp","repStr","finalStr","lng","bits","regexIndexOf","splitAtIndex","encodeEmailAddress","mail","encode","ch","padEnd","targetLength","padString","msg","regexes","asteriskDashAndColon","emojis","Converter","converterOptions","langExtensions","outputModifiers","setConvFlavor","parsed","_parseExtension","legacyExtensionLoading","validExt","gOpt","_constructor","_dispatch","evtName","globals","ei","nText","makeHtml","gHtmlBlocks","gHtmlMdBlocks","gHtmlSpans","gUrls","gTitles","gDimensions","gListLevel","hashLinkCounts","converter","rsp","rgx","rTrimInputText","makeMarkdown","makeMd","HTMLParser","preList","pres","presPH","substitutePreCodeTags","mdDoc","addExtension","useExtension","extensionName","output","getMetadata","getMetadataFormat","_setMetadataPair","_setMetadataFormat","_setMetadataRaw","writeAnchorTag","linkText","linkId","m5","m6","wm","mentions","username","lnk","simpleURLRegex","simpleURLRegex2","delimUrlRegex","simpleMailRegex","delimMailRegex","replaceLink","leadingMagicChars","link","m2","m3","trailingPunctuation","trailingMagicChars","lnkTxt","lmc","tmc","replaceMail","bq","pre","codeblock","nextChar","doctype","doctypeParsed","charset","lang","meta","leadingText","numSpaces","emojiCode","delim","blockText","blockTags","repFunc","inside","opTagPos","rgx1","patLeft","patRight","subTexts","newSubText1","hashHTMLSpan","repText","num","$1","setextRegexH1","setextRegexH2","spanGamut","hID","headerId","hashBlock","matchFound","hLevel","atxStyle","customizedHeaderId","hText","span","writeImageTag","altText","gDims","parseInside","lead","processListItems","listStr","trimTrailing","isParagraphed","m4","taskbtn","checked","bulletStyle","otp","wm2","styleStartNumber","listType","parseConsecutiveLists","olRgx","ulRgx","counterRxg","parseCL","parseMetadataContents","wholematch","grafs","grafsOut","grafsOutIt","codeFlag","$2","re","replaceFunc","blankLines","parseCells","parseTable","rawTable","tableLines","sLine","rawHeaders","rawStyles","rawCells","headers","tableHeaderId","ii","tb","tblLgn","buildTable","charCodeToReplace","hasChildNodes","childrenLength","innerTxt","headerLevel","headerMark","listItems","listItemsLenght","listNum","listItemTxt","childrenLenght","spansOnly","tableArray","headings","headContent","allign","cols","cellContent","cellSpacesCount","strLen","getWindow","errors","_DEVEXTREME_BUNDLE_INITIALIZED","clientExporter","excelExporter","pdfExporter","VERSION","Class","DOMComponent","registerComponent","devices","animationFrame","initMobileViewport","getTimeZones","extendFromObject","triggerShownEvent","triggerHidingEvent","resetActiveElement","findBestMatches","createQueue","common","browser","inflector","readyCallbacks","resizeCallbacks","support","ajax","viewPort","hideTopOverlay","formatHelper","animationPresets","fx","TransitionExecutor","AnimationPresetCollection","GestureEmitter","templateRendered","setTemplateEngine","setErrorHandler","Store","ArrayStore","LocalStore","base64_encode","Guid","compileGetter","compileSetter","EndpointSelector","queryImpl","queryAdapters","normalizeBinaryCriterion","errorMessageFromXhr","aggregators","keysEqual","isDisjunctiveOperator","isConjunctiveOperator","processRequestResultLock","toComparable","multiLevelGroup","arrangeSortingInfo","normalizeDataSourceOptions","ODataStore","ODataContext","odata","keyConverters","EdmLiteral","ODataUtilsModule","serializePropName","serializeValue","_core","_interopRequireDefault","_error","_file_system_item","_object_provider","_remote_provider","_custom_provider","fileManagement","FileSystemError","FileSystemItem","ObjectFileSystemProvider","RemoteFileSystemProvider","CustomFileSystemProvider","viz","ExportController","DataProvider","_renderer","_deferred","_extend","_string","_type","_message","_list_light","_m_export","_m_core","_extends","DATAGRID_EXPORT_BUTTON_CLASS","DATAGRID_EXPORT_ICON","exportController","initialColumnWidthsByColumnIndex","selectedRowsOnly","_exportController","_initialColumnWidthsByColumnIndex","_selectedRowsOnly","_proto","_getGroupValue","rowType","groupIndex","summaryCells","groupColumn","_options","groupColumns","getDisplayValue","deserializeValue","caption","formatValue","getGroupRowSummaryText","summaryTexts","_correctCellIndex","cellIndex","_initOptions","_columnsController","getGroupColumns","_getColumns","_selectionOnly","_getSelectedItems","_getAllItems","isHeadersVisible","rtlEnabled","getHeaderStyles","getGroupRowStyle","getDefaultAlignment","getColumnStyles","getColumns","getStyles","_getTotalCellStyleId","getStyleId","getHeaderRowCount","isTotalCell","isGroupRow","getColumnsByAllRows","getColumnsWidths","getRowsCount","getGroupLevel","getCellType","customizeText","lookup","ready","when","fail","_convertFromGridGroupSummaryItems","gridGroupSummaryItems","getCellData","isExcelJS","cellSourceData","correctedCellIndex","gridColumn","itemValues","totalSummaryItemName","getSummaryText","groupSummaryItems","summaryItems","_value","displayValue","getCustomizeTextByDataType","correctCellIndex","isSummaryAlignByColumn","alignByColumn","getCellMerging","colspan","exportColspan","rowspan","getFrozenArea","_dataGridCore$ViewCon","_proto2","_getEmptyCell","_updateColumnWidth","columnsController","rowCount","getRowCount","currentHeaderRow","getVisibleColumns","columnWidthsByColumnIndex","_updateLockCount","columnWidths","_getColumnWidths","_headersView","_rowsView","_needColumnExporting","currentColspan","_calculateExportColspan","prepareItems","isBand","childColumns","getChildrenByBandColumn","childColumn","command","allowExporting","_getFooterSummaryItems","isTotal","estimatedItemsCount","summaryCell","itemsLength","_hasSummaryGroupFooters","groupItems","showInGroupFooter","_getItemsWithSummaryGroupFooters","sourceItems","beforeGroupFooterItems","groupFooterItems","_updateGroupValuesWithSummaryByColumn","summaryValues","_item$values","groupColumnCount","summaryItem","_processUnExportedItems","isCommand","skipFilter","dataController","getController","footerItems","totalItem","summaryTotalItems","loadAll","totalAggregates","_getSummaryCells","_calculateSummaryCells","_isDataColumn","selectionController","needLoadItemsOnExportingSelectedItems","loadSelectedItemsWithFilter","getSelectedRowsData","headersView","rowsView","getColumnWidths","getView","createAction","excludeValidators","callbackNames","getDataProvider","columnsLastRowVisibleColumns","exportTo","onExporting","getAction","publicMethods","selectionOnly","_isSelectedRows","selectionOnlyChanged","fire","_dataSource","remoteOperations","filtering","registerModule","allowExportSelectedData","exportAll","exportSelectedRows","controllers","extenders","callbackList","callBase","_updateEditButtons","editingButtonsUpdated","views","headerPanel","_getToolbarItems","exportButton","_getExportToolbarButton","_correctItemsPosition","_getExportToolbarItems","disabled","_needDisableExportButton","toolbarButtonOptions","location","locateInMenu","sortIndex","widgetOptions","hint","elementAttr","class","widget","showText","_widgetOptions","icon","displayExpr","dropDownOptions","_wrapperClassExternal","menuItemTemplate","_data","_index","_createComponent","exportOptions","formatType","exportAllIcon","itemA","itemB","_isExportButtonVisible","optionChanged","handled","_invalidate","isDataColumnsInvisible","hasVisibleDataColumns","hasUnsavedChanges","_editingController","hasChanges","_columnOptionChanged","checkChanges","optionNames","setToolbarItemDisabled","_common","_m_focus","_m_utils","focusModule","Base","_Base$inherit","FocusDataControllerExtender","changeRowExpand","isRowClick","isRowExpanded","keyboardNavigation","isKeyboardEnabled","_isFocusedRowInsideGroup","focusedRowKey","getRowIndexByKey","focusedRow","getVisibleRows","groups","getGroupDataSourceParameters","_getGroupPath","groupItem","groupPath","_expandGroupByPath","expandRow","_calculateGlobalRowIndexByGroupedData","_generateFilterByKey","deferred","isGroupKey","_grouping","_updatePagingOptions","_concatWithCombinedFilter","_calculateExpandedRowGlobalIndex","_calculateGlobalRowIndexByFlatData","groupOffset","groupFilter","createGroupFilter","scrollingMode","isVirtualScrolling","skip","take","groupInfo","totalOffset","equalByValue","dataOffset","groupContinuationCount","inherit","GroupingHeaderPanelExtender","_devices","_iterator","_size","_accessibility","_m_accessibility","_m_data_source_adapter","_m_grouping_collapsed","_m_grouping_expanded","DATAGRID_GROUP_PANEL_CLASS","DATAGRID_GROUP_PANEL_ITEM_CLASS","DATAGRID_GROUP_PANEL_LABEL_CLASS","GroupingDataSourceAdapterExtender","_initGroupingHelper","grouping","isAutoExpandAll","isFocusedRowEnabled","sorting","paging","GroupingHelper","totalItemsCount","requireTotalCount","totalCountCorrection","itemsCount","allowCollapseAll","isGroupItemCountable","findGroupInfo","isExpanded","_collapseExpandAll","isExpand","foreachGroups","parents","resetPagesCache","beginLoading","_lastLoadOptions","groupExpand","_changeRowExpandCore","always","endLoading","_hasGroupLevelsExpandState","_customizeRemoteOperations","operationTypes","storeLoadOptions","isCustomLoading","groupPaging","resetCache","_handleDataLoading","handleDataLoading","_handleDataLoaded","handleDataLoaded","_handleDataLoadedCore","handleDataLoadedCore","GroupingDataControllerExtender","_beforeProcessItems","_processGroupItems","_processItem","_processGroupItem","dataIndex","groupsCount","groupedColumns","collectContinuationItems","resultItems","isContinuation","calculateDisplayValue","reload","executeAction","collapseRow","onGroupingMenuItemClick","params","columnOption","dataField","clearGrouping","isGroupPanelVisible","groupPanelOptions","deviceType","_allowDragging","canDrag","allowColumnDragging","allowGrouping","_appendGroupingItem","_isGroupPanelVisible","isRendered","toolbarItem","$groupPanel","addClass","_updateGroupPanelContent","registerKeyboardAction","_handleActionKeyDown","onItemRendered","renderCompleted","updateToolbarDimensions","$target","groupColumnIndex","closest","columnIndex","is","showHeaderFilterMenu","_processGroupItemAction","_renderGroupPanelItems","each","_createGroupPanelItem","restoreFocus","$rootElement","$groupPanelItem","appendTo","setTabIndex","_requireReady","$toolbarElement","emptyPanelText","css","getColumnElements","$element","getBoundingRect","getContextMenuItems","$groupedColumnElement","targetElement","isColumnGrouped","groupingTexts","onItemClick","ungroup","ungroupAll","hasGroupedColumns","GroupingRowsViewExtender","_rowClick","expandMode","isGroupRowStateChanged","isExpandButtonClicked","_changeGroupRowState","allowCollapsing","columnHeadersViewExtender","groupByThisColumn","beginGroup","showWhenGrouped","autoExpandAll","groupContinuesMessage","groupContinuedMessage","groupPanel","_getExpandColumnOptions","cellTemplate","getExpandCellTemplate","_isProcessedItem","columnHeadersView","_errors","_ui","_m_grouping_core","getContinuationGroupCount","groupSize","foreachExpandedGroups","updateGroups","processGroupItems","expandedInfo","isLastGroupExpanded","lastCount","collapsedItems","updateGroupInfoItem","isLastGroupLevel","addGroupInfo","_isGroupExpanded","updateGroupInfos","loadedGroupCount","parentIndex","skips","isGroupExpanded","getTotalOffset","groupInfos","childrenTotalCount","applyContinuationToGroupItem","groupLevel","expandedItemIndex","takes","isLastExpandedItem","isFirstExpandedItem","lastExpandedItemSkip","isItemsTruncatedByTake","isContinuationOnNextPage","isDataDeferred","makeDataDeferred","loadGroupItems","currentGroupCount","currentGroupIndex","currentGroup","deferreds","requireGroupCount","langParams","loadResult","loadFromStore","expandedFilters","expandedPath","isLoadingAll","combineFilters","isPagingLocal","isLastLevelGroupItemsPagingLocal","sortLastLevelGroupItems","expandedItems","loadGroupTotalCount","isGrouping","extra","updateTotalItemsCount","isVirtualPaging","_isVirtualPaging","skipChildrenTotalCount","takeCorrection","parentTakeCorrection","continuationGroupCount","skipContinuationGroupCount","groupInfoCount","childrenGroupInfoCount","remoteGroupPaging","lastLoadOptions","remotePaging","isLastGroup","_processPaging","_processSkips","firstItem","_processTakes","lastItem","maxTakeCount","oldGroups","_group","handleGroup","groupCountQuery","groupOffsetQuery","createOffsetFilter","lastLevelOnly","_utils","filterElement","currentFilter","_class","findGroupInfoByKey","getGroupInfoIndexByOffset","groupsInfo","hash","leftIndex","rightIndex","middleIndex","ctor","dataSourceAdapter","_groupsInfo","_totalCountCorrection","calculateItemsCount","childrenAtFirst","foreachCollapsedGroups","updateOffsets","updateParentOffsets","foreachGroupsCore","callbackResults","executeCallback","callbackResult","currentParents","_updateGroupInfoOffsets","pathIndex","groupInfoData","cleanGroupsInfo","_query","_store_helper","correctSkipLoadOption","pathEquals","updateGroupOffsets","getGroupCount","loadTotalCount","skipCorrection","resultSkip","path1","path2","additionalGroupInfo","collapsedGroups","collapsedItemsCount","skipFirstItem","sorts","appendCollapsedPath","collapsedGroup","pathValue","_totalCountWasIncreasedByCollapsedItems","enumerate","groupedData","removeLastItemsCount","needRemoveFirstItem","offsetInfo","itemsCountCorrection","beginPageIndex","dataSourceItems","_eventsStrategy","fireEvent","depthFirstSearch","depth","normalizeAggregate","aggregate","skipEmptyValues","aggregator","_default","_groupLevel","_totalAggregates","_groupAggregates","groupAggregates","_totals","_calculateTotals","_calculateGroups","_aggregate","aggregates","_accumulate","_seed","_finalize","maxLevel","currentLevel","seedFn","stepFn","finalizeFn","innerNode","aggregateIndex","fin","finalize","_m_columns_controller","columnsControllerModule","commonColumnSettings","_m_modules","DataController","_m_data_controller","dataControllerModule","_getDataSourceAdapter","_getSpecificDataSourceOption","dataSourceAdapterType","extender","_m_editing","editingModule","editingController","_m_widget_base","_component_registrator","_browser","_themes","registerModulesOrder","DataGrid","_activeStateUnit","_getDefaultOptions","_setDeprecatedOptions","_deprecatedOptions","useKeyboard","since","alias","rowTemplate","_defaultOptionsRules","device","showRowLines","isMaterial","showColumnLines","headerFilter","useIcons","showCheckBoxesMode","webkit","loadingTimeout","loadPanel","animation","easing","_device","_init","logHeaderFilterDeprecatedWarningIfNeed","processModules","callModuleItemsMethod","_clean","_optionChanged","_dimensionChanged","updateDimensions","_visibilityChanged","_initMarkup","_renderContentImpl","_renderContent","deferRender","_getTemplate","templateName","_dispose","isReady","_controllers","_views","_m_adaptivity","adaptivityModule","ColumnChooserView","ColumnChooserController","_m_column_chooser","columnChooserModule","columnChooser","columnChooserView","_m_column_fixing","columnFixingModule","ColumnHeadersView","_m_column_headers","columnHeadersModule","TrackerView","TablePositionViewController","DraggingHeaderViewController","DraggingHeaderView","ColumnsSeparatorView","ColumnsResizerViewController","_m_columns_resizing_reordering","columnsResizingReorderingModule","draggingHeaderView","draggingHeader","columnsSeparatorView","tablePosition","columnsResizer","trackerView","_m_context_menu","contextMenuModule","_m_editing_cell_based","editingCellBasedModule","_m_editing_form_based","editingFormBasedModule","_m_editing_row_based","editingRowBasedModule","_m_editor_factory","editorFactoryModule","_m_error_handling","errorHandlingModule","_m_filter_builder","filterBuilderModule","_m_filter_panel","filterPanelModule","_m_filter_row","filterRowModule","_m_filter_sync","filterSyncModule","_m_grid_view","gridViewModule","_m_header_filter","headerFilterModule","HeaderPanel","_m_header_panel","headerPanelModule","_m_keyboard_navigation","keyboardNavigationModule","_m_master_detail","masterDetailModule","_m_pager","pagerModule","_m_row_dragging","rowDraggingModule","RowsView","_m_rows_view","rowsModule","_m_search","searchModule","_m_selection","selectionModule","_m_sorting","sortingModule","_m_state_storing","stateStoringModule","_m_validating","validatingModule","_m_virtual_columns","virtualColumnsModule","_m_virtual_scrolling","virtualScrollingModule","renderSummaryCell","FooterView","_m_columns_view","_m_aggregate_calculator","DATAGRID_GROUP_FOOTER_ROW_TYPE","DATAGRID_TOTAL_FOOTER_ROW_TYPE","$cell","$summaryItems","toggleClass","getSummaryCellOptions","getGroupAggregates","recalculateWhileEditing","ColumnsView","_getRows","_dataController","_getCellOptions","_renderCellContent","_renderCore","needUpdateScrollLeft","columnIndices","_updateContent","_renderTable","_updateScrollLeftPosition","$newTable","changeType","waitAsyncTemplates","$row","getTableElement","$newRow","_updateCells","changeTypes","visibleWidth","_handleDataChanged","repaintChangesOnly","totalColumnIndices","_createRow","getElementHeight","calculateAggregates","sortGroupsBySummary","SummaryDataSourceAdapterExtender","_summaryGetter","summaryGetter","_summary","sortByGroupsInfo","sortByGroups","groupedItems","toArray","forEachGroup","itemsPath","SummaryDataSourceAdapterClientExtender","calculator","insertedData","getInsertedData","applyAddedData","removedData","getRemovedData","applyRemovedData","updatedData","updatedItems","sortGroupsBySummaryCore","sortBy","thenBy","sortedItems","cachedExtra","cachedData","totalItems","calculateCustomSummary","sum","sumOtherColumn","minOtherColumn","maxOtherColumn","avg","avgOtherColumn","sortByGroupSummaryInfo","footerView","_isGroupFooterVisible","showInColumn","isGroupFooterVisible","summaryGroupItems","afterGroupColumnIndex","visibleColumns","prevColumn","calculateTargetColumnIndex","summaryCellsByColumns","summaryIndex","valueFormat","summaryType","getFormatByDataType","columnCaption","isEmptyObject","_updateItemsCore","_footerItems","oldSummaryCells","_prepareUnsavedDataSelector","getUpdatedData","_prepareAggregateSelector","_getAggregates","commonSkipEmptyValues","calculateCellValue","summaryProcess","totalValue","_addSortInfo","sortOrder","_findSummaryItem","summaryItemIndex","_getSummarySortByGroups","_createDataSourceAdapterCore","currentRemoteOperations","_getSummaryOptions","totalSummaryItems","getTotalSummaryValue","summaryItemName","_refreshSummary","isSaving","changesOnly","_addChange","_removeChange","cancelEditData","_renderCells","_renderGroupSummaryCells","_hasAlignByColumnSummaryItems","_getAlignByColumnCellCount","groupCellColSpan","alignByColumnCellCount","$groupCell","_renderGroupSummaryCellsCore","_renderCell","_getSummaryCellIndex","_getCellTemplate","_guid","_dom","_click","_events_engine","_form","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","addNamespace","toggleExpandAdaptiveDetailRow","setEmptyText","focusCellHandler","$nextCell","trigger","adaptiveColumnsControllerMembers","_isRowEditMode","_getEditMode","_isItemModified","cellOptions","getVisibleIndex","modifiedValues","_renderFormViewTemplate","focusAction","isEditing","rowData","isCellOrBatchEditMode","allowEditing","templateOptions","isElementInDom","_cellPrepared","renderFormTemplate","isItemEdited","_isItemEdited","showEditorAlways","renderFormEditorTemplate","watch","contents","removeClass","_isVisibleColumnsValid","_calculatePercentWidths","widths","percentWidths","_getItemPercentWidth","_isPercentWidth","_isColumnHidden","_hiddenColumns","hiddenColumn","_getAverageColumnsWidth","containerWidth","columnsCanFit","fixedColumnsWidth","columnsWithoutFixedWidthCount","_calculatePercentWidth","columnsCount","bestFitWidth","columnWidth","_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","defaultFormOptions","colCount","formOptions","customizeItem","updateForm","onContentReady","hasAdaptiveDetailRowExpanded","_contentReadyAction","repaint","updateHidingQueue","columnsHasHidingPriority","hideableColumns","_hidingColumnsQueue","hidingPriority","getHiddenColumns","getHidingColumnsQueue","addCommandColumn","adaptiveHidden","fixedPosition","columnsChanged","isAdaptiveVisible","isAdaptiveDetailRowExpanded","expandAdaptiveDetailRow","collapseAdaptiveDetailRow","updateCommandAdaptiveAriaLabel","getRowElement","setCommandAdaptiveAriaLabel","labelName","columnHidingEnabled","onAdaptiveDetailRowPreparing","adaptiveColumns","_adaptiveColumnsController","hidingColumnsQueueLength","hiddenColumnsLength","getDataCellElements","_getColumnIndexByElementCore","formItem","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","_Base","AdaptivityKeyboardNavigationExtender","isClick","_processNextCellInMasterDetail","isCellOrBatchMode","_isInsideEditForm","_isCellElement","_button","_tree_view","COLUMN_CHOOSER_BUTTON_CLASS","NOTOUCH_ACTION_CLASS","COLUMN_CHOOSER_ICON_NAME","COLUMN_CHOOSER_ITEM_CLASS","COLUMN_OPTIONS_USED_IN_ITEMS","columnChooserControllerMembers","renderShowColumnChooserButton","$columnChooserButton","columnChooserButtonClass","columnChooserEnabled","$showColumnChooserButton","showColumnChooser","integrationOptions","my","of","collision","boundaryOffset","columnChooserMembers","_resizeCore","_isWinDevice","real","win","_initializePopupContainer","columnChooserClass","columnChooserOptions","themeName","isGenericTheme","isGeneric","dxPopupOptions","shading","showCloseButton","dragEnabled","resizeEnabled","wrapperAttr","toolbarItems","onHidden","shortcut","_popupContainer","setPopupAttributes","isSelectMode","isBandColumnsUsed","setAria","role","$wrapper","$content","isDragMode","_columnChooserList","_updateItems","_renderTreeView","_c","treeViewConfig","dataStructure","activeStateEnabled","focusStateEnabled","hoverStateEnabled","itemTemplate","rootValue","searchEnabled","allowSearch","searchTimeout","timeout","searchEditorOptions","editorOptions","useNativeScrolling","_prepareSelectModeConfig","_prepareDragModeConfig","searchValue","scrollable","getScrollable","deferUpdate","noDataText","selectionOptions","isUpdatingSelection","selectByClick","selectNodesRecursive","recursive","allowSelectAll","addNodesToArray","flatNodesArray","allowHiding","selectItem","_isUpdatingColumnVisibility","chooserColumns","isRecursive","ownerBand","isRecursiveWithColumns","hasColumns","processItems","getChooserColumns","_updateItemsSelection","changedColumns","unselectItem","onlyVisibleChanged","optionName","$nodes","$node","isParentColumnVisible","isColumnHidden","isColumnChooserVisible","allowColumnHeaderDragging","$overlayContent","getOuterWidth","getOuterHeight","hideColumnChooser","popupContainer","_appendColumnChooserItem","hintText","onInitialized","_getToolbarButtonClass","allowMoveColumn","fromVisibleIndex","toVisibleIndex","sourceLocation","targetLocation","_translator","_wheel","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","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","isWidthsSynchronized","isColumnWidthChanged","isScrollbarVisible","_getClientHeight","boundingClientRectElement","$fixedRowElements","$contentElement","rowHeights","fixedRowHeights","_tableElement","heightTable","heightFixedTable","_findContentElement","rowHeight","fixedRowHeight","setScrollerSpacing","columnFixing","fix","unfix","leftPosition","rightPosition","_getRowVisibleColumns","columnFixingOptions","allowFixing","getFixedColumnElements","columnElements","$transparentColumnElement","$fixedColumnElements","_getWidths","_detachHoverEvents","_attachHoverEvents","attachHoverEvent","isHover","_getScrollDelay","hasResizeTimeout","contentClass","scrollDelay","_fixedScrollTimeout","$nearestScrollable","shouldScroll","nearestScrollableInstance","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","_dom_adapter","CELL_CONTENT_CLASS","HEADER_ROW_CLASS","VISIBILITY_HIDDEN_CLASS","TEXT_CONTENT_ALIGNMENT_CLASS_PREFIX","showColumnHeaders","cellHintEnabled","createCellContent","$cellContent","addCssClassesToCellContent","contentAlignment","getHeaderContentAlignment","$indicatorElements","_getIndicatorElements","$visibleIndicatorElements","indicatorCount","columnAlignment","_getColumnAlignment","sortIndicatorClassName","_getIndicatorClassName","sortIndexIndicatorClassName","$sortIndicator","$sortIndexIndicator","members","_isLegacyKeyboardNavigation","_getDefaultTemplate","needCellContent","_renderEmptyMessage","textEmpty","_getEmptyHeaderText","_textEmpty$split2","_x","_r","leftPart","rightPart","columnChooserTitle","$link","_getHeaderTemplate","headerCellTemplate","_processTemplate","resultTemplate","renderingTemplate","_isGroupingChanged","_setCellAriaAttributes","_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","isColumnOptionUsed","allowReordering","getColumnCount","sortingOptions","allowSorting","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","GROUP_LOCATION","GROUP_COMMAND_COLUMN_NAME","DETAIL_COMMAND_COLUMN_NAME","DEFAULT_COLUMN_OPTIONS","DATATYPE_OPERATIONS","COMMAND_EXPAND_CLASS","COLUMN_OPTION_REGEXP","COLUMN_INDEX_OPTIONS","COLUMN_CHOOSER_LOCATION","bufferedFilterValue","showInColumnChooser","datetime","grouped","ColumnsController","_config","_callbacks","_inflector","_object","_variable_wrapper","_abstract_store","_data_source","_date","_filtering","_const","_m_columns_controller_utils","_modules$Controller","allowResizing","_getFirstItems","getFirstItemsCore","childItems","_endUpdateCore","_skipProcessingColumnsChange","fireColumnsChanged","isApplyingUserState","_commandColumns","_columns","_isColumnsFromOptions","assignColumns","createColumnsFromOptions","applyUserState","_columnsUserState","addExpandColumn","_dataSourceApplied","applyDataSource","updateIndexes","_checkColumns","getColumnByPath","columnIndexes","getColumnByIndexes","needUpdateRequireResize","previousValue","fullName","_ignoreColumnOptionNames","_updateRequireResize","ignoreColumnOptionNames","reinit","columnOptionValue","columnOptionName","_requireResize","forceApplying","isDataSourceLoaded","_dataSourceColumnsCount","columnsFromDataSource","createColumnsFromDataSource","updateColumns","isAllDataTypesDefined","updateColumnDataTypes","updateColumnChanges","resetColumnsCache","_visibleColumns","_fixedColumns","_rowCount","resetBandColumnsCache","getUserState","isInitialized","isDataSourceApplied","getCommonSettings","groupingOptions","autoExpandGroup","checkSerializers","defaultCalculateCellValue","serializationFormat","_shouldReturnVisibleColumns","_compileVisibleColumns","_compileVisibleColumnsCore","isBase","_getFixedColumnsCore","getFilteringColumns","allowFiltering","allowHeaderFiltering","field","filterOperations","defaultFilterOperations","notFixedColumnCount","lastFixedPosition","_isColumnFixing","getFixedPosition","newColumn","isColumnFixing","_getExpandColumnsCore","getExpandColumns","expandColumn","expandColumns","firstGroupColumn","isFixedFirstGroupColumn","getBandColumnsCache","_bandColumnsCache","columnChildrenByIndex","columnParentByIndex","isPlain","_isColumnInGroupPanel","isInGroupPanel","bandColumnsCache","mergeColumns","processBandColumns","indexedColumns","_getIndexedColumns","_getVisibleColumnsFromIndexed","columnDigitsCount","digitsCount","positiveIndexedColumns","negativeIndexedColumns","parentBandColumns","getParentBandColumns","isDefaultCommandColumn","isCustomCommandColumn","isFixedToEnd","numberToString","rowspanGroupColumns","rowspanExpandColumns","_loop","orderEach","firstPositiveIndexColumn","columnsByFixing","columnsByVisibleIndex","processExpandColumns","getDataColumns","getInvisibleColumns","hiddenColumnsByBand","getAllColumns","columnChooserColumns","sortColumns","getColumnIndexByVisibleIndex","moveColumn","prevGroupIndex","targetGroupIndex","toIndex","updateColumnGroupIndexes","moveColumnToGroup","isColumnFixed","sortingMode","needResetSorting","isSortOrderValid","getSortDataSourceParameters","useLocalSelector","sortItem","calculateSortValue","displayField","sortingMethod","calculateGroupValue","updateNewLookupsOnly","valueMap","_updateColumnOptions","_reinitAfterLookupChanges","_previousColumns","originalCallback","calculateCallbackName","calculateCallback","displayValueMap","updateSerializers","getAlignmentByDataType","setFilterOperationsAsDefaultValues","defaultFilterOperation","dateSerializationFormat","firstItems","isColumnDataTypesUpdated","lookupDataType","valueDataType","isDateType","getValueDataType","getSerializationFormat","_customizeColumns","customizeColumns","updateSortingGrouping","sortParameters","groupParameters","filterParameters","_updateChanges","equalSortParameters","equalFilterParameters","getCombinedFilter","fromDataSource","isColumnsChanged","updateSortGroupParameterIndexes","indexParameterName","columnsGroupParameters","columnsSortParameters","groupingChanged","groupExpandingChanged","_hasUserState","updateFilter","remoteFiltering","filterValue","forceIsoDateParsing","selectedFilterOperation","columnCount","identifier","notFireEvent","findColumn","columnOptionCore","clearSorting","col","addColumn","createColumn","convertOwnerBandToColumnReference","childIndexes","commandColumn","handleStateField","setName","setUserState","isFilterPanelHidden","usedNames","hasEditableColumnWithoutName","duplicatedNames","isEditable","setCellValue","_createCalculatedColumnOptions","columnOptions","bandColumn","calculatedColumnOptions","captionize","skipDeserialization","defaultSetCellValue","parseValue","parsedValue","strictParseNumber","trueText","falseText","calculateFilterExpression","defaultCalculateFilterExpression","createFilterExpression","userDataType","defaultSelectedFilterOperation","valueExpr","updateValueMap","calculateValue","isWrapped","dataSourceOptions","paginate","resizedCallbacks","resized","defaultOptionName","alwaysGetRowIndex","onlyVisibleDirectChildren","column1","column2","isParentBandColumn","bandColumns","Controller","allowColumnReordering","allowColumnResizing","columnResizingMode","columnMinWidth","adaptColumnWidthByRatio","regenerateColumnsByVisibleItems","getColumnFullPath","fireOptionChanged","customizeTextForBooleanDataType","calculateColspan","updateSortOrderWhenGrouping","updateColumnVisibleIndexes","updateColumnSortIndexes","updateColumnIndexes","_array","_date_serialization","_number","globalColumnId","userStateColumnOptions","commonColumnOptions","deepExtendArraySafe","columnsOptions","checkUserStateColumn","callbackFilter","getDateSerializationFormat","deserializeDate","isRTL","valueText","fieldName","processedFields","normalizeIndexes","bandedColumns","userStateColumn","userStateColumnIndex","columnsUserState","columnCountById","resultColumns","allColumnsHaveState","userStateColumnIndexes","applyFieldsState","findUserStateColumn","initialIndex","hasAddedBands","columnUserState","columnChanges","_columnChanges","onColumnsChanging","lastSortOrder","sortMode","prevValue","fullOptionName","fullOptionPath","_notifyOptionChanged","initialColumn","optionGetter","functionsAsIs","maxDepth","optionSetter","dotCount","bandColumnID","invisibleParents","customColumnIndex","expandColumnsByType","commandColumns","needToExtend","commandColumnIndex","defaultCommandColumns","getCommandColumnIndex","columnType","identifierOptionName","sign","caption1","caption2","localeCompare","formattedValue","formattedValueWithDefaultFormat","_fx","_drag","_pointer","_swatch_container","COLUMNS_SEPARATOR_TRANSPARENT","DRAGGING_HEADER_CLASS","HEADERS_DRAG_ACTION_CLASS","TRACKER_CLASS","HEADERS_DROP_HIGHLIGHT_CLASS","BLOCK_SEPARATOR_CLASS","MODULE_NAMESPACE","View","_unsubscribeFromCallback","_positionChanged","_tablePositionController","positionChanged","_subscribeToCallback","SeparatorView","_renderSeparator","_isShown","_isTransparent","columnsSeparatorTransparent","moveByX","outerX","_parentElement","changeCursor","cursorName","BlockSeparatorView","loadingChanged","$parent","prepend","startAnimate","toOptions","stop","animate","_isDragging","isDragging","_getDraggingPanelByPos","_dragOptions","draggingPanels","draggingPanel","_resetTargetColumnOptions","_dropOptions","targetColumnIndex","targetColumnElement","isLast","posX","posY","_getVisibleIndexObject","_controller","_columnsResizerViewController","dragHeader","columnElement","sourceIndex","sourceColumnIndex","sourceColumnElement","getDocument","_onSelectStart","onselectstart","drag","whiteSpace","getSwatchContainer","moveHeader","eventData","isResizing","dragOptions","moveDeltaX","moveDeltaY","newLeft","newTop","dockHeader","controller","axisName","pointsByTarget","centerPosition","dock","dropHeader","drop","isNextColumnResizingMode","_isHeadersRowArea","headersRowHeight","_isRtlParentStyle","_$parentContainer","isNextColumnMode","isRtlParentStyle","firstPointColumnIndex","_moveSeparator","columnsSeparatorWidth","_columnsSeparatorView","parentOffset","parentOffsetLeft","_draggingHeaderView","_isResizing","_resizingInfo","_updateColumnsWidthIfNeeded","outerWidth","_targetPoint","_previousParentOffset","_isReadyResizing","_endResizing","_trackerView","_setupResizingInfo","currentHeader","nextHeader","startPosX","currentColumnWidth","nextColumnWidth","_startResizing","_scrollRight","loseFocus","_pointsByColumns","_unsubscribeFromEvents","_moveSeparatorHandler","_startResizingHandler","_endResizingHandler","_subscribeToEvents","needUpdate","contentWidth","resizingInfo","isPercentWidth","setColumnWidth","oldColumnWidth","_calculateCellWidths","nextMinWidth","nextCellWidth","needCorrectionNextCellWidth","allColumnsHaveWidth","totalPercent","lastColumnIndex","getLastResizableColumnIndex","_subscribesToCallbacks","_unsubscribeFromCallbacks","subscribe","_unsubscribes","generatePointsByColumnsHandler","generatePointsByColumnsScrollHandler","_scrollLeft","scrollChanged","previousScrollbarVisibility","previousTableHeight","scrollbarVisibility","updateFreeSpaceRowHeight","diffOffsetTop","columnsHeadersHeight","rowsHeight","columnsResizerController","_pagerView","targetPoint","blockSeparatorView","nameDraggingPanel","subscribeToEvents","$columnElement","currentTarget","_getSeparator","_blockSeparatorView","hideSeparators","blockSeparator","columnsSeparator","_animationColumnIndex","_headerPanelView","_columnChooserView","allowDrop","separator","hasTargetVisibleIndex","_needUpdateRowHeight","wordWrapEnabled","renderFocusOverlay","_element","_context_menu","VIEW_NAMES","onContextMenuPreparing","contextMenu","dxEvent","$targetRowElement","$targetCellElement","menuItems","getPublicElement","_contextMenuPrepared","contextMenuView","onPositioning","actionArgs","contextMenuInstance","getWidgetContainerClass","_array_compare","_array_store","_custom_store","_data_helper","changePaging","_getPagingOptionValue","_skipProcessingPagingChange","_isPaging","pageChanged","_ControllerWithDataMi","_cachedProcessedItems","_currentOperationTypes","_dataChangedHandler","_columnsChangedHandler","_handleColumnsChanged","_loadingChangedHandler","_handleLoadingChanged","_loadErrorHandler","_handleLoadError","_customizeStoreLoadOptionsHandler","_handleCustomizeStoreLoadOptions","_changingHandler","_handleChanging","_dataPushedHandler","_handleDataPushed","_isCustomLoading","_repaintChangesOnly","_changes","dataErrorOccurred","_refreshDataSource","callbackFlags","stopOnFalse","_handleDataSourceChange","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","isCustomStore","_createDataSourceAdapter","enabledRemoteOperations","cancelAll","loadError","customizeStoreLoadOptions","changing","_isSharedDataSource","byLoaded","pageCount","byLoadedRows","getDataByKeys","rowKeys","keyData","beginCustomLoading","messageText","endCustomLoading","customizeLoadResult","_disposeDataSource","repaintRows","rowIndexes","skipProcessingPagingChange","searchText","getCachedStoreData","isLastPageLoaded","_reload","_a2","hasKnownLastPage","cacheEnabled","highlightChanges","onDataErrorOccurred","_array_utils","cloneItems","calculateOperationTypes","isFullReload","fullReload","getPageDataFromCache","updatePaging","fillItemsFromCache","cacheItemsFromBegin","cacheItemBeginCount","cacheItemsFromEnd","cacheItemEndCount","cachedDataPartBegin","cachedDataPartEnd","fromEnd","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","optionValue","localPaging","needCache","needPageCache","needPagingCache","needStoreCache","mergeStoreLoadData","cacheItems","_loadPageSize","currentTotalCount","isDataLoading","_operationTypes","_optionCache","_scheduleCustomLoadCallbacks","_dataSourceTotalCount","dataSourceLoadOptions","_customLoadOptions","_scheduleLoadCallbacks","executeAsync","full","VIEWPORT_TOP_NEW_ROW_POSITION","VIEWPORT_BOTTOM_NEW_ROW_POSITION","TARGET_COMPONENT_NAME","ROW_SELECTED_CLASS","ROW_SELECTED","ROW_REMOVED","ROW_MODIFIED","ROW_INSERTED","ROW_CLASS","ROW_BASED_MODES","READONLY_CLASS","PAGE_TOP_NEW_ROW_POSITION","PAGE_BOTTOM_NEW_ROW_POSITION","MODES_WITH_DELAYED_FOCUS","METHOD_NAMES","LINK_CLASS","LAST_NEW_ROW_POSITION","INSERT_INDEX","FORM_BUTTONS_CONTAINER_CLASS","FOCUS_OVERLAY_CLASS","FOCUSABLE_ELEMENT_SELECTOR","FOCUSABLE_ELEMENT_CLASS","FIRST_NEW_ROW_POSITION","EDIT_ROW","EDIT_POPUP_FORM_CLASS","EDIT_POPUP_CLASS","EDIT_MODE_POPUP","EDIT_MODE_FORM","EDIT_MODE_CELL","EDIT_MODE_BATCH","EDIT_MODES","EDIT_LINK_CLASS","EDIT_ICON_CLASS","EDIT_FORM_ITEM_CLASS","EDIT_FORM_CLASS","EDIT_BUTTON_CLASS","EDITOR_CELL_CLASS","EDITORS_INPUT_SELECTOR","EDITING_POPUP_OPTION_NAME","EDITING_NAMESPACE","EDITING_FORM_OPTION_NAME","EDITING_EDITROWKEY_OPTION_NAME","EDITING_EDITCOLUMNNAME_OPTION_NAME","EDITING_CHANGES_OPTION_NAME","DROPDOWN_EDITOR_OVERLAY_CLASS","DEFAULT_START_EDIT_ACTION","DATA_ROW_CLASS","DATA_EDIT_DATA_UPDATE_TYPE","DATA_EDIT_DATA_REMOVE_TYPE","DATA_EDIT_DATA_INSERT_TYPE","COMMAND_EDIT_WITH_ICONS_CLASS","COMMAND_EDIT_CLASS","CELL_MODIFIED_CLASS","CELL_MODIFIED","CELL_FOCUS_DISABLED_CLASS","BUTTON_NAMES","BUTTON_CLASS","ADD_ROW_BUTTON_CLASS","ACTION_OPTION_NAMES","edit","undelete","isRenovatedScrollable","IS_RENOVATED_WIDGET","iconUtils","nodeInterop","_getRequireWildcardCache","newObj","hasPropertyDescriptor","_interopRequireWildcard","_dialog","_m_editing_utils","cacheBabelInterop","cacheNodeInterop","refreshMode","newRowPosition","allowAdding","allowUpdating","allowDeleting","selectTextOnEditStart","confirmDelete","saveAllChanges","saveRowChanges","cancelAllChanges","cancelRowChanges","addRow","undeleteRow","confirmDeleteMessage","confirmDeleteTitle","form","popup","startEditAction","editColumnName","useLegacyColumnButtonTemplate","_modules$ViewControll","EditingControllerImpl","_lastOperation","_deferreds","_saveEditorHandler","_updateEditColumn","_internalState","_optionsByReference","_getDefaultEditorTemplate","$editor","createEditor","parentType","isOnForm","_getNewRowPosition","getChanges","getInsertRowCount","resetChanges","_silentOption","_getInternalData","_addInternalData","internalData","_getOldData","oldData","editIndex","createObjectWithChanges","_fireDataErrorOccurred","$popupContent","getPopupContent","_needToCloseEditableCell","_isDefaultButtonVisible","_isButtonVisible","_isButtonDisabled","_getButtonConfig","buttonName","getButtonName","editingTexts","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","_setInsertAfterOrBeforeKey","allItems","visibleItemIndex","getBottomVisibleItemIndex","getTopVisibleItemIndex","insertKey","insertBeforeKey","maxInsertIndex","editItem","insertChange","_getPageIndexToInsertRow","lastPageIndex","_addRow","_this12","param","oldEditRowIndex","allowCancelEditing","_allowRowAdding","__KEY__","_addRowCore","_navigateToNewRow","initialOldEditRowIndex","editRowIndex","_this13","focusController","pageIndexToInsertRow","navigateToRowByKey","navigateToRow","_showAddedRow","_focusFirstEditableCellInRow","_beforeFocusElementInRow","_this14","keyboardController","$firstCell","_editCellInProgress","_delayedInputFocus","_isEditingStart","_setEditColumnNameByIndex","_setEditColumnName","_getEditColumn","_getColumnByName","editColumn","columnName","_resetEditIndices","_editRowFromOptionChangedCore","preventRendering","_needFocusEditor","_focusEditorIfNeed","_showEditPopup","repaintForm","_repaintEditPopup","_getEditPopupHiddenHandler","_this15","_getPopupEditFormTemplate","_getSaveButtonConfig","saveEditData","_getCancelButtonConfig","_removeInternalData","_updateInsertAfterOrBeforeKeys","_this16","removeChange","executeOperation","_this17","waitForDeferredOperations","_processCanceledEditingCell","_repaintEditCell","oldColumn","beforeFocusCallback","callBeforeFocusCallbackAlways","_this18","inputFocus","$focusableElement","focusAndSelectElement","_beforeFocusCallback","ios","android","$editCell","editColumnIndex","_checkAndDeleteRow","_this19","showDialogTitle","confirm","confirmResult","_deleteRowCore","_afterDeleteRow","_fireOnSaving","_this20","onSavingParams","_executeEditingAction","_processChanges","dataChanges","_this21","changeCopy","_beforeSaveEditData","doneDeferred","_processRemoveIfError","_processRemove","_processRemoveCore","processIfBatch","_processSaveEditDataResult","hasSavedData","changesLength","_fireSaveEditDataEvents","_this22","_this23","_resolveAfterSave","_saving","_saveEditDataInner","_this24","_endSaving","_cancelSaving","_beforeEndSaving","_refreshDataAfterSave","_this25","isFullRefresh","isEditColumnVisible","_isEditColumnVisible","_isEditButtonDisabled","isButtonDisabled","_applyModified","_cancelEditDataCore","_afterCancelEditData","_hideEditPopup","hasEditData","isPageChanged","skipCurrentRow","addDeferred","_this26","_prepareChange","_this27","_updateRowValues","updateFieldValue","forceUpdateRow","_this28","_focusPreviousEditingCellIfNeed","_updateEditRow","_needUpdateRow","isCustomSetCellValue","isCustomCalculateCellValue","changeOptions","_applyChangeCore","_updateEditRowCore","_updateRowImmediately","_updateRowWithDelay","_validateEditFormAfterUpdate","_this29","elementContainer","_editForm","getActiveElement","focusedElement","selectionRange","getSelectionRange","$focusedItem","selectionStart","setSelectionRange","changeParams","editCellTemplate","editingStartOptions","_this30","isRowMode","isRowEditing","isCellEditing","getEditFormTemplate","$button","iconType","getImageSourceType","getImageContainer","localizationName","getButtonLocalizationNames","renderAsync","prepareButtonItem","_this31","titleButtonTextByClassNames","revert","prepareEditButtons","buttonItems","highlightDataCell","shouldHighlightCell","_allowEditAction","allowEditAction","isNewRowInEditMode","visibleEditRowIndex","_isRowDeleteAllowed","_updateEditItem","_this32","dataSourceKeys","newChanges","$cellElements","cellElement","isRowRemoved","isRowInserted","isRowModified","_getColumnIndexByElement","$tableElements","_editCellByClick","isEditedCell","isShowEditorAlways","editCell","withoutSaveEditData","closeEditCell","_rowPointerDown","_this33","_pointerDownTimeout","isEditForm","rowElement","_rowDblClick","isCommandCell","isEditableCell","isEditingCell","isEditingOrShowEditorAlwaysDataCell","_editCellPrepared","_formItemPrepared","cellValue","getCellOptions","_this34","excludedOptions","_hold","CellBasedEditingControllerExtender","$pointerDownTarget","needCreateHandlers","targetComponent","isEditorPopup","checkEditorPopup","isAnotherComponent","isAddRowButton","isFocusOverlay","isCellEditMode","$dropDownEditorOverlay","$componentElement","isBatchEditMode","$targetCell","isEditRowKeyDefined","isEditColumnNameDefined","_handleEditColumnNameChange","oldColumnIndex","_editCellFromOptionChanged","_editCell","coreResult","_editCellCore","isEditByOptionChanged","_this$_getNormalizedE","_getNormalizedEditCellOptions","_beforeEditCell","_prepareEditCell","isError","_closeEditCellCore","_resetModifiedClassCells","needResetIndexes","isBatchMode","isUpdateInCellMode","_ui2","FormBasedEditingControllerExtender","_updateEditFormDeferred","isPopupEditMode","isFormEditMode","firstFormItem","_firstFormItem","$editFormElements","_getEditFormEditorVisibleIndex","hasEditRow","onlyInsertChanges","popupVisible","_editPopup","_$popupContent","editForm","renderDelayedTemplates","isMobileDevice","editPopupClass","popupOptions","showTitle","fullScreen","contentTemplate","$popupContainer","not","_addWatchMethod","formTemplate","isPopupForm","defaultAnimation","_handleFormOptionChange","_handlePopupOptionChange","editPopup","popupOptionName","detailCellOptions","formTemplateOptions","isReadOnly","editorType","getEditorType","labelMark","labelMode","getItemID","getFormEditorTemplate","$editorElement","validator","validatorOptions","dxValidator","validationRules","validationGroup","dataGetter","getEditFormOptions","detailOptions","editFormOptions","_getValidationGroupsInForm","userCustomizeItem","editFormItemClass","isCustomEditorType","forEachFormItems","itemId","isRequired","rule","itemVisible","baseEditFormOptions","$formContainer","$buttonsContainer","getEditForm","_getVisibleColumnIndex","_isFormItem","isDetailRow","isPopupEditing","RowBasedEditingControllerExtender","hasUpdateChanges","isVisibleInRowEditMode","$editingCell","_update","isEditorCell","addRowToNode","tabs","EditorFactory","_position2","FOCUSED_ELEMENT_CLASS","UPDATE_FOCUS_EVENTS","DX_HIDDEN","_ViewControllerWithMi","_getFocusedElement","$dataGridElement","rowSelector","focusedElementSelector","elementIsInsideGrid","_updateFocusCore","$focus","isHideBorder","$focusCell","_updateFocus","_isFocusOverlay","_updateFocusTimeoutID","_updateFocusOverlaySize","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","errorRowEnabled","errorHandling","_createErrorRow","$errorRow","$closeButton","$errorMessage","_renderErrorMessage","errorRowIndex","removeErrorRow","fireContentReadyAction","$message","renderErrorRow","$errorMessageElement","$firstErrorRow","viewElement","insertAfter","$tbody","rowElements","resizingController","$columnHeaders","$rowsViewElement","errorHandlingController","_filter_builder","_scroll_view","filterBuilder","groupOperationDescriptions","and","notAnd","notOr","filterOperationDescriptions","between","notEqual","lessThan","lessThanOrEqual","greaterThan","greaterThanOrEqual","notContains","isNotBlank","filterBuilderPopup","filterBuilderView","_updatePopupOptions","_initPopup","_filterBuilderPopup","_disposePopup","_filterBuilder","_getPopupContentTemplate","onOptionChanged","_getPopupToolbarItems","$filterBuilderContainer","fields","customOperations","getCustomFilterOperations","baseOperation","noneOf","baseFilter","getFullText","itemText","parentText","dataTypes","isCondition","isGroup","filterExpression","getFilterExpression","_filterExpression","editorTemplate","conditionInfo","div","renderValueText","showHeaderFilterMenuBase","hideHeaderFilterMenu","closeEditor","isFilterBuilder","fieldInfo","itemsDeferred","_values","getSelectedItemsTexts","selectedItemsTexts","getHeaderItemText","_check_box","FILTER_PANEL_CLASS","FILTER_PANEL_TEXT_CLASS","FILTER_PANEL_CHECKBOX_CLASS","FILTER_PANEL_CLEAR_FILTER_CLASS","FILTER_PANEL_LEFT_CONTAINER","filterPanel","filterEnabled","createFilter","filterEnabledHint","filterPanelView","$leftContainer","_renderFilterBuilderText","$filterElement","_getFilterElement","$textElement","_getTextElement","_filterValueBuffer","$checkElement","_getCheckElement","$removeButtonElement","_getRemoveButtonElement","onValueChanged","_showFilterBuilder","_addTabIndexToElement","filterText","getFilterText","customText","clearFilterValue","tabindex","_getConditionText","fieldText","operationText","_getValueMaskedText","_getValueText","customOperation","hasCustomOperation","getCurrentLookupValueText","getCurrentValueText","getConditionText","getCustomOperation","getField","getCaptionByOperation","getGroupText","isInnerGroup","textParts","groupValue","getGroupValue","groupText","_editor","_menu","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","hideOnOutsideClick","$prevElement","onShown","_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","selectionMode","showFirstSubmenuMode","hideSubmenuOnMouseLeave","selectable","_getFilterOperationMenuItems","columnSelectedFilterOperation","notFocusEditor","isOnClickMode","onSubmenuShowing","_isEditorFocused","onSubmenuHiding","_hideSubmenuAfterTimeout","prependTo","filterRowOptions","operationDescriptions","availableFilterOperations","descriptionName","resetOperationText","updateLookupDataSource","filterChanged","applyFilterViewController","editorDataSource","__dataGridSourceFilter","DataControllerFilterRowExtender","skipCalculateColumnFilters","filters","shouldSkip","getCurrentColumnForFiltering","syncLookupFilterValues","filterRow","showOperationChooser","applyFilterText","betweenStartText","betweenEndText","_getHeaderPanel","_headerPanel","enableApplyButton","removeHighLights","columnHeadersViewElement","_currentColumn","_needUpdateLookupDataSource","_prepareFilterItem","filterItem","_isShowApplyFilterButton","_m_filter_custom_operations","FILTER_ROW_OPERATIONS","FILTER_TYPES_INCLUDE","FILTER_TYPES_EXCLUDE","getColumnIdentifier","getEmptyFilterValues","canSyncHeaderFilterWithFilterRow","getConditionFromFilterRow","getConditionFromHeaderFilter","updateHeaderFilterCondition","updateFilterRowCondition","filterSyncEnabled","filterSync","getGroupInterval","getDefaultOperation","selectedOperation","headerFilterCondition","hasArrayValue","condition","syncFilterValue","_skipSyncColumnOptions","filterConditions","getMatchedConditions","filterCondition","_initSync","checkForErrors","filteringColumns","getFilterValueFromColumns","isFilterSyncActive","_getSyncFilterRow","syncFilters","removeFieldConditionsFromFilter","_getSyncHeaderFilter","addItem","getNormalizedFilter","syncFilterRow","syncHeaderFilter","filterBuilderCustomOperations","filterSyncEnabledValue","filterSyncController","getCurrentColumn","calculatedFilterValue","_parseColumnPropertyName","matched","_isHeaderFilterEmpty","filterHasField","_needUpdateFilterIndicators","_updateHeaderFilterIndicators","_m_focus_utils","ROW_FOCUSED_CLASS","FOCUSED_ROW_SELECTOR","focusedRowEnabled","autoNavigateToFocusedRow","focusedRowIndex","focusedColumnIndex","_keyboardController","_focusRowByIndex","_fireFocusedRowChanged","_focusRowByKey","isAutoNavigateToFocusedRow","_resetFocusedRow","_focusRowByIndexCore","setKeyByIndex","_isValidFocusedRowIndex","lastItemIndex","_getLastItemIndex","isRowFocused","_isLocalRowIndex","_isVirtualScrolling","virtualItems","virtualItemsCount","virtualItemsBegin","begin","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","sortInfo","isBoolean","_UiGridCoreFocusUtils","UiGridCoreFocusUtils","getSortFilterValue","getSelector","rawValue","safeValue","booleanFilter","sortFilter","filterOperation","keyPart","visibleRows","_checkRowKeys","updateFocusElementTabIndex","_setFocusedRowElementTabIndex","_findRowElementForTabIndex","_scrollToFocusOnResize","setFocusedCellPosition","getRow","getScrollElementPosition","scrollHandler","isDate","invertFilterExpression","_m_header_filter_core","DATE_INTERVAL_FORMATS","quarter","ungroupUTCDates","dateParts","dates","isMonthPart","UTC","convertDataFromUTCToLocal","getHeaderFilterGroupParameters","queryByOptions","HeaderFilterController","_headerFilterView","_updateSelectedState","isExclude","updateHeaderFilterItemSelectionState","_normalizeGroupItem","valueSelector","displaySelector","headerFilterOptions","groupInterval","getDisplayFormat","firstValueText","secondValue","secondValueText","emptyValue","remoteGrouping","headerFilterDataSource","isLookup","normalizeLookupDataSource","cutoffLevel","_filter","origPostProcess","postProcess","isGroupPanel","onShowing","dxResizableInstance","dxResizable","headerFilterByColumn","ColumnHeadersViewHeaderFilterExtender","headerFilterMixin","$headerFilterIndicator","_subscribeToIndicatorEvent","saveFocusedElementInfo","HeaderPanelHeaderFilterExtender","$item","ok","headerFilterView","HeaderFilterView","filterValuesMatch","isExcludeFilter","resetChildrenItemSelection","HEADER_FILTER_CLASS","HEADER_FILTER_MENU_CLASS","getSelectAllCheckBox","listComponent","dxCheckBox","updateListSelectAllState","selectAllCheckBox","getPopupContainer","getListComponent","_listComponent","applyHeaderFilter","fillSelectedItemKeys","_getNode","hasChildrenWithSelection","_hasChildren","updatePopup","headerFilterMenu","_cleanPopupContent","_getSearchExpr","useDefaultSearchExpr","filterSearchExpr","searchExpr","_normalizeHeaderFilterOptions","hideOnParentScroll","_initializeListContainer","needShowSelectAllCheckbox","searchMode","pageLoadMode","showSelectionControls","_selectedItemsUpdating","filterValueIndex","generalHeaderFilter","specificHeaderFilter","generalDeprecated","specificDeprecated","indicatorLabel","requireReady","_toolbar","TOOLBAR_BUTTON_CLASS","DEFAULT_TOOLBAR_ITEM_NAMES","_getButtonContainer","specificClass","secondClass","_getToolbarOptions","userToolbarOptions","toolbarOptions","itemRenderedCallback","userItems","_normalizeToolbarItems","defaultItems","defaultProps","defaultButtonsByNames","normalizedItems","_toolbarOptions","$headerPanel","$toolbar","getHeaderPanel","getPathParts","normalizedItem","_updateDimensionsCore","WIDGET_CLASS","VIRTUAL_ROW_CLASS","ROWS_VIEW_CLASS","REVERT_BUTTON_CLASS","NON_FOCUSABLE_ELEMENTS_SELECTOR","MASTER_DETAIL_ROW_CLASS","MASTER_DETAIL_CELL_CLASS","INTERACTIVE_ELEMENTS_SELECTOR","GROUP_FOOTER_CLASS","FUNCTIONAL_KEYS","FREESPACE_ROW_CLASS","FOCUS_TYPE_ROW","FOCUS_TYPE_CELL","FOCUS_STATE_CLASS","FAST_EDITING_DELETE_KEY","DATEBOX_WIDGET_NAME","COMMAND_SELECT_CLASS","COMMAND_CELL_SELECTOR","ariaColIndex","dragCell","GridCoreKeyboardNavigationDom","isDragCell","getCellToFocus","KeyboardNavigationController","_short","accessibility","_selectors","_memoize","_const2","_m_keyboard_navigation_utils","_selectionController","_editorFactory","_focusController","_memoFireFocusedCellChanged","memoize","compareType","_memoFireFocusedRowChanged","subscribeVisibilityChange","_updateFocusTimeout","_fastEditingStarted","_canceledCellPosition","setupFocusedView","_isNeedScroll","_focusedView","_initViewHandlers","_initDocumentHandlers","rowsViewFocusHandler","isRelatedTargetInRowsView","relatedTarget","isLink","_isEventInCurrentGrid","$focusedCell","_getFocusedCell","isElementDefined","needSetFocusPosition","$rowsView","isFocusedViewCorrect","isAppend","isFocusedElementCorrect","_initPointerEventHandler","_initKeyDownHandler","_setRowsViewAttributes","_isNeedFocus","_isHiddenFocus","_documentClickHandler","isCurrentRowsViewClick","isEditorOverlay","isColumnResizing","_resetFocusedCell","_resetFocusedView","_getRowsViewElement","_applyTabIndexToElement","pointerEventName","isMobile","clickSelector","_pointerEventAction","_pointerEventHandler","_keyDownListener","_keyDownHandler","unsubscribeVisibilityChange","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","isDataRow","_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","_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","one","isRenderView","_hasSkipRow","$focusedElementInsideCell","isFocusedElementDefined","_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","$widgetContainer","fireRowEvent","newColumnIndex","prevColumnIndex","localRowIndex","$newFocusedRow","prevFocusedRowIndex","$editForm","$masterDetailCell","_$cell","_processCanceledEditCellPosition","isCanceled","updateFocusedRowIndex","lastVisibleIndex","useLegacyKeyboardNavigation","enterKeyAction","editOnKeyPress","_triggerPointerDownEventHandler","pageSizeChanged","_updateFocusedCellTabIndex","cellElementsLength","updateCellTabIndex","isMasterDetailCell","isValidCell","_renderFocusByChange","shouldPreventScroll","editorInstance","_getEditorInstance","_handleEditingNavigationMode","originalKeyHandler","_supportedKeys","registerKeyHandler","_input","getWidgetInstance","keyboardNavigationController","_keyboardNavigationController","getRowIndexCorrection","focusedRowIndexCorrection","isCellInHeaderRow","DATAGRID_GROUP_FOOTER_CLASS","emptyCell","defaultSetter","_window","ModuleItem","_actions","_actionConfigs","syncStrategy","optionCache","_setOptionWithoutOptionChange","localize","_createAction","_createActionByOption","componentName","containerName","getViews","_isReady","_requireRender","_$parent","requireResize","hasWindow","MODULES_ORDER_MAX_INDEX","getExtendedTypes","moduleExtenders","extendTypes","currentType","classType","componentInstance","componentClass","modulesOrder","createModuleItems","moduleTypes","moduleItems","moduleType","moduleItem","registerPublicMethods","module1","module2","orderIndex1","orderIndex2","rootControllerTypes","rootViewTypes","moduleName","_ref3$controllers","_ref3$views","subclassOf","_ref6","_ref7","_ref8","controllerTypes","_ref9","viewTypes","_ref10","moduleNames","unregisterModule","grep","_utils2","_format_helper","_load_panel","SCROLLING_MODE_VIRTUAL","SCROLLING_MODE_OPTION","DATE_INTERVAL_SELECTORS","minute","getIntervalSelector","formatObject","displayFormat","editorData","dxComponents","widgetName","renderNoDataText","noDataClass","noDataElement","_getNoDataText","renderLoadPanel","loadPanelOptions","_loadPanel","calculateLoadPanelPosition","$window","resultFilter","changeNames","changesWithChangeNamesCount","filter1","filter2","proxyMethod","defaultResult","sortParameters1","sortParameters2","ignoreIsExpanded","selector1","selector2","notCreatePoint","prevItemOffset","selectionEnd","isSelectTextOnEditingStart","_loadItemDeferred","hasResizableColumns","rowRenderingMode","isAppendMode","getPixelRatio","devicePixelRatio","getContentHeightLimit","lookupDataSourceOptions","cachedUniqueRelevantItems","previousTake","previousSkip","hasGroupPaging","hasLookupOptimization","sliceItems","normalizeGroupingLoadOptions","flatMap","logWarning","_logDeprecatedOptionWarning","specificName","logSpecificDeprecatedWarningIfNeed","initMasterDetail","masterDetail","_expandedItems","_isExpandAll","expandIndex","detailColumnIndex","isEnabledChanged","isAutoExpandAllChanged","_updateParentDataGrids","$masterDetailRow","_updateMasterDataGrid","$detailElement","masterRowOptions","masterDataGrid","_updateMasterDataGridCore","_updateFixedMasterDetailGrids","masterRowIndex","$tables","rowsNotEqual","tablesNotEqual","detailElementWidth","isDetailHorizontalScrollCanBeShown","isDetailGridWidthChanged","$rowsTable","_isDetailRow","_needRenderCell","_pager","getPageIndex","pager","showPageSizeSelector","allowedPageSizes","pagerView","pagerOptions","maxPagesCount","showPageSizes","displayMode","pagesNavigatorVisible","showNavigationButtons","pageSizes","getPageSizes","pageIndexChanged","infoText","getPager","_pageSizes","pagerVisible","scrolling","isPager","isPaging","isDataSource","isScrolling","CLASSES","cellFocusDisabled","handleIcon","commandDrag","sortableWithoutHandle","GridCoreRowDraggingDom","createHandleTemplateFunc","_sortable","rowDragging","showDragIcons","dropFeedbackMode","allowDropInsideItem","_updateHandleColumn","_allowReordering","isHandleColumnVisible","_getHandleTemplate","sortableName","sortableFixedName","currentSortableName","anotherSortableName","togglePointerEventsStyle","cursorOffset","rowsViewOffset","onDraggableElementShown","dragTemplate","gridInstance","dragElement","_synchronizeScrollLeftPosition","_getDraggableRowTemplate","handle","onDragEnter","onDragLeave","onAdd","_updateSortable","_sortableFixed","sortable","_getDraggableGridOptions","gridOptions","showBorders","useNative","showScrollbar","columnAutoWidth","onRowPrepared","$dataGridContainer","SEARCH_PANEL_CLASS","SEARCH_TEXT_CLASS","getSearchPanelOptions","searchPanel","highlightSearchText","highlightCaseSensitive","searchVisibleColumnsOnly","onQueryDone","valueGetter","_prepareSearchItem","searchPanelOptions","$search","$searchPanel","dxTextBox","_searchParams","_getFormattedSearchText","_getStringNormalizer","isCaseSensitive","_findHighlightingTextNodes","$items","stringNormalizer","normalizedSearchText","resultTextNodes","$contents","_highlightSearchTextCore","$textNode","$searchTextSpan","firstContentElement","_highlightSearchText","isEquals","_highlightTimer","SelectionController","_support","_selection","ROW_SELECTION_CLASS","SELECT_CHECKBOX_CLASS","SHOW_CHECKBOXES_MODE","SELECTION_MODE","processLongTap","isSelectionWithCheckboxes","stopSelectionWithCheckboxes","selectionCellTemplate","isRowSelected","renderSelectCheckBoxContainer","selectionHeaderTemplate","_renderSelectAllCheckBox","_attachSelectAllCheckBoxClickEvent","selectAllMode","_selectionMode","_isSelectionWithCheckboxes","_createSelection","_updateSelectColumn","_deselectRemovedOnPush","_updateSelectedOnPush","isDeferredSelection","removedKeys","isSelected","selectedKey","deselectRows","updateChanges","_getSelectionConfig","virtualPaging","legacyScrollingMode","maxFilterLengthInRequest","selectionFilter","ignoreDisabledItems","allowLoadByRange","hasGroupColumns","dataFields","plainItems","isItemSelected","isSelectableItem","getItemData","getLoadOptions","loadItemIndex","focusedItemIndex","shiftItemIndex","minIndex","maxIndex","_updateSelectedItems","isSelectColumnVisible","_fireSelectionChanged","selectedRowKeys","selectionChanged","_updateCheckboxesState","isDeferredMode","selectedItemKeys","removedItemKeys","keyIndex","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","isEmptyData","groupElement","_attachCheckBoxClickEvent","_renderSelectCheckBox","tableElements","_updateCheckboxesClass","touch","isSelectionDisabled","isCheckBoxesHidden","_m_sorting_mixin","showSortIndexes","$cellElementFromEvent","editingMode","SORT_CLASS","SORT_NONE_CLASS","SORT_INDEX_ICON_CLASS","ariaSortState","isSortingAllowed","_m_state_storing_core","stateStoring","customLoad","customSave","savingTimeout","StateStoringController","stateLoaded","setLoading","_fireContentReadyAction","updateState","_initialPageSize","_initialFilterValue","getDataState","exportSelectionOnly","isStateLoading","applyState","oldStateHash","newStateHash","isVirtualScrollingMode","hasHeight","hasFilterState","stateStoringController","_restoreStateTimeoutID","_storage","getStorage","getUniqueStorageKey","DATE_REGEX","parseDates","sessionStorage","localStorage","_loadState","_saveState","setItem","_windowUnloadHandler","_savingTimeoutID","_load_indicator","_validation_engine","_validator","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","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","adapter","applyValidationResults","onDisposing","originBypass","bypass","validationRequestsCallbacks","flag","getDisableApplyValidationResults","isCurrentValidatorProcessing","validateCell","cellParams","stateRestored","currentCellValue","removeCellValidationResult","isInvalidCell","getCellValidator","groupConfig","setCellValidationStatus","validationStatus","validatingController","_updateRowAndPageIndices","startInsertIndex","isNotCanceled","isInsert","addInValidItem","isInserted","_createInvisibleColumnValidators","invisibleColumns","invisibleColumnValidators","disposeValidators","isFullValid","_showErrorRow","scrollToElement","shouldResetValidationState","validationState","resetRowAndPageIndices","currentValidator","cellModified","isValidated","isCellInvalid","_showRevertButton","$tooltipElement","_revertTooltip","$overlayContainer","revertTooltipClass","tooltipOptions","propagateOutsideClick","$buttonElement","buttonOptions","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","_getValidationStatus","oldValidationStatus","newValidationStatus","rowIsModified","cellIsMarkedAsInvalid","hasValidationRules","rowEditStateChanged","cellValidationStateChanged","$freeSpaceRowElement","$freeSpaceRowElements","$tooltipContent","_getFreeSpaceRowElements","_restoreErrorRow","contentTable","_element_data","iteratorUtils","_style","_double_click","_remove","_m_column_state_mixin","SCROLL_CONTAINER_CLASS","DETAIL_ROW_CLASS","CELL_HINT_VISIBLE","appendElementTemplate","getWidthStyle","setCellWidth","removeHandler","templateDeferred","_viewWithColumnStateM","_createScrollableOptions","scrollingOptions","bounceEnabled","useSimulatedScrollbar","rowObject","_isAltRow","safari","isFilterRow","isDataRowWithTemplate","isEditorShown","isHeaderRowWithTemplate","isGroupCellWithTemplate","$fieldItemContent","delegateTarget","resultOptions","eventType","formItemOptions","touchTarget","touchCurrentTarget","timeoutId","clearTouchTargets","subscribeToRowEvents","colgroupElement","delayedTemplates","_delayedTemplates","syncTemplates","async","asyncTemplates","_renderDelayedTemplatesCore","_renderDelayedTemplatesCoreAsync","templates","templateTimeout","_templateTimeouts","isAsync","templateParameters","needWaitAsyncTemplates","isRenderer","renderedTemplate","templateID","_templatesCache","onRendered","isDisposed","columnAsync","_templateDeferreds","removeEvent","_getBodies","_needWrapRow","_wrapRowIfNeed","_appendRow","appendTemplate","$root","$wrappedRow","_rowPrepared","$newRowElement","$newCells","cellUpdatedClass","$newCell","newElement","oldAttributes","newAttributes","copyAttributes","renderOptions","watchers","updateValueFunc","updateRowFunc","watcher","keepRow","afterExecute","_removeContent","nativeScrolling","forceWaiting","waitTemplatesRecursion","$newTableElement","clientRect","isRowVisible","$cols","columnVisibleIndex","_getRowElement","getCellElement","tBodies","BORDERS_CLASS","GRIDBASE_CONTAINER_CLASS","calculateFreeWidth","_getTotalWidth","resizingControllerMembers","_initPostRenderHandlers","_refreshSizesHandler","_refreshSizes","resizeDeferred","_waitAsyncTemplates","_setScrollerSpacing","_setAriaLabel","_getWidgetAriaLabel","_getBestFitWidths","headersTableElement","_setVisibleWidths","_toggleBestFitModeForView","$rowsTables","$viewTables","$tableBody","$viewTable","$rowsFixedTable","idx","_footerView","_toggleContentMinHeight","_synchronizeColumns","resetBestFitMode","needBestFit","hasMinWidth","isColumnWidthsCorrected","_maxWidth","expandColumnWidth","isPixelWidth","hiddenFocus","_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","_checkSize","prevResult","_resizeDeferred","_resetGroupElementHeight","_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","defaultCellTemplate","isDataTextEmpty","showIndicator","indicatorSrc","showPane","dataRowTemplate","rowAlternationEnabled","twoWayBindingEnabled","_ColumnsView","_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","_getColumnsCountBeforeGroups","columnsCountBeforeGroups","groupColumnAlignment","_renderDataRowByTemplate","resizeCompletedHandler","scrollableInstance","_lastColumnWidths","groupingTextsOptions","_getDevicePixelRatio","freeSpaceRowElements","isFreeSpaceRowVisible","elementHeightWithoutScrollbar","showFreeSpaceRow","resultHeight","_getHeightCorrection","_updateLastRowBorder","freeSpaceRowCount","isZoomedWebkit","isChromeLatest","chrome","hasExtraBorderTop","_fireColumnResizedCallbacks","_editorFactoryController","forceUpdateScrollPosition","scrollableContainer","lastColumnWidths","isRenovated","_updateHorizontalScrollPosition","maxHorizontalScrollOffset","dxScrollable","_height","visibilityOptions","_hideLoadingTimeoutID","groupCellIndex","_getBoundaryVisibleItemIndex","isTop","isFloor","prevOffset","viewportBoundary","contentElementOffsetTop","getTopVisibleRowData","getWidths","_m_virtual_columns_core","columnRenderingMode","columnPageSize","columnRenderingThreshold","_beginPageIndex","_endPageIndex","_virtualVisibleColumns","getBeginPageIndex","getColumnPageSize","getEndPageIndex","_fireColumnsChanged","_renderTime","getScrollingTimeout","renderingThreshold","scrollingTimeout","setScrollPosition","_changedTimeout","_setScrollPositionCore","endPageIndex","needColumnsChanged","visibleColumnsHash","beginFixedColumnCount","beginFixedColumns","beginColumns","beginWidth","endFixedColumnCount","endFixedColumns","endColumns","endWidth","columnsInfo","createColumnsInfo","leftFixedColumnCount","_restoreScrollTop","newInfo","foreachColumnInfo","columnInfo","cellColspan","offsets","lastProcessedIndexes","processedColumnCount","VirtualDataLoader","LEGACY_SCROLLING_MODE","needTwoPagesLoading","isVirtual","getViewportItemIndex","_cache","fireChanged","_isChangedFiring","processDelayChanged","_isDelayChanged","getPreloadPageCount","preloadEnabled","_dataOptions","realViewportSize","viewportSize","viewportItemSize","getContentOffset","getViewportPosition","getItemSizes","getViewportPageCount","processChanged","isDelayChanged","removeCacheItem","dataOptions","isPrepend","viewportItems","removeCount","correctCount","removeItemCount","updateLoading","_lastPageIndex","_loadingPageIndexes","viewportItemIndexChanged","newPageIndex","virtualMode","lastPageSize","maxPageIndex","defaultPageIndex","pageIndexForLoad","getPageIndexForLoad","loadCore","delayDeferred","_delayDeferred","loadIfNeed","_setViewportPositionCore","handleDataChanged","removeInvisiblePages","lastCacheLength","getDelayDeferred","beginItemsCount","_m_virtual_scrolling_core","_updateLoading","removeEmptyRows","BOTTOM_LOAD_PANEL_CLASS","FREESPACE_CLASS","VISIBLE_PAGE_INDEX","_correctCount","isItemCountableFunc","isItemCountableByDataSource","VirtualScrollingDataSourceAdapterExtender","_virtualScrollController","_totalCount","_loadPageCount","VirtualScrollController","_getVirtualScrollDataOptions","changingDuration","_startLoadTime","virtualScrollController","loadPageCount","takeIsDefined","VirtualScrollingRowsViewExtender","$emptyRows","scrollToPage","updateViewport","_scrollToCurrentPageOnResize","resizeHandler","scrollPosition","itemSize","getItemSize","itemSizes","startRenderTime","_removeRowsElements","_updateBottomLoading","_addVirtualRow","$virtualRow","_updateContentItemSizes","_getRowHeights","correctedRowHeights","_correctRowHeights","setContentItemSizes","_updateViewportSize","viewportHeight","firstCountableItem","lastLoadIndex","$virtualRows","prevFixed","_isTableLinesDisplaysCorrect","_isColumnElementsEqual","$columns","$virtualColumns","_getCellClasses","isExpandColumn","_findBottomLoadPanel","$bottomLoadPanel","showBottomLoading","bottomLoadPanelElement","zeroTopPosition","hasScrolled","isValidScrollTarget","setViewportPosition","hasBottomLoadPanel","isViewportChanging","_windowScroll","subscribeToExternalScrollers","scrollPos","_scrollTimeoutID","updateTimeout","minTimeout","rowPageSize","prerenderedRowChunkSize","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","_this$getLoadPagePara2","firstLoadIndex","sizes","getPreloadedRowCount","preloadCount","byLoadedPage","loadedPageIndex","loadedTake","isScrollingBack","topPreloadCount","bottomPreloadCount","skipWithPreload","loadingTake","_updateVisiblePageIndex","currentPageIndex","viewPortItemIndex","_getChangedLoadParams","loadedPageParams","_this$getLoadPagePara3","pageIndexIsValid","_pageIndexIsValid","_loadItems","checkLoading","viewportIsFilled","changedParams","currentLoadPageCount","lastRequiredItemCount","pageIndexNotChanged","allLoadedInAppendMode","isRepaintMode","pageIndexIncreased","viewportChanging","checkLoadedParamsOnly","viewportIsNotFilled","noPendingChangesInEditing","currentTake","newTake","topItemIndex","bottomItemIndex","_this$getLoadPagePara4","masterDataGridUpdated","isNewVirtualMode","_resizeTimeout","_lastTime","_m_virtual_data_loader","_isVirtualMode","_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","getRealElementWidth","AreaItem","_getMemoizeScrollTo2","getFakeTableOffset","elementOffset","viewPortSize","halfTableCount","halfTableSize","_createGroupElement","_createTableElement","_getCellText","cellText","isWhiteSpace","_getRowClassNames","_applyCustomStyles","cssArray","sorted","classArray","_getMainElementMarkup","_getCloseMainElementMarkup","_renderTableContent","rowClassNames","_getAreaName","tbody","tr","td","styleOptions","cellsCount","_span","_span2","_triggerOnCellPrepared","onCellPreparedArgs","areaName","onCellPrepared","hasEvent","defaultActionArgs","_defaultActionArgs","area","_trigger","_getRowHeight","_setRowHeight","getRowsLength","getRowsHeight","rowsLength","setRowsHeight","totalHeight","valuesLength","_tableHeight","getColumnsWidth","processedCells","fillCells","rowSpan","columnOffset","setColumnsWidth","_colgroupElement","getColumnsCount","tableLayout","resetColumnsWidth","setGroupWidth","_getScrollable","setGroupHeight","getGroupHeight","_getGroupElementSize","getGroupWidth","headElement","_setTableCss","setVirtualContentParams","_virtualContent","disableVirtualMode","_renderVirtualContent","_fakeTable","_updateFakeTableVisibility","horizontalOffsetName","fakeTableElement","_moveFakeTableHorizontally","offsetStyleName","_moveFakeTableTop","_moveFakeTable","_createFakeTable","_getMemoizeScrollTo","_memoizeScrollTo","getMemoizeScrollTo","_getMaxLeftOffset","containerElement","scrollablePos","memoizeScrollTo","updateScrollable","ChartIntegrationMixin","_m_widget_utils","FORMAT_DICTIONARY","UNBIND_KEY","getFormattedValue","lastFieldIndex","getExpandedLevel","foreachTree","createValueAxisOptions","getAreaFields","putDataFieldsInto","dataFieldsDisplayMode","valueAxisSettings","valueAxisOptions","valueType","pane","createPanesOptions","panes","bindChart","updateChart","grandTotalText","chartOptions","_customizeSeries","customizeSeries","customizeChart","valueAxis","axisDictionary","pivotGridDataSource","mapOptions","measureIndex","rowMemberIndex","rowVisibility","rowPathFormatted","rowPath","columnMemberIndex","columnVisibility","columnPath","columnPathFormatted","rowFields","columnFields","grandTotalColumnIndex","grandTotalRowIndex","rowLevel","columnLevel","createDataItem","axis","dataCell","processCellArgs","maxRowLevel","maxColumnLevel","dataValues","seriesName","chartDataItem","series","processCell","processedCell","processDataCell","foreachRowColumn","rowMembers","createPath","columnMembers","foreachDataField","alternateDataFields","createChartDataSource","seriesTemplate","nameField","seriesOptions","createChartOptions","chartElement","dxChart","getChartInstance","unbind","removeBinding","disposeBinding","removeData","scrollBarMeasureElement","DataArea","_m_area_item","renderScrollable","getUseNativeValue","updateManually","calculateScrollbarWidth","updateScrollableOptions","getScrollableDirection","DataController__internals","_extend2","_m_data_source","prim","_toPrimitive","_toPropertyKey","math","GRAND_TOTAL_TYPE","DATA_TYPE","NOT_AVAILABLE","formatCellValue","createHeaderInfo","createHeaderItem","childrenStack","headerItems","headerDescriptions","cellDescriptions","depthSize","cellDescriptionsCount","viewHeaderItems","headerItem","headerDescriptionsCount","foreachTreeAsync","displayText","notifyProgress","showGrandTotals","showTotalsPrior","isEmptyGrandTotal","hideTotals","showTotals","hiddenTotals","hideData","hiddenValues","layout","isTree","parentChildren","isAdditionalTotal","isGrandTotal","isValue","hiddenGrandTotals","isMetric","showEmpty","removeEmptyParent","sortBySummaryPaths","sortBySummaryPath","stringValuesUsed","grandTotal","total","getViewHeaderItems","indexesByDepth","itemInfo","breadth","infoItem","dataSourceIndex","depthIndex","addInfoItem","createSortPaths","headerFields","headerField","fieldIndex","findField","sortBySummaryField","foreachRowInfo","rowsInfo","columnOffsetResetIndexes","getHeaderIndexedItems","indexedItems","indexedItem","createScrollController","dataAdapter","_changingDuration","virtualScrollControllerChanged","_createDataSource","totalRowCount","rowPageIndex","_columnsScrollController","totalColumnCount","columnPageIndex","_stateStoringController","_columnsInfo","_rowsInfo","_cellsInfo","expandValueChanging","progressChanged","startChanging","_lockChanged","_correctSkipsTakes","rowSkip","_calculatePagingForRowExpandedPaths","rowExpandedSkips","rowExpandedTakes","rowTake","rowExpandedPaths","expandedPathIndexes","_calculatePagingForColumnExpandedPaths","expandedSkips","expandedTakes","skipByPath","takeByPath","columnSkip","columnTake","columnExpandedPaths","_processPagingForExpandedPaths","expandedPaths","_savePagingForExpandedPaths","isOppositeArea","headerName","columnsScrollController","calculateVirtualContentParams","contentParams","virtualRowHeight","itemHeights","virtualColumnWidth","viewportWidth","itemWidths","contentTop","contentLeft","updateWindowScrollPosition","updateViewOptions","_handleExpandValueChanging","_handleProgressChanged","_handleFieldsPrepared","onFieldsPrepared","PivotGridDataSource","_expandValueChangingHandler","_fieldsPreparedHandler","_changedHandler","_progressChangedHandler","dataFieldsForRows","dataFieldArea","dataFieldsForColumns","showValues","grandTotalsAreHiddenForNotAllDataFields","isEmptyGrandTotalRow","showRowTotals","showRowGrandTotals","hideEmptySummaryCells","rowHeaderLayout","isEmptyGrandTotalColumn","showColumnTotals","showColumnGrandTotals","_changeLoadingCount","getRowsInfo","getAllData","scrollController","newRowsInfo","rowInfo","realColumnIndex","getColumnsInfo","_rowPageSize","_columnPageSize","_columnPageIndex","getCellsInfo","dataFieldAreaInRows","dataSourceCells","dataRow","dataNotAvailable","NO_DATA_AVAILABLE_TEXT","_events_strategy","_m_local_store","_m_remote_store","_m_summary_display_modes","_m_xmla_store","_m_data_source_utils","DESCRIPTION_NAME_BY_AREA","STATE_PROPERTIES","CALCULATED_PROPERTIES","ALL_CALCULATED_PROPERTIES","resetFieldState","_initProperties","updateCalculatedFieldProperties","calculatedProperties","setFieldProperty","titleize","createCaption","isDataExists","findHeaderItem","_cacheByPath","getHeaderItemsLastIndex","grandTotalIndex","collapsedChildren","updateHeaderItemChildren","applyingHeaderItemsCount","emptyIndex","applyingItemIndexesToCurrent","needIndexUpdate","updateHeaderItems","newHeaderItems","newItems","parentItems","updateDataSourceCells","newDataSourceCells","newRowItemIndexesToCurrent","newColumnItemIndexesToCurrent","newRowCells","newCell","createLocalOrRemoteStore","RemoteStore","onLoadingChanged","onProgressChanged","getExpandedPaths","dimensionName","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","getFields","mergedFields","_store","_fields","_storeFields","_retrieveFields","formatHeaderItems","formatHeaders","updateCache","cacheByPath","_getAreaFields","areaFields","canAddFieldInArea","EventsStrategy","storeOptions","XmlaStore","_paginate","_pageSize","_loadingCount","_isFieldsModified","retrieveFields","_descriptions","_createDescriptions","collectGroups","_fieldsPrepared","isInitialization","getFieldValues","applyFilters","loadFields","skipValues","_sort","loadTask","_delayedLoadTask","_loadCore","createDrillDownDataSource","currentField","groupingField","indices","expression","calculateSummaryValue","createMockSummaryCell","currentFieldState","skipLoading","increment","oldLoading","newLoading","_hasPagingValues","oppositeIndex","takeField","skipField","oppositeArea","oppositePath","_headerItem","_processPagingCacheByArea","_headerItem2","_processPagingCache","applyPartialDataSource","mergePartialDataSource","getAscOrder","sortLocal","supportPaging","loadedData","expressionsUsed","summaryDisplayMode","areExpressionsUsed","applyDisplaySummaryMode","runningTotal","isRunningTotalUsed","applyRunningTotal","collapseHeaderItem","dataChanged","areaOffsets","expandHeaderItem","hasCache","needExpandData","oppositeHeaderItem","oppositeHeaderItems","eventHandler","delayedLoadTask","abort","_isDisposed","sortDimension","sortingMethodByLevel","foreachDataLevel","getMemberForSortBy","defaultCompare","getCompareFunction","summaryValueSelector","sortBySummaryFieldIndex","areRows","sortByDimension","sliceIndex","itemPath","textPath","getSliceIndex","getFieldSummaryValueSelector","summaryCompare","getSortingMethod","PivotGridExport","_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","DEFAUL_COLUMN_WIDTH","SORT_ORDER","SORTABLE_CONST","ICONS","treeViewItem","allowScrolling","itemGroup","box","fieldContainer","fieldContent","fieldList","fieldListHeader","pivotGrid","dragAction","fieldsContainer","fieldChooser","treeView","borderVisible","allFields","measure","hierarchy","targets","descending","ascending","dragAndDropItemRender","$sourceItem","$itemArray","isAreaBox","isTreeList","sourceItem","getAreaBoxItemArray","getTreeViewItem","getDefaultItem","getItemArray","$wrappedTmpContainer","$wrappedItem","wrapItemsInFieldsContainer","FieldChooser","_icon","_m_field_chooser_base","DIV","getDimensionFields","getFirstItem","childrenItem","compareOrder","isMeasure","compareItems","FieldChooserBase","filterFields","_expandedPaths","_dataChangedHandlers","_skipStateChange","_initActions","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","currentPath","isDefault","_createFieldsDataSource","treeItems","_renderFieldsTreeView","expandNodesRecursive","onItemCollapsed","onItemExpanded","onItemSelectionChanged","needSelectDefaultItem","_processDemandState","_applyChanges","_renderAreaFields","renderField","$fieldsContent","$areaContainer","$fieldsHeaderContainer","$fieldsContainer","_getSortableOptions","_adjustSortableOnChangedArgs","resetTreeView","dxTreeView","_m_sortable","getMainGroupField","sourceField","getStringState","allowFieldDragging","applyChangesMode","showRelevantValues","remoteSort","_renderComponent","$fieldContent","$fieldElement","mainGroupField","_render","Sortable","itemSelector","itemContainerSelector","groupSelector","$sortable","pivotGridFieldChooser","itemRender","onDragging","sourceElement","targetGroup","useIndicator","removeSourceElement","sourceGroup","targetIndex","invisibleFieldsIndexOffset","fieldBeforeTarget","isInstantlyMode","pivotGridState","_applyLocalSortChanges","fieldIdx","removeTargetElement","removeSourceClass","isHeaderFilter","userData","isExcludeFilterType","preparedFilterValueByText","preparedFilterValue","isRemoteSort","reverseSortOrder","_initTemplates","FieldsArea","_area","capitalizeFirstLetter","_renderButton","dxPopup","_getPopupOptions","_renderPopup","dxPivotGridFieldChooserBase","_rowPopup","_shouldCreateButton","fieldChooserBase","indicators","nextField","prevField","renderGroupConnector","VerticalHeadersArea","HorizontalHeadersArea","PIVOTGRID_EXPAND_BORDER","getCellPath","_scrollBarWidth","_getAreaClassName","thead","_virtualContentWidth","hasScroll","processScrollBarSpacing","groupAlignment","getScrollPath","_virtualContentHeight","tableHeight","groupHeight","$div","updateColspans","getDataSelector","getDateValue","dataSelector","prepareFields","fieldSelector","intervalSelector","setDefaultFieldValueFormatting","generateHierarchyItems","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","_progressChanged","discoverObjectFields","columnsHash","rowsHash","processData","getDrillDownItems","drillDownItems","maxRowCount","customColumns","pathFilter","getFiltersByPath","include","storeDrillDownMixin","PivotGrid","_m_chart_integration","_m_data_area","_m_field_chooser","_m_fields_area","_m_headers_area","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","space","unsubscribeScrollEvents","getCommonBorderWidth","borderStyleNames","computedStyle","borderStyleName","allowSortingBySummary","allowExpandAll","fieldPanel","showColumnFields","showFilterFields","showDataFields","showRowFields","columnFieldArea","rowFieldArea","filterFieldArea","getFormatter","noData","showFieldChooser","sortColumnBySummary","sortRowBySummary","removeAllSorting","exportToExcel","onCellClick","onExpandValueChanging","renderCellCountLimit","_updateCalculatedOptions","isCalculated","_getDataControllerOptions","_initDataController","_fieldChooserPopup","_renderFieldChooser","_dataArea","_renderDescriptionArea","_updateScrollPosition","dataArea","scrolled","_scrollUpdating","subscribeToScrollEvent","_needDelayResizing","_pivotGridContainer","fieldChooserOptions","dxPivotGridFieldChooser","fieldChooserComponentOptions","onResize","_createEventArgs","_getContextMenuItems","oppositeAreaFields","sortingBySummaryItemCount","showDataFieldCaption","textFormat","_createFieldArgs","_createCellArgs","_handleCellClick","_renderNoDataText","loadPanelVisible","_startLoadingTime","$targetContainer","$descriptionCell","$toolbarContainer","$filterHeader","$columnHeader","getFieldChooserPopup","_$buttonElement","_buttonOptions","_detectHasContainerHeight","testElement","_renderHeaders","rowHeaderContainer","columnHeaderContainer","filterHeaderContainer","dataHeaderContainer","_rowFields","_columnFields","_filterFields","_dataFields","_renderDataArea","dataAreaElement","_renderRowsArea","rowsAreaElement","_renderColumnsArea","columnsAreaElement","isFirstDrawing","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","mergeArraysByMaxValue","columnsAreaRowHeights","columnsAreaHeight","rowsAreaColumnWidths","elementWidth","_diff","_diff2","_groupHeight","_setVirtualContentParams","updateScrollableResults","virtualContentParams","_ajax","_call_once","initProperties","initValue","foreachTreeAsyncDate","createForeachTreeFunc","foreachTreeFunc","parentAtFirst","isChildrenProcessing","createForeachTreeAsyncHandler","childrenDeferred","valueA","valueB","aIsDefined","bIsDefined","childrenField","values1","values2","expandLevel","parseFields","fieldsList","fieldsDataType","displayFolder","createCustomStoreMethod","insertAdjacentHTML","scrollbar","lastElementChild","_m_remote_store_utils","createGroupingOptions","dimensionOptions","useSortOrder","dimensionOption","getIntervalFilterExpression","numericInterval","numericValue","isExcludedFilterType","createFieldFilterExpressions","fieldFilterExpressions","currentExpression","getFieldFilterSelector","getFilterExpressionForFilterValue","createFilterExpressions","filterExpressions","fieldExpressions","mergeFilters","notEmpty","valuesArray","getFiltersForDimension","getExpandedIndex","getExpandedPathSliceFilter","firstCollapsedFieldIndex","startSliceIndex","getGrandTotalRequest","expandedIndex","expandedLevel","commonFilters","newOptions","oppositeDimensionName","includeTotalSummary","getFirstCollapsedIndex","firstCollapsedIndex","normalizedArguments","normalizeLoadResult","rowHash","columnHash","requestsData","rowExpandedLevel","columnExpandedLevel","columnExpandedIndex","firstCollapsedColumnIndex","firstCollapsedRowIndex","rowExpandedIndex","columnTotalsOptions","getFiltersForExpandedDimension","rowFilterByExpandedPaths","preparedOptions","getRequestsData","externalFilterExpr","hasRows","summaryOption","createLoadOptions","parentItem","parentPathValue","dimensionHash","columnItem","rowItem","currentRowIndex","parseResult","filterExp","_dom_component","SORTABLE_NAMESPACE","SORTABLE_CLASS","sourceClass","dragClass","targetClass","_renderItem","$targetGroup","_indicator","_renderDraggable","_$draggable","_detachEventHandlers","dragEventsString","leave","_getEventListener","_getItemOffset","itemsOffset","shouldInsert","sameLine","posVertical","rtl","posHorizontal","_attachEventHandlers","$targetItem","startPositions","$groups","scrollWrapper","disposeScrollWrapper","$eventListener","$sourceGroup","elementIndex","$lastItem","$prevItem","draggingArgs","draggableElement","elementHasPoint","getTargetGroup","moveIfNeed","getScrollWrapper","$itemContainer","targetSortable","$elements","$itemsContainer","getItemsOffset","isAnotherGroup","isSameIndex","isNextIndex","changedArgs","_useTemplates","Cell","getExpression","summaryDictionary","COLUMN","ROW","NULL","calculatePercentValue","_percentOfGrandTotal","percentOfParent","parentValue","createAbsoluteVariationExp","allowCrossGroup","prevCell","createPercentVariationExp","absoluteExp","absVar","percentOfColumnTotal","percentOfRowTotal","percentOfColumnGrandTotal","percentOfRowGrandTotal","percentOfGrandTotal","getPrevCellCrossGroup","createRunningTotalExpr","allowCrossGroupCalculation","getFieldPos","fieldParams","getPathFieldName","SummaryCell","fieldsCache","_columnPath","_rowPath","_fieldIndex","_fieldsCache","originalCell","postProcessedFlags","_cell","crossGroupCalculation","isRunningTotalCalculation","allowResetting","expressions","valueFields","expressionArg","fieldId","_getPath","_getDimension","dimensionPath","pathFieldName","siblings","childLevelField","fieldPos","sliceCell","currentValue","arg1","arg2","fistArgIsBoolean","needCalculatedValue","isPostProcessed","_language_codes","discover","mdx","execXMLA","requestOptions","beforeSend","xhrFields","xml","parser","statusText","getLocaleIdProperty","languageId","getLanguageId","getAllMember","hierarchyName","getAllMembers","crossJoinElements","elementsString","generateCrossJoin","expandAllCount","slicePath","prevDimension","nextLevel","crossJoinArgs","prevHierarchyName","isLastDimensionInGroup","expandAllIndex","preparePathValue","allMember","fillCrossJoins","crossJoins","cellsString","totalsOnly","dimensionIndex","crossJoin","declare","withArray","generateAxisMdx","parseOptions","visibleLevels","axisSet","generateAxisFieldsFilter","filterMembers","filterStringExpression","filterMdx","generateMdxCore","axisStrings","cubeName","mdxString","withString","countMembers","columnsFilter","rowsFilter","generateFrom","prepareDataFields","addSlices","slices","generateMDX","measureCount","createDrillDownAxisSlice","getNumber","getFirstChildText","childTagName","getNodeText","axes","cellsOriginal","errorDictionary","xmlCell","valueElement","errorElements","_isNumeric","cellOrdinal","levelName","parentName","getVisibleChildren","grandTotalHash","newChildren","fillDataSourceAxes","dataSourceAxis","axisTuples","tupleIndex","checkError","faultElementNS","faultElement","errorElement","parseDiscoverRowSet","schema","translatedDisplayFolders","displayFolderField","levelNumber","defaultHierarchies","sendQuery","catalog","cube","localeIdProperty","dimensionsRequest","measuresRequest","hierarchiesRequest","levelsRequest","dimensionsResponse","measuresResponse","hierarchiesResponse","levelsResponse","measureGroupsResponse","hierarchies","measureGroups","levelsByHierarchy","rowCountMdx","executeXml","rowCountXml","axisElement","tupleElement","tupleMembers","levelSum","membersCount","tuple","totalCountXml","customColumnsString","coreMDX","stringArray","columnNames","group1","_getNodeLevel","_loadOnOptionChange","getKeyExpr","_isNodesInitializing","getNodeByKey","getChildNodeKeys","loadDescendants","childrenOnly","itemsExpr","parentIdExpr","expandedRowKeys","filterMode","expandNodesOnFiltering","onNodesInitialized","isFullBranchFilterMode","DataSourceAdapterTreeList","_createKeyGetter","_createKeySetter","createParentIdGetter","createParentIdSetter","_createItemsGetter","_createHasItemsGetter","hasItemsExpr","_createHasItemsSetter","_updateIndexByKeyObject","_indexByKey","_calculateHasItems","hasItems","parentIds","isFullBranch","_hasItemsGetter","_isChildrenLoaded","_fillVisibleItemsByNodes","_convertItemToNode","nodeByKey","_keyGetter","_parentIdGetter","_createNodesByItems","visibleByKey","_nodeByKey","rootNode","_convertDataToPlainStructure","_itemsGetter","isConverted","_keySetter","_parentIdSetter","_createIdFilter","parentIdFilters","expandVisibleNodes","_isReload","collapseVisibleNodes","_getParentIdsToLoad","parentIdsToLoad","_generateInfoToLoad","needChildren","keyMap","resultKeyMap","resultKeys","needToLoad","_loadParentsOrChildren","needLocalFiltering","_that$_generateInfoTo","concatLoadedData","cachedNodes","encodeURI","fullData","_loadParents","_loadChildrenIfNeed","_updateHasItemsMap","processedChanges","_applyInsert","_applyRemove","postProcessChanges","changesToProcess","_setHasItems","hasItemsSetter","_hasItemsSetter","baseChanges","parentKeyOf","_fillNodes","needToExpand","foreachNodes","_processTreeStructure","_rootNode","resultData","_totalItemsCount","needLoadParents","_reshapeOnPush","isExpandedByKey","indexExpandedNodeKey","getNodeLeafKeys","childrenKeys","_createStoreLoadOptions","TREELIST_EXPAND_ICON_CONTAINER_CLASS","EditingController","addRowByRowIndex","parentKeyGetter","parentIdSetter","originalRowClick","originalRowDblClick","validateClick","originalClickHandler","needToCallOriginalClickHandler","RowsViewExtender","_renderCellCommandContent","getFirstDataColumnIndex","visibleColumnsLength","firstDataColumnIndex","ignoreHasChildren","_isFocusedRowInside","parentData","expandAscendants","GridView","origApplyState","EditingControllerExtender","oldDefaultOptions","originalDataControllerExtender","originalDataSourceAdapterExtender","TreeList","TREELIST_TEXT_CONTENT","TREELIST_EXPANDED_CLASS","TREELIST_COLLAPSED_CLASS","_renderIconContainer","$iconContainer","_renderIcons","hasIcon","$iconElement","isExpandIcon","originalHandleDataChanged","nodeExists","currentKey","isRecursiveSelection","updateSelectionState","_selectionStateByKey","_arguments","cached","$checkbox","_getSelectAllNodeKeys","visibleKeys","hasIndeterminateState","selectedVisibleKeys","normalizedArgs","_normalizeSelectionArgs","_isSelectionNormalizing","keyboardKeys","_updateParentSelectionState","_updateChildrenSelectionState","_updateSelectionStateCore","_getSelectedParentKeys","useCash","selectedParentNode","_getSelectedChildKeys","keysToIgnore","ignoreKeyIndex","_normalizeParentKeys","parentNodeKeys","_normalizeChildrenKeys","_normalizeSelectedRowKeysCore","isSelect","_isModeLeavesOnly","_removeDuplicatedKeys","processedKeys","_getAllChildKeys","_getAllSelectedRowKeys","parentKeys","_getParentSelectedRowKeys","_getLeafSelectedRowKeys","renderSelectAll","_empty_template","_view_port","_animator","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","mousePosition","isScrollableFound","isTargetOverOverlayWrapper","isTargetOverOverlayContent","_trySetScrollable","_scrollSpeed","isScrollable","distanceToBorders","sensitivity","_calculateDistanceToBorders","_calculateScrollSpeed","$area","areaBoundingRect","maxSpeed","scrollByStep","$scrollable","nextScrollPosition","_nextScrollPosition","dragMoveArgs","_dragMoveArgs","_dragMoveHandler","isOutsideScrollable","scrollableSize","ScrollAnimator","_strategy","_step","horizontalScrollHelper","_horizontalScrollHelper","verticalScrollHelper","_verticalScrollHelper","Draggable","dragMove","dragEnter","dragLeave","dragEnd","sourceEvent","_getSourceDraggable","_fireRemoveEvent","onDragMove","onDragCancel","onCancelByEsc","immediate","dragDirection","boundOffset","allowMoveByClick","scrollSpeed","scrollSensitivity","_scrollAnimator","_initScrollTop","_initScrollLeft","_normalizeCursorOffset","splitPair","_getNormalizedCursorOffset","_calculateElementOffset","dragElementOffset","$dragElement","isCloned","_dragElementIsCloned","normalizedCursorOffset","currentLocate","_initialLocate","locate","initialOffset","_initPosition","_move","_startPosition","_startAnimator","inProgress","_stopAnimator","_addWidgetPrefix","dasherize","_getItemsSelector","_$content","itemsSelector","checkDropTarget","_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","elementHeight","startOffset_left","startOffset_top","maxLeftOffset","maxRightOffset","maxTopOffset","maxBottomOffset","quadToObject","initialOffsetX","initialOffsetY","initScrollTop","initScrollLeft","_getTargetDraggable","allObjects","elementsFromPoint","fromComponent","toComponent","fromData","toData","$itemElement","_revertItemToInitialPosition","dragEndEventArgs","dropEventArgs","needRevertPosition","_resetDragOptions","_isTargetOverAnotherDraggable","$sourceDraggableElement","$targetDraggableElement","firstWidgetElement","isTargetOverItself","isTargetOverNestedDraggable","_fireDragEnterEvent","_setTargetDraggable","_fireDragLeaveEvent","_resetTargetDraggable","_keydownEscapeHandler","dragCancelEventArgs","_getAnonymousTemplateName","addDefaultTemplates","EmptyTemplate","transclude","anonymousTemplateName","_getTemplateByOption","_resetSourceDraggable","_m_draggable","PLACEHOLDER_CLASS","transition","_sourceScrollHandler","_handleSourceScroll","_sourceScrollableInfo","itemOrientation","moveItemOnDrop","onDragChange","onRemove","onReorder","onPlaceholderPrepared","dropInsideItem","itemPoints","fromIndexOffset","autoUpdate","draggableElementSize","_$placeholderElement","_isIndicateMode","_$modifiedItem","_modifiedItemMargin","_getPrevVisibleItem","_updateItemPoints","_subscribeToSourceScroll","_getElementIndex","_unsubscribeFromSourceScroll","sourceScrollableInfo","scrollProp","_correctItemPoints","_movePlaceholder","lastItemPoint","_isVerticalOrientation","sourceElementSize","scrollSize","positionProp","lastPointPosition","freeSize","_getItems","_allowDrop","$targetDraggable","_getScrollableBoundar","getScrollableBoundary","itemPoint","cancelAdd","cancelRemove","isSourceDraggable","_fireAddEvent","resetPosition","_moveItem","_fireReorderEvent","cursorPosition","_updatePlaceholderPosition","_createPlaceholder","$placeholderContainer","_isValidPoint","draggableVisibleIndex","_getItemPoints","itemWidth","visibleItemElements","visibleItemCount","$draggableItem","needCorrectLeftPosition","needCorrectTopPosition","forceUpdate","positionPropName","_togglePlaceholder","_normalizeToIndex","skipOffsetting","isAnotherDraggable","_getActualFromIndex","placeholderElement","_makeWidthCorrection","_$scrollable","scrollableWidth","overflowLeft","overflowRight","_updatePlaceholderSizes","$placeholderElement","$prevTargetItemElement","$itemElements","$targetItemElement","_moveItemCore","prevItem","isDragSource","$fromElement","_optionChangedDropInsideItem","_optionChangedToIndex","_isPositionVisible","scrollContainer","showPlaceholder","_moveItems","fullUpdate","_updateDragSourceClass","_makeLeftCorrection","prevVisibleItemElement","isLastVerticalPosition","outerPlaceholderHeight","_getPositions","elementSize","_getDraggableElementSize","_this$option","prevToIndex","prevPositions","animationConfig","compareByReference","lastArgs","compareByValue","MEMOIZE_DEFAULT_OPTIONS","cachedFunc","firstResult","firstArgs","originFunc","compareFunc","lastResult","createCacheFunc","convertTransitionTimingFuncToEasing","getEasing","setEasing","CSS_TRANSITION_EASING_REGEX","TransitionTimingFuncMap","linear","swing","ease","cssTransitionEasing","forceName","coeffs","easingName","Ax","Cx","Bx","Ay","Cy","By","bezierX","derivativeX","setAnimationFrameMethods","request","FRAME_ANIMATION_STEP_TIME","requestID","nativeRequest","webkitRequestAnimationFrame","mozRequestAnimationFrame","oRequestAnimationFrame","msRequestAnimationFrame","nativeCancel","webkitCancelAnimationFrame","mozCancelAnimationFrame","oCancelAnimationFrame","msCancelAnimationFrame","_easing","_frame","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","scale","_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","onElementAnimationComplete","stopAnimationOnElement","startTimeout","scopedRemoveEvent","createAnimation","initialConfig","defaultConfig","getAnimationConfigurator","animationStrategies","frame","noAnimation","getAnimationStrategy","subscribeToRemoveEvent","getAnimQueueData","destroyAnimQueueData","isAnimating","shiftFromAnimationQueue","queueData","executeAnimation","animationTypes","writeAnimQueueData","pushInAnimationQueue","horzRe","vertRe","collisionRe","scaleRe","IS_SAFARI","normalizeAlign","normalizeOffset","pairToObject","getAlignFactor","inverseAlign","calculateOversize","myLocation","collisionSide","initMyLocation","atLocation","atAlign","atSize","myAlign","mySize","collisionResolvers","fit","flip","inverseData","flipfit","none","$scrollDiv","defaultPositionResult","calculatePosition","what","$what","currentOffset","normalizeCollision","isWindow","visualViewport","innerWidth","outerHeight","ofRect","getOffsetWithoutScale","windowWidth","getDocumentElement","hZoomLevel","vZoomLevel","boundaryWidth","boundaryHeight","$boundary","boundaryPosition","preciser","setScaleProperty","styleAttr","stylePropIsValid","isNode","newStyleValue","styleAttributeNode","createAttribute","setAttributeNode","$startElement","_currentElement$getAt","_style$match","$currentElement","currentElement","presets","PresetCollection","directionPostfixes","forward","backward","_registeredPresets","resetToDefaults","defaultAnimationDuration","defaultAnimationDelay","defaultStaggerAnimationDuration","defaultStaggerAnimationDelay","defaultStaggerAnimationStartDelay","phone","_getPresetOptionName","animationName","_createAndroidSlideAnimationConfig","throughOpacity","widthMultiplier","createBaseConfig","configModifier","_createOpenDoorConfig","extraCssClasses","_createWinPopConfig","baseConfig","registerDefaultPresets","newRegisteredPresets","registerPreset","customRules","_setOptionsByDevice","getPreset","staggerDelay","_presets","DX_ANIMATING_CLASS","_accumulatedDelays","_animations","_createAnimations","_prepareElementAnimationConfig","_createAnimation","presetName","_completePromise","_startAnimations","animations","_stopAnimations","_clearAnimations","_completeDeferred","animationDeferreds","TRANSLATOR_DATA_KEY","TRANSFORM_MATRIX_REGEX","TRANSLATE_REGEX","isPercentValue","cacheTranslate","matrix","is3D","finishTransition","originalTransition","stylesConfig","translateString","_setTemplateEngine","validationEngine","extractTemplateMarkup","templateCompiler","EXTENDED_OPEN_TAG","EXTENDED_CLOSE_TAG","acceptText","bag","acceptCode","interpolate","chunks","tmp","funcName","replaceAll","globalEval","pendingCreateComponentRoutines","createComponent","$component","snapshot","leftover","renderComponent","getEditorValue","inputName","$widget","dxMvcExtensionsObj","MVCx","isDXScriptInitializedOnLoad","createValidationSummaryItems","editorNames","inArray","sendValidationRequest","propertyValue","standardColorNames","darkgrey","darkslategrey","dimgrey","grey","lightgrey","lightslategrey","rebeccapurple","slategrey","standardColorTypes","colorString","rgb","hsvToRgb","hslToRgb","_round","baseColor","parseColor","colorIsInvalid","hsv","toHsvFromRgb","hsl","convertTo01Bounds","maxMinSum","calculateHue","toHslFromRgb","colorComponent","vMin","vInc","vDec","makeColorTint","colorPart","colorTint","hueToRgb","modifyColorTint","isIntegerBetweenMinAndMax","alter","toHex","darken","blend","blendColor","getPureColor","isValidHex","isValidRGB","isValidAlpha","fromHSL","registerPattern","registerGradient","getGraphicObjects","graphicObjects","getNextDefsSvgId","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","_public_component","_postponed_operations","getEventName","_getDeprecatedOptions","defaultOptionsRules","applyRules","_convertRulesToOptions","convertRulesToOptions","_isInitialOptionValue","isInitial","_getOptionsByReference","_optionChangedCallbacks","_disposingCallbacks","postponedOperations","PostponedOperations","_createOptions","Options","onChanging","_initialized","_optionChanging","onDeprecated","onStartChange","onEndChange","addRules","onInitializing","_createOptionChangedAction","fireWith","_logDeprecatedComponentWarning","_optionChangedAction","_createDisposingAction","_disposingAction","_lockUpdate","_unlockUpdate","_isUpdateAllowed","_isInitializingRequired","_initializing","_commitUpdate","callPostponedOperations","_initializeComponent","getAliasesByName","_cancelOptionChange","initialOption","initial","_defaultActionConfig","actionSource","actionValue","actionFunc","wrapActionsBeforeExecute","hasActionSubscription","isOptionDeprecated","isDeprecated","_getOptionValue","_this$_options","resetOption","_component_registrator_callbacks","memberArgs","memberValue","defaultCurrency","defaultUseCurrencyAccountingStyle","oDataFilterToLower","serverDecimalSeparator","decimalSeparator","thousandsSeparator","useLegacyStoreResult","useJQuery","editorStylingMode","useLegacyVisibleIndex","floatingActionButtonConfig","closeIcon","maxSpeedDialActionCount","optionsParser","optionsString","ex","normalizeToJSONString","exNormalize","deprecatedFields","configMethod","newConfig","deprecatedField","_ready_callbacks","_resize_callbacks","getNavigator","KNOWN_UA_TABLE","iPhone","iPhone5","iPhone6","iPhone6plus","iPad","iPadMini","androidPhone","androidTablet","msSurface","desktop","DEFAULT_DEVICE","tablet","generic","grade","mac","uaParsers","isPhone","isTablet","isDesktop","isMac","screen","Devices","_realDevice","_getDevice","_currentDevice","_currentOrientation","_recalculateOrientation","deviceOrName","_forced","_getDeviceOrNameFromWindowScope","_getDeviceNameFromSessionStorage","forceDevice","isRippleEmulator","tinyHippos","_getCssClasses","realDevice","isSimulator","attachCssClasses","_deviceClasses","detachCssClasses","_isSimulator","forceSimulator","deviceName","_fromConfig","_fromUA","shortcuts","_changeOrientation","_currentWidth","viewPortElement","changeCallback","prevViewport","_dependency_injector","_shadow_dom","nativeDOMAdapterStrategy","elementMatches","matchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector","webkitMatchesSelector","_document","isDocumentFragment","insertElement","nextSiblingElement","setClass","isAdd","_element$getRootNode","_element$getRootNode2","getBody","createDocumentFragment","getLocation","getReadyState","readyState","getHead","hasDocumentProperty","activeElementHolder","getShadowElementsFromPoint","_template_manager","TemplateManager","createDefaultOptions","_customClass","_createElement","attachInstanceToElement","_getSynchronizableOptionsForCreateComponent","_checkFunctionValueDeprecation","_attachWindowResizeCallback","_initTemplateManager","instanceCustomRules","_classCustomRules","_isDimensionChangeSupported","windowResizeCallBack","_windowResizeCallBack","_renderElementAttributes","_toggleRTLDirection","_renderVisibilityChange","_attachVisibilityChangeHandlers","addShadowDomStyles","classNames","_attachDimensionChangeHandlers","_isVisibilityChangeSupported","_isCssUpdateRequired","$el","_isHidden","_isVisible","_checkVisibilityChanged","_modelByElement","modelByElement","_requireRefresh","_refresh","_detachWindowResizeCallback","synchronizableOptions","nestedComponentOptions","nestedComponentConfig","_extendConfig","optionChangedHandler","extendConfig","_removeAttributes","_removeClasses","lastIndexOf","_updateDOMComponent","renderRequired","cleanDataRecursive","_this$option4$integra","_this$_templateManage","extractTemplates","anonymousTemplateMeta","anonymousTemplate","templateSource","_saveTemplate","_createTemplate","getInstanceByElement","setPublicElementWrapper","newStrategy","afterCleanData","afterCleanDataFunc","beforeCleanData","beforeCleanDataFunc","cleanData","cleanSelf","childElements","getDataStrategy","strategyChanging","setDataStrategy","_memorized_callbacks","dataMap","elementData","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","_generate","toJSON","nativeXMLHttpRequest","getXhr","_inferno","_inferno2","_infernoCreateElement","onAfterRender","onPreRender","nextNode","mountNode","MemorizedCallbacks","_option_manager","optionsByReference","deprecatedOptions","_deprecatedCallback","_startChangeCallback","_endChangeCallback","_deprecated","_deprecatedNames","_initDeprecatedNames","_optionManager","OptionManager","onRelevantNamesPrepared","_setRelevantNames","_cachedOptions","_rules","_getByRules","_notifyDeprecated","normalizedName","_normalizeName","_setField","_clearField","fieldObject","getFieldName","getParentName","previousFieldName","deprecate","getNestedOptionValue","_initial","aliasName","_initialOptions","rulesOptions","_setByReference","_comparator","cachedGetters","cachedSetters","_changingCallback","_changedCallback","_namePreparedCallbacks","_setPreparedValue","unwrapObservables","_prepareRelevantNames","valueName","normalizeOptions","_name","deviceMatch","createDefaultOptionRules","currentDevice","ruleOptions","deviceFilter","optionsObject","_postponedOperations","postponedPromise","completePromise","renderer","_html_parser","initRender","dxRenderer","repeatMethod","setAttributeValue","isTablePart","parseHTML","appendElements","setCss","styleProp","normalizeStyleProp","wrapInner","elementId","queryId","_element$host","getClientRects","parentChildNodes","emptyArray","getOffset","offsetProp","scrollWindow","directionStrategy","getWindowByElement","rendererWrapper","ResizeObserverMock","unobserve","ResizeObserverSingleton","ResizeObserver","_callbacksMap","_observer","_this$_callbacksMap$g","_function_template","DX_POLYMORPH_WIDGET_TEMPLATE","FunctionTemplate","widgetElement","_tempTemplates","_defaultTemplates","_anonymousTemplateName","defaultCreateElement","_createTemplateIfNeeded","watchMethod","useDeferUpdateForTemplates","tempTemplate","_extractTemplates","_extractAnonymousTemplate","findTemplates","suitableTemplates","suitableTemplatesByName","$anonymousTemplate","isEmptyText","cachedTemplate","templateKey","validateTemplateSource","templateSourceResult","getNormalizedTemplateArgs","acquireTemplate","BindableTemplate","_template_base","_TemplateBase","fieldsMap","_fieldsMap","_watchMethod","rawData","fieldsDispose","globalDispose","dataWithRawFields","isPrimitive","resolvedData","missedFields","watchHandlers","fieldGetter","TemplateBase","ChildDefaultTemplate","normalizeTemplateElement","_template_engine_registry","registerTemplateEngine","_compiledTemplate","renderedCallbacks","_visibility_change","renovated","_ensureResultInContainer","resultInContainer","currentTemplateEngine","templateEngine","templateEngines","_http_request","SUCCESS","ERROR","createScript","removeScript","scriptNode","appendToHead","evalScript","crossDomain","originAnchor","urlAnchor","isCrossDomain","needScriptEvaluation","callbackName","jsonpCallback","callbackParameter","jsonp","getJsonpOptions","defaultContentType","contentType","getContentTypeHeader","Accept","scriptAccept","accepts","getAcceptHeader","getRequestHeaders","paramsAlreadyString","paramsConvert","getRequestOptions","loadHandler","evalCrossDomainScript","password","customStatus","setHttpTimeout","onreadystatechange","hasContent","getDataFromResponse","onprogress","onloadstart","onabort","setRequestHeader","wrapToArray","removeDuplicates","groupBy","getUniqueValues","_config2","createOccurrenceMap","_map$get","firstArray","secondArray","toRemoveMap","occurrencesCount","indexPropName","needIndexCallback","shouldUpdateIndex","getGroupName","groupedResult","_groupedResult$groupN","isKeysEqual","getKeyWrapper","getSameNewByOld","oldKeys","newKeys","isItemEquals","oldIndexByKey","addedCount","oldNextIndex","nextOldItem","oldIndex","webkitRegExp","mozillaRegExp","browserFromUA","browserName","browserVersion","_wrappedHandler","Callback","_list","_queue","_firing","_fired","_firingIndexes","_fireCore","firingIndexes","fired","normalizeKey","escapeRegExp","ensureDefined","denormalizeKey","deferUpdater","deferRenderer","asyncNoop","applyServerDecimalSeparator","normalizedContext","executingName","delayedFuncs","delayedNames","delayedDeferreds","deferExecute","oldExecutingName","currentDelayedCount","targetFilter","mapFn","bestMatches","maxMatchCount","itemSrc","matchCount","paramName","targetValue","mismatch","valueItem","_raw$x","_raw$y","char","preventRound","checkFunction","expectedCheck","DEFAULT_EQUAL_BY_VALUE_OPTS","value1","value2","comparable1","comparable2","object1","object2","keys1","keys2","keys2Set","array1","array2","compareArrays","compareOptions","hasNegation","getConsoleMethod","assertParam","parameter","unwrapVariable","assignPropValue","propValue","prepareOptions","functionAsIs","hasDefaultValue","pathPart","getters","compiledGetters","pathItem","combineGetters","ensurePropValueDefined","lastLevelIndex","levelIndex","readPropValue","isPropertyFunc","caseSensitive","_options$collatorOpti","collatorOptions","locale","toLocaleLowerCase","_math","_construct","Parent","DAYS_IN_WEEK","dateUnitIntervals","convertMillisecondsToDateUnits","dateUnitCount","dateUnitInterval","toMilliseconds","convertDateUnitToMilliseconds","dateUnit","getDateUnitInterval","tickInterval","maxInterval","tickIntervalToFormatMap","millisecond","week","getQuarter","getFirstQuarterMonth","correctDateWithUnitBeginning","dateInterval","withCorrection","firstQuarterMonth","oldDate","setDate","getFirstWeekDate","fixTimezoneGap","trimTime","addDateInterval","dir","intervalObject","getDateIntervalByString","years","setFullYear","quarters","months","weeks","days","hours","minutes","seconds","milliseconds","addInterval","isNegative","getLastMonthDay","createDateWithFullYear","intervalString","sameMonthAndYear","date1","date2","sameYear","getFirstDecadeInCentury","getFirstYearInDecade","getUTCTime","getFirstDateInYear","getLastDateInYear","getDayWeekNumber","normalizeDate","normalizedDate","newDate","trial","getTimezonesDifference","dateUtils","dateToMilliseconds","getNextDateUnit","withWeeks","getDateFormatByTickInterval","getDatesDifferences","counter","differences","setToDayEnd","roundDateByStartDayHour","startDayHour","dateTimeFromDecimal","getSequenceByInterval","sameHoursAndMinutes","sameDate","sameMonth","sameDecade","startDecadeDate1","startDecadeDate2","sameCentury","startCenturyDate1","startCenturyDate2","getDifferenceInMonth","typeView","difference","getDifferenceInMonthForCells","getShortDateFormat","getViewFirstCellDate","getViewLastCellDate","getViewDown","getViewUp","getLastMonthDate","getFirstMonthDate","getWeekNumber","firstWeekDayInYear","lastWeekDayInYear","daysInFirstWeek","weekNumber","ms","normalizeDateByWeek","currentDate","differenceInDays","getDatesInterval","resultDate","dateInRange","intervalsOverlap","firstMin","firstMax","secondMin","secondMax","roundToHour","getViewMinBoundaryDate","getViewMaxBoundaryDate","makeDate","intervalUnit","millisecondCount","getDatesOfInterval","_default_date_names","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","useUtc","getIso8601Format","_DeferredObj","setStrategy","whenFunc","deferredConfig","_promise","isPromise","contexts","resolvedCount","BaseClass","InjectedClass","initialFields","injectFields","injectionObject","inject","resetInjection","createTextElementHiddenCopy","closestCommonParent","clipboardText","_activeElement$blur","startTarget","endTarget","$startTarget","$endTarget","$startParents","$endParents","templateTag","getRootNodeHost","elementStyles","includePaddings","letterSpacing","border","float","shadowHost","baseErrors","ERROR_MESSAGES","details","formatDetails","getErrorUrl","__id","__details","combineMessage","ERROR_URL","overrideExistingValues","sourceValue","sourceValueIsArray","isTagName","tagWrappers","tagsCount","startTags","endTags","colgroup","tfoot","th","firstRootTag","tagWrapper","ICON_CLASS","underscore","humanize","_upperCaseFirst","_chop","upperFirst","DIGIT_CHARS","captionList","isPrevCharNewWord","isNewWord","reverseEach","separatedAdjustedValue","precision","getPrecision","separatedValue","absValue","isExponentValue","isExponential","integerPart","getExponent","toPrecision","fitIntoRange","getExponentLength","_valueString$split$","valueString","getRemainderByDivision","dividend","divider","quotient","roundFloatPart","getRoot","inRange","multiplyInExponentialForm","exponentShift","exponentialNotation","toExponential","mantissa","exponent","getExponentialNotation","solveCubicEquation","D2","roots","D3","positionOfDelimiter","isMinValueUndefined","isMaxValueUndefined","Clone","isNumberX","isNumberY","assignValueToProperty","assignByReference","extendComplexObject","isRtlEnabled","disposeFn","COMPONENT_NAMES_DATA_KEY","nextAnonymousComponent","newName","generatedName","discardPendingTasks","_tasks","_busy","removeTaskCallback","busy","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","_el$getRootNode","ownerDocumentStyleSheet","processRules","createConstructedStyleSheet","currentShadowDomStyleSheet","adoptedStyleSheets","shiftIndex","elementQueue","isPositionInElementRectangle","DX_RULE_PREFIX","CSSStyleSheet","styleElement","sheet","targetStyleSheet","needApplyAllStyles","insertRule","_rule$selectorText","_rule$cssRules","_rule$cssRules$","_rule$cssRules$$selec","_rule$name","_rule$style","setInnerWidth","setInnerHeight","parseHeight","implementationsMap","getVisibleHeight","getVerticalOffsets","getInnerHeight","getElementBoxParams","addOffsetToMinHeight","addOffsetToMaxHeight","SPECIAL_HEIGHT_VALUES","getSizeByStyles","beforeName","afterName","getElementComputedStyle","_element$ownerDocumen","getCSSProperty","_element$style","boxIndices","dimensionComponents","getComponentThickness","offsetFieldName","currentBox","targetBoxIndex","currentBoxIndex","coeff","scrollThickness","boxPart","paddingAndBorder","getContainerHeight","getHeightWithOffset","withMargins","boxParams","boundingClientRect","elementSizeHelper","_len5","_key5","_len6","_key6","_len7","_key7","_len8","_key8","_len9","_key9","_len10","_key10","_len11","_key11","_len12","_key12","sizeProperty","includeMargin","partialName","isOuter","isInner","isGetter","sizeAdjustment","isBorderBox","boxSizing","docElem","clientTop","clientLeft","placeholderReg","encodeRegExp","quad","splitQuad","searchToken","replacementToken","SPACE_REGEXP","stubComponent","NoComponent","stylePropPrefix","parsePixelValue","jsPrefixes","cssPrefixes","Webkit","Moz","originalName","prefixedProp","cssPrefixesCount","jsPrefix","forEachPrefixes","specific","pxExceptions","setDimensionProperty","styleString","stylePart","_parts","touchEvents","supportProp","transitionEndEventNames","webkitTransition","MozTransition","OTransition","hasWindowProperty","detectTouchEvents","hasProperty","detectPointerEvent","_devices$real","HIDDEN_FOR_EXPORT","getSvgElement","markup","getSvgMarkup","fixNamespaces","getMarkup","addOneRenderedCall","acquireIntegrationTemplate","_child_default_template","_template","rawTemplates","templatesMap","_findBestMatches$","suitableTemplate","templateResult","integrationTemplate","defaultTemplates","isEvent","typeOfObject","jquery","isWritableWrapped","normalizeArg","xItem","yItem","originalViewPort","$originalViewPort","$current","isNewViewportFound","prevViewPort","setWindow","getCurrentScreenFactor","defaultScreenFactorFunc","hasWindowValue","windowObject","newWindowObject","screenFactorCallback","storeImpl","_langParams","_errorHandler","errorHandler","_useDefaultSearch","_clearCache","_requireKey","_withLock","_loadImpl","createQuery","_totalCountImpl","extraOptions","_addFailHandlers","_byKeyImpl","_insertImpl","callbackValues","callbackKey","_updateImpl","beforePushArgs","waitFor","_pushImpl","_removeImpl","handleError","registerClass","Iterator","countable","ArrayIterator","WrappedIterator","MapIterator","mapper","SortIterator","_wrap","sortedIter","_ensureSorted","_compare","_unwrap","wrappedItem","_getDefaultCompare","xValue","yValue","Intl","Collator","xIndex","yIndex","rulesCount","compareResult","compileCriteria","_toComparable","compileEquals","negate","isGroupCriterion","isConjunctiveNextOperator","isUnaryOperation","operatorFn","getterValue","FilterIterator","GroupIterator","_ensureGrouped","groupedIter","SelectIterator","SliceIterator","arrayQueryImpl","queryOptions","aggregateCore","standardAggregate","chainQuery","selectProp","setLangParams","initialArray","rejectedPromise","trivialPromise","_options$keyExpr","_options$immutable","immutable","disableCache","logError","findItems","setDataByKeyMapValue","_dataByKeyMap","_dataByKeyMapLength","cloneInstanceWithChangedPaths","clonedInstances","instanceWithoutPrototype","dataByKeyMap","arrayLength","generateDataByKeyMap","getErrorResult","isBatch","errorCode","keyOrKeys","getCacheValue","newTarget","getHasKeyCacheValue","_array_query","TOTAL_COUNT","LOAD","BY_KEY","UPDATE","REMOVE","ensureRequiredFuncOption","throwInvalidUserFuncResult","createUserFuncFailureHandler","pendingDeferred","promiseArguments","XHR_ERROR_UNLOAD","invokeUserLoad","userResult","userFunc","_loadFunc","runRawLoad","userFuncOptions","continuation","__rawData","loadPromise","__rawDataPromise","_cacheRawData","runRawLoadWithQuery","countOnly","itemsQuery","totalCountQuery","rawDataQuery","waitList","asyncResult","_loadMode","cacheRawData","_totalCountFunc","_byKeyFunc","_insertFunc","_updateFunc","_removeFunc","clearRawDataCache","invokeUserTotalCountFunc","_byKeyViaLoad","runRawLoadWithKey","invokeUserByKeyFunc","serverResponse","_operation_manager","_options$reshapeOnPus","_changedTime","pushAggregationTimeout","pushDeferred","lastPushWaiters","throttlingTimeout","throttlingPushHandler","throttleChanges","_onPush","_onPushHandler","_aggregationTimeoutId","_storeLoadOptions","_extractLoadOptions","_mapFunc","_postProcessFunc","_loadQueue","_createLoadQueue","_searchValue","_searchOperation","searchOperation","_searchExpr","reshapeOnPush","_operationManager","_userData","_this$_delayedLoadTas","customNames","newIndex","generateStoreLoadOptionAccessor","normalizeStoreLoadOptionAccessorArguments","newFilter","argc","_this$_store","_scheduleFailCallbacks","CANCELED_TOKEN","_scheduleChangedCallbacks","loadSingle","isEmptyArray","_applyMapFunction","isPending","_loadFromStore","loadOperation","_createLoadOperation","changingArgs","dataSourceChanges","_addSearchOptions","_addSearchFilter","handleSuccess","_processStoreLoadResult","resolvePendingDeferred","_applyPostProcessFunction","mapDataRespectingGrouping","OperationManager","_counter","originalArguments","mapRecursive","mapGroup","createCustomStoreFromUrl","normalizationOptions","fromUrlLoadMode","storeConfig","createCustomStoreFromLoadFunc","IS_WINJS_ORIGIN","IS_LOCAL_ORIGIN","hostname","urlFor","production","Debug","debuggerEnabled","local","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","localStoreBackends","_dirty","_immediate","flushInterval","saveProxy","cordova","notifyChanged","_saveImpl","_backend","backend","_request_dispatcher","_requestDispatcher","entities","entityAlias","entityOptions","invoke","httpMethod","payload","formatFunctionInvocationUrl","escapeServiceOperationParams","objectLink","__metadata","uri","_byKeyUrl","_query_adapters","protocolVersion","forceLowerCase","fieldTypes","createBinaryOperationFormatter","createStringFuncFormatter","formatters","formattersV2","formattersV4","compileCore","STRING_FUNCTIONS","groupOperator","nextGroupOperator","criterion","compileGroup","compileUnary","_fieldTypes","fieldType","formatter","convertPrimitiveValue","compileBinary","filterToLower","createODataQueryAdapter","_select","_skip","_take","_countQuery","_sorting","_criteria","_expand","_oDataVersion","hasSlice","hasFunction","requestData","$orderby","$skip","$top","$select","generateSelect","$expand","generateExpand","$filter","$inlinecount","$count","selectIndex","nextTask","withCredentials","deserializeDates","isPaged","multiSort","skipCount","takeCount","RequestDispatcher","_url","_beforeSend","_jsonp","_version","_withCredentials","_deserializeDates","_filterToLower","keyTypeIsString","_legacyAnonymousKey","expandKeyType","mergeFieldTypesWithKeyType","_updateMethod","_loadOptions$urlOverr","urlOverride","customQueryParams","_convertKey","baseUrl","convertedKey","GUID_REGEX","VERBOSE_DATE_REGEX","ISO8601_DATE_REGEX","JSON_VERBOSE_MIME_TYPE","makeArray","hasDot","pad","formatISO8601","skipZeroTime","skipTimezone","padLeft2","ajaxOptions","_options$beforeSend","_request","_request2","isGet","useJsonp","ajaxData","qs","$format","ajaxOptionsForRequest","interpretJsonFormat","nextUrl","basePath","relativePath","baseParts","relativeParts","toAbsoluteUrl","nextData","transformOptions","_response","_response2","_response3","_response4","httpStatus","errorData","errorObj","_errorObj$message","currentError","innererror","internalexception","_currentMessage","formatDotNetError","errorDetails","customCode","errorFromResponse","interpretVerboseJsonFormat","interpretLightJsonFormat","transformTypes","_data$results","__next","__count","_obj$value","isoString","time","fractional","setMilliseconds","parseISO8601","serializeValueV4","serializeValueV2","serializeString","Int32","Int64","Single","oDataVersion","formatCore","selectValue","parseCore","exprParts","stepper","parseTree","exprs","generatorV2","generatorV4","_query_implementation","impl","_remote_query","remote","remoteQueryImpl","createTask","executorTask","_adapterFactory","_adapter","_taskQueue","_currentTask","_mergedSortArgs","unmergedTasks","rejectWithNotify","mergeSortTask","clientChain","filteredGroup","_query$setLangParams","keepInitialKeyOrder","throttled","throttle","unloading","textStatusMessages","parsererror","lockDeferred","obtain","release","key1","key2","bytes","stringToByteArray","getBase64Char","octet1","octet2","octet3","_data_controller","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","_addDataSourceChangeHandler","_addDataSourceLoadErrorHandler","_addDataSourceLoadingChangedHandler","_addReadyWatcher","_ready","_proxiedDataSourceChangedHandler","_proxiedDataSourceLoadErrorHandler","_proxiedDataSourceLoadingChangedHandler","_loadSingle","_isDataSourceLoading","_event_nodes_disposing","_emitter","_emitter_registrator","CLICK_EVENT_NAME","lastFiredEvent","onNodeRemove","clickHandler","eventAlreadyFired","DXCLICK_FIRED","unsubscribeNodesDisposing","subscribeNodesDisposing","ClickEmitter","blurPrevented","subscribeGlobal","_event_registrator","CONTEXTMENU_NAMESPACE","CONTEXTMENU_NAMESPACED_EVENT_NAME","HOLD_NAMESPACED_EVENT_NAME","CONTEXTMENU_EVENT_NAME","_contextMenuHandler","_holdHandler","_fireContextMenu","teardown","inactive","active","ACTIVE_EVENT_NAME","INACTIVE_EVENT_NAME","activeFeedback","FeedbackEvent","_timeout","_fire","_schedule","_timer","FeedbackEmitter","_active","_inactive","configure","activeTimeout","inactiveTimeout","activeChildExists","childJustActivated","_cancel","_initEvents","_getEmitterTarget","mouseEvent","deferFeedback","_fireEvent","skipTimers","lockInactive","_cancelCallback","_acceptCallback","isDxMouseWheelEvent","validatePointers","hasTouches","allowInterruptionByMouseWheel","addCancelCallback","removeCancelCallback","addAcceptCallback","removeAcceptCallback","_accept","_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","_event_registrator_callbacks","registerEvent","eventObject","bindType","delegateType","_hook_touch_props","EMPTY_EVENT_NAME","NATIVE_EVENTS_TO_SUBSCRIBE","mouseenter","mouseleave","pointerenter","pointerleave","NATIVE_EVENTS_TO_TRIGGER","focusin","focusout","NO_BUBBLE_EVENTS","forcePassiveFalseEventNames","matchesSafe","skipEvent","specialData","elementDataMap","guid","special","callMethod","eventsEngine","normalizeOnArguments","getHandlersController","addHandler","oneTimeHandler","normalizeTriggerArguments","extraParameters","handlersController","callHandlers","isPropagationStopped","_element$parentNode","nativeMethodName","localName","callNativeMethod","triggerHandler","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","iterateEventNames","calculateWhich","initEvent","EventClass","addProperty","hook","eventInstance","_propagationStopped","_immediatePropagationStopped","_defaultPrevented","propagationStopped","stopImmediatePropagation","normalizeEventArguments","_src$view","isTrusted","timeStamp","beforeSetStrategy","afterSetStrategy","engine","offArgs","touchPropsToHook","touchPropHook","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","_e$originalEvent","deltaMode","deltaZ","_normalizeDelta","DBLCLICK_EVENT_NAME","NAMESPACED_CLICK_EVENT","DblClick","_handlerCount","_forgetLastClick","_firstClickTarget","_lastClickTimeStamp","_clickHandler","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","_initEvent","_maxLeftOffset","_maxRightOffset","_maxTopOffset","_maxBottomOffset","targetElements","dropTargets","_dropTargets","dragOffset","_calculateOffset","_processDropTargets","_cancelPreventDefault","_calculateXOffset","_calculateYOffset","_startEventData","_fitOffset","maxOffset","_findDropTarget","_currentDropTarget","_fireDropTargetEvent","draggingElement","_checkDropTargetActive","dropTargetIndex","dropTargetSelectors","$delegatedTargets","delegatedTarget","$delegatedTarget","_checkDropTarget","getItemConfig","activeTarget","$prevTarget","dropTargetConfig","itemPositionFunc","targetSize","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","NAMESPACED_SCROLL_EVENT","isIos","isAndroid","SCROLL_EVENT","SCROLL_INIT_EVENT","SCROLL_START_EVENT","SCROLL_MOVE_EVENT","SCROLL_END_EVENT","SCROLL_STOP_EVENT","SCROLL_CANCEL_EVENT","Locker","_locked","_proxiedScroll","TimeoutLocker","_prepare","_forget","_clearTimer","WheelLocker","_lastWheelDirection","_checkDirectionChanged","directionChange","PointerLocker","_scrollFrame","_checkFrame","FRAME_DURATION","ScrollEmitter","_pointerLocker","_wheelLocker","scrollTarget","skipCheck","isNative","_prevEventData","isScrollingEvent","_savedEventData","currentEventData","endEventDelta","velocity","velocityMultiplier","_swipe","DX_SWIPEABLE","ACTION_TO_EVENT_MAP","onUpdated","swipe","onCancel","Swipeable","elastic","_createEventData","_eventData","HOLD_EVENT_NAME","HoldEmitter","_startTimer","holdTimeout","_holdTimer","_touchWasMoved","_stopTimer","HOVERSTART_NAMESPACE","HOVERSTART","POINTERENTER_NAMESPACED_EVENT_NAME","HOVEREND_NAMESPACE","HOVEREND","POINTERLEAVE_NAMESPACED_EVENT_NAME","Hover","_handlerArrayKeyPath","_eventNamespace","_originalEventName","_eventName","HoverStart","HoverEnd","_touch","_mouse","_mouse_and_touch","EventStrategy","getStrategy","pointerEvent","originalEvents","over","POINTER_EVENTS_NAMESPACE","_originalEvents","_isNoBubble","_originalEvent$target","_getDelegateTarget","eventSource","shadowRoot","_originalEvent$path","_originalEvent$compos","composedPath","_setSelector","_selector","_getSelector","_base","eventMap","dxpointerdown","dxpointermove","dxpointerup","dxpointercancel","dxpointerover","dxpointerout","dxpointerenter","dxpointerleave","normalizeMouseEvent","activated","activateStrategy","MouseStrategy","activate","resetObserver","MouseAndTouchStrategy","EVENT_LOCK_TIMEOUT","isMouse","_skipNextEvents","_mouseLocked","_unlockMouseTimer","normalizer","addEventsListener","pointerEquals","onPointerAdding","getPointerIndex","removePointer","normalizeTouchEvent","TouchStrategy","_pointerId","eventPropName","hover","dxClick","_keyboard_processor","opts","showTimeout","hideTimeout","shown","hiding","focusIn","focusOut","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","zoomstart","zoomend","zoom","translatestart","translateend","transformstart","transformend","rotatestart","rotateend","pinchstart","pinchend","pinch","START_POSTFIX","UPDATE_POSTFIX","END_POSTFIX","eventAliases","addAlias","deltaScale","deltaRotation","translation","deltaTranslation","getEventVector","centerX","centerY","vector","getScale","firstVector","secondVector","getRotation","distanceProduct","getTranslation","TransformEmitter","startVector","_startVector","_prevVector","_fireEventAliases","currentVector","eventPostfix","eventAlias","exportNames","DX_PREFIX","nodesByEvent","stopEventsSkipping","setEventFixMethod","isKeyboardEvent","isFakeClickEvent","getChar","forceSkipEvents","_add_namespace","KEY_MAP","LEGACY_KEY_CODES","EVENT_SOURCES_REGEX","dx","mouse","fixMethod","isDxEvent","isNativeTouchEvent","isNativeMouseEvent","screenX","skipEvents","isContentEditable","touchInEditable","copyEvent","normalizedKeyFromWhich","triggerResizeEvent","triggerVisibilityChangeEvent","changeHandlers","_export_data_grid","exportDataGrid","_export_pivot_grid","exportPivotGrid","exportingAction","exportedAction","fileSavingAction","blob","_file_saver","fileSaver","saveAs","svg","pdf","_image_creator","_svg_creator","_pdf_creator","creator","imageCreator","testFormats","svgCreator","ExportLoadPanel","_uiGrid_core","_$targetElement","_$container","_export_format","_export_load_panel","getFullOptions","fullOptions","worksheet","topLeftCell","_fullOptions$workshee","keepColumnWidths","encodeExecutableContent","convertDateForExcelJS","setNumberFormat","excelCell","numberFormat","numFmt","getCellStyles","dataProvider","tryConvertToExcelNumberFormat","newFormat","ExportFormat","formatObjectConverter","currency","convertFormat","setAlignment","wrapText","horizontalAlignment","_excelCell$alignment","getColumn","Helpers","getLoadPanelTargetElement","getLoadPanelContainer","_component$_getIntern","exportLoadPanel","internalComponent","_getInternalInstance","initialLoadPanelEnabledOption","outlineProperties","summaryBelow","summaryRight","cellRange","dataRowsCount","helpers","_exportAllFieldHeaders","fieldHeaderRowsCount","_getFieldHeaderRowsCount","_isRowFieldHeadersRow","_exportFieldHeaders","_trySetOutlineLevel","exportRow","mergedRangesManager","applyMergedRages","worksheetViewSettings","rightToLeft","_isFrozenZone","_getWorksheetFrozenState","_trySetAutoFilter","cellData","_getFirstColumnIndex","updateMergedRanges","cellInfo","findMergedCellInfo","_isHeaderCell","masterCell","_styles$dataProvider$","_trySetFont","_customizeCell","_export","autoFilterEnabled","_getFullOptions","DataGridHelpers","_getLoadPanelTargetElement","_getLoadPanelContainer","_export_merged_ranges_manager","MergedRangesManager","customizeCell","autoFilter","ySplit","outlineLevel","_isInfoCell","_allowToMergeRange","_getAllFieldHeaders","gridCell","_date2","DEFINED_NUMBER_FORMTATS","thousands","millions","billions","trillions","percent","decimal","fixedpoint","exponential","PERIOD_REGEXP","DAY_REGEXP","DO_REGEXP","STANDALONE_MONTH_REGEXP","HOUR_REGEXP","ANY_REGEXP","_includesCSVExpression","datePart","_convertDateFormatToOpenXml","defaultPattern","languageID","languageIDStr","languageInfo","ARABIC_ZERO_CODE","_hasArabicDigits","_getLanguageInfo","_convertDateFormat","excelFormat","getOpenXmlCurrencyFormat","_applyPrecision","_convertNumberFormat","escaped","_hasCSVInjection","textQualifier","_hasCSVQuotedInjection","escapedTextQualifier","mergedCells","mergedRanges","isCellInMergedRanges","_this$dataProvider$ge","allowToMergeRange","updateMergedCells","shouldReduceInfoRange","_allowExportRowFieldHeaders","isHeaderCell","addMergedRange","startRowIndex","fullAddress","endRowIndex","mergeCells","mergeRowFieldValues","mergeColumnFieldValues","exportDataFieldHeaders","exportRowFieldHeaders","exportColumnFieldHeaders","exportFilterFieldHeaders","PivotGridHelpers","filterFieldHeaders","_tryGetFieldHeaders","dataFieldHeaders","columnFieldHeaders","rowFieldHeaders","xSplit","_allowExportFilterFieldHeaders","_allowExportDataFieldHeaders","_allowExportColumnFieldHeaders","_getDefaultFieldHeaderCellsData","_getFieldHeaderStyles","borderStyle","argb","fieldHeader","pivotCell","shouldPreventCall","isLastInfoRangeCell","totalCellsCount","rowAreaColCount","totalColumnsCount","fieldHeaders","shouldMergeHeaderField","headerType","_applyHeaderStyles","_this$_getFieldHeader","MIME_TYPES","FILE_EXTESIONS","EXCEL","CSS","PNG","JPEG","GIF","SVG","PDF","_revokeObjectURLTimeout","_getDataUri","mimeType","_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","dispatchEvent","initMouseEvent","_saveBlobAs","_blobSaved","WinJS","webkitURL","mozURL","msURL","oURL","objectURL","downloadLink","_objectUrlRevoked","calcScaledInfo","canvas","_createCanvas","supported","unsupported","_color","_svg","parseAttributes","_abs","_sqrt","_pow","_atan2","_cos","_sin","TEXT_DECORATION_LINE_WIDTH_COEFF","DEFAULT_FONT_SIZE","DEFAULT_FONT_FAMILY","DEFAULT_TEXT_COLOR","arcTo","radius","clockwise","cBx","cBy","aB","opSide","adjSide","startAngle","endAngle","arc","getElementOptions","rootAppended","coords","translateX","translateY","rotationAngle","rotationX","rotationY","scaleX","scaleY","textDecorationLine","globalAlpha","parseStyles","parseUrl","urlString","setFontStyle","fontParams","hasTspan","drawTextElement","drawElement","mergedOptions","dy","commonWidth","xDiff","parentOptions","isText","isImage","isComment","transformElement","clipElement","strokeOpacity","fillOpacity","aggregateOpacity","beginPath","fillText","strokeElement","fillElement","drawTextDecoration","drawText","dAttr","prevParams","prevParamsLen","dArray","moveTo","lineTo","bezierCurveTo","closePath","drawPath","cornerRadius","drawRect","applyGradient","linearGradients","radialGradients","gradients","horizontalCenter","verticalCenter","maxRadius","gradient","createLinearGradient","createRadialGradient","colors","addColorStop","stopColor","_gradients$id$transfo","filterOptions","shadowOffsetX","shadowOffsetY","shadowColor","shadowBlur","clipPaths","clip","createGradient","_element$attributes$g","gradientTransform","asyncEach","drawCanvasElements","onDone","patterns","stdDeviation","hexColor","alpha","hex2rgba","setLineDash","lineJoin","strokeStyle","strokeText","pattern","patternCanvas","patternContext","createPattern","getPattern","convertSvgToCanvas","__parseAttributesFn","_ref4$svgToCanvas","svgToCanvas","scaledScreenInfo","setTransform","pixelRatio","invisibleDiv","svgElem","markupIsDomElement","createInvisibleDiv","drawBackground","getCanvasFromSvg","dataURL","getStringFromCanvas","binaryData","useBase64","_getBlob","_getBase64","dataArray","jsPDFDocument","autoTableOptions","_getDefaultAutoTableOptions","headStyles","bodyStyles","headerRowCount","pdfColumnWidths","_tryGetPdfColumnWidths","_setColumnWidths","_dataProvider$getCell","cellStyle","pdfCell","_getFormattedValue","_getPDFCellStyles","mergedRange","_tryGetMergeRange","_pdfCell$content","_row$0$colSpan","cellAlignment","pdfCellStyle","_dataProvider$getCell2","autoTableWidth","autoTableColumnStyles","addNewPage","getLineWidth","__borderWidth","resetDocBorderWidth","drawCellsContent","customDrawCell","cellsArray","docStyles","_rect","trySetColor","drawCellBackground","currentFont","docFont","getFontSize","setTextStyles","_cell$_textLeftOffset","_cell$_textTopOffset","textRect","_textLeftOffset","_textTopOffset","roundToThreeDecimals","discardPath","clipOutsideRectContent","drawTextInRect","_internalTextOptions","drawCellText","drawCellsLines","drawBorders","drawGridLines","drawLine","getDocumentStyles","getDocBorderWidth","getDrawColor","getTextColor","setDocumentStyles","setDocBorderWidth","_pdf_utils","startX","endX","endY","jsPDFTextOptions","textArray","linesCount","heightOfOneLine","calculateTextHeight","targetRectWidth","vAlign","hAlign","verticalAlignCoefficientsMap","middle","getLineHeightFactor","getLineHeightShift","textOptions","baseline","_ref$drawLeftBorder","drawLeftBorder","_ref$drawRightBorder","drawRightBorder","_ref$drawTopBorder","drawTopBorder","_ref$drawBottomBorder","drawBottomBorder","setLinesStyles","currentBorderWidth","toPdfUnit","getterName","setterName","_color$ch","ch1","ch2","ch3","ch4","__private__","decodeColorString","encodeColorString","_doc$__borderWidth","_normalizeOptions","_row_utils","_height_updater","_rows_generator","_rows_splitting","_draw_utils","topLeft","repeatHeaders","normalizeBoundaryValue","_options$rowOptions","_options$rowOptions$h","generateRowsInfo","headerStyles","normalizeRowsInfo","initializeCellsWidth","resizeFirstColumnByIndentLevel","applyColSpans","calculateHeights","applyRowSpans","updateRowsAndCellsHeights","calculateCoordinates","applyBordersConfig","applyWordWrap","rectsByPages","splitByPages","_sourceRect$sourceCel","sourceRect","leftRect","rightRect","leftRectTextOptions","rightRectTextOptions","sourceCellInfo","_sourceRect$sourceCel2","_sourceRect$sourceCel4","_sourceRect$sourceCel5","rightRectTextOffset","leftRectTextOffset","_sourceRect$sourceCel3","isTextWidthGreaterThanRect","isTextRightAlignment","_isTextWidthGreaterThanRect","isTextLeftAlignment","_sourceRect$sourceCel6","_sourceRect$sourceCel8","_sourceRect$sourceCel10","leftTextLeftOffset","rightTextLeftOffset","_sourceRect$sourceCel7","_sourceRect$sourceCel9","debugSourceCellInfo","_sourceRect$sourceCel11","topRect","bottomRect","topRectTextOptions","bottomRectTextOptions","_sourceRect$sourceCel12","isTextHeightGreaterThanRect","getTextDimensions","isTextTopAlignment","_sourceRect$sourceCel13","_sourceRect$sourceCel15","_sourceRect$sourceCel17","topTextTopOffset","bottomTextTopOffset","_sourceRect$sourceCel14","_sourceRect$sourceCel16","applyRtl","pdfCellsInfo","tableRect","calculateTableSize","baseStyle","getBaseTableStyle","rowsAdditionalHeights","sortedRows","getMaxRowSpan","spansArray","_cell$rowSpan2","row1","row2","row1RowSpan","row2RowSpan","sortRowsByMaxRowSpanAsc","calculateTargetRectWidth","cellHeight","currentRowSpanRowsHeight","spanIndex","calculateAdditionalRowsHeights","_cell$rowSpan","_value$top","_value$right","_value$bottom","_value$left","pageRects","mirroredX","marginDiff","getTextLines","calculateRowHeight","DOTS_TEXT","usedFont","textWithoutLineBreak","symbolsCountToRemove","leftPdfCell","topPdfCell","isMerged","mergedCell","_topLeft$y","_topLeft$x","intend","indentLevel","customerHeight","pdfCells","onRowExporting","rowCells","_leftPos","_options$topLeft","_topPos","_options$topLeft2","topPos","rightPos","bottomPos","topLeftX","customerColumnWidths","totalAutoColumnsWidth","getSum","totalCustomerColumnsWidth","availablePageWidth","getAvailablePageAreaWidth","_customerColumnWidths","calculateColumnWidths","dataGrid","headerBackgroundColor","previousRow","generateRowCells","defaultStyles","groupFooter","totalFooter","_style$alignment","getPdfCellStyle","defaultAlignment","paddingValue","isInputVisual","isOutputVisual","isInputRtl","isOutputRtl","cellMerging","drawLeftBorderField","drawRightBorderField","isEmptyCellsExceptFirst","createOnSplitMultiPageRow","createMultiCellRect","maxBottomRight","isFirstPage","currentPageRects","nextPageRects","maxCurrentPageHeight","maxNextPageHeight","additionalHeight","paddingHeight","fullPageHeight","possibleLinesCount","allLines","currentPageText","currentPageHeight","_currentPageHeight","getMultiPageRowPages","checkPageContainsOnlyHeader","isHeader","rectsToSplit","isCurrentPageContainsOnlyHeader","splitMultiPageRowFunc","checkIsFitToPageFunc","currentPageLastRect","nextPageFirstRect","rectsToPatch","_spitMultiPageRows","firstRectYAdjustment","_splitMultiPageRowFun2","newPageRects","remainPageRects","newPageRectsArray","_splitMultiPageRowFun4","spitMultiPageRows","_spitMultiPageRows2","multiPageRowPages","rectIndex","untouchedRowIdx","patchRects","onSeparateRectHorizontally","onSeparateRectVertically","verticallyPages","splitRectsByPages","convertToCellsArray","currentCoordinate","currentPageMaxRectCoordinate","_create_on_split_multipage_row","headerCells","horizontallyPages","pagesLength","rects","_get_multipage_row_pages","COORDINATE_EPSILON","marginValue","coordinate","isFitToPage","onSeparateCallback","onSplitMultiPageRow","pages","isFitToPageForMultiPageRow","rectHeight","currentRectCoordinate","currentRectLeft","currentRectRight","_multiPageRowPages","firstPage","restOfPages","HOW_TO_MIGRATE_ARTICLE","exportGantt","imageString","dateUnits","composePdfString","getCurDate","getUTCFullYear","getTwoDigitValue","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","getBlob","getBase64","curDate","_calcScaledInfo","mainPageLength","contentLength","infoLength","widthPt","heightPt","flooredWidth","flooredHeight","mainPage","mainContent","_markup","_imageArray","_imageDeferreds","_getBinaryFile","_loadImages","binary","_parseImages","_prepareImages","$svgObject","dataURI","regexpString","_FileSystemProviderBa","_hasSubDirsGetter","hasSubDirectoriesExpr","_getItemsFunction","_ensureFunction","_renameItemFunction","renameItem","_createDirectoryFunction","createDirectory","_deleteItemFunction","deleteItem","_moveItemFunction","moveItem","_copyItemFunction","copyItem","_uploadFileChunkFunction","uploadFileChunk","_abortFileUploadFunction","abortFileUpload","_downloadItemsFunction","downloadItems","_getItemsContentFunction","getItemsContent","parentDir","pathInfo","getFullPathInfo","_executeActionAsDeferred","dataItems","_convertDataObjectsToFileItems","moveItems","destinationDirectory","copyItems","destinationFolder","fileData","chunksInfo","_hasSubDirs","hasSubDirs","_getKeyExpr","functionObject","defaultFunction","fileSystemItem","NoAccess","FileExists","FileNotFound","DirectoryExists","DirectoryNotFound","WrongFileExtension","MaxFileSizeExceeded","InvalidSymbols","Other","_publicCtor","_internalCtor","isDirectory","parentPath","_getPathByPathInfo","relativeName","pathCombine","pathKeys","_initialize","pathInfoPart","dateModified","thumbnail","tooltipText","getFileExtension","createClone","hasSubDirectories","getEscapedFileName","PATH_SEPARATOR","_jszip","_provider_base","_error_codes","_subFileItemsGetter","_subFileItemsSetter","_getSetter","contentExpr","_contentGetter","_contentSetter","nameExpr","_getNameExpr","_nameSetter","isDirExpr","_getIsDirExpr","_getIsDirSetter","sizeExpr","_getSizeExpr","_sizeSetter","dateModifiedExpr","_getDateModifiedExpr","_dateModifiedSetter","_renameItemCore","_findDataObject","_ensureDataObjectKey","_validateDirectoryExists","_createDataObject","_deleteItem","destinationDir","destinationDataItem","_getDirectoryDataItems","_checkAbilityToMoveOrCopyItem","copiedItem","_createCopy","chunkIndex","_createFileReader","_downloadSingleFile","_downloadMultipleFiles","_getFileContent","byteString","zip","getJSZip","compression","generateAsync","generate","directoryInfo","_isFileItemExists","_isDirGetter","fileItem","_getKeyFromDataObject","_getDataObjectKey","parentDataItem","copyObj","_nameGetter","itemsCopy","childItem","childCopy","parentDirDataObj","_findFileItemObj","directoryDataObj","parentDirKey","dirFileObjects","directoryEntry","_ensureKeysForDuplicateNameItems","dataObjects","fileItemObj","fileItemObjects","hasCorrectFileItemType","defaultKeyPrefix","subItems","FileSystemProviderBase","_sizeGetter","_dateModifiedGetter","_thumbnailGetter","thumbnailExpr","parentDirectory","getFileUploadChunkSize","_createFileItem","_defaultKeyExpr","isDirectoryExpr","keepResult","_data2","FILE_SYSTEM_COMMNAD","REQUEST_METHOD","_endpointUrl","endpointUrl","_beforeAjaxSend","beforeAjaxSend","_beforeSubmit","beforeSubmit","_requestHeaders","requestHeaders","_executeRequest","sourcePathInfo","sourceIsDirectory","destinationPathInfo","uploadId","chunkMetadata","UploadId","FileName","Index","TotalCount","chunkCount","FileSize","chunkBlob","_beforeSendInternal","success","_getDownloadArgs","$form","formDataEntries","_beforeSubmitInternal","_appendFormDataInputsToForm","pathInfoList","argsStr","_getItemsIds","_getEndpointUrl","formData","ajaxArguments","_createFormData","FormData","entryName","formElement","queryString","_getQueryString","_processQueryStringArrayParam","_getQueryStringPair","getParentPath","includeFullPath","formatIsValid","valueIsValid","getTimeFormat","showSecond","_normalizeFormat","formatPart","getDateFormatByDifferences","dateDifferences","intervalFormat","resultFormat","needSpecialSecondFormatter","getDateFormatByTicks","ticks","maxDiff","currentDiff","startValue","endValue","correctDateDifferences","minDate","maxDate","_jquery","_use_jquery","singleArg","_themes_callback","themeReadyCallback","holdReady","POINTER_TYPE_MAP","fixHooks","mouseHooks","DX_EVENT_HOOKS","fixHook","propIndex","addProp","_renderer_base","disableIntl","loadMessages","formatNumber","parseNumber","af","agq","ak","am","as","asa","ast","az","bas","be","bem","bez","bg","bm","bn","bo","br","brx","bs","ca","ccp","ce","ceb","cgg","chr","ckb","cs","da","dav","de","dje","doi","dsb","dua","dyo","dz","ebu","en","eo","es","eu","ewo","fa","ff","fi","fil","fo","fr","fur","fy","ga","gd","gl","gsw","gu","guz","gv","ha","haw","he","hi","hr","hsb","hu","hy","ia","ig","ja","jgo","jmc","jv","ka","kab","kam","kde","kea","kgp","khq","ki","kkj","kl","kln","km","kn","ko","kok","ks","ksb","ksf","ksh","ku","kw","ky","lag","lb","lg","lkt","lo","lrc","lt","lu","luo","luy","lv","mai","mas","mer","mfe","mg","mgh","mgo","mi","mk","ml","mn","mni","mr","mt","mua","mzn","naq","nb","nd","nds","ne","nl","nmg","nn","nnh","no","nus","nyn","om","os","pa","pcm","pl","ps","pt","qu","rm","rn","ro","rof","ru","rw","rwk","sa","sah","saq","sat","sbp","sc","sd","seh","ses","sg","shi","si","sk","sl","smn","sn","so","sq","sr","su","sv","sw","ta","te","teo","tg","ti","tk","twq","tzm","ug","uk","und","ur","uz","vai","vi","vun","wae","wo","xh","xog","yav","yi","yo","yrl","yue","zgh","zh","zu","enCldr","main","_cldrVersion","calendars","gregorian","abbreviated","narrow","wide","sun","mon","tue","wed","thu","fri","short","dayPeriods","midnight","noon","pm","morning1","afternoon1","evening1","night1","eras","eraNames","eraAbbr","eraNarrow","dateFormats","long","medium","timeFormats","dateTimeFormats","availableFormats","Bh","Bhm","Bhms","EBhm","EBhms","Ed","Ehm","EHm","Ehms","EHms","Gy","GyMMM","GyMMMd","GyMMMEd","Hm","hms","Hms","hmsv","Hmsv","hmv","Hmv","Md","MEd","MMM","MMMd","MMMEd","MMMMd","yM","yMd","yMEd","yMMM","yMMMd","yMMMEd","yMMMM","yQQQ","yQQQQ","numbers","defaultNumberingSystem","otherNumberingSystems","minimumGroupingDigits","percentSign","plusSign","minusSign","superscriptingExponent","perMille","infinity","nan","timeSeparator","standard","currencySpacing","beforeCurrency","currencyMatch","surroundingMatch","insertBetween","afterCurrency","accounting","currencies","ADP","AED","AFA","AFN","ALK","ALL","AMD","ANG","AOA","AOK","AON","AOR","ARA","ARL","ARM","ARP","ARS","ATS","AUD","AWG","AZM","AZN","BAD","BAM","BAN","BBD","BDT","BEC","BEF","BEL","BGL","BGM","BGN","BGO","BHD","BIF","BMD","BND","BOB","BOL","BOP","BOV","BRB","BRC","BRE","BRL","BRN","BRR","BRZ","BSD","BTN","BUK","BWP","BYB","BYN","BYR","BZD","CAD","CDF","CHE","CHF","CHW","CLE","CLF","CLP","CNH","CNX","CNY","COP","COU","CRC","CSD","CSK","CUC","CUP","CVE","CYP","CZK","DDM","DEM","DJF","DKK","DOP","DZD","ECS","ECV","EEK","EGP","ERN","ESA","ESB","ESP","ETB","EUR","FIM","FJD","FKP","FRF","GBP","GEK","GEL","GHC","GHS","GIP","GMD","GNF","GNS","GQE","GRD","GTQ","GWE","GWP","GYD","HKD","HNL","HRD","HRK","HTG","HUF","IDR","IEP","ILP","ILR","ILS","INR","IQD","IRR","ISJ","ISK","ITL","JMD","JOD","JPY","KES","KGS","KHR","KMF","KPW","KRH","KRO","KRW","KWD","KYD","KZT","LAK","LBP","LKR","LRD","LSL","LTL","LTT","LUC","LUF","LUL","LVL","LVR","LYD","MAD","MAF","MCF","MDC","MDL","MGA","MGF","MKD","MKN","MLF","MMK","MNT","MOP","MRO","MRU","MTL","MTP","MUR","MVP","MVR","MWK","MXN","MXP","MXV","MYR","MZE","MZM","MZN","NAD","NGN","NIC","NIO","NLG","NOK","NPR","NZD","OMR","PAB","PEI","PEN","PES","PGK","PHP","PKR","PLN","PLZ","PTE","PYG","QAR","RHD","ROL","RON","RSD","RUB","RUR","RWF","SAR","SBD","SCR","SDD","SDG","SDP","SEK","SGD","SHP","SIT","SKK","SLL","SOS","SRD","SRG","SSP","STD","STN","SUR","SVC","SYP","SZL","THB","TJR","TJS","TMM","TMT","TND","TOP","TPE","TRL","TRY","TTD","TWD","TZS","UAH","UAK","UGS","UGX","USD","USN","USS","UYI","UYP","UYU","UYW","UZS","VEB","VEF","VES","VND","VNN","VUV","WST","XAF","XAG","XAU","XBA","XBB","XBC","XBD","XCD","XDR","XEU","XFO","XFU","XOF","XPD","XPF","XPT","XRE","XSU","XTS","XUA","XXX","YDD","YER","YUD","YUM","YUN","YUR","ZAL","ZAR","ZMK","ZMW","ZRN","ZRZ","ZWD","ZWL","ZWR","supplementalCldr","supplemental","_unicodeVersion","likelySubtags","aa","aai","aak","aau","ab","abi","abq","abr","abt","aby","acd","ace","ach","ada","ade","adj","adp","ady","adz","ae","aeb","aey","agc","agd","agg","agm","ago","aha","ahl","aho","ajg","akk","ala","ali","aln","amm","amn","amo","amp","an","anc","ank","ann","any","aoj","aom","aoz","apc","apd","ape","apr","aps","apz","arh","arn","aro","arq","ars","ary","arz","ase","asg","aso","ata","atg","atj","auy","av","avl","avn","avt","avu","awa","awb","awo","awx","ay","ayb","ba","bal","ban","bap","bar","bav","bax","bba","bbb","bbc","bbd","bbj","bbp","bbr","bcf","bch","bci","bcm","bcn","bco","bcq","bcu","bdd","bef","beh","bej","bet","bew","bex","bfd","bfq","bft","bfy","bgc","bgn","bgx","bhb","bhg","bhi","bhl","bho","bhy","bi","bib","big","bik","bim","bin","bio","biq","bjh","bji","bjj","bjn","bjo","bjr","bjt","bjz","bkc","bkm","bkq","bku","bkv","blt","bmh","bmk","bmq","bmu","bng","bnm","bnp","boj","bom","bon","bpy","bqc","bqi","bqp","bqv","bra","brh","brz","bsj","bsq","bss","bst","bto","btt","btv","bua","buc","bud","bug","buk","bum","buo","bus","buu","bvb","bwd","bwr","bxh","bye","byn","byr","bys","byv","byx","bza","bze","bzf","bzh","bzw","can","cbj","cch","cfa","chk","chm","cho","chp","cic","cja","cjm","cjv","ckl","cko","cky","cla","cme","cmg","co","cop","cps","cr","crh","crj","crk","crl","crm","crs","csb","csw","ctd","cu","cv","dad","daf","dag","dah","dak","dar","dbd","dbq","dcc","ddn","ded","den","dga","dgh","dgi","dgl","dgr","dgz","dia","dnj","dob","dop","dow","drh","dri","drs","dtm","dtp","dts","dty","duc","dud","dug","dv","dva","dww","dyu","dzg","efi","egl","egy","eka","eky","ema","emi","enn","enq","eri","esg","esu","etr","ett","etu","etx","faa","fab","fag","fai","fan","ffi","ffm","fia","fj","flr","fmp","fod","fon","for","fpe","fqs","frc","frp","frr","frs","fub","fud","fue","fuf","fuh","fuq","fuv","fuy","fvr","gaa","gaf","gag","gah","gaj","gam","gan","gaw","gay","gba","gbf","gbm","gby","gbz","gcr","gde","gdn","gdr","geb","gej","gel","gez","gfk","ggn","ghs","gil","gim","gjk","gjn","gju","gkn","gkp","glk","gmm","gmv","gn","gnd","gng","god","gof","goi","gom","gon","gor","gos","got","grb","grc","grt","grw","gub","guc","gud","gur","guw","gux","gvf","gvr","gvs","gwc","gwi","gwt","gyi","hag","hak","ham","haz","hbb","hdy","hhy","hia","hif","hig","hih","hil","hla","hlu","hmd","hmt","hnd","hne","hnj","hnn","hno","ho","hoc","hoj","hot","hsn","hui","hz","ian","iar","iba","ibb","iby","ica","ich","idd","idi","idu","ife","igb","ige","ijj","ik","ikk","ikt","ikw","ikx","ilo","imo","in","inh","io","iou","iri","iu","iw","iwm","iws","izh","izi","jab","jam","jbo","jbu","jen","jgk","ji","jib","jml","jra","jut","jw","kaa","kac","kad","kai","kaj","kao","kbd","kbm","kbp","kbq","kbx","kby","kcg","kck","kcl","kct","kdh","kdl","kdt","ken","kez","kfo","kfr","kfy","kg","kge","kgf","kha","khb","khn","khs","kht","khw","khz","kij","kiu","kiw","kj","kjd","kjg","kjs","kjy","kkc","klq","klt","klx","kmb","kmh","kmo","kms","kmu","kmw","knf","knp","koi","kol","kos","koz","kpe","kpf","kpo","kpr","kpx","kqb","kqf","kqs","kqy","kr","krc","kri","krj","krl","krs","kru","ksd","ksj","ksr","ktb","ktm","kto","ktr","kub","kud","kue","kuj","kum","kun","kup","kus","kv","kvg","kvr","kvx","kwj","kwo","kwq","kxa","kxc","kxe","kxm","kxp","kxw","kxz","kye","kyx","kzj","kzr","kzt","la","lab","lad","lah","laj","las","lbe","lbu","lbw","lcm","lcp","ldb","led","lee","lem","lep","leq","leu","lez","lgg","lia","lid","lif","lig","lih","lij","lis","ljp","lki","lle","lln","lmn","lmo","lmp","lns","lnu","loj","lok","lol","lor","los","loz","ltg","lua","luz","lwl","lzh","lzz","mad","maf","mag","mak","man","maw","maz","mbh","mbo","mbq","mbu","mbw","mci","mcp","mcq","mcr","mcu","mda","mde","mdf","mdh","mdj","mdr","med","mee","mek","men","met","meu","mfa","mfn","mfo","mfq","mgl","mgp","mgy","mh","mhi","mhl","mif","mis","miw","mki","mkl","mkp","mkw","mle","mlp","mls","mmo","mmu","mmx","mna","mnf","mnw","mo","moa","moe","moh","mos","mox","mpp","mps","mpt","mpx","mql","mrd","mrj","mro","mtc","mtf","mti","mtr","mur","mus","mva","mvn","mvy","mwk","mwr","mwv","mww","mxc","mxm","myk","mym","myv","myw","myx","myz","mzk","mzm","mzp","mzw","mzz","na","nac","naf","nak","nap","nas","nca","nce","ncf","nch","nco","ncu","ndc","neb","new","nex","nfr","ng","nga","ngb","ngl","nhb","nhe","nhw","nif","nii","nij","nin","niu","niy","niz","njo","nkg","nko","nmz","nnf","nnk","nnm","nnp","nod","noe","non","nop","nou","nqo","nr","nrb","nsk","nsn","nso","nss","ntm","ntr","nui","nup","nuv","nux","nv","nwb","nxq","nxr","ny","nym","nzi","oc","ogc","okr","okv","ong","onn","ons","opm","oro","oru","osa","ota","otk","ozm","pag","pal","pam","pap","pau","pbi","pcd","pdc","pdt","ped","peo","pex","pfl","phl","phn","pil","pip","pka","pko","pla","pms","png","pnn","pnt","pon","ppa","ppo","pra","prd","prg","pss","ptp","puu","pwa","quc","qug","rai","raj","rao","rcf","rej","rel","rgn","rhg","ria","rif","rjs","rkt","rmf","rmo","rmt","rmu","rna","rob","roo","rro","rtm","rue","rug","rwo","ryu","saf","sas","sav","saz","sba","sbe","sck","scl","scn","sco","scs","sdc","sdh","sef","sei","sga","sgs","sgw","sgz","shk","shn","shu","sid","sig","sil","sim","sjr","skc","skr","sks","sld","sli","sll","sly","sm","sma","smj","smp","smq","sms","snc","snk","snp","snx","sny","sog","sok","soq","sou","soy","spd","spl","sps","srb","srn","srr","srx","ss","ssd","ssg","ssy","stk","stq","sua","sue","suk","sur","sus","swb","swc","swg","swp","swv","sxn","sxw","syl","syr","szl","taj","tal","taq","tbc","tbd","tbf","tbg","tbo","tbw","tbz","tci","tcy","tdd","tdg","tdh","tdu","ted","tem","tet","tfi","tgc","tgo","tgu","thl","thq","thr","tif","tig","tik","tim","tio","tiv","tkl","tkr","tkt","tl","tlf","tlx","tly","tmh","tmy","tn","tnh","tof","tog","toq","tpi","tpm","tpz","tqo","tru","trv","trw","ts","tsd","tsf","tsg","tsj","tsw","ttd","tte","ttj","ttr","tts","ttt","tuh","tul","tum","tuq","tvd","tvl","tvu","twh","txg","ty","tya","tyv","ubu","udm","uga","uli","umb","unr","unx","uok","urt","urw","usa","utr","uvh","uvl","vag","van","ve","vec","vep","vic","viv","vls","vmf","vmw","vo","vot","vro","vut","wa","waj","wal","wan","war","wbp","wbq","wbr","wci","wer","wgi","whg","wib","wiu","wiv","wja","wji","wls","wmo","wnc","wni","wnu","wob","wos","wrs","wsg","wsk","wtm","wuu","wuv","wwa","xav","xbi","xcr","xes","xla","xlc","xld","xmf","xmn","xmr","xna","xnr","xon","xpr","xrb","xsa","xsi","xsm","xsr","xwe","yam","yao","yap","yas","yat","yay","yaz","yba","ybb","yby","yer","ygr","ygw","yko","yle","ylg","yll","yml","yon","yrb","yre","yss","yua","yuj","yut","yuw","za","zag","zdj","zea","zhx","zia","zlm","zmi","zne","zza","timeData","AX","_allowed","_preferred","BQ","CP","CZ","DK","FI","ID","IS","ML","NE","RU","SE","SJ","SK","AS","BT","DJ","ER","GH","IN","LS","PG","PW","SO","TO","VU","WS","AL","ca_ES","CF","CM","fr_CA","gl_ES","it_CH","it_IT","LU","NP","SM","SN","TF","VA","CY","GR","CO","DO","KP","KR","NA","PA","PR","VE","AC","AI","BW","BZ","CC","CK","CX","DG","FK","GB","GG","GI","IM","IO","JE","MK","MN","MS","NF","NG","NR","NU","PN","SH","SX","TA","ZA","af_ZA","AR","CL","CR","CU","EA","es_BO","es_BR","es_EC","es_ES","es_GQ","es_PE","GT","HN","IC","KG","KM","LK","MA","MX","NI","PY","SV","UY","JP","AD","AM","AO","AT","AW","BE","BF","BJ","BL","BR","CG","CI","CV","DE","FR","GA","GF","GN","GP","GW","HR","IL","IT","KZ","MC","MD","MF","MQ","MZ","NC","NL","PM","PT","RE","RO","SI","SR","ST","TG","WF","YT","BD","PK","AZ","BA","BG","CH","GE","LI","ME","RS","UA","UZ","XK","AG","AU","BB","BM","BS","CA","DM","en_001","FJ","FM","GD","GM","GU","GY","JM","KI","KN","KY","LC","LR","MH","MP","MW","NZ","SB","SG","SL","SZ","TC","TT","UM","US","VC","VG","VI","ZM","BO","EC","ES","GQ","PE","AE","ar_001","BH","DZ","EG","EH","IQ","JO","KW","LB","LY","MR","OM","PH","PS","QA","SA","SD","SY","TN","YE","AF","LA","LV","TL","zu_ZA","CD","IR","hi_IN","kn_IN","ml_IN","te_IN","KH","ta_IN","BN","MY","CN","ET","gu_IN","HK","MO","mr_IN","pa_IN","TW","KE","MM","TZ","UG","weekData","minDays","AN","FO","HU","NO","PL","firstDay","BY","MT","MV","TH","TJ","TM","VN","ZW","weekendStart","weekendEnd","_ordering","currencyData","fractions","_rounding","_digits","_cashRounding","_cashDigits","region","_from","_to","AQ","_tender","BI","BU","BV","CS","CW","DD","EU","GL","GS","HM","HT","MG","MU","RW","SU","TK","TP","TV","YD","YU","ZR","ZZ","numberingSystems","adlm","ahom","arab","arabext","armn","armnlow","bali","beng","bhks","brah","cakm","cham","cyrl","deva","ethi","fullwide","geor","gong","gonm","grek","greklow","gujr","guru","hanidays","hanidec","hans","hansfin","hant","hantfin","hebr","hmng","hmnp","java","jpan","jpanfin","jpanyear","kali","khmr","knda","lana","lanatham","laoo","latn","lepc","limb","mathbold","mathdbl","mathmono","mathsanb","mathsans","mlym","modi","mong","mroo","mtei","mymr","mymrshan","mymrtlng","newa","nkoo","olck","orya","osma","rohg","roman","romanlow","saur","shrd","sind","sinh","sora","sund","takr","talu","taml","tamldec","telu","thai","tibt","tirh","vaii","wara","wcho","_parent_locales","_parentLocale","currentLocale","DEFAULT_LOCALE","getValueByClosestLocale","isRootLocale","_formatNumberCore","formatConfig","currencyPart","getCurrencySymbol","_date3","_first_day_of_week_data","_date4","hasIntl","FORMATS_TO_PATTERN_MAP","shortdate","shorttime","longdate","longtime","monthandday","monthandyear","quarterandyear","shortdateshorttime","longdatelongtime","shortyear","dayofweek","possiblePartPatterns","dateLocalization","_getPatternByFormat","_expandPattern","formatUsesMonthName","formatUsesDayName","getFormatParts","partName","possiblePatterns","getPeriodNames","getTimeSeparator","is24HourFormat","amTime","pmTime","amTimeFormatted","pmTimeFormatted","convertDigits","ldmlFormat","getParser","firstDayOfWeekIndex","MONTHS","DAYS","PERIODS","QUARTERS","cutCaptions","captions","lengthByFormat","defaultMessages","Yes","No","Cancel","Close","Clear","Done","Loading","Select","Search","Back","OK","_globalize","_en","_supplemental","_locale","_open_xml_currency_format","_number2","CURRENCY_STYLES","formatCurrency","formattersCache","formatCacheKey","currencyFormatter","globalizeCurrencyLocalization","_normalizeFormatConfig","normalizedConfig","_formatConfig$useCurr","useAccountingStyle","useCurrencyAccountingStyle","_formatNumber","_parseNumberFormatString","cldr","currencySymbol","accountingFormat","ACCEPTABLE_JSON_FORMAT_PROPERTIES","RTL_MARKS_REGEX","FORMATS_TO_GLOBALIZE_MAP","globalizeDateLocalization","lowerFormat","globalizeFormat","_getFormatStringByPath","removeRtlMarks","dateFormatter","_isAcceptableFormat","_getDayKeys","_core2","originalLoadMessages","globalizeMessageLocalization","_dictionary","getMessagesByLocales","_getFormatterBase","_formatterByGlobalize","currentGlobalize","_messageLoaded","messageFormatter","numberFormatter","globalizeNumberLocalization","minimumIntegerDigits","useGrouping","minimumFractionDigits","maximumFractionDigits","_getPrecisionConfig","SYMBOLS_TO_REMOVE_REGEX","NARROW_NO_BREAK_SPACE_REGEX","getIntlFormatter","timeZoneName","recognizableAsTwentyCentury","temporaryYearValue","utcDate","formatDateTime","timeZone","DateTimeFormat","numeralsMapCache","NumberFormat","getAlternativeNumeralsMap","normalizeNumerals","dateString","alternativeNumeralsMap","removeLeadingZeroes","normalizeMonth","intlFormats","weekday","resolvedOptions","monthNameStrategies","standalone","monthIndex","monthFormat","dayIndex","hour12Formatter","hour12","hourNumberText","timeParts","intlFormat","_parseDateBySimpleFormat","formatParts","dateArgs","_generateDateArgs","constructValidDate","ampmShift","actual","expected","parsedDate","hoursShift","formattedDate","_accounting_formats","detectCurrencySymbolRegex","fractionDigits","currencySign","_getCurrencySymbolInfo","getCurrencyFormatter","_extractCurrencySymbolInfo","currencyValueString","delimiter","targetCurrency","closestAccountingFormat","LANGUAGE_CODES","quz","qut","prs","FORMAT_SEPARATORS","checkDigit","zeroCode","checkPatternContinue","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","period","timezoneOffset","signPart","timezoneOffsetAbs","hoursPart","minutesPart","charIndex","isCurrentCharEqualsNext","charCount","isEscaping","isPossibleForParsingFormat","getRegExpInfo","getPatternSetters","monthRegExpGenerator","PATTERN_REGEXPS","countSuffix","caseInsensitiveIndexOf","monthPatternParser","PATTERN_PARSERS","periodNames","ORDERED_PATTERNS","PATTERN_SETTERS","datePartValues","hourPartValue","getSameCharCount","regexpText","stubText","addPreviousStub","regexpPart","digitFieldSymbols","isDigitPattern","possibleForParsing","ambiguousDigitPatternsCount","regExpInfo","regExpResult","formatPatterns","maxPatternIndex","orderedFormatPatterns","otherPatterns","getOrderedFormatPatterns","regExpPattern","regExpText","patternChar","partSetter","partParser","setPatternPart","setPatternPartFromNow","isPercent","prepareValueText","positiveFormat","getFormatByValueText","negativeFormat","DEFAULT_CONFIG","signFormatParts","signParts","getSignParts","isPositive","floatPointIndex","isEscape","getFloatPointIndex","floatFormatParts","minFloatPrecision","getRequiredDigitCount","maxFloatPrecision","getNonRequiredDigitCount","isPercentFormat","PERCENT_EXPONENT_SHIFT","formatString","minIntegerPrecision","maxIntegerPrecision","unlimitedIntegerDigits","integerLength","floatPrecision","MAXIMUM_NUMBER_LENGTH","groupSizes","singleQuotesLeft","valueParts","valueIntegerPart","normalizeValueString","reverseString","valueFloatPart","applyGroups","integerString","formatNumberPart","floatString","ESCAPING_CHAR","removeStubs","floatFormat","valuePart","minDigitCount","maxDigitCount","escapeIndex","isIntegerPart","nextValueText","hasGroups","valueTextParts","decimalSeparatorIndex","_default_messages","baseDictionary","newMessages","_localizablePrefix","localizablePrefix","localizeString","escapeString","localizationKey","getDictionary","onlyNew","localeData","getDataByLocale","_currency","NUMERIC_FORMATS","LargeNumberFormatPostfixes","LargeNumberFormatPowers","largenumber","numberLocalization","numericFormats","defaultLargeNumberFormatPostfixes","formatList","power","_calculateNumberPower","minPower","maxPower","_getNumberByPower","powerPostfix","_formatNumberExponential","powString","_addZeroes","multiplier","_addGroupSeparators","_getSeparators","getThousandsSeparator","toStandard","digits","fromFirstDigit","toFirstDigit","fromLastDigit","regExp","getNegativeEtalonRegExp","separators","digitalRegExp","negativeEtalon","getSign","numberConfig","formatterConfig","cleanedText","_calcSignificantDigits","_text$split2","calcDigitsAfterLeadingZeros","encodedCurrencySymbol","encodeSymbols","parentLocales","parentLocale","valuePrecision","adjustValue","DECIMAL_BASE","precisionMultiplier","roundByAbs","hideCallback","indexOfCallback","hasCallback","_hide_callback","allowZoom","allowPan","allowSelection","metaVerbs","msTouchVerbs","msContentZooming","msUserSelect","zoomDisabled","panDisabled","scrollIntoViewIfNeeded","_export_data_grid2","_export_gantt","ConfigContext","viewFunction","ConfigProviderProps","ConfigProvider","_config_context","_BaseInfernoComponent","__getterCache","restAttributes","_this$props","ButtonWrapper","_Component","getDefaultTemplateNames","getSupportedKeyNames","getProps","_clickAction","_validationGroupConfig","iconTemplate","_createTemplateComponent","_toggleActiveState","viewRef","deactivate","_getSubmitAction","needValidate","submitInput","_addAction","_createClickAction","$template","_patchOptionValues","templateData","_templateData","findGroup","_inferno_renderer","_template_wrapper","_update_props_immutable","setDefaultOptionValue","defaultValueGetter","ComponentWrapper","_DOMComponent","_shouldRaiseContentReady","validateKeyDownHandler","hasComponentDefaultKeyHandlers","hasComponentKeyDownMethod","_viewComponent","keyDown","_checkContentReadyOption","contentReadyOptions","_getContentReadyOptions","_fireContentReady","_actionsMap","viewDefaultProps","_getViewComponentDefaultProps","_propsInfo","twoWay","_extends2","defaultName","_getUnwrappedOption","unwrappedProps","getDefaultTemplates","optionProxy","_optionsWithDefaultTemplates","_componentTemplates","_getActionConfigsFull","_viewRef","createRef","defaultKeyHandlers","_createDefaultKeyHandlers","_renderWrapper","containerNode","_isNodeReplaced","_silent","_removeWidget","_getAdditionalActionConfigs","_getAdditionalProps","_this$_propsInfo","allowNull","defaultWidgetPropsKeys","onKeyboardHandled","widgetProps","event_options","_patchElementParam","prepareStyleProp","_this$elementAttr$cla","_elementAttr$class","_extractDefaultSlot","aria","_aria","_getActionConfigs","_templatesInfo","_options$templateName","templateValue","customKeyHandlers","actionToAdd","actionByOption","actArgs","updatePropsImmutable","TemplateWrapper","templateOption","buildTemplateArgs","_wrapKeyDownHandler","initialHandler","_toPublicElement","_this$_viewRef","_elementAttr","_attributes$attr$name","specified","updatedAttributes","isDomAttr","_storedClasses","elemStyle","revertMutation","recordMutations","_model$data","_shallow_equals","_mutations_recording","_InfernoComponent","cleanParent","_props$model","rendered","buildTemplateContent","nextModel","nextTemplate","equalityComparer","shallowEquals","CheckBox","_Editor","_isFocused","INVALID_MESSAGE_AUTO","VALIDATION_TARGET","onFocusIn","$validationMessageWrapper","querySelectorInSameDocument","showValidationMessageTimeout","saveValueChangeEvent","_valueChangeEventInstance","validationRequest","_valueChangeAction","initValidationOptions","validationMessageOffset","validationTooltipOptions","_bindInnerWidgetOptions","innerWidget","optionsContainer","innerWidgetOptions","syncOptions","_raiseValidation","areValuesEmpty","_raiseValueChangeAction","_this$_valueChangeAct","synchronizeValidationOptions","prevIsEditor","isEditor","newIsEditor","GridPagerWrapper","DateTable","dataCellTemplate","GroupPanelWrapper","resourceCellTemplate","dateHeaderData","dateCellTemplate","timeCellTemplate","TimePanel","currentPropsValue","prevPropsValue","cloneObjectProp","cloneObjectValue","fullNameParts","_button2","Button","_BaseComponent","_this$viewRef","_this$viewRef2","_this$viewRef3","onSubmit","defaultOptionRules","ButtonProps","__defaultOptionRules","_combine_classes","_icon2","_ink_ripple","_widget","_base_props","stylingModes","_viewModel$props","iconPosition","IconTemplate","ButtonTemplate","renderText","isIconLeft","iconComponent","iconSource","createComponentVNode","Icon","normalizeProps","Widget","accessKey","cssClasses","onActive","onWidgetClick","onInactive","createVNode","buttonTemplateData","useSubmitBehavior","submitInputRef","useInkRipple","InkRipple","inkRippleConfig","inkRippleRef","contentRef","widgetRef","BaseWidgetProps","stylingMode","freeze","TemplateProp","_InfernoWrapperCompon","submitEffect","checkDeprecation","_this$_effects$","_this$_effects$2","showWave","hideWave","_this$props2","_this$props3","_titleRegexp$exec$","_titleRegexp$exec","isValidStylingMode","_classesMap","classesMap","combineClasses","_this$props4","_this3$props","isCentered","useHoldAnimation","waveSizeCoefficient","_this$props5","_this$props6","pressed","DomComponentWrapperProps","DomComponentWrapper","_get_updated_options","_excluded2","componentProps","setupWidget","updateWidget","templateNames","componentType","updatedOptions","getUpdatedOptions","prevProps","_this$config","normalizedProps","valueChange","restProps","IconProps","iconClassName","_ref$props","sourceType","createFragment","generalClasses","InkRippleProps","getConfig","initConfig","_toMilliseconds","timeIntervals","oldProps","objectDiffsWithoutReactProps","defaultNotDeepCopyArrays","propsToIgnore","getDiffItem","resultPaths","fullPropName","notDeepCopyArrays","type1","type2","diffPaths","objectDiffs","_diffPaths","objectDiffsFiltered","propsEnumerator","processItem","reactProps","getScrollableInstance","lastParams","normalizedParams","isSameParams","WidgetProps","_subscribe_to_event","_config_provider","_resolve_rtl","widgetElementRef","shouldRenderConfigProvider","_feedbackHideTimeout","_feedbackShowTimeout","addWidgetClass","hovered","setRootElementRef","activeEffect","inactiveEffect","clickEffect","focusInEffect","focusOutEffect","hoverStartEffect","hoverEndEffect","keyboardEffect","resizeEffect","windowResizeEffect","visibilityEffect","applyCssTextEffect","activeStateUnit","onFocusOut","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","rootElementRef","subscribeToDxActiveEvent","setState","__state_argument","subscribeToDxInactiveEvent","subscribeToDxFocusInEvent","subscribeToDxFocusOutEvent","_this$props7","subscribeToDxHoverStartEvent","_this$props8","subscribeToDxHoverEndEvent","_this$props9","_this$props10","_this$props11","resolveRtlEnabledDefinition","resolveRtlEnabled","_this$props12","_this$props13","computedWidth","computedHeight","_this$props14","isFocusable","isHoverable","canBeActive","_this$props15","_this$props16","_check_box2","CheckBoxPropsType","CheckBoxProps","twoWayProps","_check_box_icon","editorRef","iconSize","validationError","validationMessageMode","validationMessagePosition","CheckBoxIcon","isChecked","EditorProps","enableThreeStateBehavior","__newValue","_newValue","_this$props$value","CheckBoxIconProps","_get_computed_style","cssStyles","elementRef","updateFontSize","setIconFontSize","getIconSize","getComputedIconSize","newIconSize","newFontSize","getFontSizeByIconSize","iconComputedStyle","getDefaultFontSize","getDefaultIconSize","fontToIconSizeRatio","defaultIconSizes","defaultFontSizes","getThemeType","isMaterialTheme","isCompactTheme","isCompact","_getThemeType","_getThemeType2","EditorPropsType","_validation_message","isValidationMessageVisible","validationMessageGuid","validationMessageTarget","ValidationMessage","positionSide","visualContainer","contentId","updateValidationMessageVisibility","shouldShowValidationMessage","_this$validationError","readonly","invalid","describedBy","allValidationErrors","_this$rootElementRef","EditorLabelProps","EditorStateProps","SelectBoxPropsType","SelectBoxProps","SelectBox","_select_box","_dom_component_wrapper","_editor_state_props","_editor_label_props","isReactComponentWrapper","NumberBoxPropsType","NumberBoxProps","NumberBox","_number_box","invalidValueMessage","showSpinButtons","useLargeSpinButtons","ValidationMessageProps","BasePagerProps","gridCompatibility","PAGER_SELECTION_CLASS","PAGER_SELECTED_PAGE_SIZE_CLASS","PAGER_PAGE_SIZE_CLASS","PAGER_PAGE_SIZES_CLASS","PAGER_PAGE_INDEXES_CLASS","PAGER_PAGE_CLASS","PAGER_PAGES_CLASS","PAGER_CLASS","LIGHT_MODE_CLASS","FIRST_CHILD_CLASS","KeyboardActionContext","LightButtonProps","LightButton","_keyboard_action_context","subscribeToClick","keyboardContext","subscribeToClickEvent","PagerProps","InternalPagerProps","_base_pager_props","defaultPageSize","pageSizeChange","pageIndexChange","PagerContentProps","PagerContent","_page_index_selector","_consts","_pager_props","infoVisible","isLargeDisplayMode","pageIndexSelectorVisible","pagesContainerVisibility","pagesContainerVisible","infoTextRef","pageSizesRef","pagesCountText","pagesRef","widgetRootElementRef","PageSizeSelector","InfoText","PageIndexSelector","infoTextVisible","createFakeInstance","keyboardAction","_this2$props$onKeyDow","_this2$props","fakePagerInstance","lightModeEnabled","normalizedDisplayMode","PAGER_INFO_CLASS","InfoTextProps","InfoTextPropsType","_this$props$infoText","PageSizeLargeProps","PageSizeLarge","_light_button","pageSizesText","PageSizeLargePropsType","onPageSizeChange","processedPageSize","_combineClasses","_small","_large","htmlRef","normalizedPageSizes","PageSizeSmall","parentRef","PageSizeSelectorPropsType","PageSizeSmallProps","_calculate_values_fitted_width","_get_element_width","PageSizeSmallPropsType","updateWidth","getElementMinWidth","calculateValuesFittedWidth","_grid_pager","Pager","_GridPagerWrapper","_resizable_container","_content","pagerProps","ResizableContainer","newPageSize","_this$props$pageSize$","PagesLarge","_page","PagesMarkup","pageProps","Page","getDelimiterType","slidingWindowSize","createPageIndexesBySlidingWindowIndexes","slidingWindowIndexes","pageIndexes","indexesForReuse","createPageIndexes","PagesLargePropsType","canReuseSlidingWindow","generatePageIndexes","isSlidingWindowMode","onPageClick","currentPageCount","slidingWindowState","lastPageIsFartherThanWindow","pageIndexExistInIndexes","_createPageIndexes","slidingWindowStateHolder","PageProps","PageIndexSelectorProps","PAGER_BUTTON_DISABLE_CLASS","PAGER_NAVIGATE_BUTTON","PAGER_PREV_BUTTON_CLASS","PAGER_NEXT_BUTTON_CLASS","nextEnabledClass","prevEnabledClass","nextDisabledClass","prevDisabledClass","reverseDirections","nextButtonProps","prevButtonProps","renderNextButton","renderPrevButton","navigate","PagesSmall","PageIndexSelectorPropsType","getButtonProps","canNavigateToPage","getNextPageIndex","canNavigateTo","navigateToPage","rtlAwareDirection","canNavigate","getIncrement","PagerSmallProps","PAGER_INFO_TEXT_CLASS","PAGER_PAGE_INDEX_CLASS","pageIndexRef","selectLastPageIndex","PagerSmallPropsType","_this$pageIndexRef$cu","_this$props$pagesCoun","ResizableContainerProps","calculateInfoTextVisible","calculateLargeDisplayMode","contentAttributes","Content","pageSizesWidth","pagesWidth","infoWidth","actualIsLargeDisplayMode","actualInfoTextVisible","subscribeToResize","effectUpdateChildProps","updateAdaptivityProps","parentWidth","pagesHtmlWidth","currentElementsWidth","getElementContentWidth","getElementWidth","elementsWidth","_this$props$pagerProp","oneDigitWidth","_type_conversion","_getElementComputedSt","toNumber","getAreaFromObject","getAreaFromElement","filterOffsets","borderWidthStyles","getDragOffsets","handleEl","areaProp","hHeight","hOffset","isAreaWindow","scrollOffset_scrollX","scrollOffset_scrollY","getMovingSides","getBorderWidth","correctGeometry","mainEl","areaBorderLeft","areaBorderTop","hasCornerTopLeftClass","hasCornerTopRightClass","hasCornerBottomLeftClass","hasCornerBottomRightClass","sides","AppointmentProps","Appointment","_layout","_appointments_context","dateText","isReduced","appointmentTemplate","hideReducedIconTooltip","showReducedIconTooltip","isRecurrent","AppointmentContent","updateStylesEffect","bindDoubleClickEffect","onItemDoubleClick","appointmentsContextValue","_viewModel$info$group","appointment","getAppointmentColor","resourceLoaderMap","resourcesDataAccessors","dataAccessors","loadedResources","_this$ref$current","onDoubleClick","_this3$ref$current","appointmentStyles","AppointmentsContext","getAppointmentStyles","mergeStylesWithColor","appointmentReduced","_this$props$viewModel","_this$props$viewModel2","allDay","appointmentData","targetedAppointmentData","AppointmentDetailsProps","AppointmentDetails","AppointmentContentProps","_layout2","refReducedIcon","AppointmentTemplate","AppointmentTitle","bindHoverEffect","onReducedIconMouseEnter","onReducedIconMouseLeave","_this$refReducedIcon$","_this$refReducedIcon$2","_this2$refReducedIcon","_this2$refReducedIcon2","AppointmentTitleProps","AppointmentLayout","AppointmentLayoutProps","_appointment","appointments","_ref$appointmentsCont","onAppointmentClick","onAppointmentDoubleClick","overflowIndicatorTemplate","layoutRef","overflowIndicators","OverflowIndicator","isAllDay","pointerEventsEffect","onAppointmentPointerDown","disposePointerDown","subscribeToDXPointerDownEvent","appointmentElement","focusedAppointmentIndex","typeMap","allDayCompact","regularCompact","regular","appointmentType","updateFocusedAppointment","OverflowIndicatorProps","OverflowIndicatorTemplate","getIndicatorColor","appointmentCount","getOverflowIndicatorStyles","getOverflowIndicatorColor","_viewModel$geometry","geometry","addToStyles","appointmentContext","_viewModel$groupIndex","getReducedIconTooltipText","getAppointmentKey","tooltipLabel","monthAndDay","getAppointmentTakesAllDay","getAppointmentDurationInHours","appointmentAdapter","viewStartDayHour","viewEndDayHour","allDayPanelMode","hasAllDay","appointmentDurationInHours","viewDurationInHours","startDateHours","endDateHours","appointmentHasShortDayDuration","isPopupFullScreenNeeded","getPopupToolbarItems","getPopupSize","POPUP_WIDTH","RECURRENCE","FULLSCREEN","MOBILE","TOOLBAR_LOCATION","doneClick","buttonsConfig","doneButton","cancelButton","isRecurrence","VERTICAL_GROUP_ORIENTATION","HORIZONTAL_GROUP_ORIENTATION","getAppointmentsModel","getAppointmentsConfig","getAppointmentRenderingStrategyName","_positionHelper","renderingStrategy","workWeek","timelineDay","timelineWeek","timelineWorkWeek","timelineMonth","agenda","schedulerConfig","viewConfig","viewDataProvider","isAllDayPanelSupported","startViewDate","getStartViewDate","getLastViewDateByEndDayHour","endDayHour","adaptivityEnabled","intervalCount","hoursInterval","showAllDayPanel","supportAllDayRow","groupOrientation","getViewOptions","cellDurationInMinutes","cellDuration","maxAppointmentsPerCell","isVerticalGroupOrientation","isVerticalGrouping","groupByDate","isGroupedByDate","appointmentCountPerCell","appointmentOffset","allowAllDayResizing","dateTableOffset","appointmentsConfig","timeZoneCalculator","cellsMetaData","groupedByDate","isGroupingByDate","positionHelper","PositionHelper","getDOMMetaDataCallback","isGroupedAllDayPanel","calculateIsGroupedAllDayPanel","allDayHeight","getAllDayHeight","endViewDate","getLastCellEndDate","visibleDayDuration","getVisibleDayDuration","_viewDataProvider$get","leftVirtualCellCount","startCellIndex","topVirtualRowCount","getCellDuration","appointmentRenderingStrategyName","getCellWidth","getCellHeight","intervalDuration","allDayIntervalDuration","topVirtualCellCount","resizableStep","getResizableStep","DOMMetaData","getValidGroups","getCurrentViewProps","getCurrentViewConfig","getCurrentView","getViewConfigProp","VIEW_TYPES","currentView","currentViewProps","schedulerProp","viewProp","schedulerProps","schedulerScrolling","restSchedulerProps","crossScrollingEnabled","schedulerHeight","schedulerWidth","appointmentCollectorTemplate","appointmentTooltipTemplate","allDayPanelExpanded","allowMultipleCellSelection","schedulerGroups","viewGroups","hasResourceValue","resourceValues","itemValue","resourceConfig","appointmentConfig","createTimeZoneCalculator","currentTimeZone","TimeZoneCalculator","getClientOffset","getClientTimezoneOffset","tryGetCommonOffset","calculateTimezoneByValue","tryGetAppointmentOffset","appointmentTimezone","PathTimeZoneConversion","fromSourceToAppointment","fromAppointmentToSource","fromSourceToGrid","fromGridToSource","_types","createDate","sourceDate","getConvertedDate","appointmentTimeZone","getOffsets","clientOffset","commonOffset","getCommonOffset","getAppointmentOffset","client","getConvertedDateByOffsets","isBack","getOriginStartDateOffsetInMs","timezone","isUTCDate","getOffsetInHours","_this$getOffsets","useAppointmentTimeZone","resolveDataItems","getPreparedDataItems","_appointmentAdapter","rawAppointment","_recurrenceRule$match","replaceWrongEndDate","createAppointmentAdapter","comparableStartDate","calculateStartDate","comparableEndDate","calculateEndDate","recurrenceRule","hasRecurrenceRule","startDateTimeZone","endDateTimeZone","recurrenceException","newMin","newMax","_getDatesWithoutTime3","RemoteFilterCombiner","makeDateFilter","_this$dataAccessors$e","endDateExpr","recurrenceRuleExpr","startDateExpr","dateFilter","userFilter","serializeRemoteFilter","_this$dataAccessors$e2","lastFilterValue","getUserFilter","combine","_getDatesWithoutTime2","trimMin","trimMax","excludeFromRecurrence","UTC_FULL_DATE_FORMAT","exceptionDate","createRecurrenceException","Semaphore","isFree","msInHour","excludedHours","isSkippedDate","getGroupPanelData","columnCountPerGroup","baseColSpan","repeatCount","groupPanelItems","resourceName","groupRenderItems","currentGroupItems","groupsRow","currentRow","isFirstGroupCell","isLastGroupCell","extendGroupItemsForGroupingByDate","calculateStartViewDate","validCurrentDate","setOptionHour","validateDayHours","isTimelineView","isHorizontalView","isDateAndTimeView","getViewStartByOptions","getVerticalGroupCountClass","getTotalRowCountByCompleteData","getTotalCellCountByCompleteData","getToday","getStartViewDateWithoutDST","getStartViewDateTimeOffset","getHorizontalGroupCount","getHeaderCellText","getDisplayedRowCount","getDisplayedCellCount","getCalculatedFirstDayOfWeek","formatWeekdayAndDay","formatWeekday","calculateViewStartDate","calculateDayDuration","calculateCellIndex","_classes","_constants","_utils3","optionHour","nextDate","currentStartDate","firstDayOfWeekOption","startDateOption","newStartViewDate","getDateWithoutTimezoneChange","headerIndex","headerCellTextFormat","getDateForHeaderText","additionalOptions","validDate","validStartDayHour","isTimezoneChangeInDate","indicatorTime","todayDate","VERTICAL_GROUP_COUNT_CLASSES","VIEWS","TIMELINE_MONTH","MONTH","TIMELINE_VIEWS","isVerticalGroupingApplied","isAllDayPanelVisible","TIMELINE_DAY","TIMELINE_WEEK","TIMELINE_WORK_WEEK","completeData","displayedCellCount","displayedRowCount","DAY","WEEK","WORK_WEEK","AGENDA","firstViewDate","isFirstCellInMonthWithIntervalCount","getCellText","validStartViewDate","viewStart","firstMonthDate","cellDate","cellCountInDay","validIndex","getValidStartDate","getTimePanelCellText","getIntervalDuration","validFirstDayOfWeek","startViewDateWithoutDST","timeCellDuration","startViewDateOffset","getTimeCellDate","isDataOnWeekend","getWeekendsCount","_week","MONDAY_INDEX","CellBaseProps","CellBase","ariaLabel","contentTemplateProps","getGroupCellClasses","AllDayPanelCell","DateTableCellBase","ALL_DAY_PANEL_CELL_CLASS","firstDayOfMonth","otherMonth","today","DateTableCellBaseProps","_date_table","_table","AllDayTable","_DateTable","AllDayTableProps","_table_body","_layout_props","allDayPanelData","emptyTableHeight","tableRef","viewData","AllDayPanelTableBody","leftVirtualCellWidth","rightVirtualCellWidth","rightVirtualCellCount","LayoutProps","allDayPanel","DefaultSizes","allDayPanelHeight","addDateTableClass","addVerticalSizesClassToRows","bottomVirtualRowHeight","topVirtualRowHeight","AllDayPanelTableBodyProps","_row","Row","cellGroupIndex","_title","AllDayPanelTitle","AllDayPanelTitleProps","_objectDestructuringEmpty","dataCellTemplateProps","DataCellTemplate","DATE_TABLE_CELL_CLASS","DateTableLayoutBase","DateTableLayoutProps","virtualCellsCount","DateTableBody","_this$props$viewData$","_this$props$viewData$2","_this$props$viewData$3","_this$props$viewData$4","dateTable","DateTableBodyProps","rowClasses","fragmentKey","DATE_TABLE_ROW_CLASS","GroupPanelCellProps","_group_panel","_group_panel2","GroupPanel","_GroupPanelWrapper","GroupPanelProps","_group_panel_props","isVerticalLayout","groupPanelData","GroupPanelVerticalLayout","GroupPanelHorizontalLayout","GroupPanelBaseProps","GroupPanelLayoutProps","GroupPanelHorizontalCellProps","GroupPanelHorizontalCell","_cell_props","CellTemplate","HorizontalGroupPanelLayoutProps","_group_panel_layout_props","colSpans","reduceRight","currentColSpans","nextColSpans","currentLevelGroupCount","previousColSpan","groupCountDiff","groupsRenderRow","_row_props","GroupPanelRowProps","GroupPanelVerticalCell","VerticalGroupPanelLayoutProps","addHeightToStyle","HeaderCell","_ordinary_cell","CellProps","DateHeaderCellProps","DateHeaderCell","_dateHeaderText","DateCellTemplate","isTimeCellTemplate","TimeCellTemplate","useTemplate","DateHeaderText","isWeekDayCell","cellClasses","DateHeaderTextProps","DateHeaderLayoutProps","DateHeaderLayout","isHorizontalGrouping","dateHeaderRow","cellGroups","isHorizontalGroupingApplied","_header_panel","HeaderPanelLayout","_HeaderPanel","HeaderPanelLayoutProps","DateHeader","dateHeaderTemplate","isRenderDateHeader","bottomVirtualRowCount","OrdinaryCell","RowProps","_virtual_cell","hasLeftVirtualCell","hasRightVirtualCell","VirtualCell","TableProps","_virtual_row","hasBottomVirtualRow","hasTopVirtualRow","VirtualRow","heightAdded","addWidthToStyle","TimePanelCellProps","TimePanelCell","timeCellTemplateProps","_time_panel","TimePanelTableLayout","_TimePanel","TimePanelLayoutProps","_cell2","timePanelData","_this$props$timePanel","_this$props$timePanel2","isCellAllDay","getTotalRowCount","getTotalCellCount","getSelectedCells","getRowCountWithAllDayRow","getHiddenInterval","getDateTableWidth","getCellIndices","createVirtualScrollingOptions","createCellElementMetaData","compareCellsByDateAndIndex","DATE_TABLE_MIN_CELL_WIDTH","DAY_MS","HOUR_MS","cellRect","workSpaceConfig","getCellCount","minTablesWidth","getCellMinWidth","getSchedulerHeight","getSchedulerWidth","getViewHeight","viewHeight","getViewWidth","viewWidth","getScrolling","getScrollableOuterWidth","completeRowCount","completeColumnCount","getWindowHeight","getWindowWidth","ALL_DAY_ROW_CLASS","rowParent","cellParent","daysAndIndexes","firstDate","firstIndex","lastDate","validFirstIndex","validLastIndex","firstSelectedCell","lastSelectedCell","isLastSelectedCellAllDay","firstCell","lastCell","_firstCell","firstGroupIndex","firstCellIndex","firstStartDate","_lastCell","lastCellIndex","lastStartDate","getCellsByGroupIndexAndAllDay","selectedCells","cellsRow","filteredRow","filterData","lastDay","filterCellsByDateAndIndex","firstArg","secondArg","VirtualCellProps","_header_cell","VirtualRowProps","virtualCells","MonthDateTableCell","MonthDateTableLayout","TimelineDateHeaderLayout","isMonthDateHeader","weekDayLeftVirtualCellCount","weekDayLeftVirtualCellWidth","weekDayRightVirtualCellCount","weekDayRightVirtualCellWidth","isWeekDayRow","validLeftVirtualCellCount","validRightVirtualCellCount","validRightVirtualCellWidth","validLeftVirtualCellWidth","TimelineHeaderPanelLayout","getKeyByGroup","getKeyByDateAndGroup","getIsGroupedAllDayPanel","nextStyle","hasAllDayRow","VALIDATE_WHEEL_TIMEOUT","TopPocketState","ShowScrollbarMode","SCROLL_LINE_HEIGHT","SCROLLVIEW_TOP_POCKET_CLASS","SCROLLVIEW_REACHBOTTOM_TEXT_CLASS","SCROLLVIEW_REACHBOTTOM_INDICATOR_CLASS","SCROLLVIEW_REACHBOTTOM_CLASS","SCROLLVIEW_PULLDOWN_VISIBLE_TEXT_CLASS","SCROLLVIEW_PULLDOWN_TEXT_CLASS","SCROLLVIEW_PULLDOWN_READY_CLASS","SCROLLVIEW_PULLDOWN_LOADING_CLASS","SCROLLVIEW_PULLDOWN_INDICATOR_CLASS","SCROLLVIEW_PULLDOWN_IMAGE_CLASS","SCROLLVIEW_PULLDOWN","SCROLLVIEW_CONTENT_CLASS","SCROLLVIEW_BOTTOM_POCKET_CLASS","SCROLLABLE_WRAPPER_CLASS","SCROLLABLE_SIMULATED_CLASS","SCROLLABLE_SCROLL_CONTENT_CLASS","SCROLLABLE_SCROLL_CLASS","SCROLLABLE_SCROLLBAR_SIMULATED","SCROLLABLE_SCROLLBAR_CLASS","SCROLLABLE_SCROLLBAR_ACTIVE_CLASS","SCROLLABLE_SCROLLBARS_HIDDEN","SCROLLABLE_SCROLLBARS_ALWAYSVISIBLE","SCROLLABLE_DISABLED_CLASS","SCROLLABLE_CONTENT_CLASS","SCROLLABLE_CONTAINER_CLASS","PULLDOWN_ICON_CLASS","HOVER_ENABLED_STATE","HIDE_SCROLLBAR_TIMEOUT","DIRECTION_VERTICAL","DIRECTION_HORIZONTAL","DIRECTION_BOTH","STATE_RELEASED","STATE_READY","STATE_REFRESHING","STATE_LOADING","STATE_TOUCHED","STATE_PULLED","HOVER","ALWAYS","NEVER","SCROLL","PAGE_UP","PAGE_DOWN","END","HOME","LEFT","UP","RIGHT","DOWN","convertToLocation","_ScrollDirection","_scroll_direction","ScrollDirection","getBoundaryProps","pocketHeight","boundaryProps","reachedLeft","isReachedLeft","reachedRight","isReachedRight","reachedTop","isReachedTop","isReachedBottom","_get_scroll_left_max","_get_scroll_top_max","scrollOffsetLeft","epsilon","getScrollLeftMax","scrollOffsetTop","getScrollTopMax","getElementLocationInternal","additionalOffset","inverseProp","containerOffsetSize","containerClientSize","relativeElementOffset","_get_relative_offset","getRelativeOffset","containerScrollOffset","relativeStartOffset","relativeEndOffset","getElementMargin","getElementOverflowX","getElementOverflowY","overflowY","getElementPadding","getElementTransform","_getWindow$getCompute","_getWindow","targetElementClass","elementRect","parentElementRect","_el$getRootNode2","_window$getComputedSt","rtlProp","isPropDefined","onlyGlobalDefined","subscribeToDXScrollStopEvent","subscribeToDXScrollStartEvent","subscribeToDXScrollMoveEvent","subscribeToDXScrollEndEvent","subscribeToDXScrollCancelEvent","subscribeToDXPointerUpEvent","subscribeToDXPointerMoveEvent","subscribeToEvent","subscribeToScrollInitEvent","subscribeToMouseLeaveEvent","subscribeToMouseEnterEvent","subscribeToKeyDownEvent","clickEvent","_emitterGesture","_uiCollection_widget","_bindable_template","ACCORDION_ITEM_CLASS","ACCORDION_ITEM_OPENED_CLASS","ACCORDION_ITEM_CLOSED_CLASS","ACCORDION_ITEM_TITLE_CLASS","ACCORDION_ITEM_BODY_CLASS","Accordion","itemTitleTemplate","onItemTitleClick","selectedIndex","collapsible","multiple","animationDuration","deferRendering","_itemAttributes","_animationEasing","_itemElements","_itemContainer","_itemSelector","_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","_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","ActionSheet","usePopover","showCancelButton","cancelText","onCancelClick","_$itemContainer","_toggleVisibility","_createItemContainer","_renderDisabled","_$popup","_isPopoverMode","_createPopover","_createPopup","_renderPopupTitle","_mapPopupOption","_popup","_overlayConfig","angular","_popupContentReadyAction","_attachClickEvent","_attachHoldEvent","_prepareContent","_renderCancelButton","_$cancelButton","cancelClickAction","hidingArgs","_attachItemClickEvent","_itemClickHandler","_itemHoldHandler","showing","Autocomplete","upArrow","_calcNextItem","_clearFocusedItem","downArrow","opened","minSearchLength","maxItemCount","showDropDownButton","_displayGetterExpr","_closeOutsideDropDownHandler","_updatePopupWidth","_updateListDimensions","_popupWrapperClass","_listConfig","_setSelectedItem","addedItems","_listItemClickHandler","_saveValueChangeEvent","_displayGetter","_setListDataSource","_refreshSelected","_searchCanceled","_loadItem","selectedItem","_getItemFromPlain","_dataSourceOptions","_searchDataSource","_renderValueEventName","_valueChangeEventHandler","_compileDisplayGetter","_setListOption","_item","_inheritsLoose","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","justifyContent","_normalizedAlign","renderCrossAlign","alignItems","_normalizedCrossAlign","crossAlign","renderItems","flexPropPrefix","maxSize","minSize","baseSize","shrink","itemContent","flexBasis","flexDirection","Box","_CollectionWidget","_proto3","onItemStateChanged","_initLayout","_initBoxQueue","_queueIsNotEmpty","_pushItemToQueue","_shiftItemFromQueue","_renderAlign","_renderActions","_onItemStateChanged","_renderItems","itemHoldTimeout","onItemHold","onItemContextMenu","$itemNode","_renderItemContentByNode","_postprocessRenderItem","boxConfig","_createItemByTemplate","_itemOptionChanged","_itemOptions","ItemClass","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","_setAriaSelectionAttribute","_keyboardEventBindingTarget","_refreshContent","ButtonGroup","buttonTemplate","_createItemClickAction","_itemClickAction","_renderButtons","_syncSelectionOptions","_fireSelectionChangeEvent","removedItems","$buttons","scrollingEnabled","selectionRequired","_buttonsCollection","_hover","CALENDAR_EMPTY_CELL_CLASS","CALENDAR_SELECTED_DATE_CLASS","CALENDAR_CELL_IN_RANGE_CLASS","CALENDAR_CELL_RANGE_HOVER_CLASS","CALENDAR_CELL_RANGE_HOVER_START_CLASS","CALENDAR_CELL_RANGE_HOVER_END_CLASS","CALENDAR_RANGE_START_DATE_CLASS","CALENDAR_RANGE_END_DATE_CLASS","CALENDAR_CONTOURED_DATE_CLASS","NOT_WEEK_CELL_SELECTOR","CALENDAR_DXCLICK_EVENT_NAME","CALENDAR_DXHOVERSTART_EVENT_NAME","CALENDAR_DATE_VALUE_KEY","_getViewName","disabledDates","onCellHover","allowValueSelection","_todayDate","_renderImpl","_createDisabledDatesHandler","_renderBody","_renderContouredDate","_renderValue","_renderRange","_renderEvents","_$table","localizedWidgetName","localizedHotKeysInfo","$body","_getFirstCellData","prevCellDate","_renderWeekNumberCell","_getClassNameByDate","getCellAriaLabel","_this$_createCell","_prepareCellTemplateData","_getNextCellData","_isTodayCell","_isDateOutOfRange","isDateDisabled","_isOtherView","_isStartDayOfMonth","_isEndDayOfMonth","isDateCell","_createCellClickAction","_cellClickAction","_createCellHoverAction","_cellHoverAction","_disabledDatesHandler","_getDefaultDisabledDatesHandler","contouredDate","$oldContouredCell","_getContouredCell","$newContouredCell","_getCellByDate","_updateSelectedClass","_this$_$selectedCells","_$selectedCells","_this$_$rangeCells","_this$_$hoveredRangeC","_this$_$rangeStartHov","_this$_$rangeEndHover","_this$_$rangeStartDat","_this$_$rangeEndDateC","_this$_$rangeStartDat2","_this$_$rangeEndDateC2","_$rangeCells","_$hoveredRangeCells","_$rangeStartHoverCell","_$rangeEndHoverCell","_$rangeStartDateCell","_$rangeEndDateCell","_renderHoveredRange","_this$_$hoveredRangeC2","_this$_$rangeStartHov2","_this$_$rangeEndHover2","_this$_$rangeStartHov3","_this$_$rangeEndHover3","_this$option2","hoveredRange","_getFirstAvailableDate","isBoundary","_swipeable","_uiCalendar","_uiCalendar2","_uiCalendarSingleSelection","_uiCalendarMultiSelection","_uiCalendarRangeSelection","CALENDAR_VIEW_CLASS","ANIMATION_DURATION_SHOW_VIEW","CALENDAR_DXHOVEREND_EVENT_NAME","LEVEL_COMPARE_MAP","decade","century","ZOOM_LEVEL","SELECTION_STRATEGIES","SingleSelection","MultiSelection","RangeSelection","Calendar","viewsCount","maxZoomLevel","minZoomLevel","showTodayButton","showWeekNumbers","weekNumberRule","onContouredChanged","skipFocusCheck","rightArrow","_waitRenderView","_moveCurrentDateByOffset","_getRtlCorrection","leftArrow","_navigateUp","_view","_navigateDown","_dateOption","sameView","_moveToClosestAvailableDate","pageUp","pageDown","_isMaxZoomLevel","_updateTimeComponent","_selectionStrategy","_getSerializationFormat","_convertToDate","_dateValue","serializedValue","_shiftDate","baseDate","_getMaxDate","_getMinDate","isDateForwardInNeighborView","_areDatesInNeighborView","isDateForwardInRange","dateForward","_skipNavigate","_areDatesInSameView","getYear","isDateForwardInStartView","isDateBackwardInStartView","isCurrentDateAvailable","_isDateNotAvailable","isDateForwardAvailable","isDateBackwardAvailable","dateBackward","_initSelectionStrategy","_correctZoomLevel","_initCurrentDate","strategyName","_getSelectionStrategyName","_refreshSelectionStrategy","_this$_getNormalizedD","_getNormalizedDate","getDefaultCurrentDate","_getDate","_onContouredChanged","_updateCurrentDate","_$viewsWrapper","_getViewsOffset","_isOtherViewCellClicked","_suppressNavigation","_additionalView","_refreshViews","_setViewContoured","_updateAriaId","_renderNavigator","_navigate","_isAdditionalViewDate","_getActiveView","_this$_additionalView","zoomCorrection","_getMonthsOffset","_alreadyViewRender","_getDateByOffset","_waitRenderViewTimeout","currentDay","_renderSubmitElement","_navigator","_renderSwipeable","_renderFooter","updateAriaSelected","_getKeyboardListeners","_renderSpecificView","beforeDate","_beforeView","_isViewAvailable","afterDate","_afterView","_translateViews","specificView","_viewConfig","_this$option4","_injectComponent","_cellClickHandler","_updateViewsOption","_moveViewElement","coefficient","_getViewPosition","nextView","isMaxZoomLevel","newCurrentDate","_animateShowView","_navigatorConfig","_getViewsCaption","_updateButtonsVisibility","_navigatorClickHandler","onCaptionClick","_this$option7","additionalViewActive","_isMinZoomLevel","toggleButton","_swipeStartHandler","_swipeUpdateHandler","_swipeEndHandler","_viewWidth","_toggleGestureCoverCursor","_getRequiredView","isRtl","_updateNavigatorCaption","_this$option9","moveOffset","shouldDoubleOffset","_isDateInInvalidRange","_animateWrapper","_viewWidthValue","additionalView","isMultiView","getNavigatorCaption","additionalViewCaption","$todayButton","_toTodayView","_$footer","_$submitElement","_setSubmitValue","dateValue","_getSubmitElement","_popAnimationView","newView","_preventViewChangeAnimation","_wrapperAnimationEndHandler","_rearrangeViews","_resetLocation","_this$viewToRemoveKey","viewOffset","viewToCreateKey","viewToRemoveKey","viewBeforeCreateKey","viewAfterRemoveKey","destinationDate","dateByOffset","_clearViewWidthCache","_disposeViews","_resetActiveState","_focusInHandler","_focusOutHandler","_this$_additionalView2","_this$_additionalView3","_this$_beforeView","_this$_afterView","_setViewsMinOption","_restoreViewsMinMaxOptions","_setViewsMaxOption","_rangeMin","_rangeMax","_updateAriaSelected","ariaId","_suppressingNavigation","processValueChanged","getContouredDate","_CalendarSelectionStr","CalendarMultiSelectionStrategy","dateOption","selectedValue","alreadySelectedIndex","toDateString","skipNavigate","_currentDateChanged","_previousValue","_getLowestDateInArray","_Widget","Navigator","_captionClickAction","_renderCaption","_prevButton","$prevButton","_nextButton","$nextButton","_caption","captionText","$caption","buttonPrefix","_uiCalendarSelection","RANGE_OFFSET","CalendarRangeSelectionStrategy","_getValues","_getDaysInRange","_cellHoverHandler","_this$_getValues2","calendar","_valueSelected","_getRange","_this$calendar$option","_allowChangeSelectionOrder","_currentSelection","_this$_getValues4","rangeStartDate","rangeEndDate","_this$_getValues6","_this$calendar$option2","CalendarSelectionStrategy","_updateViewsValue","CalendarSingleSelectionStrategy","_renderHeader","_renderFocusTarget","$headerRow","$header","_renderHeaderCell","_renderWeekHeaderCell","_this$_getDayCaption","_getDayCaption","fullCaption","abbrCaption","abbr","$weekNumberHeaderCell","_getWeekNumber","_this$option3","firstMonthDayOffset","daysInWeek","foundDate","firstYearInDecade","_isValueOnCurrentView","minDecade","maxDecade","firstDecadeInCentury","DataControllerMock","loadNextPage","addSearchFilter","resetDataSourcePageIndex","applyMapFunction","_this$_dataSource","CollectionItem","_rawData","$placeholder","_watchers","_renderWatchers","_startWatcher","filteredCallback","exprGetter","setDataField","_updateOwnerFocus","ownerComponent","_resetItemFocus","renderContentDeferred","itemDeferred","_postProcessRenderItems","_renderItemsAsync","_contextmenu","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","CollectionWidget","_moveFocus","_itemEventHandlerByHandler","selectOnFocus","loopItemFocus","onFocusedItemChanged","encodeNoDataText","focusOnSelectedItem","disabledExpr","visibleExpr","_cleanRenderedItems","_initItemsFromMarkup","_initDefaultItemTemplate","_getFieldsMap","_prepareDefaultItemTemplate","_getBindableFields","rawItems","_prepareItemTemplate","templateId","_renderedItemsCount","_isFocusTarget","_setFocusedItem","$activeItem","_getActiveItem","_updateFocusedItemState","_findActiveTarget","activeElements","_getActiveElement","$newTarget","_getAvailableItems","_prevItem","_nextItem","_getVisibleItems","$last","loop","$first","_selectFocusedItem","needCleanItemId","_refreshActiveDescendant","_refreshItemId","_toggleFocusClass","_updateParentActiveDescendant","getFocusedItemId","_isDisabled","isTargetDisabled","_findItemElementByItem","_getIndexByItem","_refreshItem","_itemIndexKey","_createItemRenderAction","_attachContextMenuEvent","_loadNextPage","_expectNextPageLoading","_startIndexForAppendedItems","_expectLastItemLoading","_forgetNextPageLoading","_dataSourceChangedHandler","_shouldAppendItems","_dataSourceLoadErrorHandler","_allowDynamicItemsAppend","_cleanFocusState","_cleanItemContainer","_inkRipple","_itemFocusTimeout","_itemContentClass","_selectedItemClass","_itemResponseWaitClass","_getPointerEvent","clickEventNamespace","pointerEventNamespace","pointerAction","_itemPointerDownHandler","_itemFocusHandler","$closestItem","$closestFocusable","_closestFocusable","_forcePointerDownFocus","focusable","_updateFocusState","_getHoldTimeout","_shouldFireHoldEvent","_itemContextMenuHandler","_shouldFireContextMenuEvent","$itemToReplace","_index$item","$itemFrame","_renderItemFrame","_setElementData","_getItemContent","renderContentPromise","itemTemplateName","_getItemTemplateName","_addItemContentClasses","$templateResult","_appendItemToContainer","_getItemRenderAction","_itemRenderAction","_emptyMessageContainer","hideNoData","_$noData","handlerOptionName","actionConfig","_itemEventHandler","initiator","_itemEventHandlerImpl","_closestItemElement","_extendActionArgs","_getSummaryItemsWidth","_focusedItemId","_uiCollection_widgetEditStrategy","ITEM_DELETING_DATA_KEY","indexExists","onItemReordered","onItemDeleting","onItemDeleted","_userOptions","_initEditStrategy","_initKeyGetter","_initSelectionModule","_getKeysByItems","_editStrategy","getKeysByItems","_getItemsByKeys","getItemsByKeys","_getKeyByIndex","getKeyByIndex","_getIndexByKey","_getIndexByItemData","getIndexByItemData","_isKeySpecified","_getCombinedFilter","_nullValueSelectionSupported","itemsGetter","allowNullValue","_getItemsCount","_dataController$loadO","Strategy","beginCache","endCache","_rendering","_normalizeSelectedItems","_rendered","byOption","_chooseSelectOption","getItemDataByIndex","selectedItemIndex","isOptionDefined","_compareKeys","newSelection","currentSelection","normalizedSelection","itemSelectPromise","_this$_itemSelectHand","_itemSelectPromise","_selectedItemElement","normalizedItemIndex","getNormalizedIndex","_isItemSelected","_processSelectableItem","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","itemResponseWaitClass","reorderItem","toItemElement","$movingItem","$destinationItem","movingIndex","destinationIndex","itemPlacementFunc","moveItemAtIndexToIndex","getIndex","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_view","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","colorUtils","makeTransparentBackground","_makeTransparentBackground","makeRgba","_makeRgba","ColorBox","arrowHandler","_getLastPopupElement","_getFirstPopupElement","_validatedOpening","editAlphaChannel","applyValueMode","keyStep","fieldTemplate","buttonsLocation","_popupHidingHandler","_updateColorViewValue","_popupConfig","_contentReadyHandler","_createColorView","_addPopupBottomClasses","$popupBottom","bottomToolbar","$colorView","_colorView","_colorViewConfig","_escapeHandler","_rgbInputs","_applyNewColor","_$colorResultPreview","_colorViewEnterKeyPressed","matchValue","_ariaId","onEnterKeyPressed","instantlyMode","isOldValue","changesApplied","valueCleared","_shouldSaveEmptyValue","_applyColorFromInput","colorViewValue","_applyButtonHandler","_cancelButtonHandler","_resetInputValue","_renderInput","_renderColorPreview","_$colorBoxInputContainer","_$textEditorInputContainer","_text_box","_draggable","COLOR_VIEW_ROW_CLASS","COLOR_VIEW_PALETTE_GRADIENT_CLASS","COLOR_VIEW_PALETTE_GRADIENT_WHITE_CLASS","COLOR_VIEW_PALETTE_GRADIENT_BLACK_CLASS","COLOR_VIEW_HEX_LABEL_CLASS","COLOR_VIEW_COLOR_PREVIEW","COLOR_VIEW_COLOR_PREVIEW_COLOR_CURRENT","COLOR_VIEW_COLOR_PREVIEW_COLOR_NEW","BLACK_COLOR","ColorView","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","handleAria","_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","labelText","labelAriaText","labelClass","dxNumberBox","$label","_keyboardHandler","hexInputOptions","_hexInput","inputId","$hexInput","$alphaChannelScaleCell","$alphaChannelBorder","$alphaChannelScaleWrapper","_$alphaChannelScale","_makeCSSLinearGradient","_renderAlphaChannelHandle","colorAsRgb","startColor","finishColor","backgroundImage","$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","showEvent","onSubmenuCreated","onHiding","submenuDirection","onLeftFirstItem","onLeftLastItem","onCloseRootSubmenu","onExpandLastSubmenu","closeOnOutsideClick","_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","isSame","$submenuElements","shownSubmenus","_shownSubmenus","$context","isSubmenuRendered","_isSubmenuVisible","_drawSubmenu","$expandedItems","_hideSubmenuGroup","_hideSubmenuCore","submenuPosition","_getSubmenuPosition","_animate","_updateSubmenuVisibilityOnClick","_updateSelectedItemOnClick","notCloseMenuOnItemClick","closeMenuOnClick","$prevSubmenu","canceled","$curSubmenu","_stopAnimate","_hide","jQEvent","_event$originalEvent","_positionContextMenu","_widgetClass","_renderFocusState","getRootNodes","_setAriaAttributes","_overlayContentId","_cleanAriaAttributes","_getContextMenuPosition","isInitialPosition","positioningAction","lastPosition","_PlainEditStrategy","MenuBaseEditStrategy","getMenuItems","_stringifyItem","_getTemplateString","_uiMenu_baseEdit","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","DX_MENU_ITEM_CAPTION_URL_CLASS","DX_ITEM_URL_CLASS","MenuBase","_HierarchicalCollecti","showSubmenuMode","_renderSelectedItem","_getLinkContainer","iconContainer","textContainer","linkAttr","linkAttributes","_addContent","_getIconContainer","_getTextContainer","_getPopoutContainer","_addContentClasses","_getItemExtraPropNames","$popOutContainer","$popOutImage","_getDataAdapterOptions","multipleSelection","recursiveSelection","recursiveExpansion","_selectByItem","nodeToSelect","toggleSelection","getSelectedNodesKeys","_renderInkRipple","_isDesktopDevice","_initSelectedItems","_itemWrapperSelector","_hoverStartHandler","_getItemElementByEventArgs","_isItemDisabled","_showSubmenusTimeout","_getSubmenuDelay","_disabledGetter","_addExpandedClass","hasIcons","$nodeContainer","firstVisibleIndex","nextGroupFirstIndex","isVisibleNode","_createDOMElement","$nodeElement","hasText","hasSubmenu","_selectedGetter","_isItemSelectable","_skipHandling","itemClickActionHandler","_itemClick","_isItemSelectAllowed","selectedItemKey","selectedNode","_toggleItemSelection","isSelectByClickEnabled","_isContainerEmpty","_getElementByItem","_uiDate_boxStrategy","_uiDate_boxStrategy2","_uiDate_boxStrategy3","_uiDate_boxStrategy4","_uiDate_boxStrategy5","DATEBOX_CLASS","DATEBOX_WRAPPER_CLASS","PICKER_TYPE","rollers","STRATEGY_CLASSES","DateView","Native","CalendarWithTime","List","supportedKeys","_renderButtonContainers","customizeButtons","showAnalogClock","pickerType","invalidDateMessage","dateOutOfRangeMessage","applyButtonText","calendarOptions","useHiddenSubmitElement","_showValidationIcon","_updatePickerOptions","_pickerType","_initStrategy","_toLowerCaseFirstLetter","_getStrategyName","_getFormatType","isTime","_refreshFormatClass","_refreshPickerTypeClass","renderInputMinMax","_formatValidationIcon","_updatePopupHeight","_this$_strategy$_upda","_this$_strategy","clearButtonWidth","_getClearButtonWidth","longestElementDimensions","_getLongestElementDimensions","curWidth","shouldHideValidationIcon","_storedPadding","leftPadding","rightPadding","_isClearButtonVisible","clearButtonElement","longestValue","getLongestDate","$longestValueElement","storedPadding","necessaryWidth","getKeyboardListener","_renderPopupWrapper","_this$_strategy$_getP","_this$_strategy$_getP2","_this$_strategy2","popupConfig","_getPopupTitle","classPostfixes","_renderPopupContent","renderPopupContent","getFirstPopupElement","getLastPopupElement","_popupShowingHandler","popupShowingHandler","_popupShownHandler","renderOpenedState","_popupHiddenHandler","popupHiddenHandler","_clearValueHandler","_readOnlyPropValue","_isNativeType","_getDisplayedText","renderValue","submitFormat","SUBMIT_FORMATS_MAP","submitValue","toStandardDateFormat","displayedText","_getFormatByMode","FORMATS_MAP","_getParsedDate","_getDateByDefault","mergeDates","_applyInternalValidation","_recallInternalValidation","editorSpecific","_applyCustomValidation","useCurrentDateByDefault","getDefaultDate","parsedText","getParsedText","validationMessage","_updateInternalValidationState","_serializeDate","_isValueChanged","_isTextChanged","_renderProps","_renderOpenedState","isAdaptivityChanged","_refreshStrategy","_this$_strategy3","_updatePopupTitle","_this$_popup","_updateValue","_renderInputValue","textChangedHandler","_setPopupOption","isValueChanged","_clearValue","_uiDate_box","_uiDate_boxMask","MASK_EVENT_NAMESPACE","BACKWARD","originalHandlers","callOriginalHandler","originalHandler","applyHandler","maskHandler","_shouldUseOriginalHandler","_revertPart","_isAllSelected","_selectFirstPart","_selectLastPart","_revertChanges","_enterHandler","_selectNextPart","_upDownArrowHandler","isNotDeletingInCalendar","_useMaskBehavior","_setNewDateIfEmpty","originalValue","_getActivePartValue","_initialMaskValue","_loadMaskValue","_partIncrease","useMaskBehavior","emptyDateValue","_isSingleCharKey","_isSingleDigitKey","_useBeforeInputEvent","_keyInputHandler","oldInputValue","_processInputKey","_maskInputHandler","_renderSelectedPart","_maskBeforeInputHandler","isBackwardDeletion","_keyPressHandler","_renderDisplayText","_maskValue","_activePartIndex","_searchString","_searchNumber","caret","_caret","_getFormatPattern","_formatPattern","isLDMLPattern","_renderDateParts","_partLimitsReached","maxLimitLength","formatLength","_getActivePartProp","maxSearchLength","isLengthExceeded","isValueOverflowed","_getActivePartLimits","_setActivePartValue","limits","startString","endLimit","_clearSearchValue","_prepareRegExpInfo","_regExpInfo","quantifierRegexp","convertedSource","sourcePart","_initMaskState","_renderMask","_detachMaskEvents","_clearMaskState","_attachMaskEvents","_dateParts","renderDateParts","_maskClickHandler","_maskPasteHandler","_maskCompositionEndHandler","_onMouseWheel","isStub","_getRealLimitsPattern","lockOtherParts","limitFunction","_addLeadingZeroes","zeroes","_saveMaskValue","_this$_getActivePartL2","limitDelta","_applyLimits","limitBase","limitClosest","getDatePartIndexByPosition","_replaceSelectedText","_isDateValid","_isValueDirty","_fireChangeEvent","monthGetter","monthSetter","monthLimits","getLimits","_getLimits","newDay","PATTERN_GETTERS","isPM","currentYear","valueLength","sections","forcedPattern","dM","getAmPm","caretInGroup","_calendar","todayButtonText","homeEndHandler","dateBox","viewValue","_getContouredValue","lastActionElement","shouldCloseDropDown","_closeDropDownByEnter","dateBoxValue","_getWidgetName","_getWidgetOptions","_valueChangedHandler","_getTodayButtonConfig","_isCalendarVisible","_box","DATEBOX_TIMEVIEW_SIDE_CLASS","widgetOption","_is24HourFormat","viewDate","_updateDateTime","_renderWidget","_timeView","_showClock","_isShrinkView","use24HourFormat","_getPopup","_isSmallScreen","_repaintTimer","isAdaptiveMode","currentAdaptiveMode","_currentAdaptiveMode","preventDefaultValue","normalizeTime","_getBoxItems","_attachTabHandler","calendarPopupConfig","_hourBox","_preventFocusOnPopup","_hasFocusClass","_this$_widget$option","_removeMinWidthTimer","openOnFieldClick","_popupToolbarItemsConfig","_device2","_createWidget","_getWidgetContainer","_getCurrentDate","ONE_YEAR","_this$_getPopup","BOUNDARY_VALUES","_widgetItems","_getDateByItemData","_refreshItems","_timeListItemTemplate","_getTimeListItems","_setSelectedItemsByValue","_asyncScrollTimeout","_scrollToSelectedItem","dateIndex","_getDateIndex","scrollToItem","_areDatesEqual","_getBoundaryDate","ONE_DAY","ONE_MINUTE","_getRangeItems","rangeDuration","rangeItems","boundaryValue","dropDownOptionsHeight","getSizeValue","popupHeight","_timeList","fromStandardDateFormat","_getDateBoxType","SUPPORTED_FORMATS","dropDownButton","getButton","DATE_COMPONENTS","TIME_COMPONENTS","MIN_DATEVIEW_DEFAULT_DATE","MAX_DATEVIEW_DEFAULT_DATE","FORMATS_INFO","getStandardPattern","components","standardPattern","getMaxMonthDay","formatInfo","componentInfo","DATE_COMPONENTS_INFO","getLongestCaptionIndex","captionArray","longestIndex","longestCaptionLength","stringFormat","getStringFormat","longestDate","DATEVIEW_CLASS","ROLLER_TYPE","_valueOption","_getDefaultDate","applyCompactClass","_toggleFormatClasses","_toggleCompactClass","currentFormat","previousFormat","_wrapper","_$wrapper","_renderRollers","_$rollersContainer","_createRollerConfigs","_rollers","_rollerConfigs","$roller","DATEVIEW_ROLLER_CLASS","displayItems","scrollByContent","roller","_toggleActive","_setActiveRoller","_setRollerState","onSelectedIndexChanged","_createRollerConfig","valueRange","_calculateRollerConfigValueRange","valueItems","currentRoller","activeRoller","toggleActiveState","_updateRollersPosition","rollerValue","_refreshRollers","_refreshRoller","rollerType","rollerConfig","minYear","minMonth","maxYear","maxMonth","minHour","maxHour","_uiScrollable","_convert_location","DATEVIEW_ROLLER_ITEM_CLASS","DateViewRoller","_Scrollable","showOnClick","_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","_fireSelectedIndexChanged","_visibilityTimer","_refreshSelectedIndex","fitIndex","rotateArrow","$arrow","cssRotate","TimeView","_arrowOffset","_getValue","_renderBox","_updateTime","$box","_renderClock","_renderField","_$hourArrow","_$minuteArrow","_updateClock","hourArrowAngle","minuteArrowAngle","is12HourFormat","_minuteBox","_format12","_createHourBox","_createMinuteBox","_createFormat12Box","_onHourBoxValueChanged","_getNumberBoxConfig","_isPM","newHours","_convertMaxHourToMin","maxHoursValue","newMinutes","_refreshFormat12","_silentEditorValueUpdate","_suppressValueChangeAction","_resumeValueChangeAction","displayValueFormatter","_normalizeHours","_updateField","_uiDate_range","_CalendarStrategy","RangeCalendarStrategy","dateRangeBox","_this$_widget","_dateSelectedCounter","getStartDateBox","$popupWrapper","newDateBoxValue","isSameDates","getDateRangeBox","_isInstantlyMode","_isEndDateActiveElement","_isStartDateActiveElement","todayButtonConfig","_popupButtonInitializedHandler","_this$dateRangeBox$op","disabledDatesValue","multiView","getCurrentSelection","_shouldPreventFocusChange","isSameDateArrays","_getCalendarCurrentSelection","getDeserializedDate","updateValue","_moveFocusToNextInput","targetDateBox","getEndDateBox","setActiveStartDateBox","setActiveEndDateBox","sortDatesArray","monthDifference","previousStartDate","previousEndDate","_value2","_uiText_editor","_index2","DATERANGEBOX_WITH_LABEL_CLASS","DATERANGEBOX_WITH_FLOATING_LABEL_CLASS","TEXTEDITOR_EMPTY_INPUT_CLASS","EVENTS_LIST","DateRangeBox","acceptCustomValue","cancelButtonText","endDateOutOfRangeMessage","disableOutOfRangeSelection","dropDownButtonTemplate","endDateInputAttr","endDateLabel","endDateName","endDatePlaceholder","endDateText","invalidStartDateMessage","invalidEndDateMessage","onChange","onClosed","onCut","onEnterKey","onInput","onOpened","showClearButton","spellcheck","startDateInputAttr","startDateLabel","startDateName","startDateOutOfRangeMessage","startDatePlaceholder","startDateText","valueChangeEvent","_internalValidationErrors","_createOpenAction","_openAction","_raiseOpenAction","_createCloseAction","_closeAction","_raiseCloseAction","_createEventAction","_raiseAction","$icon","_getDefaultButtons","_toggleDropDownEditorActiveClass","_toggleEditorLabelClass","_toggleReadOnlyState","_renderStylingMode","_renderEndDateBox","_renderStartDateBox","_toggleEmptinessState","_renderEmptinessEvent","_renderButtonsContainer","isLabelVisible","_$startDateBox","_startDateBox","_getStartDateBoxConfig","_$endDateBox","_endDateBox","_getEndDateBoxConfig","_$separator","_renderPreventBlurOnSeparatorClick","_hasActiveElement","_buttonCollection","_$beforeButtonsContainer","_$afterButtonsContainer","renderBeforeButtons","renderAfterButtons","_updateButtons","updateButtons","_openHandler","_toggleOpenState","_shouldCallOpenHandler","_focusInput","startDateField","_shouldSkipFocusEvent","endDateField","_getPickerType","_getRestErrors","allErrors","partialErrors","prevError","_syncValidationErrors","newPartialErrors","previousPartialErrors","otherErrors","_getDateBoxConfig","dateBoxConfig","_dateRangeBoxInstance","$dropDownButton","isInputClicked","isDropDownButtonClicked","_options$dropDownOpti","preventScrollEvents","_getValidationMessagePosition","_updateDateBoxesValue","startDateBox","endDateBox","newStartDate","newEndDate","oldStartDate","oldEndDate","_renderAccessKey","$startDateInput","_focusEventTarget","_focusClassTarget","_isActiveElement","_popupContentIdentifier","_popupContentId","arias","controls","ariaOwns","_cleanButtonContainers","_this$_$beforeButtons","_this$_$afterButtonsC","_this$_$startDateBox","_this$_$endDateBox","_this$_$separator","_createValueChangeAction","_shouldSkipIsValidChange","internalValidationErrors","externalErrors","_newValue2","_rangeCalendar","_DateBox","MultiselectDateBox","_renderInputClickEvent","clickEventName","_processValueChange","_getDateRangeBox","_isStartDateBox","_getControlsAria","_this$_strategy$dateR","_validationMessage","_getValidationMessagePositionSide","_this$_strategy$dateR2","_popupElementTabHandler","_this$_strategy$dateR4","startDateInput","endDateInput","_isTargetOutOfComponent","$dateRangeBox","isTargetOutOfDateRangeBox","_skipIsValidOptionChange","_transition_executor","PENDING_RENDERING_CLASS","PENDING_RENDERING_MANUAL_CLASS","PENDING_RENDERING_ACTIVE_CLASS","DeferRendering","showLoadIndicator","renderWhen","staggerItemSelector","transitionExecutor","_initElement","_initRender","_$initialContent","doRender","_renderDeferredContent","_initContent","_setLoadingState","_abortRenderTask","_renderTask","shownArgs","_isElementInViewport","animatePromise","renderedArgs","noModel","_setRenderedState","_isRendered","hasCustomLoadIndicator","_showLoadIndicator","_$loadIndicator","_renderOrAnimate","renderContent","_diagram","DiagramBar","getDiagram","raiseBarCommandExecuted","_getKeys","SEPARATOR","SEPARATOR_COMMAND","CSS_CLASSES","SHOW_TOOLBOX_COMMAND_NAME","SHOW_PROPERTIES_PANEL_COMMAND_NAME","getAllCommands","_allCommands","getParameter","_exportTo","menuIcon","cut","fontColor","lineStyle","textAlignLeft","textAlignCenter","textAlignRight","bringToFront","sendToBack","insertShapeImage","editShapeImage","deleteShapeImage","connectorLineType","connectorLineStart","connectorLineEnd","layoutTreeTopToBottom","layoutTreeBottomToTop","layoutTreeLeftToRight","layoutTreeRightToLeft","layoutLayeredTopToBottom","layoutLayeredBottomToTop","layoutLayeredLeftToRight","layoutLayeredRightToLeft","getCommandValue","pageOrientation","getEditorDisplayValue","toolbox","iconChecked","iconUnchecked","propertiesPanel","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","rootCommand","_isValidCommand","_cloneCommand","mimeString","_getBlobByDataURI","_ItemsOption","EdgesOption","_diagramWidget","_createOptionGetter","Diagram","_ItemsOptionBase","ItemsOption","diagramWidget","_resetCache","_dataSourceItems","internalChanges","internalChange","externalChanges","_reloadContentByChanges","_onDataSourceChanged","_dataSourceLoadingChangedHandler","_showLoadingIndicator","_hideLoadingIndicator","_prepareData","errorCallback","_getStore","storeKey","_getStoreKey","_getItemByKey","isExternalChanges","internalKey","_getInternalKey","_ensureCache","_fillCache","_getItemsExpr","containerChildrenExpr","_getContainerChildrenExpr","NodesOption","_diagram2","_DiagramBar","DiagramOptionsUpdateBar","commandOptions","_getOption","_setOption","_updateLock","getDefaultGroups","_groups","general","flowchart","orgChart","getGroups","defaultGroups","_uiDiagram","_diagram3","DiagramContextMenuWrapper","_createOnVisibilityChangingAction","_createOnInternalCommand","_createOnCustomCommand","_createOnItemClickAction","_tempState","_commands","_commandToIndexMap","DiagramContextMenuBar","_getCommands","_fillCommandToIndexMap","_$contextMenuTargetElement","$contextMenu","_contextMenuInstance","DiagramContextMenu","isTouchBarMode","_isTouchBarMode","getContextMenuCssClass","getContextMenuItemTemplate","_onItemClick","_inOnShowing","_onVisibilityChangingAction","widthCorrection","processed","_onItemClickAction","onContextMenuItemClick","_executeCommand","_onInternalCommandAction","_onCustomCommandAction","indexPath","commandIndexPath","_setItemEnabled","_setItemVisible","itemOptionText","getItemOptionText","updateContextMenuItemVisible","_setItemValue","updateContextMenuItemValue","_setItemSubItems","updateContextMenuItems","_setEnabled","_ContextMenu","DIAGRAM_CONTEXT_TOOLBOX_CONTENT_CLASS","DiagramContextToolbox","_onShownAction","_popoverPositionData","_$popoverTargetElement","$popoverElement","popoverClass","_isTouchMode","_popoverInstance","targetDiv","_file_uploader","getConfigurations","dialogList","onGetContent","getChangeImageDialogContent","$uploader","selectButtonText","accept","uploadMode","_commandParameter","getDialogParameters","commandIndex","DiagramDialog","_createOnGetContentOption","_createOnHiddenOption","_$popupElement","_onHiddenAction","_getOkToolbarItem","_getCancelToolbarItem","_onGetContentAction","_DiagramPanel","DiagramFloatingPanel","_createOnVisibilityChangedAction","isMobileView","$popupElement","_getPopupClass","_updatePopupVisible","_getPopupContent","_getPointerUpElements","_getVerticalPaddingsAndBorders","_getHorizontalPaddingsAndBorders","_getPopupWidth","_getPopupMaxWidth","_getPopupMinWidth","_getPopupHeight","_getPopupMaxHeight","_getPopupMinHeight","_getPopupPosition","_getPopupContainer","_getPopupSlideAnimationObject","_getPopupAnimation","copyRootClassesToWrapper","_ignoreCopyRootClassesToWrapperDeprecation","_onVisibilityChangedAction","_DiagramToolbar","DiagramHistoryToolbar","_getExcludeCommands","zIndexPool","_uiDiagram2","_uiDiagram3","_uiDiagram4","_uiDiagram5","_uiDiagram6","_uiDiagram7","_uiDiagram8","_uiDiagram9","_uiDiagram10","_uiDiagram11","_uiDiagram12","_diagram4","_diagram5","_diagram6","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_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","_toolbars","_initDiagram","_createCustomCommand","_isMobileScreenSize","isServerSide","_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","$scrollViewWrapper","onCreateDiagram","_setCustomCommandChecked","_isPropertiesPanelVisible","_isToolboxVisible","_createOptionsUpdateBar","_processDiagramResize","_bindDiagramData","isMobileScreenSize","_captureFocus","_captureFocusOnTimeout","_captureFocusTimeout","_killCaptureFocusTimeout","_registerToolbar","_registerBar","_getToolbarBaseOptions","onSubMenuVisibilityChanging","_onPanelPointerUp","onInternalCommand","_onInternalCommand","onCustomCommand","_onCustomCommand","_customCommandAction","$toolbarWrapper","skipAdjustSize","isReadOnlyMode","_updateHistoryToolbarPosition","DIAGRAM_FLOATING_PANEL_OFFSET","$toolBox","_getToolboxBounds","showSearch","toolboxGroups","_getToolboxGroups","onShapeCategoryRendered","dataToggle","onFilterChanged","filteringToolboxes","onVisibilityChanging","_historyToolbarZIndex","baseZIndex","_textInputStarted","updateMaxHeight","_getViewToolbarYOffset","_updateViewToolbarPosition","buttonStylingMode","buttonType","_updatePropertiesToolbarPosition","$propertiesPanel","propertyTabs","onCreateToolbar","_updatePropertiesPanelGroupBars","onSelectedGroupChanged","getActiveToolbars","_onBeforeCommandExecuted","$contextToolbox","$toolboxContainer","isTextGroup","setCommandChecked","dialogParameters","_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","_deleteOptionsUpdateBar","_executeDiagramCommand","getNodeDataSource","_nodesOption","getEdgeDataSource","_edgesOption","_beginUpdateDiagram","_refreshNodesDataSource","_refreshEdgesDataSource","_endUpdateDiagram","_getDiagramData","_setDiagramData","_getChangesKeys","_onRequestUpdateLayout","_requestLayoutUpdateAction","_createRequestLayoutUpdateAction","_createOptionSetter","_isBindingMode","lineOptionGetter","lineOptionSetter","startLineEndingGetter","startLineEndingSetter","endLineEndingGetter","endLineEndingSetter","containerChildrenGetter","containerChildrenSetter","_getDiagram4","_getConnectorLineOption","lineEnd","_getConnectorLineEnding","_getDataBindingLayoutParameters","_reloadContent","itemKeys","_getDiagram7","layoutParametersOption","_hasNodePositionExprs","_getAutoZoomValue","_updateAllCustomShapes","customShapes","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","updateTooltips","autoZoomMode","customDataExpr","lockedExpr","textStyleExpr","zIndexExpr","typeExpr","textExpr","imageUrlExpr","parentKeyExpr","leftExpr","topExpr","widthExpr","heightExpr","containerKeyExpr","autoLayout","fromExpr","fromPointIndexExpr","toExpr","toPointIndexExpr","pointsExpr","lineTypeExpr","fromLineEndExpr","toLineEndExpr","shapeIconsPerRow","mainToolbar","historyToolbar","viewToolbar","defaultItemProperties","allowAddShape","allowDeleteShape","allowDeleteConnector","allowChangeConnection","allowChangeConnectorPoints","allowChangeShapeText","allowChangeConnectorText","allowResizeShape","allowMoveShape","onItemDblClick","onRequestEditOperation","onRequestLayoutUpdate","_toolboxDragHidden","_propertiesPanelTextInputHidden","_toolboxTextInputHidden","_createItemDblClickAction","_itemDblClickAction","_createSelectionChangedAction","_selectionChangedAction","_createRequestEditOperationAction","_requestEditOperationAction","nativeItem","nativeItems","_getRequestEditOperationEventArgs","_getModelOperation","_getDiagram38","reason","newShape","connectorPosition","newSize","_nativeShapeToDiagramShape","_nativeConnectorToDiagramConnector","nativeShape","itemType","nativeConnector","getItemByKey","_invalidateContextMenuCommands","_invalidateMainToolbarCommands","_invalidateHistoryToolbarCommands","_invalidateViewToolbarCommands","_invalidateToolboxGroups","_optionChangedCore","DiagramMainToolbar","DiagramMenuHelper","_menuHasCheckedItems","actionHandler","_parameter","getItemCommandParameter","parentItemOptionText","_getParentItemOptionText","_originalItemsInfo","indexPathCorrection","_getItemOptionTextCore","parentIndexPath","rootCommandKey","originalItems","_setContextMenuHasCheckedItems","POINTERUP_EVENT_NAME","DiagramPanel","_createOnPointerUpAction","_attachPointerUpEvent","_onPointerUpAction","_tab_panel","_DiagramFloatingPanel","DiagramPropertiesPanel","_commandTabs","_createOnCreateToolbar","_createOnSelectedGroupChanged","_selectedToolbar","_hasTabPanel","$panel","_renderTabPanel","_renderTabContent","$tabPanel","_tabPanel","_onSelectedGroupChangedAction","_firstScrollView","_scrollViewHeight","isSingleTab","_renderTabInnerContent","_renderTabGroupContent","_onCreateToolbarAction","DiagramPropertiesToolbar","DiagramScrollView","_createOnCreateDiagramAction","_raiseOnScroll","_scrollView","_onCreateDiagramAction","_raiseOnScrollWithoutPoint","DIAGRAM_MOBILE_TOOLBAR_COLOR_BOX_OPENED_CLASS","DiagramToolbar","_itemHelpers","_commandContextMenus","_contextMenuList","_valueConverters","DiagramToolbarBar","_createOnSubMenuVisibilityChangingAction","_createMainElement","_renderToolbar","$toolbarContent","beforeCommands","centerCommands","afterCommands","_prepareToolbarItems","_toolbarInstance","_createItem","_createItemOptions","_createItemActionOptions","_onItemInitialized","_onItemContentReady","_createSelectBoxItemOptions","_createTextBoxItemOptions","_createColorBoxItemOptions","_createTextEditorItemOptions","_toggleContextMenu","cm","_addItemHelper","DiagramToolbarItemHelper","$menuContainer","_dropDownButtonElement","_showingSubMenu","_onSubMenuVisibilityChangingAction","_onContextMenuInitialized","_onContextMenuDisposing","rootWidget","_addContextMenuHelper","subItem","itemIndexPath","DiagramToolbarSubItemHelper","_updateLocked","valueConverter","canUpdate","setCommandEnabled","showingSubMenu","_updateButtonValue","_updateContextMenuItemValue","_updateContextMenuItems","_updateEditorItems","_DiagramToolbarItemHe","_indexPath","_rootCommandKey","_rootWidget","_proto4","_getItemOptionText","rootEnabled","_hasEnabledCommandItems","_accordion","DIAGRAM_TOOLTIP_DATATOGGLE","DiagramToolbox","_toolboxes","_filterText","_createOnShapeCategoryRenderedAction","_createOnFilterChangedAction","panelHeight","$inputContainer","_updateElementWidth","_renderSearchInput","_searchInput","_renderScrollView","_onInputChanged","$accordion","_renderAccordion","_getAccordionDataSource","groupObj","onTemplate","$toolboxElement","_onShapeCategoryRenderedAction","_onFilterChangedAction","_createTooltips","$tooltip","hideEvent","_updateScrollAnimateSubscription","$tooltipContainer","DiagramViewToolbar","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","_options$title","isMessageHtmlDefined","messageHtml","popupToolbarItems","popupInstance","ignoreChildEvents","dragAndResizeArea","$firstButton","toConfig","completeAction","_uiDrawerRenderingStrategy","_uiDrawerRenderingStrategy2","_uiDrawerRenderingStrategy3","_uiDrawer","DRAWER_CLASS","DRAWER_PANEL_CONTENT_CLASS","DRAWER_SHADER_CLASS","INVISIBLE_STATE_CLASS","ANONYMOUS_TEMPLATE_NAME","PANEL_TEMPLATE_NAME","Drawer","openedStateMode","revealMode","animationEnabled","_whenAnimationCompleted","_whenPanelContentRendered","_whenPanelContentRefreshed","_$viewContentWrapper","_viewContentWrapperClickHandler","stopAnimations","_toggleOpenedStateClass","_renderPanelContentWrapper","_refreshOpenedStateModeClass","_refreshRevealModeClass","_renderShader","_refreshPositionClass","renderPanelContent","onPanelContentRendered","_renderViewContent","_refreshWrapperChildrenOrder","_initMinMaxSize","refreshPanelElementSize","isHorizontalDirection","_renderPosition","_removePanelManualPosition","_$panelContentWrapper","calcTargetPosition","prevOpenedStateMode","isViewContentFirst","prevRevealMode","contentTemplateOption","$viewTemplate","viewContent","_$shader","_toggleShaderVisibility","_initSize","realPanelSize","getRealPanelWidth","getRealPanelHeight","_maxSize","_minSize","getOverlayTarget","getOverlay","getMaxSize","getMinSize","_getPanelTemplateElement","$panelContent","getPanelContent","$children","overlay","resizeContent","resizeViewContent","_isInvertedPosition","isDrawerOpened","disableAnimation","renderPosition","_animationCompleteHandler","_getPositionCorrection","_refreshPanel","_removePanelContentWrapper","_removeOverlay","targetOpened","DrawerStrategy","drawer","_drawer","getDrawerInstance","whenPanelContentRendered","changePositionUsingFxAnimation","whenPositionAnimationCompleted","whenShaderAnimationCompleted","_internalRenderPosition","renderShaderVisibility","_getPanelOffset","_getPanelSize","whenAnimationCompleted","isShaderVisible","fadeConfig","setPanelSize","calcFromRealPanelSize","panelSize","_uiDrawerRendering","_DrawerStrategy","OverlapStrategy","_initialPosition","_drawer$option","_getOverlayPosition","templatesRenderAsynchronously","_fixOverlayPosition","_processOverlayZIndex","panelPosition","_updateViewContentStyles","$panelOverlayContent","targetPanelPosition","panelOffset","PushStrategy","openedPanelSize","contentPosition","paddingCssPropertyName","ShrinkStrategy","DropDownBox","$tabbableElements","_getTabbableElements","_getElements","tabbable","_initDataExpressions","_shouldUseDisplayValue","_rejectValueLoading","_getCurrentValue","itemLoadDeferreds","_isValueEquals","_valueGetter","_loadValue","shouldSkipCallback","$firstTabbable","$lastTabbable","moveBackward","moveForward","_fieldRenderData","_canShowVirtualKeyboard","_isNestedElementActive","_shouldHideOnParentScroll","_popupPosition","_popupPositionedHandler","_getDefaultPopupPosition","_this$callBase","_ignoreFunctionValueDeprecation","_this$_popupPosition","popupLocation","getElementMaxHeightByWindow","$firstElement","_setCollectionWidgetOption","_dataExpressionOptionChanged","_button_group","DROP_DOWN_BUTTON_CLASS","DROP_DOWN_BUTTON_ACTION_CLASS","DROP_DOWN_BUTTON_TOGGLE_CLASS","DropDownButton","useSelectMode","splitButton","showArrowIcon","onButtonClick","dropDownContentTemplate","wrapItemText","useItemTextAsTitle","groupTemplate","buttonGroupOptions","_createActionClickAction","_compileKeyGetter","_itemsToDataSource","$listContainer","_listOptions","_escHandler","_getKey","_renderButtonGroup","_updateArrowClass","_loadSelectedItem","_updateActionButton","_this$_loadSingleDefe","_loadSingleDeferred","_lastSelectedItemData","cachedResult","_actionClickAction","_fireSelectionChangedAction","previousItem","_fireItemClickAction","_actionItem","_actionButtonConfig","_getButtonGroupItems","_buttonGroupItemClick","isActionButton","_buttonGroupOptions","buttonContent","$firstIcon","$textContainer","$secondIcon","_popupOptions","_buttonGroup","_upDownKeyHandler","_tabHandler","$popup","_updateAriaAttributes","_popupOptionChanged","getOptionsFromContainer","optionsKeys","_setWidgetOption","_setElementAria","elementAria","owns","_setButtonsAria","commonButtonAria","haspopup","firstButtonAria","_getButtons","$buttonGroup","hasArrow","_getDisplayValue","_selectedItemKeyChanged","_updateButtonGroup","_actionButtonOptionChanged","_selectModeChanged","_updateItemCollection","_updateDataSource","_updateKeyExpr","_innerWidgetOptionChanged","_TextEditorButton","currentTemplate","_attachEvents","_editor$_shouldCallOp","_create","_getOptions","_addToContainer","_legacyRender","_addTemplate","_isSameTemplate","_ui3","_ui4","DROP_DOWN_EDITOR_INPUT_WRAPPER","DROP_DOWN_EDITOR_OVERLAY","isIOs","DropDownEditor","popupPosition","onPopupInitialized","_inputWrapper","_initVisibilityActions","_initPopupInitializedAction","_updatePopupPosition","_this$_getDefaultPopu","_popupInitializedAction","_renderOpenHandler","_attachFocusOutHandler","_wrapInput","_setDefaultAria","autocomplete","_isEditable","_detachFocusEvents","_getFieldTemplate","_renderTemplatedField","_renderPlaceholder","_this$_fieldRenderQue","_fieldRenderQueueLength","_detachKeyboardEvents","_refreshButtonsContainer","_detachWrapperContent","$templateWrapper","_integrateInput","_attachWrapperContent","_this$_$submitElement","beforeButtonsContainerParent","afterButtonsContainerParent","_this$_$submitElement2","_$buttonsContainer","_refreshValueChangeEvent","_refreshEvents","_refreshEmptinessEvent","_toggleEmptinessEventHandler","$inputWrapper","_getInputClickHandler","_openOnFieldClickAction","_detachFocusOutEvents","popupWrapper","_executeOpenAction","_resetCaretPosition","ignoreEditable","caretPosition","contentReady","_setPopupContentId","_popupInitializedHandler","_ignorePreventScrollEventsDeprecation","_e$position","_e$position$v","$popupOverlayContent","isOverlayFlipped","shouldIndentForLabel","_label","_this$_validationMess","_this$_validationMess2","myTop","popupTop","_popupElementEscHandler","_applyButtonsLocation","resultConfig","_grouped_data_converter_mixin","SEARCH_MODES","useCompositionEvents","DropDownList","_allowSelectItemByTab","_setSelectedElement","_setValue","_dataExpressionDefaultOptions","showDataBeforeSearch","_validateSearchMode","_clearSelectedItem","_initItems","_setListFocusedElementOptionChange","_updateActiveDescendant","_initContentReadyAction","_initSelectionChangedAction","_initItemClickAction","_saveFocusOnWidget","_fitIntoRange","_getSelectedIndex","_updateCustomBoundaryContainer","customContainer","$containerWithParents","_$customBoundaryContainer","_loadInputValue","itemByValue","_this$_list","listFocusedItemId","isElementOnDom","activedescendant","_displayValue","_listItemElements","_isSelectedValue","_setFocusPolicy","normalizedSearchMode","_processDataSourceChanging","_isCustomValueAllowed","_clearFilter","_$list","autoResizeEnabled","_getMaxHeight","_renderList","canListHaveFocus","_canListHaveFocus","_listId","$list","_refreshList","_renderPreventBlurOnListClick","_shouldRefreshDataSource","_needPassDataSourceToList","_templates","templateProvider","_listContentReadyHandler","indicateLoading","_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","VALIDATION_STATUS_INVALID","ALLOWED_STYLING_MODES","VALIDATION_MESSAGE_KEYS_MAP","validationBoundary","_valueChangeActionSuppressed","_setSubmitElementName","_renderValidationState","_valueChangeArgs","isValidationMessageShownOnFocus","_canValueBeChangedByClick","_getStylingModePrefix","allowedStylingClasses","stylingModeClass","defaultOptionValue","platformOptionValue","_getValidationErrors","_disposeValidationMessage","_$validationMessage","_toggleValidationClasses","validationMessageContentId","_getValidationMessageTarget","_toggleBackspaceHandler","$eventTarget","$submitElement","_setValidationMessageOption","optionKey","_this$_validationMess3","_refreshFocusState","updateMaxWidth","_compileValueGetter","_initDynamicTemplates","_valueGetterExpr","_unwrappedValue","_loadValueDeferred","_this$_loadValueDefer","_getItemKey","_compareValues","_compareByCompositeKey","_compareByKey","unwrapObservable","valueKey1","valueKey2","_setCollectionWidgetItemTemplate","OPERATIONS","FileItemsController","_uiFile_manager","DEFAULT_ROOT_FILE_SYSTEM_ITEM_NAME","NAVIGATION","REFRESH","_isInitialized","_dataLoading","_dataLoadingDeferred","_rootDirectoryInfo","_createRootDirectoryInfo","rootText","_currentDirectoryInfo","_defaultIconMap","_createDefaultIconMap","startSingleLoad","_setSecurityController","_setProvider","fileProvider","currentPathKeys","setCurrentPathByKeys","setCurrentPath","completeInitialization","_raiseInitialized","_securityController","FileSecurityController","allowedFileExtensions","maxFileSize","uploadMaxFileSize","_resetState","setAllowedFileExtensions","setUploadOptions","chunkSize","uploadChunkSize","_fileProvider","_createFileProvider","updateProvider","_getDirectoryByPathParts","newDirectory","_resetCurrentDirectory","_updateProviderOnly","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","onDirectoryCreating","onDirectoryCreated","_resetDirectoryState","fileItemInfo","itemNewName","onItemRenaming","itemName","onItemRenamed","onItemMoving","onItemMoved","needChangeCurrentDirectory","onItemCopying","onItemCopied","processUploadSession","sessionInfo","uploadDirectoryInfo","_getItemInfosForUploaderFiles","startDeferred","validateMaxFileSize","_processBeforeItemEditAction","onFileUploading","onFileUploaded","onItemDownloading","_getItemActionResult","_raiseDownloadItemsError","getItemContent","_raiseGetItemsError","_raiseEditActionStarting","_raiseEditActionResultAcquired","_raiseEditActionError","targetFileInfos","singleRequest","_raiseEditActionItemError","dirInfo","isActualDirectoryRequired","actionResult","beforeAction","afterAction","isAnyOperationSuccessful","whenSome","_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","getDisplayName","displayName","rootDirectory","setRootText","_tryCallAction","selectedDirectoryInfo","_selectedDirectory","finalEventName","editingEvents","_extensionsMap","_allowedFileExtensions","_isValidExtension","_maxFileSize","_splitter","FILE_MANAGER_ADAPTIVITY_DRAWER_PANEL_CLASS","DRAWER_PANEL_CONTENT_INITIAL","FileManagerAdaptivityControl","_isInAdaptiveState","$drawer","_createDrawerTemplate","$drawerContent","contentRenderer","_updateDrawerMaxSize","leftElement","rightElement","onApplyPanelSize","_onApplyPanelSize","onActiveStateChanged","_onActiveStateChanged","disableSplitterCalculation","_checkAdaptiveState","isSplitterMoved","_setDrawerWidth","leftPanelWidth","toggleDrawer","_raiseAdaptiveStateChanged","_isDrawerOpened","onAdaptiveStateChanged","drawerTemplate","isInAdaptiveState","isSplitterActive","toggleDisabled","getSplitterElement","getSplitterBorderElement","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","_getMenuItems","_onItemRendered","dirLine","_getParentDirsLine","isPathItem","newDir","_raiseCurrentDirectoryChanged","dir1","dir2","onCurrentDirectoryChanging","rootFolderDisplayName","defaultPermissions","FileManagerCommandManager","rename","permissions","_permissions","_initCommands","noFileItemRequired","isSingleFileItemCommand","_commandMap","registerActions","actions","executeCommand","commandName","updatePermissions","resultPermissions","permission","getCommandByName","isCommandAvailable","isParentFolder","getMapFromObject","getDisplayFileSize","findItemsByKeys","extendAttributes","onSuccess","onError","byteSize","sizesTitles","displaySize","targetObject","sourceObject","objectKeysArray","objectKey","itemMap","DEFAULT_CONTEXT_MENU_ITEMS","DEFAULT_ITEM_ALLOWED_PROPERTIES","FileManagerContextMenu","_onContextMenuItemClick","_onContextMenuShowing","_onContextMenuShown","_onContextMenuHidden","showAt","_target$isActionButto","_menuShowingContext","createContextMenuItems","contextMenuItems","targetFileItem","_targetFileItems","_targetFileItem","srcItem","_configureItemByCommandName","_isContextMenuItemAvailable","menuItem","_isDefaultItem","_autoHide","_isIsolatedCreationItemCommand","_commandManager","originalItemData","_addItemClickHandler","_createMenuItemByCommandName","_this$_commandManager","contextMenuItem","_this$_targetFileItem","viewArea","targetFileItems","onContextMenuHidden","onContextMenuShowing","tryUpdateVisibleContextMenu","preserveContext","_raiseContextMenuHidden","_FileManagerDialogBas","FileManagerDeleteItemDialog","_$text","_initialText","_getDialogOptions","buttonText","contentCssClass","popupCssClass","_createContentTemplate","_$contentElement","_getDialogResult","_uiFile_manager2","_uiFile_manager3","FileManagerFolderChooserDialog","_this$_filesTreeView","_setSelectedDirInfo","_filesTreeView","switchToCopyDialog","_targetItemInfos","_setTitle","_setApplyButtonOptions","switchToMoveDialog","_getDialogSelectedDirectory","onDirectoryClick","_onFilesTreeViewDirectoryClick","onFilesTreeViewContentReady","_toggleUnavailableLocationsDisabled","folder","_selectedDirectoryInfo","updateCurrentDirectory","_onPopupShown","_onPopupHidden","locations","_getLocationsToProcess","toggleDirectoryExpandedStateRecursive","locationsToExpand","toggleDirectoryLineExpandedState","locationsToCollapse","locationKeysToDisable","toggleNodeDisabledState","_expandMap$keys","expandLocations","collapseLocations","expandMap","collapseMap","FileManagerDialogBase","_options$popupCssClas","_createOnClosedAction","_applyDialogChanges","_closeDialog","_dialogResult","_onClosedAction","dialogResult","newTitle","_createOnPathChangedAction","FileManagerNameEditorDialog","_nameTextBox","_initialNameValue","$textBoxInput","_hasCompositionJustEnded","_checkCompositionEnded","nameValue","_uiFile_managerDialog","_uiFile_managerDialog2","_uiFile_managerDialog3","FileManagerDialogManager","baseDialogOptions","onDialogClosed","$chooseFolderDialog","_chooseDirectoryDialog","chooseDirectoryDialog","$renameDialog","_renameItemDialog","$createDialog","_createItemDialog","$deleteItemDialog","_deleteItemDialog","getCopyDialog","getMoveDialog","getRenameItemDialog","getCreateItemDialog","getDeleteItemDialog","updateDialogRtl","dialog","FileManagerEditingControl","_onEditActionStarting","_onEditActionResultAcquired","_onEditActionItemError","_onEditActionError","_onCompleteEditActionItem","_onCompleteEditAction","_model","_uploadOperationInfoMap","_dialogManager","provider","_onDialogClosed","_fileUploader","_createFileUploader","notificationControl","_initNotificationControl","_createMetadataMap","_notificationControl","onOperationCanceled","_onCancelUploadSession","onOperationItemCanceled","_onCancelFileUpload","_getFileUploaderComponent","$fileUploader","_getFileUploaderController","dropZonePlaceholderContainer","onUploadSessionStarted","_onUploadSessionStarted","onUploadProgress","_onUploadProgress","onUploadFinished","_onUploadFinished","setUploaderDropZone","setUploaderSplitterElement","uploadDirectory","_metadataMap","_tryCreate","affectsAllItems","singleItemProcessingMessage","singleItemSuccessMessage","singleItemErrorMessage","commonErrorMessage","_tryRename","_tryDelete","multipleItemsProcessingMessage","multipleItemsSuccessMessage","multipleItemsErrorMessage","_tryMove","_tryCopy","_tryUpload","allowCancel","allowItemProgress","canceledMessage","_download","getCommandActions","actionMetadata","cancelUpload","uploadSessionId","cancelFileUpload","sessionId","fileIndex","commonValue","fileValue","operationInfo","updateOperationItemProgress","finishOperation","_scheduleUploadSessionDisposal","FileManagerActionContext","addOperation","processingMessage","_actionInfo$customDat","_getItemProgressDisplayInfo","addOperationDetails","_actionInfo$customDat2","_handleActionError","_completeAction","_actionInfo$customDat3","_actionInfo$customDat4","completeOperationItem","commonProgress","_actionInfo$customDat5","requester","parentDirectories","_getCurrentDirectory","newDirName","getMultipleSelectedItems","_uploadDirectoryInfo","tryUpload","completeOperation","completionMessage","hasModifiedItems","_raiseOnSuccess","hasError","_handleSingleRequestActionError","_handleMultipleRequestActionError","getItemForSingleRequestError","getItemName","_getErrorText","processSingleRequestError","operationErrorInfo","_getOperationErrorInfo","completeSingleOperationWithError","multipleItems","getItemForMultipleRequestError","processMultipleRequestError","addOperationDetailsError","detailError","errorState","currentDetailError","commonErrorText","detailErrorText","FileManagerMessages","errorArgs","_raiseOnError","commonText","_getItemThumbnail","dialogArgument","_dialogDeferred","itemThumbnailGetter","getItemThumbnail","updatedOnlyFiles","_actionMetadata","_itemInfos","_onlyFiles","_multipleItems","_location","_singleRequest","_completedItems","_commonProgress","_errorState","failedCount","_itemNewName","_setCurrentDetailError","_hasCompletedItems","_isItemExistsErrorCode","ErrorCode","successMessage","FileManagerFileActionsButton","_raiseClick","setActive","FileManagerFileUploader","_uploaderInfos","_createInternalFileUploader","_createDropZonePlaceholder","_setDropZonePlaceholderVisible","_getController","fileUploader","showFileList","readyToUploadMessage","dropZone","_onFileUploaderValueChanged","onProgress","_onFileUploaderProgress","onUploaded","_onFileUploaderUploaded","onFilesUploaded","_onFileUploaderAllFilesUploaded","onUploadAborted","_onFileUploaderUploadAborted","onUploadError","_onFileUploaderUploadError","onDropZoneEnter","onDropZoneLeave","uploadChunk","chunksData","_fileUploaderUploadChunk","abortUpload","_fileUploaderAbortUpload","_shouldRaiseDragLeaveBase","_shouldRaiseDragLeave","uploaderInfo","_findAndUpdateAvailableUploaderInfo","_selectButtonClickHandler","_cancelUpload","_findUploaderInfoBySessionId","_this$_findSessionByF","_findSessionByFile","session","_this$_findSessionByF2","_findUploaderInfo","_uploadFiles","bytesLoaded","bytesTotal","_this$_findSessionByF3","_raiseUploadProgress","_files","_raiseUploadFinished","_getDeferredForFile","_$dropZonePlaceholder","_adjustDropZonePlaceholder","$dropZoneTarget","placeholderBorderTopWidth","placeholderBorderLeftWidth","containerBorderBottomWidth","containerBorderLeftWidth","containerOffset","dropZoneOffset","uploaderInstance","isMouseOverElement","_raiseUploadSessionStarted","_this$_findSessionByF5","currentInfo","controllerGetter","splitterElement","_uiTree_view","FILE_MANAGER_DIRS_TREE_FOCUSED_ITEM_CLASS","FileManagerFilesTreeView","_createFileActionsButton","_storeExpandedState","$treeView","treeViewOptions","createChildren","_onFilesTreeViewCreateSubDirectories","_createFilesTreeViewItemTemplate","_onFilesTreeViewItemExpanded","_onFilesTreeViewItemCollapsed","_onFilesTreeViewItemRendered","_onFilesTreeViewItemContextMenu","_updateFocusedElement","rootItem","_restoreScrollTopPosition","_filesTreeViewItemSelector","$image","$text","_onFileItemActionButtonClick","_activeFileActionsButton","_getNodeByKey","_saveScrollTopPosition","_scrollTopPosition","_getItemElementByKey","_getPublicNode","_this$_filesTreeView2","nodesQueue","_getNodeElement","storeExpandedState","initialFolder","toggleDirectoryExpandedState","treeViewNode","_updateExpandedStateToCurrentDirectory","_file_items_controller","DEFAULT_COLUMN_CONFIGS","_FileManagerItemListB","FileManagerDetailsItemList","_focusedItem","_hasParentDirectoryItem","_parentDirectoryItemKey","_selectAllCheckBox","_selectAllCheckBoxUpdating","_createFilesView","$filesView","_isMultipleSelectionMode","_filesView","_isDesktop","_createColumns","onEditorPreparing","_onEditorPreparing","_onRowPrepared","_onContextMenuPreparing","_onFilesViewSelectionChanged","onFocusedRowChanged","_onFilesViewFocusedRowChanged","_onFilesViewOptionChanged","_onContentReady","extendedItem","_getPreparedColumn","customizeDetailColumns","_updateColumnDataField","resultCssClass","_isDefaultColumn","_createThumbnailColumnCell","_createNameColumnCell","_calculateSizeColumnCellValue","dataItemSuffix","columnDataField","_selectItem","_getFileItemsForContextMenu","_showContextMenu","_getItemThumbnailCssClass","_onItemDblClick","_raiseSelectedItemOpened","_isAllItemsSelected","selectableItemsCount","_isParentDirectoryItem","_onSelectAllCheckBoxValueChanged","_raiseContextMenuShowing","_tryRaiseSelectionChanged","selectedItemInfos","currentSelectedItemKeys","currentDeselectedItemKeys","_e$row2","_e$row","_selectItemSingleSelection","_onFocusedItemChanged","_resetFocus","_setFocusedItemKey","_getItemThumbnailContainer","$name","_selectItemMultipleSelection","_deselectItem","oldFocusedItem","deselectedKeys","_setSelectedItemKeys","_this$_filesView","actualOptions","focusedItemKey","_needResetScrollPosition","FileManagerItemListBase","_lockFocusedItemProcessing","_focusedItemKey","dblClickEventName","onSelectedItemOpened","onItemListDataLoaded","_getItemsInternal","parentDirectoryItem","_findParentDirectoryItem","_onDataLoaded","itemsResult","_raiseFocusedItemChanged","_raiseItemListDataLoaded","_this$_refreshDeferre","_resetScrollTopPosition","_hasValidKeys","_filterOutItemByPredicate","_filterOutParentDirectory","_filterOutParentDirectoryKey","_this3$_getScrollable","fileInfo","_this$_getItemThumbna","$itemThumbnail","createNewArray","_uiFile_managerItems_listThumbnails","FileManagerThumbnailsItemList","contextMenuEvent","_onContextMenu","_createItemList","$itemListContainer","onItemEnterKeyPressed","_tryOpen","itemThumbnailTemplate","getTooltipText","_getTooltipText","_onItemListSelectionChanged","_onItemListFocusedItemChanged","targetItemElement","getItemByItemElement","_disableDragging","getItemElementByItem","FILE_MANAGER_THUMBNAILS_LIST_BOX_HOLD_EVENT_NAME","FileManagerThumbnailListBox","_renderItemsContainer","_createScrollViewControl","_layoutUtils","ListBoxLayoutUtils","_syncFocusedItemKey","_itemThumbnailTemplate","itemModel","_getDefaultItemTemplate","_$scrollView","scrollByThumb","_beforeKeyProcessing","_processArrowKeys","_processHomeEndKeys","_getItemsLength","_processPageChange","_getFocusedItem","getLayoutModel","itemPerRowCount","newItemIndex","_focusItemByIndex","itemLayout","createItemLayoutModel","rowPerPageRate","newRowRate","itemRowIndex","itemColumnIndex","_processLongTap","_getIndexByItemElement","$itemSpacer","$itemName","_isPreserveSelectionMode","_getItemByIndex","_focusItem","_syncFocusedItemKeyDeferred","focusedItem","newFocusedItemKey","_changeItemSelection","deselectItem","_layoutModel","_$viewPort","_$item","_createLayoutModel","viewPortWidth","viewPortHeight","viewPortScrollTop","viewPortScrollBottom","itemTop","itemBottom","newScrollTop","_notify","_uiFile_manager4","_uiFile_managerItem_list","_uiFile_managerItem_list2","_uiFile_manager5","_uiFile_manager6","_uiFile_manager7","_uiFile_manager8","_uiFile_manager9","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","FileManager","_providerUpdateDeferred","_lockCurrentPathProcessing","_wasRendered","_onControllerInitialized","onDataLoading","_onDataLoading","onSelectedDirectoryChanged","_onSelectedDirectoryChanged","onPathPotentiallyChanged","_checkPathActuality","_firstItemViewLoad","_lockSelectionProcessing","_itemKeyToFocus","_loadedWidgets","_prepareToLoad","_createNotificationControl","_initCommandManager","$notificationControl","progressPanelContainer","_createWrapper","onActionProgress","_onActionProgress","positionTarget","showProgressPanel","showNotificationPopup","_createEditing","generalItems","itemViewMode","onToolbarItemClick","_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","widgetClass","_itemView","$breadcrumbs","_breadcrumbs","isolateCreationItemCommands","_refreshAndShowProgress","thumbnails","showNavPane","_updateToolbar","updateRefreshItem","onErrorOccurred","tryShowProgressPanel","_isAllWidgetsLoaded","_switchView","_disposeWidget","_showNotification","isSuccess","onlyFileItemsView","showFolders","_updateToolbarWithSelectionOnFirstLoad","_getPreparedItemViewItems","selectedDir","_e$itemData","_isActionButton","fileSystemProvider","rootFolderName","fileSelectionItems","itemView","showParentFolder","customizeThumbnail","onCurrentDirectoryChanged","onSelectedFileOpened","notifications","showPanel","showPopup","optionsToCheck","isOptionValueDiffers","updateFunc","updateItemPermissions","_syncToCurrentDirectory","newCurrentDirectory","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","_managerMap","_notificationManagerStubId","_setNotificationManager","$progressPanelContainer","$progressDrawer","drawerOptions","_ensureProgressPanelCreated","_getProgressDrawerAdaptiveOptions","_progressDrawer","onActionProgressStatusChanged","_raiseActionProgress","stubManager","NotificationManagerStub","_isProgressDrawerDisabled","notificationManagerComponent","_getProgressManagerComponent","isActual","defaultManager","_getNotificationManager","actualManagerId","MANAGER_ID_NAME","_getActualNotificationManagerId","_clearManagerMap","managerId","notificationManager","isActionProgressStatusDefault","_isProgressDrawerOpened","_hidePopup","tryHideActionProgress","allowProgressAutoUpdate","itemProgress","_showPopup","hasNoOperations","updateActionProgressStatus","_showPopupError","_hideProgressPanel","handleDimensionChanged","ensureProgressPanelCreated","_raiseOperationCanceled","_raiseOperationItemCanceled","onPanelClosed","NotificationManager","forceHide","_getNotificationPopup","errorMode","$separator","$details","createErrorDetailsProgressBox","renderError","_notificationPopup","_progress_bar","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","showCloseButtonAlways","customCloseHandling","$info","$common","_createProgressBox","onCloseButtonClick","_closeOperation","_createDetailsItem","skipProgressBox","$detailsItem","_cancelOperationItem","_setCloseButtonVisible","updateOperationCommonProgress","progressBar","_operationInfo$common","completed","$commonText","_removeProgressBar","_setProgressBarText","_info$details","detailsItem","_renderOperationError","_renderError","progressBox","$progressBar","statusFormat","_getStatusString","closeButton","_displayClosedOperationItem","_raiseOperationClosed","_uiFile_managerNotification","ACTION_PROGRESS_STATUS","NotificationManagerBase","_id","_isActual","_actionProgressStatus","_NotificationManagerB","_updateActionProgress","_NotificationManagerB2","_failedOperationCount","_operationInProgressCount","_progressPanel","_notifyError","$progressPanelElement","ProgressPanelClass","_getProgressPanelComponent","_onProgressPanelOperationClosed","_operationInProgressCountInternal","_failedOperationCountInternal","FILE_MANAGER_TOOLBAR_CLASS","FILE_MANAGER_GENERAL_TOOLBAR_CLASS","FILE_MANAGER_TOOLBAR_SEPARATOR_ITEM_CLASS","FILE_MANAGER_TOOLBAR_VIEWMODE_ITEM_CLASS","DEFAULT_ITEM_CONFIGS","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","hasItemsBefore","itemGroups","_getItemsInGroup","itemLocation","isSeparatorVisible","_groupHasItemsAfter","_isItemInMenu","_result$options","_createCommandItem","_createSeparatorItem","_createViewModeItem","_configureHintForCompactMode","commandText","commandItems","_this6$_commandManage","_toggleCompactMode","useCompactMode","_toolbarHasItemsOverflow","_getItemsWidth","optionsSource","saved","_getCompactModeOptions","_available","available","_ensureAvailableCommandsVisible","_item$originalItemDat","originalVisible","_isToolbarItemAvailable","_fileToolbarHasEffectiveItems","_isFileToolbarItemAvailable","_isRefreshVisibleInFileToolbar","_isCommandAvailable","_updateItemInToolbar","contextItems","_restoreRefreshItemState","generalToolbarOptions","fileToolbarOptions","_applyRefreshItemOptions","_refreshItemTextTimeout","_updateRefreshItemText","isDeferredUpdate","showGeneralToolbar","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","FileUploader","$selectButton","_selectButton","uploadButtonText","uploadUrl","allowCanceling","dialogTrigger","uploadedMessage","uploadFailedMessage","uploadAbortedMessage","uploadMethod","uploadHeaders","uploadCustomData","onUploadStarted","minFileSize","invalidFileExtensionMessage","invalidMaxFileSizeMessage","invalidMinFileSizeMessage","extendSelection","uploadFile","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","_changeValue","_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","_removeFile","uploadButton","_uploadFile","_file$$file","removeFile","_hasInvalidFile","labels","_selectFileDialogHandler","_attachSelectFileDialogHandler","_detachSelectFileDialogHandler","_uploadButton","_uploadButtonClickHandler","_$inputContainer","labelId","_selectButtonInputTemplate","_applyInputAttributes","_detachDragEventHandlers","isCustomTarget","_dragOverHandler","_dropHandler","customAttributes","_useInputForDrop","_getDropZoneElement","targetList","dropZoneElement","_shouldRaiseDragOver","_tryToggleDropZoneActive","dropEffect","classAction","_areAllFilesLoaded","_isError","_handleAllFilesUploaded","_recalculateProgress","acceptSting","allowedType","_updateProgressBar","loadedFileData","showStatus","segmentSize","currentSegmentSize","_updateTotalProgress","totalFilesSize","totalLoadedFilesSize","_getProgressValue","_setLoadedSize","hideCancelButton","statusPosition","_getTotalFilesSize","_totalFilesSize","_getTotalLoadedFilesSize","_totalLoadedFilesSize","correctPseudoElements","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","uploadInfo","_handleProgress","_isProgressStarted","_handleProgressCore","_file$progressBar","_onUploadStarted","_onLoadedHandler","_onErrorHandler","_onAbortHandler","_onProgressHandler","_shouldHandleError","_isStatusError","_getLoadedData","_extendFormData","ChunksFileUploadStrategyBase","_FileUploadStrategyBa","realFile","loadedBytes","blobReader","_getFileChunksCount","_sendChunk","jsFile","chunk","currentChunk","_sendChunkCore","_tryRaiseStartLoad","_getEvent","_createChunksInfo","bytesUploaded","_ChunksFileUploadStra","_proto5","blobName","FileType","FileGuid","_ChunksFileUploadStra2","_proto6","WholeFileUploadStrategyBase","_FileUploadStrategyBa2","_proto7","_WholeFileUploadStrat","_proto8","_WholeFileUploadStrat2","_proto9","valueSeparator","notForLookup","FILTER_BUILDER_RANGE_CLASS","FILTER_BUILDER_RANGE_START_CLASS","FILTER_BUILDER_RANGE_END_CLASS","FILTER_BUILDER_RANGE_SEPARATOR_CLASS","$editorStart","$editorEnd","getStartValue","getEndValue","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","FilterBuilder","onEditorPrepared","groupOperations","maxGroupLevel","allowHierarchicalFields","closePopupOnTargetScroll","_initCustomOperations","disableInvalidateForValue","_disableInvalidateForValue","_initModel","_getNormalizedFields","_customOperations","getNormalizedFields","_updateFilter","_getModel","_initEditorFactory","getMergedOperations","_getDefaultGroupOperation","_this$option$","convertToInnerStructure","_createGroupElementByCriteria","_createConditionElement","_createConditionItem","$group","$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","isblank","isnotblank","OPERATION_NAME","getIconByFilterOperation","getNameByFilterOperation","getFilterOperations","isLookupField","DEFAULT_DATA_TYPE","EMPTY_MENU_ICON","hasParent","getParentIdFromItemDataField","checkDefaultValue","getPrimitiveValueText","getArrayValueText","isNegationGroup","getConditionFilterExpression","availableGroups","isMatchedCondition","AND_GROUP_OPERATION","betweenCaption","betweenIndex","_between","normalizedField","AVAILABLE_FIELD_PROPERTIES","itemsForRemove","normalizedGroupValue","isValidCondition","setGroupCriteria","EQUAL_OPERATION","isEmptyGroup","syncConditionIntoGroup","convertGroupToNewStructure","addedFilter","NOT_EQUAL_OPERATION","boolean","DEFAULT_FORMAT","LOOKUP_OPERATIONS","FILTER_BUILDER_ITEM_TEXT_PART_CLASS","FILTER_BUILDER_ITEM_TEXT_SEPARATOR_CLASS","FILTER_BUILDER_ITEM_TEXT_SEPARATOR_EMPTY_CLASS","getCriteriaOperation","entity","getDefaultFilterOperations","filteredOperations","isNegation","isNegationGroupOperation","groupOperation","getGroupOperationFromNegationOperation","extendedFields","convertToInnerGroup","defaultGroupOperation","innerGroup","appendGroupOperationToGroup","convertToInnerCondition","conditionHasCustomOperation","appendGroupOperationToCriteria","fieldFormat","getFormattedValueText","itemExists","pushItemAndCheckParent","generateCaptionByDataField","addedFilterDataField","canPush","renderButtonItem","rootElementCssClassList","createComponentCallback","FIELD_BUTTON_ITEM_CLASS","verticalAlignment","convertAlignmentToJustifyContent","buttonInstance","FIELD_EMPTY_ITEM_CLASS","renderEmptyItem","TOGGLE_CONTROLS_PADDING_CLASS","LABEL_VERTICAL_ALIGNMENT_CLASS","LABEL_HORIZONTAL_ALIGNMENT_CLASS","FLEX_LAYOUT_CLASS","FIELD_ITEM_REQUIRED_CLASS","FIELD_ITEM_OPTIONAL_CLASS","FIELD_ITEM_LABEL_ALIGN_CLASS","FIELD_ITEM_HELP_TEXT_CLASS","FIELD_ITEM_CONTENT_WRAPPER_CLASS","FIELD_ITEM_CONTENT_LOCATION_CLASS","renderFieldItem","formOrLayoutManager","labelOptions","labelNeedBaselineAlign","labelLocation","needRenderLabel","formLabelLocation","isSimpleItem","helpID","labelID","helpText","requiredMessageTemplate","$fieldEditorContainer","FIELD_ITEM_CONTENT_CLASS","widgetInstance","labelTemplate","labelTemplateData","getTemplateData","renderLabel","isToggleControls","labelAlignment","validationTargetInstance","$validationTarget","_$validationTarget$pa","_$validationTarget$pa2","VALIDATION_TARGET_CLASS","tryGetValidationTargetInstance","getValidationTarget","subscribeWrapperInvalidClassToggle","isItemHaveCustomLabel","requiredMessage","INVALID_CLASS","wrapperClass","toggleInvalidClass","_component$option","GET_LABEL_WIDTH_BY_TEXT_CLASS","FIELD_ITEM_REQUIRED_MARK_CLASS","FIELD_ITEM_OPTIONAL_MARK_CLASS","FIELD_ITEM_LABEL_TEXT_CLASS","FIELD_ITEM_LABEL_LOCATION_CLASS","_ref$labelID","_ref$markOptions","markOptions","onLabelTemplateRendered","FIELD_ITEM_LABEL_CLASS","$labelContainer","FIELD_ITEM_LABEL_CONTENT_CLASS","$labelContent","markText","_uiFormLayout_manager","getLabelMarkText","showRequiredMark","_renderLabelMark","setLabelWidthByMaxLabelWidth","labelsSelector","labelMarkOptions","labelWidth","FIELD_ITEM_LABEL_CONTENT_CLASS_Selector","$FIELD_ITEM_LABEL_CONTENT_CLASS_Items","FIELD_ITEM_LABEL_CONTENT_CLASS_Length","getLabelWidthByHTML","labelContent","SINGLE_COLUMN_ITEM_CONTENT","SIMPLE_ITEM_TYPE","ROOT_SIMPLE_ITEM_CLASS","LAYOUT_MANAGER_ONE_COLUMN","GROUP_COL_COUNT_CLASS","GROUP_COL_COUNT_ATTR","FORM_VALIDATION_SUMMARY","FORM_UNDERLINED_CLASS","FORM_LAYOUT_MANAGER_CLASS","FORM_GROUP_WITH_CAPTION_CLASS","FORM_GROUP_CONTENT_CLASS","FORM_GROUP_CLASS","FORM_GROUP_CAPTION_CLASS","FORM_FIELD_ITEM_COL_CLASS","FORM_CLASS","FIELD_ITEM_TAB_CLASS","FIELD_ITEM_CONTENT_HAS_TABS_CLASS","FIELD_ITEM_CONTENT_HAS_GROUP_CLASS","FIELD_ITEM_CLASS","ItemOptionAction","_itemsRunTimeInfo","itemsRunTimeInfo","findInstance","findWidgetInstanceByItem","findItemContainerByItem","findPreparedItem","findPreparedItemByItem","tryExecute","_uiForm","_uiForm2","WidgetOptionItemOptionAction","_ItemOptionAction","TabOptionItemOptionAction","_ItemOptionAction2","tabPanel","findItemIndexByItem","getFullOptionName","SimpleItemTemplateChangedAction","_ItemOptionAction3","GroupItemTemplateChangedAction","_ItemOptionAction4","_prepareGroupItemTemplate","_renderGroupContentTemplate","TabsOptionItemOptionAction","_ItemOptionAction5","ValidationRulesItemOptionAction","_ItemOptionAction6","filterRequired","oldContainsRequired","newContainsRequired","CssClassItemOptionAction","_ItemOptionAction7","_this$_options2","itemActionOptions","_itemActionOptions$it","_itemActionOptions$it2","_itemActionOptions$it3","FormItemsRunTimeInfo","_map","_findWidgetInstance","_findFieldByCondition","removeItemsByItems","removeItemByKey","addItemsOrExtendFrom","itemRunTimeInfo","extendRunTimeItemInfoByKey","storedItem","findGroupOrTabLayoutManagerByPath","targetPath","findKeyByPath","findWidgetInstanceByName","findWidgetInstanceByDataField","removeItemsByPathStartWith","_resize_observer","_uiForm4","_constants2","FOCUSED_STATE_CLASS","ITEM_OPTIONS_FOR_VALIDATION_UPDATING","Form","_cachedColCountOptions","_groupsColCount","_attachSyncSubscriptions","screenByWidth","colCountByScreen","onFieldDataChanged","onEditorEnterKey","minColWidth","alignItemLabels","alignItemLabelsInAllGroups","alignRootItemLabels","showColonAfterLabel","showOptionalMark","requiredMark","optionalMark","showValidationSummary","_getGroupColCount","_applyLabelsWidthByCol","fieldItemClass","inOneColumn","cssExcludeTabbedSelector","excludeTabbed","_applyLabelsWidth","applyLabelsOptions","_getGroupElementsInColumn","cssColCountSelector","_applyLabelsWidthWithGroups","$rootSimpleItems","_applyLabelsWidthWithNestedGroups","groupsColIndex","groupColIndex","$groupsByCol","groupColCount","_labelLocation","_alignLabelsInColumn","layoutManager","convertToLabelMarkOptions","_getMarkOptions","_checkGrouping","_getColCount","_prepareFormData","_setStylingModeClass","addGroup","_getValidationGroup","_clearCachedInstances","_renderLayout","_renderValidationSummary","_lastMarkupScreenFactor","_targetScreenFactor","_getCurrentScreenFactor","_attachResizeObserverSubscription","formRootElement","_resizeHandler","_cachedLayoutManagers","_layoutManager$option","isSingleColumnMode","_alignLabels","TOOLBAR_CLASS","_clearValidationSummary","_this$_$validationSum","_$validationSummary","_validationSummary","dxValidationSummary","_prepareItems","parentIsTabbedItem","isTabs","concatPaths","createItemPathByIndex","_tryPrepareGroupItem","_tryPrepareTabbedItem","_tryPrepareItemTemplate","cssItemClass","groupContentTemplate","_itemGroupTemplate","_itemTabbedTemplate","_rootLayoutManager","_renderLayoutManager","_createLayoutManagerOptions","onLayoutChanged","_tryGetItemsForTemplate","_item$tabs","tabPanelOptions","_item$tabPanelOptions","_item$tabPanelOptions2","tryUpdateTabPanelInstance","groupAria","labelledby","extendedLayoutManagerOptions","convertToLayoutManagerOptions","$formElement","_isDataUpdating","_triggerOnFieldDataChanged","nestedItemsRunTimeInfo","getItemsRunTimeInfo","onFieldItemRendered","_this5$_validationSum","refreshValidationGroup","layoutManagerOptions","baseColCountByScreen","md","_clearAutoColCountChangedTimeout","autoColCountChangedTimeoutId","optionFullName","_triggerOnFieldDataChangedByDataSet","splitFullName","_itemsOptionChangedHandler","_formDataOptionChangedHandler","_defaultOptionChangedHandler","_resetValues","removeGroup","nameParts","_getItemPath","optionNameWithoutPath","simpleOptionName","itemAction","_tryCreateItemOptionAction","_tryExecuteItemOptionAction","_tryChangeLayoutManagerItemOption","_changeItemOption","_generateItemsFromData","getEditor","_updateValidationGroupAndSummaryIfNeeded","_this$_validationSumm","getOptionNameFromFullName","_setLayoutManagerItemOption","contentReadyHandler","isFullPathContainsTabs","tabPath","tryGetTabPath","tabLayoutManager","endPartIndex","_itemPath","_layoutManager","formItems","layoutManagerItems","_tryChangeLayoutManagerItemOptions","_updateFieldValue","_getItemByField","resultItem","fieldParts","_getFieldParts","fieldPath","_getItemByFieldPath","subItemsField","_getSubItemField","isEqualToDataFieldOrNameOrTitleOrCaption","separatorIndex","resultPath","isItemWithSubItems","isGroupWithName","nameWithoutSpaces","getTextWithoutSpaces","pathNode","_searchItemInEverySubItem","currentScreenFactor","_isColCountChanged","oldScreenSize","newScreenSize","isChanged","editorSelector","resetGroup","_updateData","isComplexData","resetValues","updateData","itemOption","getItemPath","allowUpdateItems","getTargetScreenFactor","_responsive_box","_field_item","_button_item","_empty_item","LayoutManager","layoutData","_itemWatchers","_updateReferencedOptions","_initDataAndItems","_cleanItemWatchers","initialData","_syncDataWithItems","_getDataByField","_isCheckboxUndefinedStateEnabled","allowIndeterminateState","isUserItemsExist","_generateItemsByData","processedItems","_isAcceptableItem","_updateItemWatchers","_setItems","_sortItems","_getWatch","itemField","_getEditorTypeByDataType","_item$allowIndetermin","_sortIndexes","indexA","indexB","_renderResponsiveBox","templatesInfo","_prepareItemsWithMerging","layoutItems","_generateLayoutItems","_responsiveBox","_getResponsiveBoxConfig","_renderTemplates","_itemStateChangedHandler","itemsWithLabelTemplateCount","_item$label","_renderButtonItem","_renderFieldItem","xsColCount","itemRenderedCountInPreviousRows","itemCssClassList","isLastColumn","_getRowsCount","isLastRow","_generateRatio","singleColumnScreen","screenFactor","_cashedColCount","_getMaxColCount","isCachedColCountObsolete","itemsMergedByCol","_getColByIndex","generatedItem","_renderEmptyItem","_renderButtonItem2","_item$label2","canAssignUndefinedValueToEditor","_getFormOrThis","_renderFieldItem2","convertToRenderFieldItemOptions","editorValidationBoundary","managerLabelLocation","managerMarkOptions","_incTemplateRenderedCallCount","_shouldAlignLabelsOnTemplateRendered","_bindDataField","_this$_labelTemplateR","_labelTemplateRenderedCallCount","totalItemsWithLabelTemplate","formOrThis","_createWatcher","linkEditorToDataField","_watch","formInstance","readOnlyState","hasEditorReadOnly","isChangeByForm","isAutoSize","newLayoutData","_resetWidget","_disableEditorValueChangedHandler","_cashedRequiredConfig","dataValue","_itemRunTimeInfo$item","_resetColCount","isValueReferenceType","responsiveBox","EDITORS_WITHOUT_LABELS","hasRequiredRule","formLabelMode","isEditorWithoutLabels","showColon","textWithoutColon","_convertToLabelOptions","defaultEditorName","externalEditorOptions","editorInputId","editorOptionsWithValue","EDITORS_WITH_ARRAY_VALUE","_convertToEditorOptions","baseOptions","fullPath","resultPathParts","tabOrGroupItems","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","ITEM_CONTENT_SELECTOR","GalleryNavButton","Gallery","_wasAnyItemTemplateRendered","swipeEnabled","indicatorEnabled","slideshowDelay","showNavButtons","wrapAround","initialItemWidth","stretchImages","$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","$clonedItem","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","getGanttViewCore","_devexpressGantt","GanttActionsManager","GANTT_TASKS","GANTT_DEPENDENCIES","GANTT_RESOURCES","GANTT_RESOURCE_ASSIGNMENTS","gantt","_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","raiseInsertingAction","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","raiseDeletingAction","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","raiseUpdatingAction","isTaskUpdating","hasData","addCustomFieldsDataFromCache","resetCustomFieldsDataCache","createTaskUpdatingAction","_taskUpdatingAction","taskUpdatingAction","_getUpdatedAction","_getTaskUpdatedAction","raiseUpdatedAction","createTaskUpdatedAction","_taskUpdatedAction","taskUpdatedAction","createTaskEditDialogShowingAction","_taskEditDialogShowingAction","taskEditDialogShowingAction","_getTaskEditDialogShowingAction","raiseTaskEditDialogShowingAction","createResourceManagerDialogShowingAction","_resourceManagerDialogShowingAction","resourceManagerDialogShowingAction","_getResourceManagerDialogShowingAction","raiseResourceManagerDialogShowingAction","createTaskMovingAction","_taskMovingAction","taskMovingAction","getTaskMovingAction","getScaleCellPreparedAction","_scaleCellPreparedAction","createScaleCellPreparedAction","raiseScaleCellPreparedAction","_getScaleType","GanttToolbar","GanttContextMenuBar","Bar","_createControl","createItems","_createItemsCore","_createItemByText","_getDefaultItemOptions","_createSeparator","_createDefaultItem","_getIcon","_getItemsCache","commandId","itemsCache","_Bar","_executeCoreCommand","_Bar2","_actionsManager","_getDefaultItems","GanttDataCache","_timers","saveData","keyExpireCallback","_getCache","_setExpireTimer","pullDataFromCache","_onKeyExpired","forceCreate","GanttCustomFieldsManager","_uiGantt","_uiGantt2","_getTaskCustomFields","mappedFields","getTaskMappedFieldNames","_getCustomFieldsData","addCustomFieldsData","modelData","_tasksOption","modelItem","appendCustomFields","_getTaskKeyGetter","invertedData","GanttHelper","getInvertedData","updatedItem","customFieldsData","dataOption","updatedCustomFields","_reloadDataSource","_ganttTreeList","updateDataSource","_selectTask","DataOption","getLoadPanel","dataSourceChangedCallback","_optionName","_getLoadPanel","_dataSourceChangedCallback","_showLoadPanel","_hideLoadPanel","_this$_getLoadPanel","_this$_getLoadPanel2","GanttDataChangesProcessingHelper","_waitingForGanttViewReady","_waitingForTreeListReady","_completionActions","onGanttViewReady","_stopWaitForGanttViewReady","executeActionsIfPossible","onTreeListReady","_stopWaitForTreeListReady","addCompletionAction","waitGanttViewReady","waitTreeListReady","_startWaitForGanttViewReady","_startWaitForTreeListReady","_canExecuteActions","act","GanttDialog","_popupInstance","infoMap","TaskEdit","TaskEditDialogInfo","Resources","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","_DialogInfoBase","allowTaskUpdating","readOnlyRange","_isReadOnlyField","_isHiddenField","validationCallback","correctDateRange","_getValidationMessage","allowTaskResourceUpdating","allowResourceAdding","allowResourceDeleting","isStartDependencies","correctDate","_getFormattedDateText","_this$_form","_DialogInfoBase2","allowItemDeleting","itemDeleteMode","textBox","addButton","_DialogInfoBase3","_getConfirmMessage","_DialogInfoBase4","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","prepareMapHandler","prepareSetterMapHandler","setters","resultKey","compileGettersByOption","exprMatches","compileSettersByOption","compileFuncSettersByOption","getStoreObject","modelObject","getArrayFromOneElement","getSelectionMode","convertTreeToList","_node$children","getAllParentNodesKeys","_node$parent","startExpr","endExpr","progressExpr","titleExpr","colorExpr","predecessorIdExpr","successorIdExpr","resourceAssignments","taskIdExpr","resourceIdExpr","taskListWidth","onTaskInserting","onTaskInserted","onTaskDeleting","onTaskDeleted","onTaskUpdating","onTaskUpdated","onTaskMoving","onTaskEditDialogShowing","onDependencyInserting","onDependencyInserted","onDependencyDeleting","onDependencyDeleted","onResourceInserting","onResourceInserted","onResourceDeleting","onResourceDeleted","onResourceAssigning","onResourceAssigned","onResourceUnassigning","onResourceUnassigned","scaleTypeRange","allowTaskAdding","allowTaskDeleting","allowDependencyAdding","allowDependencyDeleting","allowResourceUpdating","_uiGanttData","_uiGantt3","_uiGantt4","_uiGantt5","_uiGantt6","_uiGantt7","_uiGantt8","_uiGantt9","_uiGantt10","_uiGantt11","_uiGantt12","_uiGantt13","GANTT_NEW_TASK_CACHE_KEY","Gantt","_initGantt","_isGanttRendered","_initHelpers","_$toolbarWrapper","_$toolbar","_$mainWrapper","_$treeListWrapper","_$treeList","_$splitter","_$ganttView","_$dialog","_$loadPanel","_$contextMenu","_this$_ganttView","_ganttViewCore","_exportHelper","_contentReadyRaised","_this$_ganttView2","_onDimensionChanged","_refreshGantt","_isMainElementVisible","_renderBars","_renderTreeList","_renderSplitter","GanttTreeList","getTreeList","onAfterTreeListCreate","_sizeHelper","_bars","_updateToolbarContent","_contextMenuBar","_updateContextMenu","GanttMappingHelper","_ganttTemplatesManager","GanttTemplatesManager","GanttSizeHelper","_dataProcessingHelper","_initGanttView","getOffsetHeight","_dependencies","_resources","_resourceAssignments","onViewTypeChanged","_onViewTypeChanged","onDialogShowing","onPopupMenuShowing","_showPopupMenu","onPopupMenuHiding","_hidePopupMenu","onExpandAll","_expandAll","onCollapseAll","_collapseAll","modelChangesListener","ModelChangesListener","exportHelper","_getExportHelper","getTaskTooltipContentTemplateFunc","getTaskProgressTooltipContentTemplateFunc","getTaskTimeTooltipContentTemplateFunc","getTaskContentTemplateFunc","onRowClick","onRowDblClick","onAdjustControl","_onGanttViewContentReady","_isParentAutoUpdateMode","_onTreeListContentReady","_treeListParentRecalculatedDataUpdating","_dataSourceChanged","dataSourceName","validatedData","_validateSourceData","_setGanttViewOption","_this$_ganttTreeList","_this$_ganttTreeList2","_this$_ganttTreeList3","_tasksRaw","saveExpandedKeys","_validateTaskData","parentIdGetter","validationTree","_validationTree$key","isRootTask","treeItem","_validationTree$paren","parentTreeItem","validKeys","_appendChildKeys","_onRecordInserted","isTaskInsert","insertedId","_executeFuncSetters","_onRecordUpdated","isTaskUpdated","_onRecordRemoved","_onParentTaskUpdated","getTaskDataByCoreData","_onParentTasksRecalculated","isSieving","treeDataSource","_this7$_ganttTreeList","_onGanttViewCoreUpdated","funcSetters","keysToUpdate","dataObject","_getDataSourceItem","_sortAndFilter","_this$_savedSortFilte","_this$_savedSortFilte2","_this$_savedSortFilte3","sortedColumns","sortedState","sortedStateChanged","_compareSortedState","_savedSortFilterState","sieveColumn","_c$filterValues","isClearSieving","sieveOptions","sievedItems","getSievedItems","expandTasks","state1","state2","_updateBarItemsState","contextMenuOptions","getBarManager","targetType","targetKey","_getDataSourceItemKeyGetter","dataOptionName","_getGanttViewOption","_this$_ganttView3","_this$_exportHelper","executeCoreCommand","_changeExpandAll","_onTreeListRowExpandChanged","_lockRowExpandEvent","adjustHeight","allExpandableNodes","nodesToExpand","coreTaskData","taskKeys","resourceKey","taskKey","showResourceManagerDialog","_exportToPdf","_fullOptions$pdfDocum","_fullOptions$docCreat","_window$jspdf$jsPDF","_window$jspdf","_fullOptions$format","createDocumentMethod","_this10$_ganttView","expandAllToLevel","expandToTask","_this$_ganttTreeList4","_this$_sizeHelper","_this$_ganttTreeList5","_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$_ganttTreeList6","_this$_ganttTreeList7","_this$_ganttTemplates","_this$_ganttTemplates2","_this$_ganttTemplates3","_this$_ganttTemplates4","_this$_ganttTreeList8","_this$_sizeHelper2","_this$_sizeHelper3","_this$_ganttTreeList9","_this$_ganttTreeList10","_this$_ganttTreeList11","setInnerElementsWidth","updateGanttWidth","setGanttHeight","GANTT_MAPPED_FIELD_REGEX","_getMappedFieldName","coreField","coreFieldName","mappedFieldsData","mappedFieldName","mappedField","coreFields","NotifyTaskCreated","NotifyTaskRemoved","NotifyTaskUpdated","NotifyParentTaskUpdated","NotifyDependencyInserted","NotifyDependencyRemoved","NotifyResourceCreated","NotifyResourceRemoved","NotifyResourceAssigned","NotifyResourceUnassigned","NotifyParentDataRecalculated","NotifyTaskCreating","NotifyTaskRemoving","NotifyTaskUpdating","NotifyTaskMoving","NotifyTaskEditDialogShowing","NotifyResourceManagerDialogShowing","NotifyDependencyInserting","NotifyDependencyRemoving","NotifyResourceCreating","NotifyResourceRemoving","NotifyResourceAssigning","NotifyResourceUnassigning","NotifyScaleCellPrepared","NotifyGanttViewUpdated","_setTreeListDimension","_this$_gantt$_ganttTr","_setGanttViewDimension","_getPanelsWidthByOption","_leftPanelWidth$index","_leftPanelWidth$index2","rightPanelWidth","ganttWidth","updateGanttRowHeights","_this$_gantt$_ganttVi","takeWithFromOption","_setSplitterPositionLeft","_this$_gantt$_ganttVi2","mainWrapperHeight","ganttViewWidget","taskTooltipContentTemplateOption","taskContentTemplateOption","_tree_list","_uiGanttTreelist","_this$_gantt$option","createDataSource","_getHeight","_onSelectionChanged","onRowCollapsed","_onRowCollapsed","onRowExpanded","_onRowExpanded","_onNodesInitialized","_disableDeprecationWarnings","_postponedGanttInitRequired","_initGanttOnContentReady","_initScrollSync","treeListScrollable","_onScroll","treeListScrollView","ganttViewTaskAreaContainer","_correctRowsViewRowHeight","_skipUpdateTreeListDataSource","forceCustomData","visibleRowCount","getAllNodes","getNodesState","applyNodes","saveExpandedState","savedKeys","getExpandedKeys","expandedKeys","isExpandedStateChanged","expandedState","_nodeState","GanttTreeListNodesState","resultArray","_this$_treeList","_this$_treeList2","GanttTreeListNodeState","treeListNode","_treeListNode$parent","_resetHash","_rootValue","_removeNonExistentNodes","_applyNode","_validateHash","_hasCollapsed","_forEachState","_nodeHash","_getNodeState","existingKeys","_removeStateWithChildren","nodeState","_expandTreelineToNode","_gantt_importer","_uiGanttTaskArea","_onDialogShowing","_onPopupMenuShowing","_onPopupMenuHiding","_taskClick","_taskDblClick","_onAdjustControl","_GanttView","_getTaskTitlePosition","_getFirstDayOfWeek","_parseEditingSettings","_getViewTypeByScaleType","_parseViewTypeRangeSettings","_getCultureInfo","sieve","_this$_ganttViewCore","_this$_ganttViewCore2","_getQuarterNames","_getAmText","_getPmText","_hasAmPM","toLocaleTimeString","quarterFormat","_sieveOptions","getSieveOptions","getExportInfo","timeFormat","callExportHelperMethod","_this$_ganttViewCore3","EXPANDED","SELECTED","setEditorClass","_defaultOptions","dataConverter","setDataAccessors","_selectedNodesKeys","_expandedNodesKeys","_dataStructure","_createInternalDataStructure","getTreeNodes","onNodeChanged","_initialDataStructure","createPlainStructure","_updateExpansion","_setChildrenSelection","_setParentSelection","_updateNodesKeysArray","_updateOneBranch","_setParentExpansion","_getDataBySelectionMode","_isNodeVisible","getFullData","_getByKey","getByKey","_toggleChildrenSelection","getParentNode","_iterateParents","newParentState","_calculateSelectedState","_setFieldState","_iterateChildren","nodeKey","selectedItemsCount","invisibleItemsCount","isChildInvisible","childState","publicNode","_markChildren","_removeNode","_addNode","_updateFields","updateChildrenKeys","getExpandedNodesKeys","getNodesByItems","convertToPublicNodes","getItemsCount","getVisibleItemsCount","getPublicNode","getChildrenNodes","selectRecursive","isSingleModeUnselect","_isSingleModeUnselect","selectionState","toggleSelectAll","lastSelectedKey","isAllSelected","toggleExpansion","isFiltered","_filterDataStructure","_createCriteria","getOperationBySearchMode","lookForParents","setChildrenKeys","_visibleItemsCount","_convertItemsToNodes","_getParentId","_checkForDuplicateId","_itemHasChildren","_dataAccessors","_dataType","_getUniqueKey","_makeObjectFromPrimitive","_convertToPublicNode","publicNodes","accessors","updateIndexByKey","removeChildrenKeys","selectedExpr","expandedExpr","_initAccessors","_initDataAdapter","_createDataAdapterAccessors","_getAccessors","accessor","_compileAccessor","optionExpr","newAccessor","ConverterController","_converters","addConverter","getConverter","_converterController","DeltaConverter","setQuillInstance","quillInstance","toHtml","_isQuillEmpty","_isDeltaEmpty","_turndown","_devextremeShowdown","MarkdownConverter","_this$_html2Markdown","turndown","TurndownService","_html2Markdown","addRule","keep","_markdown2Html","toMarkdown","htmlMarkup","markdownMarkup","_devextremeQuill","ExtImage","_Image","SRC","floatValue","ExtLink","_Link","_data$href","HREF","_ExtLink$formats","_templates_storage","Mention","marker","mentionValue","_templatesStorage","editorKey","keyInTemplateStorage","baseContentRender","$marker","addTemplate","removeTemplate","Variable","startEscapeChar","endEscapeChar","escapeChar","varStartEscChar","varEndEscChar","varValue","insertOperation","operations","newLineOperation","listDecoratorMatches","getIndent","_empty","BaseModule","_BaseQuillModule","BaseHtmlEditorModule","addCleanCallback","handleOptionChangeValue","DropImageModule","_BaseModule","_pasteHandler","_dataTransfer$files","hasFiles","_getImage","_addImage","_clipboardData$items","hasDataItems","imageData","_isBrowserSupportImagePaste","_isImage","readableFile","getAsFile","pasteIndex","ImageCursorModule","_detachEvents","_isAllowedTarget","_adjustSelection","_image_uploader_helper","ImageUploadModule","_quillContainer","_getQuillContainer","prepareCleanCallback","_handleServerUpload","fileUploadMode","_enableDragAndDropUploading","_disableDragAndDropUploading","_getUploaderModule","_uploaderModule","_this$_fileUploader","_initFileUploader","fileUploaderOptions","getFileUploaderBaseOptions","_onUploaded","_this$quill$getSelect","serverUpload","_handleInsertImages","filesField","_mention","MentionModule","ARROW_UP","ARROW_DOWN","ARROW_LEFT","ARROW_RIGHT","ENTER","ESCAPE","SPACE","NAVIGATION_KEYS","ALLOWED_PREFIX_CHARS","_PopupModule","_mentions","preparedTemplate","getMentionKeyInTemplateStorage","_attachKeyboardHandlers","onTextChange","_moveToItem","_selectItemHandler","enterBindings","_ignoreKeyHandler","_isMentionActive","defaultItemPosition","$nextItem","_activeListItems","renderList","compileGetters","_idGetter","_getListConfig","_hasSearch","_focusFirstElement","insertEmbedContent","markerLength","_activeMentionConfig","textLength","mention","_getLastInsertOperation","lastOperation","isLastOperationDelete","penultOperation","_isPopupVisible","_processSearchValue","_filterList","lastInsertOperation","checkMentionRequest","_isMarkerPartOfText","_updateList","isOnNewLine","_getCharByIndex","savePosition","unselectAll","_search","_resetFilter","_getPopupConfig","_this$quill$getBounds","mentionLeft","mentionTop","mentionHeight","_$$offset","ListPopupModule","renderPopup","_renderPreventFocusOut","contentElem","listConfig","selectionChangedHandler","selectionChangedEvent","_resizable","KEYDOWN_EVENT","MOUSEDOWN_EVENT","ResizingModule","allowedTargets","_hideFrameWithContext","hideFrame","_framePositionChangedHandler","_prepareFramePositionChangedHandler","_createResizeFrame","_$target","resizable","updateFramePosition","showFrame","_$resizeFrame","_handleFrameKeyDown","_deleteImage","_getBoundingRect","targetTop","targetLeft","_getBoundingRect2","containerTop","containerLeft","_getBorderWidth","_Quill$find","_table_helper","_toolbar_helper","CONTEXT_MENU_EVENT","TableContextMenuModule","_formatHandlers","getFormatHandlers","_tableFormats","getTableFormats","_enableContextMenu","_this$_contextMenu","_prepareContextMenuHandler","menuConfig","_getMenuConfig","showPropertiesForm","_targetElement","acceptableWidgetName","_handleObjectItem","defaultButtonItemConfig","_prepareMenuItemConfig","_prepareMenuItems","_ICON_MAP$name","_this$_formatHandlers","iconName","ICON_MAP","getDefaultClickHandler","customItems","_isTableTarget","_setContextMenuPosition","_this$_contextMenu2","DX_COLUMN_RESIZER_CLASS","DX_ROW_RESIZER_CLASS","minColumnWidth","minRowHeight","POINTERDOWN_EVENT","TableResizingModule","_tableResizeFrames","_minColumnWidth","_minSizeLimit","_minRowHeight","_tableData","_applyResizing","forcedStart","_applyResizingImpl","addContentInitializedCallback","_resizeHandlerWithContext","_findTables","_fixTablesWidths","_createResizeFrames","_updateFramesPositions","_updateFramesSeparators","_getQuillTextChangeHandler","_quillTextChangeHandler","oldContent","_isTableChanging","_removeResizeFrames","_updateTablesColumnsWidth","_getFrameForTable","_this$_framesForTable","_framesForTables","_windowResizeTimeout","actualTableWidth","lastTableWidth","_tableLastWidth","_updateColumnsWidth","_getWidthStyleValue","_getTableDeterminantElements","getAutoSizedElements","_this4$_tableLastWidt","columnsSum","_getColumnElementsSum","unfixTableWidth","_this5$_tableResizeFr","$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","attachSeparatorData","lineSeparator","_attachColumnSeparatorEvents","_createDraggableElement","_fixColumnsWidth","_startLineSize","_startTableWidth","_startLineSeparatorPosition","_nextLineSize","_shouldRevertOffset","_isNextColumnWidthEnough","nextColumnNewSize","$nextColumnElement","eventOffset","isWidthIncreased","_nextColumnOffsetLimit","isWidthLimited","_shouldSetNextColumnWidth","_horizontalDragHandler","currentLineNewSize","isCurrentColumnWidthEnough","$lineElements","getLineElements","$nextLineElements","realWidthDiff","setLineElementsFormat","isTableWidthChanged","_$highlightedElement","_verticalDragHandler","newHeight","rowHeightDiff","_this$_$highlightedEl","_isLastColumnResizing","_getBoundaryConfig","_this$_$highlightedEl2","boundaryConfig","directionClass","_currentDraggableElement","determinantElements","columnsWidths","_setColumnsRatioWidth","frameIndex","_this$_getColumnEleme","minWidthForColumns","_attachResizerTimeout","_widget_collector","ToolbarModule","TOOLBAR_WRAPPER_CLASS","ACTIVE_FORMAT_CLASS","FORMAT_HOTKEYS","_toolbarWidgets","_addCallbacks","toolbarMenu","toolbarInstance","_layoutStrategy","isSelectionChanged","updateHistoryWidgets","updateFormatWidgets","updateTableWidgets","_updateFormatWidget","isApplied","getByName","_markActiveFormatWidget","_resetFormatWidget","_toggleClearFormatting","_$toolbarContainer","_subscribeFormatHotKeys","toolbarConfig","isInteractionDisabled","isMultilineMode","_this$options$multili","_detectRenamedOptions","oldName","_handleFormatHotKey","_updateButtonState","formatWidget","buttonItemConfig","_prepareButtonItemConfig","acceptedValues","selectItemConfig","_prepareSelectItemConfig","localizeValue","_isReset","_hideAdaptiveMenu","_setValueSilent","baseItem","_getDefaultConfig","_getDefaultItemsConfig","insertRowAbove","insertRowBelow","insertColumnLeft","insertColumnRight","deleteTable","cellProperties","tableProperties","historyModule","_historyModule$stack","undoOps","redoOps","_updateManipulationWidget","isTableOperationsEnabled","TABLE_OPERATIONS","isInsertTable","isOperationEnabled","isResetRequired","hasFormats","_resetFormatWidgets","_getFormatWidgetName","_isColorFormat","_updateColorWidget","clearWidget","addClickHandler","menuContainer","_variable","VariableModule","$ofElement","_resetPopupPosition","mentionBounds","rootRect","variableData","WidgetCollector","_collection","getQuill","_quill_importer","_image","_link","_font","_align","_dropImage","_variables","_resizing","_tableResizing","_tableContextMenu","_imageUpload","_imageCursor","QuillRegistrator","initialized","_customModules","registerModules","modulesConfig","isModule","isRegisteredModule","modulePath","getRegisteredModuleNames","_Theme","BaseTheme","_quill_registrator","_wordLists","_formDialog","MARKDOWN_VALUE_TYPE","editorsCount","HtmlEditor","variables","mediaResizing","tableResizing","customizeModules","tableContextMenu","allowSoftLineBreak","formDialogOptions","imageUpload","_mentionKeyInTemplateStorage","_cleanCallback","_contentInitializedCallback","_$htmlContainer","_$templateResult","_updateContainerMarkup","_createNoScriptFrame","srcdoc","sandbox","_removeXSSVulnerableHtml","frameDocumentBody","removeInlineHandlers","sanitizedHtml","_isMarkdownValue","_prepareMarkdownConverter","_markdownConverter","sanitizedMarkup","_prepareConverters","_prepareQuillRegistrator","_quillRegistrator","_getRegistrator","_deltaConverter","_contentRenderedDeferred","_renderHtmlEditor","_renderFormDialog","_addKeyPressHandler","_attachFocusEvents","_getModulesConfig","_quillInstance","_textChangeHandlerWithContext","_textChangeHandler","_renderScrollHandler","_hasTranscludedContent","_updateContentTask","_applyTranscludedContent","_finalizeContentRendering","initScrollData","prepareScrollData","valueOption","wordListMatcher","_getModuleConfigByOption","imageCursor","_getBaseModuleConfig","_getCustomModules","userOptionName","convertedValue","_updateValueByType","_isNullValueConverted","_isEditorUpdating","clearHistory","_resetEnabledState","userOptions","_prepareModuleOptions","_args$fullName","optionData","_moduleOptionChanged","moduleInstance","updatedValue","_updateHtmlContent","_repaintToolbar","_applyToolbarMethod","_abortUpdateContentTask","_applyQuillMethod","_applyQuillHistoryMethod","_this$getModule","getQuillInstance","showFormDialog","formConfig","formDialogOption","popupOption","DIALOG_CLASS","FormDialog","_editorInstance","_popupUserConfig","_attachOptionChangedHandler","_updateFormLabel","_escKeyHandler","_addEscapeHandler","_renderForm","callAddButtonAction","beforeAddButtonAction","_getDefaultFormOptions","formOption","formUserConfig","ImageUploader","correctSlashesInUrl","urlUpload","FORM_DIALOG_CLASS","USER_ACTION","SILENT_ACTION","FILE_UPLOADER_NAME","getCurrentTab","tabPanelIndex","isUpdating","isImageUpdating","tabsModel","createTabsModel","createTabs","getFormConfig","updatePopupConfig","updateAddButtonState","getActiveTabIndex","pasteImage","resetDialogPopupOptions","isDisableButton","setAddButtonDisabled","getUpdateDialogFormData","createUrlTab","UrlTab","createFileTab","FileTab","tabName","_this$module$quill$ge","wrapperClasses","useTabbedItems","titleKey","addButtonTextKey","getFormWidth","getItemsConfig","tabController","getTabName","BaseTab","onFileSelected","UpdateUrlStrategy","AddUrlStrategy","_BaseTab","_BaseTab2","FileStrategy","BaseStrategy","getQuillSelection","_BaseStrategy","shouldKeepAspectRatio","keepAspectRatio","dependentEditor","previousDependentEditorValue","preventRecalculating","createKeepAspectRatioEditor","dependentEditorDataField","$widthEditor","widthEditor","$ratioEditor","heightEditor","_AddUrlStrategy","modifyFormData","_this$formData$width","_this$formData$height","imgElement","embedFormatIndex","_this$selection","_BaseStrategy2","isValidInternal","base64Upload","isBase64Editable","getFileUploaderOptions","getRowElements","tableModule","tableFormats","getTableOperationHandler","hasEmbedContent","tableBlotNames","fullPropertyName","_formatBlot","formatBlot","descendBlot","tableBlot","TemplatesStorage","_this$_storage","_this$_storage$editor","_Object$values$at","_this$_storage$editor2","_getToolbarModule","getToolbarModule","prepareLinkHandler","prepareImageHandler","prepareColorClickHandler","orderedList","prepareShortcutHandler","bulletList","alignLeft","alignCenter","alignRight","alignJustify","increaseIndent","decreaseIndent","superscript","subscript","insertTable","prepareInsertTableHandler","prepareShowFormProperties","_color_box","MIN_HEIGHT","BORDER_STYLES","DIALOG_COLOR_CAPTION","DIALOG_BACKGROUND_CAPTION","DIALOG_LINK_CAPTION","DIALOG_TABLE_CAPTION","DIALOG_LINK_FIELD_URL","DIALOG_LINK_FIELD_TEXT","DIALOG_LINK_FIELD_TARGET","DIALOG_LINK_FIELD_TARGET_CLASS","DIALOG_TABLE_FIELD_COLUMNS","DIALOG_TABLE_FIELD_ROWS","resetFormDialogOptions","_module$quill$getModu","currentSelectionParts","getTargetTableNode","rowBlot","tablePropertiesFormConfig","getCellPropertiesFormConfig","getTablePropertiesFormConfig","getFormConfigConstructor","_module$editorInstanc","savedOptions","dxForm","formatArgs","_module$quill","getColorFromFormat","isCursorAtLink","linkRange","linkOffset","LinkBlot","_module$quill$scroll$2","_module$quill$scroll$4","getLinkRange","selectionHasEmbedContent","getLinkFormItems","_selection2","imageUploadOption","imageUploader","shortcutValue","_getToolbarModule2","_getToolbarModule3","_ref11","alignmentEditorInstance","borderColorEditorInstance","backgroundColorEditorInstance","startTableWidth","tableStyles","startTextAlign","tableBackgroundColor","tableBorderStyle","tableBorderColor","tableBorderWidth","tableAlign","newWidth","_ref13","oldTableWidth","newElementWidth","autoHeightRows","oldTableHeight","newElementHeight","applyTableDimensionChanges","_ref12","verticalAlignmentEditorInstance","startCellWidth","cellStyles","cellBackgroundColor","cellBorderStyle","cellBorderColor","cellBorderWidth","cellTextAlign","cellVerticalAlign","verticalPadding","cellPaddingTop","horizontalPadding","cellPaddingLeft","_ref14","$verticalCells","widthDiff","$nextColumnCell","prevColumnWidth","rowCell","applyCellDimensionChanges","LIST_ITEM_BADGE_CONTAINER_CLASS","LIST_ITEM_CHEVRON_CONTAINER_CLASS","_renderBadge","_renderShowChevron","badge","$badge","$chevron","showChevron","$chevronContainer","ListBase","setScrollView","_get_element_style","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","pullRefreshEnabled","pullingDownText","pulledDownText","refreshingText","pageLoadingText","onPullRefresh","onPageLoading","nextButtonText","onItemSwipe","onGroupRendered","collapsibleGroups","_swipeEnabled","showChevronExpr","badgeExpr","deviceDependentOptions","_updateLoadingState","_saveSelectionChangeEvent","_selectionChangeEventInstance","_getSelectionChangeEvent","_refreshItemElements","_itemElementsCache","_initScrollView","_createGroupRenderAction","_scrollBottomMode","_nextButtonMode","scrollBottom","nextButton","_getGroupContainerByIndex","autoPagingEnabled","_scrollHandler","onPullDown","_pullDownHandler","onReachBottom","_scrollBottomHandler","reachBottomText","_createScrollViewActions","_scrollAction","_pullRefreshAction","_pageLoadingAction","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","roledescription","_setListAria","listArea","_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","_uiListEdit","_uiListEdit2","_uiListEdit3","_uiList","CONTEXTMENU_CLASS","_renderOverlay","_$menuList","_renderMenuContent","_menuItems","_deleteEnabled","_menuItemClickHandler","_fireMenuAction","_$itemWithMenu","handleContextMenu","LIST_EDIT_DECORATOR","SWIPE_START_EVENT_NAME","SWIPE_UPDATE_EVENT_NAME","SWIPE_END_EVENT_NAME","_shouldHandleSwipe","swipeConfig","_clearSwipeCache","_itemWidthCache","_itemSwipeStartHandler","_itemSwipeUpdateHandler","beforeBag","afterBag","_commonOptions","modifyElement","afterRender","handleClick","handleKeyboardEvents","handleEnterPressing","visibilityChange","getExcludedSelectors","REORDER_HANDLE_CLASS","_groupedEnabled","_lockedDrag","_dragTemplate","_dragChangeHandler","_reorderHandler","_sameParent","$dragging","getItemElementByFlatIndex","$handle","_radio_button","SELECT_DECORATOR_ENABLED_CLASS","_singleStrategy","_containerClass","_controlClass","_controlWidget","$control","_isSelected","_processCheckedState","_updateSelectAllState","_$selectAll","_renderSelectAll","currentFocusedIndex","moveFocusUp","moveFocusDown","$selectAll","downArrowHandler","_attachSelectAllHandler","_selectAllHandler","_selectAllClickHandler","isSelectedAll","_selectAllItems","_unselectAllItems","_checkSelectAllCapability","_disposeSelectAll","_renderItemPosition","_itemElementWidth","SwitchableButtonEditDecorator","$buttonWrapper","$buttonInnerWrapper","_$buttonContainer","_enablePositioning","_disablePositioning","_animatePrepareDeleteReady","_isRtlEnabled","listWidth","buttonWidth","_buttonWidth","fromValue","toValue","_animateForgetDeleteReady","_buttonContainerWidth","$toggle","_toggleDeleteReady","POINTER_DOWN_EVENT_NAME","SWITCHABLE_DELETE_READY_CLASS","SWITCHABLE_MENU_ITEM_SHIELD_POSITIONING_CLASS","_$topShield","_$bottomShield","_$itemContentShield","_cancelDeleteReadyItem","_$readyToDeleteItem","_cancelDelete","readyToDelete","_isReadyToDelete","_toggleShields","_toggleScrolling","_cacheReadyToDeleteItem","_animateToggleDelete","_updateShieldsHeight","_toggleContentShield","listTopOffset","listHeight","dirtyTopShieldHeight","dirtyBottomShieldHeight","dxScrollView","_cancelScrolling","_prepareDeleteReady","_forgetDeleteReady","_getDeleteButtonContainer","_uiListEditDecorator","_action_sheet","SLIDE_MENU_CONTENT_CLASS","SLIDE_MENU_BUTTON_CLASS","_$buttons","_renderDeleteButton","_menuEnabled","_renderMenuButton","_fireAction","$menuButton","$deleteButton","_cachedNode","$slideMenuContent","_cacheItemData","_setPositions","signCorrection","isItemReadyToDelete","_getCurrentPositions","_getStartPositions","_cachedItemWidth","_cachedButtonWidth","buttonsContainer","_$cachedContent","_minButtonContainerLeftOffset","endedAtReadyToDelete","_animateToPositions","durationTimePart","decoratorClass","decoratorsRegistry","decoratorConfig","_uiListEditStrategy","moveFocusedItem","moveUp","editStrategy","nextItemIndex","_editProvider","afterItemsRendered","excludedSelectors","getExcludedItemSelectors","privateKey","__dx_key__","onSelectAllValueChanged","selectAllText","menuMode","itemDragging","_initEditProvider","_isPageSelectAll","_disposeEditProvider","_refreshEditProvider","contextMenuHandlerExists","handledByEditProvider","_this$_editStrategy$g","modifyItemElement","focusListItem","getFlatIndexByItemElement","flatIndex","getItemByIndex","editOptionsRegistry","registerOption","enabledFunc","decoratorTypeFunc","decoratorSubTypeFunc","decoratorType","decoratorSubType","_fetchRequiredDecorators","_decorators","decorator","_createDecorator","subType","_findDecorator","_registry$type","foundDecorator","_prependBeforeBags","_appendAfterBags","_applyDecorators","$beforeBags","_collectDecoratorsMarkup","$afterBags","containerClass","$collector","_handlerExists","decorators","_eventHandler","combineIndex","splitIndex","combinedIndex","_groupElements","_groupItemElements","_getGroups","groupItemByKeyMap","itemMeta","groupKey","selectedGroup","movingIndices","destinationIndices","movingItemGroup","destinationItemGroup","secondIndex","LOADINDICATOR_SEGMENT_CLASS","LoadIndicator","_animatingSegmentCount","_animatingSegmentInner","viaImage","_renderIndicatorContent","_renderMarkup","_renderMarkupForImage","_renderMarkupForAnimation","animatingSegmentInner","$segment","_updateContentSizeForAnimation","minDimension","_removeMarkupForAnimation","_removeMarkupForImage","LOADPANEL_INDICATOR_CLASS","LOADPANEL_MESSAGE_CLASS","LoadPanel","hideTopOverlayHandler","shadingColor","_$loadPanelContentWrapper","_togglePaneVisible","_cleanPreviousContent","_renderLoadIndicator","_renderMessage","_clearShowTimeout","_showTimeout","LOOKUP_FIELD_WRAPPER_CLASS","LIST_ITEM_SELECTED_CLASS","Lookup","searchPlaceholder","searchStartEvent","cleanSearchOnOpening","clearButtonText","titleTemplate","onTitleRendered","dropDownCentered","_scrollToSelectedItemEnabled","_initScrollAction","_initPageLoadingAction","_initPullRefreshAction","_pullRefreshHandler","_pageLoadingHandler","fieldClickAction","_$field","_$fieldWrapper","_getInputContainer","_renderFieldTemplate","_getLabelContainer","_searchBox","scrollToSelectedItemEnabled","_setPopupPosition","_getDifferenceOffsets","selectedListItem","_isCenteringEnabled","_getPopupOffset","listItemsCount","differenceOfHeights","lookupOffset","dropDownHeightOption","MATERIAL_LOOKUP_LIST_PADDING","offsetBottom","popupContentParent","popupOffset","_listItemGroupedElements","_calculateListHeight","_$searchWrapper","_$bottom","_$title","_renderPopover","_fixWrapperPosition","_$arrow","popupOptionValue","clearButton","_getClearButtonConfig","_resetValue","_currentSelectedItem","_$searchBox","_renderSearch","_renderValueChangeEvent","isSearchEnabled","_toggleSearchClass","$searchWrapper","$searchBox","isKeyboardListeningEnabled","textBoxOptions","_registerSearchKeyHandlers","_setSearchPlaceholder","_removeSearch","_selectListItemHandler","_selectListItem","_setAriaTargetForList","_getSelectionChangedHandler","_selectionChangeHandler","_runWithoutCloseOnScroll","_hideOnParentScrollTimer","_this$_searchBox","_provider","_providerDynamic","_providerDynamic2","PROVIDERS","googleStatic","google","bing","MAP_SHIELD_CLASS","northEast","southWest","lat","autoAdjust","markers","markerIconSrc","onMarkerAdded","onMarkerRemoved","routes","onRouteAdded","onRouteRemoved","apiKey","onReady","_lastAsyncAction","_checkOption","_initContainer","_grabEvents","_cancelEvent","isEventsCanceled","_saveRendered","_renderShield","_queueAsyncAction","$shield","setOptionSilent","_suppressAsyncAction","changeBag","_optionChangeBag","isActionSuppressed","_triggerReadyAction","originalMap","_triggerUpdateAction","addMarker","_addFunction","removeMarker","_removeFunction","addRoute","route","removeRoute","addingValue","addingValues","_partialArrayOptionChange","removingValue","removingValues","removingIndex","removing","msMapsLoader","BING_MAP_READY","BING_URL_V8","msMapsLoaded","Microsoft","Maps","_mapType","mapTypes","roadmap","MapTypeId","road","hybrid","aerial","satellite","_movementMode","movementTypes","driving","Directions","RouteMode","walking","_resolveLocation","latLng","_getLatLng","Location","_geocodeLocation","geocodedLocation","_geocodedLocations","_geocodeLocationImpl","searchManager","SearchManager","searchRequest","where","searchResponse","boundsBox","latitude","longitude","geocode","_normalizeLocation","_normalizeLocationRect","locationRect","northWest","getNorthwest","southEast","getSoutheast","_loadMapScript","loadModule","_createMap","credentials","_keyOption","showDashboard","showMapTypeSelector","showScalebar","_providerViewChangeHandler","_viewChangeHandler","_providerClickHandler","_clickActionHandler","getCenter","_preventZoomChangeEvent","_fireClickAction","setOptions","updateMapType","labelOverlay","LabelOverlay","setView","mapTypeId","updateBounds","LocationRect","fromLocations","updateCenter","updateZoom","updateControls","_renderMarker","pushpinOptions","iconSrc","htmlContent","htmlOffset","pushpin","Pushpin","infobox","_renderTooltip","markerClickAction","_mapWidget","markerNormalizedLocation","_parseTooltipOptions","Infobox","setMap","_destroyMarker","_renderRoute","DirectionsManager","_defaultRouteColor","routeColor","fromHex","_defaultRouteOpacity","setRenderOptions","autoUpdateMapView","displayRouteSelector","waypointPushpinOptions","drivingPolylineOptions","strokeColor","strokeThickness","_defaultRouteWeight","walkingPolylineOptions","setRequestOptions","routeMode","routeDraggable","waypoint","Waypoint","addWaypoint","directionHandlers","routeSummary","responseCode","calculateDirections","_destroyRoute","routeObject","_fitBounds","_updateBounds","_bounds","zoomBeforeFitting","zoomAfterFitting","_extendBounds","_clearMarkers","_clearRoutes","CustomMarker","googleMapsLoader","GOOGLE_MAP_READY","GOOGLE_URL","googleMapsLoaded","maps","HYBRID","ROADMAP","SATELLITE","TravelMode","DRIVING","WALKING","LatLng","Geocoder","address","GeocoderStatus","getNorthEast","getSouthWest","_offset","_$overlayContainer","OverlayView","getPanes","overlayMouseTarget","_clickListener","addDomListener","getProjection","fromLatLngToDivPixel","showDefaultUI","disableDefaultUI","_boundsChangeListener","_boundsChangeHandler","setMapTypeId","LatLngBounds","fitBounds","setCenter","setZoom","gestureHandling","Marker","infoWindow","InfoWindow","origin","waypoints","stopover","optimizeWaypoints","travelMode","DirectionsService","DirectionsStatus","directionOptions","directions","suppressMarkers","preserveViewport","polylineOptions","strokeWeight","DirectionsRenderer","cachedLocation","_load","_areBoundsSet","_mapsLoader","_markers","_routes","addMarkers","_addMarker","markerObjects","markerObject","_fireMarkerAddedAction","originalMarker","removeMarkers","markersOptionsToRemove","markerOptionToRemove","_removeMarker","markersOptionToRemove","markerIndex","_fireMarkerRemovedAction","addRoutes","_addRoute","routeObjects","_fireRouteAddedAction","originalRoute","removeRoutes","routeIndex","_removeRoute","_fireRouteRemovedAction","adjustViewport","_clearBounds","_locationToString","_updateMap","_addEventNamespace","mapRendered","_markersSubstring","_routeSubstrings","markerIcon","routePoint","markerOptions","routeOptions","_applyFunctionIfNeeded","updateMarkers","markerOptionsToRemove","markerOptionsToAdd","removeValue","addValue","updateRoutes","routeOptionsToRemove","routeOptionsToAdd","providerName","isShown","numericRegex","fnName","actionArguments","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","Menu","onSubmenuShown","onSubmenuHidden","rootMenuElements","submenuElements","_submenuItemElements","currentSubmenu","_submenus","_isMenuHorizontal","isMenuHorizontal","_getItemsNavigationOperation","_getKeyboardNavigationAction","navigationAction","navOperation","_resizeEventTimer","_menuItemsWidth","_updateItemsWidthCache","_isAdaptivityEnabled","$menuItems","_toggleAdaptiveMode","_visibleSubmenu","_initAdaptivity","_renderHamburgerButton","_hamburger","_toggleTreeView","_toggleHamburgerActiveState","$menuItemsContainer","$adaptiveElements","_hideVisibleSubmenu","_treeView","_removeAdaptivity","_$adaptiveContainer","_treeviewItemClickHandler","_getAdaptiveOverlayOptions","_getTreeViewOptions","menuOptions","expandEvent","$hamburger","_getDelay","delayType","submenu","_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","getOverlayContent","submenuMouseLeaveName","_submenuOnShowingHandler","_submenuOnShownHandler","_submenuOnHidingHandler","_submenuOnHiddenHandler","_submenuMouseLeaveHandler","$border","_getSubmenuByRootElement","isRootItemHovered","isSubmenuItemHovered","isHorizontalMenu","isSelectionActive","_getSubmenuByElement","_itemMouseMoveHandler","_showSubmenuTimer","_hideSubmenuTimer","_hoveredRootItem","_changeSubmenusOption","Submenu","_renderDelimiter","$contentDelimiter","_overlayPositionedActionHandler","_showDelimiter","hoverStartAction","vLocation","hLocation","rootOffset","rootWidth","rootHeight","submenuWidth","submenuHeight","_translator2","_uiMulti_view","MULTIVIEW_ITEM_CLASS","MultiView","_itemWidth","_itemWidthValue","_clearItemWidthCache","_normalizeIndex","_getRTLSignCorrection","_findBoundaryIndices","_initSwipeable","_updateItemsVisibility","_updateItemsPosition","positionSign","_animationDirection","isHidden","_renderSpecificItem","hasItemContent","animationDirection","_animateItemContainer","completeCallback","containerPosition","indexDifference","_getItemFocusLoopSignCorrection","directionSignVariable","_getSwipeDisabledState","_firstIndex2","_lastIndex","_firstIndex","_boundaryIndices","firstAvailableIndex","lastAvailableIndex","firstTrueIndex","lastTrueIndex","_this$_boundaryIndice","_swipeDirection","swipeDirection","_findNextAvailableIndex","_this$_boundaryIndice2","isFirstActive","isLastActive","$selectedElement","_itemFocusLooped","_updateSwipeDisabledState","_toast","$notify","$containers","getCoordinatesByAlias","toastWidth","toastHeight","getPositionStylesByCoordinates","coordinates","_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","displayTime","userOnHidden","getDefaultDirection","userOnShowing","createStackContainer","containerClasses","setContainerClasses","_container$children$f","setContainerStyles","FIREFOX_CONTROL_KEYS","_spinUpChangeHandler","_spinDownChangeHandler","_isSupportInputMode","_getDefaultAttributes","inputmode","_validateValue","_keyPressed","_spinValueChange","inputValue","_forceValueRender","valuenow","valuetext","_applyDisplayValueFormatter","valuemin","valuemax","_spinButtonsPointerDownHandler","_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","getCaretBoundaries","getCaretAfterFormat","getCaretInBoundaries","isCaretInBoundaries","getCaretWithOffset","getCaretOffset","prefixStubLength","postfixStubLength","_getDigitCountBeforeIndex","_reverseText","_getDigitPositionByIndex","digitIndex","boundaries","formatted","isSeparatorBasedText","isSeparatorBasedString","realSeparatorOccurrenceIndex","getRealSeparatorIndex","occurrence","getNthOccurrence","newPointPosition","splitByIndex","formattedParts","relativeIndex","digitsBefore","formattedIntPart","_trimNonNumericCharsFromEnd","positionFromEnd","digitsFromEnd","newPositionFromEnd","previousText","previousBoundaries","_number_box2","NUMBER_FORMATTER_NAMESPACE","MINUS_KEY","_isDeleteKey","_revertSign","_removeHandler","_arrowHandler","_moveCaretToBoundaryEventHandler","_updateFormattedValue","_getTextSeparatorIndex","_preventNestedFocusEvent","clearCaretTimeout","_caretTimeout","_getInputVal","shouldHandleEvent","_focusOutOccurs","_hasValueBeenChanged","_updateParsedValue","_adjustParsedValue","_setTextByParsedValue","_parsedValue","nextCaret","_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","_getFormatForSign","_removeStubs","excludeComma","stubs","_getStubs","prefixStubs","postfixRegex","decoratorsRegex","stub","_truncateToPrecision","maxPrecision","strValue","editedText","isTextSelected","_getParsedValue","_getPrecisionLimits","isDecimalPointRestricted","isUselessCharRestricted","adjustPercentValue","textWithoutStubs","parsedValueSign","isCaretOnFloat","floatLength","isPrecisionInRange","endsWithZero","_setInputText","_formattedValue","_renderInputType","isNumberType","_setInputType","_isChar","adjustedCaret","isSpecialChar","isMinusKey","_renderFormatter","_detachFormatterEvents","_attachFormatterEvents","_isInputFromPaste","_isValuePasted","_formatValue","escapedDecimalSeparator","realSeparatorIndex","floatPart","_applyRevertedSign","preserveSelectedText","currentText","caretInBoundaries","_removeMinusFromText","textWithoutMinus","wasMinusRemoved","NUMBER_BOX","POINTERCANCEL_EVENT_NAME","SPIN_CLASS","_spinIcon","_spinDownHandler","_spinChangeHandler","_feedBackDeferred","SpinButtons","$spinContainer","$spinContainerChildren","pointerDownAction","$spinUp","$spinDown","_isTouchFriendly","isTouchFriendly","$spinButtons","spinUp","spinDown","quoteBalance","separatorCount","OverlayPositionController","OVERLAY_POSITION_ALIASES","OVERLAY_DEFAULT_BOUNDARY_OFFSET","onVisualPositionChanged","restorePosition","_$root","_$markupContainer","_$visualContainer","_shouldRenderContentInitialPosition","_visualPosition","_previousVisualPosition","updateContainer","updatePosition","updateVisualContainer","restorePositionOnNextRender","openingHandled","shouldRestorePosition","_normalizePosition","containerProp","_getVisualContainer","detectVisualPositionChange","_updateVisualPositionValue","_raisePositionedEvents","positionContent","_renderContentInitialPosition","positionWrapper","styleWrapperPosition","positionStyle","$visualContainer","_renderBoundaryOffset","wrapperOverflow","previousPosition","_this$_position","_this$_props$position","_this$_props$position2","visualContainerProp","positionOf","defaultPositionConfig","_positionToObject","fixWrapperPosition","_overlay_position_controller","viewPortChanged","INNER_OVERLAY_CLASS","OVERLAY_STACK","PREVENT_SAFARI_SCROLLING_CLASS","_proxiedDocumentDownHandler","Overlay","_ignoreElementAttrDeprecation","_checkParentVisibility","_logDeprecatedPreventScrollEventsInfo","_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","_toggleBodyScroll","_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","_this8$_actions","_hideAnimationProcessing","_hidingDeferred","_forceFocusLost","_toggleShading","_toggleSubscriptions","startCallback","_checkContainerExists","_moveToContainer","_renderGeometry","pushToStack","_zIndex","_toggleTabTerminator","_proxiedTabTerminatorHandler","elementsCount","isTabOnLast","isShiftTabOnFirst","isEmptyTabList","isOutsideTarget","_toggleHideTopOverlayCallback","_toggleHideOnParentsScrollSubscription","needSubscribe","_this$_parentsScrollS","scrollEvent","prevTargets","closeOnScroll","$parents","_hideOnParentScrollTarget","closeHandled","_appendContentToElement","shouldDeferRendering","_contentAlreadyRendered","whenContentRendered","_toggleWrapperScrollEventsSubscription","_getPositionControllerConfig","isWheel","isMouseMove","isScrollByWheel","$wrapperContainer","_renderGeometryImpl","_isAllWindowCovered","isIosSafari","isAllWindowCovered","isScrollingPrevented","shouldPreventScrolling","shouldEnableScrolling","_cachedBodyScrollTop","_renderWrapperDimensions","isVisualContainerWindow","wrapperWidth","wrapperHeight","_deferShowTimer","_this13$_animateDefer","_animateDeferred","_this13$_animateDefer2","animateDeferred","forceStopAnimation","startLocation","actualOffset","isLastZIndexInStack","clearStack","zIndexStack","ZIndex","PopoverPositionController","POPOVER_POSITION_ALIASES","WEIGHT_OF_SIDES","POPOVER_DEFAULT_BOUNDARY_OFFSET","_OverlayPositionContr","_positionSide","updateTarget","_getContainerPosition","vOffset","isVerticalSide","_isVerticalSide","isHorizontalSide","_isHorizontalSide","arrowOffset","_isPopoverInside","_getContentBorderWidth","_getDisplaySide","weightSign","PopoverFull","_Popover","_getToolbarName","_popover_position_controller","POSITION_FLIP_MAP","getEventNameByOption","attachEvent","_that$option","isSelector","shouldIgnoreHideEvent","getEventDelay","_clearEventsTimeouts","_timeouts","EVENT_HANDLER_NAME","detachEvent","Popover","arrowPosition","_renderArrow","isInteractive","_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","_clearEventTimeout","PopupDrag","positionController","_draggableElement","_handle","_dragEnabled","unsubscribe","moveDown","moveLeft","moveRight","_getEventNames","startEventName","updateEventName","_dragUpdateHandler","allowedOffsets","_getAllowedOffsets","_prevOffset","_moveByOffset","dragHandled","_fitOffsetIntoAllowedRange","_getContainerDimensions","$dragResizeContainer","_getElementPosition","_getInnerDelta","containerDimensions","elementDimensions","_getElementDimensions","_getOuterDelta","_this$_getElementDime","outsideDragFactor","_getFullDelta","fullDelta","outerDelta","elementPosition","createBodyOverflowManager","overflowManagerMock","setOverflow","restoreOverflow","isIosDevice","prevSettings","computedBodyPaddingRight","setBodyPaddingRight","propertyInKebabCase","PopupPositionController","forceApplyBindings","dragOutsideBoundary","_$dragResizeContainer","_updateDragResizeContainer","resizeHandled","_this$_props$forceApp","_this$_props","_getDragResizeContainer","_fullScreenEnabled","_fullScreenDisabled","PopupFull","_Popup","_popup_drag","_popup_position_controller","_popup_overflow_manager","POPUP_CLASS","POPUP_WRAPPER_CLASS","POPUP_TITLE_CLASS","POPUP_BOTTOM_CLASS","ALLOWED_TOOLBAR_ITEM_ALIASES","IS_OLD_SAFARI","HEIGHT_STRATEGIES","static","flex","Popup","_this$_drag","_this$_drag2","_this$_drag3","_this$_drag4","enableBodyScroll","onResizeStart","onResizeEnd","bottomTemplate","useDefaultToolbarButtons","useFlatToolbarButtons","_iosAnimation","_androidAnimation","popupWrapperClassExternal","popupWrapperClasses","_createBodyOverflowManager","_updateResizeCallbackSkipCondition","_toggleContentScrollClass","isFullscreen","_toggleFullScreenClass","_bodyOverflowManager","_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","aliases","isNativeScrollingEnabled","_getDragTarget","topToolbar","useResizeObserver","shouldRepeatAnimation","isDimensionChange","_cacheDimensions","_resetContentHeight","$dragTarget","handles","_resizeEndHandler","overlayContent","currentHeightStrategyClass","_chooseHeightStrategy","_getHeightCssStyles","_setHeightClasses","_heightStrategyChangeOffset","popupVerticalPaddings","isAutoWidth","_isAutoHeight","contentMaxHeight","contentMinHeight","popupHeightParts","_splitPopupHeight","toolbarsAndVerticalOffsetsHeight","footer","contentVerticalOffsets","popupVerticalOffsets","contentHeight","maxHeightValue","currentClass","excessClasses","_renderFullscreenWidthClass","_this$_bodyOverflowMa","refreshPosition","_this$_resizable2","_this$_resizable","shouldRenderGeometry","_track_bar","PROGRESSBAR_INDETERMINATE_SEGMENT","ProgressBar","onComplete","_renderStatus","_createCompleteAction","_$bar","_$range","_toggleStatus","_$status","_renderIndeterminateState","_$segmentContainer","splitPosition","_toggleIndeterminateState","_setStatus","_currentRatio","RADIO_BUTTON_ICON_CLASS","RadioButton","_renderIcon","_renderCheckedState","_renderClick","_$icon","RADIO_BUTTON_CLASS","RadioCollection","$radio","$radioContainer","RadioGroup","_getItemValue","_renderRadios","_getSelectedItemKeys","_setSelection","_updateItemsSize","_areRadiosCreated","$radios","_radios","_this$_radios","_this$_radios2","_slider","RANGE_SLIDER_CLASS","RANGE_SLIDER_START_HANDLE_CLASS","RANGE_SLIDER_END_HANDLE_CLASS","RangeSlider","_changeHandle","capturedHandle","_capturedHandle","_setHandleValue","_valueStep","moveHandleRight","_$handleStart","_$handleEnd","moveHandleLeft","_processKeyboardEvent","isStart","startOption","endOption","startName","endName","_$submitStartElement","_$submitEndElement","_callHandlerMethod","_renderHandle","_renderHandleImpl","_updateHandleAriaLabels","_startHandler","$range","rangeWidth","eventOffsetX","startHandleX","endHandleX","startHandleIsClosest","_activeHandle","_updateHandlePosition","offsetDirection","newRatio","_startOffset","_swipePixelRatio","_updateSelectedRangePosition","fitTooltipPosition","_changeValueOnSwipe","$nextHandle","_this$_getActualValue2","_getActualValue","leftRatio","rightRatio","_setValueOnSwipe","_this$_getActualValue4","_actualValue","_this$_getActualValue6","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","Resizable","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","_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","_getAreaFromObject","_getAreaFromElement","areaElement","_correctAreaGeometry","_renderWidth","_renderHeight","RESPONSIVE_BOX_CLASS","SCREEN_SIZE_CLASS_PREFIX","ResponsiveBox","_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","_recurrence","_expressionUtils","PROPERTY_NAMES","AppointmentAdapter","ExpressionUtils","setField","pathTimeZoneConversion","calculateDate","pathTimeZone","clonedAdapter","getRecurrenceProcessor","isValidRecurrenceRule","_isSchedulerComponent","AppointmentDragBehavior","scheduler","workspace","_workSpace","_appointments","initialPosition","appointmentInfo","dragBetweenComponentsPromise","itemSettings","notifyObserver","getAppointmentElement","_getAppointmentContainer","newCellIndex","getDroppableCellIndex","oldCellIndex","getCellIndexByCoordinates","removeDroppableClasses","dataFromTooltip","LIST_ITEM_DATA_KEY","itemDataFromTooltip","itemDataFromGrid","getItemSettings","createDragStartHandler","appointmentDragging","createDragMoveHandler","createDragEndHandler","toItemData","isSchedulerComponent","_getDragBehavior","createDropHandler","addTo","updateDragSource","currentAppointment","currentSettings","_setDragSourceAppointment","_removeDragSourceClassFromDraggedAppointment","removeDroppableCellClass","AppointmentForm","APPOINTMENT_FORM_GROUP_NAMES","_semaphore","Main","Recurrence","createDateBoxEditor","semaphore","triggerResize","changeSize","allowTimeZoneEditing","getEditingConfig","getDataAccessors","recurrenceEditorVisibility","mainItems","_createMainItems","createResourceEditorModel","_createRecurrenceEditor","dataExprs","startTimeZoneEditor","startDateTimeZoneExpr","endTimeZoneEditor","endDateTimeZoneExpr","createTimeZoneDataSource","getDisplayedTimeZones","_createAppointmentAdapter","_dateBoxValueChanged","dateExpr","isNeedCorrect","validateAppointmentFormDate","dateEditor","_createTimezoneEditor","timeZoneExpr","secondTimeZoneExpr","isMainTimeZone","secondTimezoneEditor","_createDateBoxItems","getFirstDayOfWeek","_changeFormItemDateType","newEditorOption","allDayExpr","startDateEditor","endDateEditor","allDayStartDate","startDateWithStartHour","getStartDateWithStartHour","getStartDayHour","getCalculatedEndDate","startDateItemPath","endDateItemPath","_form$getEditor","changeValueByVisibility","updateRecurrenceItemVisibility","descriptionExpr","getTimeZoneCalculator","getStartDateTimeZone","setEditorsType","_this$scheduler$getDa2","startDateFormItem","endDateFormItem","startDateEditorOptions","endDateEditorOptions","updateRecurrenceEditorStartDate","setEditorOptions","editorPath","setTimeZoneEditorDataSource","updateFormData","recurrenceEditor","AppointmentPopup","ACTION_TO_APPOINTMENT","_loading","_popup_config","toMs","APPOINTMENT_POPUP_CLASS","DAY_IN_MS","POPUP_CONFIG","CREATE","EXCLUDE_FROM_SERIES","lastEditData","saveChangesLocker","excludeInfo","_createPopupConfig","isToolbarVisible","_doneButtonClickHandler","_this$popup","popupElement","_createPopupContent","_onShowing","_updateForm","getAppointmentFormOpening","processActionResult","updatePopupFullScreenMode","_createForm","getResources","getNormalizedResources","_isReadOnly","isFullScreen","saveChangesAsync","isShowLoadPanel","_addMissingDSTTime","addAppointment","updateAppointment","sourceAppointment","updatedAppointment","saveEditDataAsync","_tryLockSaveChanges","inAllDayRow","resourceList","normalizedResources","_unlockSaveChanges","formAppointmentAdapter","clonedAppointmentAdapter","_addMissingDSTShiftToDate","originFormDate","clonedDate","_timeZoneCalculator$g","_timeZoneCalculator$g2","shiftDifference","_viewModelGenerator","AppointmentLayoutManager","appointmentViewModel","AppointmentViewModelGenerator","getCellDimensions","_getRenderingStrategyOptions","getWorkSpace","virtualScrollingDispatcher","cellCountInsideLeftVirtualCell","cellCountInsideTopVirtualRow","getDOMElementsMetaData","_isVerticalGroupedWorkSpace","_getRowCount","createGetAppointmentColor","isRenovatedAppointments","_getCurrentViewOption","_allowResizing","_allowAllDayResizing","_getRealGroupOrientation","getEndViewDate","agendaDuration","createAppointmentsMap","renderingStrategyOptions","_this$appointmentView","positionMap","_positionMap","_isDataChanged","appointmentDataProvider","getUpdatedAppointment","getUpdatedAppointmentKeys","_isAppointmentShouldAppear","needRemove","_isSettingChanged","sourceSetting","createSettingsToCompare","currentSetting","positionByMap","leftVirtualWidth","topVirtualHeight","hMax","reduced","vMax","newSettings","oldSettings","sortedIndex","_getAssociatedSourceAppointment","sourceAppointments","_getDeletedAppointments","currentAppointments","getRepaintedAppointments","isSettingChanged","isAppointmentShouldAppear","getRenderingStrategyInstance","getRenderingStrategy","initRenderingStrategy","currentViewType","AgendaAppointment","REDUCED_APPOINTMENT_POINTERENTER_EVENT_NAME","REDUCED_APPOINTMENT_POINTERLEAVE_EVENT_NAME","allowDrag","resizableConfig","subject","_renderDragSourceClass","_getHorizontalResizingRule","reducedHandles","_getVerticalResizingRule","_renderAppointmentGeometry","_renderEmptyClass","_renderReducedAppointment","_renderAllDayClass","_renderDirection","_renderRecurrenceClass","_renderResizable","_setResourceColor","coloredElement","EMPTY_APPOINTMENT_CLASS","reducedPart","REDUCED_APPOINTMENT_CLASS","REDUCED_APPOINTMENT_PARTS_CLASSES","_renderAppointmentReducedIcon","REDUCED_APPOINTMENT_ICON","_getEndDate","ALL_DAY_APPOINTMENT_CLASS","APPOINTMENT_DRAG_SOURCE_CLASS","RECURRENCE_APPOINTMENT_CLASS","DIRECTION_APPOINTMENT_CLASSES","_createResizingConfig","_Appointment","createPlainResourceListAsync","_renderResourceList","itemContainer","APPOINTMENT_CONTENT_CLASSES","AGENDA_RESOURCE_LIST_ITEM","AGENDA_RESOURCE_LIST_ITEM_VALUE","APPOINTMENT_CONTENT_DETAILS","AGENDA_RESOURCE_LIST","AGENDA_MARKER","_appointmentLayout","SchedulerAppointments","_virtualAppointments","_appointmentClickTimeout","_$currentAppointment","_currentAppointment$d","_currentAppointment$d2","_currentAppointment$d3","resizeOccur","moveAppointmentBack","_getAccessAppointments","APPOINTMENT_SETTINGS_KEY","$nextAppointment","_getAppointmentByIndex","_resetTabIndex","$appointment","fixedContainer","allDayContainer","allowAllDayResize","onAppointmentDblClick","_collectorOffset","_clearDropDownItems","_clearDropDownItemsElements","_repaintAppointments","_renderDropDownAppointments","_attachAppointmentsEvents","_isAllDayAppointment","_isRepaintAppointment","_isRepaintAll","isAgendaView","_applyFragment","fragment","_onEachAppointment","isRepaintAll","_clearItem","_renderByFragments","$commonFragment","$allDayFragment","renderFunction","_attachAppointmentDblClick","_attachFeedbackEvents","APPOINTMENT_ITEM_CLASS","$allDayContainer","_initialSize","_initialCoordinates","_preventSingleAppointmentClick","_renderAppointmentTemplate","_currentAppointmentSettings","agendaSettings","createAgendaAppointmentLayout","createAppointmentLayout","_processItemClick","_dblClickHandler","$targetAppointment","setting","_renderAppointment","_applyResourceDataAttr","skipResizing","virtual","deferredColor","_processVirtualAppointment","_settings$info","_resizableConfig","getResourceDataAccessors","agendaResourceProcessor","createListAsync","itemSetting","_calculateResizableArea","updatedArea","_$element$data","resizeAllDay","_getEndResizeAppointmentStartDate","_getDateRange","updateResizedAppointment","getAppointmentDateRange","appointmentSettings","isVerticalViewDirection","isVerticalGroupedWorkSpace","appointmentRect","parentAppointmentRect","modifiedAppointmentAdapter","recurrenceProcessor","deltaTime","renderingStrategyDirection","needCorrectDates","_correctStartDateByDelta","getTimezoneOffsetChangeInMs","_correctEndDateByDelta","daysCount","tailOfPrevDays","correctedEndDate","appointmentSetting","virtualAppointment","virtualGroupIndex","buttonColor","virtualGroup","virtualCoordinates","$fragment","buttonHeight","rtlOffset","_isGroupCompact","_sortAppointmentsByStartDate","sortAppointmentsByStartDate","_processRecurrenceAppointment","skipLongAppointments","appointmentDuration","timezoneCalculator","recurrentDates","generateDates","exception","appointmentTimezoneOffset","recurrentDateCount","appointmentPart","_applyStartDateToObj","_applyEndDateToObj","_processLongAppointment","splitAppointmentByDay","partCount","_reduceRecurrenceAppointments","recurrenceIndexes","_combineAppointments","additionalAppointments","dragEvent","originalStartDate","maxAllowedDate","appointmentIsLong","getAppointmentTakesSeveralDays","currentEndDate","_checkStartDate","_checkEndDate","originalDate","dxSchedulerAppointment","$appointments","_settings$info$source","_$item$data","itemGroupIndex","_itemInfo$sourceAppoi","itemStartDate","itemEndDate","appointmentInstance","updateResizableArea","$allResizableElements","horizontalResizables","_resizableInst$option","allDayText","APPOINTMENT_TITLE","$contentDetails","APPOINTMENT_DATE","RECURRING_ICON","ALL_DAY_CONTENT","leftLayoutContainer","rightLayoutContainer","additionalContainer","CellPositionCalculator","calculateCellPositions","groupIndices","isAllDayRowAppointment","isRecurrentAppointment","dateSetting","getCoordinateInfos","_prepareObject","recurrent","getCoordinatesByDateInGroup","dateSettingIndex","getCoordinatesByDate","validGroupIndex","findCellPositionInMap","getCellPosition","timeShift","getTimeShift","getPositionShift","horizontalHMax","getHorizontalMax","verticalMax","getVerticalMax","validGroupIndices","cellCoordinates","isAllDayPanel","_this$DOMMetaData","dateTableCellsMeta","allDayPanelCellsMeta","validPosition","currentDayStart","currentDayEndHour","timeZoneDifference","currentDateTime","currentDayStartTime","dateSettings","getPositionShiftCallback","VirtualStrategy","isGroupIntersectDateInterval","createRecurrentAppointmentInfos","AppointmentDataProvider","_appointmentDataSource","_appointmentFilter","_remote","FilterStrategies","appointmentDataSource","AppointmentDataSource","initFilterStrategy","getFilterStrategy","filterStrategy","filterStrategyName","getLoadedResources","getSupportAllDayRow","getViewType","viewDirection","getViewDirection","getViewDataProvider","AppointmentFilterVirtualStrategy","AppointmentFilterBaseStrategy","updateDataAccessors","preparedItems","filterByDate","hasAllDayAppointments","filteredItems","filterLoadedAppointments","filterOption","calculateAppointmentEndDate","cleanState","_updatedAppointment","_updatedAppointmentKeys","getIsVirtualScrolling","STORE_EVENTS","_initStoreChangeHandlers","pushItems","_hasResourceValue","_getDatesWithoutTime5","_getAppointmentTakesAllDay","_resolveOption","supportMultiDayAppointments","adapters","_createAllDayAppointmentFilter","_createCombinedFilter","checkIntersectViewport","useRecurrence","_appointment$visible","appointmentTakesAllDay","appointmentTakesSeveralDays","isLongAppointment","_filterAppointmentByResources","getRecurrenceException","_filterAppointmentByRRule","compareDateWithStartDayHour","compareDateWithEndDayHour","severalDays","_createAppointmentFilter","checkAppointmentResourceValues","resourceIndex","resourceGetter","appointmentResourceValues","resourceData","appointmentStartDate","appointmentEndDate","_appointmentPartInInterval","_getDatesWithoutTime4","hasRecurrence","filterPreparedItems","filterAllDayAppointments","_AppointmentFilterBas","hourMs","isCalculateStartAndEndDayHour","isAllDayWorkspace","showAllDayAppointments","getCompletedGroupsInfo","groupStartDate","groupEndDate","_getPrerenderFilterResources","hasAllDayPanel","hasGroupAllDayPanel","supportAllDayAppointment","combinedFilters","itemsToFilter","cellGroup","getCellsGroup","getResourcesDataByGroups","_isEndDateWrong","_convertRecurrenceException","hiddenInterval","apptDuration","apptStartHour","apptStartMinutes","apptIntersectViewport","apptStartDayHour","apptEndDayHour","exceptionString","getConvertedToTimeZone","convertedStartDate","convertedExceptionDate","correctRecurrenceExceptionByTimezone","calculatedEndDate","secondDate","renderAppointments","$dateTable","getAppointmentsContainer","renovation","_AppointmentPositioni","AdaptivePositioningStrategy","getDropDownAppointmentWidth","getDropDownButtonAdaptiveSize","getCollectorTopOffset","_renderingStrategy","allDaySupported","getCollectorLeftOffset","collectorWidth","getAppointmentDefaultOffset","getDynamicAppointmentCountPerCell","_calculateDynamicAppointmentCountPerCell","_getAppointmentMinCount","getDropDownAppointmentHeight","_getAppointmentDefaultWidth","_getAppointmentMaxWidth","AppointmentPositioningStrategy","_isCompactTheme","allDayCount","_getAppointmentDefaultOffset","_getAppointmentDefaultHeight","_appointmentsPositioning_strategy_base","_appointmentsPositioning_strategy_adaptive","_settingsGenerator","BaseRenderingStrategy","_initPositioningStrategy","_correctCollectorCoordinatesInAdaptive","_positioningStrategy","isAdaptive","getPositioningStrategy","getAppointmentMinSize","keepAppointmentSettings","getDeltaTime","getAppointmentGeometry","needCorrectAppointmentDates","createTaskPositionMap","_maxAppointmentCountPerCell","_correctRtlCoordinates","positionArray","_getSortedPositions","resultPositions","_getResultPositions","_getExtendedPositionMap","_getDeltaWidth","initialSize","intervalWidth","initialWidth","generateAppointmentSettings","calculateAppointmentHeight","calculateAppointmentWidth","multiWeekAppointmentParts","initialRowIndex","initialColumnIndex","_needVerifyItemSize","currentMaxAllowedPosition","isAppointmentGreaterThan","_reduceMultiWeekAppointment","_getAppointmentParts","sourceAppointmentWidth","reducedWidth","_getAppointmentPartsPosition","appointmentParts","getAppointmentSettingsGenerator","AppointmentSettingsGenerator","isAppointmentTakesAllDay","_getCompactAppointmentParts","appointmentWidth","bound","etalon","comparisonParameters","cropAppointmentWidth","positionList","_positionList$rowInde","_sortCondition","_getConditions","isSomeEdge","_isSomeEdge","columnCondition","_normalizeCondition","rowCondition","cellPositionCondition","_rowCondition","conditions","_columnCondition","_isItemsCross","secondItem","areItemsInTheSameTable","areItemsAllDay","_getOrientation","_checkItemsCrossing","firstItemSide_1","firstItemSide_2","secondItemSide_1","secondItemSide_2","sortedArray","maxIndexInStack","findFreeIndex","_skipSortedIndex","startNewStack","pushItemsInResult","_getMaxAppointmentCountPerCell","_findIndexByKey","iKey","jKey","iValue","jValue","positionCounter","mapLength","resultString","itemLength","_checkLongCompactAppointment","_splitLongCompactAppointment","_getMaxAppointmentCountPerCellByType","compactCount","compactPart","_getCompactLeftCoordinate","_adjustDurationByDaylightDiff","daylightDiff","getDaylightOffset","_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","trimmedStartDate","trimmedEndDate","quantityOfDays","dayVisibleHours","appointmentDayHours","startHours","apptStartDelta","endHours","_BaseRenderingStrateg","AgendaRenderingStrategy","groupAppointmentByResources","groupAppointmentsByResources","appointmentsByResources","calculateRows","groupedAppts","appts","recurrentIndexes","recurrenceBatch","getAppointmentsInstance","appointmentBatch","appt","_calculateGroupIndex","apptIndex","resultInd","countApptInGroup","replaceWrongAppointmentEndDate","needClearSettings","groupedAppointments","groupResult","appointmentIsRecurrence","_iterateRow","indexInRow","getDateByIndex","calculatedStartDate","wrappedOriginalStartDate","_getSkippedHoursInRange","_BaseAppointmentsStra","HorizontalRenderingStrategy","normalizedEndDate","durationInCells","_customizeAppointmentGeometry","auto","itemLeft","deltaWidth","positionShift","_strategy_horizontal_month_line","_HorizontalMonthLineR","HorizontalMonthRenderingStrategy","_getLeftPosition","fullWeekAppointmentWidth","_calculateMultiWeekAppointmentLeftOffset","_getChunkCount","fullChunksWidth","firstChunkWidth","weekWidth","rawFullChunksWidth","allChunksCount","viewRowIndex","_tryGetRowIndexInView","allowedChunksCount","getRowCountInGroup","positionStartDate","_this$options$dataRan","dayDurationMs","timeFromStart","_getChunkWidths","_getTailChunkSettings","withoutFirstChunkWidth","tailChunkWidth","rtlPosition","_this$_getChunkWidths2","hasTailChunk","_this$_getTailChunkSe2","tailChunkLeftPosition","topPosition","isTailChunk","_strategy_horizontal","_HorizontalAppointmen","HorizontalMonthLineRenderingStrategy","_getDurationInDays","getSkippedDaysCount","HOURS_IN_DAY","skipSorting","VerticalRenderingStrategy","deltaHeight","_getAllDayAppointmentGeometry","_getAdaptiveGeometry","_getVerticalAppointmentGeometry","isRecurring","appointmentBeginInCurrentView","isAppointmentTakesSeveralDays","isSameAppointmentDates","multiDaysAppointmentParts","_isMultiViewAppointment","_reduceMultiDayAppointment","sourceAppointmentHeight","reducedHeight","_currentSetting$info$","currentSettingStartDate","_getGroupHeight","_getGroupTopOffset","groupTop","getGroupTop","allDayPanelOffset","getOffsetByAllDayPanel","_getTailHeight","appointmentGeometry","currentPartTop","cellsDiff","hasTailPart","tailHeight","_getMinuteHeight","_calculateVerticalGeometryConfig","_customizeVerticalCoordinates","appointmentLeft","_getMaxWidth","durationInHours","skippedHours","allDayCondition","minAppointmentCountPerCell","_VerticalRenderingStr","WeekAppointmentRenderingStrategy","getAppointmentLeftCell","relativeAppointmentRect","cellRowIndex","cellColumnIndex","DOMMetaTable","_DOMMetaTable$positio","cellCountInRow","getAppointmentCellsInfo","extendedOptions","considerTime","appointmentLastCell","_appointmentSettings$2","appointmentLastCellIndex","appointmentFirstCellIndex","appointmentRowIndex","appointmentFirstCell","normalizeStartDate","normalizeEndDate","getDateRangeHorizontalRTL","appointmentCellsAmount","_appointmentSettings$","appointmentColumnIndex","getDateRangeHorizontal","isStartDate","sourceStartDate","sourceEndDate","DateGeneratorVirtualStrategy","DateGeneratorBaseStrategy","_cellPositionCalculator","_textUtils","itemGroupIndices","_getGroupIndices","appointmentList","_createAppointments","_getProcessedByAppointmentTimeZone","_canProcessNotNativeTimezoneDates","_getProcessedNotNativeTimezoneDates","_createGridAppointmentList","firstViewDates","_getAppointmentsFirstViewDate","_fillNormalizedStartDate","_cropAppointmentsByStartDayHour","_fillNormalizedEndDate","_needSeparateLongParts","_separateLongParts","appointmentOffsets","sourceOffsets_startDate","sourceOffsets_endDate","startDateOffsetDiff","endDateOffsetDiff","_createRecurrenceAppointments","_item$endDate","resultEndTime","isEqualLocalTimeZone","_getProcessedNotNativeDateIfCrossDST","newDateMinusOneHour","_getCommonOffset","diffStartDateOffset","diffEndDateOffset","testNewStartDate","testNewEndDate","normalizeEndDateByViewEnd","roundedEndViewDate","currentViewEndTime","gridAppointmentList","gridAppointment","endDateOfPart","startDatePart","offsetDifference","_createExtremeRecurrenceDates","endViewDateByEndDayHour","daylightOffset","getDaylightOffsetInMs","_createRecurrenceOptions","_this$_createExtremeR2","minRecurrenceDate","maxRecurrenceDate","getPostProcessedException","createUTCDateWithLocalOffset","createDateFromUTCWithLocalOffset","_getAppointmentFirstViewDate","_getAppointmentResultDate","isDateAppointment","findAllDayGroupCellStartDate","findGroupCellStartDate","tree","createResourcesTree","getResourceTreeLeaves","_DateGeneratorBaseStr","recurrentInfo","_updateGroupIndices","getGroupStartDate","appointmentCopy","_groupIndices","viewDataGroupIndices","getGroupIndices","_this$_generateDateSe","_generateDateSettings","cellPositions","_calculateCellPositions","_prepareAppointmentInfos","dateSettingsStrategy","infos","_getAppointmentDateText","createFormattedDateText","getFormatType","formatDates","isSameDate","_strategy_vertical","_strategy_week","_strategy_horizontal_month","_strategy_agenda","RENDERING_STRATEGIES","horizontalMonth","horizontalMonthLine","RenderingStrategy","makeRenovatedViewModels","regularViewModels","allDayViewModels","compactOptions","prepareViewModel","compactViewModel","compactViewModels","prepareCompactViewModels","getCompactViewModelFrame","_viewModel$index$item","resourceColor","WidgetObserver","VIRTUAL_CELL_CLASS","TIME_PANEL_CLASS","LAST_GROUP_CELL_CLASS","HEADER_CURRENT_TIME_CELL_CLASS","GROUP_HEADER_CONTENT_CLASS","FIXED_CONTAINER_CLASS","FIRST_GROUP_CELL_CLASS","DATE_TABLE_CLASS","AGENDA_LAST_IN_DATE_APPOINTMENT_CLASS","ITEM","CompactAppointmentsHelper","_dataStructures","APPOINTMENT_COLLECTOR_CLASS","COMPACT_APPOINTMENT_COLLECTOR_CLASS","APPOINTMENT_COLLECTOR_CONTENT_CLASS","_createCompactButton","_makeBackgroundColor","_makeBackgroundDarker","_createTooltipInfos","_items$settings","targetedAdapter","AppointmentTooltipInfo","_onButtonClick","showAppointmentTooltipCore","_getExtraOptionsForTooltip","$appointmentCollector","_clickEvent","dragBehavior","_createTooltipDragBehavior","dropDownAppointmentTemplate","isButtonClick","targetedAppointment","createClickEvent","$schedulerElement","workSpace","isSetCursorOffset","_$$data","_createDragBehaviorBase","_getCollectorOffset","_getCollectorRightOffset","_makeBackgroundColorCore","itemColors","_setPosition","_createCompactButtonElement","_renderTemplate","_initButtonTemplate","_getAppointmentTemplate","appointmentCollector","_createButtonTemplate","DateAdapterCore","addTime","addMinutes","subtractMinutes","SchedulerCalendar","_isMobileLayout","_this$_calendar","isMobileLayout","overlayType","_createOverlayContent","_getCalendarOptions","_createScrollable","_this$_calendar2","getDateNavigator","getPreviousButtonOptions","getCalendarButtonOptions","getNextButtonOptions","_updateDateByDirection","previousButton","isPreviousButtonDisabled","_addEvent","_showCalendar","calendarButton","isNextButtonDisabled","_getCaption","_getNextDate","SchedulerHeader","_viewSwitcher","_dateNavigator","DEFAULT_ELEMENT","_useShortDateFormat","_createEventMap","getViewName","validateViews","_getCalendarOptionUpdater","_createToolbarConfig","toolbarElement","_parseItem","defaultElementType","getDropDownViewSwitcher","getViewSwitcher","_renderCalendar","_callEvent","_updateCurrentView","onCurrentViewChange","_updateCalendarValueAndCurrentDate","onCurrentDateChange","intervalOptions","getNextIntervalDate","_isMonth","_getDisplayedDate","nextWeek","customizationFunction","useShortDateFormat","getCaption","_hideCalendar","getStep","isOneView","getViewText","formatViews","getPeriodStart","getWeekStart","MS_DURATION","DAY_DURATION","WEEK_DURATION","nextDay","isWeekend","getIntervalEndDate","periodEndDate","nextPeriodStartDate","getPeriodEndDate","getNextPeriodStartDate","currentPeriodStartDate","nextMonth","workWeekStart","workDaysCount","getDateAfterWorkWeek","nextAgendaStart","subMS","currentPeriodEndDate","addMS","dayDuration","getNextMonthDate","currentMonthFirstDate","thatMonthFirstDate","thatMonthDuration","currentMonthMinDate","getDateMonthFormatter","isShort","monthType","formatMonthYear","getDateMonthYearFormatter","dateMonth","dateMonthFormat","getCaptionText","getSameDateCaption","firstDateText","lastDateText","formatMonthViewCaption","lastDateDateText","getDifferentYearCaption","isDifferentMonthDates","useShortFormat","firstDateFormat","getSameYearCaption","formatCaptionByMonths","_getInterval","getWorkWeekStart","getIntervalStartDate","STEP_MAP","isValidView","selectedView","VIEW_SWITCHER_CLASS","getViewsAndSelectedView","isSelectedViewInViews","_getViewsAndSelectedV","viewSwitcher","_getViewsAndSelectedV2","oneView","loading","removeLoadPanel","createLoadPanel","_rrule","ruleNames","freqNames","TU","WE","loggedWarnings","RecurrenceProcessor","rRule","rRuleSet","RecurrenceValidator","evalRecurrenceRule","freq","rruleIntervalParams","_createRruleIntervalParams","_initializeRRule","startIntervalDate","until","minViewDate","maxViewDate","minViewTime","_convertRruleResult","clientOffsets_startDate","clientOffsets_minViewDate","clientOffsets_maxViewDate","setOffsetsToDate","startDateDSTDifferenceMs","getDiffBetweenClientTimezoneOffsets","startIntervalDateDSTShift","rruleDate","localTimezoneOffset","additionalWorkaroundOffsetForRrule","convertedBackDate","convertedDateDSTShift","switchToSummerTime","resultDateDSTShift","_parseRecurrenceRule","validateRRule","daysFromByDayRule","byday","getAsciiStringByDate","offsetDate","getRecurrenceString","_parseExceptionToRawArray","getDateByAsciiString","exceptionText","_this$_createDateTupl2","_createDateTuple","_getTimeZoneOffset","startDateUtc","RRule","parseString","dtstart","wkst","_createRRule","exdate","RRuleSet","rrule","ruleObject","ruleParts","ruleName","ruleValue","isUtc","_brokenRuleNameExists","_wrongCountRule","_wrongIntervalRule","_wrongDayOfWeek","_wrongByMonthDayRule","_wrongByMonth","_wrongUntilRule","_logBrokenRule","wrongUntil","wrongCount","wrongByMonthDay","byMonthDay","bymonthday","wrongByMonth","byMonth","bymonth","wrongInterval","byDay","daysByRule","brokenDaysExist","brokenRuleExists","_date_box","LABEL_POSTFIX","WRAPPER_POSTFIX","REPEAT_END_EDITOR","FREQUENCY_EDITOR","INTERVAL_EDITOR","REPEAT_ON_EDITOR","frequenciesMessages","frequencies","repeatEndTypes","RecurrenceRule","_recurrenceProcessor","_recurrenceRule","makeRules","makeRule","getRepeatEndRule","getDaysFromByDayRule","RecurrenceEditor","_prepareEditors","_renderEditors","getEditorByField","getRecurrenceForm","_weekEditor","_repeatCountEditor","_repeatUntilDate","_editors","_createFreqEditor","_createIntervalEditor","_createRepeatOnLabel","_createRepeatOnEditor","_createRepeatEndEditor","_createByDayEditor","_createByMonthEditor","_createByMonthDayEditor","_daysOfWeekByRules","localDaysNames","itemsButtonGroup","_$repeatOnWeek","_getDefaultByDayValue","_changeEditorValue","monthsName","_monthOfYearByRules","_dayOfMonthByRules","repeatType","_renderRepeatCountEditor","_renderRepeatUntilEditor","_renderDefaultRepeatEnd","_repeatEndValueChangedHandler","_recurrenceForm","_disableRepeatEndParts","_setAriaDescribedBy","_handleDefaults","startDay","dayByRule","monthByRule","$editorTemplate","_getUntilValue","$editorWrapper","_$repeatCountEditor","_repeatCountValueChangeHandler","_formatUntilDate","repeatUntil","_$repeatDateEditor","_repeatUntilValueChangeHandler","dateInTimeZone","dateInLocaleTimeZone","_makeRepeatOnRule","_changeRepeatOnVisibility","_this$_recurrenceForm","_this$_repeatCountEdi","_this$_weekEditor","_this$_repeatUntilDat","_changeRepeatIntervalLabel","_changeEditorsValue","previousFreq","_changeDayOfWeekValue","_changeDayOfMonthValue","_changeMonthOfYearValue","_changeIntervalValue","_changeRepeatCountValue","_changeRepeatEndValue","_changeRepeatUntilValue","_days","untilDate","_freqEditor","_switchEditor","AgendaResourceProcessor","PromiseItem","resourceDeclarations","_resourceDeclarations","resourceMap","appointmentPromiseQueue","_pushAllResources","_onPullResource","_hasResourceDeclarations","_tryPullResources","resultAsync","getFieldExpr","getValueExpr","getDisplayExpr","getWrappedDataSource","initializeState","setResourceToAppointment","reduceResourcesTree","loadResources","isResourceMultiple","groupAppointmentsByResourcesCore","getResourceColor","getResourceByField","getPathToLeaf","getPaintedResources","getOrLoadResourceItem","getGroupsObjectFromGroupsArray","getCellGroups","getAllGroups","filterResources","createReducedResourcesTree","createExpressions","fieldExpr","leafIndex","make","_group$data","currentGroupItem","nextGroupIndex","makeBranch","findLeafByIndex","_leaf","groupsArray","currentGroups","allowMultiple","resourceField","newGroups","useColorAsDefault","newResources","wrappedDataSource","filteredData","totalResourceCount","treeLeaves","hasGroupItem","resourceValue","existingAppointments","_result","resourceTitle","resourceFromAppointment","fieldNames","currentResourcesData","currentResource","currentData","resourcesSetter","colorGetter","paintedResources","groupId","dataSourcePromise","displayGetter","getTransformedResourceData","hasEmpty","_CurrentTimeShader","HorizontalCurrentTimeShader","renderShader","_isHorizontalGroupedWorkSpace","_getGroupCount","isFirstShader","$shader","createShader","_customizeGroupedByDateShader","_customizeShader","_shader","shaderWidth","getIndicationWidth","_applyShaderWidth","indicationWidth","_getCellCount","shaderLeft","getIndicationCellCount","fractionPart","isFirstShaderPart","DATE_TIME_SHADER_CLASS","CurrentTimeShader","_dateTableScrollable","initShaderElements","shader","_uiScheduler","DATE_TIME_SHADER_ALL_DAY_CLASS","VerticalCurrentTimeShader","shaderHeight","_getShaderHeight","_getShaderMaxHeight","isSolidShader","_renderGroupedByDateShaderParts","_renderShaderParts","_getShaderWidth","_renderTopShader","_renderBottomShader","_renderAllDayShader","bottomShaderWidth","_$topShader","_getShaderTopOffset","_getShaderOffset","_$bottomShader","_$allDayIndicator","_$allDayPanel","getGroupedStrategy","getShaderOffset","getShaderTopOffset","getShaderHeight","getShaderMaxHeight","getShaderWidth","isCurrentViewAgenda","currentViewUpdated","currentDateUpdated","getWorkspaceOption","setCellDataCacheAlias","showAppointmentTooltip","getTargetedAppointment","hideAppointmentTooltip","showEditAppointmentPopup","targetedData","showAppointmentPopup","updateAppointmentAfterResize","getAppointmentInfo","_checkRecurringAppointment","_updateAppointment","_getUpdatedData","updateAppointmentAfterDrag","targetedRawAppointment","becomeAllDay","wasAllDay","movedBetweenAllDayAndSimple","isDragAndDropBetweenComponents","onDeleteButtonPress","checkAndDeleteAppointment","getTextAndFormatDate","appointmentRaw","targetedAppointmentRaw","_createAppointmentTitle","getResizableAppointmentArea","getLayoutManager","horizontalGroupBounds","getGroupBounds","verticalGroupBounds","needRecalculateResizableArea","_getViewCountConfig","getMaxAppointmentCountPerCellByType","getRenderingStrategyDirection","updateAppointmentEndDate","updatedEndDate","renderCompactAppointments","_compactAppointmentsHelper","clearCompactAppointments","mapAppointmentFields","dayHasAppointment","getAgendaVerticalStepHeight","getAgendaDuration","forceMaxAppointmentPerCell","onAgendaReady","$appts","applyClass","getTimezone","_getTimezoneOffsetByOption","getTargetedAppointmentData","getEndDayHour","ROW_SELECTOR","tableCreator","SchedulerTableCreator","VERTICAL","HORIZONTAL","insertAllDayRow","allDayElements","tableBody","makeTable","templateCallbacks","rowCountInGroup","allDayElementIndex","isLastRowInGroup","rowClass","_options$setAdditiona","cellClass","cellDataObject","setAdditionalClasses","additionalTemplateData","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","zones","untils","offsetIndices","_timezones_data","parseTimezone","timeZoneConfig","offsetList","offsetIndexList","dateList","tzCache","TimeZoneCache","timeZoneDataUtils","getTimezoneById","timeZoneInfo","_tzCache","_timeZones","timeZones","getUtcOffset","formatOffset","formatId","minutesInDecimal","tzList","getTimeZoneOffsetById","getTimeZoneDeclarationTuple","getTimeZoneDeclarationTupleCore","tupleResult","dateTimeStamp","DesktopTooltipStrategy","_tooltipStrategyBase","APPOINTMENT_TOOLTIP_WRAPPER_CLASS","_TooltipStrategyBase","_prepareBeforeVisibleChanged","dataList","_getBoundary","_extraOptions","isAppointmentInAllDayPanel","getScrollableContainer","_onShown","_createListOption","_createTooltip","_createTooltipElement","_getContentTemplate","_onListRender","TooltipStrategyBase","MobileTooltipStrategy","SLIDE_PANEL_CLASS_NAME","MAX_HEIGHT","_shouldUseTarget","isTabletWidth","createTabletDeviceConfig","createPhoneDeviceConfig","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","_canShowTooltip","_showCore","listElement","_createList","isAlreadyShown","_onListItemClick","itemListContent","_createItemListContent","_getItemListTemplateName","getAppointmentTemplate","_createFunctionTemplate","isButtonClicked","isEmptyDropDownAppointmentTemplate","_isEmptyDropDownAppointmentTemplate","_createItemListMarker","_createItemListInfo","getAppointmentDisabled","_createDeleteButton","$markerBody","$date","_desktopTooltipStrategy","_mobileTooltipStrategy","_appointmentCollection","_header","_subscribes","_uiScheduler2","_uiScheduler3","_uiScheduler4","_uiScheduler5","_uiScheduler6","_uiScheduler7","_uiScheduler8","_uiScheduler9","_render2","_agendaResourceProcessor","_appointmentDataProvider","_createTimeZoneCalculator","_excludeFromRecurrence","WIDGET_SMALL_CLASS","WIDGET_ADAPTIVE_CLASS","WIDGET_READONLY_CLASS","DEFAULT_APPOINTMENT_TEMPLATE_NAME","VIEWS_CONFIG","StoreEventNames","RECURRENCE_EDITING_MODE","Scheduler","customizeDateNavigatorText","showCurrentTimeIndicator","shadeUntilCurrentTime","indicatorUpdateInterval","recurrenceEditMode","selectedCellData","onAppointmentRendered","onAppointmentContextMenu","onCellContextMenu","onAppointmentAdding","onAppointmentAdded","onAppointmentUpdating","onAppointmentUpdated","onAppointmentDeleting","onAppointmentDeleted","onAppointmentFormOpening","onAppointmentTooltipShowing","appointmentPopupTemplate","useDropDownViewSwitcher","recurrenceExceptionExpr","renovateRender","_draggingMode","_appointmentTooltipOffset","_appointmentTooltipButtonsPosition","_appointmentTooltipOpenButtonText","_appointmentCountPerCell","_appointmentOffset","defaultElement","_postponeDataSourceLoading","_postponeResourceLoading","whenLoaded","resolveCallbacks","_this$_header","_this$_header2","_this$_header4","_updateOption","_filterAppointmentsByDate","_this$_header3","_getCurrentViewOptions","_validateDayHours","_validateCellDuration","_this2$_header","_refreshWorkSpace","_headerConfig","updateInstances","_createAppointmentPopupForm","_getAppointmentRenderedAction","_readyToRenderAppointments","_getAppointmentsToRepaint","_initEditing","_bringEditingModeToAppointments","_cleanPopup","_updateExpression","_initAppointmentTemplate","_toggleAdaptiveClass","_isHorizontalVirtualScrolling","editingConfig","allowDelete","_isAgenda","_supportAllDayResizing","_isAllDayExpanded","_this$_workSpaceRecal","contentReadyBase","fireContentReady","_workSpaceRecalculation","isForce","isFixedHeight","isFixedWidth","_toggleSmallClass","_appointmentPopup","_initAllDayPanel","_initExpressions","_customizeDataSourceLoadOptions","_asyncTemplatesTimers","_dataSourceLoadedCallback","createAppointmentDataProvider","_this$appointmentData","_timeZoneCalculator","appointmentTooltip","dropDownAppointment","createGetter","_updatePreparedItems","_renderAppointments","onDataSourceChanged","_currentViewOptions$s","currentViewOptions","_filterAppointments","_getDateTable","appointmentsMap","exprObj","_this$_recurrenceDial","_appointmentTooltip","_recurrenceDialog","hideAppointmentPopup","_renderMainContainer","_appointmentsConfig","_getAppointmentTooltipOptions","_isDataSourceLoaded","_initMarkupCore","_this$_appointmentPop","_this$_appointmentFor","_appointmentForm","createAppointmentForm","createAppointmentPopup","_mainContainer","_processActionResult","resourceItem","getWorkSpaceScrollableContainer","deletingOptions","fireOnAppointmentDeleting","processDeleteAppointment","_getExtraAppointmentTooltipOptions","_cleanWorkspace","_renderWorkSpace","getFixedContainer","getAllDayContainer","_waitAsyncTemplate","_this11$_workSpaceRec","_validateKeyFieldIfAgendaExist","_this$getWorkSpace","updateHeaderEmptyCellWidth","countConfig","getAgendaResourceProcessor","getAppointmentDataProvider","_this13$_workSpace","_this13$_workSpace2","_this13$_workSpace3","getCollectorOffset","needApplyCollectorOffset","getAppointmentDurationInMinutes","_getCurrentViewType","_this$_header5","$workSpace","workSpaceComponent","_workSpaceConfig","initDragBehavior","_all","_attachTablesEvents","getWorkArea","_recalculateWorkspace","_getHeaderDate","_getViewByName","_refreshDateTimeIndication","_currentViewOptions$s2","horizontalVirtualScrollingAllowed","_currentViewOptions$s3","getFilteredItems","allDayExpanded","draggingMode","onSelectedCellsClick","showAddAppointmentPopup","onRenderAppointments","onShowAllDayPanel","DOM","onScrollEnd","_isRenovatedRender","getWorkSpaceScrollable","getHeader","_this$_appointmentPop2","singleAppointment","isDeleted","_excludeAppointmentFromSeries","_showRecurrenceChangeConfirm","newRawAppointment","singleRawAppointment","_editAppointmentData","_createRecurrenceException","_getSerializedDate","FULL_DATE_FORMAT","seriesText","occurrenceText","getConvertedFromGrid","isValidDate","getTargetCellData","cellStartDate","cellEndDate","resultedStartDate","keepOriginalHours","timeInMs","resultedEndDate","dateCopy","timeZoneOffset","rawResult","getAppointmentSettings","appointmentIndex","rawTargetedAppointment","setTargetedAppointmentResources","displayStartDate","displayEndDate","getDataByDroppableCell","onUpdatePrevented","updatingOptions","performFailAction","_expandAllDayPanel","storeAppointment","_onDataPromiseCompleted","actionOptions","resolveCallback","handlerName","getActions","dayTimeStamp","startDateTimeStamp","endDateTimeStamp","setResourceCallback","apptSettings","getCellDataByCoordinates","_this$_workSpace","resultAppointment","createNewAppointment","newRawTargetedAppointment","newTargetedAppointment","isCreateAppointment","createPopupAppointment","saveChanges","_this$_appointmentPop3","_getAppointmentColor","currentAppointmentData","_item$settings$info$a","scrollToTime","serializedAppointment","addingOptions","deleteAppointment","deleteRecurrence","isDataSourceInit","hasAgendaView","isKeyExist","_filteredItems","_preparedItems","currentDataAccessors","dateGetter","dateSetter","_dateAdapter","createUTCDate","getTimezoneOffsetChangeInMinutes","updatedStartDate","dateUtc","_getDaylightOffsetByTimezone","startDayDate","endDayDate","hasDSTInLocalTimeZone","_getExtremeDates2","getExtremeDates","isEqualLocalTimeZoneByDeclaration","getDateAndMoveHourBack","dateStamp","configTuple","_configTuple","summerTime","winterTime","localSummerOffset","localWinterOffset","nowDate","getCorrectedDateByDaylightOffsets","convertedOriginalStartDate","convertedDate","startDateTimezone","exceptionByStartDate","isBackConversion","timezoneOffsetBeforeInMin","dateInUTC","targetDate","offsetsArray","newDateMs","schedulerComponentName","Cache","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","CellsSelectionState","_viewDataProvider","_focusedCell","_selectedCells","_firstSelectedCell","_prevFocusedCell","_prevSelectedCells","setFocusedCell","setSelectedCells","lastCellCoordinates","firstCellCoordinates","isLastCellAllDay","setSelectedCellsByData","selectedCellsData","releaseSelectedAndFocusedCells","releaseSelectedCells","releaseFocusedCell","_prevFirstSelectedCell","restoreSelectedAndFocusedCells","clearSelectedAndFocusedCells","focusedCell","getMaxAllowedPosition","getCellSize","firstRow","getLastGroupCellPosition","getMaxAllowedHorizontalPosition","groupedDataMap","dateTableGroupedMap","groupStrategy","GroupStrategyBase","GroupStrategyHorizontal","getMaxPosition","viewPortGroupCount","getViewPortGroupCount","_getMaxAllowedVerticalPosition","_getAllDayHeight","lastGroupRow","_GroupStrategyBase","correctedGroupIndex","_table_creator","_agenda","GROUP_TABLE_CLASS","SchedulerAgenda","_WorkSpace","_startViewDate","_recalculateAgenda","_$groupTable","_initGroupTable","_detachGroupCountClass","_getElementClass","_calculateStartViewDate","_getTimePanelRowCount","_renderAllDayPanel","_toggleAllDayVisibility","_initWorkSpaceUnits","_$timePanel","_$dateTable","_$dateTableScrollableContent","_$dateTableContainer","_renderView","_initPositionHelper","_cleanView","_rowsIsEmpty","_renderNoData","_renderGroupHeader","_setGroupHeaderCellsHeight","_renderTimePanel","_renderDateTable","_applyCellTemplates","_$noDataContainer","_setTableSizes","_toggleHorizontalScrollClass","_createCrossScrollingConfig","_getGroupHeaderCells","_removeEmptyRows","_getGroupRowHeight","groupRow","_attachGroupCountClass","_getGroupHeaderContainer","_makeGroupRows","getGroupHeaderContentClass","_getGroupHeaderClass","contentWrapper","_createWorkSpaceElements","_createWorkSpaceStaticElements","_renderTableBody","_getDateTableCellClass","_cleanCellDataCache","isIndicationAvailable","_prepareCellTemplateOptions","groupsOpt","isGroupedView","_getGroupIndexByResourceId","cellTemplateOpt","_$rows","fillTableBody","rowSize","cellDateNumber","cellDayName","$td","getStartDate","_setLastRowClass","_getTimePanelStartDate","baseHeight","groupRows","_calculateRows","getEndViewDateByEndDayHour","getVisibleBounds","startDateHour","startDateMinutes","needUpdateScrollPosition","isUpdateNeeded","renovatedRenderSupported","_setSelectedCellsByCellData","_getIntervalDuration","_uiSchedulerWork_space","_uiSchedulerCurrent_time_shader","_timeline_week","HEADER_PANEL_CELL_CLASS","HEADER_PANEL_WEEK_CELL_CLASS","SchedulerTimeline","_SchedulerWorkSpace","getGroupTableWidth","_$sidebarTable","_getTotalRowCount","_getFormat","_getWorkSpaceHeight","_dateTableScrollableConfig","_needCreateCrossScrolling","_headerScrollableConfig","_$thead","_insertAllDayRowsIntoDateTable","_needRenderWeekHeader","_incrementDate","timeDiff","_getTimeDiff","_calculateDurationInCells","_getToday","_getIndicationFirstViewDate","dayLightOffset","_getCellCountInDay","_isVerticalShader","_isCurrentTimeHeaderCell","_getWorkSpaceMinHeight","workspaceContainerHeight","getHeaderPanelHeight","_getCellCoordinatesByIndex","_getCellByCoordinates","_groupedStrategy","prepareCellIndexes","_getWorkSpaceWidth","_getIntervalBetween","firstViewDateTime","apptStart","fullInterval","fullDays","tailDuration","tailDelta","_getWeekendsCount","gapBeforeAppt","getTimePanelWidth","getWorkSpaceLeftOffset","_getScrollCoordinates","renderRAllDayPanel","renderRTimeTable","_renderGroupAllDayPanel","generateRenderOptions","isGenerateWeekDaysHeaderData","_getDefaultGroupStrategy","_toggleGroupingDirectionClass","_createWorkSpaceScrollableElements","_changeAllDayVisibility","_getDateHeaderTemplate","groupCellTemplates","isRenovatedRender","renderWorkSpace","_sidebarScrollable","renderRGroupPanel","_setHorizontalGroupHeaderCellsHeight","_setCurrentTimeCells","timePanelCells","_getTimePanelCells","_getCurrentTimePanelCellIndices","timePanelCellIndex","_cleanCurrentTimeCells","getCellIndexByDate","currentTimeColumnIndex","horizontalGroupCount","_createAllDayPanelElements","_renderDateHeader","cellsInGroup","viewDataGenerator","daysInInterval","templateIndex","$th","_getGroupsForDateHeaderTemplate","_createIndicator","tableCreatorStrategy","SchedulerTimelineDay","_SchedulerTimeline","_isWorkSpaceWithCount","SchedulerTimelineMonth","isIndicatorVisible","_getViewStartByOptions","SchedulerTimelineWeek","_getHeaderPanelCellWidth","_work_week","SchedulerTimelineWorkWeek","_SchedulerTimelineWee","VirtualScrollingRenderer","VirtualScrollingDispatcher","DOCUMENT_SCROLL_EVENT_NAMESPACE","scrollingOrientations","DefaultScrollingOrientation","_createVirtualScrollingBase","setViewOptions","verticalVirtualScrolling","horizontalVirtualScrolling","getRenderState","_this$verticalVirtual","_this$horizontalVirtu","calculateCoordinatesByDataAndPosition","isCalculateTime","isVerticalDirectionView","timeToScroll","cellStartTime","cellEndTime","scrollInCell","createVirtualScrolling","isVerticalVirtualScrollingCreated","isHorizontalVirtualScrollingCreated","verticalScrollingAllowed","horizontalScrollingAllowed","VerticalVirtualScrolling","outlineCount","HorizontalVirtualScrolling","isAttachWindowScrollEvent","attachScrollableEvents","_attachWindowScroll","handleOnScrollEvent","_this$verticalVirtual2","_this$horizontalVirtu2","_this$options$updateR","_this$options","verticalStateChanged","horizontalStateChanged","updateRender","needUpdateVertical","reinitState","_this$options$updateG","_this$options2","needUpdateHorizontal","updateGrid","_verticalVirtualScrolling","_horizontalVirtualScrolling","_this$verticalScrolli","verticalScrollingState","virtualItemCountBefore","_this$horizontalScrol","horizontalScrollingState","_this$horizontalScrol2","virtualItemCountAfter","cellCountInsideRightVirtualCell","_this$verticalScrolli2","virtualItemSizeBefore","_this$horizontalScrol3","_this$verticalVirtual3","_this$horizontalVirtu3","scrollingState","scrollingOrientation","VirtualScrollingBase","_itemSize","_itemSizeChanged","needUpdateState","_this$state","isStartIndexChanged","_validateAndSavePosition","maxScrollPosition","currentItemsCount","_correctPosition","itemsInfoBefore","_calcItemInfoBefore","itemsDeltaBefore","_calcItemDeltaBefore","_this$_calcItemInfoAf","_calcItemInfoAfter","outlineCountAfter","itemCountWithAfter","outlineCountBefore","itemCountBefore","_updateStateCore","isForceUpdate","itemInfoBefore","getTotalItemCount","prevVirtualItemSizeBefore","prevVirtualItemSizeAfter","virtualItemSizeAfter","prevOutlineSizeBefore","outlineSizeBefore","prevOutlineSizeAfter","outlineSizeAfter","_updateStateVirtualItems","_VirtualScrollingBase","_VirtualScrollingBase2","_workspace","_renderAppointmentTimeoutID","getRenderTimeout","_renderGrid","renderTimeout","updateAppointments","HorizontalGroupedStrategy","inAllDay","getGroupIndex","groupByDay","calculateHeaderCellRepeatCount","insertAllDayRowsIntoDateTable","calculateTimeCellRepeatCount","getWorkSpaceMinWidth","getAllDayOffset","getGroupCountClass","getLeftOffset","_createGroupBoundOffset","startCell","endCell","extraOffset","_getGroupedByDateBoundOffset","getGroupBoundsOffset","currentCellGroup","groupRowLength","groupStartPosition","groupEndPosition","shiftIndicator","_getIndicatorOffset","horizontalOffset","_calculateGroupByDateOffset","getRoundedCellWidth","getIndicatorOffset","getIndicationHeight","getScrollableScrollTop","addAdditionalGroupCellClasses","applyUnconditionally","_addLastGroupCellClass","_addFirstGroupCellClass","VerticalGroupedStrategy","workspaceContainerWidth","$lastCell","dayHeight","bottomOffset","_groupBoundsOffset","tableOffset","verticalOffset","SCHEDULER_DATE_TIME_INDICATOR_CLASS","TIME_PANEL_CURRENT_TIME_CELL_CLASS","SchedulerWorkSpaceIndicator","isIndicationOnView","_renderDateTimeIndication","_getRtlOffset","_setIndicationUpdateInterval","_clearIndicatorUpdateInterval","_indicatorInterval","_getIndicatorDuration","_this$_shader","_cleanDateTimeIndicator","completeDateHeaderMap","_getHeaderPanelCellClass","_cleanWorkSpace","cellIndices","rowCountPerGroup","currentTimeRowIndex","verticalGroupCount","currentIndices","_uiSchedulerWork_spaceGroupedStrategy","_uiSchedulerWork_spaceGroupedStrategy2","_appointmentDragBehavior","_widgetObserver","_view_data_provider","_layout3","_cells_selection_state","_cells_selection_controller","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","SchedulerWorkSpace","_WidgetObserver","cellsSelectionState","selectedCellsElement","_getCellByData","onArrowPressed","_this2$cellsSelection","_isRTL","getGroupEdgeIndices","getViewEdgeIndices","nextCellData","cellsSelectionController","_processNextSelectedCell","_moveToCell","_getFullCellData","nextCellPosition","isSameCell","_dom_getAllDayPanelCell","_dom_getDateCell","isNextCellAllDay","_setSelectedCellsStateAndUpdateSelection","$nextFocusedCell","nextCellCoordinates","updateCellsSelection","_updateSelectedCellDataOption","_hasAllDayClass","_isCellClick","_contextMenuHandled","updateViewData","_isWorkspaceWithOddCells","createRAllDayPanelElements","_$allDayTitle","_$headerPanelEmptyCell","_this3$_groupedStrate","currentOnScroll","_scrollSync","sidebar","_updateGroupTableHeight","_attachTableClasses","_getTotalCellCount","_$headerPanel","_$allDayTable","_attachHeaderTableClasses","_isVirtualModeOn","_initVirtualScrolling","_getVirtualScrollingDispatcherOptions","isProvideVirtualCellsWidth","_this$_getToday","_isRenderHeaderPanelEmptyCell","timePanelWidth","groupPanelWidth","_isGroupsSpecified","resourceTree","_getGroupIndexRecursively","_calculateViewStartDate","_firstDayOfWeek","cellSelector","_handleSelectedCellsClick","_getCoordinatesByCell","isAllDayCell","firstCellData","lastCellData","_createContextMenuAction","_contextMenuAction","_getDateHeaderContainer","_getCalculateHeaderCellRepeatCount","_this$_headerScrollab","_this$_sidebarScrolla","_headerScrollable","getCellCountInDay","includeAllDayPanelRows","_getGroupIndex","_attachDragEvents","_attachPointerEvents","_detachDragEvents","_isOutsideScrollable","preventDefaultDragging","_this8$dragBehavior","_this8$dragBehavior$d","isPointerDown","getGroupedScrollableScrollTop","getScrollableScrollLeft","_getDateGenerationOptions","_this$viewDataProvide","isWorkView","startDayTime","_getDaysOfInterval","weekendsCount","_updateIndex","_getDroppableCell","_getDateTables","_getCells","_getFirstAndLastDataTableCell","_getAllCells","findGlobalCellPosition","$dateTableScrollableElement","isTargetInAllDayPanel","isOutsideHorizontalScrollable","isOutsideVerticalScrollable","setCellDataCache","aliasKey","_filterCellDataFields","_getDataByCell","_getVirtualRowOffset","virtualRowOffset","_getVirtualCellOffset","virtualCellOffset","topVirtualRowsCount","leftVirtualCellsCount","timeInterval","$droppableCell","totalCellCount","groupBounds","getGroupBoundsVertical","getGroupBoundsHorizontal","getGroupBoundsRtlCorrection","$firstAndLastCells","scrolledCellCount","_getCellsInViewport","trimmedTime","currentResult","_this12$getCellData","scrollableScrollTop","scrollableScrollLeft","fullScrolledRowCount","scrolledRowCount","fullScrolledColumnCount","scrolledColumnCount","_isValidScrollDate","throwWarning","isScrollToAllDay","xShift","yShift","_isShowAllDayPanel","_getRDateTableProps","correctedSelectedCellData","_getDateTableDOMElementsInfo","_getAllDayPanelDOMElementsInfo","dateTableCells","dateTableRect","_addCellMetaData","allDayCells","allDayAppointmentContainer","allDayPanelRect","cellMetaDataArray","parentRect","_oldRender_getAllDayCellData","getDateByCellIndices","renderRWorkSpace","componentsToRender","timePanel","renderRHeaderPanel","renderRDateTable","verticalGroupTableClass","_this$virtualScrollin","renovatedHeaderPanelComponent","_createDragBehavior","createDragBehaviorConfig","isDefaultDraggingMode","_removeAllDayElements","_initGrouping","_initGroupedStrategy","_toggleGroupByDateClass","_toggleWorkSpaceCountClass","updateShowAllDayPanel","isHiddenAllDayPanel","_toggleGroupedClass","_toggleWorkSpaceWithOddCells","_cellsSelectionState","groupedStrategy","_$headerPanelContainer","_$headerTablesContainer","_$fixedContainer","_$allDayContainer","_$sidebarScrollableContent","_initAllDayPanelElements","_allDayTitles","_allDayTables","_allDayPanels","_initDateTableScrollable","$dateTableScrollable","_this$_$allDayPanel","_appendHeaderPanelEmptyCellIfNecessary","_this$_$allDayPanel2","_$flexContainer","_createHeaderScrollable","_createSidebarScrollable","$headerScrollable","$timePanelScrollable","_addTableClass","isUpdateScrollable","_this$_$allDayTable","_this$_$sidebarTable","_cleanTableWidths","_disposeRenovatedComponents","_this$renovatedAllDay","_this$renovatedDateTa","_this$renovatedTimePa","_this$renovatedGroupP","_this$renovatedHeader","renovatedAllDayPanel","renovatedDateTable","renovatedTimePanel","renovatedGroupPanel","renovatedHeaderPanel","_this$dragBehavior","$allDayTitle","isGenerateNewViewData","_columnIndex","_templateIndex","_renderDateHeaderTemplate","panelCellIndex","validTemplateIndex","_completeDateHeaderMa","indexMultiplier","_getAllDayPanelCellClass","allDayPanelsCount","completeTimePanelMap","_getTimeCellClass","viewDataMap","dateTableMap","fullValue","delayCellTemplateRendering","selectedCellsOption","validSelectedCells","selectedCell","_cellsSelectionController","enableDefaultDragging","disableDefaultDragging","getDroppableCell","getDateTables","isItemDisabled","isWideAppointment","isNarrowAppointment","dragElementContainer","newX","newY","isMoveUnderControl","dateTables","droppableCell","_state$dragElement","SchedulerWorkSpaceDay","_SchedulerWorkSpaceVe","SchedulerWorkSpaceMonth","averageWidth","_setMonthClassesToCell","isCurrentDate","completeViewDataMap","_SchedulerWorkSpaceIn","SchedulerWorkspaceVertical","isGenerateTimePanelData","SchedulerWorkSpaceWeek","SchedulerWorkSpaceWorkWeek","_SchedulerWorkSpaceWe","DateHeaderDataGenerator","_viewDataGenerator","getCompleteDateHeaderMap","weekDaysRow","_generateWeekDaysHeaderRowMap","dateRow","_generateHeaderDateRow","datesRepeatCount","daysInView","cellCountInGroupRow","generateDateHeaderData","weekDayRowConfig","validCellWidth","_generateDateHeaderDataRow","datesRowConfig","actualCellCount","finalLeftVirtualCellCount","finalRightVirtualCellCount","GroupedDataMapProvider","viewOptions","generateGroupedDataMap","_viewOptions","getFirstGroupRow","getGroupEndDate","lastRow","getLastGroupRow","isFindByDate","getGroupFromDateTableGroupMap","checkCellStartDate","startDateVerticalSearch","startDateHorizontalSearch","isStartDateInCell","_this$groupedDataMap","allDayPanelGroupedMap","_isSameGroupIndexAndIndex","_firstCell$cellData","TimePanelDataGenerator","getCompleteTimePanelMap","allDayRowsCount","_row$","restCellProps","timeIndex","generateTimePanelData","correctedStartRowIndex","timePanelMap","_generateTimePanelDataFromMap","previousGroupedData","previousGroupIndex","alignToFirstDayOfWeek","alignToLastDayOfWeek","calculateAlignedWeeksBetweenDates","fromDate","toDate","weekCount","calculateDaysBetweenDates","getViewDataGeneratorByViewType","_view_data_generator","_view_data_generator_day","_view_data_generator_month","_view_data_generator_timeline_month","_view_data_generator_week","_view_data_generator_work_week","MS_IN_DAY","dayDiff","msDiff","ViewDataGeneratorMonth","ViewDataGeneratorTimelineMonth","ViewDataGeneratorDay","ViewDataGeneratorWeek","ViewDataGeneratorWorkWeek","ViewDataGenerator","getCompleteViewDataMap","_viewDataMap","_setVisibilityDates","setHiddenInterval","groupsList","_generateAllDayPanelData","viewCellsData","_generateViewCellsData","_transformViewDataMapForHorizontalGrouping","_transformViewDataMapForVerticalGrouping","_transformViewDataMapForGroupingByDate","_addKeysToCells","_result$rowIndex","nextGroupRow","nextGroupMap","correctedGroupList","correctedGroupCount","currentViewDataMap","keyBase","currentAllDayPanelsCount","generateViewDataMap","sliceCells","sliceToIndex","allDayPanelMap","_isStandaloneAllDayPanel","getViewDataFromMap","_dateTableMap$reduce","cellDataRow","isAllDayRow","_generateCellsRow","cellDataValue","_isFirstGroupCell","_isLastGroupCell","prepareAllDayCellData","prepareCellData","tableAllDay","isStartViewDateDuringDST","dateWithCorrectHours","columnCountBase","rowCountBase","_calculateCellIndex","millisecondsOffset","getMillisecondsOffset","offsetByCount","getTimeOffsetByColumnIndex","startViewDateTime","firstDayOfWeekDiff","columnsInWeek","weekendCount","previousOptions","previousGroupedDataMap","previousRowIndex","markSelectedAndFocusedCells","nextDateTableMap","_markSelectedAndFocusedCellsInRow","_cell$cellData","indexInSelectedCells","selectedCellIndex","selectedCellGroupIndex","selectedCellAllDay","selectedCellStartDate","columnCountInDay","_ViewDataGenerator","DAY_IN_MILLISECONDS","isOtherMonth","_minVisibleDate","_maxVisibleDate","nextMonthDate","_options$firstDayOfWe","_timeline_month","_ViewDataGeneratorWee","_date_header_data_generator","_grouped_data_map_provider","_time_panel_data_generator","_utils4","ViewDataProvider","_groupedDataMapProvider","dateHeaderDataGenerator","timePanelDataGenerator","_transformRenderOptions","createGroupedDataMapProvider","viewDataMapWithSelection","rowsPerGroup","_getRowCountWithAllDayRows","isShowAllDayPanel","firstRowInGroup","lastRowInGroup","correctedFirstRow","correctedLastRow","getCellCountWithGroup","_this$groupedDataMap$2","_this$groupedDataMap$","currentAllDay","_compareDatesAndAllDay","includedDays","lastCellStart","daysAfterView","secondCellData","firstAllDay","secondStartDate","secondGroupIndex","secondAllDay","getLastViewDate","lastCellEndDate","endDateOfLastViewCell","_adjustEndDateByDaylightDiff","allDayRowCount","_finished","_stopped","_proxiedStepCore","_stepCore","_stepAnimationFrame","_isStopped","_isFinished","_complete","_uiScroll_viewNative","_uiScroll_viewNative2","_uiScroll_view","SCROLLVIEW_CLASS","SCROLLVIEW_PULLDOWN_CLASS","SCROLLVIEW_LOADPANEL","refreshStrategies","pullDown","swipeDown","simulated","scrollViewServerConfig","ScrollView","refreshStrategy","_loadingIndicatorEnabled","_initScrollableMarkup","_initTopPocket","_initBottomPocket","_initLoadPanel","$topPocket","_$topPocket","$pullDown","_$pullDown","$bottomPocket","_$bottomPocket","$reachBottom","_$reachBottom","$loadContainer","$loadIndicator","_$reachBottomText","_updateReachBottomText","$loadPanelElement","_createStrategy","strategyClass","pullDownCallbacks","releaseCallbacks","_releaseHandler","reachBottomCallbacks","_reachBottomHandler","_createActions","_pullDownAction","_reachBottomAction","_tryRefreshPocketState","_pullDownEnable","_reachBottomEnable","_pullDownEnabled","pullDownEnable","_reachBottomEnabled","reachBottomEnable","_pullDownLoading","_reachBottomLoading","preventReachBottom","showOrHide","pendingRelease","_lock","_unlock","SCROLLVIEW_PULLDOWN_REFRESHING_CLASS","_$refreshingText","_$scrollViewContent","_initCallbacks","_renderPullDown","_releaseState","_$pullDownText","_$pullingDownText","_$pulledDownText","_refreshPullDownText","pullDownTextItems","visibleState","_setTopPocketOffset","_topPocketSize","contentEl","containerEl","_bottomBoundary","_allowedDirections","allowedDirections","handleEnd","handleStop","_setPullDownOffset","_pullDownRefreshTimeout","_pullDownRefreshing","handleScroll","currentLocation","scrollDelta","_isPullDown","_pullDownReady","_isReachBottom","_reachBottom","_stateReleased","_releaseTimeout","_updateAction","SCROLLVIEW_PULLDOWN_DOWN_LOADING_CLASS","_releasePullDown","handleInit","_startClientY","_deltaY","_movePullDown","pullDownHeight","_getPullDownHeight","_getPullDownStartPosition","_pullDownRefreshHandler","_refreshPullDown","ScrollViewScroller","Scroller","_bottomPocketSize","_direction","_updateScrollbar","_scrollbar","_containerSize","scaleRatio","_getScaleRatio","_moveContent","_reachBottomReady","_moveScrollbar","_scrollComplete","_inBounds","_minOffset","_getMinOffset","_getMaxOffset","_maxOffset","_moveToBounds","_releaseTask","_release","_reachBottomEnablingHandler","_pullDownEnablingHandler","_considerTopPocketChange","_updateHandler","_pendingReleaseHandler","SimulatedStrategy","_createScroller","scroller","_scrollers","_scrollerOptions","$pullDownText","$pullingDownText","$pulledDownText","$refreshingText","SCROLLABLE_NATIVE","SCROLLABLE_NATIVE_CLASS","_useSimulatedScrollbar","_isLocked","_isDirection","_allowedDirection","_isRtlNativeStrategy","_isScrollbarVisible","_renderScrollbars","updateRtlPosition","_moveScrollbars","_scrollbars","_hideScrollbarTimeout","_renderScrollbar","expandable","handleStart","handleCancel","_eachScrollbar","createActions","_createActionArgs","_this$location","_eventForUserAction","_getScrollOffset","_isReachedRight","_isReachedLeft","_this$location2","_normalizeOffsetLeft","_this$_getScrollOffse","_hideScrollbars","disabledChanged","_updateScrollbars","_componentContentSize","scrollableNativeRegexp","_removeScrollbars","_isScrolledInMaxDirection","_uiScrollable2","_uiScrollable3","_get_element_location_internal","SCROLLABLE","SCROLLABLE_CLASS","BOTH","Scrollable","onBounce","inertiaEnabled","_setUseSimulatedScrollbar","_updateRtlPosition","_savedScrollOffset","_renderStrategy","_renderDisabledState","needInitializeRtlConfig","_$$get","initEventData","_initHandler","_updateIfNeed","_resetInactiveDirection","inactiveProp","_getInactiveProp","_updateAllowedDirection","_allowedDirectionValue","_applyScaleRatio","elementInsideContent","elementIsInsideContent","hoveredScrollable","activeScrollable","SCROLLABLE_SIMULATED","SCROLLABLE_SIMULATED_CURSOR","SCROLLABLE_SIMULATED_KEYBOARD","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","_updateHandlerTimeout","_scrollByLine","_scrollByPage","_scrollToHome","_scrollToEnd","_wheelProp","_dimensionByProp","_createActionHandler","_createScrollerActions","_this$_scrollers","scrollerX","scrollerY","_scrollOffset","_isHoverMode","_hoverHandled","targetScrollable","touchDirection","verticalScroller","horizontalScroller","_isHorizontalAndRtlEnabled","_rtlConfig","scrollRight","windowPixelRatio","_getWindowDevicePixelRatio","skipUpdating","_this$_$container$get","_validateWheel","_wheelDirection","reachedMin","reachedMax","contentGreaterThanContainer","locatedNotAtBound","scrollFromMin","scrollFromMax","_validateWheelTimer","SCROLLBAR","SCROLLBAR_VISIBLE","activeScrollbar","Scrollbar","_isHovered","_renderThumb","_attachPointerDownHandler","_$thumb","feedbackOff","_needScrollbar","_adjustVisibility","_baseContainerToContentRatio","scrollBarLocation","_calculateScrollBarPosition","_thumbRatio","_realContainerToContentRatio","thumbSize","_normalizeSize","SELECTBOX_POPUP_WRAPPER_CLASS","clearSelectBox","_valueSubstituted","_preventFiltering","_savedTextRemoveEvent","_preventSubstitution","searchIfNeeded","_cancelSearchIfNeed","_setNextValue","_cancelEditing","isOpened","isCustomText","customItemCreateEvent","onCustomItemCreating","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","_selectionStrategy2","updateSelectedItemKeyHash","filterIsChanged","updatedKeys","_keys","_addSelectedItem","addSelectedItem","_removeSelectedItem","removeSelectedItem","_setSelectedItems","_this$options$allowLo","isSelectedItemsChanged","focusedItemNotInLoadedRange","shiftFocusedItemNotInLoadedRange","itemIsNotInLoadedRange","_shiftFocusedItemIndex","isSelectable","changeItemSelectionWhenShiftKeyInVirtualPaging","changeItemSelectionWhenShiftKeyPressed","_resetItemSelectionWhenShiftKeyPressed","isItemDataSelected","clearSelectedItems","isItemKeySelected","_resetFocusedItemIndex","itemIndexStep","indexOffsetDefined","focusedData","focusedKey","isFocusedItemSelected","isOnePage","_onePageSelectAll","getSelectableItems","visibleOnly","DeferredStrategy","_SelectionStrategy","_loadFilteredData","_addSelectionFilter","keyField","_normalizeKey","_getFilterByKey","_findSubFilter","filterString","subFilter","_isLastSubFilter","_addFilterOperator","filterOperator","_denormalizeFilter","_isOnlyNegativeFiltersLeft","_selectionFilter","needAddFilter","removedIndex","_removeSameFilter","filterIndex","isKeyOperatorsAfterRemoved","_isKeyFilter","_hasKeyFiltersOnlyStartingFromIndex","_normalizeFilter","_removeFilterByIndex","_isSimpleKeyFilter","_filterIndex","componentFilter","SelectionStrategy","_clearItemKeys","_removeTemplateProperty","remoteFilter","localFilter","filterLength","needLoadAllData","keyHashIndices","_isAnyItemSelected","_getFullSelectAllState","dataFilter","selectedItemsLength","disabledItemsLength","_getVisibleSelectAllState","hasSelectedItems","hasUnselectedItems","_selection_filter","StandardStrategy","_initSelectedItemKeyHash","_preserveSelectionUpdate","keyIndicesToRemoveMap","isBatchDeselect","_batchRemoveSelectedItems","_loadSelectedItemsCore","selectionFilterCreator","deselectedItems","_replaceSelectionUpdate","internalKeys","_warnOnIncorrectKeys","_isMultiSelectEnabled","_requestInProgress","_this$_lastLoadDeferr","_lastLoadDeferred","_concatRequestsItems","oldRequestItems","_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","isHiddenFocusing","executeKeyDown","keyDownHandler","$mainElement","fireKeyDownEvent","processKeyDown","mouseDownHandler","isMouseDown","focusinHandler","focusedElementInfo","viewInstance","getActiveAccessibleElements","onDocumentVisibilityChange","FOCUS_DISABLED_CLASS","GRID_ROW_SELECTOR","GRID_CELL_SELECTOR","TREELIST_ROW_SELECTOR","TREELIST_CELL_SELECTOR","viewItemSelectorMap","columnHeaders","$viewElement","findFocusedViewElement","viewSelectors","visibilityState","viewNames","viewItemIndex","_viewName","getFilterSelector","getFilterExpressionByRange","getFilterExpressionForDate","getFilterExpressionForNumber","DEFAULT_DATE_INTERVAL","DEFAULT_DATETIME_INTERVAL","dateIntervals","endFilterValue","startFilterExpression","endFilterExpression","dateStart","dateEnd","isSearchByDisplayValue","hasSimpleItems","isCorrectStructure","innerItem","getResultConfig","checkEnterBug","getTextEditorConfig","isEnterBug","needDelayedUpdate","isInputOrKeyUpEvent","valueChangeTimeout","prepareDateBox","editorName","prepareTextBox","isSearching","prepareNumberBox","prepareLookupEditor","_options$editorType","selectBox","stopWatch","prepareCheckBox","prepareCustomEditor","prepareEditor","prepareDefaultEditor","dxDateBox","_prepareDefaultEditor","editorElement","showValidationMark","defaultEnterKeyHandler","dxTextArea","SliderTooltipPositionController","SLIDER_TOOLTIP_POSITION_ALIASES","SLIDER_TOOLTIP_DEFAULT_BOUNDARY_OFFSET","_PopoverPositionContr","$sliderHandle","sliderClass","$slider","_fitIntoSlider","_positionUtils$calcul","SLIDER_LABEL_CLASS","SLIDER_LABEL_POSITION_CLASS_PREFIX","SLIDER_TOOLTIP_POSITION_CLASS_PREFIX","SLIDER_VALIDATION_NAMESPACE","Slider","roundedValue","isLeftDirection","remainder","_getValueExponentLength","_roundToExponentLength","showRange","showMode","valueChangeMode","_toggleValidationMessage","_renderLabels","_renderStartHandler","_renderAriaMinAndMax","focusInEvent","focusOutEvent","$focusTarget","_repaintHandle","wavesNumber","_renderInkWave","waveIndex","wave","_itemWidthFunc","_renderRangeVisibility","_$handle","labelFormat","_$minLabel","_$maxLabel","pointerDownEventName","startAction","_itemWidthRatio","_feedbackDeferred","_isSingleValuePossible","valueExponentLength","stepCount","_this$_actualValue","_fitTooltip","$sliderTooltip","_sliderTooltip","_updateTooltipOptions","_this$_sliderTooltip","_this$_sliderTooltip2","updateTooltipPosition","_this$_sliderTooltip3","_this$_sliderTooltip4","_slider_tooltip_position_controller","_attachToMarkup","_toggleShowModeClass","_renderContentText","formattedText","isHoverMode","_speed_dial_main_item","SpeedDialAction","initAction","disposeAction","_Overlay","SpeedDialItem","callOverlayRenderShading","_renderLabel","_$label","_isPositionLeft","_renderButtonIcon","iconClass","_getVisibleActions","_getActionComponent","actionElement","_setClickAction","clickActionArgs","_getInkRippleContainer","actionId","speedDialMainItem","savedActions","modifyActionOptions","newAction","isActionExist","_getPosition","_getCurrentOptions","$fabMainElement","SpeedDialMainItem","visibleActions","_speed_dial_item","_action$option","actionComponent","actionVisible","parentPosition","_SpeedDialItem","childIndent","childOffset","_renderCloseIcon","_$closeIcon","_actionItems","nextAction","lastActionIndex","_getActionAnimation","_getActionPosition","_isShadingShown","actionItem","$actionElement","_getDirectionIndex","actionsHeight","_$wrapperCoveredElement","actionOffsetXValue","actionOffsetX","actionOffsetYValue","actionOffsetY","actionPositionAtMy","SPLITTER_CLASS","SPLITTER_WRAPPER_CLASS","SPLITTER_INACTIVE_CLASS","SPLITTER_BORDER_CLASS","SPLITTER_INITIAL_STATE_CLASS","STATE_DISABLED_CLASS","SPLITTER_MODULE_NAMESPACE","SplitterControl","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","_ref$splitterPosition","_ref$needUpdatePanels","_ref$usePercentagePan","_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","Switch","_animateValue","switchedOnText","switchedOffText","_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","_marginBound","_multi_view","_tabs","TabPanel","onTitleClick","onTitleHold","_createTitleActions","_createTitleClickAction","_createTitleHoldAction","_createTitleRenderedAction","_titleClickAction","_titleHoldAction","_titleRenderedAction","_updateLayout","_$tabContainer","$tabs","_tabConfig","tabsHeight","tabItems","$activeTab","$value","_isFocusOutHandlerExecuting","_toggleWrapperFocusedClass","_toggleDisabledFocusedClass","isTabsTarget","isMultiViewTarget","_setTabsOption","selectedTabContent","TabPanelItem","_get_boundary_props","TABS_STRETCHED_CLASS","TABS_NAV_BUTTONS_CLASS","TABS_ITEM_CLASS","BUTTON_NEXT_ICON","BUTTON_PREV_ICON","Tabs","_renderMultiple","_deferredTemplates","_deferRenderScrolling","_renderScrolling","removeClasses","TABS_EXPANDED_CLASS","_isItemsWidthExceeded","_updateNavButtonsVisibility","_scrollToItem","_cleanScrolling","_needStretchItems","$visibleItems","itemsWidth","_leftButton","_rightButton","_createNavButton","$leftButton","$rightButton","holdAction","_holdInterval","holdEventName","pointerUpEventName","pointerOutEventName","navButton","$navButton","_clearInterval","_toggleFocusedNextClass","isNextTabFocused","BADGE_CLASS","TAGBOX_TAG_DATA_KEY","TAGBOX_TAG_CLASS","TAGBOX_MULTI_TAG_CLASS","TAGBOX_CUSTOM_TAG_CLASS","TAGBOX_TAG_REMOVE_BUTTON_CLASS","TAGBOX_SINGLE_LINE_CLASS","TagBox","sendToList","_isCaretAtTheStart","_isTagRemoved","$tagToDelete","_$focusedTag","_tagElements","_moveTagFocus","_preserveFocusedTag","_removeTagElement","isListItemFocused","isInputActive","_isEmpty","_scrollContainer","_updateTagsContainer","_$tagsContainer","_updateInputAriaActiveDescendant","clearOnBoundary","tagElements","$nextFocusedTag","_replaceFocusedTag","_clearTagFocus","_getFieldElement","_getScrollPosition","_getBorderPosition","_getFocusedTagPosition","isScrollLeft","maxFilterQueryLength","tagTemplate","hideSelectedItems","maxDisplayedTags","showMultiTagOnly","onMultiTagPreparing","_selectedItems","_initSelectAllValueChangedAction","_initMultiTagPreparingAction","_multiTagPreparingAction","_multiTagPreparingHandler","selectedCount","_data$text","$tagContent","_toggleSubmitElement","$options","useDisplayText","_tagElementsCache","isSingleLineMode","_initTagTemplate","_getNewLabelId","newId","shouldRemove","_updateElementAria","newLabelId","_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","listSelectedItems","isListItemsLoaded","clientFilterFunction","selectedItemsAlreadyLoaded","_isDataSourceChanged","mappedItems","_createTagsData","isValueExprSpecified","filteredValues","filteredItem","filteredItemValue","loadItemPromises","_createTagData","valueIndex","_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","tagId","_createTag","tagsLength","_removeTagWithUpdate","_removeTag","_lastValue","removedItem","_addTag","listSelectionChangeEvent","_valueIndex","useButtons","indexByValues","lastValue","originalHeight","currentHeight","_this$_list3","_resetListDataSourceFilter","_userFilter","valueGetterExpr","_dataSourceFilterExpr","_dataSourceFilterFunction","_getSortedListValues","listValues","_getListValues","existedItems","_defaultTagTemplate","_getSelectedItemsDifference","previousItems","previousItemsValuesMap","TextArea","_updateInputHeight","_createInput","_updateInputAutoResizeAppearance","_eventY","currentEventY","_resetDimensions","_getHeightDifference","_$textEditorContainer","autoHeightResizing","heightDifference","_getBoundaryHeight","inputHeight","adjustedMaxHeight","needScroll","isAutoResizeEnabled","ignoreKeys","SEARCHBOX_CLASS","TextBox","_showClearButton","maxLength","_renderSearchMode","_toggleMaxLengthProp","_getMaxLength","_renderSearchIcon","_$searchIcon","$searchIcon","_getLabelContainerWidth","_getLabelBeforeWidth","labelBeforeWidth","_updateLabelWidth","_onKeyDownCutOffHandler","actualMaxLength","_hasSelection","_cutOffExtraChar","_onChangeCutOffHandler","textInput","TextEditorButton","$placeMarker","_addPlaceMarker","_shouldRender","_this$_create","CUSTOM_BUTTON_HOVERED_CLASS","CustomButton","ignoreParentReadOnly","_prepareIntegrationOptions","isUpdated","_custom","checkNamesUniqueness","existingNames","TextEditorButtonCollection","defaultButtonsInfo","_compileButtonInfo","buttonInfo","isStringButton","isDefaultButton","predefinedButtonsInfo","isPredefinedButtonName","defaultButtonInfo","buttonsInfo","_buttonsInfo$location","_uiText_editor2","TEXTEDITOR_INPUT_CLASS","TEXTEDITOR_INPUT_SELECTOR","TEXTEDITOR_PLACEHOLDER_CLASS","TEXTEDITOR_VALIDATION_PENDING_CLASS","CONTROL_KEYS","TextEditorLabelCreator","TextEditorLabel","checkButtonsOptionType","_labelContainerElement","_buttonsContainer","_updateButtonsStyling","_renderEnterKeyAction","_renderPendingIndicator","_pendingIndicator","_disposePendingIndicator","_showValidMark","_unobserveLabelContainerResize","inputAttrName","inputAttributes","defaultAttributes","_toggleSpellcheckState","_toggleTabIndex","buttonsBeforeWidth","updateBeforeWidth","_setFieldAria","_this$_$placeholder","_$placeholder","labelConfig","containsButtonsBefore","beforeWidth","_renderPlaceholderMarkup","_attachPlaceholderEvents","placeholderAttributes","startEvent","_placeholder","isCtrlEnter","isNewValue","_cleanValueChangeEvent","valueChangeNamespace","textChangeNamespace","_isInput","shouldPrevent","_isNestedTarget","_enterKeyAction","_enterKeyHandlerUp","updateText","updateMark","updateMode","updateContainsButtonsBefore","pointerDown","ClearButton","TEXTEDITOR_LABEL_CLASS","TEXTEDITOR_WITH_LABEL_CLASS","TEXTEDITOR_WITH_FLOATING_LABEL_CLASS","TEXTEDITOR_WITH_BEFORE_BUTTONS_CLASS","_toggleMarkupVisibility","_$before","_$labelSpan","_$after","_updateMark","_updateText","_updateBeforeWidth","_updateMaxWidth","_updateEditorBeforeButtonsClass","_updateEditorLabelClass","beforeButtonsClass","_uiText_editorMask","_uiText_editorMask2","stubCaret","TEXTEDITOR_MASKED_CLASS","FORWARD_DIRECTION","buildInMaskRules","isLiteralChar","isSpaceChar","isNumericChar","mask","maskChar","maskRules","maskInvalidMessage","useMaskedValue","showMaskMode","keyHandlerMap","_maskStrategy","_changeHandler","parentHandler","_$hiddenElement","_initMaskStrategy","_renderHiddenElement","_attachMouseWheelEventHandlers","mouseWheelAction","_removeHiddenElement","_maskRulesChain","_parseMask","_renderMaskedValue","_suppressCaretChanging","_changedValue","changeEvent","_maskRules","_parseMaskRule","EmptyMaskRule","currentMaskChar","isEscapedChar","StubMaskRule","_getMaskRule","ruleConfig","rulePattern","allowedChars","MaskRule","_normalizeChainArguments","chainArgs","_isMaskedValueMode","_handleChain","_displayMask","_isValueEmpty","_shouldShowMask","_showMaskPlaceholder","submitElementValue","_getPreparedValue","_convertToValue","_isControlKeyFired","handledCount","_textValue","fullText","_replaceMaskCharWithEmpty","_maskKeyHandler","keyHandler","setForwardDirection","_handleSelection","raiseInputEvent","_adjustCaret","_handleKey","_handleKeyChain","emptyChars","chars","isForwardDirection","_tryMoveCaretBackward","setBackwardDirection","currentCaret","caretStart","maskRuleIndex","isAccepted","_typingDirection","_validateMask","_updateHiddenElement","_updateMaskOption","_processEmptyMask","EMPTY_CHAR","BaseMaskRule","_next","_prepareHandlingArgs","_config$str","_config$start","_config$length","handlingProperty","_adjustedForward","_adjustedBackward","_tryAcceptChar","_accepted","_isAllowed","acceptedChar","_isAccepted","_isValid","hasValueProperty","nextArgs","DELETE_INPUT_TYPES","HISTORY_INPUT_TYPES","EVENT_NAMES","getEmptyString","MaskStrategy","_editorOption","_this$editor","_editorInput","_editorCaret","_attachChangeEventHandler","_beforeInputHandler","_previousText","_prevCaret","_inputHandler","_handleHistoryInputEvent","_handleBackwardDeleteInputEvent","_clearSelectedText","_autoFillHandler","_handleInsertTextInputEvent","_updateEditorMask","_this$_prevCaret","_this$_prevCaret2","_isAutoFill","_this$_prevCaret$star","_this$_prevCaret3","processedCharsCount","_this$_editorCaret","correction","_delHandler","_cutHandler","selectedText","_clearDragTimer","_dragTimer","pastedText","restText","accepted","inputVal","_inputHandlerTimer","_input$matches","isFocusingOnCaretChange","getCaret","setCaret","scrollTopPos","scrollBottomPos","validateTarget","isDark","isPendingThemeLoaded","isWebFontLoaded","themeReady","resetTheme","setDefaultTimeout","waitForThemeLoad","waitWebFont","$activeThemeLink","knownThemes","currentThemeName","pendingThemeName","themeClasses","initDeferred","DX_LINK_SELECTOR","THEME_ATTR","ACTIVE_ATTR","DX_HAIRLINES_CLASS","ANY_THEME","defaultTimeout","THEME_MARKER_PREFIX","readThemeMarker","waitStartTime","intervalCleared","handleLoaded","isTimeout","anyThemePending","themeMarker","$allThemeLinks","newContext","initContext","fullThemeName","currentThemeData","isAutoInit","_autoInit","loadCallback","desiredThemeName","desiredThemeParts","knownThemeName","themeData","knownThemeParts","resolveFullThemeName","_forceTimeout","themeNameParts","getCssClasses","$tester","isTheme","themeRegExp","etalonFontWidth","testedFontWidth","intervalId","autoInit","TILEVIEW_ITEM_CLASS","TILEVIEW_ITEM_SELECTOR","CONFIGS","itemMainRatio","itemCrossRatio","baseItemMainDimension","baseItemCrossDimension","mainDimension","crossDimension","mainPosition","crossPosition","TileView","baseItemWidth","baseItemHeight","itemMargin","_cellsPerDimension","_updateScrollView","_indicateLoadingIfAlreadyStarted","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","toasts","toast","dxToast","toastContainerElement","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","Toast","closeOnSwipe","closeOnClick","_posStringToObject","_toggleCloseEvents","verticalPosition","horizontalPosition","_hideTimeout","_uiToolbarMenu","_uiToolbar","DropDownMenu","_initButtonClickAction","_buttonClickAction","_toggleMenuVisibility","_getListDataSource","toggleItemFocusableElementTabIndex","_deferRendering","_this$_list4","_this$_list5","_updateFocusableItemsTabIndex","TOOLBAR_MENU_ACTION_CLASS","TOOLBAR_HIDDEN_BUTTON_GROUP_CLASS","TOOLBAR_MENU_SECTION_CLASS","TOOLBAR_MENU_LAST_SECTION_CLASS","ToolbarMenuList","_ListBase","_renderSections","_setMenuRole","_getSections","section","sectionName","_updateSections","$sections","$after","_item$location","isAction","MultiLineStrategy","_updateMenuVisibility","_renderMenuItems","_this$_toolbar$option","_$toolbarItemsContainer","labelPaddings","_hideOverflowItems","SingleLineStrategy","TOOLBAR_AUTO_HIDE_ITEM_CLASS","TOOLBAR_HIDDEN_ITEM","_renderOverflowMenu","_hasVisibleMenuItems","_renderMenuButtonContainer","_overflowMenuContainer","itemClickAction","renderMenuItems","_$overflowMenuContainer","_$afterSection","isMenuVisible","_isMenuItem","_this$_toolbar$option2","_this$_restoreItems","$hiddenItems","_restoreItems","overflowItems","$itemMarkup","overflowGetter","itemOverflow","_this$_restoreItems2","_$centerSection","_$beforeSection","_this$_menu","_this$_menu2","_this$_menu3","_this$_menu4","_this$_menu5","_this$_menu6","TOOLBAR_BEFORE_CLASS","TOOLBAR_AFTER_CLASS","TOOLBAR_LABEL_CLASS","TOOLBAR_COMPACT_CLASS","TEXT_BUTTON_MODE","ToolbarBase","_AsyncCollectionWidge","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","centerRect","_getCurrentLabelsPaddings","currentWidth","_getCurrentLabelsWidth","_alignSectionLabels","expanding","getRealLabelWidth","currentLabelWidth","labelMaxWidth","possibleLabelWidth","_item$text","itemHasText","_renderGroupedItems","_group$location","_waitParentAnimationTimeout","$labels","runCheck","readyToResolve","_uiToolbar2","_toolbar2","Toolbar","_ToolbarBase","overflowMenuVisible","_isMultiline","_renderLayoutStrategy","_isToolbarItem","_itemData$options","isItemNotFocusable","TOOLBAR_ITEMS","_itemInstance$_focusT","_itemData$options2","itemInstance","getItemInstance","_$focusTarget","Tooltip","_contentId","_toggleAriaDescription","removeTooltip","createTooltip","removeTooltipElement","TrackBar","_rangeStylesConfig","_m_widget","NODE_CLASS","NODE_CONTAINER_CLASS","NODE_LOAD_INDICATOR_CLASS","OPENED_NODE_CONTAINER_CLASS","IS_LEAF","ITEM_WITH_CHECKBOX_CLASS","ITEM_WITH_CUSTOM_EXPANDER_ICON_CLASS","CUSTOM_EXPANDER_ICON_ITEM_CONTAINER_CLASS","ITEM_WITHOUT_CHECKBOX_CLASS","ITEM_DATA_KEY","TOGGLE_ITEM_VISIBILITY_CLASS","CUSTOM_COLLAPSE_ICON_CLASS","CUSTOM_EXPAND_ICON_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","expandAllEnabled","expandIcon","collapseIcon","scrollDirection","virtualModeEnabled","_createSelectAllValueChangedAction","_selectAllValueChangedAction","_fireSelectAllValueChanged","_checkBoxModeChange","selectAllExists","_$selectAllItem","_renderSelectAllItem","_initExpandEvent","_useCustomChildrenLoader","_loadChildrenByCustomLoader","_initVirtualMode","_isDataStructurePlain","invocationResult","_combineFilter","_removeTreeViewLoadIndicator","_treeViewLoadIndicator","_createTreeViewLoadIndicator","_updateLevel","removedKey","_markChildrenItemsToRemove","_getContainerByParentKey","_getOldContainer","_renderNodeContainer","_isRootLevel","_renderScrollableContainer","_this$_dataSource$loa","_this$_dataSource$loa2","_isSingleSelection","_isRecursiveSelection","_selectAllEnabled","skipContentReadyAction","_skipContentReadyAndItemExpanded","_expandedGetter","_node$internalFields","_node$internalFields$","_getLevel","_hasCustomExpanderIcons","nodeIndex","nodeData","showCheckBox","_renderCheckBox","_toggleSelectedClass","_renderChildren","_renderCustomExpanderIcons","_renderDefaultExpanderIcons","_loadSublevel","_renderSublevel","_getActualNode","_addLeafClass","cachedNode","childrenNodes","_loadNestedItems","$nestedNodeContainer","childNodesByChildrenKeys","_updateParentsState","_normalizeIconState","expandedEventName","_getNodeByElement","_decodeString","_nodeHasRenderedChildren","_createLoadIndicator","_updateExpandedItemsUI","_renderExpanderIcon","_renderToggleItemVisibilityIconClick","$expandIcon","$collapseIcon","isNodeExpanded","_toggleCustomExpanderIcons","isHiddenNode","$childExpandIcons","$childCollapseIcons","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","pointerDownSelector","pointerDownEvent","_updateSelectionToFirstItem","_updateSelectionToLastItem","isSelectAllItem","_setFocusedItemTimeout","_findNonDisabledNodes","_nodeElements","prevItemElement","_getNodeItemElement","nextItemElement","_expandFocusedContainer","_collapseFocusedContainer","$focusedNode","_getClosestNonDisabledNode","nodeElement","collapsedNode","decodeURI","getSelectedNodes","_allItemsExpandedHandler","expandingPromises","allSettled","_this15$_allItemsExpa","_allItemsExpanded","keyOrItemOrElement","nodeKeysToExpand","scrollCallback","_expandNodes","scrollToElementTopLeft","relativeOffset","keysToExpand","resultCallback","callbacksByNodes","TreeViewSearch","_updateSearch","_repaintContainer","_updateDataAdapter","_getNodeContainer","_searchEditor","_getSearchEditorOptions","rootNodes","isSearchMode","_removeSearchBox","getCurrentValidationError","STATUS","BaseRuleValidator","defaultMessage","defaultFormattedMessage","rulesValidators","required","valueArray","RequiredRuleValidator","_BaseRuleValidator","NumericRuleValidator","_BaseRuleValidator2","ignoreEmptyValue","useCultureSettings","RangeRuleValidator","_BaseRuleValidator3","validNumber","numeric","validValue","StringLengthRuleValidator","_BaseRuleValidator4","CustomRuleValidator","_BaseRuleValidator5","extraParams","AsyncRuleValidator","_CustomRuleValidator","reevaluate","_getWrappedPromise","CompareRuleValidator","_BaseRuleValidator6","comparisonTarget","otherValue","comparisonType","PatternRuleValidator","_BaseRuleValidator7","EmailRuleValidator","_BaseRuleValidator8","stringLength","email","GroupConfig","_pendingValidators","_onValidatorStatusChanged","_resetValidationInfo","_unsubscribeFromAllChangeEvents","validatorResult","_addPendingValidator","_subscribeToChangeEvents","_raiseValidatedEvent","_updateValidationInfo","_validationInfo","_unsubscribeFromChangeEvents","_removePendingValidator","_orderBrokenRules","orderedRules","foundRules","_updateBrokenRules","_resolveIfComplete","_synchronizeValidationInfo","removeRegisteredValidator","registerValidator","ValidationEngine","_$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_summary","VALIDATION_ENGINE_CLASS","ValidationGroup","validatorContainer","_initGroupRegistration","summaryContainer","INVALID_MESSAGE","_renderInnerHtml","_ensureMessageNotEmpty","_updatePositionByTarget","_toggleModeClass","_updateContentId","_textMarkup","_getTextMarkup","shouldShowMessage","_toggleVisibilityClasses","validationErrorMessage","_err$message","targetWidth","_getPositionsArray","rtlSide","componentOffset","VALIDATION_SUMMARY_CLASS","ValidationSummary","_unsubscribeGroup","_groupWasInit","groupSubscription","_groupValidationHandler","_getOrderedItems","orderedItems","foundItems","_itemValidationHandler","itemsChanged","foundRule","_default_adapter","VALIDATION_STATUS_VALID","VALIDATION_STATUS_PENDING","Validator","_initAdapter","skipValidation","_getEditor","dxStandardEditor","_this$option$editor$o","_this$option$editor","_toggleAccessibilityAttributes","_resetValidationRules","_getValidationRules","_validationRules","_applyValidationResult","_updateValidationResult","validatedAction","focusableFn","isTabIndexNotNaN","isDefaultFocus","isHyperlink","SWATCH_CONTAINER_CLASS_PREFIX","swatchContainer","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","EditorClass","searchBoxClassName","rootElementClassName","_$searchEditorElement","userEditorOptions","_valueChangeDeferred","_valueChangeTimeout","_cleanAria","hoveredElement","_renderHint","_isFocusable","_toggleIndependentState","_this$option6","hasChildListeners","onlyChildProcessing","keyboardListeners","_updatedHover","_findHoverTarget","$previous","_this$option10","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","spacing","horizontalInverted","verticalInverted","width1","width2","hasHorizontalOverlapping","hasVerticalOverlapping","measureLabels","calculateCanvasMargins","_max","bBoxes","cLeft","cTop","cRight","cBottom","bBox","getContentContainer","labelBBox","Axis","_smart_formatter","_axes_constants","_parse_utils","_tick_generator","_translator2d","_range","_tick","_math2","_xy_axes","polarMethods","_constant_line","_strip","_axes_utils","_isArray","BOTTOM","CENTER","KEEP","SHIFT","RESET","ROTATE","getTickGenerator","incidentOccurred","skipTickGeneration","rangeIsEmpty","adjustDivisionFactor","_options$workWeek","allowNegatives","linearThreshold","tickGenerator","axisType","logBase","logarithmBase","axisDivisionFactor","minorAxisDivisionFactor","numberMultipliers","calculateMinors","minorTick","minorGrid","allowDecimals","endOnTick","skipCalculationLimits","generateExtraTick","minTickInterval","createMajorTick","skippedCategory","tick","createMinorTick","createBoundaryTick","isFirst","showCustomBoundaryTicks","callAction","actionArgument1","actionArgument2","initTickCoords","drawTickMarks","drawGrids","updateTicksPosition","updateGridsPosition","cleanUpInvalidTicks","removeInvalidTick","getOptimalAngle","boxes","labelOpt","asin","minSpacing","updateLabels","removeLabel","getZoomBoundValue","renderSettings","_incidentOccurred","_eventTrigger","eventTrigger","_stripsGroup","stripsGroup","_stripLabelAxesGroup","stripLabelAxesGroup","_labelsAxesGroup","labelsAxesGroup","_constantLinesGroup","constantLinesGroup","_scaleBreaksGroup","scaleBreaksGroup","_axesContainerGroup","axesContainerGroup","_gridContainerGroup","gridGroup","_axisCssPrefix","axisClass","_setType","drawingType","_createAxisGroups","_createTranslator","isArgumentAxis","_viewport","_prevDataInfo","_firstDrawing","_initRange","_drawAxis","_axisElement","_createAxisElement","_updateAxisElementPosition","sharp","_getSharpParam","getAxisSharpDirection","_axisLineGroup","_createPathElement","sharpDirection","customPositionIsAvailable","getOrthogonalAxis","getCustomPosition","getCustomBoundaryPosition","resolveOverlappingForCustomPositioning","hasNonBoundaryPosition","customPositionIsBoundaryOrthogonalAxis","getResolvedBoundaryPosition","getSharpDirectionByCoords","_getCanvasStartEnd","maxCoord","getRadius","_isHorizontal","_getGridLineDrawer","gridStyle","_getGridPoints","tickPositionField","orthogonalPositions","_orthogonalPositions","positionFrom","positionTo","borderOptions","canvasStart","canvasEnd","axisCanvas","getCanvas","minDelta","maxDelta","areCoordsOutsideAxis","_getConstantLinePos","_getTranslatedCoord","_getConstantLineGraphicAttributes","_createConstantLine","coord","_drawConstantLineLabelText","patchFontOptions","_drawConstantLineLabels","lineLabelOptions","_text","_checkAlignmentConstantLineLabels","formatLabel","_getConstantLineLabelsCoords","_getStripPos","swap","startCategoryIndex","endCategoryIndex","isContinuous","minVisible","maxVisible","categories","cat","_parsedStartValue$val","_parsedEndValue$value","parsedStartValue","parsedEndValue","outOfCanvas","validateUnit","stripPosition","visibleArea","getVisibleArea","_getStripGraphicAttributes","_createStrip","_adjustStripLabels","_strips","strip","_getAdjustedStripLabelCoords","_adjustLabelsCoord","checkCanvas","getContainerAttrs","_getLabelAdjustedCoord","_majorTicks","updateMultilineTextAlignment","templateContainer","_adjustLabels","positionsAreConsistent","labelRotationAngle","rotateBBox","labelCoords","indentFromAxis","isDiscrete","isFlatLabel","labelPosition","axisPosition","_axisPosition","labelX","_createAxisConstantLineGroups","constantLinesClass","insideGroup","outsideGroup1","outsideGroup2","outside1","outside2","classSelector","_axisGroup","enableLinks","_axisStripGroup","_axisGridGroup","_axisElementsGroup","linkOn","linkAppend","_axisTitleGroup","_axisConstantLineGroups","above","under","_axisStripLabelGroup","_clearAxisGroups","_getLabelFormatObject","_getViewportRange","smartFormatter","_tickInterval","showTransition","formatHint","customizeHint","formatRange","argumentFormat","axisOptions","_setTickOffset","discreteAxisDivisionMode","_tickOffset","aggregatedPointBetweenTicks","aggregatedPointsPosition","resetApplyingAnimation","_resetApplyingAnimation","getMargins","_that$_options","customPosition","placeholderSize","crosshairMargin","isDefinedCustomPositionOption","edgeMarginCorrection","constantLineAboveSeries","constantLineUnderSeries","moveByOffset","customPositionIsBoundary","idError","axisTypeMethods","_disposeBreaksGroup","_axisBreaksGroup","_textOptions","_textFontStyles","_minorTicks","_templatesRendered","setPane","setTypes","typeSelector","_updateTranslator","resetTypes","_initTypes","getTranslator","updateOptions","_labelOptions$minSpac","_TOP$BOTTOM$LEFT$RIGH2","defaultPosition","secondaryPosition","_TOP$BOTTOM$LEFT$RIGH","userAlignment","hoverMode","argumentType","validateAxisOptions","isValueAxis","visualRangeUpdateMode","checkDeprecatedOptions","_hasLabelFormat","logarithmBaseError","_createConstantLines","strips","calculateInterval","_Range","getBusinessRange","getLogExt","getCanvasRange","translator","_processCanvas","updateCanvas","canvasRedesign","_canvas","_initAxisPositions","getAxisShift","_axisShift","hideTitle","hideOuterElements","_outsideConstantLines","_resolveLogarithmicOptionsForRange","businessRange","_seriesData","wholeRange","adjustRange","getVizRangeObject","visualRange","getViewport","_addConstantLinesToRange","minDefined","maxDefined","_wholeRange$startValu","_wholeRange$endValue","getCategoriesInfo","adjustedVisualRange","adjustVisualRange","isLogarithmic","disabledNegatives","_getVisualRangeUpdateMode","oppositeValue","prevDataInfo","containsConstantLine","newCategories","minPoint","minVisiblePoint","maxPoint","maxVisiblePoint","_handleBusinessRangeChanged","oppositeVisualRangeUpdateMode","axisReinitialized","_lastVisualRangeUpdateMode","_setVisualRange","getVisualRangeLength","currentBusinessRange","getVisualRangeCenter","useMerge","raiseToExt","categoriesInfo","setBusinessRange","argCategories","_that$_seriesData$min","_that$_seriesData$max","dataIsEmpty","rangeWithConstantLines","synchronizedValue","showZero","correctValueZeroLevel","sortCategories","getCategoriesSorter","userBreaks","_getScaleBreaks","_series","updateBusinessRange","_insideConstantLines","cl","extendAxis","getParsedValue","setGroupSeries","getLabelsPosition","labelShift","_constantLabelOffset","_getBoundaryTicks","majors","customBounds","customBoundTicks","addMinMax","_boundaryTicksVisibility","boundaryTicks","setPercentLabelFormat","resetAutoLabelFormat","getMultipleAxesSpacing","multipleAxesSpacing","getTicksValues","majorTicksValues","minorTicksValues","estimateTickInterval","_getTicks","setTicks","majorTicks","_getSkippedCategory","minorTicks","_isSynchronized","_adjustDivisionFactor","customTicks","customMinorTicks","isSpacedMargin","_getScreenDelta","overlappingBehavior","forceUserTickInterval","minors","minorTickInterval","minorTickCount","_initialBreaks","_createTicksAndLabelFormat","getAggregationInfo","useAllAggregatedPoints","_visualRange$startVal","_visualRange$endValue","_that$_seriesData","marginOptions","_marginOptions","aggregateByCategory","aggregationInterval","aggregationGroupWidth","sizePointNormalState","minInterval","generateTicks","screenDelta","tickGeneratorOptions","breaks","configureGenerator","getAddFunction","maxMinDistance","_filterBreaks","breakStyle","_aggregationInterval","getTickInterval","getAggregationInterval","createTicks","_estimatedTickInterval","_calculateValueMargins","_boundaryTicks","minor","_minorTickInterval","oldMajorTicks","majorTicksByValues","sameType","setSkippedCategory","oldMinorTicks","_ticksToRemove","_t$label","removeTitle","_reinitTranslator","setMarginOptions","getMarginOptions","_this$_marginOptions","_calculateRangeInterval","isDateTime","minArgs","addToArgs","_calculateWorkWeekInterval","businessInterval","workdaysOnly","weekend","_getConvertIntervalCoefficient","intervalInPx","ratioOfCanvasRange","_resetMargins","rangeInterval","minPercentPadding","maxPercentPadding","marginSize","valueMarginsEnabled","minValueMargin","maxValueMargin","minPadding","maxPadding","stubData","startPadding","endPadding","pxInterval","maxPaddingValue","percentStick","_minValue","_maxValue","_minValue2","_maxValue2","canvasStartEnd","screenDeltaWithMargins","skipViewportExtending","firstTickPosition","lastTickPosition","invertMultiplier","minTickPadding","maxTickPadding","commonPadding","isInverted","_that$getCorrectedVal","getCorrectedValuesToZero","correctedMin","correctedMax","correctZeroLevel","minExpectedPadding","maxExpectedPadding","applyMargins","constantLines","_drawTitle","drawGridLine","_dateMarkers","_drawDateMarkers","_measureTitle","_applyWordWrap","_adjustConstantLineLabels","_setLabelsPlacement","getTemplateDeferred","_adjustDateMarkers","_adjustTitle","getTemplatesDef","setRenderedState","_drawn","convertedTickInterval","_validateDisplayMode","_validateOverlappingMode","wordWrapMode","wordWrap","overflowMode","usefulSpace","correctByWidth","correctByHeight","setMaxSize","updateTitle","_checkTitleOverflow","_updateTitleCoords","_resetStartCoordinates","prepareAnimation","_updateLabelsPosition","applyClipRects","elementsClipID","canvasClipID","_validateVisualRange","convertVisualRangeObject","_validateOptions","_customVisualRange","resetVisualRange","isSilent","handleZooming","allowPartialUpdate","_applyZooming","_resetVisualRangeOption","getZoomStartEventArg","actionType","_getZoomEndEventArg","previousRange","zoomFactor","rangeStart","getZoomBounds","secondPriorityRange","setInitRange","getTemplatesGroups","setCustomVisualRange","_startValue","_endValue","adjustedRange","_getAdjustedBusinessRange","zoomResults","isPrevented","_visualRange","preventEvents","domEvent","zoomStartEvent","skipEventRising","_storedZoomEndParams","startRange","prevent","handleZoomEnd","previousBusinessRange","typeIsNotChanged","zoomEndEvent","checkZoomingLowerLimitOvercome","stopInteraction","_restorePreviousVisualRange","minZoom","minVisualRangeLength","correctedRange","isOvercoming","beforeVisualRangeLength","afterVisualRangeLength","getRangeByMinZoomValue","canvasLength","fullRange","isExtremePosition","isMax","extremeDataValue","seriesData","extremePoint","visualRangePoint","getFullTicks","withIndents","widthAxis","viewportRange","maxText","prevLabel","notRecastStep","ignoreOverlapping","behavior","staggeringSpacing","_getStep","_applyLabelMode","_applyLabelOverlapping","_checkBoundedLabelsOverlapping","_checkShiftedLabels","labelHeight","contentContainer","_getMaxLabelHeight","getMarkerTrackers","coordsIn","Translator2D","_getTranslatorOptions","_options$workWeek2","_options$breakStyle$w","_options$breakStyle","shiftZeroValue","semiDiscreteInterval","stick","_getStick","breaksSize","breaksLength","cumulativeWidth","getSpiderTicks","setSpiderTicks","drawScaleBreaks","_rotateConstantLine","applyVisualRangeSetter","visualRangeSetter","categoriesSortingMethod","lastStoredCoordinates","storedCoord","valueIsParsed","rootGroup","displayBehindSeries","dashStyle","saveCoords","resetCoordinates","generateDateBreaks","singleWorkdays","holidays","weekendDayIndices","workDays","workdays","workDay","getNextDayIndex","getWeekEndDayIndices","weekends","currentWeekEnd","dayBetweenWeekend","getDaysDistance","generateDateBreaksForWeekend","dayInWeekend","adjustedMin","adjustedMax","holiday","holidayStart","holidayEnd","generateBreaksForHolidays","gapSize","calculateGaps","exactWorkDays","processWorkDay","workday","separatedBreak","scaleBreak","dayEnd","separateBreak","excludeWorkDaysFromWeekEndBreaks","linearSpider","circularSpider","circular","xyAxesLinear","HALF_PI_ANGLE","getPolarQuarter","normalizeAngle","circularAxes","_this$_getViewportRan","conversionValue","addSpiderCategory","_getSpiderCategoryOption","_center","_radius","getAngles","_updateRadius","rad","_updateCenter","circle","firstPointOnStartAngle","originValue","tickOptions","tickOuterLength","_this$_center","labelBoxes","fromAngle","toAngle","innerRadius","outerRadius","_getStripLabelCoords","cosSin","getCosAndSin","halfRad","_this$getCenter","angles","_getTickMarkPoints","_ref$shift","radiusWithTicks","outside","tickOrientation","labelY","labelAngle","halfWidth","halfHeight","shiftX","shiftY","boxShiftX","boxShiftY","originalLeft","originalRight","originalTop","originalBottom","_getTranslatedValue","convertPolarToXY","getTranslatedAngle","convertXYToPolar","_rotateTick","maxLabelBox","curValue","angle1","angle2","lastVisibleLabelIndex","hideFirstOrLast","_spiderTicks","initCoords","firstTick","lastTick","nextTick","spiderTicks","centerCoord","xy","labelPos","isGridLine","maxLabelLength","_getGridPointsByRadius","innerPoints","_ref2$axisOptions","typeFormat","diffFormat","createFormat","rangeFormat","getHighAndSelfDiffFormat","_rangeFormat","getHighDiffFormat","highValue","formatDateRange","processDateInterval","EXPONENTIAL","INTERVALS_MAP","prevDate","tickIntervalFormat","tickFormatIndex","nextDifferences","setDateUnitInterval","resetDateUnitInterval","patchFirstTickDiff","prevDifferences","patched","patchTickDiff","getTransitionTickIndex","curDiff","minDiff","nearestTickIndex","splitDecimalNumber","getFormatExponential","stringTick","indexOfTick","log10Tick","getAdjustedLog10","formatLogarithmicNumber","separatedTickInterval","tickIndex","tickIntervalIndex","actualIndex","indexOfFormat","getFormatWithModifier","prevDateIndex","nextDateIndex","datesDifferences","getDateTimeFormat","_getCoord","_drawLabel","stripPos","skipLabels","tickOffset","lineGroup","elementsGroup","tickStyle","getPathStyle","emptyStrRegExp","labelStyle","getLabelFontStyle","customizeColor","createLabelHint","labelHint","setTitle","_lastStoredCoordinates","_storedCoords","_storedLabelsCoords","_getTemplateCoords","drawMark","updateTickPosition","_updateLine","lineElement","storedSettings","partitionDuration","drawLabel","updateLabelPosition","_templateDef","labelFontStyle","containerForData","fadeOutElements","startSettings","endSettings","animationSettings","_fadeOutLabel","_fadeInLabel","toBackground","lCoords","_lCoords","textsAlignment","drawGrid","updateGridPosition","mathAbs","mathFloor","mathCeil","mathPow","NUMBER_MULTIPLIERS","LOGARITHMIC_MULTIPLIERS","DATETIME_MULTIPLIERS","DATETIME_MULTIPLIERS_WITH_BIG_WEEKEND","DATETIME_MINOR_MULTIPLIERS","MINOR_DELIMITERS","VISIBILITY_DELIMITER","getLogValue","correctValueByInterval","post","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","breakSize","calculateTicks","correctMinValue","gaps","correctTickValue","correctTickValueOnGapSize","calculateMinorTicks","updateTickInterval","maxCount","lastMajor","firstMajor","tickBalance","middleTicks","prevTick","filterTicks","tmpTicks","generator","getMajorTickIntervalByCustomTicks","getMinorTickIntervalByCustomTicks","convertTickInterval","processScaleBreaks","correctUserTickInterval","minorBusinessDelta","minorScreenDelta","getBaseTick","breakValue","insideTick","getScaleBreaksProcessor","addCorrection","breakTicks","correctValueByIntervalLog","getRound","dummyGenerator","discreteGenerator","raiseTo","absLog","getLog","logAbsValue","absRaise","mathRaiseTo","ceilNumber","getBusinessDeltaLog","addIntervalLog","logarithmicGenerator","floorNumber","floorAtStartDate","calculateTickIntervalByCustomTicks","dateGenerator","numericGenerator","_datetime_breaks","TICKS_CORRECTIONS","sortingBreaks","getMarkerFormat","markerInterval","prepareDatesDifferences","getMaxSide","getConstantLineLabelMarginForVerticalAlignment","getLeftMargin","getRightMargin","getDistanceByAngle","_markerTrackers","opposite","axisCoord","_customBoundaryPosition","getPredefinedPosition","tickStartCoord","getTickStartPositionShift","_getTitleCoords","fromStartToEnd","_drawTitleText","titleOptions","originalSize","_drawDateMarker","pathElement","textLeftIndent","withoutStick","separatorHeight","cropped","getEnd","hideLabel","dateMarker","minBound","dateMarkers","markerDate","markersAreaTop","_getLabelFormatOptions","topIndent","getMarkerInterval","markerDates","origMin","getMarkerDates","prevDateMarker","_checkMarkersPosition","textTopIndent","_initializeMarkersTrackers","nextMarker","markerTracker","markerLabelOptions","_markerLabelOptions","canvasLeft","canvasRight","canvasTop","canvasBottom","maxLabel","linesOptions","paddingTopBottom","paddingLeftRight","labelVerticalAlignment","labelHorizontalAlignment","labelIsInside","_drawConstantLinesForEstimating","_estimateLabelHeight","sinCos","estimateMargins","ticksData","constantLineOptions","labelIsVisible","labelValue","labelElement","constantLinesLabelsElement","labelBox","titleBox","constantLinesBox","titleHeight","constantLinesHeight","stripOptions","boxTitle","loCoord","hiCoord","_wrapped","moreThanOriginalSize","restoreText","seriesRange","hasWrap","getAxisPosition","stripLabelOptions","getStripHorizontalAlignmentPosition","pos1","pos2","currentBreak","newBreak","_lastResult$cumulativ","_lastResult$cumulativ2","autoBreaksEnabled","maxAutoBreakCount","visibleRange","getPointsInViewPort","ranges","edgePoints","curRange","maxRange","generateRangesOnPoints","_maxAutoBreakCount","generateAutoBreaks","_drawBreak","translatedEnd","breakStart","isWaved","spaceAttr","rotateLine","rotatePoints","topPoint","centerPoint","bottomPoint","getLineDrawer","_createBreakClipRect","clipRect","clipWidth","_breaksElements","_createBreaksGroup","clipFrom","clipTo","customCanvas","additionGroup","additionBreakFrom","additionBreakTo","breakOptions","containerColor","mainGroup","breakCoord","axesSpacing","constantLinesGroups","shiftGroup","orthogonalAxis","resolvedPosition","getResolvedPositionOption","orthogonalTranslator","orthogonalAxisType","_categories","positionIsBoundary","_that$getOptions","getCanvasVisibleArea","_options$customPositi","customPositionEqualsToPredefined","_this$_orthogonalPosi","oppositeAxes","overlappingObj","_detectElementsOverlapping","_shiftThroughOrthogonalAxisOverlappedTick","oppositeLabel","_shiftThroughAxisOverlappedTick","orthogonalAxisPosition","orthogonalAxisLabelOptions","orthogonalAxisLabelPosition","orthogonalAxisLabelIndent","translateCoordName","defaultOrthogonalAxisLabelPosition","labelCoord","outsidePart","insidePart","_tick$mark","tickMarkBBox","labelIndent","defaultLabelPosition","labelSize","markerSize","element1","element2","lineCoords","dxBarGauge","_base_chart","_multi_axes_synchronizer","_advanced_chart","_scroll_bar","_crosshair","_range_data_calculator","_layout_manager","_shutter_zoom","_zoom_and_pan","_annotations","DEFAULT_PANE_NAME","DEFAULT_PANES","DISCRETE","changeVisibilityAxisGrids","gridVisibility","minorGridVisibility","gridOpt","minorGridOpt","findAxis","paneName","compareAxes","doesPaneExist","found","src1","src2","auxSpacing","val1","val2","pickMax","pickMaxValue","getAxisMargins","getHorizontalAxesMargins","getMarginsFunc","_axis$getOrthogonalAx","axisMargins","paneMargins","getVerticalAxesMargins","performActionOnAxes","actionArgument3","shrinkCanvases","isRotated","canvases","verticalMargins","horizontalMargins","getMaxMargin","margins1","margins2","getOriginalField","paneNames","sizeField","startMargin","endMargin","oppositeMargins","p1","p2","firstPane","emptySpace","PANE_PADDING","isRelativeHeightPane","paneSize","drawAxesWithTicks","panesBorderOptions","synchronize","shiftAxis","side1","side2","shifts","getCommonSize","checkUsedSpace","sizeShortage","getMarginFunc","isOverlay","overlayPoint","pointRadius","pointHitsLeftBorder","pointHitsRightBorder","pointHitsTopBorder","pointHitsBottomBorder","isPointOverlapped","skipSamePointsComparing","radiusPoint","isXCoordinateSame","isYCoordinateSame","AdvancedChart","_themeSection","_fontFields","_initCore","paneAxis","_containerInitialHeight","_correctAxes","_correctValueAxes","_getExtraOptions","_createPanes","defaultPane","panesNameCounter","_isRotated","_getAxisRenderingOptions","_prepareAxisOptions","rotated","_themeManager","_checkPaneName","seriesTheme","paneList","_initCustomPositioningAxes","argumentAxis","getArgumentAxis","valueAxisName","customPositionAxis","_valueAxes","_getAllAxes","_argumentAxes","_resetAxesAnimation","_axesBoundaryPositioning","allAxes","boundaryStateChanged","prevBoundaryState","_getCrosshairMargins","crosshairOptions","_getCrosshairOptions","crosshairEnabled","horizontalLabel","horizontalLine","verticalLabel","verticalLine","_getValueAxis","valueAxes","valueAxesOptions","crosshairMargins","getFirstAxisNameForPane","axInd","findAxisOptions","_createAxis","_populateAxesOptions","optionPath","_getVisualRangeSetter","needHideGrids","synchronizeMultiAxes","paneWithAxis","getValueAxis","axesForPane","axisShown","hiddenStubAxis","minorGridOptions","paneExists","defaultAxis","axesWithSamePath","_getSeriesForPane","paneSeries","oneSeries","_createPanesBorderOptions","commonBorderOptions","_createScrollBar","scrollBarOptions","scrollBarGroup","_scrollBarGroup","_scrollBar","ScrollBar","linkRemove","_executeAppendAfterSeries","_prepareToRender","drawOptions","_createPanesBackground","_appendAxesGroups","_adjustViewport","_recreateSizeDependentObjects","isCanvasChanged","_getVisibleSeries","useAggregation","zoomChanged","_isZooming","_useAllAggregatedPoints","createPoints","_processSeriesFamilies","zoomRange","viewportDistance","_zoomLength","_handleSeriesDataUpdated","getArgumentRange","_axesReinitialized","_isLegendInside","_legend","_getLayoutTargets","_applyClipRects","_drawPanesBorders","_createClipRectsForPanes","_applyClipRectsForAxes","_fillPanesBackground","_updateLegendPosition","legendHasInsidePosition","drawLegend","newCanvas","layoutInsideLegend","_allowLegendInsidePosition","_applyExtraSettings","paneIndex","_getPaneIndex","panesClipRects","_panesClipRects","wideClipRect","setClippingParams","_getPaneBorderVisibility","_updatePanesCanvases","recreateCanvas","updatePanesCanvases","_normalizePanesHeight","normalizePanesHeight","_renderScaleBreaks","_getArgFilter","getViewPortFilter","_hidePointsForSingleSeriesIfNeeded","seriesPoints","overlappedPointsCount","overlappingPoints","autoHidePointMarkers","_applyAutoHidePointMarkers","filteredSeries","currentSeries","autoHidePointMarkersEnabled","pointsCount","_applyPointMarkersAutoHiding","allSeries","borderCoords","usePointsToDefineAutoHiding","singleSeries","prepareCoordinatesForPoints","argAxis","markersInfo","overloadedSeries","argVisualRange","argTranslator","argViewPortFilter","valAxis","valVisualRange","valTranslator","seriesIndex","valViewPortFilter","getMinValue","getMaxValue","tp","bubbleSize","mp","continuousSeries","collectMarkersInfoBySeries","pointSize","pointsArea","fastHidingPointMarkersByArea","sortingCallback","isContinuousSeries","curPoint","nextPoint","next_x","next_y","updateMarkersInfo","_renderAxes","calculateTitlesWidth","scrollBar","extendedArgAxes","_isArgumentAxisBeforeScrollBar","verticalAxes","verticalElements","horizontalAxes","horizontalElements","allElements","verticalAxesFirstDrawing","panesCanvases","paneSizes","cleanPanesCanvases","needCustomAdjustAxes","adjustAxes","vAxesMargins","hAxesMargins","drawAxesAndSetCanvases","_changesApplying","_estimateTickIntervals","oldTitlesWidth","visibleSeries","axesIsAnimated","pointsToAnimation","animationPointsLimit","axisAnimationEnabled","_getPointsToAnimation","_axis$hasWrap","_getExtraTemplatesItems","_collectTemplatesFromItems","launchRequest","doneRequest","checkForMoreSpaceForPanesCanvas","needSpace","needHorizontalSpace","needVerticalSpace","argAxisRightMargin","rightPanesIndent","argAxisBottomMargin","bottomPanesIndent","realSize","customSize","containerHasStyledHeight","_forceResize","needMoreSpaceForPanesCanvas","_updateSize","_setContentSize","_preserveOriginalCanvas","_updateCanvasClipRect","_shrinkAxes","stopAllAnimations","_argumentAxis$getOpti","argAxisPosition","argAxisLabelPosition","scrollBarPosition","_getPanesParameters","_createCrosshairCursor","_getCommonCanvas","Crosshair","_crosshairCursorGroup","commonCanvas","defaultBackgroundColor","_panesBackgroundGroup","extractColor","panesBackground","_calcPaneBorderCoords","_panesBorderGroup","segmentRectParams","prepareSegmentRectPoints","pathType","_createClipRect","clipArray","needWideClipRect","isFinancialSeries","areErrorBarsVisible","chartCanvasClipRectID","_getCanvasClipRectID","elementsClipRectID","_getElementsClipRectID","commonPaneBorderVisible","paneBorder","_getCanvasForPane","panesNumber","_getTrackerSettings","themeManager","crosshair","stickyHovering","_resolveLabelOverlappingStack","shiftDirection","_getStackPoints","stacks","overlapping","resolveLabelOverlappingInOneDirection","coordPosition","getFigureCenter","stackPoints","stackName","getStackName","zoomArgument","nonVirtualArgumentAxis","_applyCustomVisualRangeOption","getVisibleArgumentBounds","_change_FULL_RENDER","_raiseZoomEndHandlers","_getAxesForScaling","_applyVisualRangeByVirtualAxes","_notifyVisualRange","argumentVisualRange","rangesAreEqual","addPlugin","plugins","_base_axis","_series_family","FONT","COMMON_AXIS_SETTINGS","VISUAL_RANGE","prepareAxis","setAxisVisualRangeByOption","isDirectOption","wrappedVisualRange","wrapVisualRange","pathElements","destElem","BaseChart","_partialOptionChangesMap","_partialOptionChangesPath","_disposeCore","disposeObjectsInArray","_disposeObjectsInArray","linkOff","_disposeAxes","_cleanPanesClipRects","clipArrayName","clipShape","setCanvasValues","_reinitAxes","_populateAxes","argumentAxesPopulatedOptions","paneWithNonVirtualAxis","argumentAxesOptions","valueAxisOption","valueAxesPopulatedOptions","axisNames","valueAxesCounter","_axisOptions$panes","axisPanes","_redesignAxes","isArgumentAxes","axesBasis","curAxes","axisTypes","groupsData","argumentAxisType","_groupsData$groups$fi","valueAxisType","getAxisTypes","_groupsData","basis","_disposeAxis","_appendAdditionalSeriesGroups","_getLegendTargets","_getLegendOptions","legendData","showInLegend","_legendItemTextField","_seriesPopulatedHandlerCore","_processValueAxisFormat","_renderTrackers","drawTrackers","_specialProcessSeries","_that$seriesFamilies","families","negativesAsZeroes","negativesAsZeros","familyOptions","minBubbleSize","maxBubbleSize","barGroupPadding","barGroupWidth","seriesFamilies","family","adjustSeriesValues","SeriesFamily","_updateSeriesDimensions","updateSeriesValues","adjustSeriesDimensions","_getLegendCallBack","getActionCallback","_gridGroup","_axesGroup","_populateMarginOptions","panesCount","argumentMarginOptions","groupSeries","seriesMarginOptions","processBubbleSize","processBubbleMargin","mergeMarginOptions","_populateBusinessRange","updatedAxis","keepRange","argRanges","commonArgRange","getPaneName","groupRange","getRangeData","commonInterval","_argRanges$getPaneNam","currentInterval","_getGroupsData","valueOptions","argumentAxes","argumentOptions","_groupSeries","axesWithFullStackedFormat","isFullStackedSeries","preparedUserOptions","_prepareStripsAndConstantLines","_getValFilter","renderingSettings","_parseVisualRangeOption","_applyingChanges","_change_VISUAL_RANGE","_requestChange","stripStyle","constantLineStyle","_layoutAxes","drawAxes","_createCanvasFromRect","_setCustomVisualRange","axesName","_optionChangedLocker","axisPath","skipOptionsRollBack","_getAxesByOptionPath","sourceAxes","getPartialChangeOptionsName","resizePanesOnZoom","_doRender","drawTitle","_legendDataField","_adjustSeriesLabels","_base_widget","_data_validator","_base_series","_chart_theme_manager","trackerModule","_loading_indicator","REINIT_REFRESH_ACTION","FORCE_RENDER_REFRESH_ACTION","RESIZE_REFRESH_ACTION","ACTIONS_BY_PRIORITY","findAndKillSmallValue","rollingStocks","smallestObject","rollingStock","getLabels","checkStacksOverlapping","firstRolling","secondRolling","inTwoSides","firstRect","secondRect","oppositeOverlapping","oppositeStart","oppositeEnd","rollingStocksIsOut","RollingStock","shiftFunction","_bBox","toChain","nextRollingStock","nextRollingStockBBox","_changeBoxWidth","shiftLength","hideInsideLabel","setRollingStockInCanvas","getInitialPosition","sortRollingStocks","customSorting","stubCanvas","hasStackedSeries","isStackedSeries","positiveRollingStocks","negativeRollingStocks","stock","sortRollingStocksByValue","rollingStocksTmp","iLength","jLength","overlap","checkStackOverlap","canvasSize","checkHeightRollingStock","currentRollingStock","prepareOverlapStacks","currentBBox","moveRollingStock","_eventsMap","onSeriesClick","onPointClick","onArgumentAxisClick","onLegendClick","onSeriesSelectionChanged","onPointSelectionChanged","onSeriesHoverChanged","onPointHoverChanged","actionSettings","onZoomStart","onZoomEnd","_rootClassPrefix","_rootClass","_initialChanges","_themeDependentChanges","_getThemeManagerOptions","themeOptions","_createThemeManager","chartOption","ThemeManager","setTheme","_canvasClipRect","_createHtmlStructure","_createLegend","_createTracker","_needHandleRenderComplete","_getLayoutItems","_layoutManagerOptions","_reinit","createConstantLinesGroup","appendLabelsAxesGroup","_backgroundRect","_executeAppendBeforeSeries","_seriesGroup","_labelsGroup","_legendGroup","disposeObject","unlinkGroup","_getAnimationOptions","_getDefaultSize","_applySize","_processRefreshData","_resize","__renderOptions","isResize","_trackerType","_tracker","seriesGroup","legend","_getSelectionModes","seriesSelectionMode","pointSelectionMode","_updateTracker","trackerCanvases","setCanvases","currentCanvas","_resetIsReady","_prepareDrawOptions","__currentCanvas","_cleanGroups","_renderElements","_lastRenderingTime","__originalCanvas","argBusinessRange","zoomMinArg","zoomMaxArg","isLegendInside","layoutTargets","axisDrawOptions","_appendSeriesGroups","_renderSeries","_renderGraphicObjects","_calculateSeriesLayout","_renderSeriesElements","hideLayoutLabels","keepLabels","resolveLabelOverlapping","_locateLabels","repairTooltip","_renderExtraElements","_clearCanvas","_seriesElementsDrawn","_changesApplied","_renderCompleteHandler","_resolveLabelOverlapping","_resolveLabelOverlappingHide","_resolveLabelOverlappingShift","getAllSeries","currentLabel","nextLabel","currentLabelRect","getVisiblePoints","legendDataField","formatObjectFields","legendSettings","getFormatObject","indexField","colorField","states","normal","textField","Legend","backgroundClass","itemGroupClass","titleGroupClass","allowInsidePosition","_updateLegend","legendOptions","_getLegendData","containerBackgroundColor","_change","animationOptions","maxPointCountSupported","newRefreshAction","currentRefreshActionPosition","_currentRefreshData","newRefreshActionPosition","getLegendStyles","textOpacity","opacityStyle","_disposeSeries","_that$series","_disposeSeriesFamilies","_optionChangesMap","palette","paletteExtensionMode","commonAxisSettings","commonPaneSettings","customizePoint","customizeLabel","_optionChangesOrder","_customChangesOrder","_change_ANIMATION","updateAnimationOptions","_change_DATA_SOURCE","_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","_change_CORRECT_AXIS","_doRefresh","_dataSpecificInit","_processSingleSeries","needRedraw","_populateSeries","_repopulateSeries","updateSeries","_forceRender","dataValidatorOptions","parsedData","validateData","resetPalette","getArgumentField","allSeriesInited","canRenderCompleteHandle","_dataIsReady","_dataIsLoaded","_populateSeriesOptions","particularSeriesOptions","processSeriesTemplate","allSeriesOptions","seriesThemes","seriesVisibilityChanged","visibilityChanged","_that$series2","particularSeries","seriesBasis","disposeSeriesFamilies","curSeries","clearHover","eventPipe","notify","_that$_argumentAxes$f","_that$_argumentAxes","commonSeriesModes","Series","labelsGroup","getStackedPoints","getPointsByArg","getSeriesByName","getSeriesByPos","hideTooltip","_hideTooltip","__forceRender","_getMinSize","adaptiveLayout","_change_REFRESH","_change_INIT","_stopCurrentHandling","stopCurrentHandling","plugin","_change_TITLE","LABEL_BACKGROUND_PADDING_X","LABEL_BACKGROUND_PADDING_Y","mathMin","mathMax","getRectangleBBox","getLabelCheckerPosition","rectangleBBox","_crosshairGroup","_axes","_panes","_prepareOptions","_horizontalGroup","_verticalGroup","_horizontal","_vertical","_circle","lineOptions","_createLines","sharpParam","verticalOptions","horizontalOptions","circleOptions","_createLabels","currentLabelPos","startXY","textElement","backgroundElement","_updateLinesCanvas","_linesCanvas","_updateLines","_resetLinesCanvas","_getClipRectForPane","pointData","getCrosshairData","getPointRadius","_layout_element","RADIAL_LABEL_INDENT","radialLabelIndent","getNearestCoord","firstCoord","secondCoord","pointCenterCoord","getLabelLayout","getLayoutOptions","getSizeLabels","rWidth","outerLabelsCount","pieLabelSpacing","rSizes","correctLabelRadius","labelSizes","averageWidthLabels","curRadius","runningWidth","setVisibleArea","getInnerRadius","getAverageLabelWidth","sizeLabels","correctAvailableRadius","availableRadius","minR","paneCenterX","paneCenterY","fullRadiusWithLabels","getFullRadiusWithLabels","accessibleRadius","radiusIsFound","xCoords","yCoords","getLengthFromCenter","getPieRadius","toLayoutElementCoords","WrapperLayoutElement","applyPieChartSeriesLayout","paneSpaceHeight","paneSpaceWidth","piePercentage","minPiePercentage","radiusInner","radiusOuter","applyEqualPieChartLayout","correctPieLabelRadius","availableLabelWidth","fixedSizeCallback","percentageIsValid","paneCanvas","paneSized","needPaneHorizontalSpace","needPaneVerticalSpace","layoutOptions","cutSide","cutLayoutSide","_floor","convertAxisInfo","axisInfo","logarithmicBase","tickValues","oldMinValue","oldMaxValue","getTicks","getAxisRange","getMainAxisInfo","axesInfo","getValueAxesPerPanes","ticksValues","minorValues","populateAxesInfo","maxTicksCount","ticksMultiplier","ticksCount","additionalStartTicksCount","baseTickValue","invertedBaseTickValue","updateTickValues","mainAxisInfo","mainAxisInfoTickInterval","mainAxisBaseValueOffset","valueFromAxisInfo","correctMinMaxValues","calculatePaddings","_info$axis$getCorrect","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","SHUTTER_EVENTS_NS","DRAG_START_EVENT_NAME","DRAG_UPDATE_EVENT_NAME","DRAG_END_EVENT_NAME","getPointerCoord","_shutterZoom","ctx","shutterOptions","shutter","triggerStart","triggerEnd","startCoord","curCoord","getRootOffset","lastPane","checkCoords","dragHandler","dragEndHandler","shutterZoom","PieTracker","ChartTracker","eventsConsts","statesConsts","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","baseTrackerPrototype","tracker","showPointTooltip","_showPointTooltip","hidePointTooltip","_hidePointTooltip","_pointerHandler","_chart","resetDecorations","noHoveredSeries","hoveredSeries","_hoveredPoint","_storedSeries","initDefsElements","pointAtShownTooltip","mainCanvas","paneCanvases","_mainCanvas","_canvases","_showTooltip","_setHoveredPoint","_releaseHoveredPoint","isPointerOut","_setHoveredSeries","_releaseHoveredSeries","hoveredPoint","_hoveredArgumentPoints","_resetHoveredArgument","tooltipFormatObject","getTooltipFormatObject","isShared","getTooltipParams","pointWithTooltip","_enableOutHandler","_outHandler","pointInCanvas","_isCursorOnTooltip","_pointerOut","_disableOutHandler","isCursorOnTooltip","_triggerLegendClick","elementClick","_hoverLegendItem","getItemByCoord","legendHoverMode","isHovered","lastHoverMode","_hoverArgument","argumentIndex","_getArgumentHoverMode","_hoveredArgument","_argumentIndex","_notifySeries","notifyLegend","_notifyLegendOnHoverArgument","fullState","_getCanvas","getPointByCoord","_isHolding","getMarkerVisibility","_stuckSeries","_hoverArgumentAxis","_isPointerOut","getNeighborPoint","_stickyHovering","_setTimeout","_setStuckSeries","_pointerComplete","_pointerOnPoint","_point","_point2","_argumentAxis","_legendClick","_point3","_pointClick","_axisHoverEnabled","normalizeEnum","_rotated","_hideCrosshair","_this$_crosshair","_moveCrosshair","_resetTimer","_getSeriesForShared","_point4","keeper","_timeoutKeeper","_hoverTimeout","_stopEvent","updateHover","getPointsByKeys","transformEvents","EVENTS_NS","PINCH_START_EVENT_NAME","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","_axis$checkZoomingLow","zoomAxes","sortAxes","zoomStarted","getMinScale","_axisZoom","cancelEvent","getAxesCopy","zoomAndPan","actionData","startAxesViewportChanging","axesViewportChanging","offsetCalc","centerCalc","coordField","zoomed","getEventScale","_axis$checkZoomingLow2","isMinPosition","isMaxPosition","zoomInEnabled","zoomOutEnabled","panningEnabled","deltaTranslate","storeOffset","storeCenter","argZoom","valZoom","fallback","finishAxesViewportChanging","prepareActionData","curAxisRect","startCenter","calcCenterForPinch","calcCenterForDrag","calcOffsetForDrag","preventDefaults","dragStartHandler","isTouch","wantPan","pan","wantZoom","panKeyPressed","panKey","dragToZoom","allowTouchGestures","panningVisualRangeEnabled","startCoords","dragBoxStyle","curCanvas","curCoords","zoomArg","zoomVal","deltaOffsetY","deltaOffsetX","getCoords","needToZoom","axisOption","panIsEmpty","argumentCoords","valueCoords","argumentAxesZoomed","pinchStartHandler","pinchHandler","pinchEndHandler","targetAxes","axesZoomed","targetCanvas","allowMouseWheel","_zoomAndPan","_setupZoomAndPan","customize","addChange","isThemeDependent","isOptionChange","processAxisOptions","applyParticularAxisOptions","mergeOptions","applyParticularTheme","_base_theme_manager","BaseThemeManager","_theme","processedUserOptions","_mergedSettings","valueAxisRangeSelector","seriesCount","mainSeriesColor","seriesVisibility","userCommonSettings","commonSeriesSettings","themeCommonSettings","widgetType","isBar","isArea","isBubble","resolveLabelsOverlapping","aggregation","getNextColor","_multiPieColors","parseOption","_mergeAxisTitleOptions","_initializeTheme","createPalette","useHighlight","extensionMode","mouseover","mouseout","mousemove","touchstart","touchmove","touchend","mousedown","mouseup","selectSeries","deselectSeries","selectPoint","deselectPoint","selectedMark","applyHover","applySelected","resetItem","pieSeriesSpacing","sourceIsDefined","verifyData","updateDataType","VALUE_TYPE","ARGUMENT_TYPE","checkTypeForAllData","groupsIndexes","groupsWithUndefinedValueType","groupsWithUndefinedArgumentType","argumentTypeGroup","axisTypeParser","valueTypeGroup","defineArg","getValueFields","checkValueTypeOfGroup","checkArgumentTypeOfGroup","checkType","userArgumentCategories","correctAxisType","valueCategories","optionsSeries","checkAxisType","convertToAxisDataType","getParsedCell","sizeParser","valueParser","argumentParser","createParserUnit","categoryParsers","NUMERIC","CONTINUOUS","getSizeField","argumentCategories","valueGroup","parseCategories","parseAxisCategories","prepareParsers","firstSeries","originalData","argumentField","valueField","smallValuesGrouping","others","sortValues","groupingValues","threshold","findIndexByThreshold","topCount","groupMinSlices","groupPieData","uniqueArgumentFields","reSortCategories","dataByArguments","userCategories","sortFunction","sortingMethodOption","sortByCallback","collection","collectionItem","checkItemExistence","getCategories","STRING","_skipArgumentSorting","sortByArgument","sortData","itemsHash","getUniqueArgumentFields","DATETIME","SEMIDISCRETE","LOGARITHMIC","enumParser","asc","valA","valB","bb","newArray","parsedCategory","eigen","hasCategories","filterInfinity","parseUnit","validUnit","_Number","_ceil","_isDefined","_isFunction","_enumParser","_normalizeEnum","INSIDE","OUTSIDE","NONE","HEIGHT","WIDTH","parseHorizontalAlignment","parseVerticalAlignment","parseOrientation","parseItemTextPosition","parsePosition","parseItemsAlignment","stateName","colorFromAction","hatching","getAttributes","processHatchingAttrs","getFuncIri","applyMarkerState","idToIndexMap","renderMarker","createSquareMarker","createCircleMarker","inRect","checkLinesSize","countItems","maxMeasureLength","maxAltMeasureLength","lineLength","altDirection","altMeasure","altOffset","altSpacing","countItem","altCountItem","decreaseItemCount","getLineLength","getPos","itemTextPosition","setMaxInLine","maxLineSize","itemMeasure","transpose","transposeArray","_backgroundClass","_itemGroupClass","_textField","_getCustomizeObject","_titleGroupClass","_allowInsidePosition","_updated","_Legend","legendPrototype","LayoutElement","themeManagerTitleOptions","initMarkerSize","parseMargins","itemsAlignment","customizeItems","_boundingRect","Title","getTitleHorizontalAlignment","erase","_insideLegendGroup","changeLink","_createBackground","_background","_markersGroup","_createItems","_updateElementsPosition","_measureElements","maxBBoxHeight","markerBBox","getSizeItem","equalRowHeight","_locateElements","_finalUpdate","createMarker","isCircle","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","columnItemSpacing","rowItemSpacing","marginTextLabel","legendBox","_calculateTotalBox","backgroundSettings","backgroundOpacity","widthWithoutMargins","getCorrectedLayoutOptions","_shiftTitle","_shiftMarkers","_y1","boxWidth","titleY","titleX","legendGroup","_applyTilesAppearance","_applyLegendItemStyle","_buildNodes","_createLegendItems","_proxyData","correctValueType","parsedVal","numVal","Tracker","downPointerEventName","movePointerEventName","_initHandlers","processClick","downHandler","moveHandler","_disposeHandlers","isRootDown","setHover","processHover","processTooltip","createAnnotations","_plaque","POINTER_UP_EVENT_NAME","getImageObject","commonAnnotationSettings","customizeAnnotation","pullOptions","commonImageOptions","currentImageOptions","customizedItem","getTemplateFunction","annotation","annotationGroup","plaque","Plaque","_isAnnotationBounded","_getAnnotationCoords","_dragOffsetX","_dragOffsetY","hitTest","setTemplate","tooltipTemplate","customizeTooltip","coreAnnotation","chartPlugin","_axis2","argCoordName","valCoordName","getPointCenterByArg","_axis3","_series2","checkSeriesViewportCoord","getSeriesPairCoord","_annotationsPointerEventHandler","_clear","_hideToolTipForDrag","_pullOptions","_forceAnnotationRender","polarChartPlugin","pointCoords","_calcCanvas","getXYFromPolar","getActualAngle","polarOptions","vectorMapPlugin","_offTracker","_projection","toScreenPoint","vectorMapOptions","_getAnnotationStyles","_prepareExtraElements","renderElements","pieChartPlugin","_argument$getAnnotati","getAnnotationCoords","pieChartOptions","widgetRoot","clearItems","setRendererOptions","_getRendererOptions","_annotationsGroup","_buildAnnotations","_setAnnotationTooltipOptions","fontFields","polarChart","vectorMap","pieChart","_palette","_getTheme","getTheme","_addCacheItem","addCacheItem","_removeCacheItem","_each","getThemePart","themeSection","setCallback","_current","_rtl","_themeName","_defaultPalette","defaultPalette","parseScalar","createDiscretePalette","getDiscretePalette","createGradientPalette","getGradientPalette","getAccentColor","_initializeFont","_type2","_helpers","_errors_warnings","_renderer2","_charts","_log","OPTION_RTL_ENABLED","SIZED_ELEMENT_CLASS","getTrue","getFalse","defaultOnIncidentOccurred","pickPositiveValue","callForEach","functions","floorCanvasDimensions","emptyComponentConfig","EmptyComponent","originalInherit","baseWidget","onIncidentOccurred","onDrawn","_useLinks","_graphicObjects","_changesLocker","_asyncFirstDrawing","_suspendChanges","_initRenderer","linkTarget","virtualLink","_toggleParentsScrollSubscription","_initEventTrigger","createIncidentOccurred","linkAfter","_initPlugins","_plugins","_disposePlugins","codes","_resumeChanges","_optionsQueue","_applyQueuedOptions","resolveItemsDeferred","_resolveDeferred","_getTemplatesItems","extraItems","_setGroupsVisibility","syncRendering","_totalChangesOrder","_layoutChangesOrder","_change_EVENTS","_change_THEME","_setThemeAndRtl","_change_RENDERER","_setRendererOptions","_change_RESIZE_HANDLER","_setupResizeHandler","_change_ELEMENT_ATTR","_change_CONTAINER_SIZE","_change_LAYOUT","_change_DISABLED","_initDisabledState","getGrayScaleFilter","rawCanvas","_calculateRawCanvas","Renderer","pathModified","_disposeRenderer","_disposeGraphicObjects","_proxiedTargetParentsScrollHandler","_$prevRootParents","_removeResizeHandler","createEventTrigger","defaultCanvas","getSizeOfSide","canvas1","canvas2","_getAlignmentRect","nextRect","isScalar","redrawOnResize","_disposeResizeHandler","createResizeHandler","_onBeginUpdate","_getActionForUpdating","partialChanges","pc","changedOption","partialChangeOptionsName","_addOptionsNameForPartialUpdate","_checkOptionsForPartialUpdate","optionObject","optionKeys","graphics","_graphics$id","linearGradient","radialGradient","customPattern","onEndAnimation","sizedElement","replaceInherit","eventsMap","callbackGetter","triggers","eventInfo","disposeHandler","resizeCallback","resizeManager","_createDeferredHandle","createDeferredHandler","_centerTemplateGroup","patchedFontOptions","_renderCenterTemplate","centerTemplateGroup","_getCenter","bBoxCenterX","bBoxCenterY","gauge","_createCenterTemplateGroup","_updateExtraElements","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","exportWidgets","exportFromMarkup","combineMarkups","ExportMenu","_exporter","pointerActions","BUTTON_SIZE","ICON_COORDS","LIST_WIDTH","MENU_ITEM_HEIGHT","DEFAULT_EXPORT_FORMAT","ALLOWED_IMAGE_FORMATS","ALLOWED_EXTRA_FORMATS","EXPORT_CSS_CLASS","EXPORT_DATA_KEY","FORMAT_DATA_KEY","GET_COLOR_REGEX","getValidFormats","imageFormats","validateFormat","validFormats","getCreatorFunc","createMenuItem","getItemAttributes","resetState","fixPosition","textBBox","onExported","onFileSaving","parsedMarkup","getBackgroundColorFromMarkup","widgets","markupInfo","gridLayout","compactView","backgroundColors","rowOffsets","maxItemLen","getHOffset","getVOffset","_print","print","_shadow","shadowFilter","_listGroup","_subscribeEvents","getExportOptions","_widget$getSize","_hiddenDueToLayout","printingEnabled","_updateButton","_hideList","_unsubscribeEvents","weak","_fillSpace","_listShown","_setButtonState","_showList","exportData","buttonDefault","listGroup","createMenuItems","_exportMenu","_getExportMenuOptions","_disablePointerEvents","pointerEventsValue","iFrame","img","iFrameBody","calculatePrintPageWidth","removeFrame","setPrint","__test","Flags","combineMaps","baseMap","thisMap","combineLists","baseList","thisList","buildTotalChanges","createChainExecutor","executeChain","_chain","expander","_flags","_inherit","initialChanges","themeDependentChanges","optionChangesMap","partialOptionChangesMap","partialOptionChangesPath","optionChangesOrder","layoutChangesOrder","customChangesOrder","horizontalAlignmentMap","verticalAlignmentMap","sideMap","slicersMap","pickValue","getShrink","processForward","minSide","primary","processRectBackward","alignmentRect","primarySide","secondarySide","itemRect","secondary","processBackward","fitRect","itemFitRect","Layout","_targets","processBackwardHeaderRect","rectCopy","makeHeader","weakElement","weakSize","headerSize","weakRect","headerFitReact","headerRect","weakItem","processWeakItems","createTargets","backwardRect","targetSide","defaultOffset","alignFactors","renderElement","_renderElement","_cacheBBox","ofBBox","myBBox","wrapperLayoutElementPrototype","LoadingIndicator","LOADING_INDICATOR_READY","_createStates","_states","_transit","stateId","_isHiding","stopAnimation","unstoppable","_noHiding","scheduleHiding","fulfillHiding","_skipLoadingIndicatorOptions","_scheduleLoadingIndicatorHiding","_fulfillLoadingIndicatorHiding","showLoadingIndicator","hideLoadingIndicator","onLoadingIndicatorReady","buildPath","getArc","xDirection","yDirection","getAbsoluteArc","x0","y0","getCloudAngle","anchorX","anchorY","xr","xl","yt","yb","getCloudPoints","bounded","_ref3$cornerRadius","halfArrowWidth","leftTopCorner","rightTopCorner","rightBottomCorner","leftBottomCorner","arrowX","arrowY","arrowBaseBottom","arrowBaseTop","arrowBaseLeft","arrowAngle","arrowEndPointX","arrowEndPointY","arrowArc","_arrowArc","_angle","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","_ref4$canvas","_ref4$offset","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","AnimationController","easingFunctions","animationSvgStep","easeOutCubic","currentParams","curSeg","seg","attributeName","animateStep","_animateStep","_progress","_calcProgress","_currentParams","delayTick","_startTime","Animation","_animationCount","_timerId","disableComplete","activeAnimation","endAnimation","_endAnimation","_endAnimationTimer","addAnimation","_startDelay","animateElement","hasUnstoppableInAnimations","RectSvgElement","PathSvgElement","ArcSvgElement","TextSvgElement","SvgElement","refreshPaths","pxAddingExceptions","orphans","widows","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","isObjectArgument","preserveAspectRatioMap","lefttop","leftcenter","leftbottom","centertop","centerbottom","righttop","rightcenter","rightbottom","_hatching","lockDefsElements","releaseDefsElements","buildArcPath","innerR","outerR","startAngleCos","startAngleSin","endAngleCos","endAngleSin","longFlag","buildPathSegments","buildLineSegments","buildCurveSegments","buildSegments","buildSimpleLineSegment","buildSimpleCurveSegment","buildSimpleSegment","_points$","k0","prepareConstSegment","constSeg","makeEqualLineSegments","makeEqualAreaSegments","constsSeg1","constsSeg2","shortLength","longLength","baseCss","elemStyles","fixFuncIri","baseAttr","hasTransformations","recalculateDashStyle","_settings","_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","defaults","buildLink","removeFuncIriCallback","fixFuncIriCallbacks","_getJQElement","_fixFuncIri","_clearChildrenFuncIri","clearChildren","_links","linkItem","_linkAfter","unlinkItem","_insert","toForeground","smartAttr","transformations","sharpMode","trDirection","strokeOdd","correctionX","correctionY","scaleXDefined","scaleYDefined","animOptions","_getElementBBox","transformation","normalizeBBox","titleElem","jj","combinePathParam","newSegments","endSegments","curSegments","oldSegments","originalNewSegments","makeEqualSegments","compensateSegments","normalizeArcParams","arcParams","maxSW","newSW","_originalX","_originalY","_originalWidth","_originalHeight","xmlns","_locker","_backed","wasStroked","maxTextWidth","alignTextNodes","isStroked","findStyleAndClassAttrs","parseMultiline","adjustLineHeights","allTagAttrs","p3","createTextNodes","strokeTextNodes","applyEllipsis","lineParts","ellipsisWidth","prepareLines","textChanged","textIsEmpty","restoreTitleElement","_that$_getElementBBox","commonHeight","calculateLineHeight","prevLine","setMaxHeight","lineNumber","wordWrapLines","applyOverflowRules","_defs","_animationController","removeByRenderer","simpleRect","stops","_createGradientStops","_stop$stopColor","stepTo2","stepBy15","patternUnits","patternContentUnits","_getPatternUnits","_getPointsWithYOffset","methodArgs","clipPath","clipCircle","gaussianBlur","flood","composite","in2","operator","finalComposite","filterAttrs","offsetAttrs","floodAttrs","brightFilter","slope","componentTransferElement","_grayScaleFilter","lightenFilter","_defsElementsStorage","byHash","baseId","refToHash","nextId","drawPattern","storageId","drawFilter","storageItem","DEFAULT_BAR_GROUP_PADDING","getBarOverlapGroup","adjustBarSeriesDimensionsCore","seriesStackIndexCallback","_series$","_series$2","commonStacks","allArguments","seriesInStacks","_series$3","isDateArgAxis","barsArea","pointsByArgument","currentStacks","ignoreEmptyPoints","isStackExist","calculateParams","stackIndex","barPadding","validateBarPadding","barWidth","correctCoordinates","correctPointCoordinates","correctStackCoordinates","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","ACCENT_COLOR","BACKGROUND_COLOR","TITLE_COLOR","SUBTITLE_COLOR","TEXT_COLOR","BORDER_COLOR","primaryTitleColor","secondaryTitleColor","gridColor","axisColor","rangeSelector","selectedRangeColor","sliderMarker","sliderHandle","sparkline","pointColor","minColor","maxColor","treeMap","bullet","valueIndicators","rangebar","textcloud","baseThemeName","WHITE","BLACK","CONTRAST_ACTIVE","MARKER_COLOR","menuButtonColor","activeBackgroundColor","activeColor","selectedBorderColor","selectedColor","valueErrorBar","hoverStyle","selectionStyle","pie","doughnut","donut","rangeContainer","twocolorneedle","secondColor","trianglemarker","barGauge","hoveredBorderColor","hoveredColor","backColor","backOpacity","controlBar","tile","polar","funnel","sankey","SOME_GREY","RANGE_COLOR","GREY_GREEN","LINE_COLOR","TARGET_COLOR","POSITIVE_COLOR","firstLastColor","barPositiveColor","barNegativeColor","winColor","lossColor","targetColor","LIGHT_GREY","RED","PRIMARY_TITLE_COLOR","SECONDARY_TITLE_COLOR","SOLID","subtitle","loadingIndicator","textAlignment","interactive","edgeLength","radialOffset","showForZeroValues","maxLabelCount","dataPrepareSettings","scatter","stackedline","stackedspline","fullstackedline","fullstackedspline","stepline","stackedarea","fullstackedarea","fullstackedsplinearea","steparea","spline","splinearea","stackedsplinearea","stackedbar","fullstackedbar","rangearea","rangesplinearea","candlestick","reduction","horizontalAxis","verticalAxis","adjustOnZoom","minDiameter","hasPositiveMeaning","_circular","scaleDivisionFactor","indentFromTick","valueIndicatorType","subvalueIndicatorType","indentFromCenter","spindleSize","spindleGapSize","beginAdaptingAtRadius","triangleneedle","secondFraction","_linear","horizontalOrientation","verticalOrientation","relativeInnerRadius","barSpacing","connectorWidth","invalidRangeColor","snapToTicks","moveSelectedRangeByClick","manualRangeSelectionEnabled","allowSlidersSwap","bottomIndent","selectedBorderWidth","selectedStep","backStep","hoveredBorderWidth","areaOpacity","pointSymbol","winlossThreshold","showFirstLast","showMinMax","showTarget","showZeroLevel","closed","hoverEnabled","algorithm","neckWidth","neckHeight","targetField","weightField","useNodeColors","colorMode","FONT_FAMILY","LIGHT_LABEL_COLOR","DARK_TITLE_COLOR","DARK_LABEL_COLOR","DARK_BACKGROUND_COLOR","LABEL_BORDER_COLOR","BREAK_STYLE_COLOR","getMaterialColorScheme","accentName","accentColor","materialAccents","accent","processTitleLength","pickMarginValue","_params","_hasText","_titleElement","_clipRect","_subtitleElement","_updateOptions","_updateStructure","_updateTexts","subtitleOptions","subtitleElement","_baseLineCorrection","_shiftSubtitle","_updateBoundingRectAlignment","processTitleOptions","isLayoutChanged","_updateBoundingRect","_correctTitleLength","_this$getCorrectedLay","srcBox","hideElement","createTextHtml","_widgetRoot","_textHtmlContainers","_textGroupHtml","_textHtml","_customizeTooltip","textGroupHtml","isMoving","_ref$templateCallback","templateCallback","skipTemplate","htmlContainers","containerToTemplateRender","_riseEvents","_moveWrapper","normalizedCSS","forceEvents","plaqueBBox","_specialFormat","specialFormat","percentPrecision","getSpecialFormatOptions","containerBox","_initTooltip","_disposeTooltip","_setTooltipRendererOptions","_setTooltipOptions","onTooltipShown","onTooltipHidden","nonDiscrete","rangeLength","_categoriesInfo","convertAngleToRendererSpace","centerCoords","normalizedRadius","convertToVisualRange","degreesToRadians","decreaseGaps","fillId","getDecimalOrder","getAppropriateFormat","getVerticallyShiftedAngularCoords","getPower","opt1","opt2","noArc","angleDiff","roundValue","PI_DIV_180","parsedHeight","relativeHeightPanes","weightSum","weightHeightCount","emptyHeightPanes","emptyHeightCount","weightForEmpty","emptyWeightSum","rangeFromOptions","h2","w2_","h2_","distributedSpace","paneSpace","totalCustomSpace","calcLength","LN10","MAX_PIXEL_COUNT","_isNaN","numDefsSvgElements","angleInRadians","diffX","diffY","cn","selectByKeys","decreaseFields","eachDecrease","decrease","dec","normalizeBBoxField","arrayGaps","stored","fontOptions","phi","generatedSeries","seriesOrder","nameFieldValue","orderedName","swapBuf","categoriesValue","indexStartValue","indexEndValue","lastIdx","rangeValue","transformValue","horizontalOffset1","verticalOffset1","verticalOffset2","horizontalOffset2","_funnel","_tiling","_tiling2","_tiling3","NODES_CREATE_CHANGE","getLegendItemState","itemState","addAlgorithm","dxFunnel","onHoverChanged","_change_TILING","convertCoord","figure","_change_DRAWN","_change_NODES_CREATE","_change_TILES","_suspend","_resume","_hitTestTargets","processedData","getAlgorithm","percents","normalizeValues","itemOptions","figures","getFigures","curData","getAllItems","baseBorder","Item","getNormalStyle","OUTSIDE_POSITION","INSIDE_POSITION","isOutsidePosition","correctYForInverted","getOutsideRightLabelPosition","getOutsideLeftLabelPosition","getInsideLabelPosition","_labels","_labelRect","resetEllipsis","_defaultLabelTextAlignment","labelRect","getColumnLabelLeftPosition","getColumnLabelRightPosition","halfBorderWidth","_correctLabelWidth","correctLabelPosition","setFigureToDrawConnector","requiredSpace","removeEmptySpace","isLeftPos","minX","connectorStrategy","connectorIndent","verticalCorrection","isLabelInside","prepareLabelPoints","findFigurePoint","adjustPoints","getConnectorStrategy","Label","defaultTextAlignment","labelFont","labelBorder","labelConnector","backgroundAttr","connectorAttr","getLabelOptions","nextValue","setDefault","algorithms","defaultAlgorithm","halfNeckWidth","offsetFromCorner","funnelHeight","neckLeftCorner","neckRightCorner","figureCoords","_tooltipIndex","_moveTooltip","percentText","dataKeyModifier","getProxyData","tooltipData","proxyData","_dataKey","_base_gauge","_circular_gauge","_center_template","BarWrapper","_getSampleText","getSampleText","_compareArrays","_convertAngleToRendererSpace","_getCosAndSin","_patchFontOptions","_isFinite","_noop","OPTION_VALUES","BaseGauge","_barsGroup","_animateComplete","_checkOverlap","_setupDomainCore","setDomain","_baseValue","_setupCodomain","_getApproximateScreenRange","getCodomainRange","_setupAnimationSettings","_animationSettings","_cleanContent","textEnabled","_defaultFormatOptions","_textIndent","connectorColor","textY","_applyMainLayout","_measureMainElements","horizontalMargin","verticalMargin","inverseHorizontalMargin","inverseVerticalMargin","_outerRadius","_innerRadius","_barSpacing","endCoord","baseAngle","_arrangeBars","_beginValueChanging","barSize","_setBarsCount","textRadius","unitOffset","generateColors","arrange","_noAnimation","_animateBars","_updateBars","_endValueChanging","_dummyBackground","applyValue","overlapStrategy","newBars","_dividePoints","_clearLabelsCrossTitle","_drawConnector","_clearOverlappingLabels","_isLabelShifted","_bar","coordStart","getStartCoordsArc","_getCosAndSin2","xStart","yStart","lastCoords","_lastCoords","indentFromLabel","originalPoints","xDeviation","yDeviation","_line","stackBars","isRightSide","_bar$_text$getBBox","nextIndex","sortedBars","checkIntersect","titleCoords","minY","beginAnimation","barValues","_updateValues","_change_VALUES","_factory","_change_NODES","_change_MOSTLY_TOTAL","labelFormatOptions","legendFormatOptions","itemTextFormat","setAngles","compareFloats","_visible","getTooltipParameters","setAngle","anotherBar","calculateLabelCoords","anotherCoords","bottomRight","_processValue","_delta","array1ValueIsNaN","array2ValueIsNaN","compareArraysElements","_translator1d","_theme_manager","_valueChangingLocker","createTranslator","createTracker","_setTrackerCallbacks","setCallbacks","tooltipParameters","_cleanCore","_isValidDomain","setTooltipState","_innerRect","layoutCache","_change_DOMAIN","_setupDomain","_applyMostlyTotalChange","getDomain","_setupDefaultFormat","_containerBackgroundColor","_calculateSize","Translator1D","getDomainStart","getDomainEnd","BaseTextCloudMarker","BaseRangeBar","BaseIndicator","BaseElement","_createRoot","_trackerElement","_setupAnimation","_actualPosition","_runAnimation","_className","_currentValue","_isEnabled","_trackerInfo","COEFFICIENTS_MAP","rb","bl","textCloudOptions","_getTextCloudOptions","cloudWidth","_textUnitWidth","cloudHeight","_textHeight","tailWidth","tailLength","getTextCloudInfo","_correctCloudType","_textVerticalOffset","_measureText","sampleText","_textWidth","_textFullWidth","_textFullHeight","_isTextVisible","_updateBarItemsPositions","_updateTextPosition","_updateLinePosition","_updateBarItems","spaceColor","_setBarSides","_endPosition","_basePosition","baseValue","_space","_getSpace","_backItem1","_backItem2","_spaceItem1","_spaceItem2","_updateTextItems","_getTextAlign","_getFontOptions","_setTextItemsSides","_buildItemSettings","back1","back2","main1","main2","_mainItem","_createBarItem","_getTooltipPosition","_base_indicators","subtractSegmentAsc","segmentStart","segmentEnd","otherStart","otherEnd","subtractSegmentDesc","areEqualValues","isValidSegmentAsc","isValidSegmentDesc","_container","_getRanges","totalStart","totalEnd","totalDelta","isValidSegment","subtractSegment","backgroundRanges","startWidth","rangeOptions","classIndex","keepLastColorInEnd","paletteColor","sub","subs","newRanges","newBackgroundRanges","_processOptions","_ranges","_createRange","getColorForValue","circularIndicators","_circular_range_container","_normalizeAngle","dxCircularGauge","dxGauge","_factoryMethods","_gridSpacingFactor","_scaleTypes","subTheme","_updateScaleTickIndent","scaleOptions","textParams","scaleOrientation","tickCorrection","startCosSin","endCosSin","startCos","startSin","endCos","endSin","getSides","setCodomain","_getElementLayout","_shiftScale","_getScaleLayoutValue","_getTicksOrientation","_getTicksCoefficients","coefs","inner","outer","_correctScaleIndents","inverseHorizontalOffset","inverseVerticalOffset","scaleMeasurement","minRadius","maxHorizontalOffset","maxVerticalOffset","maxInverseHorizontalOffset","maxInverseVerticalOffset","measurements","srcRect","aspectRatio","selfAspectRatio","selectRectByAspectRatio","totalRadius","createIndicator","createIndicatorCreator","rectangleneedle","RangeContainer","correctRadius","SimpleIndicator","_getRadius","_getIndentFromCenter","_renderPointer","_clearPointer","NeedleIndicator","_adjustOffset","_renderSpindle","_spindleOuter","_spindleInner","rectangleNeedle","triangleNeedle","twoColorNeedle","y4","fraction","_firstElement","_spaceElement","_secondElement","triangleMarker","textCloud","nAngle","rangeBar","_maxSide","_minSide","_lineFrom","_lineTo","_textRadius","mainPosition1","mainPosition2","basePosition","actualPosition","_base_range_container","_inner","_outer","_strict","indicatorType","OPTION_VALUE","OPTION_SUBVALUES","DEFAULT_NUMBER_MULTIPLIERS","processValue","fallbackValue","parseArrayOfNumbers","_setupValue","__subvalues","_setupSubvalues","subvalues","_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","minorScaleDivisionFactor","useRangeColors","getCodomain","_updateIndicatorSettings","_prepareIndicatorSettings","defaultTypeField","_prepareValueIndicator","_prepareSubvalueIndicators","_createSubvalueIndicatorsSet","ValueIndicatorsSet","isRecreate","dummy","__value","vals","_changeSubvalues","valueIndicator","subvalueIndicator","_change_VALUE","_change_SUBVALUES","trackerType","trackerIndex","optionItems","currentValues","optionList","newValueIndicators","userSettings","accessPointerValue","_indicators","_colorPalette","_sample","_generatePalette","_getIndicatorOptions","_adjustIndicatorsCount","indicatorsLen","linearIndicators","_linear_range_container","dxLinearGauge","_getInvertedState","textCorrection","verticalTextCorrection","isIndentPositive","setInverted","maxBound","selectRectBySizes","rhombus","_zeroPosition","getCodomainStart","_inverted","maxSide","_minBound","_maxBound","_lineStart","_lineEnd","_textPosition","backPosition1","backPosition2","crossCenter","alongCenter","_subTheme","_showTooltipCallback","_tooltipEvent","data_target","data_info","_targetEvent","_tooltipTarget","_hideTooltipCallback","_hideTooltipTimeout","handleTooltipMouseOver","handleTooltipMouseOut","handleTooltipTouchStart","handleTooltipTouchEnd","handleTooltipMouseWheel","active_touch_tooltip_tracker","_y","handleDocumentTooltipTouchStart","currentPalette","baseColorSet","themeDefault","getPalette","themeDefaultPalette","colorCount","sourceCount","addColor","createDiscreteColors","color1","color2","registerPalette","paletteName","simpleSet","indicatingSet","gradientSet","palettes","_palettes","currentPaletteName","HIGHLIGHTING_STEP","DEFAULT_PALETTE","RingBuf","ind","paletteObj","_extensionStrategy","stepHighlight","paletteSteps","_reset","originalPalette","getNewColor","getAlteredPalette","getAlternateColorsStrategy","paletteCount","cycles","cycleIndex","cycleCount","diapason","minL","maxL","cycleMiddle","cycleDiff","getExtrapolateColorsStrategy","extendedPalette","distributeColors","colorsCount","distribution","getColorAndDistance","extendPalette","colorInGroups","currentColorIndex","cleanColorIndices","paletteWithEmptyColors","paletteLength","c2","getColorMixer","currentColor","lightness","seriesSpacing","SELECTED_STATE","LEGEND_ACTIONS","correctPercentValue","pieSizeEqualizer","removeFromList","pies","getSizeGroup","allPies","getSizeGroupLayout","minPie","sizeGroupLayout","dxPieChart","diameter","sizeGroup","arrangePoints","maxPointCount","getPointsCount","setMaxPointsCount","legendItem","itemsByArgument","argumentCount","_getLayoutSeries","drawnLabels","correctPosition","drawLabelsWOPoints","hideLabels","_sizeGroupLayout","_getLayoutSeriesForEqualPies","innerRad","lengthVisibleSeries","_setGeometry","_point$series","pointState","getLegendItemAction","labelsWereOverlapped","wordWrapApplied","iterationCount","moveLabelsFromCenter","adjustLabels","inverseDirection","seriesByPosition","labelsOverlapped","shiftInColumnFunction","dividePoints","middleAngle","shiftCallback","overlapped","_abstractSeries","_updateAxesLayout","segmentsDirection","dxPolarChart","axisUserOptions","argumentAxisOptions","useSpiderWeb","_change_USE_SPIDER_WEB","spiderWidget","sizeStorage","canvasClipRectID","_createClipPathForPane","_createClipCircle","layoutInfo","argAngle","translatedRadius","consts","HEIGHT_COMPACT_MODE","trackerSettings","emptySliderMarkerText","pointerSize","tickIntervalsInfo","_sliders_controller","_range_view","_series_data_source","START_VALUE","VALUE","VALUE_CHANGED","CONTAINER_BACKGROUND_COLOR","INVISIBLE_POS","calculateMarkerHeight","sliderMarkerOptions","getTextBBox","calculateScaleLabelHalfWidth","calculateValueType","firstValue","typeFirstValue","typeSecondValue","validType","showScaleMarkers","checkLogarithmicOptions","defaultLogarithmBase","calculateScaleAreaHeight","visibleMarkers","labelScaleOptions","markerScaleOptions","placeholderHeight","getNextTickInterval","getPrecisionForSlider","dxRangeSelector","rangeViewGroup","slidersGroup","scaleGroup","trackersGroup","AxisWrapper","updateSelectedRange","_rangeView","RangeView","_slidersController","SlidersController","lastSelectedRange","_rangeOption","_clientRect","_change_SCALE","_setValueByDataSource","selectedRangeUpdateMode","valueIsReady","__skipAnimation","_dataSourceIsAsync","rangesInfo","allScaleSelected","_change_SLIDER_SELECTION","setSelectedRange","_validateRange","ensureValueInvalid","__isResizing","currentAnimationEnabled","_completeSeriesDataSourceCreation","seriesDataSource","isShowChart","_createSeriesDataSource","isCompactMode","calculatedValueType","validateStartEndValues","messageToIncidentOccurred","minRange","prepareScaleOptions","getCalculatedValueType","argTranslatorRange","rangeForCategories","translatorRange","getBoundRange","calculateTranslatorRange","ticksInfo","tickCountByInterval","tickCountByScreen","gridSpacingFactor","calculateTickIntervalsForSemidiscreteScale","updateTickIntervals","chartThemeManager","getThemeManager","checkDateMarkerVisibility","isEmptyInterval","altIntervals","updateScaleOptions","isDateScale","isMarkerVisible","intervalX","updateTranslatorRangeInterval","_prepareSliderMarkersOptions","indents","indentOptions","leftMarkerHeight","rightMarkerHeight","placeholderWidthLeft","placeholderWidthRight","startTickValue","endTickValue","leftScaleLabelWidth","rightScaleLabelWidth","calculateIndents","rangeContainerCanvas","_updateElements","isNotSemiDiscrete","_isUpdating","SeriesDataSource","dataSourceField","argRange","doNotSnap","isTypeDiscrete","isValueTypeDatetime","majorUnit","getMinorTickIntervalUnit","getSelectedRange","getSharpDirection","checkShiftedLabels","checkLabelsOverlapping","nearestLabelsIndexes","getTwoVisibleLabels","_updateSelectedRangeCallback","prepareAxisOptions","markerTrackers","createDateMarkersEvent","_this$_axis$visualRan","backgroundOption","backgroundTheme","isAnimationEnabled","canvasWidth","seriesList","getSeries","_extGroups","drawSeriesView","_indent","_valueAxis","_hideChart","_calculateSeries","_seriesFamilies","newSeries","barOptions","processSeriesFamilies","rangeData","rangeYSize","rangeVisibleSizeY","minIndent","maxIndent","valRange","_slider_marker","_sliderGroup","_marker","applyPosition","isAnimated","slider","_setValid","setValid","_colors","_setText","verticalRange","sliderHandleOptions","_formatOptions","applyOptions","getScreenRange","sliderHandleWidth","trackerWidth","getSliderTracker","setDisplayValue","setOverlapped","isOverlapped","getTracker","getCloudBorder","getBorderPosition","POINTER_SIZE","SliderMarker","isLeftPointer","_isLeftPointer","_isOverlapped","_border","_getRectSize","textSize","_paddingLeftRight","_paddingTopBottom","_getTextSize","_getAreaPointsInfo","rectSize","rectWidth","rectLeftBorder","rectRightBorder","pointerRightPoint","pointerCenterPoint","pointerLeftPoint","isLeft","correctCloudBorders","checkPointerBorders","borderPosition","_borderPosition","currentTextSize","updateSliderMarker","pointsData","_textSize","screenRange","setColor","_common2","buildRectPoints","isLess","isGreater","selectClosestValue","dummyProcessSelectionChanged","_lastSelectedRange","_processSelectionChanged","sliderParams","_areaTracker","_selectedAreaTracker","_shutter","_sliders","getTrackerTargets","selectedArea","sliders","selectedRange","rangeBounds","fullTicks","_verticalRange","_minRange","_maxRange","_animationEnabled","_allowSlidersSwap","isValueProlonged","_isCompactMode","_shutterOffset","_updateSelectedView","_isOnMoving","callValueChanged","_updateSelectedRange","_applyTotalPosition","restoreSetSelectedRange","areOverlapped","_applyAreaTrackersPosition","_applySelectedRangePosition","position1","position2","_adjustVisualRange","getCorrectValue","beginSelectedAreaMoving","_dockSelectedArea","_moveSelectedArea","moveSelectedArea","screenPosition","placeSliderAndBeginMoving","firstPosition","secondPosition","antiCompare","beginSliderMoving","minPosition","maxPosition","staticPosition","compareMin","compareMax","swapOffset","invalidStateValue","_changeMovingSlider","foregroundSlider","MIN_MANUAL_SELECTING_WIDTH","eventTouches","isMSPointerLeftClick","MSPOINTER_TYPE_TOUCH","MSPOINTER_TYPE_MOUSE","isTouches","isMultiTouches","stopPropagationAndPreventDefault","isTouchEventArgs","getEventPageX","initializeAreaEvents","getRootOffsetLeft","_docEvents","movingHandler","docEvents","initializeSelectedAreaEvents","_docEvents2","initializeSliderEvents","_docEvents3","_slider$on","msTouchAction","_sankey","_tooltip2","setTooltipCustomOptions","COLOR_MODE_TARGET","COLOR_MODE_SOURCE","COLOR_MODE_NONE","COLOR_MODE_GRADIENT","_hasCycle","struct","hasCycle","GRAY","routines","maxOfArray","callback_function","getVertices","links","vert","getAdjacentVertices","vertex","avert","getReverseAdjacentVertices","_sortedList","vertices","allVertices","_depthFirstSearch","averts","lp","incoming","outgoing","computeLongestPaths","sortedVertices","maxLP","adjacentVertex","_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","_fitAllNodesHeight","_fitNodeHeight","nodeRects","heightOfLinksSummaryIn","heightOfLinksSummaryOut","rectLeft","rectRight","p_UpLeft","p_DownLeft","p_UpRight","p_DownRight","curve_width","computeLayout","linksData","availableRect","box1","box2","compileAttrs","itemBaseOptions","borderOpacity","widgetOffset","connection","adjacentNodeHover","overlayStates","isAdjacentNodeHovered","_applyLinksAppearance","setAdjacentNodeHover","_compileAttrs","linksIn","linksOut","adjacentLink","_applyNodesAppearance","weightIn","weightOut","getLabelAttributes","labelSettings","compileLabelAttrs","_node_item","_link_item","getConnectedLinks","linkType","invertedAttrName","connected","dxSankey","_groupLinks","_groupNodes","_groupLabels","_drawLabels","_nodes","_gradients","onNodeHoverChanged","onLinkHoverChanged","_change_LABELS","_applyLabelsAppearance","_change_BUILD_LAYOUT","_buildLayout","_change_NODES_DRAW","_change_LINKS_DRAW","overlayElement","hasItemOwnProperty","nodeOptions","layoutBuilder","_layoutMap","nodeColors","nodeIdx","linkOptions","totalNodesNum","_shadowFilter","cascadeNodes","nodeItem","availableWidth","labelOffsetY","labelOffsetX","moveLabel","thisNode","thisBox","otherNode","otherBox","textData","getAllLinks","linkTemplate","nodeTemplate","linkTooltipTemplate","nodeTooltipTemplate","generateCustomCallback","customizeNodeTooltip","defaultCustomizeNodeTooltip","customizeLinkTooltip","defaultCustomizeLinkTooltip","templateArgs","customCallback","defaultCallback","objectInfo","onNodeClick","onLinkClick","_scatter_series","_line_series","chartLineSeries","polarLineSeries","calculateBezierPoints","_calculateBezierPoints","baseAreaMethods","_createBorderElement","_createLegendState","_getColorId","_options$color","getValueRangeInitialValue","_getDefaultSegment","defaultSegment","_updateElement","lineParams","areaParams","borderElement","_removeElement","_drawElement","_bordersGroup","_elementsGroup","_applyStyle","_graphics","graphic","_parseStyle","defaultBorderColor","_options$highlight","_parseLineOptions","_areBordersVisible","singlePointSegment","_defaultTrackerWidth","_getMainPointsFromSegment","areaSeries","_prepareSegment","processedPoints","_processSinglePointsAreaSegment","areaPoints","createAreaPoints","edgeOffset","defaultX","defaultY","lastSegment","_closeSegment","stepLineSeries","_calculateStepLinePoints","_areaPointsToSplineAreaPoints","previousMiddlePoint","middlePoint","areaSegment","areaDefaultSegment","_getNearestPoints","_getBezierPoints","obtainCubicBezierTCoef","scatterSeries","_area_series","chartSeries","polarSeries","baseBarSeriesMethods","_parsePointStyle","_applyMarkerClipRect","_setGroupsSettings","firstDrawing","_getAffineCoordOptions","_drawPoint","hasAnimation","_getMainColor","_createPointStyles","pointOptions","_pointOptions$color","mainColor","colorId","_turnOffHatching","labelColor","_updatePointsVisibility","_points","_getOptionsForPoint","_animatePoints","drawnPoints","getMarkerCoords","_patchMarginOptions","_this$getArgumentAxis","_defaultAggregator","_defineDrawingState","animateFunc","_drawnPoints","isArgument","oppositeCoord","isOpposite","coordName","oppositeCoordName","tmpCoord","getCenterCoord","_checkAxisVisibleAreaCoord","_createGroups","_setMarkerGroupSettings","markersSettings","_getMarkerGroupOptions","groupSettings","tmpPoint","mixins","_base_point","lineSeries","barSeries","_range_series","_bubble_series","pieSeries","financialSeries","stackedSeries","seriesNS","NORMAL","SELECTION","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","_legendCallback","getValueChecker","legendStyles","_createStyles","wideId","forceClipping","clipLabels","_paneClipRectID","_widePaneClipRectID","_forceClipping","_clipLabels","applyClip","resetClip","getTagField","tagField","_createPoint","_getCreatingPointOptions","lastSelectionMode","pointByArgument","_getRangeData","_deleteGroup","oldType","newType","_checkType","_checkPolarBarType","_resetType","_pointOptions","_seriesModes","_stackName","barOverlapGroup","_processEmptyValue","_disposePoints","_argumentChecker","_valueChecker","_getOldPoint","oldPointsByArgument","_canRenderCompleteHandle","_getPointDataSelector","itemsWithoutArgument","pointDataItem","_endUpdateData","argumentRange","aggregationInfo","_resample","_normalizeUsingAllAggregatedPoints","_createPoints","_calculateErrorBars","skippedFields","_checkData","_removeOldSegments","_segments","_trackers","_prepareSegmentsPosition","isCloseSegment","translated","setDefaultCoords","hasCoords","_drawSegments","_drawElements","groupForPoint","errorBars","_errorBarGroup","setInvisibility","closeSegment","_drawSegment","legendCallback","_appendInGroup","_isAllPointsTranslated","_changeStyle","_translatePoints","_this$_points","_applyVisibleArea","_setLabelGroupSettings","_applyElementsClipRect","_applyClearingSettings","seriesType","_setPointsView","_resetPointsView","_resetNearestPoint","_nearestPoint","_setSelectedState","_releaseSelectedState","_canChangeView","skipPoints","currentNearestPoint","_getMainAxisName","areLabelsVisible","getLabelVisibility","customizeObject","customLabelOptions","customOptions","useLabelCustomOptions","usePointCustomOptions","_parsePointOptions","_preparePointOptions","_changeVisibility","parsedOptions","_getAggregationMethod","customAggregator","_aggregators","addAggregatedData","aggregationMethod","intervalStart","intervalEnd","dataInInterval","aggregatedData","_aggregationInfo","getAllPoints","_createAllAggregatedPoints","getPointByPos","applyView","setPointSelectedState","releasePointSelectedState","hoverPoint","setPointHoverState","clearPointHover","releaseHoverState","skipPointsCreation","argValue","seriesModes","targetOptions","pointHoverMode","selectionModeOfPoint","_hoverPointHandler","_clearPointHoverHandler","_selectPointHandler","_deselectPointHandler","_deletePoints","_deleteTrackers","_trackersGroup","_rangeData","getOpacity","getMarkersGroup","getRenderer","removePointElements","deleteMarker","removeGraphicElements","removeBordersGroup","_bar_series","chartBarSeries","polarBarSeries","_createErrorBarGroup","baseGetter","_getIntervalCenter","labelAnimFunc","_defaultDuration","defaultStyle","defaultPositiveStyle","reductionStyle","reductionPositiveStyle","reductionPositive","markerSettings","_createGroup","defaultPointOptions","creatingPointOptions","_predefinedPointOptions","_getPointOptions","openValue","lowValue","closeValue","prevLevelValue","openValueField","highValueField","lowValueField","closeValueField","reductionValue","isReduction","innerColor","_getDefaultStyle","mainPointColor","_getReductionStyle","reductionColor","positiveStyle","ohlc","vx","openY","closeY","lowY","highY","processDisplayFormat","pointInfo","actualText","continueProcess","startBracketIndex","startPlaceHolderChar","endBracketIndex","endPlaceHolderChar","getValueByPlaceHolder","_localization","placeholderFormatDelimiter","placeHolder","customFormat","customFormatIndex","continuousRangeCalculator","createGetLogFunction","getRangeCalculator","rangeCalculator","getInitialRange","processCategories","calculateRangeBetweenPoints","extraPoint","getValueForArgument","isLineSeries","getViewportReducer","calculatePointBetweenPoints","viewportFilter","startCalc","endCalc","dictionary","i1","argumentCalculator","valueRangeCalculator","viewportReducer","isArgumentCorrect","getArgumentRangeInitialValue","reducer","argumentViewPortFilter","valueViewPort","valueViewPortFilter","isEdge","isMinValueInViewPort","isMaxValueInViewPort","addEdgePoints","clonePoint","newAngle","getTangentPoint","nextStepAngle","correctAngle","lineMethods","_applyGroupSettings","getDefaultCoords","_sortPoints","segmentCount","defaultTrackerWidth","strokeWidthFromElements","_drawTrackerElement","_updateTrackerElement","nearestPoints","_getNearestPointsByCoord","needValueCoord","vy","bezierPoints","pointsCopy","checkExtremum","otherPointCoord","pointCoord","controlCoord","leftControlX","leftControlY","rightControlX","rightControlY","xCur","yCur","leftPoint","rightPoint","bezierCoordName","bezierOppositeCoordName","p0","preparedPoints","_getTangentPoints","_getRemainingAngle","normAngle","_modifyReflectedPoint","lastPoint","differenceAngle","isLastSegment","tangentPoints","betweenAngle","coordParam","isInsideInterval","neighborPoints","stepAngle","b1","firstPointCopy","lastPointCopy","rearwardRefPoint","forwardRefPoint","chartScatterSeries","setLabelTrackerData","updateLabelCoord","_pointsCount","labelSpace","paintNullPoints","pointsByArg","_getArrangeMinShownValue","minSegmentSize","totalMinSegmentSize","totalNotMinValues","normalInitialValue","_applyArrangeCorrection","minShownValue","isClockWise","shiftedAngle","zeroTotalCorrection","updatedZeroValue","_removePoint","isAllPointsNegative","labelRadius","_visibleArea","maxX","maxY","animatePoint","completeFunc","_symbol_point","getLabelOrientation","_getValTranslator","isDiscreteValue","isFullStacked","correctOptions","yCorrection","xCorrection","_calculateVisibility","_this$_getVisibleArea","_getVisibleArea","inVisibleArea","_getGraphicBBox","_getLabelConnector","_getLabelPosition","_getLabelCoords","_getLabelCoordOfPosition","graphicBBox","_showForZeroValues","_drawMarker","_getStyle","_that$getMarkerCoords","_getSettingsForTracker","getGraphicSettings","_getEdgeTooltipParams","xCoord","yCoord","invertedBusinessRange","_truncateCoord","_getErrorBarBaseEdgeLength","_translateErrorBars","argVisibleArea","_errorBarPos","_translate","valIntervalName","argIntervalName","_getArgTranslator","valVisibleArea","minVal","_updateMarker","isStartFromAxis","_bar_point","_bubble_point","_pie_point","_range_symbol_point","_range_bar_point","_candlestick_point","_stock_point","_polar_point","SYMBOL_POINT","POLAR_SYMBOL_POINT","BAR_POINT","POLAR_BAR_POINT","PIE_POINT","pointTypes","isNoneMode","_viewCounters","_emptySettings","symbolPoint","barPoint","bubblePoint","piePoint","rangeSymbolPoint","rangeBarPoint","candlestickPoint","stockPoint","polarSymbolPoint","polarBarPoint","_dataItem","_currentStyle","argumentWasChanged","initialArgument","originalArgument","lowError","highError","_fillStyle","_updateLabelData","_needDeletingOnDraw","_needClearingOnDraw","clearMarker","_hasGraphic","_drawErrorBar","_getViewStyle","viewCounters","_checkLabelsChanging","isNewRange","isOldRange","oldOptions","newPointTypeMixin","deleteLabel","_checkSymbol","_checkCustomize","_updateLabelOptions","_getCustomLabelVisibility","isInVisibleArea","valueChecker","_populatePointShape","hideMarker","clearVisibility","_errorBar","_getFormatObject","sharedTooltipValuesArray","tooltipStackPointsFormatObject","rangeText","holeValue","leftHole","minLeftHole","rightHole","minRightHole","getLabel","_getSymbolBBox","sizeText","_storeTrackerR","_getContinuousPoints","openCoord","closeCoord","highCoord","_getCrockPoints","_getPoints","_isReduction","_drawMarkerInGroup","_isPositive","_getMinTrackerWidth","_getMarkerGroup","reductionPositiveMarkersGroup","reductionMarkersGroup","defaultPositiveMarkersGroup","defaultMarkersGroup","centerValue","origY","originalLowValue","originalHighValue","originalOpenValue","originalCloseValue","highValueText","openValueText","closeValueText","lowValueText","_display_format_parser","getClosestCoord","closestCoord","closestDistance","getCrossCoord","barPointStrategy","labelPoint","xc","yc","rotatedBBox","figureCenter","isRectangular","lineIsVertical","symbolPointStrategy","piePointStrategy","_0","_1","isOutside","point1x","point1y","point2x","point2y","selectStrategy","disposeItem","checkBackground","checkConnector","_figure","_textContent","_insideGroup","_connector","_setVisibility","holdInvisible","_holdVisibility","holdVisible","argumentText","totalText","reductionValueText","_updateBackground","_getLabelVisibility","_bBoxWithoutRotation","_getConnectorPoints","_shiftBBox","rowCountChanged","setTrackerData","connectorOffset","_acos","DEG","argumentChanged","initialMinValue","originalMinValue","radiusLabels","_getShiftLabelCoords","_isLabelDrawingWithoutPoints","_checkLabelPosition","_getLabelExtraCoord","_checkVerticalLabelPosition","_getElementCoords","elementRadius","angleFunctions","columnsPosition","_correctLabelCoord","rightBorderX","leftBorderX","angleOfPoint","_checkHorizontalLabelPosition","shiftCoord","seriesStyle","strokeWidthBy2","ly","CANVAS_POSITION_START","CANVAS_POSITION_END","CANVAS_POSITION_DEFAULT","_moveLabelOnCanvas","_getCoords","_checkRadiusForVisibleArea","_lowErrorCoord","_highErrorCoord","_baseErrorBarPos","_getTranslates","_addLabelAlignmentAndOffset","_isPointInVisibleArea","_getErrorBarSettings","errorBarOptions","defaultRadius","middleAngleCorrection","isBetweenAngles","_topLabel","_bottomLabel","edgeLocation","_getLabelMinFormatObject","_checkOverlay","_checkLabelsOverlay","_getOverlayCorrections","topMarker","bottomMarker","emptySettings","markerType","labelsInside","maxFormatObject","_checkImage","_getPositionFromLocation","_getImageBBox","bottomCoord","topCoord","topValue","topCoords","bottomCoords","coordSelector","coord1","coord2","topLocation","corrections","notInverted","customVisibility","topLabel","bottomLabel","visibleTopMarker","visibleBottomMarker","imageOption","rangeMaxPoint","rangeMinPoint","oldSymbol","newSymbol","symbolChanged","oldImages","newImages","topImageChanged","bottomImageChanged","_getSettingsForTwoMarkers","_drawOneMarker","imageSettings","_updateOneMarker","_createMarker","_getImageSettings","visibleRangeArea","visibleArgArea","visibleValArea","notVisibleByArg","notVisibleByVal","rangeValue1Text","rangeValue2Text","rangeValue1","rangeValue2","trackerRadius","xCond","yCond","openYExist","closeYExist","imageChanged","getSquareMarkerCoords","getPolygonMarkerCoords","getTriangleDownMarkerCoords","getTriangleUpMarkerCoords","floorHalfRadius","ceilHalfRadius","getCrossMarkerCoords","properValue","_createImageMarker","_createSymbolMarker","pointSettings","fullGraphicBBox","translates","high","low","isHighDisplayMode","isLowDisplayMode","highErrorOnly","lowErrorOnly","leftHoleTotal","rightHoleTotal","valuePercent","minValuePercent","minTrackerSize","msPointerEnabled","pointerEnabled","trackerR","isSquare","isTriangle","lowErrorValue","highErrorValue","noErrorBar","baseRangeSeries","val1Field","val2Field","_data$reduce","rangeValue1Field","rangeValue2Field","minCoordName","processedMinPointsCoords","bottomLine","drawnElement","bordersGroup","bottomLineParams","bottomBorderElement","_extend3","HIGH_ERROR","LOW_ERROR","VARIANCE","STANDARD_DEVIATION","STANDARD_ERROR","PERCENT","FIXED","variance","expectedValue","getMinMaxAggregator","targetData","baseScatterMethods","_errorBarsEnabled","groupPointsByCoords","normalStyle","sizeValue","fieldsToCheck","allFieldsIsValid","checkFields","_points$0$aggregation","_points$aggregationIn","_calculateAvgErrorBar","aggregationResult","errorBarsOptions","fusionData","calculateAvgErrorBars","_calculateSumErrorBar","calculateSumErrorBars","valueArrayLength","meanValue","errorBarType","floatErrorValue","addSubError","trackers","_trackersTranslator","allPoints","minDistance","pCoord","nCoord","visibleX","visibleY","chartAreaSeries","baseStackedSeries","stackedBar","preparePointsForStackedAreaSegment","forwardPoints","backwardPoints","prevSeriesForwardPoints","pointByArg","_segmentByArg","prevSeriesPoints","prevSeries","getPointsByArgFromPrevSeries","pointerHandler","createAxis","BaseSparkline","_tooltipTracker","_createHtmlElements","_initTooltipEvents","_defaultSize","_disposeWidgetElements","_disposeTooltipEvents","_change_OPTIONS","_change_UPDATE","_tooltipShown","_cleanWidgetElements","_updateWidgetElements","_drawWidgetElements","_getCorrectCanvas","_updateRange","_allOptions","_getTooltipCoords","_getTooltip","_getTooltipData","_that$_renderer$getRo","inCanvas","_tooltipRendererOptions","defaultContentTemplate","_getDefaultTooltipTemplate","optionsToUpdate","_isTooltipEnabled","defaultTemplateNeeded","_options$customizeToo","customizeResult","lineSpacing","borderSpacing","getDefaultTemplate","exportPlugin","_base_sparkline","dxBullet","_zeroLevelPath","_targetPath","_barValuePath","_drawBullet","startScaleValue","endScaleValue","isValueUndefined","isTargetUndefined","_tooltipEnabled","isValidBounds","isValidMin","isValidMax","isValidValue","isValidTarget","_drawBarValue","_drawTarget","_drawZeroLevel","_getTargetParams","translatorY","_getBarValueParams","translatorX","startLevel","endLevel","_getZeroLevelParams","targetText","originalTarget","ALLOWED_TYPES","winloss","_String","selectPointColor","pointIndexes","dxSparkline","_createSeries","_updateSeries","_seriesLabelGroup","_drawSeries","halfPointSize","_prepareDataSource","_prepareSeriesOptions","_simpleDataSource","_getCustomizeFunction","_groupsDataCategories","argField","valField","isDataNumber","parseNumericDataSource","_winlossDataSource","parseWinlossDataSource","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","cacheUid","nextCacheUid","widgetsCache","currentTheme","refreshTheme","registerTheme","registerThemeSchemeAlias","themesSchemeMapping","_generic","_generic2","_generic3","_generic4","_generic5","_generic6","_generic7","_generic8","_material","defaultTheme","themesMapping","findThemeNameByName","scheme","colorScheme","findThemeNameByPlatform","targetThemeName","themeInfo","splitter","getThemeInfo","registerThemeName","mergeScalar","mergeObject","patchAxes","patchMapLayers","patchTheme","directionOffset","canvasOptions","_canvasOptions","categoryIndex","_categoriesToPoints","specialValue","translateSpecialCase","stickInterval","stickDelta","_calculateProjection","zoomEvent","translateCategories","visibleCount","categoriesLength","newVisibleCategories","newInterval","_getDiscreteInterval","stickOffset","_businessRange","_add","_intervalize","bp","rangeMax","rangeMin","rMin","rangeMinVisible","rMax","rangeMaxVisible","_conversionValue","origInterval","_calculateUnProjection","stackValue","baseMethod","_isDate","minSelector","maxSelector","minVisibleSelector","maxVisibleSelector","baseSelector","axisTypeSelector","otherLessThan","thisValue","otherGreaterThan","compareAndReplace","otherValueDefined","otherRange","otherCategories","compareAndReplaceByField","controlValuesByVisibleBounds","visibleValueField","checkField","setZeroLevel","filteredSeriesCategories","notAFunction","domain1","domain2","_domain1","_domain2","_domainDelta","codomain1","codomain2","_codomain1","_codomain2","_codomainDelta","getCodomainEnd","getDomainRange","_category_translator","_interval_translator","_datetime_translator","_logarithmic_translator","CANVAS_PROP","dummyTranslator","validateCanvas","getCheckingMethodsAboutBreaks","isStartSide","isEndSide","isInBreak","isBetweenBreaks","prevBreak","lastBreak","getBreaksSize","_Translator2d","_prepareCanvasOptions","categoriesToPoints","makeCategoriesToPoints","_oldMethods","_checkingMethodsAboutBreaks","_translateBreaks","_calculateSpecialValues","_breaks","_checkValueAboutBreaks","inBreak","break","correctedCategoriesCount","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","_this$_businessRange","getDateTimeMinScale","commonBreakSize","_tree_map","nodeProto","suspend","resume","collectNodes","proxy","onNodesRendering","_createProxyType","getParent","getChild","getChildrenCount","getAllChildren","isLeaf","customLabel","_partialState","_partialLabelState","resetCustomization","_extendProxyType","beginBuildNodes","buildNode","endBuildNodes","_resetNodes","_topNode","_updateStyles","updateStyles","forceReset","calculateState","_updateLabelStyle","updateLabelStyle","calculateLabelState","labelState","resetNodes","discreteColorizer","colorizeGroups","getNodesCount","getLeafsCount","discreteGroupColorizer","discreteLeafColorizer","allNodes","prepareDiscreteGroupColors","addColorizer","_colorizing","gradientColorizer","createColorCodeGetter","createSimpleColorizer","calculateRange","createGuessingColorizer","colorizer","colorizers","colorCodeField","getValueAsColorCode","getColorizer","defaultColorizerName","wrapGroupColorGetter","wrapLeafColorGetter","setDefaultColorizer","_groupColor","rangeColorizer","getPaletteIndex","buildRectAppearance","buildTextAppearance","onDrill","drillDown","_drillToNode","_drilldownIndex","resetDrillDown","drillUp","getCurrentNode","setNodeStateRecursive","_hoverEnabled","statesMap","additionalStates","_hoverNode","_hoverIndex","_groupHoverEnabled","_applyHoverState","updateTile","minLevel","_buildState","labelParams","_getState","treeFiller","idField","parentField","_processDataSourceItems","tmpItems","_selectionList","_selectNode","selectionList","tileToFront","bringSelectedTilesToForeground","_applySelectionState","_calculateState","calculateAdditionalStates","buildAdditionalStates","buildSidesData","_staticSideIndex","staticSideIndex","getStaticSideIndex","variedSideIndex","staticSideDirection","variedSideDirection","staticSideIndexOffsets","directionToIndexOffsets","variedSideIndexOffsets","staticSide","variedSide","static1","static2","varied1","varied2","staticDir","variedDir","calculateRectangles","totalRect","sidesData","variedSidePart","setDefaultAlgorithm","sliceAndDiceAlgorithm","sliceAndDice","isFixedStaticSide","doStep","nextAspectRatio","nextSum","totalAspectRatio","bestAspectRatio","areaToValue","findAppropriateCollection","_tilingSquarified","squarified","getProxy","lefttoprightbottom","leftbottomrighttop","righttopleftbottom","rightbottomlefttop","pickPositiveInteger","dxTreeMap","_rectOffsets","_tilesGroup","_tilingRect","labelField","layoutAlgorithm","layoutDirection","_changeDataSource","_isDataExpected","_isSyncData","_change_TILE_SETTINGS","_changeTileSettings","_change_GROUP_SETTINGS","_changeGroupSettings","_change_MAX_DEPTH","_changeMaxDepth","_change_NODES_RESET","_performTiling","_change_LABELS_LAYOUT","_performLabelsLayout","traverseDataItems","itemsField","_onNodesCreated","_calculateLabelSettings","tileEdge","tileInner","groupPadding","_headerHeight","_groupPadding","headerEdge","headerInner","_getTextBBox","tileLabelOptions","groupLabelOptions","tileLabelWordWrap","tileLabelOverflow","groupLabelOverflow","_maxDepth","_processNodes","processNodes","processTileAppearance","processLabelAppearance","rectOffsets","innerRect","calculateRects","processTiling","_onTilingPerformed","processLabelsLayout","_textForCalculations","createTile","createLabel","emptyRect","setRectAttrs","buildTileRect","marginateRect","effectiveWidth","layoutTextNode","segmentSequence","visiblyOpt","prevSegmentVisibility","allSegment","segmentVisibility","ControlBar","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","projection","_subscribeToTracker","_createCallbacks","disposeCommand","ResetCommand","endMove","beginMove","ZoomCommand","dZoom","_adjustZoom","_zoomFactor","ZoomDragCommand","_pos","_offProjection","getScaledZoom","_zoomPartition","getZoomScalePartition","_sliderUnitLength","_sliderLineLength","_processStart","_processMove","_processEnd","isCenter","isZoom","beginMoveCenter","endMoveCenter","moveCenter","_zoom","setScaledZoom","panControl","_panControl","createVisibilityGroup","zoomBar","_zoomBar","trackersPan","_trackersPan","trackersZoom","_trackersZoom","_createTrackersPan","_createTrackersZoom","_createPanControl","_createZoomBar","offset1","offset2","_zoomLine","_zoomDrag","size2","_zoomDragTracker","_isActive","isInvertible","groupPan","groupZoom","toggleDisplay","_isPanVisible","_isZoomVisible","setInteraction","interaction","centeringEnabled","zoomingEnabled","styleSvg","panVisible","zoomVisible","_applyZoom","commandType","FLAG_CENTERING","blocks","DataExchanger","makeEventEmitter","eventEmitterMethods","_eventNames","_disposeEvents","GestureHandler","_ln","_LN2","LN2","_processZoom","_centeringEnabled","_zoomingEnabled","fromScreenPoint","changeScaledZoom","setCenterByPoint","LayoutControl","adjustCellsAndApplyLayout","forceMode","hasHiddenItems","otherCell","size1","otherCell1","otherCell2","adjustCellSizes","xOffset","yOffset","totalL","totalT","totalR","totalB","moves","horInversion","verInversion","applyCellLayout","_suspended","hStep","vStep","h1","h3","h4","v3","itemsList","createCells","LegendsControl","unknownSource","itemsGroupClass","_onDataChanged","_unbindData","notifyDirty","notifyReady","buildData","_dataName","_dataCategory","dataExchanger","_bindData","MapLayerCollection","getMaxBound","_concat","TYPE_AREA","TYPE_LINE","TYPE_MARKER","STATE_TO_INDEX","SELECTIONS","single","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","applyElementState","projectPointList","project","projectLineString","projectPolygon","transformList","transformPointList","findGroupingIndex","combineSettings","partial","valueCallback","projectLabel","centroid","resultCentroid","maxArea","calculatePolygonCentroid","transformLabel","getSquareSize","getLabelOffset","hoveredOpacity","selectedOpacity","hasLabelsGroup","calculateLineStringData","_getStyles","_setState","sample","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","_layers","_layerByName","_clip","_dataReady","dataReady","getDataReadyCallback","_removeHandlers","_project","_transform","_transformCore","_specificDataSourceOption","_normalizeDataSource","_destroyHandles","labelRoot","_options_dataSource","isContextChanged","guessTypeByData","fullType","paletteSize","processCommonSettings","hasSeparateLabel","resetSelected","_createHandles","_updateHandles","coordsToBoundsSearch","ac","proxies","restoreSelected","measureLabel","adjustLabel","getTransform","hoverItem","setHovered","setSelected","createProxy","_ctx","_fig","_coordinates","_projectLabel","_labelProjection","_transformLabel","applyGrouping","paletteIndex","_refreshLabel","_setForeground","byName","layers","needToCreateLayers","layerByName","_updateClip","bw","_borderWidth","setBackgroundOptions","setRect","byIndex","_asin","_tan","_atan","_exp","PI_DIV_4","GEO_LON_BOUND","RADIANS","MERCATOR_LAT_BOUND","MILLER_LAT_BOUND","clamp","Projection","_event_emitter","TWO_TO_LN2","MIN_BOUNDS_RANGE","DEFAULT_CENTER","floatsEqual","f1","f2","arraysEqual","parseAndClamp","parseAndClampArray","getEngine","Engine","_engine","_adjustCenter","selectFarthestPoint","basePoint1","basePoint2","basePoint","selectClosestPoint","setMinMax","_findMinMax","returnArray","_minZoom","_maxZoom","setEngine","_changeCenter","_triggerCenterChanged","_changeZoom","_triggerZoomChanged","_setupScreen","setBounds","_x0","_y0","screenAR","boundsAR","_xRadius","_yRadius","_toScreen","_fromScreen","_toTransformed","_xCenter","_yCenter","_toTransformedFast","_fromTransformed","scaledZoom","deltaZoom","_setupScaling","setMaxZoom","centerChanged","unproject","_moveCenter","setViewport","getZoomAndCenterFromViewport","invertVerticalAxis","createUnprojectMethod","_aspectRatio","b2","_project2","createProjectUnprojectMethods","projectionsCache","TooltipViewer","layerCollection","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","_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","touchEnabled","wheelEnabled","_activeData","_disabled","_offTimer","onCheck","_control_bar","_gesture_handler","_data_exchanger","_map_layer","_tooltip_viewer","_vector_map","RE_STARTS_LAYERS","RE_ENDS_DATA_SOURCE","mergeBounds","sumBounds","dataBounds","dxVectorMap","onCenterChanged","onZoomFactorChanged","_initLayerCollection","_layerCollection","_dataExchanger","_notifyDirty","_notifyReady","_preventProjectionEvents","_getBoundsFromData","_allowProjectionEvents","longitudeLength","latitudeLength","_getBoundingBoxFromDataSource","boundsByData","_initLegendsControl","_legendsControl","_layoutControl","_initControlBar","_controlBar","_initElements","preventProjectionEvents","generateDataKey","notifyCounter","_gestureHandler","_tooltipViewer","_change_RESUME_LAYOUT","_setupInteraction","extraElements","legends","maxZoomFactor","_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","nextDataKey","onComponentDidMount","onComponentDidUpdate","onComponentShouldUpdate","onComponentWillMount","onComponentWillUnmount","onComponentWillUpdate","getFlagsForElementVnode","getDerivedStateFromProps","componentComparator","renderComplete","defaultHooks","onKeyPress","$EV","fe","pe","oe","ie","le","ue","immediatePropagationStopped","me","ge","ye","wrapped","$e","ke","we","xe","Fe","Pe","Ne","Se","Ue","Le","Me","Ie","De","Ae","We","Oe","je","He","Qe","$UN","Xe","Ge","ze","Je","Ye","autofocus","Ke","qe","Ze","Ce","Ve","Be","Ee","$N","getSnapshotBeforeUpdate","$SVG","$L","$BS","$BR","$PS","un","pn","hn","dn","vn","xn","Nn","Vn","Sn","wn","$n","Cn","yn","Int32Array","Bn","Mn","Ln","Un","Pn","Fn","Dn","En","Tn","Rn","Wn","On","Qn","$F","$QU","jn","Xn","Fragment","__render","createRenderer","createTextVNode","directClone","forwardRef","linkEvent","ALL_WEEKDAYS","Weekday","fromStr","nth","getJsWeekday","isPresent","isWeekdayStr","rang","times","padStart","sep","splits","pymod","divmod","mod","MONTH_DAYS","ORDINAL_BASE","PY_WEEKDAYS","isLeapYear","toOrdinal","differencems","fromOrdinal","ordinal","getMonthDays","getWeekday","getUTCDay","monthRange","dateutil_clone","cloneDates","clones","timeToUntilString","utc","untilStringToDate","dateTZtoISO8601","iterresult","IterResult","dt","tooEarly","tooLate","pack","callbackiterresult","CallbackIterResult","i18n","tokens","SKIP","numberAsText","the","third","monday","tuesday","wednesday","thursday","friday","saturday","sunday","january","february","march","april","may","june","july","august","september","october","november","december","comma","defaultGetText","defaultDateFormatter","totext","ToText","gettext","origOptions","bynmonthday","byweekday","allWeeks","someWeeks","isWeekdays","isEveryDay","sortWeekDays","isFullyConvertible","IMPLEMENTED","FREQUENCIES","plural","HOURLY","MINUTELY","DAILY","_bymonth","_bymonthday","_byweekday","byhour","_byhour","WEEKLY","MONTHLY","YEARLY","byyearday","byweekno","weekdaytext","monthtext","npos","wday","finalDelim","realCallback","finalDelimiter","delimJoin","Frequency","Parser","nextSymbol","isDone","best","bestSymbol","name_1","acceptNumber","expect","parseText","ON","wkd","decodeWKD","decodeNTH","MDAYs","decodeM","freqIsDailyOrGreater","fromText","DateTime","addYears","yearDiv","monthMod","addWeekly","fixDay","addDaily","addHours","filtered","dayDiv","hourMod","byminute","hourDiv","minuteMod","addSeconds","bysecond","minuteDiv","secondMod","daysinmonth","SECONDLY","initializeOptions","keys_1","defaultKeys","DEFAULT_OPTIONS","byeaster","bysetpos","bynweekday","rfcString","parseLine","parseDtstart","dtstartWithZone","tzid","parseRrule","parseIndividualNumber","SyntaxError","wdaypart","parseWeekday","DateWithZone","RangeError","datestr","isUTC","rezonedDate","localTimeZone","dateInLocalTZ","tzOffset","optionsToString","outValue","buildDtstart","strValues","ruleString","argsMatch","_cacheAdd","_cacheGet","argsKeys","findCacheDiff","cachedObject","iterResult","M365MASK","M366MASK","M28","M29","M30","M31","MDAY366MASK","MDAY365MASK","NM28","NM29","NM30","NM31","NMDAY366MASK","NMDAY365MASK","M366RANGE","M365RANGE","WDAYMASK","wdaymask","iterinfo","Iterinfo","rebuild","lastyear","yearinfo","firstwkst","wyearlen","firstyday","yearlen","nextyearlen","yearordinal","yearweekday","mmask","mdaymask","nmdaymask","mrange","baseYearMasks","wnomask","no1wkst","numweeks","lnumweeks","lyearweekday","lno1wkst","lyearlen","weekst","rebuildYear","lastmonth","monthinfo","nwdaymask","rebuildMonth","eastermask","yearStart","easter","ydayset","mdayset","wdayset","ddayset","htimeset","mtimeset","stimeset","getdayset","gettimeset","buildPoslist","timeset","dayset","poslist","daypos","timepos","emitResult","counterDate","millisecondModulo","buildTimeset","makeTimeset","removeFilteredDays","rezoneIfNeeded","dayCounter","noCache","_iter","toText","isFullyConvertibleToText","rrulestr_DEFAULT_OPTIONS","unfold","forceset","rrulestr","rrulevals","rdatevals","exrulevals","exdatevals","parsedDtstart","splitIntoLines","extractName","parms","breakDownLine","rdateTzid","parseRDate","parseInput","rset_1","groomRruleOptions","rdate","exrule","buildRule","rrulestr_initializeOptions","rdateval","parm","validateDateParm","createGetterSetter","field_1","_rdate","_exrule","_exdate","_exdateHash","evalExdate","zonedDate","iterSet","_addRule","_addDate","rrules","exrules","rdates","exdates","_dtstart","rdatesToString","rrs","Globalize","JSZip","jQuery","__webpack_require__","repaintFloatingActionButton","hideToasts","dxActionSheet","dxAutocomplete","dxBox","dxButton","dxDropDownButton","dxButtonGroup","dxCalendar","dxColorBox","dxDateRangeBox","dxDrawer","dxDeferRendering","dxDropDownBox","dxFileUploader","dxGallery","dxHtmlEditor","dxLoadIndicator","dxLoadPanel","dxLookup","dxMap","dxMultiView","dxOverlay","dxPopover","dxProgressBar","dxRadioGroup","dxRangeSlider","dxResponsiveBox","dxSelectBox","dxSlider","dxSpeedDialAction","dxSwitch","dxTabPanel","dxTabs","dxTagBox","dxTileView","dxToolbar","dxTooltip","dxTrackBar","dxSortable","dxAccordion","dxContextMenu","dxDataGrid","dxTreeList","dxMenu","dxPivotGrid","dxScheduler","dxFilterBuilder","dxFileManager","dxDiagram","dxGantt","extractTemplateMarkupOriginal","AspNet","aspnet"],"sourceRoot":""}