{"version":3,"sources":["node_modules/browser-pack/_prelude.js","frontend/assets/js/endocrine.js","frontend/assets/js/endocrine/Account.js","frontend/assets/js/endocrine/BackToTop.js","frontend/assets/js/endocrine/Citations.js","frontend/assets/js/endocrine/DatePicker.js","frontend/assets/js/endocrine/DynamicBanner.js","frontend/assets/js/endocrine/GDPRBanner.js","frontend/assets/js/endocrine/HeaderSubscribe.js","frontend/assets/js/endocrine/ImageSlider.js","frontend/assets/js/endocrine/RelatedTaxonomyHeights.js","frontend/assets/js/endocrine/Store.js","frontend/assets/js/endocrine/ValidateForm.js","frontend/assets/js/endocrine/ViewAllExpand.js","frontend/assets/js/endocrine/ViewLarger.js","frontend/assets/js/endocrine/ViewMore.js","frontend/assets/js/endocrine/WrapAZ.js","frontend/assets/js/endocrine/accordion.js","frontend/assets/js/endocrine/breakpoint.js","frontend/assets/js/endocrine/common/components/CollapsePane.jsx","frontend/assets/js/endocrine/common/components/Flyout.jsx","frontend/assets/js/endocrine/custom-vendor/jquery.matchHeight-min.js","frontend/assets/js/endocrine/custom-vendor/slick-carousel/slick/slick.js","frontend/assets/js/endocrine/eventCalendar.js","frontend/assets/js/endocrine/navigation/Hamburger.js","frontend/assets/js/endocrine/navigation/MagicNav.js","frontend/assets/js/endocrine/navigation/PrimaryNav.js","frontend/assets/js/endocrine/navigation/SecondaryNav.js","frontend/assets/js/endocrine/navigation/SimpleNavTrigger.js","frontend/assets/js/endocrine/richText.js","frontend/assets/js/endocrine/search/components/FacetGroup.jsx","frontend/assets/js/endocrine/search/components/FacetList.jsx","frontend/assets/js/endocrine/search/components/FilterSelect/FilterSelectBar.jsx","frontend/assets/js/endocrine/search/components/FilterSelect/MultiSelectList.jsx","frontend/assets/js/endocrine/search/components/JumpLinks.jsx","frontend/assets/js/endocrine/search/components/LoadMore.jsx","frontend/assets/js/endocrine/search/components/LoadingSpinner.jsx","frontend/assets/js/endocrine/search/components/Pagination.jsx","frontend/assets/js/endocrine/search/components/ResultItem.jsx","frontend/assets/js/endocrine/search/components/SearchBox.jsx","frontend/assets/js/endocrine/search/components/SearchResultList.jsx","frontend/assets/js/endocrine/search/components/SearchStatus.jsx","frontend/assets/js/endocrine/search/components/SimpleResultList.jsx","frontend/assets/js/endocrine/search/components/SortBar.jsx","frontend/assets/js/endocrine/search/containers/FacetsContainer.jsx","frontend/assets/js/endocrine/search/containers/FilterBarContainer.jsx","frontend/assets/js/endocrine/search/containers/JumpLinksContainer.jsx","frontend/assets/js/endocrine/search/containers/QueryContainer.jsx","frontend/assets/js/endocrine/search/containers/SearchResultsContainer.jsx","frontend/assets/js/endocrine/search/containers/SimpleResultsContainer.jsx","frontend/assets/js/endocrine/search/dataShapes.js","frontend/assets/js/endocrine/search/factory.js","frontend/assets/js/endocrine/search/filterSlider.js","frontend/assets/js/endocrine/search/index.js","frontend/assets/js/endocrine/search/paging.js","frontend/assets/js/endocrine/search/redux/configureStore.js","frontend/assets/js/endocrine/search/redux/createRoutingMiddleware.js","frontend/assets/js/endocrine/search/redux/facets.js","frontend/assets/js/endocrine/search/redux/initialState.js","frontend/assets/js/endocrine/search/redux/resultsDisplay.js","frontend/assets/js/endocrine/search/redux/rootReducer.js","frontend/assets/js/endocrine/search/redux/routing.js","frontend/assets/js/endocrine/search/redux/search/search.actions.js","frontend/assets/js/endocrine/search/redux/search/search.reducer.js","frontend/assets/js/endocrine/search/redux/service.js","frontend/assets/js/endocrine/search/util.js","frontend/assets/js/endocrine/thumbnailGallery.js","frontend/assets/js/polyfill/closest.js","frontend/assets/js/polyfill/es6-polyfill.js","frontend/assets/js/polyfill/index.js","frontend/assets/js/polyfill/object-fit.js","frontend/assets/js/polyfill/popstate-event.js"],"names":[],"mappings":"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","file":"endocrine-generated.js","sourcesContent":["(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c=\"function\"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error(\"Cannot find module '\"+i+\"'\");throw a.code=\"MODULE_NOT_FOUND\",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u=\"function\"==typeof require&&require,i=0;i {\r\n return new ViewMore($(el));\r\n });\r\n}\r\n\r\n// Account\r\nif ($(\".js-account\").length) {\r\n const account = $.makeArray($(\".js-account\")).map(el => {\r\n return new Account($(el));\r\n });\r\n}\r\n\r\n//Store\r\nif ($(\".member-login__icon.js-account\").length) {\r\n const store = $.makeArray($(\".member-login__icon.js-account\")).map(el => {\r\n return new Store();\r\n });\r\n}\r\n\r\nif ($(\".js-overview-block\").length) {\r\n const store = $.makeArray($(\".js-overview-block\")).map(el => {\r\n return new Store($(el));\r\n });\r\n}\r\n\r\n// header subscribe\r\nif ($(\".js-newsletter-signup\").length) {\r\n const headerSubscribe = $.makeArray($(\".js-newsletter-signup\")).map(el => {\r\n return new HeaderSubscribe($(el));\r\n });\r\n}\r\n\r\n// GDPR Banner\r\n$(\".end-gdpr-banner\").each((i, el) => {\r\n GDPRBanner(el);\r\n});\r\n\r\n$(document).ready(function() {\r\n // Hero Menu Carousel\r\n new ImageSlider($(\".end-hero-menu__list\"), {\r\n // dots: false,\r\n speed: 300,\r\n slidesToShow: 7,\r\n slidesToScroll: 7,\r\n infinite: false /* Infinite isn't WCAG compliant, turn off */,\r\n responsive: [\r\n {\r\n breakpoint: 1400,\r\n settings: {\r\n slidesToShow: 7,\r\n slidesToScroll: 7\r\n }\r\n },\r\n {\r\n breakpoint: 1200,\r\n settings: {\r\n slidesToShow: 6,\r\n slidesToScroll: 6\r\n }\r\n },\r\n {\r\n breakpoint: 1100,\r\n settings: {\r\n slidesToShow: 5,\r\n slidesToScroll: 5\r\n }\r\n },\r\n {\r\n breakpoint: 1000,\r\n settings: {\r\n slidesToShow: 4,\r\n slidesToScroll: 4\r\n }\r\n },\r\n {\r\n breakpoint: 800,\r\n settings: {\r\n slidesToShow: 3,\r\n slidesToScroll: 3\r\n }\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1\r\n }\r\n }\r\n // NOTE: images stop displaying upon shrinking viewport sizes\r\n // {\r\n // breakpoint: 910,\r\n // settings: {\r\n // slidesToShow: 5,\r\n // slidesToScroll: 5,\r\n // speed: 300\r\n // }\r\n // }\r\n ]\r\n });\r\n});\r\n\r\nRichText();\r\nThumbnailGallery();\r\n\r\n// PrimaryNav\r\nconst $primaryNavEl = $(\".js-primary-nav\");\r\nif ($primaryNavEl.length) {\r\n let primaryNav = new PrimaryNav($primaryNavEl);\r\n}\r\n\r\n// Hamburger\r\nconst $hamburger = $(\".js-hamburger\");\r\nif ($hamburger.length) {\r\n let hamburger = new Hamburger($hamburger, false, true);\r\n}\r\n\r\n// SimpleNavTrigger\r\nconst $simplenav = $(\".js-simple-nav\");\r\nif ($simplenav.length) {\r\n const simplenav = $.makeArray($(\".js-simple-nav\")).map(el => {\r\n return new SimpleNavTrigger($(el));\r\n });\r\n}\r\n\r\n// Global Nav\r\nconst $globalnav = $(\".js-magic-nav\");\r\nif ($globalnav.length) {\r\n const globalnav = $.makeArray($globalnav).map(el => {\r\n return new MagicNav($(el));\r\n });\r\n}\r\n\r\n// Expandable Listings\r\nconst viewAllables = $.makeArray($(\".js-view-all-expand\")).map(el => {\r\n return new ViewAllExpand($(el));\r\n});\r\n\r\n// Slideshows\r\n// do not intialize slideshows inside\r\n// page editor\r\nif (!$(\"body\").hasClass(\"is-page-editor\")) {\r\n $(\".js-slider\").each((i, el) => {\r\n return new ImageSlider($(el), {});\r\n });\r\n $(\".js-slider-fixed\").each((i, el) => {\r\n return new ImageSlider($(el), { adaptiveHeight: false });\r\n });\r\n}\r\n\r\n// Secondary Nav\r\nif ($(\".js-secondary-nav\").length) {\r\n const secondaryNav = new SecondaryNav($(\".js-secondary-nav\"));\r\n}\r\n\r\n// Dynamic Banners (Hero and Page Banner)\r\nconst $banners = $(\".js-dynamic-banner\");\r\nif ($banners.length) {\r\n const dynamicBanners = $.makeArray($banners).map(el => {\r\n return new DynamicBanner($(el));\r\n });\r\n}\r\n\r\n// Search Apps\r\n// only init if results are included\r\nif ($(\".js-search-results\").length) {\r\n const searchId = $(\".js-search-results\").data(\"searchId\");\r\n const searchApp = createApp(defaultFacetedSearchFactory(searchId));\r\n searchApp();\r\n}\r\n\r\nif ($(\".js-dynamic-results\").length) {\r\n const searchId = $(\".js-dynamic-results\").data(\"searchId\");\r\n const dynamicContentApp = createApp(defaultDynamicContentFactory(searchId));\r\n dynamicContentApp();\r\n}\r\n\r\n// citations\r\nif ($(\".js-citations\").length) {\r\n const citations = $.makeArray($(\".js-citations\")).map(el => {\r\n return new Citations($(el));\r\n });\r\n}\r\n\r\n// related taxonomy heights\r\nif ($(\".related-taxonomy\").length) {\r\n const relatedTaxonomyHeights = $.makeArray($(\".related-taxonomy\")).map(\r\n el => {\r\n return new RelatedTaxonomyHeights($(el));\r\n }\r\n );\r\n}\r\n\r\n// back to top button\r\nif ($(\".js-back-to-top\").length) {\r\n const backToTop = $.makeArray($(\".js-back-to-top\")).map(el => {\r\n return new BackToTop($(el));\r\n });\r\n}\r\n\r\n// view images/infographics larger in a modal\r\nif ($(\".js-image-block-zoomed\").length) {\r\n const viewLarger = $.makeArray($(\".js-image-block-zoomed\")).map(el => {\r\n return new ViewLarger($(el));\r\n });\r\n}\r\n\r\n// view more text\r\nif ($(\".js-more-text\").length) {\r\n const viewMore = $.makeArray($(\".js-more-text\")).map(el => {\r\n return new ViewMore($(el));\r\n });\r\n}\r\n\r\n\r\nif (!$(\"body\").hasClass(\"is-page-editor\")) {\r\n // Wrap all instances of 'A-Z' in a span so they dont break to new lines\r\n const wrapAZ = $.makeArray($(\"a:contains('A-Z')\")).map(el => {\r\n return new WrapAZ($(el));\r\n });\r\n}\r\n\r\n// back to top button\r\nif ($(\".js-validate-form\").length) {\r\n const form = $.makeArray($(\".js-validate-form\")).map(el => {\r\n return new ValidateForm($(el));\r\n });\r\n}\r\n\r\n// Fixing issue with embedded components where copy/paste doesn't work in EE mode.\r\nif ($(\"body\").hasClass(\"is-page-editor\")) {\r\n $(\r\n \"span[contenteditable=true] span[contenteditable=false] span[contenteditable=true]\"\r\n ).on(\"paste\", function(e) {\r\n e.preventDefault();\r\n var text = e.originalEvent.clipboardData.getData(\"text\");\r\n console.log(text);\r\n document.execCommand(\"inserttext\", false, text);\r\n });\r\n}\r\n\r\n$(document).ready(function () { });\r\n","import $ from 'jquery';\r\n\r\nexport class Account {\r\n constructor($el) {\r\n this.$el = $el;\r\n this.$button = this.$el.find('#cart-item-count');\r\n //todo\r\n var name = \"cartCount\";\r\n if (document.cookie.length > 0) {\r\n var cStart = document.cookie.indexOf(name + \"=\");\r\n if (cStart != -1) {\r\n cStart = cStart + name.length + 1;\r\n var cEnd = document.cookie.indexOf(\";\", cStart);\r\n if (cEnd == -1) {\r\n cEnd = document.cookie.length;\r\n }\r\n var count = unescape(document.cookie.substring(cStart, cEnd));\r\n this.$button.html(count);\r\n }\r\n }\r\n\r\n }\r\n};\r\n","import $ from 'jquery';\r\n\r\nexport class BackToTop {\r\n constructor($el) {\r\n this.$el = $el;\r\n this.$htmlbody = $(\"html, body\");\r\n this.bindEvents();\r\n }\r\n\r\n bindEvents() {\r\n // scroll to the top of the page when you click on the button\r\n this.$el.on(\"click\", (event) => this.goToTop(event));\r\n $(window).on('scroll', (event) => this.showButton(event));\r\n }\r\n\r\n goToTop(event) {\r\n this.$htmlbody.animate({ scrollTop: \"0\" });\r\n }\r\n\r\n showButton(event) {\r\n var scrollPosition = $(event.target).scrollTop();\r\n var viewportHeight = $(window).height();\r\n // if you scrolled twice the distance of the height of your viewport ...\r\n // show the button\r\n if (scrollPosition >= viewportHeight) {\r\n $('.js-back-to-top').addClass(\"is-active\");\r\n } else {\r\n $('.js-back-to-top').removeClass(\"is-active\");\r\n }\r\n }\r\n}\r\n","import $ from 'jquery';\r\n\r\nexport class Citations {\r\n constructor($el) {\r\n this.$el = $el;\r\n this.$button = $el.find('.js-citations-trigger');\r\n this.$expandTarget = $el.find('.js-citations-content');\r\n this.bindEvents();\r\n }\r\n\r\n bindEvents() {\r\n this.$button.on('click', (event) => this.expand(event));\r\n }\r\n\r\n expand(event) {\r\n event.preventDefault();\r\n\r\n if (this.$expandTarget.attr('aria-expanded') == \"true\" ) {\r\n this.$expandTarget\r\n .slideUp(200)\r\n .attr('aria-expanded', false);\r\n this.$el\r\n .removeClass(\"is-open\")\r\n .addClass(\"is-closed\")\r\n .removeClass(\"js-citations-trigger--bottom-round\");\r\n // debugger;\r\n } else {\r\n this.$expandTarget\r\n .slideDown(200)\r\n .attr('aria-expanded', true);\r\n this.$el\r\n .removeClass(\"is-closed\")\r\n .addClass(\"is-open\")\r\n .addClass(\"js-citations-trigger--bottom-round\");\r\n }\r\n }\r\n}\r\n","import DatePicker from \"js-datepicker\";\r\n\r\nexport default function() {\r\n const supportsDate = checkDateInput();\r\n\r\n [...document.querySelectorAll(\"input[type=date], .js-date-picker\")].forEach(\r\n el => {\r\n if (supportsDate) {\r\n el.setAttribute(\"type\", \"date\");\r\n } else {\r\n el.setAttribute(\"type\", \"text\");\r\n const picker = initDatePicker(el);\r\n }\r\n }\r\n );\r\n\r\n function initDatePicker(el) {\r\n return DatePicker(el, {\r\n formatter: (input, date, instance) => {\r\n const value = formatDate(date);\r\n input.value = value; // => '01/01/2019'\r\n }\r\n });\r\n }\r\n\r\n function checkDateInput() {\r\n var input = document.createElement(\"input\");\r\n input.setAttribute(\"type\", \"date\");\r\n\r\n var notADateValue = \"not-a-date\";\r\n input.setAttribute(\"value\", notADateValue);\r\n\r\n return input.value !== notADateValue;\r\n }\r\n\r\n function formatDate(date) {\r\n const d = new Date(date);\r\n\r\n let month = \"\" + (d.getMonth() + 1);\r\n let day = \"\" + d.getDate();\r\n let year = d.getFullYear();\r\n\r\n if (month.length < 2) month = \"0\" + month;\r\n if (day.length < 2) day = \"0\" + day;\r\n\r\n return [month, day, year].join(\"/\");\r\n }\r\n}\r\n","import $ from \"jquery\";\r\nimport {objectFitSupport, objectFit} from \"../polyfill/object-fit\";\r\n\r\nexport class DynamicBanner {\r\n constructor($el) {\r\n this.$el = $el;\r\n this.$container = $el.parent();\r\n this.$media = $el.find(\".js-banner-media\");\r\n this.bindEvents();\r\n }\r\n\r\n bindEvents() {\r\n // only apply this if media is video or object-fit is not natively supported\r\n if (!objectFitSupport() || (this.$media.length && this.$media[0].nodeName === \"VIDEO\")) {\r\n this.adjustMedia();\r\n $(window).on(\"resize\", () => this.adjustMedia());\r\n }\r\n }\r\n\r\n adjustMedia() {\r\n\r\n const imgEl = this.$media.get(0);\r\n if (!imgEl || !imgEl.complete || imgEl.naturalWidth === 0) {\r\n return;\r\n }\r\n const height = imgEl.style.height;\r\n const maxHeight = parseInt(this.$el.css(\"max-height\").replace(\"px\", \"\"), 10);\r\n\r\n // The object-fit polyfill will apply absolute positioning to the media element.\r\n // This will remove the media from flow making it's effective height zero.\r\n // In the case that we have a max-height applied, we still to provide an appropriate\r\n // height value for both the media and it's container.\r\n\r\n if (maxHeight || height === \"auto\" || height === \"\") {\r\n const mediaWidth = this.$media.width();\r\n const mediaHeight = this.$media.height();\r\n const containerWidth = this.$container.width();\r\n\r\n // get the aspect ration of the original media\r\n const ratio = mediaHeight / mediaWidth;\r\n\r\n // calculate proportional height based on container size\r\n let newHeight = containerWidth * ratio;\r\n\r\n if (newHeight > maxHeight) {\r\n newHeight = maxHeight;\r\n }\r\n //this.$media.height(newHeight);\r\n this.$media.parent().height(newHeight);\r\n this.$media.height(newHeight);\r\n }\r\n\r\n objectFit(this.$media[0]);\r\n }\r\n}\r\n","import Cookies from \"js-cookie\";\r\n\r\nexport default function createGDPRBanner(el) {\r\n const removeWidget = () => {\r\n document.querySelector(\"body\").classList.remove(\"show-gdpr\");\r\n el.parentNode.removeChild(el);\r\n };\r\n\r\n // show the banner if the user hasn't accepted it yet\r\n if (Cookies.get(\"widgetCookie\" + el.getAttribute(\"id\")) === undefined) {\r\n el.classList.remove(\"is-hidden\");\r\n document.querySelector(\"body\").classList.add(\"show-gdpr\");\r\n } else {\r\n removeWidget();\r\n }\r\n\r\n // accept button handler\r\n el.querySelector(\".js-accept-btn\").addEventListener(\"click\", e => {\r\n e.preventDefault();\r\n const widgetID = el.getAttribute(\"id\");\r\n Cookies.set(\"widgetCookie\" + widgetID, widgetID, { expires: 90 });\r\n removeWidget();\r\n });\r\n\r\n // close button handler\r\n el.querySelector(\".js-close-btn\").addEventListener(\"click\", e => {\r\n e.preventDefault();\r\n removeWidget();\r\n });\r\n}\r\n","import $ from 'jquery';\r\n\r\nexport class HeaderSubscribe {\r\n constructor($el) {\r\n this.$el = $el;\r\n this.$emailAddress = $el.find('.js-newsletter-signup-email');\r\n this.$button = $el.find('.js-newsletter-signup-btn');\r\n this.$newsletterFooter = $('.js-newsletter-subscribe');\r\n this.$emailAddressFooter = $('.js-newsletter-subscribe-email');\r\n this.bindEvents();\r\n }\r\n\r\n bindEvents() {\r\n this.$button.on('click', (event) => this.enterEmail(event));\r\n }\r\n\r\n enterEmail(event) {\r\n event.preventDefault();\r\n let inputEmail = this.$emailAddress.val();\r\n\r\n $('html, body').animate({\r\n scrollTop: (this.$newsletterFooter.offset().top)\r\n }, 500);\r\n\r\n this.$emailAddressFooter.val(inputEmail).focus();\r\n }\r\n}","import $ from 'jquery';\r\nimport \"./custom-vendor/slick-carousel/slick/slick\";\r\n\r\nexport class ImageSlider {\r\n constructor($el, conf) {\r\n this.$el = $el;\r\n let slickConf = Object.assign(this.slickDefaults(), conf);\r\n\r\n // bind event prior to slick init\r\n this.bindEvents();\r\n this.$el.slick(slickConf);\r\n }\r\n\r\n bindEvents() {\r\n // bind an event on the arrows to de-focus them when\r\n // you mouse out, so the focus state doesn't get stuck\r\n this.$el.on('mouseleave', '.slick-next, .slick-prev', event => {\r\n event.currentTarget.blur();\r\n });\r\n }\r\n\r\n slickDefaults() {\r\n return {\r\n dots: true,\r\n infinite: true,\r\n speed: 300,\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n adaptiveHeight: true,\r\n prevArrow: `\r\n `,\r\n nextArrow: `\r\n `,\r\n }\r\n }\r\n}\r\n","import $ from 'jquery';\r\nimport \"./custom-vendor/jquery.matchHeight-min.js\";\r\n\r\nexport class RelatedTaxonomyHeights {\r\n constructor($el) {\r\n this.$el = $el;\r\n this.$header = $el.find('.related-taxonomy__col-header');\r\n this.matchtheheights(event);\r\n }\r\n\r\n matchtheheights(event) {\r\n this.$header.matchHeight();\r\n }\r\n}\r\n","import $ from 'jquery';\r\n\r\nexport class Store {\r\n constructor($el) {\r\n if($el){\r\n this.$el = $el;\r\n this.$button = this.$el.find('#addToCartMain');\r\n this.bindEvents();\r\n }\r\n this.getCartCount()\r\n\r\n }\r\n\r\n bindEvents() {\r\n this.$button.on('click', (event) => this.addToCartClick(event));\r\n }\r\n\r\n\r\n\r\n\r\n addToCartClick(event) {\r\n event.preventDefault();\r\n var self= this;\r\n if ($(self).hasClass(\"disabled\")) {\r\n return;\r\n }\r\n var key = self.$button.attr('data-key');\r\n\r\n if (key.length) {\r\n var count = parseInt($('#cartCount').val());\r\n //to do addToCart(key, count, this, true);\r\n try {\r\n $.ajax({\r\n type: \"GET\",\r\n crossDomain: true,\r\n url: 'https://ams.endocrine.org/' + avectraEnvironment + '/eWeb/OTI/WebServices/ShoppingCart.asmx/AddItem',\r\n contentType: \"application/jsonp; charset=utf-8\",\r\n data: { 'prd_key': key, 'quantity': count },\r\n dataType: \"jsonp\",\r\n success: function (msg) {\r\n if (msg.d > -1) {\r\n console.log(\"get chart count\")\r\n self.getCartCount();\r\n }\r\n }\r\n }).fail(function () {\r\n //todo storeApi.updateCartCount(\"Unavailable\");\r\n });\r\n } catch (e) {\r\n console.print(e);\r\n //todo storeApi.updateCartCount(\"Unavailable\");\r\n }\r\n }\r\n }\r\n\r\n getCartCount() {\r\n try {\r\n var self= this;\r\n $.ajax({\r\n type: \"GET\",\r\n crossDomain: true,\r\n url: 'https://ams.endocrine.org/' + avectraEnvironment + '/eWeb/OTI/WebServices/ShoppingCart.asmx/GetCartCount',\r\n contentType: \"application/jsonp; charset=utf-8\",\r\n data: {},\r\n dataType: \"jsonp\",\r\n success: function (msg) {\r\n if (msg.d > -1) {\r\n self.writeCookie(\"cartCount\", msg.d);\r\n self.updateCartCount(msg.d);\r\n }\r\n }\r\n }).fail(function () {\r\n self.updateCartCount(\"Unavailable\");\r\n });\r\n } catch (e) {\r\n console.print(e);\r\n self.updateCartCount(\"Unavailable\");\r\n }\r\n\r\n }\r\n\r\n writeCookie (name, value) {\r\n var date, expires;\r\n \r\n date = new Date();\r\n date.setMinutes(date.getMinutes() + 30);\r\n expires = \"; expires=\" + date.toGMTString();\r\n \r\n document.cookie = name + \"=\" + value + expires + \"; path=/\";\r\n }\r\n \r\n readCookie (name) {\r\n if (document.cookie.length > 0) {\r\n var cStart = document.cookie.indexOf(name + \"=\");\r\n if (cStart != -1) {\r\n cStart = cStart + name.length + 1;\r\n var cEnd = document.cookie.indexOf(\";\", cStart);\r\n if (cEnd == -1) {\r\n cEnd = document.cookie.length;\r\n }\r\n return unescape(document.cookie.substring(cStart, cEnd));\r\n }\r\n }\r\n return \"\";\r\n }\r\n\r\n updateCartCount (count) {\r\n $('#cart-item-count').html(count);\r\n if (count == 1) {\r\n $('#cart-item-text').html(\"Item\");\r\n } else {\r\n $('#cart-item-text').html(\"Items\");\r\n }\r\n}\r\n\r\n};\r\n\r\n\r\n\r\n\r\n\r\n//var velir = velir || {};\r\n\r\n//velir.writeCookie = function (name, value) {\r\n// var date, expires;\r\n\r\n// date = new Date();\r\n// date.setMinutes(date.getMinutes() + 30);\r\n// expires = \"; expires=\" + date.toGMTString();\r\n\r\n// document.cookie = name + \"=\" + value + expires + \"; path=/\";\r\n//};\r\n\r\n//velir.readCookie = function (name) {\r\n// if (document.cookie.length > 0) {\r\n// var cStart = document.cookie.indexOf(name + \"=\");\r\n// if (cStart != -1) {\r\n// cStart = cStart + name.length + 1;\r\n// var cEnd = document.cookie.indexOf(\";\", cStart);\r\n// if (cEnd == -1) {\r\n// cEnd = document.cookie.length;\r\n// }\r\n// return unescape(document.cookie.substring(cStart, cEnd));\r\n// }\r\n// }\r\n// return \"\";\r\n//};\r\n\r\n//var storeApi = storeApi || {};\r\n//storeApi.addToCart = function (key, count, button, popup) {\r\n// try {\r\n// $.ajax({\r\n// type: \"GET\",\r\n// crossDomain: true,\r\n// url: 'https://ams.endocrine.org/' + avectraEnvironment + '/eWeb/OTI/WebServices/ShoppingCart.asmx/AddItem',\r\n// contentType: \"application/jsonp; charset=utf-8\",\r\n// data: { 'prd_key': key, 'quantity': count },\r\n// dataType: \"jsonp\",\r\n// success: function (msg) {\r\n// if (msg.d > -1) {\r\n// storeApi.getCartCount();\r\n// }\r\n// }\r\n// }).fail(function () {\r\n// storeApi.updateCartCount(\"Unavailable\");\r\n// });\r\n// } catch (e) {\r\n// console.print(e);\r\n// storeApi.updateCartCount(\"Unavailable\");\r\n// }\r\n//}\r\n\r\n//storeApi.getCartCount = function () {\r\n// try {\r\n// $.ajax({\r\n// type: \"GET\",\r\n// crossDomain: true,\r\n// url: 'https://ams.endocrine.org/' + avectraEnvironment + '/eWeb/OTI/WebServices/ShoppingCart.asmx/GetCartCount',\r\n// contentType: \"application/jsonp; charset=utf-8\",\r\n// data: {},\r\n// dataType: \"jsonp\",\r\n// success: function (msg) {\r\n// if (msg.d > -1) {\r\n// velir.writeCookie(\"cartCount\", msg.d);\r\n// storeApi.updateCartCount(msg.d);\r\n// }\r\n// }\r\n// }).fail(function () {\r\n// storeApi.updateCartCount(\"Unavailable\");\r\n// });\r\n// } catch (e) {\r\n// console.print(e);\r\n// storeApi.updateCartCount(\"Unavailable\");\r\n// }\r\n//};\r\n\r\n\r\n//storeApi.updateCartCount = function (count) {\r\n// $('#cart-item-count').html(count);\r\n// if (count == 1) {\r\n// $('#cart-item-text').html(\"Item\");\r\n// } else {\r\n// $('#cart-item-text').html(\"Items\");\r\n// }\r\n//};\r\n\r\n\r\n\r\n\r\n\r\n","import $ from 'jquery';\r\nimport validate from 'jquery-validation'\r\n\r\nexport class ValidateForm {\r\n constructor($el) {\r\n $el.validate({\r\n errorPlacement: function(error, element) {\r\n error.appendTo(element.parent());\r\n }\r\n });\r\n }\r\n}\r\n","import $ from 'jquery';\r\n\r\nexport class ViewAllExpand {\r\n constructor($el) {\r\n this.$el = $el;\r\n this.$button = $el.find('.js-more');\r\n this.$expandTarget = $el.find('.js-expand-target');\r\n \r\n this.bindEvents();\r\n }\r\n\r\n bindEvents() {\r\n this.$el.on('click', '.js-more', (event) => this.expand(event));\r\n }\r\n\r\n expand(event) {\r\n event.preventDefault();\r\n this.$expandTarget\r\n .slideDown(200)\r\n .attr('aria-expanded', true);\r\n this.$button.hide();\r\n }\r\n \r\n}","import $ from 'jquery';\r\n\r\nexport class ViewLarger {\r\n constructor($el) {\r\n this.$el = $el;\r\n this.$wrapper = this.$el.closest('.js-image-block');\r\n this.$button = this.$wrapper.find('.js-image-block-zoom button');\r\n this.$close = this.$el.find('.js-image-block-zoomed-close');\r\n this.$document = $(document);\r\n this.escapeKeyCode = 27;\r\n this.bindEvents();\r\n }\r\n\r\n bindEvents() {\r\n this.$button.on('click', (event) => this.grow(event));\r\n this.$close.on('click', (event) => this.shrink(event));\r\n this.$document.on('keydown', (event) => this.shrinkWithKeyboard(event));\r\n }\r\n\r\n grow(event) {\r\n event.preventDefault();\r\n this.$el\r\n .addClass('is-open')\r\n .attr('aria-expanded', true);\r\n }\r\n\r\n shrink(event) {\r\n event.preventDefault();\r\n this.$el\r\n .removeClass('is-open')\r\n .attr('aria-expanded', false);\r\n }\r\n\r\n shrinkWithKeyboard(event) {\r\n if (event.which === this.escapeKeyCode) {\r\n this.shrink(event);\r\n }\r\n }\r\n}\r\n","import $ from 'jquery';\r\n\r\nexport class ViewMore {\r\n constructor($el) {\r\n this.$el = $el;\r\n // this.$document = $(document);\r\n this.$button = this.$el.find('.js-more-text-btn button');\r\n this.$moreText = this.$el.find('.js-add-text');\r\n\r\n this.bindEvents();\r\n }\r\n\r\n bindEvents() {\r\n this.$button.on('click', (event) => this.more(event));\r\n }\r\n\r\n more(event) {\r\n event.preventDefault();\r\n this.$moreText.css('display', 'inline');\r\n this.$button.css('display', 'none');\r\n }\r\n}","import $ from 'jquery';\r\n\r\nexport class WrapAZ {\r\n constructor($el) {\r\n this.$el = $el;\r\n this.wrap(event)\r\n }\r\n\r\n wrap(event) {\r\n this.$el.html(function(_, html) {\r\n return html.replace(/(A-Z)/g, '$1');\r\n });\r\n }\r\n}\r\n","// Expected markup.\r\n// The link and content need to be nested within the js-accordion element, but can be placed anywhere in the code.\r\n//\r\n//
\r\n//
\r\n// \r\n//
\r\n//
\r\n// Content to show and hide\r\n//
\r\n//
\r\n\r\nexport function Accordion(el, id) {\r\n const link = el.querySelector(\".js-accordion-link\");\r\n const content = el.querySelector(\".js-accordion-content\");\r\n\r\n if (!link || !content) {\r\n return false;\r\n }\r\n\r\n const contentWrapper = wrap(content, document.createElement(\"div\"));\r\n\r\n contentWrapper.classList.add(\"accordion-wrapper\");\r\n\r\n // check if we're in the experience editor to force the content open and prevent the binding event for the link.\r\n const editorView = document.querySelector(\"body.is-page-editor\");\r\n\r\n let expanded = false;\r\n let contentBuffer = setTimeout(() => {}, 1);\r\n\r\n const animationSpeed = 500;\r\n\r\n if (el.classList.contains(\"is-open\") || editorView) {\r\n expanded = true;\r\n toggleContent(expanded);\r\n }\r\n else {\r\n setHeight(contentWrapper, \"0px\");\r\n }\r\n\r\n link.setAttribute(\"aria-expanded\", expanded);\r\n link.setAttribute(\"id\", `accordion-link-${id}`);\r\n link.setAttribute(\"aria-controls\", `accordion-content-${id}`);\r\n\r\n contentWrapper.setAttribute(\"id\", `accordion-content-${id}`);\r\n contentWrapper.setAttribute(\"aria-labelledby\", `accordion-link-${id}`);\r\n contentWrapper.style.visibility = \"hidden\";\r\n\r\n if (editorView === null) {\r\n link.addEventListener(\"click\", e => {\r\n e.preventDefault();\r\n toggleContent(!expanded);\r\n });\r\n }\r\n\r\n function toggleContent(openState) {\r\n if (openState === expanded) {\r\n return;\r\n }\r\n\r\n const height = content.scrollHeight;\r\n expanded = openState;\r\n\r\n link.setAttribute(\"aria-expanded\", openState);\r\n\r\n clearTimeout(contentBuffer);\r\n\r\n if (openState) {\r\n el.classList.add(\"is-open\");\r\n\r\n contentWrapper.style.visibility = \"visible\";\r\n\r\n setHeight(contentWrapper, `${height}px`);\r\n\r\n contentBuffer = setTimeout(() => {\r\n setHeight(contentWrapper, \"auto\");\r\n }, animationSpeed + 20);\r\n }\r\n else {\r\n el.classList.remove(\"is-open\");\r\n setHeight(contentWrapper, `${height}px`);\r\n\r\n setTimeout(() => {\r\n setHeight(contentWrapper, \"0\");\r\n }, 20);\r\n\r\n setTimeout(() => {\r\n contentWrapper.style.visibility = \"hidden\";\r\n }, animationSpeed + 20);\r\n }\r\n }\r\n\r\n function setHeight(el, height) {\r\n el.setAttribute(\r\n \"style\",\r\n `height: ${height}; transition: height ${animationSpeed}ms ease; overflow: hidden;`\r\n );\r\n }\r\n\r\n function wrap(el, wrapper) {\r\n el.parentNode.insertBefore(wrapper, el);\r\n wrapper.appendChild(el);\r\n return wrapper;\r\n }\r\n\r\n return {\r\n el,\r\n toggleContent\r\n };\r\n}\r\n","import $ from \"jquery\";\r\n\r\n// Extract current breakpoint name as string from DOM\r\n// More details: https://www.lullabot.com/articles/importing-css-breakpoints-into-javascript\r\nexport const breakpoint = () => {\r\n return window.getComputedStyle(document.querySelector(\"body\"), \"::before\")\r\n .getPropertyValue(\"content\")\r\n .replace(/\\\"/g, \"\");\r\n};\r\n\r\n\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nexport default class CollapsePane extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.contentRef = React.createRef();\r\n this.state = {\r\n isOpen: props.open || false\r\n };\r\n }\r\n\r\n collapse() {\r\n const ref = this.contentRef.current;\r\n // get the height of the content ref\r\n const contentHeight = ref.scrollHeight;\r\n\r\n // temporarily disable transitions\r\n const refTransition = ref.style.transition;\r\n ref.style.transition = \"\";\r\n\r\n // on the next frame, set the height of the content\r\n // explicitly, so we're not animating from \"auto\"\r\n requestAnimationFrame(() => {\r\n ref.style.height = contentHeight;\r\n ref.style.transition = refTransition;\r\n\r\n // on the very next frame, set height to 0\r\n requestAnimationFrame(() => {\r\n ref.style.height = \"0px\";\r\n this.setState({ isOpen: false });\r\n });\r\n });\r\n }\r\n\r\n expand() {\r\n const ref = this.contentRef.current;\r\n // get the height of the content ref\r\n const contentHeight = ref.scrollHeight;\r\n\r\n // create a one-time callback for when the ref is\r\n // done the transition\r\n var self = this;\r\n ref.addEventListener(\"transitionend\", function handler(e) {\r\n // remove it immediately\r\n ref.removeEventListener(\"transitionend\", handler);\r\n\r\n // remove the inline \"height\" style, reverting back to initial value\r\n ref.style.height = null;\r\n self.setState({ isOpen: true });\r\n });\r\n\r\n // set the height of the ref\r\n ref.style.height = `${contentHeight}px`;\r\n }\r\n\r\n toggle = () => (this.state.isOpen ? this.collapse() : this.expand());\r\n\r\n render() {\r\n const openStateClass = this.state.isOpen ? \"is-open\" : \"is-closed\";\r\n const initialStyle = this.state.isOpen ? {} : { height: \"0px\" };\r\n return (\r\n
\r\n {this.props.renderTrigger(this.toggle)}\r\n \r\n {this.props.children}\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nconst { func, bool, node, string } = PropTypes;\r\n\r\nCollapsePane.props = {\r\n open: bool,\r\n renderTrigger: func.isRequired,\r\n className: string,\r\n children: node\r\n};\r\n\r\nCollapsePane.defaultProps = {\r\n className: \"collapse-pane\"\r\n};\r\n","/** @module common/components */\r\n\r\nimport R from \"ramda\";\r\nimport React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport classnames from \"classnames\";\r\n\r\n\r\n/**\r\n * \r\n * A generic pop-out container that is anchored to an element. Useful for drop-down functionality.\r\n * ```\r\n }\r\n inFlow={bool}\r\n open={bool.isRequired}\r\n requestClose={func}\r\n >\r\n \r\n \r\n * ```\r\n * @extends React.Component \r\n * @param {function} props.anchorToEl Function returning an HtmlElement for the dropdown to be anchored to.\r\n * @param {array} props.doNotCloseOn An array of HtmlElement that should NOT trigger the flyout to close when clicked\r\n @param {bool} props.inFlow Allow flyout to render as static in the document flow (not absolutely positioned)\r\n @param {bool} open Flag for setting the open state\r\n @param {function} requestClose Function called when the component itself asks to be closed\r\n\r\n */\r\nclass Flyout extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.flyoutRef = React.createRef();\r\n }\r\n\r\n componentDidMount() {\r\n document.addEventListener(\"mousedown\", e => this.handleClickOutside(e));\r\n }\r\n\r\n componentWillUnmount() {\r\n document.removeEventListener(\"mousedown\", e => this.handleClickOutside(e));\r\n }\r\n\r\n handleClickOutside(event) {\r\n if (!this.props.open) {\r\n return;\r\n }\r\n\r\n const target = event.target;\r\n const flyoutRef = this.flyoutRef.current;\r\n const allRefs = this.props.doNotCloseOn.concat(flyoutRef);\r\n const isOutside = R.all(R.equals(false))(\r\n R.map(ref => ref.contains(target), allRefs)\r\n );\r\n\r\n if (isOutside) {\r\n if (this.props.requestClose) {\r\n this.props.requestClose(this.props.id);\r\n }\r\n }\r\n }\r\n\r\n positionStyles() {\r\n if (this.props.inFlow) {\r\n return {}\r\n }\r\n\r\n const anchor = this.props.anchorToEl();\r\n const rect = anchor.getBoundingClientRect();\r\n return {\r\n position: \"absolute\",\r\n top: anchor.offsetTop + rect.height,\r\n left: anchor.offsetLeft\r\n };\r\n }\r\n\r\n render() {\r\n const flyoutClass = classnames(\"flyout\", { \"is-open\": this.props.open });\r\n const anchor = this.props.anchorToEl();\r\n const anchorId = anchor ? anchor.id : \"\";\r\n\r\n return (\r\n \r\n {this.props.open && (\r\n \r\n {this.props.children}\r\n \r\n )}\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default Flyout;\r\n\r\nconst { string, bool, node, func, arrayOf, instanceOf } = PropTypes;\r\nFlyout.propTypes = {\r\n id: string,\r\n children: node.isRequired,\r\n open: bool.isRequired,\r\n anchorToEl: func.isRequired,\r\n doNotCloseOn: arrayOf(instanceOf(HTMLElement)),\r\n requestClose: func,\r\n inFlow: bool\r\n};\r\n\r\nFlyout.defaultProps = {\r\n open: false,\r\n doNotCloseOn: []\r\n};\r\n","/*\r\n* jquery-match-height 0.7.2 by @liabru\r\n* http://brm.io/jquery-match-height/\r\n* License MIT\r\n*/\r\n!function(t){\"use strict\";\"function\"==typeof define&&define.amd?define([\"jquery\"],t):\"undefined\"!=typeof module&&module.exports?module.exports=t(require(\"jquery\")):t(jQuery)}(function(t){var e=-1,o=-1,n=function(t){return parseFloat(t)||0},a=function(e){var o=1,a=t(e),i=null,r=[];return a.each(function(){var e=t(this),a=e.offset().top-n(e.css(\"margin-top\")),s=r.length>0?r[r.length-1]:null;null===s?r.push(e):Math.floor(Math.abs(i-a))<=o?r[r.length-1]=s.add(e):r.push(e),i=a}),r},i=function(e){var o={\r\nbyRow:!0,property:\"height\",target:null,remove:!1};return\"object\"==typeof e?t.extend(o,e):(\"boolean\"==typeof e?o.byRow=e:\"remove\"===e&&(o.remove=!0),o)},r=t.fn.matchHeight=function(e){var o=i(e);if(o.remove){var n=this;return this.css(o.property,\"\"),t.each(r._groups,function(t,e){e.elements=e.elements.not(n)}),this}return this.length<=1&&!o.target?this:(r._groups.push({elements:this,options:o}),r._apply(this,o),this)};r.version=\"0.7.2\",r._groups=[],r._throttle=80,r._maintainScroll=!1,r._beforeUpdate=null,\r\nr._afterUpdate=null,r._rows=a,r._parse=n,r._parseOptions=i,r._apply=function(e,o){var s=i(o),h=t(e),l=[h],c=t(window).scrollTop(),p=t(\"html\").outerHeight(!0),u=h.parents().filter(\":hidden\");return u.each(function(){var e=t(this);e.data(\"style-cache\",e.attr(\"style\"))}),u.css(\"display\",\"block\"),s.byRow&&!s.target&&(h.each(function(){var e=t(this),o=e.css(\"display\");\"inline-block\"!==o&&\"flex\"!==o&&\"inline-flex\"!==o&&(o=\"block\"),e.data(\"style-cache\",e.attr(\"style\")),e.css({display:o,\"padding-top\":\"0\",\r\n\"padding-bottom\":\"0\",\"margin-top\":\"0\",\"margin-bottom\":\"0\",\"border-top-width\":\"0\",\"border-bottom-width\":\"0\",height:\"100px\",overflow:\"hidden\"})}),l=a(h),h.each(function(){var e=t(this);e.attr(\"style\",e.data(\"style-cache\")||\"\")})),t.each(l,function(e,o){var a=t(o),i=0;if(s.target)i=s.target.outerHeight(!1);else{if(s.byRow&&a.length<=1)return void a.css(s.property,\"\");a.each(function(){var e=t(this),o=e.attr(\"style\"),n=e.css(\"display\");\"inline-block\"!==n&&\"flex\"!==n&&\"inline-flex\"!==n&&(n=\"block\");var a={\r\ndisplay:n};a[s.property]=\"\",e.css(a),e.outerHeight(!1)>i&&(i=e.outerHeight(!1)),o?e.attr(\"style\",o):e.css(\"display\",\"\")})}a.each(function(){var e=t(this),o=0;s.target&&e.is(s.target)||(\"border-box\"!==e.css(\"box-sizing\")&&(o+=n(e.css(\"border-top-width\"))+n(e.css(\"border-bottom-width\")),o+=n(e.css(\"padding-top\"))+n(e.css(\"padding-bottom\"))),e.css(s.property,i-o+\"px\"))})}),u.each(function(){var e=t(this);e.attr(\"style\",e.data(\"style-cache\")||null)}),r._maintainScroll&&t(window).scrollTop(c/p*t(\"html\").outerHeight(!0)),\r\nthis},r._applyDataApi=function(){var e={};t(\"[data-match-height], [data-mh]\").each(function(){var o=t(this),n=o.attr(\"data-mh\")||o.attr(\"data-match-height\");n in e?e[n]=e[n].add(o):e[n]=o}),t.each(e,function(){this.matchHeight(!0)})};var s=function(e){r._beforeUpdate&&r._beforeUpdate(e,r._groups),t.each(r._groups,function(){r._apply(this.elements,this.options)}),r._afterUpdate&&r._afterUpdate(e,r._groups)};r._update=function(n,a){if(a&&\"resize\"===a.type){var i=t(window).width();if(i===e)return;e=i;\r\n}n?o===-1&&(o=setTimeout(function(){s(a),o=-1},r._throttle)):s(a)},t(r._applyDataApi);var h=t.fn.on?\"on\":\"bind\";t(window)[h](\"load\",function(t){r._update(!1,t)}),t(window)[h](\"resize orientationchange\",function(t){r._update(!0,t)})});","/*\r\n _ _ _ _\r\n ___| (_) ___| | __ (_)___\r\n/ __| | |/ __| |/ / | / __|\r\n\\__ \\ | | (__| < _ | \\__ \\\r\n|___/_|_|\\___|_|\\_(_)/ |___/\r\n |__/\r\n\r\n Version: 1.6.0\r\n Author: Ken Wheeler\r\n Website: http://kenwheeler.github.io\r\n Docs: http://kenwheeler.github.io/slick\r\n Repo: http://github.com/kenwheeler/slick\r\n Issues: http://github.com/kenwheeler/slick/issues\r\n\r\n */\r\n/* global window, document, define, jQuery, setInterval, clearInterval */\r\n(function(factory) {\r\n 'use strict';\r\n if (typeof define === 'function' && define.amd) {\r\n define(['jquery'], factory);\r\n } else if (typeof exports !== 'undefined') {\r\n module.exports = factory(require('jquery'));\r\n } else {\r\n factory(jQuery);\r\n }\r\n\r\n}(function($) {\r\n 'use strict';\r\n var Slick = window.Slick || {};\r\n\r\n Slick = (function() {\r\n\r\n var instanceUid = 0;\r\n\r\n function Slick(element, settings) {\r\n\r\n var _ = this, dataSettings;\r\n\r\n _.defaults = {\r\n accessibility: true,\r\n adaptiveHeight: false,\r\n appendArrows: $(element),\r\n appendDots: $(element),\r\n arrows: true,\r\n asNavFor: null,\r\n prevArrow: '',\r\n nextArrow: '',\r\n autoplay: false,\r\n autoplaySpeed: 3000,\r\n centerMode: false,\r\n centerPadding: '50px',\r\n cssEase: 'ease',\r\n customPaging: function(slider, i) {\r\n return $(');\r\n }\r\n\r\n\r\n renderValueItem(value, recursionLevel) {\r\n const childValues = value.childValues;\r\n const hasChildValues = !!childValues && childValues.length > 0;\r\n const isExpanded = this.valueIsExpanded(value);\r\n const renderChildValues = hasChildValues && isExpanded;\r\n const toggleClass = classnames(\"search-facets__value-expand\", { \"is-open\": isExpanded});\r\n\r\n return (\r\n
  • \r\n this.onFacetChange(e, value.id) } type=\"checkbox\"/>\r\n \r\n {hasChildValues && (\r\n \r\n )}\r\n {renderChildValues && this.renderValues(childValues, recursionLevel + 1) }\r\n
  • \r\n );\r\n }\r\n\r\n renderFlatValues(values) {\r\n const renderValue = (value) => {\r\n return (\r\n
  • \r\n this.onFacetChange(e, value.id) } type=\"checkbox\"/>\r\n \r\n
  • \r\n );\r\n };\r\n\r\n return (\r\n
      \r\n { values.map( value => renderValue(value)) }\r\n
    \r\n );\r\n }\r\n\r\n renderValues(values, recursionLevel) {\r\n let chunkedValues;\r\n if (recursionLevel === 0){\r\n chunkedValues = this.chunkValues(values);\r\n } else {\r\n chunkedValues = [values, []];\r\n }\r\n\r\n const headValues = chunkedValues[0];\r\n const tailValues = chunkedValues[1];\r\n\r\n const stateClass = `search-facets__group-values is-level-${recursionLevel}`;\r\n const valuesWrapperClass = classnames(\"search-facets__values-wrapper\", { \"has-no-values\": !values.length });\r\n const shouldRenderTailValues = this.shouldRenderTailValues(tailValues);\r\n\r\n return (\r\n
    \r\n
      \r\n {headValues.map( val => this.renderValueItem(val, recursionLevel) )}\r\n
    \r\n { shouldRenderTailValues && (\r\n
      \r\n {tailValues.map( val => this.renderValueItem(val, recursionLevel) )}\r\n
    \r\n )}\r\n
    \r\n );\r\n }\r\n\r\n renderChildGroups(group) {\r\n if (this.state.isGroupOpen\r\n && group.childGroups\r\n && group.childGroups.length) {\r\n\r\n return group.childGroups.map( childGroup => {\r\n if (childGroup.values.length === 0) {\r\n return null;\r\n }\r\n\r\n return ();\r\n });\r\n }\r\n }\r\n\r\n render() {\r\n const group = this.props.group;\r\n const selectedValues = selectedFacetsFromGroup(group);\r\n const showDupeSelected = selectedValues.length > 0\r\n && this.props.dupeSelected;\r\n const groupClass = classnames(\"search-facets__group\", {\r\n \"is-open\": this.state.isGroupOpen\r\n });\r\n const expandLabel = this.state.isGroupExpanded\r\n ? \"Show Less\"\r\n : \"Show More\";\r\n\r\n return (\r\n
    \r\n
    \r\n

    {group.label}

    \r\n {this.renderOpenButton()}\r\n
    \r\n
    \r\n {this.state.isGroupOpen && (\r\n
    \r\n {showDupeSelected && (\r\n
    \r\n {this.renderFlatValues(selectedValues)}\r\n
    \r\n )}\r\n {this.renderValues(group.values, 0)}\r\n {group.values.length > MAX_FACETS_SHOWN && (\r\n
    \r\n \r\n
    \r\n )}\r\n {this.renderChildGroups(group)}\r\n { group.values.length > 0 && (\r\n
    \r\n this.onClearGroup()}\r\n className=\"search-facets__group-clear\"\r\n type=\"button\">\r\n Clear\r\n \r\n
    \r\n )}\r\n
    \r\n )}\r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default FacetGroup;\r\n\r\nconst { func, shape, bool, number, string, oneOfType, arrayOf } = PropTypes;\r\n\r\nFacetGroup.propTypes = {\r\n isOpen: bool,\r\n dupeSelected: bool,\r\n handleFacetChange: func.isRequired,\r\n handleClearGroup: func.isRequired,\r\n group: facetGroupShape\r\n};\r\n\r\nFacetGroup.defaultProps = {\r\n isOpen: true,\r\n dupeSelected: true\r\n};\r\n","import PropTypes from 'prop-types';\r\nimport React from \"react\";\r\nimport FacetGroup from \"./FacetGroup.jsx\";\r\nimport {closeFilters, setFiltersOpenDirection, manageContainerWhitespace} from \"../filterSlider\";\r\n\r\nexport default class FacetList extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n componentDidMount() {\r\n setFiltersOpenDirection();\r\n manageContainerWhitespace();\r\n }\r\n\r\n clearAll() {\r\n this.props.handleClearAll();\r\n }\r\n\r\n hideFilters() {\r\n closeFilters(); // DOM ops\r\n this.props.hideMobileFacets(); // action creator\r\n }\r\n\r\n renderHideFilters() {\r\n return (\r\n
    \r\n \r\n\r\n
    \r\n );\r\n }\r\n\r\n renderFacetGroups() {\r\n return this.props.facets.map( (group, i) => {\r\n if (group.values.length === 0 && group.childGroups.length === 0) {\r\n return null;\r\n }\r\n const numOpenGroups = this.props.numOpenGroups;\r\n const isOpen = typeof numOpenGroups !== \"undefined\"\r\n && numOpenGroups !== null\r\n && i < numOpenGroups;\r\n return ();\r\n });\r\n }\r\n\r\n renderClearAll() {\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n }\r\n\r\n render() {\r\n const facetGroups = this.renderFacetGroups();\r\n return (\r\n
    \r\n {this.props.mobileFacetsShown ?

    {this.props.title}

    : null }\r\n
    \r\n {facetGroups}\r\n {this.renderClearAll()}\r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nconst { string, arrayOf, bool, shape, number, oneOfType, func } = PropTypes;\r\nFacetList.propTypes = {\r\n title: string,\r\n mobileFiltersShown: bool,\r\n hideMobileFacets: func,\r\n facets: arrayOf(shape({ id: oneOfType([number, string]) })),\r\n numOpenGroups: number,\r\n handleFacetChange: func.isRequired,\r\n handleClearGroup: func.isRequired,\r\n handleClearAll: func.isRequired\r\n};\r\n\r\nFacetList.defaultProps = {\r\n facets: [],\r\n numOpenGroups: null\r\n};\r\n","import R from \"ramda\";\r\nimport React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { facetGroupShape } from \"../../dataShapes\";\r\nimport Flyout from \"../../../common/components/Flyout.jsx\";\r\nimport CollapsePane from \"../../../common/components/CollapsePane.jsx\";\r\nimport MultiSelectList from \"./MultiSelectList.jsx\";\r\nimport { allSelectedFacets, selectedFacetsFromGroup } from \"../../redux/facets\";\r\nimport MediaQuery from \"react-responsive\";\r\n\r\n// Create a lens using a groupId to point to the openGroups value\r\nconst groupLens = groupId => R.lensPath([\"openGroups\", groupId]);\r\n\r\n// Given a state, open the group beloning to an id\r\nconst openGroup = R.curry((groupId, state) =>\r\n R.set(groupLens(groupId), true, state)\r\n);\r\n\r\n// Given a state, close the group belonging to an id\r\nconst closeGroup = R.curry((groupId, state) =>\r\n R.set(groupLens(groupId), false, state)\r\n);\r\n\r\n// Set all group ids to closed\r\nconst closeAllGroups = R.over(R.lensProp(\"openGroups\"), v => false);\r\n\r\n// Given a state, open a closed group or close an open group\r\nconst toggleGroup = R.curry((groupId, state) =>\r\n R.ifElse(\r\n R.compose(\r\n R.equals(true),\r\n R.view(groupLens(groupId))\r\n ),\r\n closeGroup(groupId),\r\n openGroup(groupId)\r\n )(state)\r\n);\r\n\r\n/** A horizontal bar of groupings containing selectable facets/filters */\r\nclass FilterSelectBar extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.buttonRefs = {};\r\n this.state = {\r\n openGroups: {}\r\n };\r\n }\r\n\r\n handleGroupClick(event, groupId) {\r\n event.stopPropagation();\r\n\r\n if (this.isGroupOpen(groupId)) {\r\n this.setState(toggleGroup(groupId, this.state));\r\n } else {\r\n this.setState(\r\n R.pipe(\r\n closeAllGroups,\r\n openGroup(groupId)\r\n )(this.state)\r\n );\r\n }\r\n }\r\n\r\n handleCloseGroup(groupId) {\r\n this.setState(closeGroup(groupId, this.state));\r\n }\r\n\r\n isGroupOpen(groupId) {\r\n return this.state.openGroups[groupId] || false;\r\n }\r\n\r\n renderList(group) {\r\n const { onFilterChange } = this.props;\r\n const flyoutIsInFlow = matchMedia(\"(max-width: 480px)\").matches;\r\n const selectedFilters = selectedFacetsFromGroup(group);\r\n const hasSelected = selectedFilters.length > 0;\r\n\r\n return (\r\n this.buttonRefs[group.id]}\r\n inFlow={flyoutIsInFlow}\r\n requestClose={() => this.handleCloseGroup(group.id)}\r\n >\r\n
    \r\n
    \r\n {this.props.showSelected && hasSelected > 0 && (\r\n \r\n Selected\r\n \r\n )}\r\n \r\n {this.props.dictionary.clearAll}\r\n \r\n
    \r\n {this.props.showSelected && hasSelected > 0 && (\r\n \r\n )}\r\n
    \r\n \r\n \r\n );\r\n }\r\n\r\n renderGroups(filterGroups) {\r\n const openClass = groupId =>\r\n this.isGroupOpen(groupId) ? \"is-open\" : \"\";\r\n\r\n return (\r\n
      \r\n {filterGroups.map((g, i) => {\r\n const numSelected = selectedFacetsFromGroup(g).length;\r\n const selectedPostfix =\r\n numSelected > 0 ? `(${numSelected})` : \"\";\r\n return (\r\n \r\n \r\n (this.buttonRefs[g.id] = el)}\r\n onClick={e =>\r\n this.handleGroupClick(e, g.id)\r\n }\r\n aria-haspopup=\"true\"\r\n aria-expanded={this.isGroupOpen(g.id)}\r\n disabled={g.values.length == 0}\r\n >\r\n \r\n {`${g.label} ${selectedPostfix}`}\r\n \r\n \r\n \r\n {g.values.length > 0 ? this.renderList(g) : \"\"}\r\n \r\n \r\n );\r\n })}\r\n
    \r\n );\r\n }\r\n\r\n render() {\r\n const { dictionary, filterGroups, onFilterChange } = this.props;\r\n const title = dictionary.filterTitle;\r\n const allSelected = allSelectedFacets(filterGroups);\r\n const allSelectedLabel = `${allSelected.length} Selected`;\r\n\r\n return (\r\n \r\n {filterGroups.length > 0 && (\r\n
    \r\n
    \r\n
    \r\n {title && (\r\n
    \r\n {title}\r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n {this.renderGroups(filterGroups)}\r\n
    \r\n
    \r\n )}\r\n
    \r\n );\r\n }\r\n}\r\n\r\nconst { string, arrayOf, func, bool, shape } = PropTypes;\r\n\r\nFilterSelectBar.propTypes = {\r\n filterGroups: arrayOf(facetGroupShape).isRequired,\r\n handleClearGroup: func.isRequired,\r\n dictionary: shape({\r\n filterTitle: string,\r\n clearAll: string\r\n }),\r\n showSelected: bool,\r\n title: string\r\n};\r\n\r\nFilterSelectBar.defaultProps = {\r\n dictionary: {\r\n filterTitle: \"Filter By\",\r\n clearAll: \"Clear All\"\r\n },\r\n showSelected: true\r\n};\r\n\r\nexport default FilterSelectBar;\r\n","import R from \"ramda\";\r\nimport React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { facetValueShape, facetGroupShape } from \"../../dataShapes\";\r\n\r\nconst MultiSelectList = ({\r\n items,\r\n groups,\r\n onChange,\r\n onClear,\r\n label,\r\n showChildren\r\n}) => {\r\n const FilterItem = ({ item, onChange }) => (\r\n
  • \r\n onChange(item.id, e.target.checked)}\r\n id={item.id.replace(/[^a-z0-9]/gi, \"\")}\r\n checked={item.selected}\r\n />\r\n \r\n {item.childValues && !!item.childValues.length && showChildren && (\r\n
      \r\n {item.childValues.map((value, i) => (\r\n \r\n ))}\r\n
    \r\n )}\r\n
  • \r\n );\r\n\r\n return (\r\n \r\n
      \r\n {label &&
    • {label}
    • }\r\n {items.map((item, i) => (\r\n \r\n ))}\r\n
    \r\n {groups &&\r\n groups.map((g, i) => (\r\n \r\n ))}\r\n
    \r\n );\r\n};\r\n\r\nexport default MultiSelectList;\r\n\r\nconst { arrayOf, func, bool, string } = PropTypes;\r\nMultiSelectList.propTypes = {\r\n items: arrayOf(facetValueShape).isRequired,\r\n groups: arrayOf(facetGroupShape),\r\n label: string,\r\n showChildren: bool,\r\n onChange: func.isRequired,\r\n onClear: func.isRequired\r\n};\r\n\r\nMultiSelectList.defaultProps = {\r\n showChildren: true\r\n};\r\n","import PropTypes from 'prop-types';\r\nimport R from \"ramda\";\r\nimport React from \"react\";\r\n\r\nconst links = [\"A\", \"B\", \"C\", \"D\", \"E\", \"F\", \"G\", \"H\", \"I\", \"J\", \"K\", \"L\", \"M\", \"N\", \"O\", \"P\", \"Q\", \"R\", \"S\", \"T\", \"U\", \"V\", \"W\", \"X\", \"Y\", \"Z\"];\r\n\r\nconst isMatch = R.curry((l, r) => r.title.toUpperCase().startsWith(l));\r\n\r\nfunction linkIsValid(link, results) {\r\n return R.findIndex(isMatch(link))(results) >= 0;\r\n}\r\n\r\nfunction formatLink(l) {\r\n return \"#\" + l;\r\n}\r\n\r\nconst JumpLinks = ({results}) => {\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n};\r\n\r\nconst { shape, string, arrayOf } = PropTypes;\r\n\r\nJumpLinks.propTypes = {\r\n results: arrayOf(shape({\r\n title: string.isRequired\r\n }))\r\n};\r\n\r\nJumpLinks.defaultProps = {\r\n results: []\r\n};\r\n\r\nexport default JumpLinks;\r\n","import PropTypes from \"prop-types\";\r\nimport React from \"react\";\r\nimport LoadingSpinner from \"./LoadingSpinner.jsx\";\r\n\r\nexport default class LoadMore extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n initiatedLoad: false\r\n };\r\n }\r\n\r\n onClick(event) {\r\n event.preventDefault();\r\n this.props.handleClick();\r\n this.setState({\r\n initiatedLoad: true\r\n });\r\n }\r\n\r\n render() {\r\n const { dictionary } = this.props;\r\n const shouldShowSpinner =\r\n this.props.showSpinner &&\r\n this.props.loading &&\r\n this.state.initiatedLoad;\r\n return (\r\n
    \r\n this.onClick(e)}\r\n onKeyUp={e => {\r\n if (e.keyCode === 13 || e.keyCode === 32) {\r\n e.preventDefault(e);\r\n }\r\n }}\r\n >\r\n \r\n {dictionary.loadMoreLabel}\r\n \r\n {shouldShowSpinner ? : null}\r\n \r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nconst { func, shape, string, bool } = PropTypes;\r\n\r\nLoadMore.propTypes = {\r\n handleClick: func.isRequired,\r\n loading: bool,\r\n buttonClass: string,\r\n showSpinner: bool,\r\n dictionary: shape({\r\n loadMoreLabel: string\r\n })\r\n};\r\n\r\nLoadMore.defaultProps = {\r\n buttonClass: \"btn btn--primary\"\r\n};\r\n","import React from \"react\";\r\n\r\nexport default () => {\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n};","import PropTypes from 'prop-types';\r\nimport React from \"react\";\r\nimport { isLastPage, isFirstPage, totalPages, pageBlock } from \"../paging\";\r\n\r\nconst Pagination = ({\r\n totalResults,\r\n resultsPerPage,\r\n currentPage,\r\n handlePageChange\r\n}) => {\r\n\r\n const block = pageBlock(totalResults, resultsPerPage, currentPage);\r\n const isLast = isLastPage(totalResults, resultsPerPage, currentPage);\r\n const isFirst = isFirstPage(currentPage);\r\n const lastPage = totalPages(totalResults, resultsPerPage);\r\n\r\n function getPage(label, value, isDisabled) {\r\n return (\r\n onPageClick(value, isDisabled)}\r\n disabled={isDisabled}>{label}\r\n );\r\n }\r\n\r\n function onPageClick(pageNum, isDisabled) {\r\n if (!isDisabled) {\r\n handlePageChange(pageNum);\r\n }\r\n }\r\n\r\n return (\r\n
    \r\n
    \r\n {getPage(\"<< First\", 1, isFirst)}\r\n {getPage(\"< Previous\", currentPage - 1, isFirst)}\r\n {block.map( page => getPage(page.label, page.num, page.current))}\r\n {getPage(\"Next >\", currentPage + 1, isLast)}\r\n {getPage(\"Last >>\", lastPage, isLast)}\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nconst { number, func } = PropTypes;\r\n\r\nPagination.propTypes = {\r\n totalResults: number.isRequired,\r\n resultsPerPage: number.isRequired,\r\n currentPage: number.isRequired,\r\n handlePageChange: func.isRequired\r\n};\r\n\r\nexport default Pagination;\r\n","import R from \"ramda\";\r\nimport * as RA from \"ramda-adjunct\";\r\nimport PropTypes from \"prop-types\";\r\nimport React from \"react\";\r\nimport moment from \"moment\";\r\n\r\nexport default class ResultItem extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.itemWrapper = null;\r\n }\r\n\r\n componentDidMount() {\r\n this.itemWrapper.className = this.itemWrapper.className + \" is-visible\";\r\n }\r\n\r\n formatDate(dateStr) {\r\n const date = new Date(dateStr);\r\n return moment(date).format(\"MMMM YYYY\");\r\n }\r\n\r\n renderImage() {\r\n const { imageSrc, contentUrl, title, description } = this.props;\r\n if (imageSrc) {\r\n return (\r\n
    \r\n \r\n \r\n \r\n
    \r\n {description}\r\n
    \r\n
    \r\n );\r\n }\r\n }\r\n\r\n render() {\r\n const {\r\n title,\r\n contentUrl,\r\n primaryContentType,\r\n secondaryContentType,\r\n\t\t\tdate,\r\n body,\r\n color,\r\n\t\t\ttarget\r\n } = this.props;\r\n\r\n const eyebrowStyle = color ? { backgroundColor: color } : null;\r\n\r\n return (\r\n (this.itemWrapper = el)}\r\n >\r\n {this.renderImage()}\r\n
    \r\n
    \r\n {(primaryContentType || secondaryContentType) && (\r\n
    \r\n {primaryContentType && (\r\n \r\n {primaryContentType}\r\n \r\n )}\r\n {secondaryContentType && (\r\n \r\n {secondaryContentType}\r\n \r\n )}\t\t\t\t\t\t\t\t\r\n
    \r\n )}\r\n \r\n {title}\r\n \r\n\t\t\t\t\t\t{date && (\r\n\t\t\t\t\t\t\t

    \r\n\t\t\t\t\t\t\t\t{date}\r\n\t\t\t\t\t\t\t

    \r\n\t\t\t\t\t\t)}\r\n
    \r\n

    {body}

    \r\n
    \r\n \r\n );\r\n }\r\n}\r\n\r\nconst { string } = PropTypes;\r\nResultItem.propTypes = {\r\n title: string.isRequired,\r\n body: string,\r\n contentUrl: string.isRequired,\r\n target: string,\r\n secondaryContentType: string,\r\n primaryContentType: string,\r\n\tdate: string.isRequired,\r\n imageSrc: string,\r\n color: string\r\n};\r\n","import PropTypes from 'prop-types';\r\nimport React from \"react\";\r\nimport LoadingSpinner from \"./LoadingSpinner.jsx\";\r\nimport { closeFilters, openFilters } from \"../filterSlider\";\r\n\r\nexport default class SearchBox extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n initiatedLoad: false,\r\n mobileFacetsOpen: false\r\n };\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n if (!nextProps.loading) {\r\n this.setState({ initiatedLoad: false });\r\n }\r\n }\r\n\r\n showFilters() {\r\n openFilters(); // DOM ops\r\n this.props.showMobileFacets(); // action creator\r\n this.setState({\r\n mobileFacetsOpen: true\r\n });\r\n }\r\n\r\n hideFilters() {\r\n closeFilters(); // DOM ops\r\n this.props.hideMobileFacets(); // action creator\r\n this.setState({\r\n mobileFacetsOpen: false\r\n });\r\n }\r\n\r\n handleSubmit(event) {\r\n event.preventDefault();\r\n this.props.handleEntry(this.keywordInput.value);\r\n this.setState({ initiatedLoad: true });\r\n }\r\n\r\n renderHideFilters() {\r\n return (\r\n
    \r\n \r\n\r\n
    \r\n );\r\n }\r\n\r\n renderShowFilters() {\r\n return (\r\n
    \r\n this.showFilters()}>\r\n Filter Your Results\r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n }\r\n\r\n render() {\r\n const { dictionary, keywords, loading } = this.props;\r\n const { mobileFacetsOpen } = this.state;\r\n const shouldShowSpinner = this.state.initiatedLoad && loading;\r\n return (\r\n
    \r\n
    this.handleSubmit(e) } noValidate>\r\n
    \r\n \r\n this.keywordInput = input }\r\n />\r\n
    \r\n { shouldShowSpinner ? : null }\r\n
    \r\n \r\n
    \r\n
    \r\n { !mobileFacetsOpen && this.renderShowFilters() }\r\n { mobileFacetsOpen && this.renderHideFilters() }\r\n
    \r\n );\r\n }\r\n}\r\n\r\nconst { string, func, shape, bool } = PropTypes;\r\n\r\nSearchBox.propTypes = {\r\n keywords: string,\r\n handleEntry: func.isRequired,\r\n loading: bool,\r\n showMobileFacets: func.isRequired,\r\n hideMobileFacets: func.isRequired,\r\n dictionary: shape({\r\n searchBoxPlaceholder: string,\r\n searchBoxLabel: string\r\n }).isRequired\r\n};\r\n","import PropTypes from \"prop-types\";\r\nimport React from \"react\";\r\nimport classnames from \"classnames\";\r\nimport { isLastPage } from \"../paging\";\r\nimport { openFilters } from \"../filterSlider\";\r\nimport ResultItem from \"./ResultItem.jsx\";\r\nimport LoadMore from \"./LoadMore.jsx\";\r\nimport LoadingSpinner from \"./LoadingSpinner.jsx\";\r\nimport SortBar from \"./SortBar.jsx\";\r\nimport SearchStatus from \"./SearchStatus.jsx\";\r\nimport Pagination from \"./Pagination.jsx\";\r\nimport {\r\n RESULTS_DISPLAY_REFRESH,\r\n RESULTS_DISPLAY_APPEND\r\n} from \"../redux/resultsDisplay\";\r\n\r\nconst SearchResultList = ({\r\n results,\r\n resultsDisplayStrategy,\r\n selectedFacets,\r\n totalResults,\r\n loading,\r\n isFirstLoad,\r\n sorters,\r\n nextPage,\r\n gotoPage,\r\n dismissFacet,\r\n changeSort,\r\n query,\r\n pagination,\r\n dictionary,\r\n showMobileFacets\r\n}) => {\r\n const isLast = isLastPage(totalResults, query.perPage, query.page);\r\n const shouldShowNoResults = results.length === 0 && !isFirstLoad;\r\n const shouldShowPager = totalResults > query.perPage;\r\n\r\n function showFilters() {\r\n openFilters(); // DOM ops\r\n showMobileFacets(); // action creator\r\n }\r\n\r\n function wrapperClass() {\r\n const isRefreshing =\r\n loading && resultsDisplayStrategy === RESULTS_DISPLAY_REFRESH;\r\n const isAppending =\r\n loading && resultsDisplayStrategy === RESULTS_DISPLAY_APPEND;\r\n return classnames(\"search-results\", {\r\n \"is-refreshing\": isRefreshing,\r\n \"is-appending\": isAppending\r\n });\r\n }\r\n\r\n function resultsRange() {\r\n // Upper bound of visible results\r\n let ceiling = query.page * query.perPage;\r\n\r\n // Lower bound of visible results\r\n let floor = ceiling - query.perPage + 1;\r\n\r\n // make sure the ceiling does not exceed total results\r\n if (ceiling > totalResults) {\r\n ceiling = totalResults;\r\n }\r\n\r\n // if results are only one page, eschew the range entirely\r\n if (totalResults <= query.perPage) {\r\n return `${totalResults}`;\r\n }\r\n\r\n // if we're using load more, we want to show only\r\n // the ceiling of results displayed\r\n if (resultsDisplayStrategy === RESULTS_DISPLAY_APPEND) {\r\n return `${ceiling}`;\r\n }\r\n\r\n // otherwise, return the full range\r\n return `${floor} - ${ceiling}`;\r\n }\r\n\r\n function renderPagingControl() {\r\n if (pagination) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n if (!pagination && !isLast) {\r\n return (\r\n \r\n );\r\n }\r\n }\r\n\r\n function renderFilterToggle() {\r\n return (\r\n showFilters()}\r\n >\r\n Filter Your Results\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n {loading && (\r\n
    \r\n \r\n
    \r\n )}\r\n
    \r\n {shouldShowNoResults ? (\r\n

    No results found to match your query.

    \r\n ) : null}\r\n {results.map(item => )}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {shouldShowPager ? renderPagingControl() : null}\r\n
    \r\n );\r\n};\r\n\r\nconst {\r\n arrayOf,\r\n string,\r\n object,\r\n func,\r\n bool,\r\n number,\r\n shape,\r\n oneOfType\r\n} = PropTypes;\r\n\r\nSearchResultList.propTypes = {\r\n results: arrayOf(\r\n shape({\r\n id: oneOfType([number, string])\r\n })\r\n ),\r\n resultsDisplayStrategy: number,\r\n selectedFacets: arrayOf(object).isRequired,\r\n totalResults: number.isRequired,\r\n sorters: arrayOf(\r\n shape({\r\n id: oneOfType([number, string]).isRequired,\r\n label: string.isRequired,\r\n value: string.isRequired,\r\n direction: oneOfType([bool, string]),\r\n isActive: bool.isRequired\r\n })\r\n ),\r\n loading: bool,\r\n isFirstLoad: bool,\r\n nextPage: func,\r\n gotoPage: func,\r\n changeSort: func,\r\n showMobileFacets: func,\r\n dismissFacet: func,\r\n query: shape({\r\n q: string,\r\n sortBy: string,\r\n page: number,\r\n perPage: number,\r\n pageId: string\r\n }),\r\n pagination: bool,\r\n dictionary: object\r\n};\r\n\r\nSearchResultList.defaultProps = {\r\n selectedFacets: []\r\n};\r\n\r\nexport default SearchResultList;\r\n","import PropTypes from 'prop-types';\r\nimport React from \"react\";\r\n\r\nconst SearchStatus = ({\r\n resultsRange,\r\n totalResults,\r\n keywords,\r\n selectedFacets,\r\n handleFacetDismiss,\r\n dictionary\r\n}) => {\r\n\r\n const shouldRenderFacets = selectedFacets.length > 0;\r\n const shouldRenderKeywords = !!keywords;\r\n\r\n const onFacetClick = (value) => {\r\n handleFacetDismiss(value.id);\r\n };\r\n\r\n const resultLabel = totalResults === 1 ? \"result\" : \"results\";\r\n\r\n const renderSelectedFacets = () => {\r\n return (\r\n
    \r\n {dictionary.filtersLabel}\r\n
      \r\n {selectedFacets.map( value => {\r\n return (\r\n
    • \r\n {value.name}\r\n \r\n
    • \r\n );\r\n })}\r\n
    \r\n
    \r\n );\r\n };\r\n\r\n return (\r\n
    \r\n {resultsRange} \r\n of \r\n {totalResults} \r\n {resultLabel} \r\n { shouldRenderKeywords && (\r\n for "{keywords}" \r\n )}\r\n { shouldRenderFacets && renderSelectedFacets() }\r\n
    \r\n );\r\n\r\n};\r\n\r\nconst { string, number, object, arrayOf, func } = PropTypes;\r\n\r\nSearchStatus.propTypes = {\r\n resultsRange: string.isRequired,\r\n totalResults: number.isRequired,\r\n keywords: string,\r\n selectedFacets: arrayOf(object).isRequired,\r\n handleFacetDismiss: func.isRequired,\r\n dictionary: object\r\n};\r\n\r\nSearchStatus.defaultProps = {\r\n selectedFacets: []\r\n};\r\n\r\nexport default SearchStatus;\r\n","import PropTypes from \"prop-types\";\r\nimport React from \"react\";\r\nimport classnames from \"classnames\";\r\nimport { isLastPage } from \"../paging\";\r\nimport ResultItem from \"./ResultItem.jsx\";\r\nimport LoadMore from \"./LoadMore.jsx\";\r\nimport LoadingSpinner from \"./LoadingSpinner.jsx\";\r\nimport Pagination from \"./Pagination.jsx\";\r\nimport {\r\n RESULTS_DISPLAY_REFRESH,\r\n RESULTS_DISPLAY_APPEND\r\n} from \"../redux/resultsDisplay\";\r\n\r\nconst SimpleResultList = ({\r\n results,\r\n resultsDisplayStrategy,\r\n totalResults,\r\n loading,\r\n isFirstLoad,\r\n nextPage,\r\n gotoPage,\r\n query,\r\n pagination,\r\n dictionary\r\n}) => {\r\n const isLast = isLastPage(totalResults, query.perPage, query.page);\r\n const shouldShowNoResults = results.length === 0 && !isFirstLoad;\r\n const shouldShowPager = totalResults > query.perPage;\r\n\r\n function wrapperClass() {\r\n const isRefreshing =\r\n loading && resultsDisplayStrategy === RESULTS_DISPLAY_REFRESH;\r\n const isAppending =\r\n loading && resultsDisplayStrategy === RESULTS_DISPLAY_APPEND;\r\n return classnames(\"search-results search-results--simple\", {\r\n \"is-refreshing\": isRefreshing,\r\n \"is-appending\": isAppending\r\n });\r\n }\r\n\r\n function resultsRange() {\r\n // Upper bound of visible results\r\n let ceiling = query.page * query.perPage;\r\n\r\n // Lower bound of visible results\r\n let floor = ceiling - query.perPage + 1;\r\n\r\n // make sure the ceiling does not exceed total results\r\n if (ceiling > totalResults) {\r\n ceiling = totalResults;\r\n }\r\n\r\n // if results are only one page, eschew the range entirely\r\n if (totalResults <= query.perPage) {\r\n return `${totalResults}`;\r\n }\r\n\r\n // if we're using load more, we want to show only\r\n // the ceiling of results displayed\r\n if (resultsDisplayStrategy === RESULTS_DISPLAY_APPEND) {\r\n return `${ceiling}`;\r\n }\r\n\r\n // otherwise, return the full range\r\n return `${floor} - ${ceiling}`;\r\n }\r\n\r\n function renderPagingControl() {\r\n if (pagination && !isLast) {\r\n return (\r\n \r\n );\r\n }\r\n }\r\n\r\n function getAnchorLink(title) {\r\n return title[0].toUpperCase();\r\n }\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n {loading && (\r\n
    \r\n \r\n
    \r\n )}\r\n
      \r\n {shouldShowNoResults ? (\r\n

      No results found to match your query.

      \r\n ) : null}\r\n {results.map(item => (\r\n
    • \r\n \r\n \r\n
    • \r\n ))}\r\n
    \r\n
    \r\n {shouldShowPager ? renderPagingControl() : null}\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nconst {\r\n arrayOf,\r\n string,\r\n object,\r\n func,\r\n bool,\r\n number,\r\n shape,\r\n oneOfType\r\n} = PropTypes;\r\n\r\nSimpleResultList.propTypes = {\r\n results: arrayOf(\r\n shape({\r\n id: oneOfType([number, string]),\r\n title: string.isRequired\r\n })\r\n ),\r\n resultsDisplayStrategy: number,\r\n totalResults: number.isRequired,\r\n loading: bool,\r\n isFirstLoad: bool,\r\n nextPage: func,\r\n gotoPage: func,\r\n changeSort: func,\r\n query: shape({\r\n q: string,\r\n sortBy: string,\r\n page: number,\r\n perPage: number,\r\n pageId: string\r\n }),\r\n pagination: bool,\r\n dictionary: object\r\n};\r\n\r\nexport default SimpleResultList;\r\n","import PropTypes from 'prop-types';\r\nimport R from \"ramda\";\r\nimport React from \"react\";\r\nimport classnames from \"classnames\";\r\n\r\nfunction activeSortAscClass(sorter) {\r\n return classnames({ \"is-selected\": sorter.isActive && sorter.direction === \"asc\"});\r\n}\r\n\r\nfunction activeSortDescClass(sorter) {\r\n return classnames({ \"is-selected\": sorter.isActive && sorter.direction === \"desc\"});\r\n}\r\n\r\nfunction activateOrToggleSorter(sorterId, sorters, handleSortClick) {\r\n const toggleDir = dir => {\r\n if (!dir) {\r\n return null;\r\n } else {\r\n return dir === \"asc\" ? \"desc\" : \"asc\";\r\n }\r\n };\r\n\r\n // this is like a 'bookmark' to the direction property\r\n const dirLens = R.lensProp(\"direction\");\r\n\r\n // each argument array supplies a condition predicate, and an action\r\n // 1) if clicked sorter and active, toggle the sort direction\r\n // 2) if clicked sorter and not active, make active\r\n // 3) if not clicked sorter, and active, make inactive\r\n // 4) all other cases, do nothing\r\n const adjustSorters = R.cond([\r\n [R.whereEq({id: sorterId, isActive: true}), R.over(dirLens, toggleDir)],\r\n [R.whereEq({id: sorterId, isActive: false}), R.assoc(\"isActive\", true)],\r\n [R.whereEq({isActive: true}), R.assoc(\"isActive\", false)],\r\n [R.T, R.identity]\r\n ]);\r\n\r\n const newSorters = R.map(adjustSorters, sorters);\r\n handleSortClick(newSorters);\r\n}\r\n\r\n\r\nconst SortBar = ({sorters, handleSortClick, dictionary}) => {\r\n return (\r\n
    \r\n {dictionary.sortByLabel}\r\n
      \r\n {sorters.map(sorter => {\r\n let sorterClass = classnames(\"search-results__sorter\", { \"is-active\": sorter.isActive });\r\n return (\r\n activateOrToggleSorter(sorter.id, sorters, handleSortClick) }>\r\n \r\n {sorter.direction && (\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n );\r\n })}\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nconst { shape, func, number, string, bool, oneOfType, arrayOf, object } = PropTypes;\r\n\r\nSortBar.propTypes = {\r\n sorters: arrayOf(shape({\r\n id: oneOfType([number, string]).isRequired,\r\n label: string.isRequired,\r\n value: string.isRequired,\r\n direction: oneOfType([bool, string]),\r\n isActive: bool.isRequired\r\n })).isRequired,\r\n handleSortClick: func.isRequired,\r\n dictionary: object\r\n};\r\n\r\nexport default SortBar;\r\n","import { connect } from \"react-redux\";\r\nimport FacetList from \"../components/FacetList.jsx\";\r\nimport {\r\n loadFacetChange,\r\n loadClearFacetGroup,\r\n loadClearAllFacets,\r\n hideMobileFacets\r\n} from \"../redux/search/search.actions\";\r\n\r\nconst mapStateToProps = (state, ownProps) => {\r\n return {\r\n title: state.dictionary.facetsTitle,\r\n facets: state.facets,\r\n numOpenGroups: state.numOpenGroups,\r\n mobileFacetsShown: state.mobileFacetsShown\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n handleFacetChange: (facetId, facetValue) => {\r\n dispatch(loadFacetChange(facetId, facetValue));\r\n },\r\n\r\n handleClearGroup: (group) => {\r\n dispatch(loadClearFacetGroup(group));\r\n },\r\n\r\n handleClearAll: () => {\r\n dispatch(loadClearAllFacets());\r\n },\r\n\r\n hideMobileFacets: () => {\r\n dispatch(hideMobileFacets);\r\n }\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(FacetList);\r\n","import { connect } from \"react-redux\";\r\nimport FilterSelectBar from \"../components/FilterSelect/FilterSelectBar.jsx\";\r\nimport {\r\n loadFacetChange,\r\n loadClearFacetGroup,\r\n loadClearAllFacets\r\n} from \"../redux/search/search.actions\";\r\n\r\nconst mapStateToProps = (state, ownProps) => {\r\n return {\r\n title: state.dictionary.filterTitle,\r\n filterGroups: state.facets,\r\n dictionary: state.dictionary\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = dispatch => {\r\n return {\r\n onFilterChange: (facetId, facetValue) => {\r\n dispatch(loadFacetChange(facetId, facetValue));\r\n },\r\n\r\n handleClearGroup: group => () => {\r\n dispatch(loadClearFacetGroup(group));\r\n },\r\n\r\n handleClearAll: () => {\r\n dispatch(loadClearAllFacets());\r\n }\r\n };\r\n};\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(FilterSelectBar);\r\n","import { connect } from \"react-redux\";\r\nimport JumpLinks from \"../components/JumpLinks.jsx\";\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n results: state.results\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = dispatch => {\r\n return {\r\n \r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(JumpLinks);\r\n","import {connect} from \"react-redux\";\r\nimport SearchBox from \"../components/SearchBox.jsx\";\r\nimport { hideMobileFacets, loadNewKeywords, showMobileFacets } from \"../redux/search/search.actions\";\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n keywords: state.query.q,\r\n dictionary: state.dictionary,\r\n loading: state.loading\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n handleEntry: (value) => {\r\n dispatch(loadNewKeywords(value));\r\n },\r\n showMobileFacets: () => {\r\n dispatch(showMobileFacets());\r\n },\r\n hideMobileFacets: () => {\r\n dispatch(hideMobileFacets);\r\n }\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(SearchBox);\r\n","import { connect } from \"react-redux\";\r\nimport SearchResultList from \"../components/SearchResultList.jsx\";\r\nimport {\r\n loadNextPage,\r\n loadNewSort,\r\n loadNewPage,\r\n loadFacetChange,\r\n showMobileFacets\r\n} from \"../redux/search/search.actions\";\r\nimport { allSelectedFacets } from \"../redux/facets\";\r\n\r\nconst mapStateToProps = state => {\r\n return {\r\n results: state.results,\r\n resultsDisplayStrategy: state.resultsDisplayStrategy,\r\n selectedFacets: allSelectedFacets(state.facets),\r\n totalResults: state.totalResults,\r\n loading: state.loading,\r\n isFirstLoad: state.isFirstLoad,\r\n sorters: state.sorters,\r\n query: state.query,\r\n pagination: state.pagination,\r\n dictionary: state.dictionary\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = dispatch => {\r\n return {\r\n nextPage: () => {\r\n dispatch(loadNextPage());\r\n },\r\n changeSort: sorters => {\r\n dispatch(loadNewSort(sorters));\r\n },\r\n gotoPage: pageNum => {\r\n dispatch(loadNewPage(pageNum));\r\n },\r\n dismissFacet: facetId => {\r\n dispatch(loadFacetChange(facetId, false));\r\n },\r\n showMobileFacets: () => {\r\n dispatch(showMobileFacets());\r\n }\r\n };\r\n};\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(SearchResultList);\r\n","import { connect } from \"react-redux\";\r\nimport SimpleResultList from \"../components/SimpleResultList.jsx\";\r\nimport { loadNextPage, loadNewPage } from \"../redux/search/search.actions\";\r\n\r\nconst mapStateToProps = state => {\r\n return {\r\n results: state.results,\r\n resultsDisplayStrategy: state.resultsDisplayStrategy,\r\n totalResults: state.totalResults,\r\n loading: state.loading,\r\n isFirstLoad: state.isFirstLoad,\r\n query: state.query,\r\n pagination: state.pagination,\r\n dictionary: state.dictionary\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = dispatch => {\r\n return {\r\n nextPage: () => {\r\n dispatch(loadNextPage());\r\n },\r\n gotoPage: pageNum => {\r\n dispatch(loadNewPage(pageNum));\r\n }\r\n };\r\n};\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(SimpleResultList);\r\n","import PropTypes from \"prop-types\";\r\n\r\n// allows us to define propTypes recursively\r\n// https://github.com/facebook/react/issues/5676\r\nconst lazyF = f => ((...args) => f().apply(this, args));\r\n\r\nconst {shape, oneOfType, string, number, bool, arrayOf} = PropTypes;\r\n\r\nexport const facetValueShape = shape({\r\n id: oneOfType([number, string]).isRequired,\r\n name: string.isRequired,\r\n count: number.isRequired,\r\n selected: bool.isRequired,\r\n childValues: arrayOf(lazyF( () => facetValueShape ))\r\n});\r\n\r\nexport const facetGroupShape = shape({\r\n id: oneOfType([number, string]).isRequired,\r\n label: string.isRequired,\r\n values: arrayOf(facetValueShape).isRequired,\r\n childGroups: arrayOf(lazyF( () => facetGroupShape ))\r\n});\r\n","/** @module search/factory */\r\n\r\nimport R from \"ramda\";\r\nimport * as RA from \"ramda-adjunct\";\r\nimport React from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport thunk from \"redux-thunk\";\r\nimport { Provider } from \"react-redux\";\r\nimport rootReducer from \"./redux/rootReducer\";\r\nimport configureStore from \"./redux/configureStore\";\r\nimport createRoutingMiddleware from \"./redux/createRoutingMiddleware\";\r\n\r\n// Starting point for the object create by calling factory functions\r\nconst baseApp = {\r\n searchId: null,\r\n mountNodes: {},\r\n initialState: null,\r\n reduxMiddleware: {},\r\n externalConfig: null,\r\n initialDispatch: null\r\n};\r\n\r\n// COMPOSABLE FACTORY FUNCTIONS\r\n// These functions can be composed us R.pipe or R.compose to\r\n// create a single factory function that can be used with createApp()\r\n\r\n/**\r\n * Assign a search id\r\n * @function\r\n * @param {string} id\r\n * @returns {function(Object): Object} A function that modifies a search app object\r\n */\r\nexport const withSearchId = id => R.assoc(\"searchId\", id);\r\n\r\n// Specify a CSS selector where a react node should be mounted\r\n\r\n/**\r\n * Add a binding to mount a React node to a CSS selector\r\n * @function\r\n * @param {string} selector\r\n * @param {ReactNode} reactNode\r\n * @returns {function(Object): Object} A function that modifies a search app object\r\n */\r\nexport const withNode = (selector, reactNode) =>\r\n R.assocPath([\"mountNodes\", selector], reactNode);\r\n\r\n/**\r\n * Remove an already registered node by it's CSS selector\r\n * @function\r\n * @param {string} selector\r\n * @returns {function(Object): Object} A function that modifies a search app object\r\n */\r\nexport const withoutNode = selector => R.dissocPath([\"mountNodes\"], selector);\r\n\r\n/**\r\n * Applies thunk redux middleware, taking two functions to be applied as extra arguments\r\n * @function\r\n * @param {function(string, Object): Promise} fetchSearchResults Invokes the fetch/ajax for fetching results from server\r\n * @param {function(Object, Object): Object} mapResponseToState Taking the raw response and current state, returns a new state\r\n * @returns {function(Object): Object} A function that modifies a search app object\r\n */\r\nexport const withServiceApi = (fetchSearchResults, mapResponseToState) =>\r\n R.assocPath(\r\n [\"reduxMiddleware\", \"thunk\"],\r\n thunk.withExtraArgument({ fetchSearchResults, mapResponseToState })\r\n );\r\n\r\n/**\r\n * Applies query string routing middleware, taking two functions as arguments\r\n * @function\r\n * @param {function(Object): Object} mapStateToUrl Given current state, return an object mapping query param keys to values\r\n * @param {function(Object, Object): Object} handleUrlChange Given new query string params in the url, provide a new state object\r\n * @returns {function(Object): Object} A function that modifies a search app object\r\n */\r\nexport const withQueryStringRouting = (mapStateToUrl, handleUrlChange) =>\r\n R.assocPath(\r\n [\"reduxMiddleware\", \"routing\"],\r\n createRoutingMiddleware(mapStateToUrl, handleUrlChange)\r\n );\r\n\r\n/**\r\n * Remove query string routing middleware\r\n * @function\r\n * @returns {function(Object): Object} A function that modifies a search app object\r\n */\r\nexport const withoutQueryStringRouting = () =>\r\n R.dissocPath([\"reduxMiddleware\", \"routing\"]);\r\n\r\n/**\r\n * Assign an initial state object to the redux store. Optionally,\r\n * provide a function to transform the initial state, which is invoked\r\n * before the store is created. A good use of the transform function is\r\n * to dynamically alter the initial state at runtime, as a result of\r\n * outside configuration or computation. Non-dynamic initial state options should simply be\r\n * statically coded in the starting initial state object.\r\n * @function\r\n * @param {Object} initialState Object describing the initial state of the redux store\r\n * @param {function} [transformer] Optional function to apply tranformations to initialState before store is created\r\n * @returns {function(Object): Object} A function that modifies a search app object\r\n */\r\nexport const withInitialState = (initialState, transformer = R.identity) =>\r\n R.assoc(\"initialState\", transformer(initialState));\r\n\r\n/**\r\n * Specify a redux action creator to be dispatched immediately after store creation\r\n * @function\r\n * @param {function} actionFn The action creator function\r\n * @returns {function(Object): Object} A function that modifies a search app object\r\n */\r\nexport const withInitialDispatch = actionFn =>\r\n R.assoc(\"initialDispatch\", actionFn);\r\n\r\n// FACTORY LOGIC\r\n// Internal bootstrap logic for the app\r\n\r\n// Ensure that all mountNodes share the same searchId\r\nconst nodesMatchSearchId = (searchId, nodeSelectors) => {\r\n const ids = R.map(\r\n R.pipe(\r\n s => document.querySelector(s),\r\n e => e.getAttribute(\"data-search-id\")\r\n )\r\n );\r\n\r\n return RA.allEqual(ids);\r\n};\r\n\r\n// Render the specified React components to their bound elements.\r\n// Each component will be provided a redux store.\r\nconst mountReactNodes = (store, mountNodes) => {\r\n return R.forEachObjIndexed((node, selector) => {\r\n const elem = document.querySelector(selector);\r\n if (elem) {\r\n ReactDOM.render({node}, elem);\r\n }\r\n }, mountNodes);\r\n};\r\n\r\n// Trigger a no-op popstate event to force handleUrlChange() to be called\r\n// when the app is done bootstrapping.\r\nconst forceUrlChangeEvent = () => {\r\n const popStateEvent = new PopStateEvent(\"popstate\", { state: History.state });\r\n window.dispatchEvent(popStateEvent);\r\n};\r\n\r\n/**\r\n * Initialize a search app according to the factory provided. Sets up redux store and mounts React nodes.\r\n * @function\r\n * @param {function} appFactory The factory function\r\n * @throws {Error}\r\n */\r\nexport const createApp = appFactory => {\r\n const app = appFactory(baseApp);\r\n return () => {\r\n // if we have an invalid or non-matching id, raise an error\r\n if (!app.searchId || !nodesMatchSearchId(app.searchId, app.mountNodes)) {\r\n throw new Error(\r\n \"Could not initialize Thread search app. searchId was either not present, or provided mount nodes did not share the same searchId\"\r\n );\r\n }\r\n\r\n const store = configureStore(\r\n rootReducer,\r\n app.initialState,\r\n R.values(app.reduxMiddleware)\r\n );\r\n\r\n // if we are using routing, we want to run handleUrlChange on load\r\n if (app.reduxMiddleware.routing) {\r\n forceUrlChangeEvent();\r\n }\r\n\r\n if (app.initialDispatch && typeof app.initialDispatch === \"function\") {\r\n store.dispatch(app.initialDispatch());\r\n }\r\n\r\n if (!R.map(n => document.querySelector(n), R.keys(app.mountNodes)).length) {\r\n throw new Error(\r\n \"Could not initialize Thread search app. No mount nodes were provided, or mount node selectors could not resolve to elements in document.\"\r\n );\r\n }\r\n mountReactNodes(store, app.mountNodes);\r\n };\r\n};\r\n","// Open/Close for mobile sliding of filter bar.\r\n// Involves working with elements outside the\r\n// scope of React components, so logic kept here.\r\n\r\nexport function openFilters() {\r\n // Note - this depends on page state outside of the React app\r\n let filters = filtersWrapper();\r\n if (filters && !filtersAreOpen(filters)) {\r\n filters.classList.add(\"is-open\");\r\n }\r\n}\r\n\r\nexport function closeFilters() {\r\n let filters = filtersWrapper();\r\n if (filters) {\r\n filters.classList.remove(\"is-open\");\r\n }\r\n}\r\n\r\nexport function setFiltersOpenDirection() {\r\n let direction = \"is-right\";\r\n let filters = filtersWrapper();\r\n\r\n if (filters) {\r\n const sibling = filters.closest(\".container__col\").nextElementSibling;\r\n if (sibling && sibling.className.indexOf(\"container__col\") >= 0) {\r\n direction = \"is-left\";\r\n }\r\n }\r\n\r\n filters.classList.add(direction);\r\n}\r\n\r\n// when the facet column is 'lifted' absolutely from the container\r\n// it leaves behind an empty stacked container with a bottom margin\r\n// we want to remove that margin -- but only if facets are the\r\n// only components in the column\r\nexport function manageContainerWhitespace() {\r\n let parent = filtersWrapper().closest(\".container__col\");\r\n let col = parent;\r\n if (parent.children.item(0).classList.contains(\"container__inner\")) {\r\n parent = parent.children.item(0);\r\n }\r\n\r\n // cast from HTMLCollection to Array\r\n let children = Array.from(parent.children);\r\n const childCount = children.reduce((count, child) => {\r\n if (!child.classList.contains(\"search__facets-wrapper\")) {\r\n count = count + 1;\r\n }\r\n\r\n return count;\r\n\r\n } , 0);\r\n\r\n if (childCount === 0) {\r\n // remove the margin on the parent column\r\n col.style.marginBottom = 0;\r\n }\r\n}\r\n\r\nfunction filtersWrapper() {\r\n return document.querySelector(\".search__facets-wrapper\");\r\n}\r\n\r\nfunction filtersAreOpen(filtersWrapper) {\r\n return filtersWrapper.classList.contains(\"is-open\");\r\n}\r\n\r\n","import React from \"react\";\r\nimport R from \"ramda\";\r\n\r\nimport {\r\n withSearchId,\r\n withNode,\r\n withoutNode,\r\n withServiceApi,\r\n withQueryStringRouting,\r\n withoutQueryStringRouting,\r\n withInitialState,\r\n withInitialDispatch\r\n} from \"./factory\";\r\n\r\nimport {\r\n initialState as defaultInitialState,\r\n applyExternalConfig,\r\n applyResultDisplayStrategy\r\n} from \"./redux/initialState\";\r\nimport {\r\n fetchSearchResults as defaultFetchResults,\r\n mapResponseToState as defaultMapResponseToState\r\n} from \"./redux/service.js\";\r\nimport { loadResults } from \"./redux/search/search.actions\";\r\n\r\nimport {\r\n mapStateToUrl as defaultMapStateToUrl,\r\n handleUrlChange as defaultHandleUrlChange\r\n} from \"./redux/routing\";\r\n\r\nimport SearchResultsContainer from \"./containers/SearchResultsContainer.jsx\";\r\nimport SimpleResultsContainer from \"./containers/SimpleResultsContainer.jsx\";\r\nimport QueryContainer from \"./containers/QueryContainer.jsx\";\r\nimport FacetsContainer from \"./containers/FacetsContainer.jsx\";\r\nimport FilterBarContainer from \"./containers/FilterBarContainer.jsx\";\r\nimport JumpLinksContainer from \"./containers/JumpLinksContainer.jsx\";\r\n\r\n// Default search app factory function, without any React components\r\n// specified. This is a good \"base factory\" to use if you want the\r\n// \"out-of-box\" search config, but with custom components.\r\nexport const nodelessDefaultFactory = searchId =>\r\n R.pipe(\r\n withSearchId(searchId),\r\n withInitialState(\r\n defaultInitialState,\r\n R.pipe(\r\n applyExternalConfig(window.threadSearchConfigs, searchId),\r\n applyResultDisplayStrategy\r\n )\r\n ),\r\n withQueryStringRouting(defaultMapStateToUrl, defaultHandleUrlChange),\r\n withServiceApi(defaultFetchResults, defaultMapResponseToState),\r\n withInitialDispatch(loadResults)\r\n );\r\n\r\n// Default \"out-of-box\" search page factory\r\nexport const defaultFacetedSearchFactory = searchId =>\r\n R.pipe(\r\n nodelessDefaultFactory(searchId),\r\n withNode(\".js-search-query\", ),\r\n withNode(\".js-search-results\", ),\r\n withNode(\".js-search-facets\", )\r\n );\r\n\r\n// Factory for Dynamic Content Listing apps\r\nexport const defaultDynamicContentFactory = searchId =>\r\n R.pipe(\r\n nodelessDefaultFactory(searchId),\r\n withoutQueryStringRouting(),\r\n withNode(\".js-dynamic-results\", ),\r\n withNode(\".js-dynamic-atoz\", ),\r\n withNode(\".js-dynamic-filter-bar\", )\r\n );\r\n","/**\r\n * @module search/paging\r\n */\r\n\r\n/**\r\n * @typedef {Object} PageShape\r\n * @property {number} num The page number\r\n * @property {string} label Display name for page\r\n * @property {boolean} current True if page is the current page\r\n */\r\n\r\nimport R from \"ramda\";\r\n\r\n// number of page to show before and after current page\r\n// if at first or last page, double the number will be shown\r\n// either after or before\r\nconst PAGE_BLOCK_RANGE = 3;\r\n\r\n/**\r\n * Get a count total pages in the current result set.\r\n * @param {Number} totalResults\r\n * @param {Number} resultsPerPage\r\n * @returns {Number} total number of pages\r\n */\r\nexport function totalPages(totalResults, resultsPerPage) {\r\n return Math.ceil(totalResults / resultsPerPage);\r\n}\r\n\r\n/**\r\n * Is this page the last?\r\n * @param {number} totalResults\r\n * @param {number} resultsPerPage\r\n * @param {number} currentPage\r\n * @returns {boolean}\r\n */\r\nexport function isLastPage(totalResults, resultsPerPage, currentPage) {\r\n const numPages = totalPages(totalResults, resultsPerPage);\r\n return currentPage >= numPages;\r\n}\r\n\r\n/**\r\n * Is this page the first?\r\n * @param {number} currentPage\r\n * @returns {boolean}\r\n */\r\nexport function isFirstPage(currentPage) {\r\n return currentPage === 1;\r\n}\r\n\r\n// returns a block of page numbers appropriately\r\n// adjacent to the currently selected page\r\n/**\r\n * A block of page numbers appropriately adjacent to the currently selected page\r\n * @param {number} totalResults\r\n * @param {number} resultsPerPage\r\n * @param {number} currentPage\r\n * @returns {Array}\r\n */\r\nexport function pageBlock(totalResults, resultsPerPage, currentPage) {\r\n const numPages = totalPages(totalResults, resultsPerPage);\r\n const numPagesVisible = Math.min(numPages, PAGE_BLOCK_RANGE * 2 + 1);\r\n let start = Math.max(1, currentPage - PAGE_BLOCK_RANGE);\r\n\r\n if (currentPage + PAGE_BLOCK_RANGE > numPages) {\r\n // (desired page range) - (Size of current page range)\r\n start -= numPagesVisible - (numPages - (start - 1));\r\n }\r\n\r\n const pages = R.range(start, start + numPagesVisible);\r\n\r\n return R.map(page => {\r\n return {\r\n num: page,\r\n label: page,\r\n current: page == currentPage\r\n };\r\n }, pages);\r\n}\r\n","import { createStore, applyMiddleware, compose } from \"redux\";\r\n\r\n\r\n\r\nexport default function configureStore(rootReducer, initialState = {}, middlewares = {}) {\r\n const middlewareEnhancer = applyMiddleware(...middlewares);\r\n\r\n // https://github.com/zalmoxisus/redux-devtools-extension#1-with-redux\r\n // Apply devToolsExtension if present on client, otherwise, just pass through an Identity function\r\n const devToolEnhancer = window.devToolsExtension ? window.devToolsExtension() : x => x;\r\n\r\n // build our store!\r\n return createStore(rootReducer, initialState, compose(middlewareEnhancer, devToolEnhancer));\r\n}\r\n","// http://redux.js.org/docs/advanced/Middleware.html\r\nimport URI from \"urijs\";\r\n\r\nconst URL_INIT = \"ROUTING/URL_INIT\";\r\n\r\n\r\n/**\r\n * mapStateToUrl: User provided function to get the URL parameters out of the redux state.\r\n * The middleware will use this to update the URL when the redux state changes.\r\n * @callback mapStateToUrl\r\n * @param {Object} state: the current redux state\r\n * @return {Object} An object with key/value pairs of the parameters to go in the url.\r\n * This object will be passed to URI.search()\r\n * https://medialize.github.io/URI.js/docs.html#accessors-search\r\n * eg { location: state.location.slug } => my-url.com/?location=united-states\r\n */\r\n\r\n/**\r\n * hangleUrlChange: User provided function to handle updating the state when the url changes\r\n * @callback hangleUrlChange\r\n * @param {Object} urlParams: the current url params\r\n * @param {Object} store : the current redux store. Use store.getState() and store.dispatch\r\n * @param {Object} event : the popstate event\r\n * @return {Promise|Any} Return a promise if something in handleUrlChange is disptached async.\r\n * Otherwise, it doesn't matter\r\n */\r\n\r\n/**\r\n * createRoutingMiddleware: creates a middleware function to be passed to applyMiddleware\r\n * and attaches a window popstate listener\r\n * @param {Function} mapStateToUrl : callback function, see above\r\n * @param {Function} handleUrlChange : callback function, see above\r\n * @param {Boolean} handleLoad : if true, it will call handleUrlChange when the page loads\r\n * @return {Function} redux middleware\r\n */\r\nexport default function createRoutingMiddleware(mapStateToUrl, handleUrlChange, handleLoad = true) {\r\n\r\n // return the middlware\r\n // \"next\" is the next dispatch function\r\n\r\n // cache the url params at load time if handling first load\r\n let initialUrlParams = handleLoad ? URI(window.location).search(true) : undefined;\r\n\r\n return store => next => {\r\n\r\n // flags are a code smell, but maybe this is ok in the situation.\r\n // use replaceState instead of pushState if this dispatch came from the popstate\r\n let shouldReplace = false;\r\n\r\n // function to run the user-provided handleUrlChange\r\n const executeUrlChange = (event) => {\r\n\r\n const urlParams = initialUrlParams || URI(window.location).search(true);\r\n\r\n // set the flag that lets the dispatch function know that it should use replaceState\r\n shouldReplace = true;\r\n\r\n // call user function to handle the url change. This function will probably call store.dispatch\r\n const change = handleUrlChange(urlParams, store, event);\r\n\r\n // once we've consumed initialUrlParams, scrap them\r\n initialUrlParams = undefined;\r\n\r\n // if handleUrlChange returns a promise, revert the flag only after it's done\r\n if (change && typeof(change.then) === \"function\"){\r\n change.then(() => { shouldReplace = false; });\r\n }\r\n // otherwise, revert it after handleUrlChange is done\r\n else {\r\n shouldReplace = false;\r\n }\r\n };\r\n\r\n // when the url changes...\r\n window.addEventListener(\"popstate\", (event) => {\r\n event.preventDefault();\r\n executeUrlChange(event);\r\n });\r\n\r\n\r\n // our augmented dispatch function\r\n const dispatch = action => {\r\n\r\n // result is the action itself, this will also update the state\r\n // http://redux.js.org/docs/api/Store.html#dispatch\r\n const result = next(action);\r\n\r\n // execute the user function to get the url params out of the newly updated redux state\r\n const params = mapStateToUrl(store.getState());\r\n\r\n // .search uses a ? in the url\r\n const url = URI.decode(URI(window.location.href).search(params).toString());\r\n\r\n // if the url is different, pushState/replaceState the new url\r\n if (!URI(url).equals(window.location.href)) {\r\n // if we're initializing the url params, replace the url state instead of push\r\n // eg. /profile?loc=27 > /profile?loc=27&breakdown=...\r\n // when the browser navigates \"back\", we don't want to go back to just /profile?loc=27\r\n // we want all the breakdown=... stuff\r\n if (action.type === URL_INIT || shouldReplace === true){\r\n history.replaceState(null, null, url);\r\n }\r\n else {\r\n history.pushState(null, null, url);\r\n }\r\n }\r\n\r\n return result;\r\n };\r\n\r\n // dispatch immediately to populate the url params\r\n // (this only happens when createRoutingMiddleware is called)\r\n dispatch({ type: URL_INIT });\r\n\r\n // return the new dispatch function\r\n return dispatch;\r\n };\r\n}","/** @module search/facets **/\r\n\r\n/**\r\n * @typedef {Object} FacetValueShape\r\n * @property {Array} childValues Array of {@link FacetValueShape}\r\n * @property {number} count Number of available records\r\n * @property {string} id Identifier\r\n * @property {string} name Display Name\r\n * @property {boolean} selected Selection state\r\n */\r\n\r\n/**\r\n * @typedef {Object} FacetGroupShape\r\n * @property {Array} childGroups Array of {@link FacetGroupShape}\r\n * @property {string} id Identifier for group\r\n\r\n * @property {string} label Display name for group\r\n * @property {array} values Array of {@link FacetValueShape}\r\n */\r\n\r\nimport R from \"ramda\";\r\nimport { flattenObj } from \"../util\";\r\n\r\n/**\r\n * Extract all facet values from a facet group, including child groups and child values.\r\n * @param {FacetGroupShape} group The group to filter\r\n * @returns {Array} List of extracted facet values\r\n */\r\nexport function allFacetValuesFromGroup(group) {\r\n let allValues = [];\r\n\r\n const grabAllValues = value => {\r\n allValues.push(value);\r\n if (value.childValues.length > 0) {\r\n value.childValues.forEach(cv => grabAllValues(cv));\r\n }\r\n };\r\n\r\n group.values.forEach(value => grabAllValues(value));\r\n\r\n if (group.hasOwnProperty(\"childGroups\")) {\r\n group.childGroups.forEach(childGroup => {\r\n childGroup.values.forEach(value => grabAllValues(value));\r\n });\r\n }\r\n\r\n return allValues;\r\n}\r\n\r\n/**\r\n * Extract selected facet values, grouping by root facet group.\r\n * @param {Array} facets List of facet groups\r\n * @returns {Object>} Lists of selected facet values, keyed by root group id.\r\n */\r\nexport function selectedFacetsByGroup(facets) {\r\n let facetsByGroup = {};\r\n facets.forEach(group => {\r\n const selectedFacets = selectedFacetsFromGroup(group);\r\n if (selectedFacets.length) {\r\n facetsByGroup[group.id] = selectedFacetsFromGroup(group);\r\n }\r\n });\r\n\r\n return facetsByGroup;\r\n}\r\n\r\n/**\r\n * Extract just the ids of select facet values from a facet group\r\n * @param {Array} facets List of facet groups\r\n * @returns {object>} Lists of selected ids, keyed by root group id.\r\n */\r\nexport function selectedFacetIdsByGroup(facets) {\r\n const selectedFacets = selectedFacetsByGroup(facets);\r\n Object.keys(selectedFacets).forEach(k => {\r\n selectedFacets[k] = selectedFacets[k].map(f => f.id);\r\n });\r\n\r\n return selectedFacets;\r\n}\r\n\r\n/**\r\n * Extract only selected facet values from a list of facet values. Inclusive of child facet values.\r\n * @param {Array} values Facet value objects to filter\r\n * @returns {Array} A flat list of selected facet values\r\n */\r\nexport function selectedFacetsFromValues(values) {\r\n let selected = values.filter(v => v.selected === true);\r\n values.forEach(value => {\r\n if (value.hasOwnProperty(\"childValues\")) {\r\n selected = selected.concat(selectedFacetsFromValues(value.childValues));\r\n }\r\n });\r\n\r\n return selected;\r\n}\r\n\r\n/**\r\n * Extract only selected facet values from a facet group. Inclusive of child facet groups and child facet values.\r\n * @param {FacetGroupShape} values Facet group to filter\r\n * @returns {Array} Only selected facet values\r\n */\r\nexport function selectedFacetsFromGroup(group) {\r\n let selected = selectedFacetsFromValues(group.values);\r\n if (group.hasOwnProperty(\"childGroups\")) {\r\n group.childGroups.forEach(childGroup => {\r\n selected = selected.concat(selectedFacetsFromGroup(childGroup));\r\n });\r\n }\r\n\r\n return selected;\r\n}\r\n\r\n/**\r\n * Extract all facet value objects that are selected. Inclusive of all groups, subgroups and child values.\r\n * @param {Array} facets List of facet groups to be filtered\r\n * @returns {Array} Only selected facet values\r\n */\r\nexport function allSelectedFacets(facets) {\r\n return facets.reduce((all, group) => {\r\n return all.concat(selectedFacetsFromGroup(group));\r\n }, []);\r\n}\r\n\r\n/**\r\n * Does a group have a facet value object that is selected?\r\n * @param {FacetGroupShape} group Facet group to be filtered\r\n * @returns {boolean}\r\n */\r\nexport function groupHasSelectedChildren(group) {\r\n return selectedFacetsFromGroup(group).length > 0;\r\n}\r\n\r\n/**\r\n * Does a facet value object have a child facet value that is selected?\r\n * @param {FacetGroupShape} group Facet group to check\r\n * @returns {boolean}\r\n */\r\nexport function valueHasSelectedChildren(value) {\r\n // does not include selection state of group itself\r\n let selectedChildren = [];\r\n if (value.hasOwnProperty(\"childValues\")) {\r\n selectedChildren = selectedFacetsFromValues(value.childValues);\r\n }\r\n\r\n return selectedChildren.length > 0;\r\n}\r\n\r\n/**\r\n * Extract facets value objects from a group which has a child value that is selected.\r\n * The parent facet value does not need to be selected in order to be chosen.\r\n * @param {FacetGroupShape}group Facet group to check\r\n * @returns {Array}\r\n */\r\nexport function valuesWithSelectedChildren(group) {\r\n const all = allFacetValuesFromGroup(group);\r\n return all.reduce((hasSelected, value) => {\r\n if (valueHasSelectedChildren(value)) {\r\n hasSelected.push(value);\r\n }\r\n\r\n return hasSelected;\r\n }, []);\r\n}\r\n\r\n// TODO: This performs acceptably for now\r\n// but is definitely not optimal for very large data sets.\r\n// Should consider a different approach to setting deeply nested data.\r\n/**\r\n * Returns an array of object path segments that\r\n * resolves to the facet value object in the\r\n * provided facets state object. This is useful\r\n * when needing to make immutable changes using\r\n * R.assocPath or R.lensPath\r\n * @param {string} valueId\r\n * @param {Array} facets List of facet groups\r\n * @returns {Object}\r\n */\r\nexport function pathFromValueId(valueId, facets) {\r\n // First, flatten the facets object into k,v pairs of properties\r\n // and stringified \"path\" keys. Then use the paths to\r\n // lookup the facet value\r\n const facetLookup = R.invertObj(flattenObj(facets));\r\n const delimitedPath = facetLookup[valueId];\r\n\r\n // Our paths are in format \"a.b.0.c', so convert into [\"a\", \"b\", 0, \"c\"].\r\n // Then pop off the last path segment so it points to the entire value\r\n // object, instead of just the id.\r\n let pathArr = delimitedPath.split(\".\");\r\n pathArr.pop();\r\n\r\n // Finally, ensure numerical \"keys\" are properly cast to Numbers\r\n // or else Ramda will treat them as object keys and\r\n // convert arrays to objects when using assocPath or lens methods.\r\n pathArr = pathArr.map(segment => {\r\n const numberified = parseInt(segment, 10);\r\n return isNaN(numberified) ? segment : numberified;\r\n });\r\n\r\n return pathArr;\r\n}\r\n\r\n/**\r\n * Create a new facets array with the specified value objects set the desired selected state\r\n * @param {Array} valueIds The ids of the value object we want to affect\r\n * @param {boolean} selected State of the selected property\r\n * @param {Array} facets List of facet groups\r\n * @returns {Array} The new facets array\r\n */\r\nexport function setSelectedOnFacetValues(valueIds, selected, facets) {\r\n // Lookup the path for the given facetId\r\n // and change it using assocPath\r\n\r\n if (!valueIds.length) {\r\n return facets;\r\n }\r\n\r\n const paths = valueIds.map(valueId => {\r\n let pathArr = pathFromValueId(valueId, facets);\r\n // add \"selected\" to the end of our path\r\n pathArr.push(\"selected\");\r\n\r\n return pathArr;\r\n });\r\n\r\n return paths.reduce((newFacets, path) => {\r\n // NOTE: Using numerical indexes in assocPath only work in\r\n // Ramda 0.23.0+\r\n return R.assocPath(path, selected, newFacets);\r\n }, facets);\r\n}\r\n","/** @module search/initialState **/\r\nimport R from \"ramda\";\r\nimport RA from \"ramda-adjunct\";\r\nimport {\r\n RESULTS_DISPLAY_APPEND,\r\n RESULTS_DISPLAY_REFRESH\r\n} from \"./resultsDisplay\";\r\n\r\n/**\r\n * @typedef InitialState\r\n * @property {object} [dictionary={}] Key/value pairs corresponding to entries within a Sitecore dictionary item. Use as needed.\r\n * @property {string} [errorMsg=null] A place to store a current global error message than be used by componetns\r\n * @property {Array} [facets=[]] Array of FacetGroups in the current result set\r\n * @property {boolean} [isFirstLoad=true] Flag to denote if search results have been loaded once. Automatically set to false after the first request.\r\n * @property {boolean} [loading=false] Flag set if the app is currently waiting for a query to return\r\n * @property {boolean} [mobileFacetsShown=false] Flag for whether or not to trigger the display for facets on mobile\r\n * @property {number} [numOpenGroups=null] Number of facets groups to show expanded on page load. Only used with accordion facet bar.\r\n * @property {boolean} [pagination=false] Controls whether or not to display the pagination control at the bottom of the result list. If false, a \"Load More\" button will appear instead.\r\n * @property {object} [preSelectedFacets={}] Mark facets as selected prior to initial search request. Used to restore facet state from url parameters. Specify using `{groupName: [\"facetId1\", \"facetId2\"]}`\r\n * @property {object} query Represents a search query, as sent to the server\r\n * @property {boolean} [query.loadAllPages=false] Flag to return all results up until the page being requested. Used in conjunction with the \"Lore More\" style of pagination when restoring state from the URL's query string.\r\n * @property {number} [query.page=1] The page number of results being requested\r\n * @property {string} [query.pageId=Empty GUID] A GUID corresponding to the Sitecore page where the search lives\r\n * @property {number} [query.perPage=10] The number of results to return in the requested page\r\n * @property {string} [query.q=null] Keyword terms to search for\r\n * @property {string} [query.sortBy=\"relevance\"] The value to sort the results by\r\n * @property {string} [query.sortOrder=\"asc\"] The order in which to display the results\r\n * @property {number} [resultsDisplayStrategy=RESULTS_DISPLAY_APPEND] Indicates how new result items should be displayed: either replacing the current result set or appending to it.\r\n * @property {Array} [sorters=[]] Array of sorter objects, which defines which sort options are available\r\n * @property {number} [totalResults=0] Total number of items in the current search result set\r\n * @property {string} [url=\"http:localhost:4000\"] The enpoint url of the search web service\r\n */\r\n\r\n/**\r\n * The starting state of the redux store, data to be shared among app components.\r\n * @type InitialState\r\n */\r\nexport const initialState = {\r\n dictionary: {},\r\n errorMsg: null,\r\n facets: [],\r\n isFirstLoad: true,\r\n loading: true,\r\n mobileFacetsShown: false,\r\n numOpenGroups: null,\r\n pagination: false,\r\n preSelectedFacets: {},\r\n query: {\r\n q: null,\r\n sortBy: \"relevance\",\r\n sortOrder: \"asc\",\r\n page: 1,\r\n perPage: 4,\r\n pageId: \"00000000-0000-0000-0000-000000000000\",\r\n loadAllPages: false\r\n },\r\n results: [],\r\n resultsDisplayStrategy: RESULTS_DISPLAY_APPEND,\r\n sorters: [],\r\n totalResults: 0,\r\n url: \"http://localhost:4000\"\r\n};\r\n\r\n// given a set of external config objects (e.g., window.threadSearchConfigs)\r\n// find the appropriate config for the searchId and deep merge it into\r\n// the initial state\r\nexport const applyExternalConfig = (configArr, searchId) => {\r\n if (!configArr) {\r\n console.warn(\r\n \"Search: applyExternalConfig for initialState received a null or undefined config object. No changes applied.\"\r\n );\r\n return R.curry((obj1, obj2) => R.identity(obj2))({});\r\n }\r\n const config = R.find(R.propEq(\"searchId\", searchId), configArr);\r\n return R.mergeDeepLeft(config);\r\n};\r\n\r\n// Change the key names of the initial state params,\r\n// keyDef is object like: { oldName: \"newName\" }\r\nexport const applyRenameKeys = keyDef => RA.renameKeys(keydef);\r\n\r\n// Given an array of property keys, remove them from the initial state\r\nexport const applyOmitKeys = keys => R.omit(keys);\r\n\r\n// Based on the current value of \"pagination\", toggle the results display\r\n// strategy (\"append\" (for no pagination) or \"refresh\" (for pagination))\r\nexport const applyResultDisplayStrategy = R.ifElse(\r\n R.propEq(\"pagination\", true),\r\n R.assoc(\"resultsDisplayStrategy\", RESULTS_DISPLAY_REFRESH),\r\n R.assoc(\"resultsDisplayStrategy\", RESULTS_DISPLAY_APPEND)\r\n);\r\n","// flags to determine how to handle\r\n// showing a new result set\r\nexport const RESULTS_DISPLAY_REFRESH = 0;\r\nexport const RESULTS_DISPLAY_APPEND = 1;\r\n","import searchReducer from \"./search/search.reducer\";\r\n\r\n// For now, this application only has a single reducer\r\n// Additional reducers can be added here by using\r\n// combineReducers() from redux or rolling your\r\n// own: http://redux.js.org/docs/recipes/reducers/BeyondCombineReducers.html\r\n\r\nexport default searchReducer;\r\n","import R from \"ramda\";\r\nimport { mergeQueryParams } from \"./search/search.actions\";\r\nimport { selectedFacetIdsByGroup, setSelectedOnFacetValues } from \"./facets\";\r\n\r\nexport function mapStateToUrl(state) {\r\n // choose which parts of the query\r\n // state we want exposed in the\r\n // url query string\r\n let exposedParams = [\r\n \"q\",\r\n \"sortBy\",\r\n \"sortOrder\",\r\n \"page\"\r\n ];\r\n\r\n // if we're in pagination mode,\r\n // we also want to expose the page num\r\n if (state.pagination) {\r\n exposedParams.push(\"page\");\r\n }\r\n\r\n let selectedFacets;\r\n if (state.facets.length > 0) {\r\n selectedFacets = selectedFacetIdsByGroup(state.facets);\r\n\r\n // turn selected facets ids into comma delimited string\r\n Object.keys(selectedFacets).forEach(k => {\r\n selectedFacets[k] = selectedFacets[k].join(\",\");\r\n });\r\n } else {\r\n selectedFacets = state.preSelectedFacets;\r\n }\r\n\r\n\r\n return R.merge(selectedFacets, R.pick(exposedParams, state.query));\r\n}\r\n\r\nexport function handleUrlChange(urlParams, store) {\r\n // a list of parameters that we know aren't\r\n // bound to facet group names\r\n const nonFacetParams = [\r\n \"q\",\r\n \"sortOrder\",\r\n \"sortBy\",\r\n \"page\"\r\n ];\r\n\r\n let facets = store.getState().facets;\r\n\r\n // separate out the param types\r\n let queryParams = R.pick(nonFacetParams, urlParams);\r\n let facetParams = R.omit(nonFacetParams, urlParams);\r\n\r\n let newFacets = [];\r\n let preSelectedFacets = {};\r\n if (facets.length > 0) {\r\n // get an array of valueIds from { group: valueId, valueId } format\r\n // and set them to selected. If\r\n newFacets = setSelectedOnFacetValues(R.values(facetParams), true, facets);\r\n } else {\r\n // if facets is empty, it's because we haven't gotten\r\n // a response yet. So we'll also pass an object of\r\n // pre-selected facets we can pass to the query\r\n // Note: transforms comma-delimited strings to array\r\n\r\n preSelectedFacets = R.map(R.split(\",\"), facetParams);\r\n }\r\n\r\n\r\n // Anytime we expose a number value to the query\r\n // string it will be sent back to us as a string.\r\n // Make sure to cast it back to a number here.\r\n const castToInt = R.curry(parseInt)(R.__, 10);\r\n queryParams = R.evolve({\r\n page: castToInt\r\n }, queryParams);\r\n\r\n // Provide a new facets object.\r\n // First, just grab all facets ids from\r\n // from the facetParams\r\n //pickIds = R.values();\r\n\r\n return store.dispatch(mergeQueryParams(queryParams, newFacets, preSelectedFacets));\r\n}\r\n\r\n","import R from \"ramda\";\r\nimport {\r\n RESULTS_DISPLAY_APPEND,\r\n RESULTS_DISPLAY_REFRESH\r\n} from \"../resultsDisplay\";\r\nimport { selectedFacetIdsByGroup } from \"../facets\";\r\n\r\n// Action Names\r\nexport const LOAD_RESULTS_START = \"SEARCH/LOAD_RESULTS_START\";\r\nexport const LOAD_RESULTS_FAIL = \"SEARCH/LOAD_RESULTS_FAIL\";\r\nexport const LOAD_RESULTS_SUCCESS = \"SEARCH/LOAD_RESULTS_SUCCESS\";\r\nexport const MERGE_QUERY_PARAMS = \"SEARCH/MERGE_QUERY_PARAMS\";\r\nexport const KEYWORDS_CHANGED = \"SEARCH/KEYWORDS_CHANGED\";\r\nexport const INCREMENT_PAGE = \"SEARCH/INCREMENT_PAGE\";\r\nexport const CHANGE_PAGE = \"SEARCH/CHANGE_PAGE\";\r\nexport const SORT_CHANGED = \"SEARCH/SORT_CHANGED\";\r\nexport const FACET_CHANGED = \"SEARCH/FACET_CHANGED\";\r\nexport const CLEAR_FACET_GROUP = \"SEARCH/CLEAR_FACET_GROUP\";\r\nexport const CLEAR_ALL_FACETS = \"SEARCH/CLEAR_ALL_FACETS\";\r\nexport const TOGGLE_MOBILE_FACETS = \"SEARCH/TOGGLE_MOBILE_FACETS\";\r\n\r\n// Single-dispatch Action Creators\r\nexport function mergeQueryParams(params, facets, preSelectedFacets) {\r\n return {\r\n type: MERGE_QUERY_PARAMS,\r\n payload: { params, facets, preSelectedFacets }\r\n };\r\n}\r\n\r\nexport function loadStart() {\r\n return {\r\n type: LOAD_RESULTS_START,\r\n payload: null\r\n };\r\n}\r\n\r\nexport function loadSuccess(response, resultsDisplay, mapResponseToState) {\r\n return {\r\n type: LOAD_RESULTS_SUCCESS,\r\n payload: { response, resultsDisplay, mapResponseToState }\r\n };\r\n}\r\n\r\nexport function loadFail(err) {\r\n return {\r\n type: LOAD_RESULTS_FAIL,\r\n payload: err\r\n };\r\n}\r\n\r\nexport function sortChanged(sorters) {\r\n return {\r\n type: SORT_CHANGED,\r\n payload: sorters\r\n };\r\n}\r\n\r\nexport function incrementPage() {\r\n return {\r\n type: INCREMENT_PAGE,\r\n payload: null\r\n };\r\n}\r\n\r\nexport function changePage(pageNum) {\r\n return {\r\n type: CHANGE_PAGE,\r\n payload: pageNum\r\n };\r\n}\r\n\r\nexport function keywordsChanged(keywords) {\r\n return {\r\n type: KEYWORDS_CHANGED,\r\n payload: keywords\r\n };\r\n}\r\n\r\nexport function facetChanged(facetId, facetValue) {\r\n return {\r\n type: FACET_CHANGED,\r\n payload: { facetId, facetValue }\r\n };\r\n}\r\n\r\nexport function clearFacetGroup(group) {\r\n return {\r\n type: CLEAR_FACET_GROUP,\r\n payload: group\r\n };\r\n}\r\n\r\nexport function clearAllFacets() {\r\n return {\r\n type: CLEAR_ALL_FACETS,\r\n payload: null\r\n };\r\n}\r\n\r\nexport function showMobileFacets() {\r\n return {\r\n type: TOGGLE_MOBILE_FACETS,\r\n payload: true\r\n };\r\n}\r\n\r\nexport function hideMobileFacets() {\r\n return {\r\n type: TOGGLE_MOBILE_FACETS,\r\n payload: false\r\n };\r\n}\r\n\r\n// Multi-dispatch Action Creators\r\n// Note that multiple dispatches inside an\r\n// action creator only work when using the\r\n// redux-thunk middleware. These action\r\n// creators MUST return a function.\r\n// https://github.com/gaearon/redux-thunk\r\n\r\nexport function loadResults(resultsDisplay = RESULTS_DISPLAY_APPEND) {\r\n return (dispatch, getState, { mapResponseToState, fetchSearchResults }) => {\r\n const state = getState();\r\n const url = state.url;\r\n\r\n // get our query params, and add any pre-selected facets we\r\n // might have\r\n const query = R.merge(state.query, state.preSelectedFacets);\r\n\r\n const facets = selectedFacetIdsByGroup(getState().facets);\r\n\r\n // merge with pre-selected facets\r\n R.merge(facets, state.preSelectedFacets);\r\n\r\n dispatch(loadStart());\r\n fetchSearchResults(url, R.merge(query, facets))\r\n .then(response => {\r\n dispatch(loadSuccess(response, resultsDisplay, mapResponseToState));\r\n })\r\n .fail(error => {\r\n dispatch(loadFail(error));\r\n });\r\n };\r\n}\r\n\r\nexport function loadNextPage() {\r\n return dispatch => {\r\n dispatch(incrementPage());\r\n dispatch(loadResults());\r\n };\r\n}\r\n\r\nexport function loadNewPage(pageNum) {\r\n return dispatch => {\r\n dispatch(changePage(pageNum));\r\n dispatch(loadResults());\r\n };\r\n}\r\n\r\nexport function loadNewSort(sorters) {\r\n return dispatch => {\r\n dispatch(sortChanged(sorters));\r\n dispatch(loadResults());\r\n };\r\n}\r\n\r\nexport function loadNewKeywords(keywords) {\r\n return dispatch => {\r\n dispatch(keywordsChanged(keywords));\r\n dispatch(loadResults());\r\n };\r\n}\r\n\r\nexport function loadFacetChange(facetId, facetValue) {\r\n return dispatch => {\r\n dispatch(facetChanged(facetId, facetValue));\r\n dispatch(loadResults());\r\n };\r\n}\r\n\r\nexport function loadClearFacetGroup(group) {\r\n return dispatch => {\r\n dispatch(clearFacetGroup(group));\r\n dispatch(loadResults());\r\n };\r\n}\r\n\r\nexport function loadClearAllFacets() {\r\n return dispatch => {\r\n dispatch(clearAllFacets());\r\n dispatch(loadResults());\r\n };\r\n}\r\n","import R from \"ramda\";\r\nimport { setSelectedOnFacetValues, selectedFacetsFromGroup } from \"../facets\";\r\n\r\nimport {\r\n RESULTS_DISPLAY_APPEND,\r\n RESULTS_DISPLAY_REFRESH\r\n} from \"../resultsDisplay\";\r\n\r\nimport {\r\n LOAD_RESULTS_START,\r\n LOAD_RESULTS_SUCCESS,\r\n LOAD_RESULTS_FAIL,\r\n MERGE_QUERY_PARAMS,\r\n SORT_CHANGED,\r\n KEYWORDS_CHANGED,\r\n INCREMENT_PAGE,\r\n CHANGE_PAGE,\r\n FACET_CHANGED,\r\n CLEAR_FACET_GROUP,\r\n CLEAR_ALL_FACETS,\r\n TOGGLE_MOBILE_FACETS\r\n} from \"./search.actions\";\r\n\r\nconst actionMap = {\r\n [LOAD_RESULTS_START]: loadStart,\r\n [LOAD_RESULTS_SUCCESS]: loadSuccess,\r\n [LOAD_RESULTS_FAIL]: loadError,\r\n [SORT_CHANGED]: updateSort,\r\n [MERGE_QUERY_PARAMS]: updateQueryParams,\r\n [KEYWORDS_CHANGED]: updateKeywords,\r\n [INCREMENT_PAGE]: incrementPage,\r\n [CHANGE_PAGE]: changePage,\r\n [FACET_CHANGED]: changeFacet,\r\n [CLEAR_FACET_GROUP]: clearFacetGroup,\r\n [CLEAR_ALL_FACETS]: clearAllFacets,\r\n [TOGGLE_MOBILE_FACETS]: toggleMobileFacets\r\n};\r\n\r\nexport default function searchReducer(state = initialState, action) {\r\n const actionType = actionMap[action.type];\r\n return actionType ? actionType(state, action) : state;\r\n}\r\n\r\nfunction loadStart(state, action) {\r\n return R.merge(state, {\r\n loading: true\r\n });\r\n}\r\n\r\nfunction loadSuccess(state, action) {\r\n const { mapResponseToState, response } = action.payload;\r\n return R.merge(mapResponseToState(response, state), {\r\n loading: false,\r\n isFirstLoad: false,\r\n preSelectedFacets: {}\r\n });\r\n}\r\n\r\nfunction loadError(state, action) {\r\n return R.merge(state, { loading: false, errorMsg: action.payload });\r\n}\r\n\r\nfunction updateSort(state, action) {\r\n const activeSorter = R.find(R.propEq(\"isActive\", true), action.payload);\r\n\r\n return R.merge(state, {\r\n sorters: action.payload,\r\n resultsDisplayStrategy: RESULTS_DISPLAY_REFRESH,\r\n query: R.merge(state.query, {\r\n sortBy: activeSorter.value,\r\n sortOrder: activeSorter.direction,\r\n page: 1\r\n })\r\n });\r\n}\r\n\r\nfunction updateQueryParams(state, action) {\r\n return R.merge(state, {\r\n query: R.merge(state.query, action.payload.params),\r\n facets: action.payload.facets,\r\n preSelectedFacets: action.payload.preSelectedFacets\r\n });\r\n}\r\n\r\nfunction incrementPage(state, action) {\r\n const pageNum = parseInt(state.query.page, 10) + 1;\r\n return R.merge(state, {\r\n resultsDisplayStrategy: RESULTS_DISPLAY_APPEND,\r\n query: R.merge(state.query, {\r\n page: pageNum\r\n })\r\n });\r\n}\r\n\r\nfunction changePage(state, action) {\r\n return R.merge(state, {\r\n resultsDisplayStrategy: RESULTS_DISPLAY_REFRESH,\r\n query: R.merge(state.query, {\r\n page: action.payload\r\n })\r\n });\r\n}\r\n\r\nfunction updateKeywords(state, action) {\r\n return R.merge(state, {\r\n resultsDisplayStrategy: RESULTS_DISPLAY_REFRESH,\r\n query: R.merge(state.query, {\r\n q: action.payload,\r\n page: 1\r\n })\r\n });\r\n}\r\n\r\nfunction changeFacet(state, action) {\r\n // We want to provide a new facet object to our\r\n // state with a single facet changed.\r\n\r\n // Lookup the path for the given facetId\r\n // and change it using assocPath\r\n const facetId = action.payload.facetId;\r\n const facetValue = action.payload.facetValue;\r\n const newFacets = setSelectedOnFacetValues(\r\n [facetId],\r\n facetValue,\r\n state.facets\r\n );\r\n\r\n return R.merge(state, {\r\n facets: newFacets,\r\n resultsDisplayStrategy: RESULTS_DISPLAY_REFRESH,\r\n query: R.merge(state.query, {\r\n page: 1\r\n })\r\n });\r\n}\r\n\r\nfunction clearFacetGroup(state, action) {\r\n const group = action.payload;\r\n const selectedFacetIds = selectedFacetsFromGroup(group).map(v => v.id);\r\n const newFacets = setSelectedOnFacetValues(\r\n selectedFacetIds,\r\n false,\r\n state.facets\r\n );\r\n\r\n return R.merge(state, {\r\n facets: newFacets,\r\n resultsDisplayStrategy: RESULTS_DISPLAY_REFRESH,\r\n query: R.merge(state.query, {\r\n page: 1\r\n })\r\n });\r\n}\r\n\r\nfunction clearAllFacets(state, action) {\r\n const facets = state.facets;\r\n const selectedFacetIds = facets.reduce((all, group) => {\r\n return all.concat(selectedFacetsFromGroup(group).map(v => v.id));\r\n }, []);\r\n\r\n const newFacets = setSelectedOnFacetValues(selectedFacetIds, false, facets);\r\n\r\n return R.merge(state, {\r\n facets: newFacets,\r\n resultsDisplayStrategy: RESULTS_DISPLAY_REFRESH,\r\n query: R.merge(state.query, {\r\n page: 1\r\n })\r\n });\r\n}\r\n\r\nfunction toggleMobileFacets(state, action) {\r\n return R.merge(\r\n {\r\n mobileFacetsShown: action.payload\r\n },\r\n state\r\n );\r\n}\r\n","/** @module search/service */\r\nimport $ from \"jquery\";\r\nimport R from \"ramda\";\r\nimport { RESULTS_DISPLAY_APPEND, RESULTS_DISPLAY_REFRESH } from \"./resultsDisplay\";\r\n\r\n/** @typedef SearchResultsShape\r\n * @property {Array} facets Lists of facet groups, their facet values and child groups. See [FacetGroupShape]{@link module:search/facets~FacetGroupShape}.\r\n * @property {Array} results List of individual search result items. Object shape may vary project-to-project\r\n * @property {Object} request The request parameters that were originally sent up to the service.\r\n * This is mostly useful for debugging purposes, but can be used to allow the server to change parameters on-the-fly\r\n * @property {number} request.page The page number of results being requested\r\n * @property {string} request.pageId A GUID corresponding to the Sitecore page where the search lives\r\n * @property {number} request.perPage The number of results to return in the requested page\r\n * @property {string} request.q Keyword terms to search for\r\n * @property {string} request.sortBy The value to sort the results by\r\n * @property {string} request.sortOrder The order in which to display the results\r\n * @property {number} totalResults The total number of available results across all pages\r\n */\r\n\r\nconst newResults = R.curry((newResults, oldResults, strategy) => {\r\n return strategy === RESULTS_DISPLAY_APPEND\r\n ? R.concat(oldResults, newResults)\r\n : newResults;\r\n});\r\n\r\n\r\n/**\r\n * Initiates a GET request to the search endpoint\r\n * @param {string} url The url to send the request to\r\n * @param {object} query The data for the GET request\r\n * @returns Promise\r\n */\r\nexport function fetchSearchResults(url, query) {\r\n return $.ajax({\r\n url: url,\r\n data: query\r\n });\r\n}\r\n\r\nconst setActiveSorter = (sorters, sortBy) => R.pipe(\r\n R.map(R.assoc(\"isActive\", false)),\r\n R.map(R.when(R.propEq(\"value\", sortBy), R.assoc('isActive', true)))\r\n)(sorters);\r\n\r\n\r\n/**\r\n * Map a response from a web service to our state object\r\n * @param {object} response Response data from our web service\r\n * @param {object} state Our current state data\r\n * @returns {object} Our new state data\r\n */\r\nexport function mapResponseToState(response, state) {\r\n const request = response.request;\r\n const castToInt = R.curry(parseInt)(R.__, 10);\r\n return R.mergeDeepLeft({\r\n totalResults: parseInt(response.totalResults, 10),\r\n results: newResults(response.results, state.results, state.resultsDisplayStrategy),\r\n facets: response.facets,\r\n sorters: setActiveSorter(state.sorters, response.request.sortBy),\r\n query: {\r\n pageId: request.pageId,\r\n page: castToInt(request.page),\r\n perPage: castToInt(request.perPage),\r\n sortOrder: request.sortOrder,\r\n loadAllPages: false\r\n }\r\n }, state);\r\n}\r\n\r\n\r\n","import R from \"ramda\";\r\n\r\n// Utility function to map object paths to values\r\n// See: https://github.com/ramda/ramda/wiki/Cookbook#flatten-a-nested-object-into-dot-separated-key--value-pairs\r\nexport function flattenObj(obj) {\r\n const go = obj_ => R.chain(([k, v]) => {\r\n if (typeof v == \"object\") {\r\n return R.map(([k_, v_]) => [`${k}.${k_}`, v_], go(v));\r\n } else {\r\n return [[k, v]];\r\n }\r\n }, R.toPairs(obj_));\r\n\r\n return R.fromPairs(go(obj));\r\n}\r\n","import $ from \"jquery\";\r\nimport slick from \"slick-slider\";\r\n\r\nexport default function() {\r\n $(\".js-thumbnail-gallery\").each((i, el) => {\r\n const $el = $(el);\r\n const $mainSlider = $el.find(\".js-thumbnail-gallery-main\");\r\n const $thumbSlider = $el.find(\".js-thumbnail-gallery-thumbs\");\r\n\r\n $mainSlider\r\n .on({\r\n beforeChange: function(\r\n event,\r\n slick,\r\n current_slide_index,\r\n next_slide_index\r\n ) {\r\n //remove all active class\r\n $thumbSlider\r\n .find(\".slick-slide\")\r\n .removeClass(\"slick-main-active\");\r\n //set active class for current slide\r\n $thumbSlider\r\n .find(\r\n \".slick-slide[data-slick-index=\" +\r\n next_slide_index +\r\n \"]\"\r\n )\r\n .addClass(\"slick-main-active\");\r\n }\r\n })\r\n .slick({\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n arrows: false,\r\n fade: true,\r\n asNavFor: \".js-thumbnail-gallery-thumbs\",\r\n infinite: false\r\n });\r\n\r\n $thumbSlider.slick({\r\n slidesToShow: 3,\r\n slidesToScroll: 1,\r\n asNavFor: \".js-thumbnail-gallery-main\",\r\n dots: false,\r\n focusOnSelect: true,\r\n infinite: false\r\n });\r\n\r\n $thumbSlider\r\n .find(\".slick-slide\")\r\n .first()\r\n .addClass(\"slick-main-active\");\r\n });\r\n}\r\n","(function (ElementProto) {\r\n if (typeof ElementProto.matches !== \"function\") {\r\n ElementProto.matches = ElementProto.msMatchesSelector || ElementProto.mozMatchesSelector || ElementProto.webkitMatchesSelector || function matches(selector) {\r\n var element = this;\r\n var elements = (element.document || element.ownerDocument).querySelectorAll(selector);\r\n var index = 0;\r\n\r\n while (elements[index] && elements[index] !== element) {\r\n ++index;\r\n }\r\n\r\n return Boolean(elements[index]);\r\n };\r\n }\r\n\r\n if (typeof ElementProto.closest !== \"function\") {\r\n ElementProto.closest = function closest(selector) {\r\n var element = this;\r\n\r\n while (element && element.nodeType === 1) {\r\n if (element.matches(selector)) {\r\n return element;\r\n }\r\n\r\n element = element.parentNode;\r\n }\r\n\r\n return null;\r\n };\r\n }\r\n})(window.Element.prototype);\r\n","import \"core-js/fn/object/assign\";\r\nimport \"core-js/fn/array/find\";\r\nimport \"core-js/fn/array/find-index\";\r\nimport \"core-js/fn/array/fill\";\r\nimport \"core-js/fn/array/includes\";\r\nimport \"core-js/fn/array/from\";\r\nimport \"core-js/fn/promise\";\r\n","// Note: object-fit has been refactored to be applied on-demand instead of automatically\r\n// You may invoke it directly in your scripts\r\n\r\nimport \"./es6-polyfill.js\";\r\nimport \"./closest.js\";\r\nimport svg4everybody from \"svg4everybody\";\r\nimport \"./popstate-event.js\";\r\nimport { objectFitPolyfill } from \"./object-fit.js\";\r\n\r\nif (\"objectFit\" in document.documentElement.style === false) {\r\n objectFitPolyfill();\r\n}\r\n\r\nsvg4everybody();\r\n","/*----------------------------------------\r\n * objectFitPolyfill 2.0.3\r\n *\r\n * Made by Constance Chen\r\n * Released under the MIT license\r\n *\r\n * * https://github.com/constancecchen/object-fit-polyfill\r\n *\r\n * CUSTOMIZATIONS MADE BY VELIR. SEE LINES TAGGED 'VELIR'\r\n * - Due to issues with object-fit and