@orangesk/orange-design-system 1.10.6 → 1.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/build/app.css +1 -1
  2. package/build/app.css.map +1 -1
  3. package/build/app.js +1 -1
  4. package/build/app.js.map +1 -1
  5. package/build/asset-manifest.json +1 -1
  6. package/build/components/CarouselPromotions/index.js +1 -1
  7. package/build/components/CarouselPromotions/index.js.map +1 -1
  8. package/build/components/CarouselPromotions/style.css +1 -1
  9. package/build/components/CarouselPromotions/style.css.map +1 -1
  10. package/build/components/Forms/Field/style.css +1 -1
  11. package/build/components/Forms/Field/style.css.map +1 -1
  12. package/build/components/Forms/TextArea/style.css +1 -1
  13. package/build/components/Forms/TextArea/style.css.map +1 -1
  14. package/build/components/Forms/style.css +1 -1
  15. package/build/components/Forms/style.css.map +1 -1
  16. package/build/components/index.js +1 -1
  17. package/build/components/index.js.map +1 -1
  18. package/build/components/style.css +1 -1
  19. package/build/components/style.css.map +1 -1
  20. package/build/index.css +1 -1
  21. package/build/index.css.map +1 -1
  22. package/build/index.js +1 -1
  23. package/build/index.js.map +1 -1
  24. package/build/lib/components.css +1 -1
  25. package/build/lib/components.css.map +1 -1
  26. package/build/lib/scripts.js +1 -1
  27. package/build/lib/style.css +1 -1
  28. package/build/lib/style.css.map +1 -1
  29. package/build/{precache-manifest.6ead0695f63a9b75a511c1b917e4a543.js → precache-manifest.bcec161b6e91c0dcdd3c56db0841babe.js} +10 -10
  30. package/build/{precache-manifest.41fe7ee664de69b19f27337151b2be8b.js → precache-manifest.bf99fc5050abfcf4f6af584e5a612315.js} +12 -12
  31. package/build/service-worker.js +1 -1
  32. package/build/static.js +1 -1
  33. package/package.json +1 -1
  34. package/src/components/CarouselPromotions/CarouselPromotions.mdx +39 -53
  35. package/src/components/CarouselPromotions/CarouselPromotionsItem.js +8 -2
  36. package/src/components/CarouselPromotions/styles/mixins.scss +5 -42
  37. package/src/components/CarouselPromotions/styles/style.scss +0 -21
  38. package/src/components/Forms/TextArea/TextArea.mdx +1 -1
  39. package/src/components/Forms/TextArea/styles/config.scss +1 -0
  40. package/src/components/Forms/TextInput/TextInput.mdx +1 -1
@@ -355,7 +355,7 @@
355
355
  "components/static.css.map": "/components/static.css.map",
356
356
  "components/static.js.LICENSE.txt": "/components/static.js.LICENSE.txt",
357
357
  "components/style.css.map": "/components/style.css.map",
358
- "precache-manifest.6ead0695f63a9b75a511c1b917e4a543.js": "/precache-manifest.6ead0695f63a9b75a511c1b917e4a543.js",
358
+ "precache-manifest.bcec161b6e91c0dcdd3c56db0841babe.js": "/precache-manifest.bcec161b6e91c0dcdd3c56db0841babe.js",
359
359
  "service-worker.js": "/service-worker.js"
360
360
  },
361
361
  "entrypoints": [
@@ -1,3 +1,3 @@
1
1
  /*! For license information please see index.js.LICENSE.txt */
2
- !function(t,e){if("object"===typeof exports&&"object"===typeof module)module.exports=e(require("react"));else if("function"===typeof define&&define.amd)define(["react"],e);else{var i="object"===typeof exports?e(require("react")):e(t.React);for(var o in i)("object"===typeof exports?exports:t)[o]=i[o]}}(this,(function(t){return function(t){var e={};function i(o){if(e[o])return e[o].exports;var r=e[o]={i:o,l:!1,exports:{}};return t[o].call(r.exports,r,r.exports,i),r.l=!0,r.exports}return i.m=t,i.c=e,i.d=function(t,e,o){i.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:o})},i.r=function(t){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},i.t=function(t,e){if(1&e&&(t=i(t)),8&e)return t;if(4&e&&"object"===typeof t&&t&&t.__esModule)return t;var o=Object.create(null);if(i.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var r in t)i.d(o,r,function(e){return t[e]}.bind(null,r));return o},i.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(e,"a",e),e},i.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},i.p="/",i(i.s=125)}({0:function(e,i){e.exports=t},1:function(t,e,i){var o;!function(){"use strict";var i={}.hasOwnProperty;function r(){for(var t="",e=0;e<arguments.length;e++){var i=arguments[e];i&&(t=n(t,s(i)))}return t}function s(t){if("string"===typeof t||"number"===typeof t)return t;if("object"!==typeof t)return"";if(Array.isArray(t))return r.apply(null,t);if(t.toString!==Object.prototype.toString&&!t.toString.toString().includes("[native code]"))return t.toString();var e="";for(var o in t)i.call(t,o)&&t[o]&&(e=n(e,o));return e}function n(t,e){return e?t?t+" "+e:t+e:t}t.exports?(r.default=r,t.exports=r):void 0===(o=function(){return r}.apply(e,[]))||(t.exports=o)}()},125:function(t,e,i){"use strict";i.r(e),i.d(e,"CarouselPromotionsItem",(function(){return f}));var o=i(0),r=i.n(o),s=i(1),n=i.n(s),a=i(76),l=i(8);const d=({className:t,gliderOptions:e,isInverse:i,children:s,...d})=>{let c=Object(o.useRef)();Object(o.useEffect)(()=>{const t=new a.default(c);return()=>{t.destroy()}},[c]);const u=n()(l.g,t,{"bg-black":i}),h={next:n()(l.f,"hide-lg"),dots:n()(l.b)};return r.a.createElement("div",Object.assign({className:u,ref:t=>{c=t},"data-carousel-promotions":!0},e?{"data-glider-options":JSON.stringify(e)}:{},d),r.a.createElement("div",{className:l.n},r.a.createElement("div",{className:l.m},r.a.createElement("div",{className:l.l},s))),r.a.createElement("div",{role:"tablist",className:h.dots}))};d.displayName="CarouselPromotions";var c=d;i(149);const u=l.i,h=({className:t,children:e,href:i,image:o,title:s,subtitle:a,...d})=>{const c=n()(u,t),h=i?"a":"div";return r.a.createElement(h,Object.assign({className:c},d,{href:i||void 0}),r.a.createElement("div",{className:l.e},o),r.a.createElement("div",{className:l.j},r.a.createElement("h3",{className:l.k},s),r.a.createElement("p",null,a)))};h.displayName="CarouselPromotionsItem";var f=h;e.default=c},149:function(t,e,i){},41:function(t,e,i){var o,r;void 0===(r="function"===typeof(o=function(){"use strict";var t="undefined"!==typeof window?window:this,e=t.Glider=function(e,i){var o=this;if(e._glider)return e._glider;if(o.ele=e,o.ele._glider=o,o.opt=Object.assign({},{slidesToScroll:1,slidesToShow:1,resizeLock:!0,duration:.5,easing:function(t,e,i,o,r){return o*(e/=r)*e+i},classes:{glider:"glider",track:"glider-track",slide:"glider-slide",drag:"drag",draggable:"draggable",disabled:"disabled",active:"active",visible:"visible",dot:"glider-dot",dots:"glider-dots"}},i),o.animate_id=o.page=o.slide=0,o.arrows={},o._opt=o.opt,o.opt.skipTrack)o.track=o.ele.children[0];else for(o.track=document.createElement("div"),o.ele.appendChild(o.track);1!==o.ele.children.length;)o.track.appendChild(o.ele.children[0]);o.ele.classList.add(o.opt.classes.glider),o.track.classList.add(o.opt.classes.track),o.init(),o.resize=o.init.bind(o,!0),o.event(o.ele,"add",{scroll:o.updateControls.bind(o)}),o.event(t,"add",{resize:o.resize})},i=e.prototype;return i.init=function(t,e){var i=this,o=0,r=0;i.slides=i.track.children,[].forEach.call(i.slides,(function(t,e){t.classList.add("glider-slide"),t.setAttribute("data-gslide",e)})),i.containerWidth=i.ele.clientWidth;var s=i.settingsBreakpoint();if(e||(e=s),"auto"===i.opt.slidesToShow||"undefined"!==typeof i.opt._autoSlide){var n=i.containerWidth/i.opt.itemWidth;i.opt._autoSlide=i.opt.slidesToShow=i.opt.exactWidth?n:Math.max(1,Math.floor(n))}"auto"===i.opt.slidesToScroll&&(i.opt.slidesToScroll=Math.floor(i.opt.slidesToShow)),i.itemWidth=i.opt.exactWidth?i.opt.itemWidth:i.containerWidth/i.opt.slidesToShow,[].forEach.call(i.slides,(function(t){t.style.height="auto",t.style.width=i.itemWidth+"px",o+=i.itemWidth,r=Math.max(t.offsetHeight,r)})),i.track.style.width=o+"px",i.trackWidth=o,i.isDrag=!1,i.preventClick=!1,i.opt.resizeLock&&i.scrollTo(i.slide*i.itemWidth,0),(s||e)&&(i.bindArrows(),i.buildDots(),i.bindDrag()),i.updateControls(),i.emit(t?"refresh":"loaded")},i.bindDrag=function(){var t=this;t.mouse=t.mouse||t.handleMouse.bind(t);var e=function(){t.mouseDown=void 0,t.ele.classList.remove(t.opt.classes.drag),t.isDrag&&(t.preventClick=!0),t.isDrag=!1},i={mouseup:e,mouseleave:e,mousedown:function(e){e.preventDefault(),e.stopPropagation(),t.mouseDown=e.clientX,t.ele.classList.add(t.opt.classes.drag)},mousemove:t.mouse,click:function(e){t.preventClick&&(e.preventDefault(),e.stopPropagation()),t.preventClick=!1}};t.ele.classList.toggle(t.opt.classes.draggable,!0===t.opt.draggable),t.event(t.ele,"remove",i),t.opt.draggable&&t.event(t.ele,"add",i)},i.buildDots=function(){var t=this;if(t.opt.dots){if("string"===typeof t.opt.dots?t.dots=document.querySelector(t.opt.dots):t.dots=t.opt.dots,t.dots){t.dots.innerHTML="",t.dots.classList.add(t.opt.classes.dots);for(var e=0;e<Math.ceil(t.slides.length/Math.floor(t.opt.slidesToShow));++e){var i=document.createElement("button");i.dataset.index=e,i.setAttribute("aria-label","Page "+(e+1)),i.setAttribute("role","tab"),i.className=t.opt.classes.dot+" "+(e?"":t.opt.classes.active),t.event(i,"add",{click:t.scrollItem.bind(t,e,!0)}),t.dots.appendChild(i)}}}else t.dots&&(t.dots.innerHTML="")},i.bindArrows=function(){var t=this;t.opt.arrows?["prev","next"].forEach((function(e){var i=t.opt.arrows[e];i&&("string"===typeof i&&(i=document.querySelector(i)),i&&(i._func=i._func||t.scrollItem.bind(t,e),t.event(i,"remove",{click:i._func}),t.event(i,"add",{click:i._func}),t.arrows[e]=i))})):Object.keys(t.arrows).forEach((function(e){var i=t.arrows[e];t.event(i,"remove",{click:i._func})}))},i.updateControls=function(t){var e=this;t&&!e.opt.scrollPropagate&&t.stopPropagation();var i=e.containerWidth>=e.trackWidth;e.opt.rewind||(e.arrows.prev&&(e.arrows.prev.classList.toggle(e.opt.classes.disabled,e.ele.scrollLeft<=0||i),e.arrows.prev.classList.contains("disabled")?e.arrows.prev.setAttribute("aria-disabled",!0):e.arrows.prev.setAttribute("aria-disabled",!1)),e.arrows.next&&(e.arrows.next.classList.toggle(e.opt.classes.disabled,Math.ceil(e.ele.scrollLeft+e.containerWidth)>=Math.floor(e.trackWidth)||i),e.arrows.next.classList.contains("disabled")?e.arrows.next.setAttribute("aria-disabled",!0):e.arrows.next.setAttribute("aria-disabled",!1))),e.slide=Math.round(e.ele.scrollLeft/e.itemWidth),e.page=Math.round(e.ele.scrollLeft/(e.itemWidth*Math.floor(e.opt.slidesToShow)));var o=e.slide+Math.floor(Math.floor(e.opt.slidesToShow)/2),r=Math.floor(e.opt.slidesToShow)%2?0:o+1;1===Math.floor(e.opt.slidesToShow)&&(r=0),e.ele.scrollLeft+e.containerWidth>=Math.floor(e.trackWidth)&&(e.page=e.dots?e.dots.children.length-1:0),[].forEach.call(e.slides,(function(t,i){var s=t.classList,n=s.contains(e.opt.classes.visible),a=e.ele.scrollLeft,l=e.ele.scrollLeft+e.containerWidth,d=e.itemWidth*i,c=d+e.itemWidth;[].forEach.call(s,(function(t){/^left|right/.test(t)&&s.remove(t)})),s.toggle("active",e.slide===i),o===i||r&&r===i?s.add("center"):(s.remove("center"),s.add([i<o?"left":"right",Math.abs(i-(i<o?o:r||o))].join("-")));var u=Math.ceil(d)>=Math.floor(a)&&Math.floor(c)<=Math.ceil(l);s.toggle("visible",u),u!==n&&e.emit("slide-"+(u?"visible":"hidden"),{slide:i})})),e.dots&&[].forEach.call(e.dots.children,(function(t,i){t.classList.toggle(e.opt.classes.active,e.page===i)})),t&&e.opt.scrollLock&&(clearTimeout(e.scrollLock),e.scrollLock=setTimeout((function(){clearTimeout(e.scrollLock),Math.abs(e.ele.scrollLeft/e.itemWidth-e.slide)>.02&&(e.mouseDown||e.trackWidth>e.containerWidth+e.ele.scrollLeft&&e.scrollItem(e.getCurrentSlide()))}),e.opt.scrollLockDelay||250))},i.getCurrentSlide=function(){var t=this;return t.round(t.ele.scrollLeft/t.itemWidth)},i.scrollItem=function(t,e,i){i&&i.preventDefault();var o=this,r=t;if(++o.animate_id,!0===e)t*=Math.floor(o.opt.slidesToShow),t*=o.itemWidth;else{if("string"===typeof t){var s="prev"===t;if(t=o.opt.slidesToScroll%1||o.opt.slidesToShow%1?o.getCurrentSlide():o.slide,s?t-=o.opt.slidesToScroll:t+=o.opt.slidesToScroll,o.opt.rewind){var n=o.ele.scrollLeft;t=s&&!n?o.slides.length:!s&&n+o.containerWidth>=Math.floor(o.trackWidth)?0:t}}t=Math.max(Math.min(t,o.slides.length),0),o.slide=t,t=o.itemWidth*t}return o.scrollTo(t,o.opt.duration*Math.abs(o.ele.scrollLeft-t),(function(){o.updateControls(),o.emit("animated",{value:r,type:"string"===typeof r?"arrow":e?"dot":"slide"})})),!1},i.settingsBreakpoint=function(){var e=this,i=e._opt.responsive;if(i){i.sort((function(t,e){return e.breakpoint-t.breakpoint}));for(var o=0;o<i.length;++o){var r=i[o];if(t.innerWidth>=r.breakpoint)return e.breakpoint!==r.breakpoint&&(e.opt=Object.assign({},e._opt,r.settings),e.breakpoint=r.breakpoint,!0)}}var s=0!==e.breakpoint;return e.opt=Object.assign({},e._opt),e.breakpoint=0,s},i.scrollTo=function(e,i,o){var r=this,s=(new Date).getTime(),n=r.animate_id,a=function(){var l=(new Date).getTime()-s;r.ele.scrollLeft=r.ele.scrollLeft+(e-r.ele.scrollLeft)*r.opt.easing(0,l,0,1,i),l<i&&n===r.animate_id?t.requestAnimationFrame(a):(r.ele.scrollLeft=e,o&&o.call(r))};t.requestAnimationFrame(a)},i.removeItem=function(t){var e=this;e.slides.length&&(e.track.removeChild(e.slides[t]),e.refresh(!0),e.emit("remove"))},i.addItem=function(t){var e=this;e.track.appendChild(t),e.refresh(!0),e.emit("add")},i.handleMouse=function(t){var e=this;e.mouseDown&&(e.isDrag=!0,e.ele.scrollLeft+=(e.mouseDown-t.clientX)*(e.opt.dragVelocity||3.3),e.mouseDown=t.clientX)},i.round=function(t){var e=1/(this.opt.slidesToScroll%1||1);return Math.round(t*e)/e},i.refresh=function(t){this.init(!0,t)},i.setOption=function(t,e){var i=this;i.breakpoint&&!e?i._opt.responsive.forEach((function(e){e.breakpoint===i.breakpoint&&(e.settings=Object.assign({},e.settings,t))})):i._opt=Object.assign({},i._opt,t),i.breakpoint=0,i.settingsBreakpoint()},i.destroy=function(){var e=this,i=e.ele.cloneNode(!0),o=function(t){t.removeAttribute("style"),[].forEach.call(t.classList,(function(e){/^glider/.test(e)&&t.classList.remove(e)}))};i.children[0].outerHTML=i.children[0].innerHTML,o(i),[].forEach.call(i.getElementsByTagName("*"),o),e.ele.parentNode.replaceChild(i,e.ele),e.event(t,"remove",{resize:e.resize}),e.emit("destroy")},i.emit=function(e,i){var o=new t.CustomEvent("glider-"+e,{bubbles:!this.opt.eventPropagate,detail:i});this.ele.dispatchEvent(o)},i.event=function(t,e,i){var o=t[e+"EventListener"].bind(t);Object.keys(i).forEach((function(t){o(t,i[t])}))},e})?o.call(e,i,e,t):o)||(t.exports=r)},76:function(t,e,i){"use strict";i.r(e),i.d(e,"defaultConfig",(function(){return n})),i.d(e,"default",(function(){return a}));var o=i(41),r=i.n(o),s=i(8);const n={slidesToShow:1,dots:s.o,skipTrack:!0,rewind:!0,interval:0,scrollLock:!0,classes:{glider:"carousel-promotions__viewport",track:"carousel-promotions__track",slide:"carousel-promotions__slide",drag:"is-dragging",draggable:"is-draggable",disabled:"is-disabled",active:"is-active",visible:"is-visible",dots:"carousel-promotions__pagination",dot:"carousel-promotions__pagination-item"}};class a{constructor(t,e){this.interval=0,this.element=t;const i={...n,...e},{interval:o,...r}=i;return this.config=r,this.interval=parseInt(o),this.element.ODS_CarouselPromotions=this,this.gliderLoadedHandler=this.gliderLoadedHandler.bind(this),this.gliderRefreshHandler=this.gliderRefreshHandler.bind(this),this.scrollToNextSlide=this.scrollToNextSlide.bind(this),this.autoplayAnimationEnd=this.autoplayAnimationEnd.bind(this),this.element.ODS_CarouselPromotions=this,this.init(),this}init(){this.getElements(),this.element.hasAttribute("data-glider-options")&&this.getCustomOptions(),this.element.hasAttribute("data-interval")&&(this.interval=parseInt(this.element.getAttribute("data-interval")));const t=this.isIntervalValid();t?this.element.classList.add(s.a):this.interval=0,this.element.addEventListener("glider-loaded",this.gliderLoadedHandler),this.element.addEventListener("glider-refresh",this.gliderRefreshHandler),this.element.addEventListener("glider-slide-visible",(t,e)=>{if(this.element.classList.remove(s.h),t.detail&&t.detail.slide){t.detail.slide%2===1&&this.element.classList.add(s.h)}}),this.instance=new r.a(this.viewport,this.config),this.instance&&this.instance.dots&&t&&(this.instance.dots.addEventListener("animationend",this.autoplayAnimationEnd),this.instance.dots.addEventListener("click",()=>{this.stopAutoplay()}))}stopAutoplay(){this.interval=0,this.element.classList.remove(s.a)}autoplayAnimationEnd(t){t instanceof AnimationEvent&&"countdown"===t.animationName&&this.scrollToNextSlide()}get isAutoplayEnabled(){return this.interval>0}isIntervalValid(){const t=parseInt(this.interval);return!isNaN(t)&&t>=1e3}scrollToNextSlide(){const t=this.instance.slides.length;if(t<0)return;const e=this.instance.getCurrentSlide();this.instance.scrollItem((e+1)%t)}gliderLoadedHandler(){this.fixPaginationButtonType(),this.isAutoplayEnabled&&this.renderSvgDotsForAnimation()}gliderRefreshHandler(){this.fixPaginationButtonType(),this.isAutoplayEnabled&&this.renderSvgDotsForAnimation()}getElements(){this.viewport=this.element.querySelector(s.p);const t={dots:this.element.querySelector(s.o)};this.config={...this.config,...t}}getCustomOptions(){const t=this.element.getAttribute("data-glider-options"),e=JSON.parse(t);this.config={...this.config,...e}}fixPaginationButtonType(){Array.from(this.element.querySelectorAll(s.o+" > *")).forEach(t=>t.setAttribute("type","button"))}static createSvgDot(){const t="http://www.w3.org/2000/svg",e=document.createElementNS(t,"svg");e.setAttribute("class",s.d),e.setAttribute("width","12"),e.setAttribute("height","12"),e.setAttribute("viewBox","0 0 12 12"),e.setAttribute("fill","none"),e.setAttribute("xmlns",t);const i=document.createElementNS(t,"circle");return i.setAttribute("class",s.c),i.setAttribute("r","5"),i.setAttribute("cx","6"),i.setAttribute("cy","6"),e.appendChild(i),e}renderSvgDotsForAnimation(){const t=Array.from(this.element.querySelectorAll(s.o+" > *")),e=a.createSvgDot();e.querySelector("circle").style.animationDuration=this.interval+"ms",t.forEach(t=>{t.innerHTML="",t.appendChild(e.cloneNode(!0))})}destroy(){this.instance.destroy()}update(){this.instance.refresh()}static getInstance(t){return t&&t.ODS_CarouselPromotions?t.ODS_CarouselPromotions:null}}},8:function(t,e,i){"use strict";i.d(e,"g",(function(){return o})),i.d(e,"n",(function(){return r})),i.d(e,"m",(function(){return s})),i.d(e,"l",(function(){return n})),i.d(e,"i",(function(){return a})),i.d(e,"j",(function(){return l})),i.d(e,"k",(function(){return d})),i.d(e,"e",(function(){return c})),i.d(e,"f",(function(){return u})),i.d(e,"b",(function(){return h})),i.d(e,"d",(function(){return f})),i.d(e,"c",(function(){return p})),i.d(e,"h",(function(){return m})),i.d(e,"a",(function(){return g})),i.d(e,"p",(function(){return v})),i.d(e,"o",(function(){return b}));const o="carousel-promotions",r=o+"__viewport-wrapper",s=o+"__viewport",n=o+"__track",a=o+"__slide",l=o+"__content",d=o+"__title",c=o+"__image",u=o+"__next",h=o+"__pagination",f=o+"__pagination-svg",p=o+"__pagination-circle",m=o+"--slide-inverted",g="is-autoplay",v="."+s,b="."+h}})}));
2
+ !function(t,e){if("object"===typeof exports&&"object"===typeof module)module.exports=e(require("react"));else if("function"===typeof define&&define.amd)define(["react"],e);else{var i="object"===typeof exports?e(require("react")):e(t.React);for(var o in i)("object"===typeof exports?exports:t)[o]=i[o]}}(this,(function(t){return function(t){var e={};function i(o){if(e[o])return e[o].exports;var r=e[o]={i:o,l:!1,exports:{}};return t[o].call(r.exports,r,r.exports,i),r.l=!0,r.exports}return i.m=t,i.c=e,i.d=function(t,e,o){i.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:o})},i.r=function(t){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},i.t=function(t,e){if(1&e&&(t=i(t)),8&e)return t;if(4&e&&"object"===typeof t&&t&&t.__esModule)return t;var o=Object.create(null);if(i.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var r in t)i.d(o,r,function(e){return t[e]}.bind(null,r));return o},i.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(e,"a",e),e},i.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},i.p="/",i(i.s=125)}({0:function(e,i){e.exports=t},1:function(t,e,i){var o;!function(){"use strict";var i={}.hasOwnProperty;function r(){for(var t="",e=0;e<arguments.length;e++){var i=arguments[e];i&&(t=n(t,s(i)))}return t}function s(t){if("string"===typeof t||"number"===typeof t)return t;if("object"!==typeof t)return"";if(Array.isArray(t))return r.apply(null,t);if(t.toString!==Object.prototype.toString&&!t.toString.toString().includes("[native code]"))return t.toString();var e="";for(var o in t)i.call(t,o)&&t[o]&&(e=n(e,o));return e}function n(t,e){return e?t?t+" "+e:t+e:t}t.exports?(r.default=r,t.exports=r):void 0===(o=function(){return r}.apply(e,[]))||(t.exports=o)}()},125:function(t,e,i){"use strict";i.r(e),i.d(e,"CarouselPromotionsItem",(function(){return f}));var o=i(0),r=i.n(o),s=i(1),n=i.n(s),a=i(76),l=i(8);const d=({className:t,gliderOptions:e,isInverse:i,children:s,...d})=>{let c=Object(o.useRef)();Object(o.useEffect)(()=>{const t=new a.default(c);return()=>{t.destroy()}},[c]);const u=n()(l.g,t,{"bg-black":i}),h={next:n()(l.f,"hide-lg"),dots:n()(l.b)};return r.a.createElement("div",Object.assign({className:u,ref:t=>{c=t},"data-carousel-promotions":!0},e?{"data-glider-options":JSON.stringify(e)}:{},d),r.a.createElement("div",{className:l.n},r.a.createElement("div",{className:l.m},r.a.createElement("div",{className:l.l},s))),r.a.createElement("div",{role:"tablist",className:h.dots}))};d.displayName="CarouselPromotions";var c=d;i(149);const u=l.i,h=({className:t,children:e,href:i,image:o,title:s,subtitle:a,color:d,...c})=>{const h=n()(u,{[u+"--black"]:"black"===d},t),f=i?"a":"div";return r.a.createElement(f,Object.assign({className:h},c,{href:i||void 0}),r.a.createElement("div",{className:l.e},o),r.a.createElement("div",{className:l.j},r.a.createElement("h3",{className:l.k},s),r.a.createElement("p",null,a)))};h.displayName="CarouselPromotionsItem";var f=h;e.default=c},149:function(t,e,i){},41:function(t,e,i){var o,r;void 0===(r="function"===typeof(o=function(){"use strict";var t="undefined"!==typeof window?window:this,e=t.Glider=function(e,i){var o=this;if(e._glider)return e._glider;if(o.ele=e,o.ele._glider=o,o.opt=Object.assign({},{slidesToScroll:1,slidesToShow:1,resizeLock:!0,duration:.5,easing:function(t,e,i,o,r){return o*(e/=r)*e+i},classes:{glider:"glider",track:"glider-track",slide:"glider-slide",drag:"drag",draggable:"draggable",disabled:"disabled",active:"active",visible:"visible",dot:"glider-dot",dots:"glider-dots"}},i),o.animate_id=o.page=o.slide=0,o.arrows={},o._opt=o.opt,o.opt.skipTrack)o.track=o.ele.children[0];else for(o.track=document.createElement("div"),o.ele.appendChild(o.track);1!==o.ele.children.length;)o.track.appendChild(o.ele.children[0]);o.ele.classList.add(o.opt.classes.glider),o.track.classList.add(o.opt.classes.track),o.init(),o.resize=o.init.bind(o,!0),o.event(o.ele,"add",{scroll:o.updateControls.bind(o)}),o.event(t,"add",{resize:o.resize})},i=e.prototype;return i.init=function(t,e){var i=this,o=0,r=0;i.slides=i.track.children,[].forEach.call(i.slides,(function(t,e){t.classList.add("glider-slide"),t.setAttribute("data-gslide",e)})),i.containerWidth=i.ele.clientWidth;var s=i.settingsBreakpoint();if(e||(e=s),"auto"===i.opt.slidesToShow||"undefined"!==typeof i.opt._autoSlide){var n=i.containerWidth/i.opt.itemWidth;i.opt._autoSlide=i.opt.slidesToShow=i.opt.exactWidth?n:Math.max(1,Math.floor(n))}"auto"===i.opt.slidesToScroll&&(i.opt.slidesToScroll=Math.floor(i.opt.slidesToShow)),i.itemWidth=i.opt.exactWidth?i.opt.itemWidth:i.containerWidth/i.opt.slidesToShow,[].forEach.call(i.slides,(function(t){t.style.height="auto",t.style.width=i.itemWidth+"px",o+=i.itemWidth,r=Math.max(t.offsetHeight,r)})),i.track.style.width=o+"px",i.trackWidth=o,i.isDrag=!1,i.preventClick=!1,i.opt.resizeLock&&i.scrollTo(i.slide*i.itemWidth,0),(s||e)&&(i.bindArrows(),i.buildDots(),i.bindDrag()),i.updateControls(),i.emit(t?"refresh":"loaded")},i.bindDrag=function(){var t=this;t.mouse=t.mouse||t.handleMouse.bind(t);var e=function(){t.mouseDown=void 0,t.ele.classList.remove(t.opt.classes.drag),t.isDrag&&(t.preventClick=!0),t.isDrag=!1},i={mouseup:e,mouseleave:e,mousedown:function(e){e.preventDefault(),e.stopPropagation(),t.mouseDown=e.clientX,t.ele.classList.add(t.opt.classes.drag)},mousemove:t.mouse,click:function(e){t.preventClick&&(e.preventDefault(),e.stopPropagation()),t.preventClick=!1}};t.ele.classList.toggle(t.opt.classes.draggable,!0===t.opt.draggable),t.event(t.ele,"remove",i),t.opt.draggable&&t.event(t.ele,"add",i)},i.buildDots=function(){var t=this;if(t.opt.dots){if("string"===typeof t.opt.dots?t.dots=document.querySelector(t.opt.dots):t.dots=t.opt.dots,t.dots){t.dots.innerHTML="",t.dots.classList.add(t.opt.classes.dots);for(var e=0;e<Math.ceil(t.slides.length/Math.floor(t.opt.slidesToShow));++e){var i=document.createElement("button");i.dataset.index=e,i.setAttribute("aria-label","Page "+(e+1)),i.setAttribute("role","tab"),i.className=t.opt.classes.dot+" "+(e?"":t.opt.classes.active),t.event(i,"add",{click:t.scrollItem.bind(t,e,!0)}),t.dots.appendChild(i)}}}else t.dots&&(t.dots.innerHTML="")},i.bindArrows=function(){var t=this;t.opt.arrows?["prev","next"].forEach((function(e){var i=t.opt.arrows[e];i&&("string"===typeof i&&(i=document.querySelector(i)),i&&(i._func=i._func||t.scrollItem.bind(t,e),t.event(i,"remove",{click:i._func}),t.event(i,"add",{click:i._func}),t.arrows[e]=i))})):Object.keys(t.arrows).forEach((function(e){var i=t.arrows[e];t.event(i,"remove",{click:i._func})}))},i.updateControls=function(t){var e=this;t&&!e.opt.scrollPropagate&&t.stopPropagation();var i=e.containerWidth>=e.trackWidth;e.opt.rewind||(e.arrows.prev&&(e.arrows.prev.classList.toggle(e.opt.classes.disabled,e.ele.scrollLeft<=0||i),e.arrows.prev.classList.contains("disabled")?e.arrows.prev.setAttribute("aria-disabled",!0):e.arrows.prev.setAttribute("aria-disabled",!1)),e.arrows.next&&(e.arrows.next.classList.toggle(e.opt.classes.disabled,Math.ceil(e.ele.scrollLeft+e.containerWidth)>=Math.floor(e.trackWidth)||i),e.arrows.next.classList.contains("disabled")?e.arrows.next.setAttribute("aria-disabled",!0):e.arrows.next.setAttribute("aria-disabled",!1))),e.slide=Math.round(e.ele.scrollLeft/e.itemWidth),e.page=Math.round(e.ele.scrollLeft/(e.itemWidth*Math.floor(e.opt.slidesToShow)));var o=e.slide+Math.floor(Math.floor(e.opt.slidesToShow)/2),r=Math.floor(e.opt.slidesToShow)%2?0:o+1;1===Math.floor(e.opt.slidesToShow)&&(r=0),e.ele.scrollLeft+e.containerWidth>=Math.floor(e.trackWidth)&&(e.page=e.dots?e.dots.children.length-1:0),[].forEach.call(e.slides,(function(t,i){var s=t.classList,n=s.contains(e.opt.classes.visible),a=e.ele.scrollLeft,l=e.ele.scrollLeft+e.containerWidth,d=e.itemWidth*i,c=d+e.itemWidth;[].forEach.call(s,(function(t){/^left|right/.test(t)&&s.remove(t)})),s.toggle("active",e.slide===i),o===i||r&&r===i?s.add("center"):(s.remove("center"),s.add([i<o?"left":"right",Math.abs(i-(i<o?o:r||o))].join("-")));var u=Math.ceil(d)>=Math.floor(a)&&Math.floor(c)<=Math.ceil(l);s.toggle("visible",u),u!==n&&e.emit("slide-"+(u?"visible":"hidden"),{slide:i})})),e.dots&&[].forEach.call(e.dots.children,(function(t,i){t.classList.toggle(e.opt.classes.active,e.page===i)})),t&&e.opt.scrollLock&&(clearTimeout(e.scrollLock),e.scrollLock=setTimeout((function(){clearTimeout(e.scrollLock),Math.abs(e.ele.scrollLeft/e.itemWidth-e.slide)>.02&&(e.mouseDown||e.trackWidth>e.containerWidth+e.ele.scrollLeft&&e.scrollItem(e.getCurrentSlide()))}),e.opt.scrollLockDelay||250))},i.getCurrentSlide=function(){var t=this;return t.round(t.ele.scrollLeft/t.itemWidth)},i.scrollItem=function(t,e,i){i&&i.preventDefault();var o=this,r=t;if(++o.animate_id,!0===e)t*=Math.floor(o.opt.slidesToShow),t*=o.itemWidth;else{if("string"===typeof t){var s="prev"===t;if(t=o.opt.slidesToScroll%1||o.opt.slidesToShow%1?o.getCurrentSlide():o.slide,s?t-=o.opt.slidesToScroll:t+=o.opt.slidesToScroll,o.opt.rewind){var n=o.ele.scrollLeft;t=s&&!n?o.slides.length:!s&&n+o.containerWidth>=Math.floor(o.trackWidth)?0:t}}t=Math.max(Math.min(t,o.slides.length),0),o.slide=t,t=o.itemWidth*t}return o.scrollTo(t,o.opt.duration*Math.abs(o.ele.scrollLeft-t),(function(){o.updateControls(),o.emit("animated",{value:r,type:"string"===typeof r?"arrow":e?"dot":"slide"})})),!1},i.settingsBreakpoint=function(){var e=this,i=e._opt.responsive;if(i){i.sort((function(t,e){return e.breakpoint-t.breakpoint}));for(var o=0;o<i.length;++o){var r=i[o];if(t.innerWidth>=r.breakpoint)return e.breakpoint!==r.breakpoint&&(e.opt=Object.assign({},e._opt,r.settings),e.breakpoint=r.breakpoint,!0)}}var s=0!==e.breakpoint;return e.opt=Object.assign({},e._opt),e.breakpoint=0,s},i.scrollTo=function(e,i,o){var r=this,s=(new Date).getTime(),n=r.animate_id,a=function(){var l=(new Date).getTime()-s;r.ele.scrollLeft=r.ele.scrollLeft+(e-r.ele.scrollLeft)*r.opt.easing(0,l,0,1,i),l<i&&n===r.animate_id?t.requestAnimationFrame(a):(r.ele.scrollLeft=e,o&&o.call(r))};t.requestAnimationFrame(a)},i.removeItem=function(t){var e=this;e.slides.length&&(e.track.removeChild(e.slides[t]),e.refresh(!0),e.emit("remove"))},i.addItem=function(t){var e=this;e.track.appendChild(t),e.refresh(!0),e.emit("add")},i.handleMouse=function(t){var e=this;e.mouseDown&&(e.isDrag=!0,e.ele.scrollLeft+=(e.mouseDown-t.clientX)*(e.opt.dragVelocity||3.3),e.mouseDown=t.clientX)},i.round=function(t){var e=1/(this.opt.slidesToScroll%1||1);return Math.round(t*e)/e},i.refresh=function(t){this.init(!0,t)},i.setOption=function(t,e){var i=this;i.breakpoint&&!e?i._opt.responsive.forEach((function(e){e.breakpoint===i.breakpoint&&(e.settings=Object.assign({},e.settings,t))})):i._opt=Object.assign({},i._opt,t),i.breakpoint=0,i.settingsBreakpoint()},i.destroy=function(){var e=this,i=e.ele.cloneNode(!0),o=function(t){t.removeAttribute("style"),[].forEach.call(t.classList,(function(e){/^glider/.test(e)&&t.classList.remove(e)}))};i.children[0].outerHTML=i.children[0].innerHTML,o(i),[].forEach.call(i.getElementsByTagName("*"),o),e.ele.parentNode.replaceChild(i,e.ele),e.event(t,"remove",{resize:e.resize}),e.emit("destroy")},i.emit=function(e,i){var o=new t.CustomEvent("glider-"+e,{bubbles:!this.opt.eventPropagate,detail:i});this.ele.dispatchEvent(o)},i.event=function(t,e,i){var o=t[e+"EventListener"].bind(t);Object.keys(i).forEach((function(t){o(t,i[t])}))},e})?o.call(e,i,e,t):o)||(t.exports=r)},76:function(t,e,i){"use strict";i.r(e),i.d(e,"defaultConfig",(function(){return n})),i.d(e,"default",(function(){return a}));var o=i(41),r=i.n(o),s=i(8);const n={slidesToShow:1,dots:s.o,skipTrack:!0,rewind:!0,interval:0,scrollLock:!0,classes:{glider:"carousel-promotions__viewport",track:"carousel-promotions__track",slide:"carousel-promotions__slide",drag:"is-dragging",draggable:"is-draggable",disabled:"is-disabled",active:"is-active",visible:"is-visible",dots:"carousel-promotions__pagination",dot:"carousel-promotions__pagination-item"}};class a{constructor(t,e){this.interval=0,this.element=t;const i={...n,...e},{interval:o,...r}=i;return this.config=r,this.interval=parseInt(o),this.element.ODS_CarouselPromotions=this,this.gliderLoadedHandler=this.gliderLoadedHandler.bind(this),this.gliderRefreshHandler=this.gliderRefreshHandler.bind(this),this.scrollToNextSlide=this.scrollToNextSlide.bind(this),this.autoplayAnimationEnd=this.autoplayAnimationEnd.bind(this),this.element.ODS_CarouselPromotions=this,this.init(),this}init(){this.getElements(),this.element.hasAttribute("data-glider-options")&&this.getCustomOptions(),this.element.hasAttribute("data-interval")&&(this.interval=parseInt(this.element.getAttribute("data-interval")));const t=this.isIntervalValid();t?this.element.classList.add(s.a):this.interval=0,this.element.addEventListener("glider-loaded",this.gliderLoadedHandler),this.element.addEventListener("glider-refresh",this.gliderRefreshHandler),this.element.addEventListener("glider-slide-visible",(t,e)=>{if(this.element.classList.remove(s.h),t.detail&&t.detail.slide){t.detail.slide%2===1&&this.element.classList.add(s.h)}}),this.instance=new r.a(this.viewport,this.config),this.instance&&this.instance.dots&&t&&(this.instance.dots.addEventListener("animationend",this.autoplayAnimationEnd),this.instance.dots.addEventListener("click",()=>{this.stopAutoplay()}))}stopAutoplay(){this.interval=0,this.element.classList.remove(s.a)}autoplayAnimationEnd(t){t instanceof AnimationEvent&&"countdown"===t.animationName&&this.scrollToNextSlide()}get isAutoplayEnabled(){return this.interval>0}isIntervalValid(){const t=parseInt(this.interval);return!isNaN(t)&&t>=1e3}scrollToNextSlide(){const t=this.instance.slides.length;if(t<0)return;const e=this.instance.getCurrentSlide();this.instance.scrollItem((e+1)%t)}gliderLoadedHandler(){this.fixPaginationButtonType(),this.isAutoplayEnabled&&this.renderSvgDotsForAnimation()}gliderRefreshHandler(){this.fixPaginationButtonType(),this.isAutoplayEnabled&&this.renderSvgDotsForAnimation()}getElements(){this.viewport=this.element.querySelector(s.p);const t={dots:this.element.querySelector(s.o)};this.config={...this.config,...t}}getCustomOptions(){const t=this.element.getAttribute("data-glider-options"),e=JSON.parse(t);this.config={...this.config,...e}}fixPaginationButtonType(){Array.from(this.element.querySelectorAll(s.o+" > *")).forEach(t=>t.setAttribute("type","button"))}static createSvgDot(){const t="http://www.w3.org/2000/svg",e=document.createElementNS(t,"svg");e.setAttribute("class",s.d),e.setAttribute("width","12"),e.setAttribute("height","12"),e.setAttribute("viewBox","0 0 12 12"),e.setAttribute("fill","none"),e.setAttribute("xmlns",t);const i=document.createElementNS(t,"circle");return i.setAttribute("class",s.c),i.setAttribute("r","5"),i.setAttribute("cx","6"),i.setAttribute("cy","6"),e.appendChild(i),e}renderSvgDotsForAnimation(){const t=Array.from(this.element.querySelectorAll(s.o+" > *")),e=a.createSvgDot();e.querySelector("circle").style.animationDuration=this.interval+"ms",t.forEach(t=>{t.innerHTML="",t.appendChild(e.cloneNode(!0))})}destroy(){this.instance.destroy()}update(){this.instance.refresh()}static getInstance(t){return t&&t.ODS_CarouselPromotions?t.ODS_CarouselPromotions:null}}},8:function(t,e,i){"use strict";i.d(e,"g",(function(){return o})),i.d(e,"n",(function(){return r})),i.d(e,"m",(function(){return s})),i.d(e,"l",(function(){return n})),i.d(e,"i",(function(){return a})),i.d(e,"j",(function(){return l})),i.d(e,"k",(function(){return d})),i.d(e,"e",(function(){return c})),i.d(e,"f",(function(){return u})),i.d(e,"b",(function(){return h})),i.d(e,"d",(function(){return f})),i.d(e,"c",(function(){return p})),i.d(e,"h",(function(){return m})),i.d(e,"a",(function(){return g})),i.d(e,"p",(function(){return v})),i.d(e,"o",(function(){return b}));const o="carousel-promotions",r=o+"__viewport-wrapper",s=o+"__viewport",n=o+"__track",a=o+"__slide",l=o+"__content",d=o+"__title",c=o+"__image",u=o+"__next",h=o+"__pagination",f=o+"__pagination-svg",p=o+"__pagination-circle",m=o+"--slide-inverted",g="is-autoplay",v="."+s,b="."+h}})}));
3
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../webpack/universalModuleDefinition","../webpack/bootstrap","../external {\"root\":\"React\",\"commonjs2\":\"react\",\"commonjs\":\"react\",\"amd\":\"react\"}","../node_modules/classnames/index.js","components/CarouselPromotions/CarouselPromotions.js","components/CarouselPromotions/CarouselPromotionsItem.js","components/CarouselPromotions/index.js","../node_modules/@lighting-beetle/glider-js/glider.js","components/CarouselPromotions/CarouselPromotions.static.js","components/CarouselPromotions/constants.js"],"names":["root","factory","exports","module","require","define","amd","a","i","this","__WEBPACK_EXTERNAL_MODULE__0__","installedModules","__webpack_require__","moduleId","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","hasOwn","classNames","classes","arguments","length","arg","appendClass","parseValue","Array","isArray","apply","toString","includes","newClass","default","CarouselPromotions","className","gliderOptions","isInverse","children","other","carouselRef","useRef","useEffect","carousel","CarouselPromotionsStatic","destroy","cx","CLASS_ROOT","elementClasses","next","CLASS_NEXT","dots","CLASS_DOTS","React","createElement","assign","ref","data-carousel-promotions","JSON","stringify","CLASS_VIEWPORT_WRAPPER","CLASS_VIEWPORT","CLASS_TRACK","role","displayName","CLASS_SLIDE","CarouselPromotionsItem","href","image","title","subtitle","Tag","undefined","CLASS_IMAGE","CLASS_SLIDE_CONTENT","CLASS_TITLE","_window","window","Glider","element","settings","_","_glider","ele","opt","slidesToScroll","slidesToShow","resizeLock","duration","easing","x","b","glider","track","slide","drag","draggable","disabled","active","visible","dot","animate_id","page","arrows","_opt","skipTrack","document","appendChild","classList","add","init","resize","event","scroll","updateControls","gliderPrototype","refresh","paging","width","height","slides","forEach","setAttribute","containerWidth","clientWidth","breakpointChanged","settingsBreakpoint","_autoSlide","slideCount","itemWidth","exactWidth","Math","max","floor","__","style","offsetHeight","trackWidth","isDrag","preventClick","scrollTo","bindArrows","buildDots","bindDrag","emit","mouse","handleMouse","mouseup","mouseDown","remove","events","mouseleave","mousedown","e","preventDefault","stopPropagation","clientX","mousemove","click","toggle","querySelector","innerHTML","ceil","dataset","index","scrollItem","direction","arrow","_func","keys","scrollPropagate","disableArrows","rewind","prev","scrollLeft","contains","round","middle","extraMiddle","slideClasses","wasVisible","start","end","itemStart","itemEnd","test","abs","join","isVisible","scrollLock","clearTimeout","setTimeout","getCurrentSlide","scrollLockDelay","originalSlide","backwards","min","type","resp","responsive","sort","breakpoint","size","innerWidth","scrollTarget","scrollDuration","callback","Date","getTime","animateIndex","animate","now","requestAnimationFrame","removeItem","removeChild","addItem","dragVelocity","double","inv","setOption","global","v","replace","cloneNode","clear","removeAttribute","outerHTML","getElementsByTagName","parentNode","replaceChild","CustomEvent","bubbles","eventPropagate","detail","dispatchEvent","args","eventHandler","k","defaultConfig","SELECTOR_DOTS","interval","constructor","config","mergedConfig","restConfig","parseInt","ODS_CarouselPromotions","gliderLoadedHandler","gliderRefreshHandler","scrollToNextSlide","autoplayAnimationEnd","getElements","hasAttribute","getCustomOptions","getAttribute","isIntervalValid","CLASS_AUTOPLAY","addEventListener","foo","CLASS_SHOWING_INVERTED_SLIDE","instance","viewport","stopAutoplay","AnimationEvent","animationName","isNaN","slidesCount","currentSlideIndex","fixPaginationButtonType","isAutoplayEnabled","renderSvgDotsForAnimation","SELECTOR_VIEWPORT","elements","passedGliderOptions","parsedGliderOptions","parse","from","querySelectorAll","svgNS","svg","createElementNS","CLASS_DOT_SVG","circle","CLASS_DOT_CIRCLE","createSvgDot","animationDuration","update","el"],"mappings":"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","file":"components/CarouselPromotions/index.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"react\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"react\"], factory);\n\telse {\n\t\tvar a = typeof exports === 'object' ? factory(require(\"react\")) : factory(root[\"React\"]);\n\t\tfor(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];\n\t}\n})(this, function(__WEBPACK_EXTERNAL_MODULE__0__) {\nreturn "," \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 = 125);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__0__;","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import React, { useEffect, useRef } from 'react';\nimport { object, bool } from 'prop-types';\nimport cx from 'classnames';\n\nimport CarouselPromotionsStatic from './CarouselPromotions.static';\nimport {\n CLASS_ROOT,\n CLASS_VIEWPORT_WRAPPER,\n CLASS_VIEWPORT,\n CLASS_NEXT,\n CLASS_DOTS,\n CLASS_TRACK,\n} from './constants';\n\nconst propTypes = {\n /**\n * Glider.js (https://nickpiscitelli.github.io/Glider.js/) options object, with and extra property \"interval\" representing the scroll interval in milliseconds.\n *\n */\n gliderOptions: object,\n /** Inverse colors */\n isInverse: bool,\n};\n\nconst CarouselPromotions = ({\n className,\n gliderOptions,\n isInverse,\n children,\n ...other\n}) => {\n let carouselRef = useRef();\n\n useEffect(() => {\n const carousel = new CarouselPromotionsStatic(carouselRef);\n\n return () => {\n carousel.destroy();\n };\n }, [carouselRef]);\n\n const classes = cx(CLASS_ROOT, className, { 'bg-black': isInverse });\n\n const elementClasses = {\n next: cx(CLASS_NEXT, 'hide-lg'),\n dots: cx(CLASS_DOTS),\n };\n\n return (\n <div\n className={classes}\n ref={ref => {\n carouselRef = ref;\n }}\n data-carousel-promotions\n {...(gliderOptions\n ? { 'data-glider-options': JSON.stringify(gliderOptions) }\n : {})}\n {...other}\n >\n <div className={CLASS_VIEWPORT_WRAPPER}>\n <div className={CLASS_VIEWPORT}>\n <div className={CLASS_TRACK}>{children}</div>\n </div>\n </div>\n <div role=\"tablist\" className={elementClasses.dots} />\n </div>\n );\n};\n\nCarouselPromotions.propTypes = propTypes;\nCarouselPromotions.displayName = 'CarouselPromotions';\n\nexport default CarouselPromotions;\n","import React from 'react';\nimport cx from 'classnames';\nimport { element, string, node } from 'prop-types';\n\nimport {\n CLASS_SLIDE,\n CLASS_TITLE,\n CLASS_IMAGE,\n CLASS_SLIDE_CONTENT,\n} from './constants';\n\nconst CLASS_ROOT = CLASS_SLIDE;\n\nconst propTypes = {\n children: node,\n href: string,\n image: element,\n subtitle: string,\n title: string,\n};\n\nconst CarouselPromotionsItem = ({\n className,\n children,\n href,\n image,\n title,\n subtitle,\n ...other\n}) => {\n const classes = cx(CLASS_ROOT, className);\n\n const Tag = href ? 'a' : 'div';\n\n return (\n <Tag className={classes} {...other} href={href ? href : undefined}>\n <div className={CLASS_IMAGE}>{image}</div>\n <div className={CLASS_SLIDE_CONTENT}>\n <h3 className={CLASS_TITLE}>{title}</h3>\n <p>{subtitle}</p>\n </div>\n </Tag>\n );\n};\n\nCarouselPromotionsItem.displayName = 'CarouselPromotionsItem';\nCarouselPromotionsItem.propTypes = propTypes;\n\nexport default CarouselPromotionsItem;\n","import CarouselPromotions from './CarouselPromotions';\n\nimport './styles/style.scss';\n\nexport default CarouselPromotions;\n\nexport { default as CarouselPromotionsItem } from './CarouselPromotionsItem';\n","/* @preserve\n _____ __ _ __ _\n / ___// /(_)___/ /___ ____ (_)___\n / (_ // // // _ // -_)/ __/_ / /(_-<\n \\___//_//_/ \\_,_/ \\__//_/ (_)__/ //___/\n |___/\n\n Version: 1.7.4\n Author: Nick Piscitelli (pickykneee)\n Website: https://nickpiscitelli.com\n Documentation: http://nickpiscitelli.github.io/Glider.js\n License: MIT License\n Release Date: October 25th, 2018\n\n*/\n\n/* global define */\n\n(function (factory) {\n typeof define === 'function' && define.amd\n ? define(factory)\n : typeof exports === 'object'\n ? (module.exports = factory())\n : factory()\n})(function () {\n ('use strict') // eslint-disable-line no-unused-expressions\n\n /* globals window:true */\n var _window = typeof window !== 'undefined' ? window : this\n\n var Glider = (_window.Glider = function (element, settings) {\n var _ = this\n\n if (element._glider) return element._glider\n\n _.ele = element\n\n // expose glider object to its DOM element\n _.ele._glider = _\n\n // merge user setting with defaults\n _.opt = Object.assign(\n {},\n {\n slidesToScroll: 1,\n slidesToShow: 1,\n resizeLock: true,\n duration: 0.5,\n // easeInQuad\n easing: function (x, t, b, c, d) {\n return c * (t /= d) * t + b\n },\n classes: {\n glider: 'glider',\n track: 'glider-track',\n slide: 'glider-slide',\n drag: 'drag',\n draggable: 'draggable',\n disabled: 'disabled',\n active: 'active',\n visible: 'visible',\n dot: 'glider-dot',\n dots: 'glider-dots'\n }\n },\n settings\n )\n\n // set defaults\n _.animate_id = _.page = _.slide = 0\n _.arrows = {}\n\n // preserve original options to\n // extend breakpoint settings\n _._opt = _.opt\n\n if (_.opt.skipTrack) {\n // first and only child is the track\n _.track = _.ele.children[0]\n } else {\n // create track and wrap slides\n _.track = document.createElement('div')\n _.ele.appendChild(_.track)\n while (_.ele.children.length !== 1) {\n _.track.appendChild(_.ele.children[0])\n }\n }\n\n _.ele.classList.add(_.opt.classes.glider)\n _.track.classList.add(_.opt.classes.track)\n\n // start glider\n _.init()\n\n // set events\n _.resize = _.init.bind(_, true)\n _.event(_.ele, 'add', {\n scroll: _.updateControls.bind(_)\n })\n _.event(_window, 'add', {\n resize: _.resize\n })\n })\n\n var gliderPrototype = Glider.prototype\n gliderPrototype.init = function (refresh, paging) {\n var _ = this\n\n var width = 0\n\n var height = 0\n\n _.slides = _.track.children;\n\n [].forEach.call(_.slides, function (_, i) {\n _.classList.add('glider-slide')\n _.setAttribute('data-gslide', i)\n })\n\n _.containerWidth = _.ele.clientWidth\n\n var breakpointChanged = _.settingsBreakpoint()\n if (!paging) paging = breakpointChanged\n\n if (\n _.opt.slidesToShow === 'auto' ||\n typeof _.opt._autoSlide !== 'undefined'\n ) {\n var slideCount = _.containerWidth / _.opt.itemWidth\n\n _.opt._autoSlide = _.opt.slidesToShow = _.opt.exactWidth\n ? slideCount\n : Math.max(1, Math.floor(slideCount))\n }\n if (_.opt.slidesToScroll === 'auto') {\n _.opt.slidesToScroll = Math.floor(_.opt.slidesToShow)\n }\n\n _.itemWidth = _.opt.exactWidth\n ? _.opt.itemWidth\n : _.containerWidth / _.opt.slidesToShow;\n\n // set slide dimensions\n [].forEach.call(_.slides, function (__) {\n __.style.height = 'auto'\n __.style.width = _.itemWidth + 'px'\n width += _.itemWidth\n height = Math.max(__.offsetHeight, height)\n })\n\n _.track.style.width = width + 'px'\n _.trackWidth = width\n _.isDrag = false\n _.preventClick = false\n\n _.opt.resizeLock && _.scrollTo(_.slide * _.itemWidth, 0)\n\n if (breakpointChanged || paging) {\n _.bindArrows()\n _.buildDots()\n _.bindDrag()\n }\n\n _.updateControls()\n\n _.emit(refresh ? 'refresh' : 'loaded')\n }\n\n gliderPrototype.bindDrag = function () {\n var _ = this\n _.mouse = _.mouse || _.handleMouse.bind(_)\n\n var mouseup = function () {\n _.mouseDown = undefined\n _.ele.classList.remove(_.opt.classes.drag)\n if (_.isDrag) {\n _.preventClick = true\n }\n _.isDrag = false\n }\n\n var events = {\n mouseup: mouseup,\n mouseleave: mouseup,\n mousedown: function (e) {\n e.preventDefault()\n e.stopPropagation()\n _.mouseDown = e.clientX\n _.ele.classList.add(_.opt.classes.drag)\n },\n mousemove: _.mouse,\n click: function (e) {\n if (_.preventClick) {\n e.preventDefault()\n e.stopPropagation()\n }\n _.preventClick = false\n }\n }\n\n _.ele.classList.toggle(_.opt.classes.draggable, _.opt.draggable === true)\n _.event(_.ele, 'remove', events)\n if (_.opt.draggable) _.event(_.ele, 'add', events)\n }\n\n gliderPrototype.buildDots = function () {\n var _ = this\n\n if (!_.opt.dots) {\n if (_.dots) _.dots.innerHTML = ''\n return\n }\n\n if (typeof _.opt.dots === 'string') {\n _.dots = document.querySelector(_.opt.dots)\n } else _.dots = _.opt.dots\n if (!_.dots) return\n\n _.dots.innerHTML = ''\n _.dots.classList.add(_.opt.classes.dots)\n\n for (\n var i = 0;\n i < Math.ceil(_.slides.length / Math.floor(_.opt.slidesToShow));\n ++i\n ) {\n var dot = document.createElement('button')\n dot.dataset.index = i\n dot.setAttribute('aria-label', 'Page ' + (i + 1))\n dot.setAttribute('role', 'tab')\n dot.className = _.opt.classes.dot + ' ' + (i ? '' : _.opt.classes.active)\n _.event(dot, 'add', {\n click: _.scrollItem.bind(_, i, true)\n })\n _.dots.appendChild(dot)\n }\n }\n\n gliderPrototype.bindArrows = function () {\n var _ = this\n if (!_.opt.arrows) {\n Object.keys(_.arrows).forEach(function (direction) {\n var element = _.arrows[direction]\n _.event(element, 'remove', { click: element._func })\n })\n return\n }\n ['prev', 'next'].forEach(function (direction) {\n var arrow = _.opt.arrows[direction]\n if (arrow) {\n if (typeof arrow === 'string') arrow = document.querySelector(arrow)\n if (arrow) {\n arrow._func = arrow._func || _.scrollItem.bind(_, direction)\n _.event(arrow, 'remove', {\n click: arrow._func\n })\n _.event(arrow, 'add', {\n click: arrow._func\n })\n _.arrows[direction] = arrow\n }\n }\n })\n }\n\n gliderPrototype.updateControls = function (event) {\n var _ = this\n\n if (event && !_.opt.scrollPropagate) {\n event.stopPropagation()\n }\n\n var disableArrows = _.containerWidth >= _.trackWidth\n\n if (!_.opt.rewind) {\n if (_.arrows.prev) {\n _.arrows.prev.classList.toggle(\n _.opt.classes.disabled,\n _.ele.scrollLeft <= 0 || disableArrows\n )\n _.arrows.prev.classList.contains('disabled')\n ? _.arrows.prev.setAttribute('aria-disabled', true)\n : _.arrows.prev.setAttribute('aria-disabled', false)\n }\n if (_.arrows.next) {\n _.arrows.next.classList.toggle(\n _.opt.classes.disabled,\n Math.ceil(_.ele.scrollLeft + _.containerWidth) >=\n Math.floor(_.trackWidth) || disableArrows\n )\n _.arrows.next.classList.contains('disabled')\n ? _.arrows.next.setAttribute('aria-disabled', true)\n : _.arrows.next.setAttribute('aria-disabled', false)\n }\n }\n\n _.slide = Math.round(_.ele.scrollLeft / _.itemWidth)\n _.page = Math.round(\n _.ele.scrollLeft / (_.itemWidth * Math.floor(_.opt.slidesToShow))\n )\n\n var middle = _.slide + Math.floor(Math.floor(_.opt.slidesToShow) / 2)\n\n var extraMiddle = Math.floor(_.opt.slidesToShow) % 2 ? 0 : middle + 1\n if (Math.floor(_.opt.slidesToShow) === 1) {\n extraMiddle = 0\n }\n\n // the last page may be less than one half of a normal page width so\n // the page is rounded down. when at the end, force the page to turn\n if (_.ele.scrollLeft + _.containerWidth >= Math.floor(_.trackWidth)) {\n _.page = _.dots ? _.dots.children.length - 1 : 0\n }\n\n [].forEach.call(_.slides, function (slide, index) {\n var slideClasses = slide.classList\n\n var wasVisible = slideClasses.contains(_.opt.classes.visible)\n\n var start = _.ele.scrollLeft\n\n var end = _.ele.scrollLeft + _.containerWidth\n\n var itemStart = _.itemWidth * index\n\n var itemEnd = itemStart + _.itemWidth;\n\n [].forEach.call(slideClasses, function (className) {\n /^left|right/.test(className) && slideClasses.remove(className)\n })\n slideClasses.toggle('active', _.slide === index)\n if (middle === index || (extraMiddle && extraMiddle === index)) {\n slideClasses.add('center')\n } else {\n slideClasses.remove('center')\n slideClasses.add(\n [\n index < middle ? 'left' : 'right',\n Math.abs(index - (index < middle ? middle : extraMiddle || middle))\n ].join('-')\n )\n }\n\n var isVisible =\n Math.ceil(itemStart) >= Math.floor(start) &&\n Math.floor(itemEnd) <= Math.ceil(end)\n slideClasses.toggle('visible', isVisible)\n if (isVisible !== wasVisible) {\n _.emit('slide-' + (isVisible ? 'visible' : 'hidden'), {\n slide: index\n })\n }\n })\n if (_.dots) {\n [].forEach.call(_.dots.children, function (dot, index) {\n dot.classList.toggle(_.opt.classes.active, _.page === index)\n })\n }\n\n if (event && _.opt.scrollLock) {\n clearTimeout(_.scrollLock)\n _.scrollLock = setTimeout(function () {\n clearTimeout(_.scrollLock)\n // dont attempt to scroll less than a pixel fraction - causes looping\n if (Math.abs(_.ele.scrollLeft / _.itemWidth - _.slide) > 0.02) {\n if (!_.mouseDown) {\n // Only scroll if not at the end (#94)\n if (_.trackWidth > _.containerWidth + _.ele.scrollLeft) {\n _.scrollItem(_.getCurrentSlide())\n }\n }\n }\n }, _.opt.scrollLockDelay || 250)\n }\n }\n\n gliderPrototype.getCurrentSlide = function () {\n var _ = this\n return _.round(_.ele.scrollLeft / _.itemWidth)\n }\n\n gliderPrototype.scrollItem = function (slide, dot, e) {\n if (e) e.preventDefault()\n\n var _ = this\n\n var originalSlide = slide\n ++_.animate_id\n\n if (dot === true) {\n slide = slide * Math.floor(_.opt.slidesToShow)\n slide = slide * _.itemWidth\n } else {\n if (typeof slide === 'string') {\n var backwards = slide === 'prev'\n\n // use precise location if fractional slides are on\n if (_.opt.slidesToScroll % 1 || _.opt.slidesToShow % 1) {\n slide = _.getCurrentSlide()\n } else {\n slide = _.slide\n }\n\n if (backwards) slide -= _.opt.slidesToScroll\n else slide += _.opt.slidesToScroll\n\n if (_.opt.rewind) {\n var scrollLeft = _.ele.scrollLeft\n slide =\n backwards && !scrollLeft\n ? _.slides.length\n : !backwards &&\n scrollLeft + _.containerWidth >= Math.floor(_.trackWidth)\n ? 0\n : slide\n }\n }\n\n slide = Math.max(Math.min(slide, _.slides.length), 0)\n\n _.slide = slide\n slide = _.itemWidth * slide\n }\n\n _.scrollTo(\n slide,\n _.opt.duration * Math.abs(_.ele.scrollLeft - slide),\n function () {\n _.updateControls()\n _.emit('animated', {\n value: originalSlide,\n type:\n typeof originalSlide === 'string' ? 'arrow' : dot ? 'dot' : 'slide'\n })\n }\n )\n\n return false\n }\n\n gliderPrototype.settingsBreakpoint = function () {\n var _ = this\n\n var resp = _._opt.responsive\n\n if (resp) {\n // Sort the breakpoints in mobile first order\n resp.sort(function (a, b) {\n return b.breakpoint - a.breakpoint\n })\n\n for (var i = 0; i < resp.length; ++i) {\n var size = resp[i]\n if (_window.innerWidth >= size.breakpoint) {\n if (_.breakpoint !== size.breakpoint) {\n _.opt = Object.assign({}, _._opt, size.settings)\n _.breakpoint = size.breakpoint\n return true\n }\n return false\n }\n }\n }\n // set back to defaults in case they were overriden\n var breakpointChanged = _.breakpoint !== 0\n _.opt = Object.assign({}, _._opt)\n _.breakpoint = 0\n return breakpointChanged\n }\n\n gliderPrototype.scrollTo = function (scrollTarget, scrollDuration, callback) {\n var _ = this\n\n var start = new Date().getTime()\n\n var animateIndex = _.animate_id\n\n var animate = function () {\n var now = new Date().getTime() - start\n _.ele.scrollLeft =\n _.ele.scrollLeft +\n (scrollTarget - _.ele.scrollLeft) *\n _.opt.easing(0, now, 0, 1, scrollDuration)\n if (now < scrollDuration && animateIndex === _.animate_id) {\n _window.requestAnimationFrame(animate)\n } else {\n _.ele.scrollLeft = scrollTarget\n callback && callback.call(_)\n }\n }\n\n _window.requestAnimationFrame(animate)\n }\n\n gliderPrototype.removeItem = function (index) {\n var _ = this\n\n if (_.slides.length) {\n _.track.removeChild(_.slides[index])\n _.refresh(true)\n _.emit('remove')\n }\n }\n\n gliderPrototype.addItem = function (ele) {\n var _ = this\n\n _.track.appendChild(ele)\n _.refresh(true)\n _.emit('add')\n }\n\n gliderPrototype.handleMouse = function (e) {\n var _ = this\n if (_.mouseDown) {\n _.isDrag = true\n _.ele.scrollLeft +=\n (_.mouseDown - e.clientX) * (_.opt.dragVelocity || 3.3)\n _.mouseDown = e.clientX\n }\n }\n\n // used to round to the nearest 0.XX fraction\n gliderPrototype.round = function (double) {\n var _ = this\n var step = _.opt.slidesToScroll % 1 || 1\n var inv = 1.0 / step\n return Math.round(double * inv) / inv\n }\n\n gliderPrototype.refresh = function (paging) {\n var _ = this\n _.init(true, paging)\n }\n\n gliderPrototype.setOption = function (opt, global) {\n var _ = this\n\n if (_.breakpoint && !global) {\n _._opt.responsive.forEach(function (v) {\n if (v.breakpoint === _.breakpoint) {\n v.settings = Object.assign({}, v.settings, opt)\n }\n })\n } else {\n _._opt = Object.assign({}, _._opt, opt)\n }\n\n _.breakpoint = 0\n _.settingsBreakpoint()\n }\n\n gliderPrototype.destroy = function () {\n var _ = this\n\n var replace = _.ele.cloneNode(true)\n\n var clear = function (ele) {\n ele.removeAttribute('style');\n [].forEach.call(ele.classList, function (className) {\n /^glider/.test(className) && ele.classList.remove(className)\n })\n }\n // remove track\n replace.children[0].outerHTML = replace.children[0].innerHTML\n clear(replace);\n [].forEach.call(replace.getElementsByTagName('*'), clear)\n _.ele.parentNode.replaceChild(replace, _.ele)\n _.event(_window, 'remove', {\n resize: _.resize\n })\n _.emit('destroy')\n }\n\n gliderPrototype.emit = function (name, arg) {\n var _ = this\n\n var e = new _window.CustomEvent('glider-' + name, {\n bubbles: !_.opt.eventPropagate,\n detail: arg\n })\n _.ele.dispatchEvent(e)\n }\n\n gliderPrototype.event = function (ele, type, args) {\n var eventHandler = ele[type + 'EventListener'].bind(ele)\n Object.keys(args).forEach(function (k) {\n eventHandler(k, args[k])\n })\n }\n\n return Glider\n})\n","import Glider from '@lighting-beetle/glider-js';\n\nimport {\n SELECTOR_DOTS,\n SELECTOR_VIEWPORT,\n CLASS_DOT_CIRCLE,\n CLASS_DOT_SVG,\n CLASS_AUTOPLAY,\n CLASS_SHOWING_INVERTED_SLIDE,\n} from './constants';\n\nexport const defaultConfig = {\n slidesToShow: 1,\n dots: SELECTOR_DOTS,\n skipTrack: true,\n rewind: true,\n interval: 0,\n scrollLock: true, // Ensures snapping to nearest slide on drag release\n classes: {\n glider: 'carousel-promotions__viewport',\n track: 'carousel-promotions__track',\n slide: 'carousel-promotions__slide',\n drag: 'is-dragging',\n draggable: 'is-draggable',\n disabled: 'is-disabled',\n active: 'is-active',\n visible: 'is-visible',\n dots: 'carousel-promotions__pagination',\n dot: 'carousel-promotions__pagination-item',\n },\n};\n\nexport default class CarouselPromotions {\n interval = 0;\n\n constructor(element, config) {\n this.element = element;\n const mergedConfig = { ...defaultConfig, ...config };\n const { interval, ...restConfig } = mergedConfig;\n this.config = restConfig;\n this.interval = parseInt(interval);\n this.element.ODS_CarouselPromotions = this;\n\n this.gliderLoadedHandler = this.gliderLoadedHandler.bind(this);\n this.gliderRefreshHandler = this.gliderRefreshHandler.bind(this);\n this.scrollToNextSlide = this.scrollToNextSlide.bind(this);\n this.autoplayAnimationEnd = this.autoplayAnimationEnd.bind(this);\n\n this.element.ODS_CarouselPromotions = this;\n\n this.init();\n return this;\n }\n\n init() {\n this.getElements();\n\n if (this.element.hasAttribute('data-glider-options')) {\n this.getCustomOptions();\n }\n\n if (this.element.hasAttribute('data-interval')) {\n this.interval = parseInt(this.element.getAttribute('data-interval'));\n }\n\n const isIntervalValid = this.isIntervalValid();\n\n if (isIntervalValid) {\n this.element.classList.add(CLASS_AUTOPLAY);\n } else {\n this.interval = 0;\n }\n\n this.element.addEventListener('glider-loaded', this.gliderLoadedHandler);\n this.element.addEventListener('glider-refresh', this.gliderRefreshHandler);\n this.element.addEventListener('glider-slide-visible', (e, foo) => {\n this.element.classList.remove(CLASS_SHOWING_INVERTED_SLIDE);\n if (e.detail && e.detail.slide) {\n const slideIndex = e.detail.slide;\n if (slideIndex % 2 === 1) {\n this.element.classList.add(CLASS_SHOWING_INVERTED_SLIDE);\n }\n }\n });\n\n this.instance = new Glider(this.viewport, this.config);\n\n if (this.instance && this.instance.dots && isIntervalValid) {\n this.instance.dots.addEventListener(\n 'animationend',\n this.autoplayAnimationEnd\n );\n this.instance.dots.addEventListener('click', () => {\n this.stopAutoplay();\n });\n }\n }\n\n stopAutoplay() {\n this.interval = 0;\n this.element.classList.remove(CLASS_AUTOPLAY);\n }\n\n autoplayAnimationEnd(e) {\n if (e instanceof AnimationEvent && e.animationName === 'countdown') {\n this.scrollToNextSlide();\n }\n }\n\n get isAutoplayEnabled() {\n return this.interval > 0;\n }\n\n /**\n * Validates the interval attribute. The attribute must be a valid integer greater than or equal to 1000.\n * @return {boolean}\n */\n isIntervalValid() {\n const interval = parseInt(this.interval);\n return !isNaN(interval) && interval >= 1000;\n }\n\n scrollToNextSlide() {\n const slidesCount = this.instance.slides.length;\n if (slidesCount < 0) {\n return;\n }\n const currentSlideIndex = this.instance.getCurrentSlide();\n this.instance.scrollItem((currentSlideIndex + 1) % slidesCount);\n }\n\n gliderLoadedHandler() {\n this.fixPaginationButtonType();\n if (this.isAutoplayEnabled) {\n this.renderSvgDotsForAnimation();\n }\n }\n\n gliderRefreshHandler() {\n this.fixPaginationButtonType();\n if (this.isAutoplayEnabled) {\n this.renderSvgDotsForAnimation();\n }\n }\n\n getElements() {\n this.viewport = this.element.querySelector(SELECTOR_VIEWPORT);\n const elements = {\n dots: this.element.querySelector(SELECTOR_DOTS),\n };\n\n this.config = {\n ...this.config,\n ...elements,\n };\n }\n\n getCustomOptions() {\n const passedGliderOptions = this.element.getAttribute(\n 'data-glider-options'\n );\n const parsedGliderOptions = JSON.parse(passedGliderOptions);\n\n this.config = {\n ...this.config,\n ...parsedGliderOptions,\n };\n }\n\n fixPaginationButtonType() {\n const dots = Array.from(\n this.element.querySelectorAll(`${SELECTOR_DOTS} > *`)\n );\n\n dots.forEach(dot => dot.setAttribute('type', 'button'));\n }\n\n /**\n * Creates an SVG element representing a pagination dot.\n * We must create the SVG element with `createElement`, because the Glider.js library\n * overwrites the content of the pagination dots.\n * @return {SVGSVGElement}\n */\n static createSvgDot() {\n const svgNS = 'http://www.w3.org/2000/svg';\n const svg = document.createElementNS(svgNS, 'svg');\n svg.setAttribute('class', CLASS_DOT_SVG);\n svg.setAttribute('width', '12');\n svg.setAttribute('height', '12');\n svg.setAttribute('viewBox', '0 0 12 12');\n svg.setAttribute('fill', 'none');\n svg.setAttribute('xmlns', svgNS);\n\n const circle = document.createElementNS(svgNS, 'circle');\n circle.setAttribute('class', CLASS_DOT_CIRCLE);\n circle.setAttribute('r', '5');\n circle.setAttribute('cx', '6');\n circle.setAttribute('cy', '6');\n\n svg.appendChild(circle);\n\n return svg;\n }\n\n /**\n * Renders an SVG element inside each pagination dot.\n */\n renderSvgDotsForAnimation() {\n const dots = Array.from(\n this.element.querySelectorAll(`${SELECTOR_DOTS} > *`)\n );\n\n const svg = CarouselPromotions.createSvgDot();\n svg.querySelector('circle').style.animationDuration = `${this.interval}ms`;\n\n dots.forEach(dot => {\n dot.innerHTML = '';\n dot.appendChild(svg.cloneNode(true));\n });\n }\n\n destroy() {\n this.instance.destroy();\n }\n\n update() {\n this.instance.refresh();\n }\n\n static getInstance(el) {\n return el && el.ODS_CarouselPromotions ? el.ODS_CarouselPromotions : null;\n }\n}\n","export const CLASS_ROOT = 'carousel-promotions';\n\nexport const CLASS_WRAPPER = `${CLASS_ROOT}`;\nexport const CLASS_VIEWPORT_WRAPPER = `${CLASS_ROOT}__viewport-wrapper`;\nexport const CLASS_VIEWPORT = `${CLASS_ROOT}__viewport`;\nexport const CLASS_TRACK = `${CLASS_ROOT}__track`;\nexport const CLASS_SLIDE = `${CLASS_ROOT}__slide`;\nexport const CLASS_SLIDE_CONTENT = `${CLASS_ROOT}__content`;\nexport const CLASS_TITLE = `${CLASS_ROOT}__title`;\nexport const CLASS_IMAGE = `${CLASS_ROOT}__image`;\nexport const CLASS_NEXT = `${CLASS_ROOT}__next`;\nexport const CLASS_DOTS = `${CLASS_ROOT}__pagination`;\nexport const CLASS_DOT_SVG = `${CLASS_ROOT}__pagination-svg`;\nexport const CLASS_DOT_CIRCLE = `${CLASS_ROOT}__pagination-circle`;\nexport const CLASS_SHOWING_INVERTED_SLIDE = `${CLASS_ROOT}--slide-inverted`;\n\nexport const CLASS_AUTOPLAY = `is-autoplay`;\n\nexport const SELECTOR_WRAPPER = `.${CLASS_WRAPPER}`;\nexport const SELECTOR_VIEWPORT = `.${CLASS_VIEWPORT}`;\nexport const SELECTOR_DOTS = `.${CLASS_DOTS}`;\n"],"sourceRoot":""}
1
+ {"version":3,"sources":["../webpack/universalModuleDefinition","../webpack/bootstrap","../external {\"root\":\"React\",\"commonjs2\":\"react\",\"commonjs\":\"react\",\"amd\":\"react\"}","../node_modules/classnames/index.js","components/CarouselPromotions/CarouselPromotions.js","components/CarouselPromotions/CarouselPromotionsItem.js","components/CarouselPromotions/index.js","../node_modules/@lighting-beetle/glider-js/glider.js","components/CarouselPromotions/CarouselPromotions.static.js","components/CarouselPromotions/constants.js"],"names":["root","factory","exports","module","require","define","amd","a","i","this","__WEBPACK_EXTERNAL_MODULE__0__","installedModules","__webpack_require__","moduleId","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","hasOwn","classNames","classes","arguments","length","arg","appendClass","parseValue","Array","isArray","apply","toString","includes","newClass","default","CarouselPromotions","className","gliderOptions","isInverse","children","other","carouselRef","useRef","useEffect","carousel","CarouselPromotionsStatic","destroy","cx","CLASS_ROOT","elementClasses","next","CLASS_NEXT","dots","CLASS_DOTS","React","createElement","assign","ref","data-carousel-promotions","JSON","stringify","CLASS_VIEWPORT_WRAPPER","CLASS_VIEWPORT","CLASS_TRACK","role","displayName","CLASS_SLIDE","CarouselPromotionsItem","href","image","title","subtitle","color","Tag","undefined","CLASS_IMAGE","CLASS_SLIDE_CONTENT","CLASS_TITLE","_window","window","Glider","element","settings","_","_glider","ele","opt","slidesToScroll","slidesToShow","resizeLock","duration","easing","x","b","glider","track","slide","drag","draggable","disabled","active","visible","dot","animate_id","page","arrows","_opt","skipTrack","document","appendChild","classList","add","init","resize","event","scroll","updateControls","gliderPrototype","refresh","paging","width","height","slides","forEach","setAttribute","containerWidth","clientWidth","breakpointChanged","settingsBreakpoint","_autoSlide","slideCount","itemWidth","exactWidth","Math","max","floor","__","style","offsetHeight","trackWidth","isDrag","preventClick","scrollTo","bindArrows","buildDots","bindDrag","emit","mouse","handleMouse","mouseup","mouseDown","remove","events","mouseleave","mousedown","e","preventDefault","stopPropagation","clientX","mousemove","click","toggle","querySelector","innerHTML","ceil","dataset","index","scrollItem","direction","arrow","_func","keys","scrollPropagate","disableArrows","rewind","prev","scrollLeft","contains","round","middle","extraMiddle","slideClasses","wasVisible","start","end","itemStart","itemEnd","test","abs","join","isVisible","scrollLock","clearTimeout","setTimeout","getCurrentSlide","scrollLockDelay","originalSlide","backwards","min","type","resp","responsive","sort","breakpoint","size","innerWidth","scrollTarget","scrollDuration","callback","Date","getTime","animateIndex","animate","now","requestAnimationFrame","removeItem","removeChild","addItem","dragVelocity","double","inv","setOption","global","v","replace","cloneNode","clear","removeAttribute","outerHTML","getElementsByTagName","parentNode","replaceChild","CustomEvent","bubbles","eventPropagate","detail","dispatchEvent","args","eventHandler","k","defaultConfig","SELECTOR_DOTS","interval","constructor","config","mergedConfig","restConfig","parseInt","ODS_CarouselPromotions","gliderLoadedHandler","gliderRefreshHandler","scrollToNextSlide","autoplayAnimationEnd","getElements","hasAttribute","getCustomOptions","getAttribute","isIntervalValid","CLASS_AUTOPLAY","addEventListener","foo","CLASS_SHOWING_INVERTED_SLIDE","instance","viewport","stopAutoplay","AnimationEvent","animationName","isNaN","slidesCount","currentSlideIndex","fixPaginationButtonType","isAutoplayEnabled","renderSvgDotsForAnimation","SELECTOR_VIEWPORT","elements","passedGliderOptions","parsedGliderOptions","parse","from","querySelectorAll","svgNS","svg","createElementNS","CLASS_DOT_SVG","circle","CLASS_DOT_CIRCLE","createSvgDot","animationDuration","update","el"],"mappings":"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","file":"components/CarouselPromotions/index.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"react\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"react\"], factory);\n\telse {\n\t\tvar a = typeof exports === 'object' ? factory(require(\"react\")) : factory(root[\"React\"]);\n\t\tfor(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];\n\t}\n})(this, function(__WEBPACK_EXTERNAL_MODULE__0__) {\nreturn "," \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 = 125);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__0__;","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import React, { useEffect, useRef } from 'react';\nimport { object, bool } from 'prop-types';\nimport cx from 'classnames';\n\nimport CarouselPromotionsStatic from './CarouselPromotions.static';\nimport {\n CLASS_ROOT,\n CLASS_VIEWPORT_WRAPPER,\n CLASS_VIEWPORT,\n CLASS_NEXT,\n CLASS_DOTS,\n CLASS_TRACK,\n} from './constants';\n\nconst propTypes = {\n /**\n * Glider.js (https://nickpiscitelli.github.io/Glider.js/) options object, with and extra property \"interval\" representing the scroll interval in milliseconds.\n *\n */\n gliderOptions: object,\n /** Inverse colors */\n isInverse: bool,\n};\n\nconst CarouselPromotions = ({\n className,\n gliderOptions,\n isInverse,\n children,\n ...other\n}) => {\n let carouselRef = useRef();\n\n useEffect(() => {\n const carousel = new CarouselPromotionsStatic(carouselRef);\n\n return () => {\n carousel.destroy();\n };\n }, [carouselRef]);\n\n const classes = cx(CLASS_ROOT, className, { 'bg-black': isInverse });\n\n const elementClasses = {\n next: cx(CLASS_NEXT, 'hide-lg'),\n dots: cx(CLASS_DOTS),\n };\n\n return (\n <div\n className={classes}\n ref={ref => {\n carouselRef = ref;\n }}\n data-carousel-promotions\n {...(gliderOptions\n ? { 'data-glider-options': JSON.stringify(gliderOptions) }\n : {})}\n {...other}\n >\n <div className={CLASS_VIEWPORT_WRAPPER}>\n <div className={CLASS_VIEWPORT}>\n <div className={CLASS_TRACK}>{children}</div>\n </div>\n </div>\n <div role=\"tablist\" className={elementClasses.dots} />\n </div>\n );\n};\n\nCarouselPromotions.propTypes = propTypes;\nCarouselPromotions.displayName = 'CarouselPromotions';\n\nexport default CarouselPromotions;\n","import React from 'react';\nimport cx from 'classnames';\nimport { element, string, node, oneOf } from 'prop-types';\n\nimport {\n CLASS_SLIDE,\n CLASS_TITLE,\n CLASS_IMAGE,\n CLASS_SLIDE_CONTENT,\n} from './constants';\n\nconst CLASS_ROOT = CLASS_SLIDE;\n\nconst propTypes = {\n children: node,\n href: string,\n image: element,\n subtitle: string,\n title: string,\n color: oneOf(['black']),\n};\n\nconst CarouselPromotionsItem = ({\n className,\n children,\n href,\n image,\n title,\n subtitle,\n color,\n ...other\n}) => {\n const classes = cx(\n CLASS_ROOT,\n { [`${CLASS_ROOT}--black`]: color === 'black' },\n className\n );\n\n const Tag = href ? 'a' : 'div';\n\n return (\n <Tag className={classes} {...other} href={href ? href : undefined}>\n <div className={CLASS_IMAGE}>{image}</div>\n <div className={CLASS_SLIDE_CONTENT}>\n <h3 className={CLASS_TITLE}>{title}</h3>\n <p>{subtitle}</p>\n </div>\n </Tag>\n );\n};\n\nCarouselPromotionsItem.displayName = 'CarouselPromotionsItem';\nCarouselPromotionsItem.propTypes = propTypes;\n\nexport default CarouselPromotionsItem;\n","import CarouselPromotions from './CarouselPromotions';\n\nimport './styles/style.scss';\n\nexport default CarouselPromotions;\n\nexport { default as CarouselPromotionsItem } from './CarouselPromotionsItem';\n","/* @preserve\n _____ __ _ __ _\n / ___// /(_)___/ /___ ____ (_)___\n / (_ // // // _ // -_)/ __/_ / /(_-<\n \\___//_//_/ \\_,_/ \\__//_/ (_)__/ //___/\n |___/\n\n Version: 1.7.4\n Author: Nick Piscitelli (pickykneee)\n Website: https://nickpiscitelli.com\n Documentation: http://nickpiscitelli.github.io/Glider.js\n License: MIT License\n Release Date: October 25th, 2018\n\n*/\n\n/* global define */\n\n(function (factory) {\n typeof define === 'function' && define.amd\n ? define(factory)\n : typeof exports === 'object'\n ? (module.exports = factory())\n : factory()\n})(function () {\n ('use strict') // eslint-disable-line no-unused-expressions\n\n /* globals window:true */\n var _window = typeof window !== 'undefined' ? window : this\n\n var Glider = (_window.Glider = function (element, settings) {\n var _ = this\n\n if (element._glider) return element._glider\n\n _.ele = element\n\n // expose glider object to its DOM element\n _.ele._glider = _\n\n // merge user setting with defaults\n _.opt = Object.assign(\n {},\n {\n slidesToScroll: 1,\n slidesToShow: 1,\n resizeLock: true,\n duration: 0.5,\n // easeInQuad\n easing: function (x, t, b, c, d) {\n return c * (t /= d) * t + b\n },\n classes: {\n glider: 'glider',\n track: 'glider-track',\n slide: 'glider-slide',\n drag: 'drag',\n draggable: 'draggable',\n disabled: 'disabled',\n active: 'active',\n visible: 'visible',\n dot: 'glider-dot',\n dots: 'glider-dots'\n }\n },\n settings\n )\n\n // set defaults\n _.animate_id = _.page = _.slide = 0\n _.arrows = {}\n\n // preserve original options to\n // extend breakpoint settings\n _._opt = _.opt\n\n if (_.opt.skipTrack) {\n // first and only child is the track\n _.track = _.ele.children[0]\n } else {\n // create track and wrap slides\n _.track = document.createElement('div')\n _.ele.appendChild(_.track)\n while (_.ele.children.length !== 1) {\n _.track.appendChild(_.ele.children[0])\n }\n }\n\n _.ele.classList.add(_.opt.classes.glider)\n _.track.classList.add(_.opt.classes.track)\n\n // start glider\n _.init()\n\n // set events\n _.resize = _.init.bind(_, true)\n _.event(_.ele, 'add', {\n scroll: _.updateControls.bind(_)\n })\n _.event(_window, 'add', {\n resize: _.resize\n })\n })\n\n var gliderPrototype = Glider.prototype\n gliderPrototype.init = function (refresh, paging) {\n var _ = this\n\n var width = 0\n\n var height = 0\n\n _.slides = _.track.children;\n\n [].forEach.call(_.slides, function (_, i) {\n _.classList.add('glider-slide')\n _.setAttribute('data-gslide', i)\n })\n\n _.containerWidth = _.ele.clientWidth\n\n var breakpointChanged = _.settingsBreakpoint()\n if (!paging) paging = breakpointChanged\n\n if (\n _.opt.slidesToShow === 'auto' ||\n typeof _.opt._autoSlide !== 'undefined'\n ) {\n var slideCount = _.containerWidth / _.opt.itemWidth\n\n _.opt._autoSlide = _.opt.slidesToShow = _.opt.exactWidth\n ? slideCount\n : Math.max(1, Math.floor(slideCount))\n }\n if (_.opt.slidesToScroll === 'auto') {\n _.opt.slidesToScroll = Math.floor(_.opt.slidesToShow)\n }\n\n _.itemWidth = _.opt.exactWidth\n ? _.opt.itemWidth\n : _.containerWidth / _.opt.slidesToShow;\n\n // set slide dimensions\n [].forEach.call(_.slides, function (__) {\n __.style.height = 'auto'\n __.style.width = _.itemWidth + 'px'\n width += _.itemWidth\n height = Math.max(__.offsetHeight, height)\n })\n\n _.track.style.width = width + 'px'\n _.trackWidth = width\n _.isDrag = false\n _.preventClick = false\n\n _.opt.resizeLock && _.scrollTo(_.slide * _.itemWidth, 0)\n\n if (breakpointChanged || paging) {\n _.bindArrows()\n _.buildDots()\n _.bindDrag()\n }\n\n _.updateControls()\n\n _.emit(refresh ? 'refresh' : 'loaded')\n }\n\n gliderPrototype.bindDrag = function () {\n var _ = this\n _.mouse = _.mouse || _.handleMouse.bind(_)\n\n var mouseup = function () {\n _.mouseDown = undefined\n _.ele.classList.remove(_.opt.classes.drag)\n if (_.isDrag) {\n _.preventClick = true\n }\n _.isDrag = false\n }\n\n var events = {\n mouseup: mouseup,\n mouseleave: mouseup,\n mousedown: function (e) {\n e.preventDefault()\n e.stopPropagation()\n _.mouseDown = e.clientX\n _.ele.classList.add(_.opt.classes.drag)\n },\n mousemove: _.mouse,\n click: function (e) {\n if (_.preventClick) {\n e.preventDefault()\n e.stopPropagation()\n }\n _.preventClick = false\n }\n }\n\n _.ele.classList.toggle(_.opt.classes.draggable, _.opt.draggable === true)\n _.event(_.ele, 'remove', events)\n if (_.opt.draggable) _.event(_.ele, 'add', events)\n }\n\n gliderPrototype.buildDots = function () {\n var _ = this\n\n if (!_.opt.dots) {\n if (_.dots) _.dots.innerHTML = ''\n return\n }\n\n if (typeof _.opt.dots === 'string') {\n _.dots = document.querySelector(_.opt.dots)\n } else _.dots = _.opt.dots\n if (!_.dots) return\n\n _.dots.innerHTML = ''\n _.dots.classList.add(_.opt.classes.dots)\n\n for (\n var i = 0;\n i < Math.ceil(_.slides.length / Math.floor(_.opt.slidesToShow));\n ++i\n ) {\n var dot = document.createElement('button')\n dot.dataset.index = i\n dot.setAttribute('aria-label', 'Page ' + (i + 1))\n dot.setAttribute('role', 'tab')\n dot.className = _.opt.classes.dot + ' ' + (i ? '' : _.opt.classes.active)\n _.event(dot, 'add', {\n click: _.scrollItem.bind(_, i, true)\n })\n _.dots.appendChild(dot)\n }\n }\n\n gliderPrototype.bindArrows = function () {\n var _ = this\n if (!_.opt.arrows) {\n Object.keys(_.arrows).forEach(function (direction) {\n var element = _.arrows[direction]\n _.event(element, 'remove', { click: element._func })\n })\n return\n }\n ['prev', 'next'].forEach(function (direction) {\n var arrow = _.opt.arrows[direction]\n if (arrow) {\n if (typeof arrow === 'string') arrow = document.querySelector(arrow)\n if (arrow) {\n arrow._func = arrow._func || _.scrollItem.bind(_, direction)\n _.event(arrow, 'remove', {\n click: arrow._func\n })\n _.event(arrow, 'add', {\n click: arrow._func\n })\n _.arrows[direction] = arrow\n }\n }\n })\n }\n\n gliderPrototype.updateControls = function (event) {\n var _ = this\n\n if (event && !_.opt.scrollPropagate) {\n event.stopPropagation()\n }\n\n var disableArrows = _.containerWidth >= _.trackWidth\n\n if (!_.opt.rewind) {\n if (_.arrows.prev) {\n _.arrows.prev.classList.toggle(\n _.opt.classes.disabled,\n _.ele.scrollLeft <= 0 || disableArrows\n )\n _.arrows.prev.classList.contains('disabled')\n ? _.arrows.prev.setAttribute('aria-disabled', true)\n : _.arrows.prev.setAttribute('aria-disabled', false)\n }\n if (_.arrows.next) {\n _.arrows.next.classList.toggle(\n _.opt.classes.disabled,\n Math.ceil(_.ele.scrollLeft + _.containerWidth) >=\n Math.floor(_.trackWidth) || disableArrows\n )\n _.arrows.next.classList.contains('disabled')\n ? _.arrows.next.setAttribute('aria-disabled', true)\n : _.arrows.next.setAttribute('aria-disabled', false)\n }\n }\n\n _.slide = Math.round(_.ele.scrollLeft / _.itemWidth)\n _.page = Math.round(\n _.ele.scrollLeft / (_.itemWidth * Math.floor(_.opt.slidesToShow))\n )\n\n var middle = _.slide + Math.floor(Math.floor(_.opt.slidesToShow) / 2)\n\n var extraMiddle = Math.floor(_.opt.slidesToShow) % 2 ? 0 : middle + 1\n if (Math.floor(_.opt.slidesToShow) === 1) {\n extraMiddle = 0\n }\n\n // the last page may be less than one half of a normal page width so\n // the page is rounded down. when at the end, force the page to turn\n if (_.ele.scrollLeft + _.containerWidth >= Math.floor(_.trackWidth)) {\n _.page = _.dots ? _.dots.children.length - 1 : 0\n }\n\n [].forEach.call(_.slides, function (slide, index) {\n var slideClasses = slide.classList\n\n var wasVisible = slideClasses.contains(_.opt.classes.visible)\n\n var start = _.ele.scrollLeft\n\n var end = _.ele.scrollLeft + _.containerWidth\n\n var itemStart = _.itemWidth * index\n\n var itemEnd = itemStart + _.itemWidth;\n\n [].forEach.call(slideClasses, function (className) {\n /^left|right/.test(className) && slideClasses.remove(className)\n })\n slideClasses.toggle('active', _.slide === index)\n if (middle === index || (extraMiddle && extraMiddle === index)) {\n slideClasses.add('center')\n } else {\n slideClasses.remove('center')\n slideClasses.add(\n [\n index < middle ? 'left' : 'right',\n Math.abs(index - (index < middle ? middle : extraMiddle || middle))\n ].join('-')\n )\n }\n\n var isVisible =\n Math.ceil(itemStart) >= Math.floor(start) &&\n Math.floor(itemEnd) <= Math.ceil(end)\n slideClasses.toggle('visible', isVisible)\n if (isVisible !== wasVisible) {\n _.emit('slide-' + (isVisible ? 'visible' : 'hidden'), {\n slide: index\n })\n }\n })\n if (_.dots) {\n [].forEach.call(_.dots.children, function (dot, index) {\n dot.classList.toggle(_.opt.classes.active, _.page === index)\n })\n }\n\n if (event && _.opt.scrollLock) {\n clearTimeout(_.scrollLock)\n _.scrollLock = setTimeout(function () {\n clearTimeout(_.scrollLock)\n // dont attempt to scroll less than a pixel fraction - causes looping\n if (Math.abs(_.ele.scrollLeft / _.itemWidth - _.slide) > 0.02) {\n if (!_.mouseDown) {\n // Only scroll if not at the end (#94)\n if (_.trackWidth > _.containerWidth + _.ele.scrollLeft) {\n _.scrollItem(_.getCurrentSlide())\n }\n }\n }\n }, _.opt.scrollLockDelay || 250)\n }\n }\n\n gliderPrototype.getCurrentSlide = function () {\n var _ = this\n return _.round(_.ele.scrollLeft / _.itemWidth)\n }\n\n gliderPrototype.scrollItem = function (slide, dot, e) {\n if (e) e.preventDefault()\n\n var _ = this\n\n var originalSlide = slide\n ++_.animate_id\n\n if (dot === true) {\n slide = slide * Math.floor(_.opt.slidesToShow)\n slide = slide * _.itemWidth\n } else {\n if (typeof slide === 'string') {\n var backwards = slide === 'prev'\n\n // use precise location if fractional slides are on\n if (_.opt.slidesToScroll % 1 || _.opt.slidesToShow % 1) {\n slide = _.getCurrentSlide()\n } else {\n slide = _.slide\n }\n\n if (backwards) slide -= _.opt.slidesToScroll\n else slide += _.opt.slidesToScroll\n\n if (_.opt.rewind) {\n var scrollLeft = _.ele.scrollLeft\n slide =\n backwards && !scrollLeft\n ? _.slides.length\n : !backwards &&\n scrollLeft + _.containerWidth >= Math.floor(_.trackWidth)\n ? 0\n : slide\n }\n }\n\n slide = Math.max(Math.min(slide, _.slides.length), 0)\n\n _.slide = slide\n slide = _.itemWidth * slide\n }\n\n _.scrollTo(\n slide,\n _.opt.duration * Math.abs(_.ele.scrollLeft - slide),\n function () {\n _.updateControls()\n _.emit('animated', {\n value: originalSlide,\n type:\n typeof originalSlide === 'string' ? 'arrow' : dot ? 'dot' : 'slide'\n })\n }\n )\n\n return false\n }\n\n gliderPrototype.settingsBreakpoint = function () {\n var _ = this\n\n var resp = _._opt.responsive\n\n if (resp) {\n // Sort the breakpoints in mobile first order\n resp.sort(function (a, b) {\n return b.breakpoint - a.breakpoint\n })\n\n for (var i = 0; i < resp.length; ++i) {\n var size = resp[i]\n if (_window.innerWidth >= size.breakpoint) {\n if (_.breakpoint !== size.breakpoint) {\n _.opt = Object.assign({}, _._opt, size.settings)\n _.breakpoint = size.breakpoint\n return true\n }\n return false\n }\n }\n }\n // set back to defaults in case they were overriden\n var breakpointChanged = _.breakpoint !== 0\n _.opt = Object.assign({}, _._opt)\n _.breakpoint = 0\n return breakpointChanged\n }\n\n gliderPrototype.scrollTo = function (scrollTarget, scrollDuration, callback) {\n var _ = this\n\n var start = new Date().getTime()\n\n var animateIndex = _.animate_id\n\n var animate = function () {\n var now = new Date().getTime() - start\n _.ele.scrollLeft =\n _.ele.scrollLeft +\n (scrollTarget - _.ele.scrollLeft) *\n _.opt.easing(0, now, 0, 1, scrollDuration)\n if (now < scrollDuration && animateIndex === _.animate_id) {\n _window.requestAnimationFrame(animate)\n } else {\n _.ele.scrollLeft = scrollTarget\n callback && callback.call(_)\n }\n }\n\n _window.requestAnimationFrame(animate)\n }\n\n gliderPrototype.removeItem = function (index) {\n var _ = this\n\n if (_.slides.length) {\n _.track.removeChild(_.slides[index])\n _.refresh(true)\n _.emit('remove')\n }\n }\n\n gliderPrototype.addItem = function (ele) {\n var _ = this\n\n _.track.appendChild(ele)\n _.refresh(true)\n _.emit('add')\n }\n\n gliderPrototype.handleMouse = function (e) {\n var _ = this\n if (_.mouseDown) {\n _.isDrag = true\n _.ele.scrollLeft +=\n (_.mouseDown - e.clientX) * (_.opt.dragVelocity || 3.3)\n _.mouseDown = e.clientX\n }\n }\n\n // used to round to the nearest 0.XX fraction\n gliderPrototype.round = function (double) {\n var _ = this\n var step = _.opt.slidesToScroll % 1 || 1\n var inv = 1.0 / step\n return Math.round(double * inv) / inv\n }\n\n gliderPrototype.refresh = function (paging) {\n var _ = this\n _.init(true, paging)\n }\n\n gliderPrototype.setOption = function (opt, global) {\n var _ = this\n\n if (_.breakpoint && !global) {\n _._opt.responsive.forEach(function (v) {\n if (v.breakpoint === _.breakpoint) {\n v.settings = Object.assign({}, v.settings, opt)\n }\n })\n } else {\n _._opt = Object.assign({}, _._opt, opt)\n }\n\n _.breakpoint = 0\n _.settingsBreakpoint()\n }\n\n gliderPrototype.destroy = function () {\n var _ = this\n\n var replace = _.ele.cloneNode(true)\n\n var clear = function (ele) {\n ele.removeAttribute('style');\n [].forEach.call(ele.classList, function (className) {\n /^glider/.test(className) && ele.classList.remove(className)\n })\n }\n // remove track\n replace.children[0].outerHTML = replace.children[0].innerHTML\n clear(replace);\n [].forEach.call(replace.getElementsByTagName('*'), clear)\n _.ele.parentNode.replaceChild(replace, _.ele)\n _.event(_window, 'remove', {\n resize: _.resize\n })\n _.emit('destroy')\n }\n\n gliderPrototype.emit = function (name, arg) {\n var _ = this\n\n var e = new _window.CustomEvent('glider-' + name, {\n bubbles: !_.opt.eventPropagate,\n detail: arg\n })\n _.ele.dispatchEvent(e)\n }\n\n gliderPrototype.event = function (ele, type, args) {\n var eventHandler = ele[type + 'EventListener'].bind(ele)\n Object.keys(args).forEach(function (k) {\n eventHandler(k, args[k])\n })\n }\n\n return Glider\n})\n","import Glider from '@lighting-beetle/glider-js';\n\nimport {\n SELECTOR_DOTS,\n SELECTOR_VIEWPORT,\n CLASS_DOT_CIRCLE,\n CLASS_DOT_SVG,\n CLASS_AUTOPLAY,\n CLASS_SHOWING_INVERTED_SLIDE,\n} from './constants';\n\nexport const defaultConfig = {\n slidesToShow: 1,\n dots: SELECTOR_DOTS,\n skipTrack: true,\n rewind: true,\n interval: 0,\n scrollLock: true, // Ensures snapping to nearest slide on drag release\n classes: {\n glider: 'carousel-promotions__viewport',\n track: 'carousel-promotions__track',\n slide: 'carousel-promotions__slide',\n drag: 'is-dragging',\n draggable: 'is-draggable',\n disabled: 'is-disabled',\n active: 'is-active',\n visible: 'is-visible',\n dots: 'carousel-promotions__pagination',\n dot: 'carousel-promotions__pagination-item',\n },\n};\n\nexport default class CarouselPromotions {\n interval = 0;\n\n constructor(element, config) {\n this.element = element;\n const mergedConfig = { ...defaultConfig, ...config };\n const { interval, ...restConfig } = mergedConfig;\n this.config = restConfig;\n this.interval = parseInt(interval);\n this.element.ODS_CarouselPromotions = this;\n\n this.gliderLoadedHandler = this.gliderLoadedHandler.bind(this);\n this.gliderRefreshHandler = this.gliderRefreshHandler.bind(this);\n this.scrollToNextSlide = this.scrollToNextSlide.bind(this);\n this.autoplayAnimationEnd = this.autoplayAnimationEnd.bind(this);\n\n this.element.ODS_CarouselPromotions = this;\n\n this.init();\n return this;\n }\n\n init() {\n this.getElements();\n\n if (this.element.hasAttribute('data-glider-options')) {\n this.getCustomOptions();\n }\n\n if (this.element.hasAttribute('data-interval')) {\n this.interval = parseInt(this.element.getAttribute('data-interval'));\n }\n\n const isIntervalValid = this.isIntervalValid();\n\n if (isIntervalValid) {\n this.element.classList.add(CLASS_AUTOPLAY);\n } else {\n this.interval = 0;\n }\n\n this.element.addEventListener('glider-loaded', this.gliderLoadedHandler);\n this.element.addEventListener('glider-refresh', this.gliderRefreshHandler);\n this.element.addEventListener('glider-slide-visible', (e, foo) => {\n this.element.classList.remove(CLASS_SHOWING_INVERTED_SLIDE);\n if (e.detail && e.detail.slide) {\n const slideIndex = e.detail.slide;\n if (slideIndex % 2 === 1) {\n this.element.classList.add(CLASS_SHOWING_INVERTED_SLIDE);\n }\n }\n });\n\n this.instance = new Glider(this.viewport, this.config);\n\n if (this.instance && this.instance.dots && isIntervalValid) {\n this.instance.dots.addEventListener(\n 'animationend',\n this.autoplayAnimationEnd\n );\n this.instance.dots.addEventListener('click', () => {\n this.stopAutoplay();\n });\n }\n }\n\n stopAutoplay() {\n this.interval = 0;\n this.element.classList.remove(CLASS_AUTOPLAY);\n }\n\n autoplayAnimationEnd(e) {\n if (e instanceof AnimationEvent && e.animationName === 'countdown') {\n this.scrollToNextSlide();\n }\n }\n\n get isAutoplayEnabled() {\n return this.interval > 0;\n }\n\n /**\n * Validates the interval attribute. The attribute must be a valid integer greater than or equal to 1000.\n * @return {boolean}\n */\n isIntervalValid() {\n const interval = parseInt(this.interval);\n return !isNaN(interval) && interval >= 1000;\n }\n\n scrollToNextSlide() {\n const slidesCount = this.instance.slides.length;\n if (slidesCount < 0) {\n return;\n }\n const currentSlideIndex = this.instance.getCurrentSlide();\n this.instance.scrollItem((currentSlideIndex + 1) % slidesCount);\n }\n\n gliderLoadedHandler() {\n this.fixPaginationButtonType();\n if (this.isAutoplayEnabled) {\n this.renderSvgDotsForAnimation();\n }\n }\n\n gliderRefreshHandler() {\n this.fixPaginationButtonType();\n if (this.isAutoplayEnabled) {\n this.renderSvgDotsForAnimation();\n }\n }\n\n getElements() {\n this.viewport = this.element.querySelector(SELECTOR_VIEWPORT);\n const elements = {\n dots: this.element.querySelector(SELECTOR_DOTS),\n };\n\n this.config = {\n ...this.config,\n ...elements,\n };\n }\n\n getCustomOptions() {\n const passedGliderOptions = this.element.getAttribute(\n 'data-glider-options'\n );\n const parsedGliderOptions = JSON.parse(passedGliderOptions);\n\n this.config = {\n ...this.config,\n ...parsedGliderOptions,\n };\n }\n\n fixPaginationButtonType() {\n const dots = Array.from(\n this.element.querySelectorAll(`${SELECTOR_DOTS} > *`)\n );\n\n dots.forEach(dot => dot.setAttribute('type', 'button'));\n }\n\n /**\n * Creates an SVG element representing a pagination dot.\n * We must create the SVG element with `createElement`, because the Glider.js library\n * overwrites the content of the pagination dots.\n * @return {SVGSVGElement}\n */\n static createSvgDot() {\n const svgNS = 'http://www.w3.org/2000/svg';\n const svg = document.createElementNS(svgNS, 'svg');\n svg.setAttribute('class', CLASS_DOT_SVG);\n svg.setAttribute('width', '12');\n svg.setAttribute('height', '12');\n svg.setAttribute('viewBox', '0 0 12 12');\n svg.setAttribute('fill', 'none');\n svg.setAttribute('xmlns', svgNS);\n\n const circle = document.createElementNS(svgNS, 'circle');\n circle.setAttribute('class', CLASS_DOT_CIRCLE);\n circle.setAttribute('r', '5');\n circle.setAttribute('cx', '6');\n circle.setAttribute('cy', '6');\n\n svg.appendChild(circle);\n\n return svg;\n }\n\n /**\n * Renders an SVG element inside each pagination dot.\n */\n renderSvgDotsForAnimation() {\n const dots = Array.from(\n this.element.querySelectorAll(`${SELECTOR_DOTS} > *`)\n );\n\n const svg = CarouselPromotions.createSvgDot();\n svg.querySelector('circle').style.animationDuration = `${this.interval}ms`;\n\n dots.forEach(dot => {\n dot.innerHTML = '';\n dot.appendChild(svg.cloneNode(true));\n });\n }\n\n destroy() {\n this.instance.destroy();\n }\n\n update() {\n this.instance.refresh();\n }\n\n static getInstance(el) {\n return el && el.ODS_CarouselPromotions ? el.ODS_CarouselPromotions : null;\n }\n}\n","export const CLASS_ROOT = 'carousel-promotions';\n\nexport const CLASS_WRAPPER = `${CLASS_ROOT}`;\nexport const CLASS_VIEWPORT_WRAPPER = `${CLASS_ROOT}__viewport-wrapper`;\nexport const CLASS_VIEWPORT = `${CLASS_ROOT}__viewport`;\nexport const CLASS_TRACK = `${CLASS_ROOT}__track`;\nexport const CLASS_SLIDE = `${CLASS_ROOT}__slide`;\nexport const CLASS_SLIDE_CONTENT = `${CLASS_ROOT}__content`;\nexport const CLASS_TITLE = `${CLASS_ROOT}__title`;\nexport const CLASS_IMAGE = `${CLASS_ROOT}__image`;\nexport const CLASS_NEXT = `${CLASS_ROOT}__next`;\nexport const CLASS_DOTS = `${CLASS_ROOT}__pagination`;\nexport const CLASS_DOT_SVG = `${CLASS_ROOT}__pagination-svg`;\nexport const CLASS_DOT_CIRCLE = `${CLASS_ROOT}__pagination-circle`;\nexport const CLASS_SHOWING_INVERTED_SLIDE = `${CLASS_ROOT}--slide-inverted`;\n\nexport const CLASS_AUTOPLAY = `is-autoplay`;\n\nexport const SELECTOR_WRAPPER = `.${CLASS_WRAPPER}`;\nexport const SELECTOR_VIEWPORT = `.${CLASS_VIEWPORT}`;\nexport const SELECTOR_DOTS = `.${CLASS_DOTS}`;\n"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- @keyframes countdown{0%{stroke-dashoffset:31.416}to{stroke-dashoffset:0}}.carousel-promotions{position:relative;margin:0 auto 1.25rem}.carousel-promotions__viewport-wrapper{position:relative}.carousel-promotions__viewport{margin:0 auto;position:relative;overflow-y:hidden;-webkit-overflow-scrolling:touch;-ms-overflow-style:none;transform:translateZ(0);scrollbar-width:none}@media screen and (max-width:767.98px){.carousel-promotions__viewport{padding-bottom:.625rem}}@media screen and (min-width:768px){.carousel-promotions__viewport{margin-bottom:1.25rem}}.carousel-promotions__viewport::-webkit-scrollbar{opacity:0;height:0}@media screen and (max-width:767.98px){.carousel-promotions__viewport::-webkit-scrollbar{opacity:1;height:.625rem;-webkit-appearance:none;background-color:#ddd;border-radius:99px}}@media screen and (max-width:767.98px){.carousel-promotions__viewport::-webkit-scrollbar-thumb{opacity:1;border-radius:99px;background-color:#595959}}.carousel-promotions__viewport.is-draggable{-webkit-user-select:none;user-select:none;cursor:grab}.carousel-promotions__viewport.is-dragging{cursor:grabbing}.carousel-promotions__track{transform:translateZ(0);width:100%;margin:0;padding:0;display:flex;z-index:1}.carousel-promotions__slide{display:flex;grid-gap:.625rem;gap:.625rem;max-width:100%;flex:0 0 auto;padding:.625rem;-webkit-user-select:none;user-select:none;background-color:#fff}.carousel-promotions__slide:nth-child(2n){background-color:#000;color:#fff!important}.carousel-promotions__slide>:last-child{margin-bottom:0}@media screen and (min-width:768px){.carousel-promotions__slide{padding:1.25rem 3.125rem 1.25rem 1.25rem;flex-direction:row-reverse;justify-content:space-between}}@media screen and (min-width:992px){.carousel-promotions__slide{padding-right:6.25rem}}.carousel-promotions__slide:is(a){cursor:pointer}.carousel-promotions__slide:is(a),.carousel-promotions__slide:is(a):active,.carousel-promotions__slide:is(a):hover,.carousel-promotions__slide:is(a):visited{color:inherit}.bg-black .carousel-promotions__slide{background-color:#000}.bg-black .carousel-promotions__slide:nth-child(2n){background-color:#fff;color:#000!important}.carousel-promotions__image{width:6.25rem;height:6.25rem;display:flex;flex-shrink:0}.carousel-promotions__image img,.carousel-promotions__image picture{margin-bottom:0}.carousel-promotions__image img{-webkit-user-select:none;user-select:none;pointer-events:none;width:100%;height:100%}@media screen and (min-width:768px){.carousel-promotions__image{width:11rem;height:11rem;flex-grow:1;border-radius:0;background-color:unset;justify-content:end;position:relative}.carousel-promotions__image img,.carousel-promotions__image picture{width:100%;max-width:11rem;object-fit:cover}}@media screen and (min-width:992px){.carousel-promotions__image{width:12.5rem;height:12.5rem}.carousel-promotions__image img,.carousel-promotions__image picture{max-width:12.5rem}}.carousel-promotions__title{margin-bottom:0;font-size:1rem;line-height:1.125rem;max-width:26.25rem}@media screen and (min-width:768px){.carousel-promotions__title{font-size:1.5rem;line-height:1.625rem;max-width:36.25rem}}@media screen and (min-width:992px){.carousel-promotions__title{font-size:2.125rem;line-height:2.3125rem;max-width:43.75rem}}.carousel-promotions__content{display:flex;flex-direction:column;align-items:flex-start}.carousel-promotions__content>:last-child{margin-bottom:0}@media screen and (min-width:768px){.carousel-promotions__content{height:100%;max-width:34.0625rem;justify-content:space-between}}.carousel-promotions__next{width:1.25rem!important;height:1.25rem!important;right:.625rem;border:0!important;transform:translateY(-50%);border:2px solid transparent;font-size:1.125rem;font-weight:700;line-height:1.4;transition-duration:.2s;transition-timing-function:ease-in-out;transition-property:border-color,background-color,color;text-align:center;text-decoration:none;line-height:1.25;vertical-align:initial;cursor:pointer;display:inline-flex;flex:0 0 auto;flex-flow:row;justify-content:center;align-items:center;padding:0;line-height:0;width:2.5rem;height:2.5rem;position:absolute;top:50%;z-index:10;margin:0;border-radius:100%}.carousel-promotions__next.is-active,.carousel-promotions__next:active{transition-property:none}.carousel-promotions__next[aria-disabled=true],.carousel-promotions__next[disabled]{cursor:not-allowed}@media(hover:hover){.carousel-promotions__next:hover{z-index:2}}.carousel-promotions__next.is-active,.carousel-promotions__next:active{z-index:2}@media(hover:hover){.bg-black .carousel-promotions__next:hover{z-index:2}}.bg-black .carousel-promotions__next.is-active,.bg-black .carousel-promotions__next:active{z-index:2}.carousel-promotions--slide-inverted .carousel-promotions__next{color:#fff}.carousel-promotions--slide-inverted.bg-black .carousel-promotions__next{color:#000}.carousel-promotions__pagination{-webkit-user-select:none;user-select:none;display:flex;flex-wrap:wrap;justify-content:center;margin:0 auto;padding:0}.carousel-promotions__pagination-item{background:none;border:0;padding:0;-webkit-user-select:none;user-select:none;display:block;cursor:pointer;border-radius:100%;width:8px;height:8px;margin:8px;background-color:#000}.carousel-promotions__pagination-item:hover{background-color:#000;outline:2px solid #000}.carousel-promotions__pagination-item.is-active:not(:hover){background-color:initial;outline:2px solid #000}.is-autoplay .carousel-promotions__pagination-item.is-active:not(:focus){outline:none}.carousel-promotions__pagination-item:active{background-color:#000}.carousel-promotions__pagination-item:focus:not(:active){background-color:#000;outline-offset:2px;outline-width:3px!important;outline-color:#000!important}.carousel-promotions__pagination-svg{position:relative;display:none;left:-2px;top:-2px;transform:rotate(-90deg) scaleY(-1)}.is-autoplay .is-active>.carousel-promotions__pagination-svg{display:block}.carousel-promotions__pagination-circle{stroke-width:2px;stroke:#000;stroke-dasharray:31.416;stroke-dashoffset:31.416;animation-name:countdown;animation-iteration-count:1;animation-timing-function:linear;animation-direction:reverse}.bg-black .carousel-promotions__pagination-item{background-color:#fff}.bg-black .carousel-promotions__pagination-item:hover{background-color:#fff;outline:2px solid #fff}.bg-black .carousel-promotions__pagination-item.is-active:not(:hover){background-color:initial;outline:2px solid #fff}.is-autoplay .bg-black .carousel-promotions__pagination-item.is-active:not(:focus){outline:none}.bg-black .carousel-promotions__pagination-item:active{background-color:#fff}.bg-black .carousel-promotions__pagination-item:focus:not(:active){background-color:#fff;outline-offset:2px;outline-width:3px!important;outline-color:#fff!important}
1
+ @keyframes countdown{0%{stroke-dashoffset:31.416}to{stroke-dashoffset:0}}.carousel-promotions{position:relative;margin:0 auto 1.25rem}.carousel-promotions__viewport-wrapper{position:relative}.carousel-promotions__viewport{margin:0 auto;position:relative;overflow-y:hidden;-webkit-overflow-scrolling:touch;-ms-overflow-style:none;transform:translateZ(0);scrollbar-width:none}@media screen and (max-width:767.98px){.carousel-promotions__viewport{padding-bottom:.625rem}}@media screen and (min-width:768px){.carousel-promotions__viewport{margin-bottom:1.25rem}}.carousel-promotions__viewport::-webkit-scrollbar{opacity:0;height:0}@media screen and (max-width:767.98px){.carousel-promotions__viewport::-webkit-scrollbar{opacity:1;height:.625rem;-webkit-appearance:none;background-color:#ddd;border-radius:99px}}@media screen and (max-width:767.98px){.carousel-promotions__viewport::-webkit-scrollbar-thumb{opacity:1;border-radius:99px;background-color:#595959}}.carousel-promotions__viewport.is-draggable{-webkit-user-select:none;user-select:none;cursor:grab}.carousel-promotions__viewport.is-dragging{cursor:grabbing}.carousel-promotions__track{transform:translateZ(0);width:100%;margin:0;padding:0;display:flex;z-index:1}.carousel-promotions__slide{display:flex;grid-gap:.625rem;gap:.625rem;max-width:100%;flex:0 0 auto;padding:.625rem;-webkit-user-select:none;user-select:none;background-color:#fff}.carousel-promotions__slide--black{background-color:#000;color:#fff!important}.carousel-promotions__slide>:last-child{margin-bottom:0}@media screen and (min-width:768px){.carousel-promotions__slide{padding:1.25rem 3.125rem 1.25rem 1.25rem;flex-direction:row-reverse;justify-content:space-between}}@media screen and (min-width:992px){.carousel-promotions__slide{padding-right:6.25rem}}.carousel-promotions__slide:is(a){cursor:pointer}.carousel-promotions__slide:is(a),.carousel-promotions__slide:is(a):active,.carousel-promotions__slide:is(a):hover,.carousel-promotions__slide:is(a):visited{color:inherit}.bg-black .carousel-promotions__slide{color:#000!important}.bg-black .carousel-promotions__slide--black{background-color:#000;color:#fff!important}.carousel-promotions__image{width:6.25rem;height:6.25rem;display:flex;flex-shrink:0}.carousel-promotions__image img,.carousel-promotions__image picture{margin-bottom:0}.carousel-promotions__image img{-webkit-user-select:none;user-select:none;pointer-events:none;width:100%;height:100%}@media screen and (min-width:768px){.carousel-promotions__image{width:11rem;height:11rem;flex-grow:1;border-radius:0;background-color:unset;justify-content:end;position:relative}.carousel-promotions__image img,.carousel-promotions__image picture{width:100%;max-width:11rem;object-fit:cover}}@media screen and (min-width:992px){.carousel-promotions__image{width:12.5rem;height:12.5rem}.carousel-promotions__image img,.carousel-promotions__image picture{max-width:12.5rem}}.carousel-promotions__title{margin-bottom:0;font-size:1rem;line-height:1.125rem;max-width:26.25rem}@media screen and (min-width:768px){.carousel-promotions__title{font-size:1.5rem;line-height:1.625rem;max-width:36.25rem}}@media screen and (min-width:992px){.carousel-promotions__title{font-size:2.125rem;line-height:2.3125rem;max-width:43.75rem}}.carousel-promotions__content{display:flex;flex-direction:column;align-items:flex-start}.carousel-promotions__content>:last-child{margin-bottom:0}@media screen and (min-width:768px){.carousel-promotions__content{height:100%;max-width:34.0625rem;justify-content:space-between}}.carousel-promotions__pagination{-webkit-user-select:none;user-select:none;display:flex;flex-wrap:wrap;justify-content:center;margin:0 auto;padding:0}.carousel-promotions__pagination-item{background:none;border:0;padding:0;-webkit-user-select:none;user-select:none;display:block;cursor:pointer;border-radius:100%;width:8px;height:8px;margin:8px;background-color:#000}.carousel-promotions__pagination-item:hover{background-color:#000;outline:2px solid #000}.carousel-promotions__pagination-item.is-active:not(:hover){background-color:initial;outline:2px solid #000}.is-autoplay .carousel-promotions__pagination-item.is-active:not(:focus){outline:none}.carousel-promotions__pagination-item:active{background-color:#000}.carousel-promotions__pagination-item:focus:not(:active){background-color:#000;outline-offset:2px;outline-width:3px!important;outline-color:#000!important}.carousel-promotions__pagination-svg{position:relative;display:none;left:-2px;top:-2px;transform:rotate(-90deg) scaleY(-1)}.is-autoplay .is-active>.carousel-promotions__pagination-svg{display:block}.carousel-promotions__pagination-circle{stroke-width:2px;stroke:#000;stroke-dasharray:31.416;stroke-dashoffset:31.416;animation-name:countdown;animation-iteration-count:1;animation-timing-function:linear;animation-direction:reverse}.bg-black .carousel-promotions__pagination-item{background-color:#fff}.bg-black .carousel-promotions__pagination-item:hover{background-color:#fff;outline:2px solid #fff}.bg-black .carousel-promotions__pagination-item.is-active:not(:hover){background-color:initial;outline:2px solid #fff}.is-autoplay .bg-black .carousel-promotions__pagination-item.is-active:not(:focus){outline:none}.bg-black .carousel-promotions__pagination-item:active{background-color:#fff}.bg-black .carousel-promotions__pagination-item:focus:not(:active){background-color:#fff;outline-offset:2px;outline-width:3px!important;outline-color:#fff!important}
2
2
  /*# sourceMappingURL=style.css.map */
@@ -1 +1 @@
1
- {"version":3,"sources":["config.scss","style.scss","mixins.scss","../../../styles/tokens/breakpoint.scss","../../../styles/tokens/color.scss","../../../styles/tools/generate.scss","../../Button/styles/mixins.scss"],"names":[],"mappings":"AAuGA,qBACE,GAEE,wBALyB,CAO3B,GACE,mBAAA,CAAA,CC3GJ,qBCiBE,iBAAA,CACA,qBFdM,CCDN,uCCoBA,iBAAA,CDhBA,+BCoBA,aAAA,CACA,iBAAA,CACA,iBAAA,CACA,gCAAA,CACA,uBAAA,CACA,uBAAA,CACA,oBAAA,CCME,uCFhCF,+BC6BE,sBAAA,CAAA,CCNE,oCFvBJ,+BCiCE,qBFpCI,CAAA,CEuCN,kDACE,SAAA,CACA,QAAA,CCNA,uCDIF,kDAKI,SAAA,CACA,cAAA,CACA,uBAAA,CACA,qBEpCK,CFqCL,kBAAA,CAAA,CCbF,uCDiBF,wDAEI,SAAA,CACA,kBAAA,CACA,wBEzCK,CAAA,CF6CT,4CACE,wBAAA,CAAA,gBAAA,CAEA,WAAA,CAGF,2CAEE,eAAA,CD7DF,4BCkEA,uBAAA,CACA,UAAA,CACA,QAAA,CACA,SAAA,CACA,YAAA,CACA,SAAA,CDnEA,4BC+EA,YAAA,CACA,gBAAA,CAAA,WAAA,CACA,cAAA,CACA,aAAA,CACA,eAAA,CACA,wBAAA,CAAA,gBAAA,CACA,qBElGM,CFoGN,0CACE,qBEtGI,CFuGJ,oBAAA,CAGF,wCACE,eAAA,CC9EE,oCFfJ,4BCiGE,wCAAA,CAEA,0BAAA,CACA,6BAAA,CAAA,CCrFE,oCFfJ,4BCwGE,qBAAA,CAAA,CAGF,kCACE,cAAA,CACA,6JAIE,aAAA,CD7GJ,sCCmHA,qBErIM,CFuIN,oDACE,qBEvII,CFwIJ,oBAAA,CDnHF,4BCwHA,aAAA,CACA,cAAA,CACA,YAAA,CACA,aAAA,CAEA,oEAEE,eAAA,CAGF,gCACE,wBAAA,CAAA,gBAAA,CACA,mBAAA,CACA,UAAA,CACA,WAAA,CC/HE,oCFPJ,4BC0IE,WAAA,CACA,YAAA,CACA,WAAA,CACA,eAAA,CACA,sBAAA,CACA,mBAAA,CACA,iBAAA,CAEA,oEAEE,UAAA,CACA,eAAA,CACA,gBAAA,CAAA,CC/IA,oCFPJ,4BC2JE,aAAA,CACA,cAAA,CAEA,oEAEE,iBAAA,CAAA,CD5JJ,4BCkKA,eAAA,CAIE,cAFU,CAEV,oBAFU,CAEV,kBAFU,CCjKR,oCFHJ,4BC4KI,gBAFU,CAEV,oBAFU,CAEV,kBAFU,CAAA,CCvKV,oCFHJ,4BCmLI,kBAFU,CAEV,qBAFU,CAEV,kBAFU,CAAA,CD7Kd,8BCqLA,YAAA,CACA,qBAAA,CACA,sBAAA,CAEA,0CACE,eAAA,CC3LE,oCFCJ,8BC8LE,WAAA,CACA,oBAAA,CACA,6BAAA,CAAA,CD5LF,2BCsNA,uBAAA,CACA,wBAAA,CACA,aAAA,CACA,kBAAA,CACA,0BAAA,CGpOE,4BAAA,CAAA,kBAAA,CAAA,eAAA,CAAA,eAAA,CAAA,uBAAA,CAAA,sCAAA,CAAA,uDAAA,CCXF,iBAAA,CACA,oBAAA,CACA,gBAAA,CACA,sBAAA,CACA,cAAA,CAiEA,mBAAA,CACA,aAAA,CACA,aAAA,CACA,sBAAA,CACA,kBAAA,CACA,SAAA,CACA,aAAA,CAMA,YAFO,CAGP,aAHO,CJ4IP,iBAAA,CACA,OAAA,CACA,UAAA,CACA,QAAA,CACA,kBAAA,CInNA,uEDDE,wBCKA,CAGF,oFAIE,kBAAA,CAoBF,oBACE,iCAGE,SAAA,CAAA,CAIJ,uEAIE,SAAA,CAZF,oBACE,2CAGE,SAAA,CAAA,CAIJ,2FAIE,SAAA,CLrBF,gECiMA,UE/OM,CHkDN,yECiMA,UEpPM,CHuDN,iCCiNA,wBAAA,CAAA,gBAAA,CACA,YAAA,CACA,cAAA,CACA,sBAAA,CACA,aAAA,CACA,SAAA,CDlNA,sCCsNA,eAAA,CACA,QAAA,CACA,SAAA,CACA,wBAAA,CAAA,gBAAA,CACA,aAAA,CACA,cAAA,CACA,kBAAA,CG/PE,SAAA,CAAA,UAAA,CAAA,UAAA,CAAA,qBAAA,CHqQF,4CGrQE,qBAAA,CAAA,sBAAA,CHyQF,4DGzQE,wBAAA,CAAA,sBAAA,CH6QF,yEACE,YAAA,CAGF,6CGjRE,qBAAA,CHqRF,yDGrRE,qBAAA,CAAA,kBAAA,CAAA,2BAAA,CAAA,4BAAA,CJuCF,qCC4QA,iBAAA,CACA,YAAA,CACA,SAAA,CACA,QAAA,CAIA,mCAAA,CAEA,6DACE,aAAA,CDlRF,wCCuRA,gBFjTsB,CEkTtB,WE3VM,CF4VN,uBF1P2B,CE2P3B,wBF3P2B,CE4P3B,wBAAA,CACA,2BAAA,CACA,gCAAA,CACA,2BAAA,CD1RA,gDI/CE,qBAAA,CH6RF,sDG7RE,qBAAA,CAAA,sBAAA,CHiSF,sEGjSE,wBAAA,CAAA,sBAAA,CHqSF,mFACE,YAAA,CAGF,uDGzSE,qBAAA,CH6SF,mEG7SE,qBAAA,CAAA,kBAAA,CAAA,2BAAA,CAAA,4BAAA","file":"style.css","sourcesContent":["@use 'sass:math';\n@use '../../../styles/tokens/breakpoint';\n@use '../../../styles/tokens/color';\n@use '../../../styles/tokens/space';\n@use '../../../styles/tools/convert';\n\n$space: space.get();\n\n$button-size: $space;\n\n$button: (\n default: (\n color: color.$white,\n background-color: color.$black,\n ),\n hover: (\n background-color: color.$orange-dark,\n ),\n active: (\n background-color: color.$black,\n ),\n);\n\n$button-inverse: (\n default: (\n color: color.$black,\n background-color: color.$white,\n ),\n hover: (\n background-color: color.$orange,\n ),\n active: (\n background-color: color.$white,\n ),\n);\n\n$dot-dimension: 8px;\n\n$dot-layout: (\n width: $dot-dimension,\n height: $dot-dimension,\n margin: 8px,\n);\n\n$outline-width-default: 2px;\n$outline-width-focus: 3px;\n$outline-offset-focus: 2px;\n\n$dot: (\n default: (\n background-color: color.$black,\n ),\n focus: (\n background-color: color.$black,\n outline-offset: $outline-offset-focus,\n outline-width: $outline-width-focus !important,\n outline-color: color.$black !important,\n ),\n hover: (\n background-color: color.$black,\n outline: $outline-width-default solid color.$black,\n ),\n active: (\n background-color: transparent,\n outline: $outline-width-default solid color.$black,\n ),\n);\n\n$dot-inverse: (\n default: (\n background-color: color.$white,\n ),\n focus: (\n background-color: color.$white,\n outline-offset: $outline-offset-focus,\n outline-width: $outline-width-focus !important,\n outline-color: color.$white !important,\n ),\n hover: (\n background-color: color.$white,\n outline: $outline-width-default solid color.$white,\n ),\n active: (\n background-color: transparent,\n outline: $outline-width-default solid color.$white,\n ),\n);\n\n$breakout-buttons-breakpoints: (\n (864px, 991px),\n (1088px, 1239px),\n (1340px, 1379px),\n (1460px)\n);\n\n$viewport-horizontal-spacing: (\n 'default': space.get('medium'),\n);\n\n$animated-dot-radius: 5;\n$pi: math.div(math.round(math.$pi * 10000), 10000);\n$animated-dot-circumference: 2 * $pi * $animated-dot-radius;\n\n@keyframes countdown {\n from {\n // stroke-dashoffset can't be negative number due to Safari issues.\n stroke-dashoffset: $animated-dot-circumference;\n }\n to {\n stroke-dashoffset: 0;\n }\n}\n","@use './mixins';\n\n.carousel-promotions {\n @include mixins.base;\n\n &__viewport-wrapper {\n @include mixins.viewport-wrapper;\n }\n\n &__viewport {\n @include mixins.viewport;\n }\n\n &__track {\n @include mixins.track;\n }\n\n &__slide {\n @include mixins.slide-base;\n }\n\n .bg-black &__slide {\n @include mixins.slide-base-inverse;\n }\n\n &__image {\n @include mixins.slide-image;\n }\n\n &__title {\n @include mixins.slide-title;\n }\n\n &__content {\n @include mixins.slide-content;\n }\n\n &__next {\n @include mixins.button-next;\n @include mixins.button-base;\n\n &.is-disabled {\n @include mixins.button-disabled;\n }\n }\n\n .bg-black &__next {\n @include mixins.button-inverse;\n }\n\n &--slide-inverted &__next {\n @include mixins.button-slide-inverted;\n }\n\n &--slide-inverted.bg-black &__next {\n @include mixins.button-slide-inverted-inverse;\n }\n\n &__pagination {\n @include mixins.pagination;\n }\n\n &__pagination-item {\n @include mixins.pagination-item;\n }\n\n &__pagination-svg {\n @include mixins.pagination-svg;\n }\n\n &__pagination-circle {\n @include mixins.pagination-circle;\n }\n\n .bg-black &__pagination-item {\n @include mixins.pagination-item-inverse;\n }\n}\n","@use 'sass:map' as sass-map;\n@use 'sass:math';\n@use '../../../styles/tokens/base';\n@use '../../../styles/tokens/color';\n@use '../../../styles/tokens/space';\n@use '../../../styles/tools/convert';\n@use '../../../styles/tools/generate';\n@use '../../../styles/tools/map';\n@use '../../../styles/tokens/breakpoint';\n@use '../../Button/styles/config' as button-config;\n@use '../../Button/styles/mixins' as button-mixins;\n@use '../../Grid/styles/mixins' as grid-mixins;\n@use '../../Typography/styles/config' as typography-config;\n@use './config';\n\n/* stylelint-disable value-no-vendor-prefix, property-no-vendor-prefix */\n\n@mixin base {\n margin: 0 auto;\n position: relative;\n margin-bottom: config.$space;\n}\n\n@mixin viewport-wrapper {\n // wraps viewport and arrows to center them vertically\n position: relative;\n}\n\n@mixin viewport {\n margin: 0 auto;\n position: relative;\n overflow-y: hidden;\n -webkit-overflow-scrolling: touch;\n -ms-overflow-style: none;\n transform: translateZ(0);\n scrollbar-width: none; // hides scrollbar on FF\n\n @include breakpoint.get('sm', 'down') {\n padding-bottom: math.div(config.$space, 2);\n }\n\n @include breakpoint.get('md') {\n margin-bottom: config.$space;\n }\n\n &::-webkit-scrollbar {\n opacity: 0;\n height: 0;\n\n @include breakpoint.get('sm', 'down') {\n opacity: 1;\n height: space.get('small');\n -webkit-appearance: none;\n background-color: color.$gray-400;\n border-radius: 99px;\n }\n }\n\n &::-webkit-scrollbar-thumb {\n @include breakpoint.get('sm', 'down') {\n opacity: 1;\n border-radius: 99px;\n background-color: color.$gray-800;\n }\n }\n\n &.is-draggable {\n user-select: none;\n cursor: -webkit-grab;\n cursor: grab;\n }\n\n &.is-dragging {\n cursor: -webkit-grabbing;\n cursor: grabbing;\n }\n}\n\n@mixin track {\n transform: translateZ(0);\n width: 100%;\n margin: 0;\n padding: 0;\n display: flex;\n z-index: 1;\n}\n\n@function get-breakout-media-query($min, $max) {\n @return if(\n $max,\n '(min-width: #{$min}) and (max-width: #{$max})',\n '(min-width: #{$min})'\n );\n}\n\n@mixin slide-base {\n display: flex;\n gap: space.get('small');\n max-width: 100%;\n flex: 0 0 auto;\n padding: space.get('small');\n user-select: none;\n background-color: color.$white;\n\n &:nth-child(2n) {\n background-color: color.$black;\n color: color.$white !important;\n }\n\n > *:last-child {\n margin-bottom: 0;\n }\n\n @include breakpoint.get('md') {\n padding: space.get('medium') convert.to-rem(50px) space.get('medium')\n space.get('medium');\n flex-direction: row-reverse;\n justify-content: space-between;\n }\n\n @include breakpoint.get('lg') {\n padding-right: convert.to-rem(100px);\n }\n\n &:is(a) {\n cursor: pointer;\n &,\n &:visited,\n &:hover,\n &:active {\n color: inherit;\n }\n }\n}\n\n@mixin slide-base-inverse {\n background-color: color.$black;\n\n &:nth-child(2n) {\n background-color: color.$white;\n color: color.$black !important;\n }\n}\n\n@mixin slide-image {\n width: convert.to-rem(100px);\n height: convert.to-rem(100px);\n display: flex;\n flex-shrink: 0;\n\n picture,\n img {\n margin-bottom: 0;\n }\n\n img {\n user-select: none;\n pointer-events: none;\n width: 100%;\n height: 100%;\n }\n\n @include breakpoint.get('md') {\n width: convert.to-rem(176px);\n height: convert.to-rem(176px);\n flex-grow: 1;\n border-radius: 0;\n background-color: unset;\n justify-content: end;\n position: relative;\n\n img,\n picture {\n width: 100%;\n max-width: convert.to-rem(176px);\n object-fit: cover;\n }\n }\n\n @include breakpoint.get('lg') {\n width: convert.to-rem(200px);\n height: convert.to-rem(200px);\n\n img,\n picture {\n max-width: convert.to-rem(200px);\n }\n }\n}\n\n@mixin slide-title {\n margin-bottom: 0;\n @each $property,\n $value in map.map-deep-get(typography-config.$headings, 5, 'default')\n {\n #{$property}: $value;\n }\n @include breakpoint.get('md') {\n @each $property,\n $value in map.map-deep-get(typography-config.$headings, 3, md)\n {\n #{$property}: $value;\n }\n }\n @include breakpoint.get('lg') {\n @each $property,\n $value in map.map-deep-get(typography-config.$headings, 1, md)\n {\n #{$property}: $value;\n }\n }\n}\n\n@mixin slide-content {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n\n > *:last-child {\n margin-bottom: 0;\n }\n\n @include breakpoint.get('md') {\n height: 100%;\n max-width: convert.to-rem(545px);\n justify-content: space-between;\n }\n}\n\n@mixin button-base {\n @include button-mixins.base(button-config.$base);\n @include button-mixins.style(config.$button);\n @include button-mixins.square-base();\n @include button-mixins.square-size('default');\n\n position: absolute;\n top: 50%;\n z-index: 10;\n margin: 0;\n border-radius: 100%;\n}\n\n@mixin button-slide-inverted {\n color: color.$white;\n}\n\n@mixin button-slide-inverted-inverse {\n color: color.$black;\n}\n\n@mixin button-next {\n width: config.$button-size !important;\n height: config.$button-size !important;\n right: space.get('small');\n border: 0 !important;\n transform: translateY(-50%);\n}\n\n@mixin button-disabled {\n @include generate.css-map(sass-map.get(button-config.$base, 'disabled'));\n}\n\n@mixin button-inverse {\n @include button-mixins.style(config.$button-inverse);\n}\n\n@mixin pagination {\n user-select: none;\n display: flex;\n flex-wrap: wrap;\n justify-content: center;\n margin: 0 auto;\n padding: 0;\n}\n\n@mixin pagination-item {\n background: none;\n border: 0;\n padding: 0;\n user-select: none;\n display: block;\n cursor: pointer;\n border-radius: 100%;\n\n @include generate.css-map(config.$dot-layout);\n\n @include generate.css-map(sass-map.get(config.$dot, 'default'));\n\n &:hover {\n @include generate.css-map(sass-map.get(config.$dot, 'hover'));\n }\n\n &.is-active:not(:hover) {\n @include generate.css-map(sass-map.get(config.$dot, 'active'));\n }\n\n .is-autoplay &.is-active:not(:focus) {\n outline: none;\n }\n\n &:active {\n @include generate.css-map(sass-map.get(config.$dot, 'default'));\n }\n\n &:focus:not(:active) {\n @include generate.css-map(sass-map.get(config.$dot, 'focus'));\n }\n}\n\n@mixin pagination-item-inverse {\n @include generate.css-map(sass-map.get(config.$dot-inverse, 'default'));\n\n &:hover {\n @include generate.css-map(sass-map.get(config.$dot-inverse, 'hover'));\n }\n\n &.is-active:not(:hover) {\n @include generate.css-map(sass-map.get(config.$dot-inverse, 'active'));\n }\n\n .is-autoplay &.is-active:not(:focus) {\n outline: none;\n }\n\n &:active {\n @include generate.css-map(sass-map.get(config.$dot-inverse, 'default'));\n }\n\n &:focus:not(:active) {\n @include generate.css-map(sass-map.get(config.$dot-inverse, 'focus'));\n }\n}\n\n@mixin pagination-svg() {\n position: relative;\n display: none;\n left: -#{config.$outline-width-default};\n top: -#{config.$outline-width-default};\n // This transform is a workaround due to Safari not supporting negative values for stroke-dashoffset.\n // We're rotating the SVG so that the line starts to animate from the top (12o'clock).\n // The vertical flip is to make the line animate clockwise.\n transform: rotate(-90deg) scale(1, -1);\n\n .is-autoplay .is-active > & {\n display: block;\n }\n}\n\n@mixin pagination-circle() {\n stroke-width: config.$outline-width-default;\n stroke: color.$black;\n stroke-dasharray: config.$animated-dot-circumference;\n stroke-dashoffset: config.$animated-dot-circumference;\n animation-name: countdown;\n animation-iteration-count: 1;\n animation-timing-function: linear;\n animation-direction: reverse;\n}\n","@use \"sass:list\";\n@use \"sass:meta\";\n@use 'sass:map' as sassmap;\n@use '../tools/map';\n\n$map: (\n xs: 0,\n sm: 480px,\n md: 768px,\n lg: 992px,\n xl: 1240px,\n xxl: 1380px,\n);\n\n@mixin get( $breakpoint, $param: false) {\n @if (not sassmap.has-key($map, $breakpoint) and $breakpoint != 'default') {\n @warn 'Breakpoint \"#{$breakpoint}\" is not defined.';\n\n @debug 'Available breakpoints:'; // stylelint-disable-line at-rule-disallowed-list\n @debug $map; // stylelint-disable-line at-rule-disallowed-list\n }\n\n @if (\n ($breakpoint == list.nth(sassmap.keys($map), 1) and not $param) or\n ( not $breakpoint ) or\n ( $breakpoint == 'default' )\n ) {\n @content;\n } @else if not $param {\n // no param, just a standard mobile first media query\n @if sassmap.has-key( $map, $breakpoint ) {\n // breakpoint is in breakpoint map, let's use stored value\n @media screen and (min-width: sassmap.get($map, $breakpoint)) { @content; };\n } @else {\n // breakpoint is not in breakpoint map, let's use custom value\n @media screen and (min-width: $breakpoint) { @content; };\n }\n } @else if (\n $param == 'down' and\n map.next($map, $breakpoint)\n ) {\n @media screen and (max-width: map.next($map, $breakpoint) - 0.02px) {\n @content;\n }\n } @else if (\n $param == 'down' and\n not sassmap.has-key($map, $breakpoint)\n ) {\n @media screen and (max-width: $breakpoint) { @content; };\n } @else if (\n $param == 'only' and\n map.next($map, $breakpoint)\n ) {\n @media screen and\n (min-width: sassmap.get($map, $breakpoint)) and\n (max-width: map.next($map, $breakpoint) - 0.02px) { @content; };\n } @else if (\n sassmap.has-key( $map, $param) and\n sassmap.has-key( $map, $breakpoint)\n ) {\n @media screen and\n (min-width: sassmap.get($map, $breakpoint)) and\n (max-width: sassmap.get($map, $param) - 0.02px) { @content; };\n } @else if (\n $param == 'downfrom' and\n sassmap.get($map, $breakpoint) > 0 and\n $breakpoint != 'xs'\n ) {\n @media screen and (max-width: sassmap.get($map, $breakpoint) - 0.02px) {\n @content;\n } // -1\n } @else if (meta.type-of($param) == 'number') {\n @if sassmap.has-key($map, $breakpoint) {\n // breakpoint is in breakpoint map\n @media screen and\n (min-width: sassmap.get($map, $breakpoint)) and\n (max-width: $param) { @content; };\n } @else {\n // breakpoint is not in breakpoint map, let's use custom value\n @media screen and (min-width: $breakpoint) and (max-width: $param) { @content; }\n }\n } @else if (\n not ($breakpoint == list.nth(sassmap.keys($map), -1) and $param == 'down') and\n not ($breakpoint == list.nth(sassmap.keys($map), -1) and $param == 'only') and\n not ($breakpoint == list.nth(sassmap.keys($map), 1) and $param == 'downfrom')\n ) {\n // do nothing on known edge cases. we just dont generate any code.\n @warn 'Breakpoint is not configured properly #{$breakpoint}, #{$param}';\n }\n}\n\n@mixin each() {\n @each $breakpoint, $size in $map {\n @include get($breakpoint) {\n @content($breakpoint);\n }\n }\n}\n","// core (brand)\n$orange: #ff7900;\n$orange-dark: #f16e00;\n$black: #000;\n$white: #fff;\n\n// supporting color\n$blue: #4bb4e6;\n$green: #50be87;\n$pink: #ffb4e6;\n$violet: #a885d8;\n$yellow: #ffd200;\n$yellow-lighter: #fff6b6;\n$red: #ff4d4d;\n\n// functional\n$gray-300: #eee;\n$gray-400: #ddd;\n$gray-500: #ccc;\n$gray-600: #999;\n$gray-700: #666;\n$gray-800: #595959;\n$gray-900: #333;\n$success: #32c832;\n$danger: #cd3c14;\n$info: #527edb;\n$warning: #fc0;\n","@use '../tokens/breakpoint';\n@use './map' as *;\n\n/// Get css propeties from map\n///\n/// @param {Map} $map - Map\n/// @param {Arglist} $keys - Keys to fetch\n///\n/// @example\n/// $map: (\n/// background-color: #fff,\n/// color: #000\n/// );\n///\n/// .example {\n/// @include css-map($map);\n/// }\n///\n/// Output:\n/// .example {\n/// background-color: #fff;\n/// color: #000;\n/// }\n@mixin css-map($_map, $keys...) {\n $map: if($keys, map-deep-get($_map, $keys...), $_map);\n\n @each $prop, $value in $map {\n #{$prop}: #{$value};\n }\n}\n\n/// Get responsive css propeties from map\n///\n/// @param {Map} $map - Map\n/// @param {Arglist} $keys - Keys to fetch\n///\n/// @example\n/// $map: (\n/// default: (\n/// color: red,\n/// ),\n/// xl: (\n/// color: blue,\n/// ),\n/// );\n///\n/// .example {\n/// @include responsive-css-map($map);\n/// }\n///\n/// Output:\n/// .example {\n/// color: red;\n/// @media only screen and (min-width: 1240px) {\n/// color: blue;\n/// }\n/// }\n@mixin responsive-css-map($map) {\n @each $breakpoint, $props in $map {\n @include breakpoint.get($breakpoint) {\n @include css-map($props);\n }\n }\n}\n\n/// Get variants of elemnt from map\n///\n/// @param {Map} $map - map\n/// @param {Map} $className - class name of element\n/// @param {Map} $classSuffix - suffix for class name of element\n@mixin variants($map, $className: '', $classSuffix: '') {\n @each $variant, $props in $map {\n #{if(&, \"&\", \"\")}#{$className + variant-name($variant) + $classSuffix} {\n @include css-map($props);\n }\n }\n}\n\n/// Get responsive variants of elemnt from map\n///\n/// @param {Map} $map - map\n/// @param {Map} $className - class name of element\n/// @param {Map} $classSuffix - suffix for class name of element\n@mixin responsive-variants($map, $className: '', $classSuffix: '') {\n @each $breakpoint, $props in $map {\n @include breakpoint.get($breakpoint) {\n @include variants($props, $className, $classSuffix);\n }\n }\n}\n\n/// Get prefixed variant name\n/// @param {String} $name - Variant name\n/// @return {String} - Return a prefixed variant name or empty string, for default variants\n/// @example scss\n/// variant-name('primary')\n/// // -primary\n/// variant-name('default')\n///\n@function variant-name($name, $prefix: '--', $suffix: '') {\n @if not $name or $name == default or $name == xs {\n @return '';\n }\n\n @return #{$prefix + $name + $suffix};\n}\n","@use \"sass:map\" as sass-map;\n@use '../../../styles/tokens/base';\n@use '../../../styles/tokens/space';\n@use '../../../styles/tools/convert';\n@use '../../../styles/tools/generate';\n@use '../../../styles/tools/map';\n@use './config';\n\n/// Applies base button styles used for every button-base\n/// @param {map} $states - Map of button states\n@mixin base($states: config.$base) {\n @include generate.css-map($states, 'default');\n\n display: inline-flex;\n align-items: center;\n justify-content: center;\n text-align: center;\n text-decoration: none;\n line-height: 1.25;\n vertical-align: baseline;\n cursor: pointer;\n\n @media (hover: hover) {\n &:hover {\n @include generate.css-map($states, 'hover');\n }\n }\n\n &:active,\n &.is-active {\n @include generate.css-map($states, 'active');\n\n z-index: 2;\n }\n\n &[aria-disabled='true'],\n &[disabled] {\n @include generate.css-map($states, 'disabled');\n\n cursor: not-allowed;\n }\n}\n\n// Layout rules. Adds space between adjacent buttons and applies vertical spacing after a button.\n@mixin layout {\n margin-bottom: space.get();\n\n &:not(:last-of-type) {\n margin-right: space.get('small');\n }\n}\n\n/// Styles our button appropriately\n/// @param {map} $states - Map of button states\n@mixin style($name, $config: config.$styles) {\n $states: sass-map.get($config, $name);\n\n @include generate.css-map($states, 'default');\n\n @media (hover: hover) {\n &:hover {\n @include generate.css-map($states, 'hover');\n\n z-index: 2;\n }\n }\n\n &:active,\n &.is-active {\n @include generate.css-map($states, 'active');\n\n z-index: 2;\n }\n\n &[aria-disabled='true'],\n &[disabled] {\n @include generate.css-map($states, 'disabled');\n }\n}\n\n@mixin size($name, $config: config.$sizes) {\n @include generate.css-map($config, $name);\n}\n\n@mixin square-base {\n display: inline-flex;\n flex: 0 0 auto;\n flex-flow: row;\n justify-content: center;\n align-items: center;\n padding: 0;\n line-height: 0;\n}\n\n@mixin square-size($name, $config: config.$sizes) {\n $size: sass-map.get(sass-map.get($config, $name), 'min-height');\n\n width: $size;\n height: $size;\n}\n\n@mixin icon($position) {\n backface-visibility: hidden;\n\n @if ($position == 'left') {\n margin-left: config.$icon-offset-from-edge;\n margin-right: config.$icon-offset-from-text;\n }\n\n @if ($position == 'right') {\n margin-left: config.$icon-offset-from-text;\n margin-right: config.$icon-offset-from-edge;\n }\n}\n\n// Fixes issue when a large icon in large button increases its height\n@mixin large-button-large-icon-size-fix() {\n margin-top: convert.to-rem(-3px);\n margin-bottom: convert.to-rem(-3px);\n}\n"]}
1
+ {"version":3,"sources":["config.scss","style.scss","mixins.scss","../../../styles/tokens/breakpoint.scss","../../../styles/tokens/color.scss","../../../styles/tools/generate.scss"],"names":[],"mappings":"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","file":"style.css","sourcesContent":["@use 'sass:math';\n@use '../../../styles/tokens/breakpoint';\n@use '../../../styles/tokens/color';\n@use '../../../styles/tokens/space';\n@use '../../../styles/tools/convert';\n\n$space: space.get();\n\n$button-size: $space;\n\n$button: (\n default: (\n color: color.$white,\n background-color: color.$black,\n ),\n hover: (\n background-color: color.$orange-dark,\n ),\n active: (\n background-color: color.$black,\n ),\n);\n\n$button-inverse: (\n default: (\n color: color.$black,\n background-color: color.$white,\n ),\n hover: (\n background-color: color.$orange,\n ),\n active: (\n background-color: color.$white,\n ),\n);\n\n$dot-dimension: 8px;\n\n$dot-layout: (\n width: $dot-dimension,\n height: $dot-dimension,\n margin: 8px,\n);\n\n$outline-width-default: 2px;\n$outline-width-focus: 3px;\n$outline-offset-focus: 2px;\n\n$dot: (\n default: (\n background-color: color.$black,\n ),\n focus: (\n background-color: color.$black,\n outline-offset: $outline-offset-focus,\n outline-width: $outline-width-focus !important,\n outline-color: color.$black !important,\n ),\n hover: (\n background-color: color.$black,\n outline: $outline-width-default solid color.$black,\n ),\n active: (\n background-color: transparent,\n outline: $outline-width-default solid color.$black,\n ),\n);\n\n$dot-inverse: (\n default: (\n background-color: color.$white,\n ),\n focus: (\n background-color: color.$white,\n outline-offset: $outline-offset-focus,\n outline-width: $outline-width-focus !important,\n outline-color: color.$white !important,\n ),\n hover: (\n background-color: color.$white,\n outline: $outline-width-default solid color.$white,\n ),\n active: (\n background-color: transparent,\n outline: $outline-width-default solid color.$white,\n ),\n);\n\n$breakout-buttons-breakpoints: (\n (864px, 991px),\n (1088px, 1239px),\n (1340px, 1379px),\n (1460px)\n);\n\n$viewport-horizontal-spacing: (\n 'default': space.get('medium'),\n);\n\n$animated-dot-radius: 5;\n$pi: math.div(math.round(math.$pi * 10000), 10000);\n$animated-dot-circumference: 2 * $pi * $animated-dot-radius;\n\n@keyframes countdown {\n from {\n // stroke-dashoffset can't be negative number due to Safari issues.\n stroke-dashoffset: $animated-dot-circumference;\n }\n to {\n stroke-dashoffset: 0;\n }\n}\n","@use './mixins';\n\n.carousel-promotions {\n @include mixins.base;\n\n &__viewport-wrapper {\n @include mixins.viewport-wrapper;\n }\n\n &__viewport {\n @include mixins.viewport;\n }\n\n &__track {\n @include mixins.track;\n }\n\n &__slide {\n @include mixins.slide-base;\n }\n\n .bg-black &__slide {\n @include mixins.slide-base-inverse;\n }\n\n &__image {\n @include mixins.slide-image;\n }\n\n &__title {\n @include mixins.slide-title;\n }\n\n &__content {\n @include mixins.slide-content;\n }\n\n &__pagination {\n @include mixins.pagination;\n }\n\n &__pagination-item {\n @include mixins.pagination-item;\n }\n\n &__pagination-svg {\n @include mixins.pagination-svg;\n }\n\n &__pagination-circle {\n @include mixins.pagination-circle;\n }\n\n .bg-black &__pagination-item {\n @include mixins.pagination-item-inverse;\n }\n}\n","@use 'sass:map' as sass-map;\n@use 'sass:math';\n@use '../../../styles/tokens/base';\n@use '../../../styles/tokens/color';\n@use '../../../styles/tokens/space';\n@use '../../../styles/tools/convert';\n@use '../../../styles/tools/generate';\n@use '../../../styles/tools/map';\n@use '../../../styles/tokens/breakpoint';\n@use '../../Button/styles/config' as button-config;\n@use '../../Button/styles/mixins' as button-mixins;\n@use '../../Grid/styles/mixins' as grid-mixins;\n@use '../../Typography/styles/config' as typography-config;\n@use './config';\n\n/* stylelint-disable value-no-vendor-prefix, property-no-vendor-prefix */\n\n@mixin base {\n margin: 0 auto;\n position: relative;\n margin-bottom: config.$space;\n}\n\n@mixin viewport-wrapper {\n // wraps viewport and arrows to center them vertically\n position: relative;\n}\n\n@mixin viewport {\n margin: 0 auto;\n position: relative;\n overflow-y: hidden;\n -webkit-overflow-scrolling: touch;\n -ms-overflow-style: none;\n transform: translateZ(0);\n scrollbar-width: none; // hides scrollbar on FF\n\n @include breakpoint.get('sm', 'down') {\n padding-bottom: math.div(config.$space, 2);\n }\n\n @include breakpoint.get('md') {\n margin-bottom: config.$space;\n }\n\n &::-webkit-scrollbar {\n opacity: 0;\n height: 0;\n\n @include breakpoint.get('sm', 'down') {\n opacity: 1;\n height: space.get('small');\n -webkit-appearance: none;\n background-color: color.$gray-400;\n border-radius: 99px;\n }\n }\n\n &::-webkit-scrollbar-thumb {\n @include breakpoint.get('sm', 'down') {\n opacity: 1;\n border-radius: 99px;\n background-color: color.$gray-800;\n }\n }\n\n &.is-draggable {\n user-select: none;\n cursor: -webkit-grab;\n cursor: grab;\n }\n\n &.is-dragging {\n cursor: -webkit-grabbing;\n cursor: grabbing;\n }\n}\n\n@mixin track {\n transform: translateZ(0);\n width: 100%;\n margin: 0;\n padding: 0;\n display: flex;\n z-index: 1;\n}\n\n@function get-breakout-media-query($min, $max) {\n @return if(\n $max,\n '(min-width: #{$min}) and (max-width: #{$max})',\n '(min-width: #{$min})'\n );\n}\n\n@mixin slide-base {\n display: flex;\n gap: space.get('small');\n max-width: 100%;\n flex: 0 0 auto;\n padding: space.get('small');\n user-select: none;\n background-color: color.$white;\n\n &--black {\n background-color: color.$black;\n color: color.$white !important;\n }\n\n > *:last-child {\n margin-bottom: 0;\n }\n\n @include breakpoint.get('md') {\n padding: space.get('medium') convert.to-rem(50px) space.get('medium')\n space.get('medium');\n flex-direction: row-reverse;\n justify-content: space-between;\n }\n\n @include breakpoint.get('lg') {\n padding-right: convert.to-rem(100px);\n }\n\n &:is(a) {\n cursor: pointer;\n &,\n &:visited,\n &:hover,\n &:active {\n color: inherit;\n }\n }\n}\n\n@mixin slide-base-inverse {\n color: color.$black !important;\n\n &--black {\n background-color: color.$black;\n color: color.$white !important;\n }\n}\n\n@mixin slide-image {\n width: convert.to-rem(100px);\n height: convert.to-rem(100px);\n display: flex;\n flex-shrink: 0;\n\n picture,\n img {\n margin-bottom: 0;\n }\n\n img {\n user-select: none;\n pointer-events: none;\n width: 100%;\n height: 100%;\n }\n\n @include breakpoint.get('md') {\n width: convert.to-rem(176px);\n height: convert.to-rem(176px);\n flex-grow: 1;\n border-radius: 0;\n background-color: unset;\n justify-content: end;\n position: relative;\n\n img,\n picture {\n width: 100%;\n max-width: convert.to-rem(176px);\n object-fit: cover;\n }\n }\n\n @include breakpoint.get('lg') {\n width: convert.to-rem(200px);\n height: convert.to-rem(200px);\n\n img,\n picture {\n max-width: convert.to-rem(200px);\n }\n }\n}\n\n@mixin slide-title {\n margin-bottom: 0;\n @each $property,\n $value in map.map-deep-get(typography-config.$headings, 5, 'default')\n {\n #{$property}: $value;\n }\n @include breakpoint.get('md') {\n @each $property,\n $value in map.map-deep-get(typography-config.$headings, 3, md)\n {\n #{$property}: $value;\n }\n }\n @include breakpoint.get('lg') {\n @each $property,\n $value in map.map-deep-get(typography-config.$headings, 1, md)\n {\n #{$property}: $value;\n }\n }\n}\n\n@mixin slide-content {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n\n > *:last-child {\n margin-bottom: 0;\n }\n\n @include breakpoint.get('md') {\n height: 100%;\n max-width: convert.to-rem(545px);\n justify-content: space-between;\n }\n}\n\n@mixin pagination {\n user-select: none;\n display: flex;\n flex-wrap: wrap;\n justify-content: center;\n margin: 0 auto;\n padding: 0;\n}\n\n@mixin pagination-item {\n background: none;\n border: 0;\n padding: 0;\n user-select: none;\n display: block;\n cursor: pointer;\n border-radius: 100%;\n\n @include generate.css-map(config.$dot-layout);\n\n @include generate.css-map(sass-map.get(config.$dot, 'default'));\n\n &:hover {\n @include generate.css-map(sass-map.get(config.$dot, 'hover'));\n }\n\n &.is-active:not(:hover) {\n @include generate.css-map(sass-map.get(config.$dot, 'active'));\n }\n\n .is-autoplay &.is-active:not(:focus) {\n outline: none;\n }\n\n &:active {\n @include generate.css-map(sass-map.get(config.$dot, 'default'));\n }\n\n &:focus:not(:active) {\n @include generate.css-map(sass-map.get(config.$dot, 'focus'));\n }\n}\n\n@mixin pagination-item-inverse {\n @include generate.css-map(sass-map.get(config.$dot-inverse, 'default'));\n\n &:hover {\n @include generate.css-map(sass-map.get(config.$dot-inverse, 'hover'));\n }\n\n &.is-active:not(:hover) {\n @include generate.css-map(sass-map.get(config.$dot-inverse, 'active'));\n }\n\n .is-autoplay &.is-active:not(:focus) {\n outline: none;\n }\n\n &:active {\n @include generate.css-map(sass-map.get(config.$dot-inverse, 'default'));\n }\n\n &:focus:not(:active) {\n @include generate.css-map(sass-map.get(config.$dot-inverse, 'focus'));\n }\n}\n\n@mixin pagination-svg() {\n position: relative;\n display: none;\n left: -#{config.$outline-width-default};\n top: -#{config.$outline-width-default};\n // This transform is a workaround due to Safari not supporting negative values for stroke-dashoffset.\n // We're rotating the SVG so that the line starts to animate from the top (12o'clock).\n // The vertical flip is to make the line animate clockwise.\n transform: rotate(-90deg) scale(1, -1);\n\n .is-autoplay .is-active > & {\n display: block;\n }\n}\n\n@mixin pagination-circle() {\n stroke-width: config.$outline-width-default;\n stroke: color.$black;\n stroke-dasharray: config.$animated-dot-circumference;\n stroke-dashoffset: config.$animated-dot-circumference;\n animation-name: countdown;\n animation-iteration-count: 1;\n animation-timing-function: linear;\n animation-direction: reverse;\n}\n","@use \"sass:list\";\n@use \"sass:meta\";\n@use 'sass:map' as sassmap;\n@use '../tools/map';\n\n$map: (\n xs: 0,\n sm: 480px,\n md: 768px,\n lg: 992px,\n xl: 1240px,\n xxl: 1380px,\n);\n\n@mixin get( $breakpoint, $param: false) {\n @if (not sassmap.has-key($map, $breakpoint) and $breakpoint != 'default') {\n @warn 'Breakpoint \"#{$breakpoint}\" is not defined.';\n\n @debug 'Available breakpoints:'; // stylelint-disable-line at-rule-disallowed-list\n @debug $map; // stylelint-disable-line at-rule-disallowed-list\n }\n\n @if (\n ($breakpoint == list.nth(sassmap.keys($map), 1) and not $param) or\n ( not $breakpoint ) or\n ( $breakpoint == 'default' )\n ) {\n @content;\n } @else if not $param {\n // no param, just a standard mobile first media query\n @if sassmap.has-key( $map, $breakpoint ) {\n // breakpoint is in breakpoint map, let's use stored value\n @media screen and (min-width: sassmap.get($map, $breakpoint)) { @content; };\n } @else {\n // breakpoint is not in breakpoint map, let's use custom value\n @media screen and (min-width: $breakpoint) { @content; };\n }\n } @else if (\n $param == 'down' and\n map.next($map, $breakpoint)\n ) {\n @media screen and (max-width: map.next($map, $breakpoint) - 0.02px) {\n @content;\n }\n } @else if (\n $param == 'down' and\n not sassmap.has-key($map, $breakpoint)\n ) {\n @media screen and (max-width: $breakpoint) { @content; };\n } @else if (\n $param == 'only' and\n map.next($map, $breakpoint)\n ) {\n @media screen and\n (min-width: sassmap.get($map, $breakpoint)) and\n (max-width: map.next($map, $breakpoint) - 0.02px) { @content; };\n } @else if (\n sassmap.has-key( $map, $param) and\n sassmap.has-key( $map, $breakpoint)\n ) {\n @media screen and\n (min-width: sassmap.get($map, $breakpoint)) and\n (max-width: sassmap.get($map, $param) - 0.02px) { @content; };\n } @else if (\n $param == 'downfrom' and\n sassmap.get($map, $breakpoint) > 0 and\n $breakpoint != 'xs'\n ) {\n @media screen and (max-width: sassmap.get($map, $breakpoint) - 0.02px) {\n @content;\n } // -1\n } @else if (meta.type-of($param) == 'number') {\n @if sassmap.has-key($map, $breakpoint) {\n // breakpoint is in breakpoint map\n @media screen and\n (min-width: sassmap.get($map, $breakpoint)) and\n (max-width: $param) { @content; };\n } @else {\n // breakpoint is not in breakpoint map, let's use custom value\n @media screen and (min-width: $breakpoint) and (max-width: $param) { @content; }\n }\n } @else if (\n not ($breakpoint == list.nth(sassmap.keys($map), -1) and $param == 'down') and\n not ($breakpoint == list.nth(sassmap.keys($map), -1) and $param == 'only') and\n not ($breakpoint == list.nth(sassmap.keys($map), 1) and $param == 'downfrom')\n ) {\n // do nothing on known edge cases. we just dont generate any code.\n @warn 'Breakpoint is not configured properly #{$breakpoint}, #{$param}';\n }\n}\n\n@mixin each() {\n @each $breakpoint, $size in $map {\n @include get($breakpoint) {\n @content($breakpoint);\n }\n }\n}\n","// core (brand)\n$orange: #ff7900;\n$orange-dark: #f16e00;\n$black: #000;\n$white: #fff;\n\n// supporting color\n$blue: #4bb4e6;\n$green: #50be87;\n$pink: #ffb4e6;\n$violet: #a885d8;\n$yellow: #ffd200;\n$yellow-lighter: #fff6b6;\n$red: #ff4d4d;\n\n// functional\n$gray-300: #eee;\n$gray-400: #ddd;\n$gray-500: #ccc;\n$gray-600: #999;\n$gray-700: #666;\n$gray-800: #595959;\n$gray-900: #333;\n$success: #32c832;\n$danger: #cd3c14;\n$info: #527edb;\n$warning: #fc0;\n","@use '../tokens/breakpoint';\n@use './map' as *;\n\n/// Get css propeties from map\n///\n/// @param {Map} $map - Map\n/// @param {Arglist} $keys - Keys to fetch\n///\n/// @example\n/// $map: (\n/// background-color: #fff,\n/// color: #000\n/// );\n///\n/// .example {\n/// @include css-map($map);\n/// }\n///\n/// Output:\n/// .example {\n/// background-color: #fff;\n/// color: #000;\n/// }\n@mixin css-map($_map, $keys...) {\n $map: if($keys, map-deep-get($_map, $keys...), $_map);\n\n @each $prop, $value in $map {\n #{$prop}: #{$value};\n }\n}\n\n/// Get responsive css propeties from map\n///\n/// @param {Map} $map - Map\n/// @param {Arglist} $keys - Keys to fetch\n///\n/// @example\n/// $map: (\n/// default: (\n/// color: red,\n/// ),\n/// xl: (\n/// color: blue,\n/// ),\n/// );\n///\n/// .example {\n/// @include responsive-css-map($map);\n/// }\n///\n/// Output:\n/// .example {\n/// color: red;\n/// @media only screen and (min-width: 1240px) {\n/// color: blue;\n/// }\n/// }\n@mixin responsive-css-map($map) {\n @each $breakpoint, $props in $map {\n @include breakpoint.get($breakpoint) {\n @include css-map($props);\n }\n }\n}\n\n/// Get variants of elemnt from map\n///\n/// @param {Map} $map - map\n/// @param {Map} $className - class name of element\n/// @param {Map} $classSuffix - suffix for class name of element\n@mixin variants($map, $className: '', $classSuffix: '') {\n @each $variant, $props in $map {\n #{if(&, \"&\", \"\")}#{$className + variant-name($variant) + $classSuffix} {\n @include css-map($props);\n }\n }\n}\n\n/// Get responsive variants of elemnt from map\n///\n/// @param {Map} $map - map\n/// @param {Map} $className - class name of element\n/// @param {Map} $classSuffix - suffix for class name of element\n@mixin responsive-variants($map, $className: '', $classSuffix: '') {\n @each $breakpoint, $props in $map {\n @include breakpoint.get($breakpoint) {\n @include variants($props, $className, $classSuffix);\n }\n }\n}\n\n/// Get prefixed variant name\n/// @param {String} $name - Variant name\n/// @return {String} - Return a prefixed variant name or empty string, for default variants\n/// @example scss\n/// variant-name('primary')\n/// // -primary\n/// variant-name('default')\n///\n@function variant-name($name, $prefix: '--', $suffix: '') {\n @if not $name or $name == default or $name == xs {\n @return '';\n }\n\n @return #{$prefix + $name + $suffix};\n}\n"]}