{"version":3,"sources":["src/scripts/components/sticky-social.js"],"names":["$","jQuery","init","SocialSticky","$context","addClass","$social","find","$stickyContainer","self","binds","positions","getPositions","window","on","stickySocial","currentPosition","scrollTop","breakpoint","appearPoint","bottom","css","left","top","removeClass","leftValue","topValue","length","offset","outerWidth","outerHeight","$article","each","document","e","context","hasClass","$newStick"],"mappings":"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","file":"sticky-social.js","sourcesContent":["import {debounce, breakpoint} from '../utils/utilities.js';\nvar $ = jQuery;\n\nfunction init() {\n\n function SocialSticky($context) {\n\n $($context).addClass('_sticky-added');\n\n this.$context = $context;\n this.$social = $($context).find('.article__social-container');\n this.$stickyContainer = $($context).find('.article__sticky-track');\n\n var self = this;\n\n binds(self);\n\n this.positions = getPositions(self);\n }\n\n function binds(self) {\n\n $(window).on('resize', debounce(function() {\n self.positions = getPositions(self);\n stickySocial(self);\n }, 250));\n\n $(window).on('scroll', function() {\n stickySocial(self);\n });\n }\n\n function stickySocial(self) {\n let currentPosition = $(window).scrollTop();\n let positions = getPositions(self);\n if(positions.breakpoint === 'desktop') {\n if(currentPosition > positions.appearPoint && currentPosition < positions.bottom) {\n $(self.$social).addClass('_sticky');\n $(self.$social).css({'left': positions.left});\n $(self.$social).css({'top': positions.top});\n }\n else {\n $(self.$social).removeClass('_sticky');\n $(self.$social).css({'left': 'initial', 'top': '0'});\n }\n }\n else {\n $(self.$social).removeClass('_sticky');\n $(self.$social).css({'left': 'initial', 'top': '0'});\n }\n\n }\n\n function getPositions(self) {\n\n var leftValue;\n var topValue;\n\n if ($('.navigation-global').length > 0) {\n leftValue = ($('.navigation-global').offset().left + $('.navigation-global').outerWidth(false)) - 105;\n topValue = $(self.$context).offset().top - 110;\n }\n\n else if ($('.microsite-main-nav').length > 0) {\n leftValue = ($('#content .content-wrapper').offset().left + $('.content-wrapper').outerWidth(false)) - 122;\n topValue = $(self.$context).offset().top - 50;\n }\n\n return {\n 'top': topValue,\n 'bottom': ($(self.$stickyContainer).offset().top + $(self.$stickyContainer).outerHeight(true)) - 298,\n 'left': leftValue,\n 'breakpoint': breakpoint(),\n 'appearPoint': ($(self.$stickyContainer).offset().top)\n };\n }\n\n if($('article.report').length > 0) {\n let $article = $('article.report');\n $article.each(function() {\n new SocialSticky($(this));\n });\n }\n\n $(document).on('newSectionAdded', function(e, context) {\n if($(context).hasClass('_sticky-added')) {\n return false;\n }\n\n var $newStick = $(context).find('article.report');\n if($newStick.length > 0) {\n new SocialSticky($newStick);\n }\n });\n}\n\n\nexport { init as init };\n"]}