{"version":3,"sources":["node_modules/browser-pack/_prelude.js","protected/assets/src/js/pages/home/main.js","protected/assets/src/js/ui/OneSlideSlider.js"],"names":["OneSlideSlider","require","$window","$","window","topProductsSlider","newestProductsSlider","popularShopsSlider","premiereProductsSlider","setMaxVisibleElements","bind","on","this","prev","toggleClass","hide","$container","maxVisibleElements","getGroupWidthSum","$elements","widthSum","each","id","el","$el","outerWidth","Math","ceil","getBoxShadowPosition","$element","result","css","match","horizontal","vertical","parseInt","split","incrSlideCounter","slideCounter","length","decrSlideCounter","resetPosition","$frame","frameOffsetLeft","$prevButton","addClass","resize","elementsWidthSum","elementMarginAndPadding","width","elementWidth","floor","$frameContainer","elementHeight","outerHeight","height","$nextButton","removeClass","prevSlide","trigger","abs","position","left","animate","DURATION","nextSlide","offsetRight","slide","direction","value","isDragging","Finger","flickDuration","motionThreshold","find","children","e","orientation","preventDefault","type","end","module","exports"],"mappings":"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","file":"bundle.js","sourcesContent":["(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require==\"function\"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error(\"Cannot find module '\"+o+\"'\");throw f.code=\"MODULE_NOT_FOUND\",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require==\"function\"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})","/*jslint node: true */\n/*global require*/\n/*global module*/\n/*global $*/\n/*global window*/\n/*global SKA*/\n\n'use strict';\n\nvar OneSlideSlider = require('../../ui/OneSlideSlider'),\n    $window = $(window),\n\n    topProductsSlider = new OneSlideSlider($('.box-slider.js.popular-products')),\n    newestProductsSlider = new OneSlideSlider($('.box-slider.js.newest-products')),\n    popularShopsSlider = new OneSlideSlider($('.popular-shops.js')),\n    premiereProductsSlider = new OneSlideSlider($('.box-slider.js.premiere-products'));\n\n\npopularShopsSlider.setMaxVisibleElements.bind(3);\n\n$('.links-container .more').on(\"click\", function() {\n    $(this).prev().toggleClass(\"expanded\");\n    $(this).hide();\n});\n\n$window.on('breakpointMobile', topProductsSlider.setMaxVisibleElements.bind(null, 2));\n$window.on('breakpointTablet', topProductsSlider.setMaxVisibleElements.bind(null, 3));\n$window.on('breakpointLaptop', topProductsSlider.setMaxVisibleElements.bind(null, 4));\n$window.on('breakpointDesktop', topProductsSlider.setMaxVisibleElements.bind(null, 6));\n\n$window.on('breakpointMobileEnter', newestProductsSlider.setMaxVisibleElements.bind(null, 2));\n$window.on('breakpointTabletEnter', newestProductsSlider.setMaxVisibleElements.bind(null, 3));\n$window.on('breakpointLaptopEnter', newestProductsSlider.setMaxVisibleElements.bind(null, 4));\n$window.on('breakpointDesktopEnter', newestProductsSlider.setMaxVisibleElements.bind(null, 6));\n\n$window.on('breakpointMobile', premiereProductsSlider.setMaxVisibleElements.bind(null, 2));\n$window.on('breakpointTablet', premiereProductsSlider.setMaxVisibleElements.bind(null, 3));\n$window.on('breakpointLaptop', premiereProductsSlider.setMaxVisibleElements.bind(null, 4));\n$window.on('breakpointDesktop', premiereProductsSlider.setMaxVisibleElements.bind(null, 6));\n\n$window.on('breakpointMobile', popularShopsSlider.setMaxVisibleElements.bind(null, 2));\n$window.on('breakpointTablet', popularShopsSlider.setMaxVisibleElements.bind(null, 5));\n$window.on('breakpointLaptop', popularShopsSlider.setMaxVisibleElements.bind(null, 6));\n$window.on('breakpointDesktop', popularShopsSlider.setMaxVisibleElements.bind(null, 8));\n\n\n\n\n\n","/*jslint node: true */\r\n/*global require*/\r\n/*global module*/\r\n/*global $*/\r\n/*global window*/\r\n\r\n'use strict';\r\n\r\nvar OneSlideSlider = function ($container, maxVisibleElements) {\r\n    var $window,\r\n        $nextButton,\r\n        $prevButton,\r\n        $frame,\r\n        $elements,\r\n        $frameContainer,\r\n        frameOffsetLeft = 7,\r\n        slideCounter = 1,\r\n        isDragging = false,\r\n        DURATION = 500;\r\n\r\n    maxVisibleElements = maxVisibleElements || 3;\r\n\r\n    $.Finger = {\r\n        flickDuration: 200,\r\n        motionThreshold: 10\r\n    };\r\n\r\n\r\n    /**\r\n     * @param {jQuery} $elements\r\n     * @returns {number} Suma szerokości elementów\r\n     */\r\n    function getGroupWidthSum($elements) {\r\n        var widthSum = 0;\r\n\r\n        $elements.each(function (id, el) {\r\n            var $el = $(el);\r\n            widthSum += $el.outerWidth(true);\r\n        });\r\n\r\n        return Math.ceil(widthSum);\r\n    }\r\n\r\n    /**\r\n     * @param {jQuery} $element\r\n     * @returns {*}\r\n     */\r\n    function getBoxShadowPosition($element) {\r\n        var result = null;\r\n\r\n        if($element.css('box-shadow')) {\r\n            result = $element.css('box-shadow').match(/\\d+px/g);\r\n        }\r\n\r\n        if (result === null) {\r\n            return {\r\n                'horizontal': 0,\r\n                'vertical': 0\r\n            };\r\n        }\r\n\r\n        return {\r\n            'horizontal': parseInt(result[1].split('px')[0]),\r\n            'vertical': parseInt(result[2].split('px')[0])\r\n        };\r\n    }\r\n\r\n    function incrSlideCounter() {\r\n        slideCounter++;\r\n\r\n        if (slideCounter > $elements.length) {\r\n            slideCounter = 1;\r\n        }\r\n\r\n        return slideCounter;\r\n    }\r\n\r\n    function decrSlideCounter() {\r\n        slideCounter--;\r\n\r\n        if (slideCounter < 1) {\r\n            slideCounter = $elements.length;\r\n        }\r\n\r\n        return slideCounter;\r\n    }\r\n\r\n    /**\r\n     * Resetuje pozycję slidera\r\n     */\r\n    function resetPosition() {\r\n        $frame.css('left', '-' + frameOffsetLeft + 'px');\r\n        $prevButton.addClass('hidden');\r\n    }\r\n\r\n\r\n    /**\r\n     * Dostodowuje slider do aktualnej wielkości kontenera\r\n     */\r\n    function resize() {\r\n        var elementMarginAndPadding = $elements.outerWidth(true) - $elements.width(),\r\n            elementWidth = Math.floor(($frameContainer.width() / maxVisibleElements) - (maxVisibleElements - 1) * elementMarginAndPadding / maxVisibleElements - getBoxShadowPosition($elements).vertical / (maxVisibleElements-1)),\r\n            elementHeight = $elements.outerHeight(true) + getBoxShadowPosition($elements).horizontal,\r\n            elementsWidthSum;\r\n\r\n        $elements.width(elementWidth);\r\n\r\n        elementsWidthSum = getGroupWidthSum($elements);\r\n\r\n        $frame.width(elementsWidthSum > $frameContainer.width() ? elementsWidthSum : $frameContainer.width());\r\n        $frame.height(elementHeight);\r\n        $frameContainer.height(elementHeight);\r\n\r\n        if ($elements.length <= maxVisibleElements) {\r\n            $prevButton.addClass('hidden');\r\n            $nextButton.addClass('hidden');\r\n        } else {\r\n            $nextButton.removeClass('hidden');\r\n        }\r\n\r\n        resetPosition()\r\n    }\r\n\r\n\r\n    /** Przesuwa na poprzedni rzut slajdów **/\r\n    function prevSlide() {\r\n        $container.trigger('slide', decrSlideCounter());\r\n        if ($frame.width() >= $frameContainer.width() * 2 &&  Math.abs($frame.position().left - slideCounter * frameOffsetLeft) > $frameContainer.width() && slideCounter!==1) {\r\n            $frame.animate({'left': '+=' + ($frameContainer.width() + (2 * frameOffsetLeft))}, DURATION, function(){\r\n                $nextButton.removeClass('hidden');\r\n                $prevButton.removeClass('disabled');\r\n            });\r\n        } else {\r\n            $frame.animate({'left': '+=' + Math.abs(($frame.position().left) + frameOffsetLeft)}, DURATION, function(){\r\n                $prevButton.addClass('hidden');\r\n                $nextButton.removeClass('hidden');\r\n                $prevButton.removeClass('disabled');\r\n            });\r\n        }\r\n    }\r\n\r\n    /** Przesuwa na kolejny rzut slajdów **/\r\n    function nextSlide() {\r\n        var offsetRight = $frame.width() - Math.abs($frame.position().left) - $frameContainer.width();\r\n        $container.trigger('slide', incrSlideCounter());\r\n        $nextButton.removeClass('disabled');\r\n        if ($frame.width() >= ($frameContainer.width() * 2) && offsetRight > $frameContainer.width() ) {\r\n            $frame.animate({'left': '-=' + ($frameContainer.width() + (2 * frameOffsetLeft))}, DURATION, function(){\r\n                $prevButton.removeClass('hidden');\r\n                if(offsetRight === ($frameContainer.width() + 3 * frameOffsetLeft)){\r\n                    $nextButton.addClass('hidden');\r\n                }\r\n            });\r\n        }\r\n        else {\r\n            $frame.animate({'left': '-=' + (offsetRight - frameOffsetLeft)}, DURATION, function(){\r\n                $nextButton.addClass('hidden');\r\n                $prevButton.removeClass('hidden');\r\n            });\r\n        }\r\n    }\r\n\r\n\r\n    /**\r\n     * Przełącza slajd w zależności od parametru direction\r\n     *\r\n     * @param direction Kierunek slidowania (-1 następny, 1 poprzedni)\r\n     */\r\n    function slide(direction) {\r\n        if (direction === -1) {\r\n            nextSlide();\r\n        } else {\r\n            prevSlide();\r\n        }\r\n    }\r\n\r\n    /**\r\n     * Ustawia ilość widocznych elementów, które zostaną\r\n     * rozciągnięte do wielkości kontenera\r\n     * @param {number} value\r\n     */\r\n    function setMaxVisibleElements(value) {\r\n        maxVisibleElements = value;\r\n        resize();\r\n    }\r\n\r\n    $window = $(window);\r\n\r\n    $prevButton = $container.find('.slider-prev.js');\r\n    $nextButton = $container.find('.slider-next.js');\r\n    $frameContainer = $container.find('.frame-container.js').css('position', 'relative');\r\n    $frame = $frameContainer.find('.frame.js').css('position', 'absolute');\r\n\r\n    $elements = $frame.children();\r\n\r\n    $container.setMaxVisibleElements = setMaxVisibleElements;\r\n    $container.resize = resize;\r\n\r\n    $container.resetPosition = resetPosition;\r\n\r\n    $container.resize();\r\n\r\n\r\n    $prevButton.on('click', function(){\r\n        $prevButton.addClass('disabled');\r\n        prevSlide();\r\n    });\r\n    $prevButton.addClass('hidden');\r\n\r\n    $nextButton.on('click', function(){\r\n        $nextButton.addClass('disabled');\r\n        nextSlide();\r\n    });\r\n\r\n    $container.slide = slide;\r\n    $window.on('resize', resize);\r\n\r\n\r\n    /**\r\n     * Obsługa swipe\r\n     */\r\n    $frame.on('flick drag', function onSwipe(e) {\r\n\r\n        if (e.orientation !== 'horizontal') {\r\n            if (isDragging) {\r\n                e.preventDefault();\r\n            }\r\n\r\n            return;\r\n        }\r\n\r\n        e.preventDefault();\r\n\r\n        if (!isDragging) {\r\n            $container.slide(e.direction);\r\n        }\r\n\r\n        if (e.type === 'drag') {\r\n            isDragging = !e.end;\r\n        }\r\n    });\r\n\r\n    return $container;\r\n};\r\n\r\nmodule.exports = OneSlideSlider;\r\n"]}