{"version":3,"sources":["webpack:///./src/js/components/react/Dropdown.js","webpack:///./src/js/components/react/Pagination.js","webpack:///./src/js/helpers/reactHooks/useParams.js","webpack:///./src/js/helpers/reactHooks/useFetch.js","webpack:///./src/js/modules/insightsCenterCardListing/components/InsightsCenterFacetList.js","webpack:///./src/js/modules/insightsCenterCardListing/components/InsightsCenterCard.js","webpack:///./src/js/modules/insightsCenterCardListing/hooks/useFetch.js","webpack:///./src/js/modules/insightsCenterCardListing/index.js"],"names":["Dropdown","label","placeholder","selectedOption","options","onChange","disabled","compareAttr","style","useState","open","toggle","cursor","setCursor","guid","useRef","uuidv4","listboxGuid","nativeEl","dropdownEl","triggerEl","listingEl","useEffect","handleClickOutside","e","container","current","target","contains","document","addEventListener","removeEventListener","focus","index","findIndex","option","getDisplayLabel","className","htmlFor","isDevice","ref","id","find","value","Value","tabIndex","aria-label","map","i","key","role","type","aria-haspopup","aria-expanded","aria-controls","onClick","aria-activedescendant","onKeyDown","keyCode","preventDefault","length","aria-selected","handleOptionClick","propTypes","PropTypes","string","shape","oneOfType","number","bool","arrayOf","object","func","isRequired","Pagination","currentPage","totalPages","onNavigate","resultsPerPage","pagesArr","push","CurrentPage","InnerPagination","PaginationEllipsis","href","viewBox","xlinkHref","useParams","updateQs","useMemo","qs","parse","location","search","ignoreQueryPrefix","query","page","sort","currentContent","filters","Object","keys","forEach","filter","dates","params","setParams","qsParams","qsValue","stringify","encode","encodeValuesOnly","arrayFormat","newUrl","protocol","host","pathname","history","pushState","buildQueryString","handlePopState","window","useFetch","endpoint","language","results","setResults","loading","setLoading","Axios","method","url","data","console","log","fetchData","InsightsCenterFacetList","initialFacets","selectedFacets","onFiltersChange","onResetFilters","focusareaLabel","contenttypeLabel","resetBtnLabel","focusareaDropdownDefaultLabel","contenttypeDropdownDefaultLabel","getSelectedOption","facet","keyword","name","array","InsightsCenterCard","assetIcons","insightscenter","imageUrl","imageAlt","assetType","assetIcon","title","minsRead","linkLabel","indexOf","CommonInnerMarkup","srcSet","src","alt","setTotalPages","facets","setFacets","setResultsPerPage","resultsInfo","setResultsInfo","resultListing","totalResults","updatedFacets","Math","ceil","concat","InsightsCenterCardListing","noResultsLabel","setSelectedFacets","setPage","anchorRef","Number","scrollIntoView","handlePaginate","React","memo"],"mappings":"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","file":"7.e577c3245ba8d59f5718.js","sourcesContent":["import React, { useState, useEffect, useRef, useMemo } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { isDevice } from '../../helpers';\r\nimport { v4 as uuidv4 } from 'uuid';\r\n\r\nconst Dropdown = ({\r\n  label,\r\n  placeholder,\r\n  selectedOption,\r\n  options = [],\r\n  onChange,\r\n  disabled = false,\r\n  compareAttr = 'value',\r\n  style\r\n}) => {\r\n  const [open, toggle] = useState(false);\r\n  const [cursor, setCursor] = useState(null);\r\n  const guid = useRef(uuidv4());\r\n  const listboxGuid = useRef(uuidv4());\r\n  const nativeEl = useRef(null);\r\n  const dropdownEl = useRef(null);\r\n  const triggerEl = useRef(null);\r\n  const listingEl = useRef(null);\r\n\r\n  useEffect(() => {\r\n    const handleClickOutside = e => {\r\n      const container = dropdownEl.current;\r\n\r\n      if (container) {\r\n        if (container !== e.target && !container.contains(e.target)) {\r\n          toggle(false);\r\n        }\r\n      }\r\n    };\r\n\r\n    document.addEventListener('click', handleClickOutside);\r\n\r\n    return () => {\r\n      document.removeEventListener('click', handleClickOutside);\r\n    };\r\n  }, []);\r\n\r\n  useEffect(() => {\r\n    if (open) {\r\n      listingEl.current.focus();\r\n    }\r\n  }, [open]);\r\n\r\n  useEffect(() => {\r\n    if (selectedOption) {\r\n      const index = options.findIndex(\r\n        option => option[compareAttr] === selectedOption[compareAttr]\r\n      );\r\n      setCursor(index);\r\n    } else {\r\n      setCursor(null);\r\n    }\r\n  }, [compareAttr, options, selectedOption]);\r\n\r\n  const handleTriggerClick = e => {\r\n    if (isDevice()) {\r\n      return;\r\n    }\r\n\r\n    toggle(!open);\r\n  };\r\n\r\n  const handleOptionClick = option => {\r\n    onChange(option);\r\n    toggle(false);\r\n  };\r\n\r\n  const handleOptionChange = e => {\r\n    const option = options.find(option => option.value === e.target.value);\r\n    onChange(option);\r\n    toggle(false);\r\n  };\r\n\r\n  const handleKeyDown = e => {\r\n    /* eslint-disable indent */\r\n    switch (e.keyCode) {\r\n      case 38: // up\r\n        e.preventDefault();\r\n        if (cursor) {\r\n          setCursor(cursor - 1);\r\n        } else {\r\n          setCursor(options.length - 1);\r\n        }\r\n        break;\r\n      case 40: // down\r\n        e.preventDefault();\r\n        if (cursor !== null && cursor < options.length - 1) {\r\n          setCursor(cursor + 1);\r\n        } else {\r\n          setCursor(0);\r\n        }\r\n        break;\r\n      case 27: // esc\r\n        e.preventDefault();\r\n        toggle(false);\r\n        triggerEl.current.focus();\r\n        break;\r\n      case 13: // enter\r\n        e.preventDefault();\r\n        if (cursor !== null) {\r\n          onChange(options[cursor]);\r\n        }\r\n        toggle(false);\r\n        triggerEl.current.focus();\r\n        break;\r\n      case 9: // tab\r\n        toggle(false);\r\n        break;\r\n    }\r\n    /* eslint-enable indent */\r\n  };\r\n\r\n  const getDisplayLabel = () => {\r\n    if (selectedOption) {\r\n      return `${selectedOption.label}`;\r\n    }\r\n    return placeholder || null;\r\n  };\r\n\r\n  return (\r\n    <div className={`form-group form-group--dropdown${disabled ? ' is-disabled' : ''}`}>\r\n      <label htmlFor={guid.current} className=\"form-label\">\r\n        {label}\r\n      </label>\r\n      <div\r\n        className={`dropdown${isDevice() ? ' dropdown--native' : ''}${\r\n          style ? ` dropdown--${style}` : ''\r\n        }`}\r\n        ref={dropdownEl}\r\n      >\r\n        <select\r\n          id={guid.current}\r\n          onChange={handleOptionChange}\r\n          value={selectedOption ? selectedOption.Value : ''}\r\n          tabIndex=\"-1\"\r\n          aria-label={`${label || ''} ${getDisplayLabel()}`}\r\n          ref={nativeEl}\r\n        >\r\n          {options.map((option, i) => {\r\n            return (\r\n              <option key={i} value={option.value}>\r\n                {typeof option === 'object' ? option.label : option}\r\n              </option>\r\n            );\r\n          })}\r\n        </select>\r\n        <button\r\n          className={`dropdown__trigger${selectedOption ? ' is-filled' : ''}`}\r\n          role=\"combobox\"\r\n          type=\"button\"\r\n          aria-label={`${label || ''} ${getDisplayLabel()}`}\r\n          aria-haspopup=\"listbox\"\r\n          aria-expanded={open}\r\n          aria-controls={listboxGuid.current}\r\n          onClick={handleTriggerClick}\r\n          disabled={disabled}\r\n          ref={triggerEl}\r\n        >\r\n          {getDisplayLabel()}\r\n        </button>\r\n        <ul\r\n          role=\"listbox\"\r\n          id={listboxGuid.current}\r\n          aria-activedescendant={\r\n            cursor !== null ? `${guid.current}-${cursor}` : null\r\n          }\r\n          tabIndex=\"-1\"\r\n          className=\"dropdown__list\"\r\n          ref={listingEl}\r\n          onKeyDown={handleKeyDown}\r\n        >\r\n          {options.map((option, i) => (\r\n            <li\r\n              role=\"option\"\r\n              key={i}\r\n              id={`${guid.current}-${i}`}\r\n              className=\"dropdown__item\"\r\n              aria-selected={cursor === i}\r\n              onClick={() => handleOptionClick(option)}\r\n            >\r\n              {typeof option === 'object' ? option.label : option}\r\n            </li>\r\n          ))}\r\n        </ul>\r\n      </div>\r\n    </div>\r\n  );\r\n};\r\n\r\nDropdown.propTypes = {\r\n  label: PropTypes.string,\r\n  placeholder: PropTypes.string,\r\n  selectedOption: PropTypes.shape({\r\n    value: PropTypes.PropTypes.oneOfType([\r\n      PropTypes.string,\r\n      PropTypes.number,\r\n      PropTypes.bool\r\n    ]),\r\n    label: PropTypes.string\r\n  }),\r\n  options: PropTypes.arrayOf(PropTypes.object),\r\n  onChange: PropTypes.func.isRequired,\r\n  disabled: PropTypes.bool,\r\n  compareAttr: PropTypes.string,\r\n  style: PropTypes.string\r\n};\r\n\r\nexport default Dropdown;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nconst Pagination = ({\r\n  currentPage,\r\n  totalPages,\r\n  onNavigate,\r\n  resultsPerPage\r\n}) => {\r\n  const pagesArr = [];\r\n\r\n  for (let i = 0; i < totalPages; i++) {\r\n    pagesArr.push(\r\n      <li key={i + 1}>\r\n        <button\r\n          type=\"button\"\r\n          className={i + 1 === currentPage ? 'pagination-btn current' : 'pagination-btn'}\r\n          onClick={() => {\r\n            onNavigate(i + 1);\r\n          }}\r\n        >\r\n          {i + 1}\r\n        </button>\r\n      </li>\r\n    );\r\n  }\r\n\r\n  const CurrentPage = () => {\r\n    return (\r\n      <>\r\n        <li>\r\n          <button\r\n            type=\"button\"\r\n            className='pagination-btn current'\r\n            onClick={() => {\r\n              onNavigate(currentPage);\r\n            }}\r\n          >\r\n            {currentPage}\r\n          </button>\r\n        </li>\r\n      </>\r\n    );\r\n  };\r\n\r\n  const InnerPagination = () => {\r\n    return (\r\n      <>\r\n        {currentPage === totalPages && (\r\n          <li>\r\n            <button\r\n              type=\"button\"\r\n              className='pagination-btn'\r\n              onClick={() => {\r\n                onNavigate(totalPages - 2);\r\n              }}\r\n            >\r\n              {totalPages - 2}\r\n            </button>\r\n          </li>\r\n        )}\r\n        {((currentPage === 3) || (currentPage >= 3 && currentPage > totalPages - 2)) && (\r\n          <li>\r\n            <button\r\n              type=\"button\"\r\n              className='pagination-btn'\r\n              onClick={() => {\r\n                onNavigate(currentPage - 1);\r\n              }}\r\n            >\r\n              {currentPage - 1}\r\n            </button>\r\n          </li>\r\n        )}\r\n        <CurrentPage />\r\n        {((currentPage >= totalPages - 2 && currentPage < totalPages - 1) || currentPage < 3) && (\r\n          <li>\r\n            <button\r\n              type=\"button\"\r\n              className='pagination-btn'\r\n              onClick={() => {\r\n                onNavigate(currentPage + 1);\r\n              }}\r\n            >\r\n              {currentPage + 1}\r\n            </button>\r\n          </li>\r\n        )}\r\n        {currentPage === 1 && (\r\n          <li>\r\n            <button\r\n              type=\"button\"\r\n              className='pagination-btn'\r\n              onClick={() => {\r\n                onNavigate(currentPage + 2);\r\n              }}\r\n            >\r\n              {currentPage + 2}\r\n            </button>\r\n          </li>\r\n        )}\r\n      </>\r\n    );\r\n  };\r\n\r\n  const PaginationEllipsis = () => {\r\n    return (\r\n      <>\r\n        {currentPage > 1 && (\r\n          <li className=\"first-page\">\r\n            <button\r\n              href={1}\r\n              type=\"button\"\r\n              className='pagination-btn'\r\n              onClick={() => {\r\n                onNavigate(1);\r\n              }}\r\n            >\r\n              {1}\r\n            </button>\r\n          </li>\r\n        )}\r\n        {currentPage > 3 && <li className=\"ellipsis\">...</li>}\r\n        <InnerPagination />\r\n        {currentPage <= totalPages - 3 && <li className=\"ellipsis\">...</li>}\r\n        {currentPage < totalPages && (\r\n          <li className=\"last-page\">\r\n            <button\r\n              type=\"button\"\r\n              className='pagination-btn'\r\n              onClick={() => {\r\n                onNavigate(totalPages);\r\n              }}\r\n            >\r\n              {totalPages}\r\n            </button>\r\n          </li>\r\n        )}\r\n      </>\r\n    );\r\n  };\r\n\r\n  return (\r\n    <div className=\"pagination\">\r\n      {resultsPerPage && (\r\n        <>\r\n          {pagesArr.length > 5 && (\r\n            <button\r\n              className=\"pagination-btn pagination--prev\"\r\n              role=\"button\"\r\n              type=\"button\"\r\n              aria-label=\"Previous page\"\r\n              onClick={() => {\r\n                onNavigate(currentPage - 1);\r\n              }}\r\n              disabled={currentPage === 1}\r\n            >\r\n              <span className=\"cta-decorator-v2 cta-decorator-v2--internal\">\r\n                <svg viewBox=\"0 0 18 18\">\r\n                  <use xlinkHref=\"#link-arrow-right-icon\"/>\r\n                </svg>\r\n              </span>\r\n            </button>\r\n          )}\r\n          {totalPages > 1 && (\r\n            <ul className=\"pagination-pages\">\r\n              {pagesArr.length <= 5 ? pagesArr : <PaginationEllipsis />}\r\n            </ul>\r\n          )}\r\n          {totalPages > 5 && (\r\n            <button\r\n              className=\"pagination-btn pagination--next\"\r\n              role=\"button\"\r\n              type=\"button\"\r\n              aria-label=\"Next page\"\r\n              onClick={() => {\r\n                onNavigate(currentPage + 1);\r\n              }}\r\n              disabled={currentPage === totalPages}\r\n            >\r\n              <span className=\"cta-decorator-v2 cta-decorator-v2--internal\">\r\n                <svg viewBox=\"0 0 18 18\">\r\n                  <use xlinkHref=\"#link-arrow-right-icon\"/>\r\n                </svg>\r\n              </span>\r\n            </button>\r\n          )}\r\n        </>\r\n      )}\r\n    </div>\r\n  );\r\n};\r\n\r\nPagination.propTypes = {\r\n  currentPage: PropTypes.number.isRequired,\r\n  totalPages: PropTypes.number.isRequired,\r\n  onNavigate: PropTypes.func.isRequired\r\n};\r\n\r\nexport default Pagination;\r\n","import { useRef, useMemo, useState, useEffect } from 'react';\r\nimport qs from 'qs';\r\n\r\nconst useParams = () => {\r\n  const updateQs = useRef(false);\r\n  const { query, page, sort, currentContent, ...filters } = useMemo(() => {\r\n    const {\r\n      query,\r\n      page,\r\n      sort,\r\n      currentContent,\r\n      ...filters\r\n    } = qs.parse(location.search, { ignoreQueryPrefix: true });\r\n\r\n    Object.keys(filters).forEach(filter => {\r\n      if (typeof filters[filter] === 'string') {\r\n        filters[filter] = [filters[filter]];\r\n      }\r\n    });\r\n\r\n    filters.dates = ['Upcoming'];\r\n\r\n    return { query, page, sort, currentContent, ...filters };\r\n  }, []);\r\n\r\n  const [params, setParams] = useState({\r\n    query: query || '',\r\n    page: page || 1,\r\n    sort,\r\n    filters,\r\n    currentContent\r\n  });\r\n\r\n  useEffect(() => {\r\n    const buildQueryString = () => {\r\n      const qsParams = {};\r\n\r\n      if (params.query) {\r\n        qsParams.query = params.query;\r\n      }\r\n\r\n      if (params.page && params.page > 1) {\r\n        qsParams.page = params.page;\r\n      }\r\n\r\n      if (params.sort) {\r\n        qsParams.sort = params.sort;\r\n      }\r\n\r\n      if (params.filters) {\r\n        Object.keys(params.filters).forEach(key => {\r\n          qsParams[key] = params.filters[key];\r\n        });\r\n      }\r\n\r\n      if (params.currentContent) {\r\n        qsParams.currentContent = params.currentContent;\r\n      }\r\n\r\n      const qsValue = qs.stringify(qsParams, {\r\n        encode: false,\r\n        encodeValuesOnly: true,\r\n        arrayFormat: 'repeat'\r\n      });\r\n\r\n      const newUrl = `${location.protocol}//${location.host}${\r\n        location.pathname\r\n      }${qsValue ? `?${qsValue}` : ''}`;\r\n      history.pushState({}, '', newUrl);\r\n    };\r\n\r\n    if (updateQs.current) {\r\n      buildQueryString();\r\n    } else {\r\n      updateQs.current = true;\r\n    }\r\n  }, [params]);\r\n\r\n  useEffect(() => {\r\n    const handlePopState = () => {\r\n      const qsParams = qs.parse(location.search, { ignoreQueryPrefix: true });\r\n      updateQs.current = false;\r\n\r\n      setParams({\r\n        query: qsParams.query || '',\r\n        page: qsParams.page || 1,\r\n        sort: qsParams.sort,\r\n        filters: qsParams.filters,\r\n        currentContent: qsParams.currentContent\r\n      });\r\n    };\r\n\r\n    window.addEventListener('popstate', handlePopState);\r\n    return () => window.removeEventListener('popstate', handlePopState);\r\n  }, []);\r\n\r\n  const setQuery = query => {\r\n    setParams({ ...params, query, page: 1 });\r\n  };\r\n\r\n  const setPage = page => {\r\n    setParams({ ...params, page });\r\n  };\r\n\r\n  const setSort = sort => {\r\n    setParams({ ...params, sort, page: 1 });\r\n  };\r\n\r\n  const setFilters = filters => {\r\n    setParams({ ...params, filters });\r\n  };\r\n\r\n  const setCurrentContent = currentContent => {\r\n    setParams({ ...params, currentContent });\r\n  };\r\n\r\n  return [params, setQuery, setPage, setSort, setFilters, setCurrentContent];\r\n};\r\n\r\nexport default useParams;\r\n","import { useState, useEffect } from 'react';\r\nimport Axios from 'axios';\r\n\r\nconst useFetch = (\r\n  endpoint,\r\n  { query, page, sort, filters, currentContent, language }\r\n) => {\r\n  const [results, setResults] = useState({});\r\n  const [loading, setLoading] = useState(false);\r\n\r\n  useEffect(() => {\r\n    const fetchData = async () => {\r\n      const params = {\r\n        query\r\n      };\r\n\r\n      if (page) {\r\n        params.page = page;\r\n      }\r\n\r\n      if (sort) {\r\n        params.sort = sort;\r\n      }\r\n\r\n      if (filters) {\r\n        Object.keys(filters).forEach(key => {\r\n          params[key] = filters[key];\r\n        });\r\n      }\r\n\r\n      if (currentContent) {\r\n        params.currentContent = currentContent;\r\n      }\r\n\r\n      if (language) {\r\n        params.language = language;\r\n      }\r\n\r\n      try {\r\n        setLoading(true);\r\n        const { data } = await Axios({\r\n          method: 'POST',\r\n          url: endpoint,\r\n          data: params\r\n        });\r\n\r\n        setResults(data);\r\n      } catch (error) {\r\n        console.log(error);\r\n      } finally {\r\n        setLoading(false);\r\n      }\r\n    };\r\n    fetchData();\r\n  }, [endpoint, query, page, sort, filters, currentContent]);\r\n\r\n  return { results, loading };\r\n};\r\n\r\nexport default useFetch;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Dropdown from '../../../../js/components/react/Dropdown';\r\n\r\nconst InsightsCenterFacetList = ({\r\n  initialFacets,\r\n  selectedFacets,\r\n  onFiltersChange,\r\n  onResetFilters,\r\n  focusareaLabel,\r\n  contenttypeLabel,\r\n  resetBtnLabel,\r\n  focusareaDropdownDefaultLabel,\r\n  contenttypeDropdownDefaultLabel\r\n}) => {\r\n  const getSelectedOption = facet => {\r\n    if (selectedFacets[facet.keyword]) {\r\n      const option = facet.options.find(\r\n        option => option.value === selectedFacets[facet.keyword]\r\n      );\r\n\r\n      if (option) {\r\n        return {\r\n          ...option,\r\n          label: option.name\r\n        };\r\n      }\r\n    }\r\n  };\r\n  return (\r\n    <div className=\"insights-center-facet-list\">\r\n\r\n      {initialFacets.map(facet => (\r\n        <Dropdown\r\n          key={facet.keyword}\r\n          options={facet.options.map(option => ({\r\n            value: option.value,\r\n            label: option.name\r\n          }))}\r\n          placeholder={facet.keyword === 'focusarea' ? focusareaDropdownDefaultLabel : contenttypeDropdownDefaultLabel }\r\n          selectedOption={getSelectedOption(facet)}\r\n          label={facet.keyword === 'focusarea' ? focusareaLabel : contenttypeLabel}\r\n          onChange={e => {\r\n            onFiltersChange(facet.keyword, e.value);\r\n          }}\r\n          disabled={!facet.options.length}\r\n        />\r\n      ))}\r\n\r\n      {!!Object.keys(selectedFacets).length && (\r\n        <div className=\"insights-center-facet-list__reset\">\r\n          <button className=\"btn-v2 btn--primary btn--small\" onClick={onResetFilters}>\r\n            <div className=\"btn-content\">{resetBtnLabel}</div>\r\n          </button>\r\n        </div>\r\n      )}\r\n    </div>\r\n  );\r\n};\r\n\r\nInsightsCenterFacetList.propTypes = {\r\n  initialFacets: PropTypes.array,\r\n  resetBtnLabel: PropTypes.string\r\n};\r\n\r\nexport default InsightsCenterFacetList;\r\n","import React, { Fragment } from 'react';\r\nimport parse from 'html-react-parser';\r\n\r\nconst InsightsCenterCard = ({ insightscenter }) => {\r\n  const {\r\n    imageUrl,\r\n    imageAlt,\r\n    assetIcon,\r\n    assetType,\r\n    title,\r\n    url,\r\n    linkLabel,\r\n    minsRead,\r\n    target\r\n  } = insightscenter;\r\n\r\n  let imageUrlWebp, assetIcons, imageSource;\r\n\r\n  if (imageUrl) {\r\n    if (imageUrl.indexOf('?') !== -1) {\r\n      imageUrlWebp = `${imageUrl}&format=webp`;\r\n    } else {\r\n      imageUrlWebp = `${imageUrl}?format=webp`;\r\n    }\r\n  }\r\n  if (assetType === 'VIDEO') {\r\n    assetIcons = \"<svg viewBox='0 0 18 18' name='video-icon' height='22.103px' width='24px'><use href='#video-icon' />\";\r\n  } else if (assetType === 'WEBINAR') {\r\n    assetIcons = \"<svg viewBox='0 0 18 18' name='video-icon' height='22.103px' width='24px'><use href='#video-icon' />\";\r\n  } else if (assetType === 'PODCAST') {\r\n    assetIcons = \"<svg viewBox='0 0 18 18' name='podcast-icon' height='22.103px' width='24px'><use href='#podcast-icon' />\";\r\n  } else {\r\n    assetIcons = \"<svg viewBox='0 0 18 18' name='article-icon' height='22.103px' width='24px'><use href='#article-icon' />\";\r\n\r\n  }\r\n\r\n  const CommonInnerMarkup = (\r\n    <Fragment>\r\n      {imageUrl && (\r\n        <picture className=\"insights-center-card-new__image\">\r\n          <source srcSet= {`${imageUrl}?w=777&h=437`} type=\"image/webp\"></source>\r\n          <img className=\"insights-center-card-new__image-source\" src={`${imageUrl}?w=777&h=437`} alt={imageAlt} />\r\n        </picture>\r\n      )}\r\n      <div className=\"insights-center-card-new__info\">\r\n        <span className=\"insights-center-image-card__type\">\r\n          <span className=\"insights-center-card__type-label\">\r\n            <span className='insights-center-card__type-label-icon'>{parse(assetIcons)}</span>\r\n            <span className=\"insights-center-card__type-label-assetType\">{assetType}</span></span>\r\n        </span>\r\n        <div className=\"insights-center-card-new__header\">\r\n          <div className=\"insights-center-card-new__name\">{title}</div>\r\n          <span className=\"insights-center-card-new__link\">\r\n            <svg viewBox=\"0 0 18 18\" name=\"link-arrow-right-icon\" className=\"right\" >\r\n              <use href=\"#link-arrow-right-icon\" />\r\n            </svg>\r\n          </span>\r\n        </div>\r\n        <div className=\"insights-center-card-new__length\"> {minsRead}</div>\r\n      </div>\r\n    </Fragment>\r\n  );\r\n\r\n  return (\r\n    <a className=\"insights-center-card-new\" href={url} target={target}>\r\n      {CommonInnerMarkup}\r\n    </a>\r\n  );\r\n};\r\n\r\nexport default InsightsCenterCard;\r\n","import { useState, useEffect } from 'react';\r\nimport Axios from 'axios';\r\n\r\nconst useFetch = (endpoint, page, filters) => {\r\n  const [results, setResults] = useState([]);\r\n  const [totalPages, setTotalPages] = useState(0);\r\n  const [facets, setFacets] = useState([]);\r\n  const [loading, setLoading] = useState([]);\r\n  const [resultsPerPage, setResultsPerPage] = useState(0);\r\n  const [resultsInfo, setResultsInfo] = useState(0);\r\n\r\n\r\n  useEffect(() => {\r\n    const fetchData = async () => {\r\n      const params = {};\r\n\r\n\r\n      if (page) {\r\n        params.page = page;\r\n      }\r\n\r\n      if (filters) {\r\n        Object.keys(filters).forEach(key => {\r\n          if (filters[key] === '') {\r\n            params[key] = [];\r\n          } else {\r\n            params[key] = filters[key];\r\n          }\r\n        });\r\n      }\r\n\r\n      try {\r\n        setLoading(true);\r\n        const {\r\n          data: {\r\n            resultListing,\r\n            totalResults,\r\n            resultsPerPage,\r\n            resultsInfo,\r\n            page,\r\n            facets: updatedFacets\r\n          }\r\n        } = await Axios({\r\n          method: 'POST',\r\n          url: endpoint,\r\n          data: params\r\n        });\r\n\r\n        setTotalPages(Math.ceil(totalResults / resultsPerPage));\r\n        setResults(page > 1 ? results.concat(resultListing) : resultListing);\r\n        setFacets(updatedFacets);\r\n        setResultsPerPage(resultsPerPage);\r\n        setResultsInfo(resultsInfo);\r\n      } catch (error) {\r\n        console.log(error);\r\n      } finally {\r\n        setLoading(false);\r\n      }\r\n    };\r\n\r\n    fetchData();\r\n  }, [endpoint, page, filters]);\r\n\r\n  return { totalPages, results, facets, loading, resultsPerPage, resultsInfo };\r\n};\r\n\r\nexport default useFetch;\r\n","import React, { useState, useRef, useEffect } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport InsightsCenterFacetList from './components/InsightsCenterFacetList';\r\nimport InsightsCenterCard from './components/InsightsCenterCard';\r\nimport { useFetch } from './hooks'\r\nimport { useParams } from '../../helpers/reactHooks'\r\nimport Pagination from '../../components/react/Pagination'\r\n\r\nconst InsightsCenterCardListing = ({\r\n  endpoint,\r\n  noResultsLabel,\r\n  focusareaLabel,\r\n  contenttypeLabel,\r\n  resetBtnLabel,\r\n  focusareaDropdownDefaultLabel,\r\n  contenttypeDropdownDefaultLabel,\r\n  title\r\n}) => {\r\n  const [selectedFacets, setSelectedFacets] = useState({});\r\n  const [\r\n    { query, page },\r\n    setQuery,\r\n    setPage\r\n  ] = useParams();\r\n\r\n  const { totalPages, totalResults, results, facets, loading, resultsPerPage, resultsInfo } = useFetch(\r\n    endpoint,\r\n    page,\r\n    selectedFacets\r\n  );\r\n\r\n\r\n\r\n  const handleReset = () => {\r\n    setSelectedFacets({});\r\n  };\r\n\r\n  const anchorRef = useRef();\r\n\r\n  const handleFilters = (keyword, value) => {\r\n    const updatedFacets = {\r\n      ...selectedFacets,\r\n      [keyword]: value\r\n    };\r\n    setSelectedFacets(updatedFacets);\r\n  };\r\n\r\n  const handlePaginate = page => {\r\n    setPage(page);\r\n    if (anchorRef?.current) {\r\n      anchorRef?.current.scrollIntoView();\r\n    }\r\n  };\r\n\r\n  useEffect(() => {\r\n    if (Object.keys(results).length) {\r\n      setSelectedFacets({});\r\n    }\r\n  }, []);\r\n\r\n  return (\r\n    <div>\r\n      <div className=\"insights-center-card-listing-new__filters\">\r\n        {title ? (<div className=\"insights-center-card-listing-new__title \">{title}</div>) : ('')}\r\n        <InsightsCenterFacetList\r\n          initialFacets={facets}\r\n          selectedFacets={selectedFacets}\r\n          onFiltersChange={handleFilters}\r\n          onResetFilters={handleReset}\r\n          focusareaLabel={focusareaLabel}\r\n          contenttypeLabel={contenttypeLabel}\r\n          resetBtnLabel={resetBtnLabel}\r\n          focusareaDropdownDefaultLabel={focusareaDropdownDefaultLabel}\r\n          contenttypeDropdownDefaultLabel={contenttypeDropdownDefaultLabel} />\r\n\r\n      </div>\r\n      {loading ? (''):\r\n        (<>\r\n          <div className=\"insights-center-card-listing-resultInfo\">{resultsInfo} </div>\r\n          <div>\r\n            {!loading && !results?.length ? (\r\n              <p>{noResultsLabel}</p>\r\n            ) : (\r\n\r\n              <div ref={anchorRef} className=\"insights-center-card-listing-new__results\">\r\n                {results?.map((insightscenter, i) => (\r\n                  <InsightsCenterCard key={i} insightscenter={insightscenter} />\r\n                ))}\r\n              </div>\r\n\r\n            )}\r\n          </div></>)}\r\n      <div>\r\n        {!loading && !!page && (\r\n          <div className=\"insights-card-listing__list--pagination\">\r\n            <Pagination\r\n              currentPage={Number(page)}\r\n              totalPages={totalPages}\r\n              onNavigate={page => handlePaginate(page)}\r\n              resultsPerPage={resultsPerPage}\r\n            />\r\n          </div>\r\n        )}\r\n      </div>\r\n    </div>\r\n  );\r\n};\r\n\r\nInsightsCenterCardListing.propTypes = {\r\n  endpoint: PropTypes.string.isRequired,\r\n  language: PropTypes.string.isRequired,\r\n  noResultsLabel: PropTypes.string.isRequired,\r\n  focusareaLabel: PropTypes.string.isRequired,\r\n  contenttypeLabel: PropTypes.string.isRequired,\r\n  resetBtnLabel: PropTypes.string.isRequired,\r\n  focusareaDropdownDefaultLabel: PropTypes.string.isRequired,\r\n  contenttypeDropdownDefaultLabel: PropTypes.string.isRequired,\r\n  title: PropTypes.string\r\n};\r\n\r\nexport default React.memo(InsightsCenterCardListing);\r\n"],"sourceRoot":""}