{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./cartridges/app_intimissimi/cartridge/client/default/js/turntoWidget.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","document","addEventListener","userNotLoggedInHandler","contextObj","TurnToCmd","context","loggedInData","page","$","data","turnToConfig","locale","sso","userDataFn","ajax","url","type","success","userToken","userDataToken","isUserLoggedIn","window","location","href","redirectUrl","loggedInDataFn","post","error","logout","pageId","sku","val","q","push","arguments","reviewsListNode","titleNode","$turnToScript","siteKey","length","onload","on","insertStaticLabels","updatePagination","$paginationNodes","paginationNodesArr","toArray","totalPages","$paginationDots","startPage","endPage","pageArr","activeNodeIndex","findIndex","node","hasClass","lastPage","Math","min","max","forEach","hide","firstPage","show","$dots","parent","css","$reviewNodesReview","MutationObserver","mutationsList","observer","index","setTimeout","each","$label","this","find","html","endsWith","remove","append","first","clone","disconnect","observe","attributes","childList","subtree","ratingsReviewsNode","getElementById","setupFilters","evt","$filterListNode","removeEventListener","addClass","Foundation","MediaQuery","atLeast","click","setupReviewSummary","$starSummaryNode","stickyBannerHeight","outerHeight","prependTo","extraElementsHeight","animate","scrollTop","offset","top","$paginationNode","insertAfter","event","setupPagination","$nodeBeforeTitle","removeClass","appendTo","mutation","target","className","children","attr","e","currentTarget","word","trigger","action"],"mappings":"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","file":"turntoWidget.min.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 221);\n","document.addEventListener('DOMContentLoaded', () => {\n function userNotLoggedInHandler (contextObj) {\n TurnToCmd('loggedInDataFnDone', { context: contextObj, loggedInData: null });\n }\n const page = $('.page').data('action');\n const turnToConfig = {\n locale: $('#turnToWidgetLocale').data('value'),\n sso: {\n userDataFn: function (contextObj) {\n $.ajax({\n url: $('#turntoUrlUserData').data('url'),\n type: 'POST',\n success: function (data) {\n const userToken = data.userDataToken;\n const isUserLoggedIn = data.isUserLoggedIn;\n if (!isUserLoggedIn) {\n window.location.href = data.redirectUrl;\n } else {\n TurnToCmd('ssoRegDone', { context: contextObj, userDataToken: userToken });\n }\n }\n });\n },\n loggedInDataFn: function (contextObj) {\n $.post({\n url: $('#turntoUrlUserData').data('url'),\n success: function (data) {\n const isUserLoggedIn = data.isUserLoggedIn;\n if (!isUserLoggedIn) {\n userNotLoggedInHandler(contextObj);\n } else {\n $.post({\n url: $('#turntoUrlLoggedInData').data('url'),\n success: function (data) {\n TurnToCmd('loggedInDataFnDone', { context: contextObj, loggedInData: data });\n },\n error: function () {\n userNotLoggedInHandler(contextObj);\n }\n });\n }\n },\n error: function () {\n userNotLoggedInHandler(contextObj);\n }\n });\n if (window.isUserLoggedIn) {\n $.ajax({\n url: $('#turntoUrlLoggedInData').data('url'),\n type: 'POST',\n success: function (data) {\n TurnToCmd('loggedInDataFnDone', { context: contextObj, loggedInData: data });\n }\n });\n } else {\n TurnToCmd('loggedInDataFnDone', { context: contextObj, loggedInData: null });\n }\n },\n logout: function () {\n $.ajax({\n url: $('#turntoUrlLoggedOut').data('url'),\n type: 'POST',\n success: function (data) {\n }\n });\n }\n }\n };\n switch (page) {\n case 'Product-Show':\n turnToConfig.pageId = 'pdp-page';\n turnToConfig.sku = $('#reviewSku').val();\n break;\n default:\n break;\n }\n window.turnToConfig = turnToConfig;\n window.TurnToCmd = window.TurnToCmd || function () { (TurnToCmd.q = TurnToCmd.q || []).push(arguments); };\n const $turnToScript = $('#turnToWidgetScript');\n const siteKey = $('#turnToSiteKey').data('value');\n if ($turnToScript.length > 0) {\n $turnToScript.get(0).onload = function () {\n function setupFilters (evt) {\n const $filterListNode = $('.tt-c-reviews-list-utilities');\n if ($filterListNode.length > 0) {\n ratingsReviewsNode.removeEventListener('DOMNodeInserted', setupFilters);\n $('.tt-c-reviews-list-utilities').addClass('grid-container');\n $filterListNode.find('.tt-c-review-filters .tt-o-listbox .tt-o-listbox__btn .tt-o-listbox__label').html($('#filterLabel').html());\n $filterListNode.find('.tt-c-reviews-toolbar .tt-o-listbox.tt-c-reviews-toolbar__sort .tt-o-listbox__btn .tt-o-listbox__label').html($('#sortLabel').html());\n $('.tt-c-review-filters .tt-o-listbox__option').on('click', function () {\n if (!Foundation.MediaQuery.atLeast('medium')) {\n $('.tt-c-review-filters .tt-o-listbox .tt-o-listbox__btn').click();\n }\n });\n $('.tt-c-reviews-toolbar .tt-c-reviews-toolbar__sort .tt-o-listbox__list .tt-o-listbox__option').on('click', function () {\n if (!Foundation.MediaQuery.atLeast('medium')) {\n $('.tt-c-reviews-toolbar .tt-c-reviews-toolbar__sort .tt-o-listbox__btn').click();\n }\n });\n }\n }\n function setupLayout () {\n $('.ratings-reviews-section #tt-reviews-list .tt-c-reviews-list__content').addClass('grid-container');\n }\n\n function setupReviewSummary () {\n var $starSummaryNode = $('.tt-c-rating.tt-c-reviews-summary__stars');\n if ($starSummaryNode.length > 0) {\n var stickyBannerHeight = $('nav').outerHeight() || 0;\n ratingsReviewsNode.removeEventListener('DOMNodeInserted', setupReviewSummary);\n $starSummaryNode.clone().prependTo($('.review-summary-pdp').addClass('loaded'));\n $('.review-summary-pdp').on('click', function () {\n var extraElementsHeight = Foundation.MediaQuery.atLeast('medium') ? stickyBannerHeight : 0;\n $('html, body').animate({\n scrollTop: $('#tt-reviews-summary').offset().top - extraElementsHeight\n }, 1500);\n });\n if ($('#tt-reviews-list.hidden').length) {\n $('#tt-reviews-summary .tt-c-reviews-summary__content').addClass('only-stars');\n }\n }\n }\n $('.tt-o-page-list__number').on('click', function () {\n insertStaticLabels();\n });\n window.addEventListener('resize', () => {\n insertStaticLabels();\n });\n\n const setupPagination = () => {\n let ratingsReviewsNode = $('#ratingsReviewsSection').get(0);\n let ratingsReviewsNodeCallback = function (mutationsList, observer) {\n for (let index = 0; index < mutationsList.length; index++) {\n let mutation = mutationsList[index];\n if (mutation.type === 'childList') {\n const $paginationNode = $('.tt-o-pagination');\n if ($paginationNode.length > 0) {\n updatePagination($paginationNode.find('.tt-o-page-list .tt-o-page-list__number'));\n const handlePaginationClick = () => {\n updatePagination($paginationNode.find('.tt-o-page-list .tt-o-page-list__number'));\n };\n $('.tt-o-pagination__back').insertAfter('.tt-o-page-list');\n $('.tt-o-pagination__next').insertAfter('.tt-o-pagination__back');\n $('body').on('click', '.tt-o-page-list__number, .tt-o-pagination__back, .tt-o-pagination__next', (event) => {\n handlePaginationClick();\n });\n observer.disconnect();\n }\n }\n }\n };\n\n let reviewsListObserver = new MutationObserver(ratingsReviewsNodeCallback);\n const config = { attributes: false, childList: true, subtree: true };\n reviewsListObserver.observe(ratingsReviewsNode, config);\n };\n\n let updatePagination = ($paginationNodes) => {\n const paginationNodesArr = $paginationNodes.toArray();\n const totalPages = paginationNodesArr.length;\n let $paginationDots = $('');\n\n if (totalPages === 0) return;\n if (totalPages === 1) {\n $(paginationNodesArr[0]).show();\n return;\n }\n\n let pageArr = [];\n let activeNodeIndex = paginationNodesArr.findIndex(node => $(node).hasClass('tt-is-active'));\n const firstPage = 0;\n const lastPage = totalPages - 1;\n let startPage, endPage;\n\n if (activeNodeIndex === 0) {\n startPage = 0;\n endPage = Math.min(5, lastPage - 1);\n } else if (activeNodeIndex === lastPage) {\n startPage = Math.max(totalPages - 5, 1);\n endPage = lastPage;\n } else {\n startPage = Math.max(activeNodeIndex - 2, 0);\n endPage = Math.min(activeNodeIndex + 2, lastPage);\n }\n\n paginationNodesArr.forEach(node => $(node).hide());\n pageArr.push(paginationNodesArr[firstPage]);\n\n if (startPage > firstPage + 1) {\n pageArr.push($paginationDots);\n }\n for (let i = startPage; i <= endPage; i++) {\n pageArr.push(paginationNodesArr[i]);\n }\n if (endPage > lastPage - 1) {\n pageArr.push($paginationDots);\n }\n pageArr.push(paginationNodesArr[lastPage]);\n pageArr.forEach((node) => { $(node).show(); });\n\n let $dots = $('.tt-o-page-list__gap').parent();\n if ($dots.hasClass('tt-o-page-list__number')) {\n $dots.css('display', 'block');\n }\n };\n\n const insertStaticLabels = () => {\n let $reviewNodesReview = $('#ratingsReviewsSection').get(0);\n let ratingsReviewsNodeCallback = function (mutationsList, observer) {\n for (let index = 0; index < mutationsList.length; index++) {\n let mutation = mutationsList[index];\n if (mutation.type === 'childList') {\n const $reviewNodes = $('.tt-c-dimension--2 .tt-c-dimension__heading .tt-c-dimension__value-label');\n if ($reviewNodes.length > 0) {\n setTimeout(function () {\n $('.tt-c-dimension--2').each(function () {\n var $label = $(this).find('.tt-c-dimension__heading .tt-c-dimension__value-label');\n var value = $label.html();\n if (value.length === 1) {\n $label.html(value + '/5');\n } else if (!value.endsWith('/5')) {\n $(this).find('.tt-c-dimension__bar-wrap .size-label-container').remove();\n $(this).find('.tt-c-dimension__bar-wrap').each(function () {\n $(this).append($('.size-label-container').first().clone());\n });\n }\n });\n }, 0);\n observer.disconnect();\n }\n }\n }\n };\n\n let reviewsListObserver = new MutationObserver(ratingsReviewsNodeCallback);\n const config = { attributes: false, childList: true, subtree: true };\n reviewsListObserver.observe($reviewNodesReview, config);\n };\n\n const ratingsReviewsNode = document.getElementById('ratingsReviewsSection');\n ratingsReviewsNode.addEventListener('DOMNodeInserted', setupFilters);\n ratingsReviewsNode.addEventListener('DOMNodeInserted', setupReviewSummary);\n setupPagination();\n setupLayout();\n insertStaticLabels();\n };\n\n let setupTitleSection = () => {\n let titleNode = $('#tt-reviews-summary').get(0);\n let titleCallback = function (mutationsList, observer) {\n for (let index = 0; index < mutationsList.length; index++) {\n let mutation = mutationsList[index];\n if (mutation.type === 'childList') {\n const $nodeBeforeTitle = $('.tt-l-grid.tt-c-reviews-summary__content .tt-l-grid__row.tt-c-reviews-summary__grid-row').get(0);\n if ($nodeBeforeTitle) {\n $('#ratingsReviewsTitle').removeClass('hidden').insertAfter($nodeBeforeTitle);\n $('.tt-c-review-filters .tt-o-listbox .tt-o-listbox__list').appendTo('.flcFilterContainer .js-filterMenuDesktop');\n observer.disconnect();\n }\n }\n }\n };\n let reviewsListObserver = new MutationObserver(titleCallback);\n const config = { attributes: false, childList: true, subtree: true };\n reviewsListObserver.observe(titleNode, config);\n };\n\n let setupOnlyStarredReviewsList = () => {\n let reviewsListNode = $('#tt-reviews-list').get(0);\n let reviewsListCallback = function (mutationsList, observer) {\n for (let index = 0; index < mutationsList.length; index++) {\n let mutation = mutationsList[index];\n if (mutation.type === 'childList' &&\n mutation.target.className === 'tt-c-reviews-list' &&\n mutation.target.children.length > 0) {\n $('#tt-reviews-list').removeClass('hidden');\n observer.disconnect();\n break;\n } else {\n $('#tt-reviews-list').addClass('hidden');\n }\n }\n };\n let reviewsListObserver = new MutationObserver(reviewsListCallback);\n const config = { attributes: false, childList: true, subtree: true };\n reviewsListObserver.observe(reviewsListNode, config);\n };\n\n setupTitleSection();\n setupOnlyStarredReviewsList();\n $turnToScript.attr('src', 'https://widgets.turnto.com/v5/widgets/' + siteKey + '/js/turnto.js');\n }\n $('body').on('click', '.tt-c-reviews-filters-row .tt-o-listbox__list--has-selection .tt-o-listbox__option', function (e) {\n let index = $(e.currentTarget).index();\n let word = '';\n if (index === 0) {\n word = '5_stars';\n } else if (index === 1) {\n word = '4_stars';\n } else if (index === 2) {\n word = '3_stars';\n } else if (index === 3) {\n word = '2_stars';\n } else if (index === 4) {\n word = '1_star';\n }\n $('body').trigger('analytics:ratingAndReviewsPdp', {action: 'apply_a_filter', word: word});\n });\n $('body').on('click', '.tt-c-reviews-toolbar__sort .tt-o-listbox__list .tt-o-listbox__option', function (e) {\n let index = $(e.currentTarget).index();\n let word = '';\n if (index === 0) {\n word = 'most_recent';\n } else if (index === 1) {\n word = 'most_helpful';\n } else if (index === 2) {\n word = 'oldest';\n } else if (index === 3) {\n word = 'best_reviewed';\n } else if (index === 4) {\n word = 'least_reviewed';\n }\n $('body').trigger('analytics:ratingAndReviewsPdp', {action: 'apply_a_sorting', word: word});\n });\n});\n"],"sourceRoot":""}