{"version":3,"sources":["webpack:///./src/components/pmicom/widgets/social-share/controller.js","webpack:///./src/js/FixedIn.js"],"names":["default","breakLarge","require","stuttering","onWidthResize","DELAY_DEBOUNCE","mediaQueryMin","FixedIn","module","exports","init","isSticky","root","classList","contains","initSticky","onResize","bind","DEBOUNCE","fixingManager","Object","create","container","parentElement","activate","deactivate","DELAY_THROTTLE","asyncImport","POS_FIX_TOP","POS_UNFIX_BOTTOM","POS_UNFIX","fixedElement","containerElement","marginTop","marginBottom","activated","declareEvents","scrollEvent","throttle","checkPositions","resizeEvent","lastPos","THROTTLE","activateEvents","unfixElement","method","window","containerBox","getBoundingClientRect","fixedBottom","offsetHeight","isPastTop","top","isPastBottom","bottom","position","setPosition","fixElement","box","left","style"],"mappings":"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","file":"components--social-sharede0a4cc370050ccff021.js","sourcesContent":["const {\n\tdefault: { breakLarge },\n} = require('util/sass-variables');\nconst { stuttering, default: onWidthResize } = require('util/onWidthResize');\nconst { DELAY_DEBOUNCE } = require('util/consts');\nconst { mediaQueryMin } = require('util/functions');\nconst FixedIn = require('util/FixedIn');\n\nmodule.exports = {\n\tasync init() {\n\t\tthis.isSticky = this.root.classList.contains('social-share-is-sticky');\n\t\tif (this.isSticky) {\n\t\t\tawait this.initSticky();\n\t\t\tonWidthResize(\n\t\t\t\tthis.onResize.bind(this),\n\t\t\t\tstuttering.DEBOUNCE,\n\t\t\t\tDELAY_DEBOUNCE,\n\t\t\t);\n\t\t\tthis.onResize();\n\t\t}\n\t},\n\tasync initSticky() {\n\t\tthis.fixingManager = Object.create(FixedIn);\n\t\tconst container = this.root.parentElement.parentElement;\n\t\tawait this.fixingManager.init(this.root, container, 100, 100);\n\t},\n\tonResize() {\n\t\tif (mediaQueryMin(breakLarge)) this.fixingManager.activate();\n\t\telse this.fixingManager.deactivate();\n\t},\n};\n","const { DELAY_THROTTLE } = require('./consts');\nconst asyncImport = require('util/asyncImport').default;\nconst { stuttering, default: onWidthResize } = require('./onWidthResize');\n\nconst POS_FIX_TOP = 'pos_fix_top';\nconst POS_UNFIX_BOTTOM = 'pos_unfix_bottom';\nconst POS_UNFIX = 'pos_unfix';\n\nmodule.exports = {\n\tasync init(fixedElement, containerElement, marginTop, marginBottom) {\n\t\tthis.fixedElement = fixedElement;\n\t\tthis.containerElement = containerElement;\n\t\tthis.marginTop = marginTop;\n\t\tthis.marginBottom = marginBottom;\n\t\tthis.activated = false;\n\n\t\tawait asyncImport(this, 'throttle');\n\n\t\tthis.declareEvents();\n\t\tthis.activate();\n\t},\n\tdeclareEvents() {\n\t\tthis.scrollEvent = this.throttle(\n\t\t\tthis.checkPositions.bind(this),\n\t\t\tDELAY_THROTTLE,\n\t\t);\n\t\tthis.resizeEvent = onWidthResize(\n\t\t\t() => {\n\t\t\t\tthis.lastPos = null;\n\t\t\t\tthis.checkPositions();\n\t\t\t},\n\t\t\tstuttering.THROTTLE,\n\t\t\t50,\n\t\t\ttrue,\n\t\t);\n\t},\n\tactivate() {\n\t\tif (!this.activated) {\n\t\t\tthis.activated = true;\n\t\t\tthis.activateEvents(true);\n\t\t\tthis.checkPositions();\n\t\t}\n\t},\n\tdeactivate() {\n\t\tif (this.activated) {\n\t\t\tthis.activated = false;\n\t\t\tthis.activateEvents(false);\n\t\t\tthis.unfixElement();\n\t\t}\n\t},\n\tactivateEvents(activate) {\n\t\tconst method = activate ? 'addEventListener' : 'removeEventListener';\n\t\twindow[method]('scroll', this.scrollEvent);\n\t\twindow[method]('resize', this.resizeEvent);\n\t\tthis.lastPos = null;\n\t},\n\tcheckPositions() {\n\t\tconst containerBox = this.containerElement.getBoundingClientRect();\n\t\tconst fixedBottom = this.fixedElement.offsetHeight + this.marginTop;\n\t\tconst isPastTop = containerBox.top <= this.marginTop;\n\t\tconst isPastBottom = containerBox.bottom - this.marginBottom <= fixedBottom;\n\t\tlet position = null;\n\n\t\tif (isPastTop && !isPastBottom) position = POS_FIX_TOP;\n\t\telse if (isPastBottom) position = POS_UNFIX_BOTTOM;\n\t\telse position = POS_UNFIX;\n\n\t\tthis.setPosition(position, containerBox);\n\t},\n\tsetPosition(position, containerBox) {\n\t\tif (position !== this.lastPos) {\n\t\t\tswitch (position) {\n\t\t\t\tcase POS_FIX_TOP:\n\t\t\t\t\tthis.fixElement(containerBox);\n\t\t\t\t\tbreak;\n\t\t\t\tcase POS_UNFIX_BOTTOM:\n\t\t\t\t\tthis.fixElement(containerBox, true);\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\t// POS_UNFIX\n\t\t\t\t\tthis.unfixElement();\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t},\n\tfixElement(box, bottom) {\n\t\tconst { left } = box;\n\t\tconst style = this.fixedElement.style;\n\n\t\tstyle.position = bottom ? 'absolute' : 'fixed';\n\t\tstyle.top = bottom ? null : this.marginTop + 'px';\n\t\tstyle.bottom = bottom ? this.marginBottom + 'px' : null;\n\t\tstyle.left = bottom ? 0 : left + 'px';\n\n\t\tthis.lastPos = bottom ? POS_UNFIX_BOTTOM : POS_FIX_TOP;\n\t},\n\tunfixElement() {\n\t\tconst style = this.fixedElement.style;\n\t\tstyle.position = null;\n\t\tstyle.top = null;\n\t\tstyle.left = null;\n\t\tthis.lastPos = POS_UNFIX;\n\t},\n};\n"],"sourceRoot":""}