{"version":3,"file":"ws-slick.min.js?v=79d1123ecd6afd631ef8","mappings":"wGACA,IAAIA,EAAIC,EAAQ,OAChBA,EAAQ,OAGR,IAAIC,EAAaF,EAAE,SAASG,QACxBC,EAAiBC,OAAOC,eAAeJ,EAAW,GAAGC,OACrDI,EAAmBH,EAAeI,SAClCC,EAAkBL,EAAeM,QACrCR,EAAWS,SAEXP,EAAeI,SAAW,WAGFD,EAAiBK,KAF7BC,KAGRC,GAEAD,KAAKE,MAAMC,WAAW,YAC1B,EAEAZ,EAAeM,QAAU,WAGFD,EAAgBG,KAF3BC,KAGRI,GAGIJ,KAAKK,QAELL,KAAKK,MAAMC,SAAS,MAAMH,WAAW,iBACrCH,KAAKK,MAAMC,SAAS,MAAMH,WAAW,iBACrCH,KAAKK,MAAMC,SAAS,MAAMH,WAAW,eAGrCH,KAAKK,MAAMC,SAAS,MAAMA,SAAS,UAAUH,WAAW,QAExDH,KAAKK,MAAMC,WAAWA,WAAWC,KAAK,OAAQ,SAK9CP,KAAKQ,QAAQC,SAAS,yCACtBT,KAAKQ,QAAQC,SAAS,kCACtBT,KAAKQ,QAAQC,SAAS,oCACtBT,KAAKQ,QAAQC,SAAS,mCAEtBT,KAAKQ,QAAQE,KAAK,sBAAsBP,WAAW,oBAKvDH,KAAKW,QAAQC,MAAK,SAAUC,EAAOC,GAC/B3B,EAAE2B,GAAOP,KAAK,YAAa,EAC/B,IAKIP,KAAKQ,QAAQC,SAAS,kCACYT,KAAKQ,QAAQE,KAAK,iDAEpBK,SAC5Bf,KAAKW,QAAQC,MAAK,SAAUC,EAAOG,GAC/B,IAAIC,EAAa9B,EAAE6B,GACHC,EAAWX,WAAWA,WAE5BC,KAAK,CACX,gBAAkBU,EAAWR,SAAS,gBAAkB,GAAK,EAC7D,UAAa,GAErB,IAEIT,KAAKkB,QAAQC,QACbnB,KAAKoB,WAAWC,IAAIrB,KAAKsB,YAAYV,MAAK,SAAUC,EAAOG,GACvDA,EAAQO,aAAa,gBAAiB,GACtCP,EAAQO,aAAa,YAAa,EACtC,IAIhB,C","sources":["webpack://ui-toolkit/./sass/blocks/ws-slick.js"],"sourcesContent":["// The purpose of this file is to modify the behavior of the Slick plugin throughout our site. Customizations should be made below, then all other scripts should require() this file instead of slick.min directly.\r\nvar $ = require(\"jquery\");\r\nrequire(\"slick-slider\");\r\n\r\n// The Slick object is not directly accessible, so create a temporary object in order to get access to the prototype. There might be a more elegant way to do this, maybe with webpack.\r\nvar $tempSlick = $(\"
\").slick();\r\nvar slickPrototype = Object.getPrototypeOf($tempSlick[0].slick);\r\nvar originalBuildOut = slickPrototype.buildOut;\r\nvar originalInitAda = slickPrototype.initADA;\r\n$tempSlick.remove();\r\n\r\nslickPrototype.buildOut = function () {\r\n var _ = this;\r\n\r\n var boundBuildOut = originalBuildOut.bind(_);\r\n boundBuildOut();\r\n\r\n this.$list.removeAttr(\"aria-live\");\r\n}\r\n\r\nslickPrototype.initADA = function () {\r\n var _ = this;\r\n\r\n var boundInitAda = originalInitAda.bind(_);\r\n boundInitAda();\r\n\r\n // custom code to address ADA concerns here\r\n if (this.$dots) {\r\n // Navigation Dots\r\n this.$dots.children(\"li\").removeAttr(\"aria-selected\");\r\n this.$dots.children(\"li\").removeAttr(\"aria-controls\");\r\n this.$dots.children(\"li\").removeAttr(\"aria-hidden\");\r\n\r\n // Navigation Dots button\r\n this.$dots.children(\"li\").children(\"button\").removeAttr(\"role\");\r\n\r\n this.$dots.children().children().attr(\"role\", \"tab\");\r\n }\r\n \r\n // Remove invalid attributes from Category, Film Strip, and Hero Image carousels\r\n if (\r\n this.$slider.hasClass(\"ws-carousel--theme_category-carousel\") ||\r\n this.$slider.hasClass(\"ws-carousel--theme_film-strip\") ||\r\n this.$slider.hasClass(\"ws-carousel--theme_testimonials\") ||\r\n this.$slider.hasClass(\"ws-carousel--theme_hero-image\")\r\n ) {\r\n this.$slider.find(\".ws-carousel__item\").removeAttr(\"aria-describedby\");\r\n }\r\n\r\n // This allows for better keyboard navigation of carousels via their content / nav elements\r\n // instead of focusing onto slides, which themselves are not interactive\r\n this.$slides.each(function (index, slide) {\r\n $(slide).attr(\"tabindex\", -1);\r\n });\r\n\r\n // On dialog open, external tabbable elements are disabled to simplify keyboard navigation (ADA).\r\n // Lazyloaded Film Strips revert this behavior during its default ADA initialization.\r\n // Detect disabled elements and re-disable them to restore desired functionality.\r\n if (this.$slider.hasClass(\"ws-carousel--theme_film-strip\")) {\r\n let $dialogHiddenFilmStripLinks = this.$slider.find(\".ws-film-strip-card__card-link[data-tabindex]\");\r\n\r\n if ($dialogHiddenFilmStripLinks.length) {\r\n this.$slides.each(function (index, element) {\r\n let $slideItem = $(element);\r\n let $cardLink = $slideItem.children().children();\r\n\r\n $cardLink.attr({\r\n \"data-tabindex\": ($slideItem.hasClass(\"slick-active\") ? 0 : -1),\r\n \"tabindex\": -1\r\n });\r\n });\r\n\r\n if (this.options.arrows) {\r\n this.$nextArrow.add(this.$prevArrow).each(function (index, element) {\r\n element.setAttribute(\"data-tabindex\", 0);\r\n element.setAttribute(\"tabindex\", -1);\r\n });\r\n }\r\n }\r\n }\r\n};"],"names":["$","require","$tempSlick","slick","slickPrototype","Object","getPrototypeOf","originalBuildOut","buildOut","originalInitAda","initADA","remove","bind","this","boundBuildOut","$list","removeAttr","boundInitAda","$dots","children","attr","$slider","hasClass","find","$slides","each","index","slide","length","element","$slideItem","options","arrows","$nextArrow","add","$prevArrow","setAttribute"],"sourceRoot":""}