{"version":3,"sources":["webpack:///./app/components/m/brand-selector/index.js"],"names":["$","fn","brandSelector","options","defaults","showDelay","hideDelay","animation","settings","extend","toggleEvents","e","matches","popover","mql","window","matchMedia","addListener","setTimeout","each","component","items","find","item","brand","data","markupID","markup","html","tooltipContent","length","container","template","trigger","placement","delay","show","hide","content","on","pop","currentTarget","myWhiteList","tooltip","Constructor","Default","whiteList","push"],"mappings":"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","file":"brand-selector.chunk.js","sourcesContent":["// import { icon } from 'a/icon';\r\n\r\n/**\r\n * jQuery M-020 Brand Selector\r\n * 03.07.2019 - wha\r\n */\r\n$.fn.brandSelector = function (options) {\r\n  if (!this) {\r\n    return false;\r\n  }\r\n\r\n  const defaults = {\r\n    showDelay: 50,\r\n    hideDelay: 250,\r\n    animation: false,\r\n  };\r\n  const settings = $.extend({}, defaults, options);\r\n\r\n  /**\r\n   * Toggle Tooltip on/off when enter or leave lg viewport\r\n   * @param {event} e - Event object\r\n   */\r\n  function toggleEvents(e) {\r\n    if (e.matches) {\r\n      // Enable Tooltip\r\n      $('.brand-selector__item').popover('enable');\r\n    } else {\r\n      // Disable Tooltip\r\n      $('.brand-selector__item').popover('disable');\r\n    }\r\n  }\r\n\r\n  // ===========================================================================\r\n  // == MAIN jQuery Plugin Function                                           ==\r\n  // ===========================================================================\r\n\r\n  // Event Handler for viewport change\r\n  const mql = window.matchMedia('(min-width: 1200px)');\r\n  mql.addListener(toggleEvents);\r\n  // Initial call on page load\r\n  setTimeout(() => toggleEvents(mql), 0);\r\n\r\n  // Iterate over all components\r\n  return this.each(function () {\r\n    const component = $(this);\r\n    const items = component.find('.brand-selector__item');\r\n\r\n    items.each(function () {\r\n      const item = $(this);\r\n      const brand = item.data('brand');\r\n      const markupID = item.data('target');\r\n      const markup = component.find(markupID).html();\r\n      const tooltipContent = component.find(`${markupID} ul`);\r\n\r\n      // don't initialize tooltip if no tooltip\r\n      // content are provided\r\n      if (tooltipContent.length === 0) return;\r\n\r\n      item.popover({\r\n        html: true,\r\n        animation: settings.animation,\r\n        container: component,\r\n        template: `<div class=\"popover fade ${brand}\" role=\"tooltip\"><div class=\"arrow\"></div><div class=\"popover-body\"></div></div>`,\r\n        trigger: 'manual',\r\n        placement: 'top',\r\n        delay: {\r\n          show: settings.showDelay,\r\n          hide: settings.hideDelay,\r\n        },\r\n        content: () => markup,\r\n      });\r\n\r\n      item.on('mouseenter', function (e) {\r\n        const pop = $(e.currentTarget);\r\n\r\n        pop.popover('show');\r\n        $('.popover').on('mouseleave', () => {\r\n          pop.popover('hide');\r\n        });\r\n      });\r\n\r\n      item.on('mouseleave', function (e) {\r\n        const pop = $(e.currentTarget);\r\n        setTimeout(() => {\r\n          if (!$('.popover:hover').length) {\r\n            pop.popover('hide');\r\n          }\r\n        }, settings.hideDelay);\r\n      });\r\n    });\r\n  });\r\n};\r\n\r\n$('.brand-selector').brandSelector({\r\n  animation: true,\r\n  hideDelay: 50,\r\n});\r\n\r\n// Adding custom data attributes to Bootstrap's default whitelist\r\n// so that Popover shows them too.\r\n// More info under: https://getbootstrap.com/docs/3.4/javascript/#js-data-attrs\r\nconst myWhiteList = [\r\n  'data-track_domevent',\r\n  'data-track_eventtype',\r\n  'data-track_brandname',\r\n  'data-track_productcategory',\r\n];\r\n\r\n$.fn.tooltip.Constructor.Default.whiteList['a'].push(...myWhiteList);\r\n"],"sourceRoot":""}