{"version":3,"sources":["jsdelivr-header.js","/gh/premento/cdn@10.1.0/bjgi/js/paroller.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,CCDA,SAAW,GACP,aACsB,mBAAX,QAAyB,OAAO,IACvC,OAAO,aAAc,CAAC,UAAW,GACR,iBAAX,QAAiD,iBAAnB,OAAO,QACnD,OAAO,QAAU,EAAQ,QAAQ,WAGjC,EAAQ,OAEf,CAVD,EAUG,SAAU,GACT,aAEA,IAAI,GAAU,EACV,EAAe,WACf,GAAU,CACd,EAEI,EACY,SAAU,EAAM,GACxB,OAAO,EAAK,IAAI,CAAC,sBAAuB,WAAa,EAAW,MACpE,EAHA,EAIc,SAAU,EAAM,GAC1B,OAAO,EAAK,IAAI,CAAC,uBAAwB,EAAD,aAC5C,EANA,EAOU,SAAU,EAAM,EAAY,GAElC,MADkB,SAAjB,IAA0B,EAAe,IACnC,EAAK,IAAI,CACZ,oBAAqB,cAAgB,EAAa,MAAQ,EAC1D,iBAAkB,cAAgB,EAAa,MAAQ,EACvD,UAAa,cAAgB,EAAa,MAAQ,EAClD,WAAc,mBACd,cAAe,aAEvB,EAhBA,EAiBY,SAAU,EAAM,EAAY,GAEpC,MADkB,SAAjB,IAA0B,EAAe,IACnC,EAAK,IAAI,CACZ,oBAAqB,cAAgB,EAAa,MAAQ,EAC1D,iBAAkB,cAAgB,EAAa,MAAQ,EACvD,UAAa,cAAgB,EAAa,MAAQ,EAClD,WAAc,mBACd,cAAe,aAEvB,EAGA,EACQ,SAAU,EAAM,EAAO,GAC3B,IAAI,EAAa,EAAK,KAAK,mBACvB,EAAS,GAA4B,EAAQ,OACjD,GAAI,EAAQ,IAAK,CACb,IAAI,EAAe,EAAK,KAAK,sBACzB,EAAW,GAAgC,EAAQ,SACvD,OAAO,GAAwB,CACnC,CACK,GAAI,GAAS,IAAK,CACnB,IAAI,EAAe,EAAK,KAAK,sBACzB,EAAW,GAAgC,EAAQ,SACvD,OAAO,GAAwB,CACnC,CACK,GAAI,GAAS,KAAM,CACpB,IAAI,EAAe,EAAK,KAAK,sBACzB,EAAW,GAAgC,EAAQ,SACvD,OAAO,GAAwB,CACnC,CACK,GAAI,GAAS,KAAM,CACpB,IAAI,EAAe,EAAK,KAAK,sBACzB,EAAW,GAAgC,EAAQ,SACvD,OAAO,GAAwB,CACnC,CAAO,GAAI,GAAS,KAAM,CACtB,IAAI,EAAe,EAAK,KAAK,sBACzB,EAAW,GAAgC,EAAQ,SACvD,OAAO,GAAwB,CACnC,CACI,OAAO,CAEf,EA9BA,EA+BU,SAAU,EAAQ,GACxB,OAAO,KAAK,MAAM,EAAS,EAC/B,EAjCA,EAkCW,SAAU,EAAQ,EAAQ,EAAc,GAC/C,OAAO,KAAK,OAAO,EAAU,EAAe,EAAK,GAAU,EAC/D,EAGA,EACY,SAAU,GAClB,OAAO,EAAK,IAAI,CAAC,sBAAuB,SAC5C,EAHA,EAIY,SAAU,GAClB,OAAO,EAAK,IAAI,CACZ,UAAc,QACd,WAAe,SAEvB,EAGJ,EAAE,GAAG,SAAW,SAAU,GACtB,IAAI,EAAe,EAAE,QAAQ,SACzB,EAAiB,EAAE,UAAU,SAG7B,EAAU,EAAE,OAAO,CACnB,OAAQ,EACR,SAAU,EACV,SAAU,EACV,SAAU,EACV,SAAU,EACV,SAAU,EACV,KAAM,aACN,UAAW,YACZ,GAEH,OAAO,KAAK,MAAK,WACb,IAAI,EAAQ,EAAE,MACV,EAAQ,EAAE,QAAQ,QAClB,EAAS,EAAM,SAAS,IACxB,EAAS,EAAM,cAEf,EAAW,EAAM,KAAK,iBACtB,EAAgB,EAAM,KAAK,sBAC3B,EAAe,EAAM,IAAI,aAEzB,EAAO,GAAwB,EAAQ,KACvC,EAAY,GAAkC,EAAQ,UACtD,EAAS,EAAmB,EAAO,EAAO,GAC1C,EAAW,EAAqB,EAAQ,GACxC,EAAY,EAAsB,EAAQ,EAAQ,EAAc,GAEvD,eAAT,EACkB,aAAd,EACA,EAAwB,EAAO,GAEZ,eAAd,GACL,EAA0B,EAAO,GAGvB,eAAT,IACa,aAAd,EACA,EAAsB,EAAO,EAAW,GAErB,eAAd,GACL,EAAwB,EAAO,EAAW,IAIlD,EAAE,QAAQ,GAAG,UAAU,WACnB,IAAI,EAAY,EAAE,MAAM,YACxB,EAAQ,EAAE,QAAQ,QAClB,EAAS,EAAM,SAAS,IACxB,EAAS,EAAM,cACf,EAAS,EAAmB,EAAO,EAAO,GAE1C,EAAW,KAAK,MAAM,EAAS,GAC/B,EAAY,KAAK,OAAO,EAAU,EAAe,EAAK,GAAU,GAE1D,IACF,OAAO,sBAAsB,GAC7B,GAAU,GAGD,eAAT,GACA,EAA0B,GACR,aAAd,EACA,EAAwB,EAAO,GAEZ,eAAd,GACL,EAA0B,EAAO,IAGtB,eAAT,GAA2B,GAAa,IAC9C,EAA0B,GACR,aAAd,EACA,EAAsB,EAAO,GAEV,eAAd,GACL,EAAwB,EAAO,GAG3C,IAEA,EAAE,QAAQ,GAAG,UAAU,WACnB,IAAI,EAAY,EAAE,MAAM,YACxB,EAAiB,EAAE,UAAU,SAE7B,EAAW,KAAK,OAAO,EAAS,GAAa,GAC7C,EAAY,KAAK,OAAQ,EAAU,EAAe,EAAK,EAAU,GAAa,GAExE,IACF,OAAO,sBAAsB,GAC7B,GAAU,GAGD,eAAT,EACkB,aAAd,EACA,EAAwB,EAAO,GAEZ,eAAd,GACL,EAA0B,EAAO,GAGtB,eAAT,GAA2B,GAAa,IAC5B,aAAd,EACA,EAAsB,EAAO,EAAW,GAErB,eAAd,GACL,EAAwB,EAAO,EAAW,GAGtD,GACJ,GACJ,CACJ","file":"/gh/premento/cdn@10.1.0/bjgi/js/paroller.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /gh/premento/cdn@10.1.0/bjgi/js/paroller.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","/**\n * jQuery plugin paroller.js v1.4.4\n * https://github.com/tgomilar/paroller.js\n * preview: https://tgomilar.github.io/paroller/\n **/\n(function (factory) {\n    'use strict';\n    if (typeof define === 'function' && define.amd) {\n        define('parollerjs', ['jquery'], factory);\n    } else if (typeof module === 'object' && typeof module.exports === 'object') {\n        module.exports = factory(require('jquery'));\n    }\n    else {\n        factory(jQuery);\n    }\n})(function ($) {\n    'use strict';\n\n    var working = false;\n    var scrollAction = function() {\n        working = false;\n    };\n\n    var setDirection = {\n        bgVertical: function (elem, bgOffset) {\n            return elem.css({'background-position': 'center ' + -bgOffset + 'px'});\n        },\n        bgHorizontal: function (elem, bgOffset) {\n            return elem.css({'background-position': -bgOffset + 'px' + ' center'});\n        },\n        vertical: function (elem, elemOffset, oldTransform) {\n            (oldTransform === 'none' ? oldTransform = '' : true);\n            return elem.css({\n                '-webkit-transform': 'translateY(' + elemOffset + 'px)' + oldTransform,\n                '-moz-transform': 'translateY(' + elemOffset + 'px)' + oldTransform,\n                'transform': 'translateY(' + elemOffset + 'px)' + oldTransform,\n                'transition': 'transform linear',\n                'will-change': 'transform'\n            });\n        },\n        horizontal: function (elem, elemOffset, oldTransform) {\n            (oldTransform === 'none' ? oldTransform = '' : true);\n            return elem.css({\n                '-webkit-transform': 'translateX(' + elemOffset + 'px)' + oldTransform,\n                '-moz-transform': 'translateX(' + elemOffset + 'px)' + oldTransform,\n                'transform': 'translateX(' + elemOffset + 'px)' + oldTransform,\n                'transition': 'transform linear',\n                'will-change': 'transform'\n            });\n        }\n    };\n\n    var setMovement = {\n        factor: function (elem, width, options) {\n            var dataFactor = elem.data('paroller-factor');\n            var factor = (dataFactor) ? dataFactor : options.factor;\n            if (width < 576) {\n                var dataFactorXs = elem.data('paroller-factor-xs');\n                var factorXs = (dataFactorXs) ? dataFactorXs : options.factorXs;\n                return (factorXs) ? factorXs : factor;\n            }\n            else if (width <= 768) {\n                var dataFactorSm = elem.data('paroller-factor-sm');\n                var factorSm = (dataFactorSm) ? dataFactorSm : options.factorSm;\n                return (factorSm) ? factorSm : factor;\n            }\n            else if (width <= 1024) {\n                var dataFactorMd = elem.data('paroller-factor-md');\n                var factorMd = (dataFactorMd) ? dataFactorMd : options.factorMd;\n                return (factorMd) ? factorMd : factor;\n            }\n            else if (width <= 1200) {\n                var dataFactorLg = elem.data('paroller-factor-lg');\n                var factorLg = (dataFactorLg) ? dataFactorLg : options.factorLg;\n                return (factorLg) ? factorLg : factor;\n            } else if (width <= 1920) {\n                var dataFactorXl = elem.data('paroller-factor-xl');\n                var factorXl = (dataFactorXl) ? dataFactorXl : options.factorXl;\n                return (factorXl) ? factorXl : factor;\n            } else {\n                return factor;\n            }\n        },\n        bgOffset: function (offset, factor) {\n            return Math.round(offset * factor);\n        },\n        transform: function (offset, factor, windowHeight, height) {\n            return Math.round((offset - (windowHeight / 2) + height) * factor);\n        }\n    };\n\n    var clearPositions = {\n        background: function (elem) {\n            return elem.css({'background-position': 'unset'});\n        },\n        foreground: function (elem) {\n            return elem.css({\n                'transform' : 'unset',\n                'transition' : 'unset'\n            });\n        }\n    };\n\n    $.fn.paroller = function (options) {\n        var windowHeight = $(window).height();\n        var documentHeight = $(document).height();\n\n        // default options\n        var options = $.extend({\n            factor: 0, // - to +\n            factorXs: 0, // - to +\n            factorSm: 0, // - to +\n            factorMd: 0, // - to +\n            factorLg: 0, // - to +\n            factorXl: 0, // - to +\n            type: 'background', // foreground\n            direction: 'vertical' // horizontal\n        }, options);\n\n        return this.each(function () {\n            var $this = $(this);\n            var width = $(window).width();\n            var offset = $this.offset().top;\n            var height = $this.outerHeight();\n\n            var dataType = $this.data('paroller-type');\n            var dataDirection = $this.data('paroller-direction');\n            var oldTransform = $this.css('transform');\n\n            var type = (dataType) ? dataType : options.type;\n            var direction = (dataDirection) ? dataDirection : options.direction;\n            var factor = setMovement.factor($this, width, options);\n            var bgOffset = setMovement.bgOffset(offset, factor);\n            var transform = setMovement.transform(offset, factor, windowHeight, height);\n\n            if (type === 'background') {\n                if (direction === 'vertical') {\n                    setDirection.bgVertical($this, bgOffset);\n                }\n                else if (direction === 'horizontal') {\n                    setDirection.bgHorizontal($this, bgOffset);\n                }\n            }\n            else if (type === 'foreground') {\n                if (direction === 'vertical') {\n                    setDirection.vertical($this, transform, oldTransform);\n                }\n                else if (direction === 'horizontal') {\n                    setDirection.horizontal($this, transform, oldTransform);\n                }\n            }\n\n            $(window).on('resize', function () {\n                var scrolling = $(this).scrollTop();\n                width = $(window).width();\n                offset = $this.offset().top;\n                height = $this.outerHeight();\n                factor = setMovement.factor($this, width, options);\n\n                bgOffset = Math.round(offset * factor);\n                transform = Math.round((offset - (windowHeight / 2) + height) * factor);\n\n                if (! working) {\n                    window.requestAnimationFrame(scrollAction);\n                    working = true;\n                }\n\n                if (type === 'background') {\n                    clearPositions.background($this);\n                    if (direction === 'vertical') {\n                        setDirection.bgVertical($this, bgOffset);\n                    }\n                    else if (direction === 'horizontal') {\n                        setDirection.bgHorizontal($this, bgOffset);\n                    }\n                }\n                else if ((type === 'foreground') && (scrolling <= documentHeight)) {\n                    clearPositions.foreground($this);\n                    if (direction === 'vertical') {\n                        setDirection.vertical($this, transform);\n                    }\n                    else if (direction === 'horizontal') {\n                        setDirection.horizontal($this, transform);\n                    }\n                }\n            });\n\n            $(window).on('scroll', function () {\n                var scrolling = $(this).scrollTop();\n                documentHeight = $(document).height();\n\n                bgOffset = Math.round((offset - scrolling) * factor);\n                transform = Math.round(((offset - (windowHeight / 2) + height) - scrolling) * factor);\n\n                if (! working) {\n                    window.requestAnimationFrame(scrollAction);\n                    working = true;\n                }\n\n                if (type === 'background') {\n                    if (direction === 'vertical') {\n                        setDirection.bgVertical($this, bgOffset);\n                    }\n                    else if (direction === 'horizontal') {\n                        setDirection.bgHorizontal($this, bgOffset);\n                    }\n                }\n                else if ((type === 'foreground') && (scrolling <= documentHeight)) {\n                    if (direction === 'vertical') {\n                        setDirection.vertical($this, transform, oldTransform);\n                    }\n                    else if (direction === 'horizontal') {\n                        setDirection.horizontal($this, transform, oldTransform);\n                    }\n                }\n            });\n        });\n    };\n});\n"]}