{"version":3,"sources":["webpack://fair-labour/./assets/project/general/js/svg-icon.tsx","webpack://fair-labour/./assets/components/filters/js/keyword-search-mobile.tsx","webpack://fair-labour/./assets/components/filters/js/keyword-search.tsx","webpack://fair-labour/./assets/components/filters/js/clear-all.tsx","webpack://fair-labour/./assets/components/popup/js/popup.tsx","webpack://fair-labour/./assets/components/select/js/multiple-popup-select.tsx","webpack://fair-labour/./assets/components/select/js/popup-select.tsx","webpack://fair-labour/./assets/components/filters/js/filter-type-chooser.tsx","webpack://fair-labour/./assets/components/filters/js/filter-mobile-btn.tsx","webpack://fair-labour/./assets/components/filters/js/filter-row.tsx","webpack://fair-labour/./assets/components/news-filter/js/news-filter.component.js","webpack://fair-labour/./assets/components/news-filter/index.js","webpack://fair-labour/./assets/config.js","webpack://fair-labour/./assets/components/filters/js/filter-service.tsx","webpack://fair-labour/./assets/components/filters/js/load-more.tsx","webpack://fair-labour/./assets/components/filters/js/no-results.tsx","webpack://fair-labour/./assets/components/spinner/js/spinner.tsx","webpack://fair-labour/./assets/components/news-filter/js/cards-labels.js","webpack://fair-labour/./assets/components/news-filter/js/news-list.tsx","webpack://fair-labour/./assets/models/filter-type.ts"],"names":["SvgIcon","_ref","name","size","additionalClass","React","className","concat","width","height","focusable","xlinkHref","KeywordSearchMobile","_ref$placeholderText","placeholderText","_ref$name","clickHandler","ref","useRef","_useContext","useContext","FilterContext","appliedFilters","setFilter","_useState2","useState","String","searchState","setSearchState","useEffect","_value","_defineProperty","onSubmit","e","preventDefault","type","placeholder","value","onChange","_ref2","currentTarget","deviceObserver","current","scrollService","onFocus","onBlur","KeywordSearch","ClearAll","_ref$onClick","onClick","clearFilters","Popup","props","Tippy","_extends","popupDefaultProps","animation","interactive","interactiveBorder","trigger","duration","arrow","maxWidth","placement","offset","zIndex","defaultProps","MultiplePopupSelect","options","popupProps","id","useMemo","nanoid","isActive","instance","state","setState","values","split","filter","item","onShow","_objectSpread","onHide","theme","appendTo","content","map","index","text","key","length","checked","some","filtredValues","push","join","hide","_onChange","PopupSelect","activeIndex","findIndex","_state$instance","FilterTypeChooser","FilterType","FilterMobileBtn","mobileWide","items","isLoading","params","Object","keys","isActiveFilters","filterParams","_onClick","FilterRow","existedFilters","clearAllButton","_slicedToArray","setActiveness","multiselects","singleselects","singleSorting","filterType","sortingWithSearch","_useState4","mobileBtnIsVisible","setMobileBtnIsVisible","FilterTypeWithTextBox","mobileSelectorValue","plc","textbox","find","undefined","isRequired","NewsFilterComponent","_DcBaseComponent","_inherits","_super","_this","_classCallCheck","_len","arguments","args","Array","_key","call","apply","cards","document","getElementById","moreBtn","noResults","_this$options$filters","list","result","this","cloneNode","innerHTML","replaceAll","closest","classList","add","remove","itemsNum","searhParamsFromUrl","window","location","search","getParamsFromQueryString","requiredParams","hasSorting","orderby","filters","forEach","defaultValue","ReactDOM","FilterService","endpoint","endpointUrl","takeFirstFromApi","startCollection","startLoadMore","NewsList","LoadMore","element","DcBaseComponent","dcFactory","module","exports","viewports","mobile","tablet","desktop","containerMaxWidth","DEFAULT_PAGINATION","page","pageCount","pageSize","totalCount","nextUrl","request","AxiosSingular","api","axios","children","_ref$requiredParams","_ref$options","_ref$startCollection","_ref$takeFirstFromApi","isFailedLoading","pagination","isOpenMobileFilter","loadMoreBtn","itemsCount","filterState","_sendRequest","_options","ignoreOther","newFilters","oldFilters","clone","removeEmptyKeys","get","getUrlByParams","then","data","staticPagination","Number","count","foundPosts","currentPosts","_toConsumableArray","html","historyController","origin","pathname","catch","error","console","dir","Provider","cancel","caption","_useContext$paginatio","disabled","NoResults","Spinner","withOverlay","xmlns","viewBox","cx","cy","strokeOpacity","strokeWidth","r","strokeDasharray","strokeDashoffset","transform","CardsLabels","querySelector","querySelectorAll","topic","createTooltip","template","tippy","allowHTML","num","init","dangerouslySetInnerHTML","__html"],"mappings":"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","file":"news_filter.4290fac3f9c6ebe32c1e.js","sourcesContent":["import React, { ReactElement } from 'react';\n\nconst SvgIcon = ({ name, size, additionalClass }: iSvgIcon): ReactElement => (\n \n \n \n);\n\ninterface iSvgIcon {\n additionalClass?: string;\n name: string;\n size: string[] | number[];\n}\n\nexport { SvgIcon };\n","import React, { ReactElement, useState, useEffect, useContext, FormEvent, useRef } from 'react';\nimport { TextBoxDefinition } from 'models/text-box-definition';\nimport { deviceObserver } from 'project/general/js/device';\nimport { scrollService } from 'project/general/js/scroll-service';\nimport { operators } from '@deleteagency/device-observer';\nimport { FilterContext } from './filter-service';\n\nconst DEFAULT_PLACEHOLDER = 'Search by keyword';\nconst KEY = 'keyword';\nconst KeywordSearchMobile = ({\n placeholderText = DEFAULT_PLACEHOLDER,\n name = KEY,\n clickHandler,\n}: TextBoxDefinition): ReactElement => {\n const ref = useRef(null);\n const { appliedFilters, setFilter } = useContext(FilterContext);\n const [searchState, setSearchState] = useState(String(appliedFilters[name] || ''));\n useEffect(() => {\n const _value = appliedFilters[name] || '';\n setFilter({ [name]: _value });\n }, []);\n\n const _onChange = ({ currentTarget: { value } }: FormEvent): void => {\n setSearchState(value);\n if (appliedFilters[name] !== '' && value === '') setFilter({ [name]: '' });\n setFilter({ [name]: value });\n if (deviceObserver.is('<' as operators, 'tablet') && ref.current) {\n scrollService.scrollToElementsTop(ref.current, 20);\n }\n };\n\n return (\n {\n e.preventDefault();\n }}\n ref={ref}\n >\n \n \n \n \n \n \n );\n};\n\nexport { KeywordSearchMobile };\n","import React, { ReactElement, useState, useEffect, useContext, FormEvent, useRef } from 'react';\nimport { TextBoxDefinition } from 'models/text-box-definition';\nimport { deviceObserver } from 'project/general/js/device';\nimport { scrollService } from 'project/general/js/scroll-service';\nimport { operators } from '@deleteagency/device-observer';\nimport { FilterContext } from './filter-service';\n\nconst DEFAULT_PLACEHOLDER = 'Search by keyword';\nconst KEY = 'keyword';\nconst KeywordSearch = ({\n placeholderText = DEFAULT_PLACEHOLDER,\n name = KEY,\n clickHandler,\n}: TextBoxDefinition): ReactElement => {\n const ref = useRef(null);\n const { appliedFilters, setFilter } = useContext(FilterContext);\n const [searchState, setSearchState] = useState(String(appliedFilters[name] || ''));\n useEffect(() => {\n const _value = appliedFilters[name] || '';\n setFilter({ [name]: _value });\n }, []);\n\n const _onChange = ({ currentTarget: { value } }: FormEvent): void => {\n setSearchState(value);\n if (appliedFilters[name] !== '' && value === '') setFilter({ [name]: '' });\n setFilter({ [name]: value });\n if (deviceObserver.is('<' as operators, 'tablet') && ref.current) {\n scrollService.scrollToElementsTop(ref.current, 20);\n }\n };\n\n return (\n {\n e.preventDefault();\n }}\n ref={ref}\n >\n \n \n \n \n \n );\n};\n\nexport { KeywordSearch };\n","import React, { ReactElement, useContext } from 'react';\nimport { FilterContext } from './filter-service';\n\nconst ClearAll = ({ onClick = null }: iClearAll): ReactElement => {\n const { clearFilters } = useContext(FilterContext);\n const _onClick = (): void => {\n clearFilters();\n if (onClick !== null) onClick();\n };\n return (\n \n );\n};\n\ninterface iClearAll {\n onClick?: CallableFunction | null;\n caption?: string;\n}\n\nexport { ClearAll };\n","import Tippy from '@tippyjs/react';\nimport React from 'react';\nimport 'tippy.js/animations/shift-toward.css';\n\nexport const Popup = (props: any) => ;\n\nexport const popupDefaultProps = {\n className: 'tippy-box popup',\n animation: 'shift-toward',\n interactive: true,\n interactiveBorder: 10,\n trigger: 'click',\n duration: [250, 0],\n arrow: false,\n maxWidth: 385,\n placement: 'bottom',\n offset: [0, 0],\n zIndex: 100,\n};\n\nPopup.defaultProps = popupDefaultProps;\n","import React, { ReactElement, useState, useMemo, useContext, FormEvent } from 'react';\nimport { nanoid } from 'nanoid';\nimport { Instance } from 'tippy.js';\nimport Tippy from '@tippyjs/react';\nimport 'tippy.js/animations/shift-toward.css';\nimport { popupDefaultProps } from 'components/popup/js/popup';\nimport { SvgIcon } from 'project/general/js/svg-icon';\nimport { FilterContext } from 'components/filters/js/filter-service';\nimport { SelectDefinition } from 'models/select-definition';\n\nconst ARROW_MOCKUP = '
';\n\nconst MultiplePopupSelect = ({ options, name, popupProps }: iMultiplePopupSelect): ReactElement => {\n const id = useMemo(() => nanoid(10), []);\n const { appliedFilters, setFilter } = useContext(FilterContext);\n const [state, setState] = useState({\n isActive: false,\n instance: null as Instance | null,\n });\n const { isActive } = state;\n const values = ((appliedFilters[name] as string) || '').split('|').filter((item) => item);\n\n const _onChange = (e: FormEvent, value: string): void => {\n const filtredValues = values.filter((item) => item !== value);\n\n if (e.currentTarget.checked) filtredValues.push(value);\n setFilter({ [name]: filtredValues.join('|') });\n if (state.instance !== null) state.instance.hide();\n };\n return (\n setState({ ...state, isActive: true, instance })}\n onHide={() => {\n setState({ ...state, isActive: false });\n }}\n theme=\"filter-group\"\n arrow={ARROW_MOCKUP}\n placement=\"bottom-start\"\n offset={[0, 20]}\n appendTo={'parent'}\n content={\n
\n
    \n {options.map(({ value, text }, index) =>\n index > 0 ? (\n 0 ? ' is-active' : ''\n }`}\n >\n \n \n ) : null\n )}\n
\n
\n }\n >\n \n
\n );\n};\n\nMultiplePopupSelect.defaultProps = { popupProps: popupDefaultProps };\n\ninterface iMultiplePopupSelect extends SelectDefinition {\n popupProps?: any;\n}\n\nexport { MultiplePopupSelect };\n","// @ts-ignore\nimport React, { ReactElement, useState, useMemo, useContext } from 'react';\nimport { nanoid } from 'nanoid';\nimport { Popup } from 'components/popup/js/popup';\nimport { SvgIcon } from 'project/general/js/svg-icon';\nimport { FilterContext } from 'components/filters/js/filter-service';\nimport { SelectDefinition } from 'models/select-definition';\n// import { deviceObserver } from 'project/general/js/device';\n// import { operators } from '@deleteagency/device-observer';\n\nconst ARROW_MOCKUP = '
';\n// const getOffset = () => (deviceObserver.is('<' as operators, 'tablet') ? 10 : 20);\nconst getOffset = () => 10;\n\nconst PopupSelect = ({ options, name }: SelectDefinition): ReactElement => {\n const id = useMemo(() => nanoid(10), []);\n const { appliedFilters, setFilter } = useContext(FilterContext);\n const [state, setState] = useState({\n isActive: false,\n _value: appliedFilters[name] ? appliedFilters[name] : options[0].value,\n instance: null as any,\n });\n const _value = appliedFilters[name] || options[0].value;\n const _onChange = (value: string): void => {\n setState({ ...state, _value: value });\n setFilter({ [name]: value });\n // eslint-disable-next-line no-unused-expressions\n state.instance?.hide();\n };\n const { isActive } = state;\n const activeIndex = appliedFilters[name]\n ? options.findIndex((item) => item.value === appliedFilters[name])\n : 0;\n return (\n setState({ ...state, isActive: true, instance })}\n onHide={() => {\n setState({ ...state, isActive: false });\n }}\n theme=\"filter-group\"\n arrow={ARROW_MOCKUP}\n placement=\"bottom-start\"\n offset={[0, getOffset()]}\n appendTo={'parent'}\n content={\n
\n
    \n {options.map(({ value, text }, index) =>\n index >= 0 ? (\n \n _onChange(value)}\n >\n {text}\n \n \n ) : null\n )}\n
\n
\n }\n >\n \n \n );\n};\nexport { PopupSelect };\n","// @ts-ignore\nimport React, { ReactElement } from 'react';\n// import { AlphabetFilter } from './alphabet-search';\nimport { FilterType } from 'models/filter-type';\nimport { MultiplePopupSelect } from 'components/select/js/multiple-popup-select';\nimport { SelectDefinition } from 'models/select-definition';\nimport { TextBoxDefinition } from 'models/text-box-definition';\nimport { PopupSelect } from 'components/select/js/popup-select';\nimport { KeywordSearch } from './keyword-search';\n\nconst FilterTypeChooser = ({ item }: iFilterTypeChooser): ReactElement | null => {\n switch (item.type) {\n case FilterType.TextBox:\n return (\n
  • \n \n
  • \n );\n case FilterType.SingleSelect:\n return (\n
  • \n \n
  • \n );\n case FilterType.MultipleSelect:\n return (\n
  • \n \n
  • \n );\n case FilterType.Alphabet:\n return null;\n default:\n return null;\n }\n};\n\ninterface iFilterTypeChooser {\n item: TextBoxDefinition | SelectDefinition;\n}\n\nexport { FilterTypeChooser };\n","import React, { ReactElement, useContext } from 'react';\nimport { SvgIcon } from 'project/general/js/svg-icon';\nimport { FilterContext } from './filter-service';\n\nconst FilterMobileBtn = ({ onClick = null, isActive, mobileWide }: iFilterMobile): ReactElement => {\n const { items, isLoading, appliedFilters } = useContext(FilterContext);\n const params = Object.keys(appliedFilters);\n const isActiveFilters = params.length !== 0;\n const filterParams = Object.keys(appliedFilters).filter((item) => {\n return item !== 'search';\n });\n\n const _onClick = (): void => {\n if (onClick !== null) onClick();\n };\n\n return isLoading || (items.length > 0 && !isLoading) ? (\n \n Filters\n {params.length > 0 ? (\n ({filterParams.length})\n ) : null}\n \n \n ) : (\n \n );\n};\n\ninterface iFilterMobile {\n onClick?: CallableFunction | null;\n isActive?: boolean;\n mobileWide?: boolean;\n}\n\nexport { FilterMobileBtn };\n","import React, { ReactElement, useState } from 'react';\nimport { SelectDefinition } from 'models/select-definition';\nimport { TextBoxDefinition } from 'models/text-box-definition';\nimport { FilterType } from 'models/filter-type';\nimport { SvgIcon } from 'project/general/js/svg-icon';\nimport { KeywordSearchMobile } from './keyword-search-mobile';\nimport { KeywordSearch } from './keyword-search';\nimport { ClearAll } from './clear-all';\nimport { FilterTypeChooser } from './filter-type-chooser';\nimport { FilterMobileBtn } from './filter-mobile-btn';\n\nconst FilterRow = ({ existedFilters, clearAllButton }: iFilterRow): ReactElement | false => {\n const [isActive, setActiveness] = useState(false);\n const multiselects = existedFilters.filter((item) => {\n return item.type === 'MultipleSelect';\n });\n\n const singleselects = existedFilters.filter((item) => {\n return item.type === 'SingleSelect';\n });\n\n const singleSorting =\n existedFilters.length === 1 && existedFilters[0].filterType === FilterType.Sort;\n\n const sortingWithSearch =\n existedFilters.length === 2 &&\n existedFilters.some((filter) => filter.filterType !== FilterType.Sort) &&\n existedFilters.some((filter) => filter.filterType !== FilterType.TextBox);\n\n const [mobileBtnIsVisible, setMobileBtnIsVisible] = useState(true);\n const clickHandler = () => {\n setMobileBtnIsVisible(!mobileBtnIsVisible);\n };\n const _onClick = () => {\n setActiveness(!isActive);\n };\n const FilterTypeWithTextBox = (mobileSelectorValue: boolean) => {\n let plc = '';\n const textbox = existedFilters.find((item) => {\n return item.type === 'TextBox';\n });\n\n if (textbox !== undefined) {\n plc = textbox.placeholderText;\n }\n\n return textbox && mobileSelectorValue ? (\n \n {textbox && (\n \n )}\n \n ) : (\n \n {textbox && (\n \n )}\n \n );\n };\n return (\n existedFilters.length > 0 &&\n existedFilters.some(({ type }) => type !== FilterType.Hidden) && (\n \n
    \n _onClick()}\n />\n {FilterTypeWithTextBox(true)}\n
    \n
    \n
    setActiveness(false)}>\n \n
    \n
    \n {(singleSorting || sortingWithSearch) && Sort by}\n {\n // eslint-disable-next-line prettier/prettier\n (!existedFilters.some((filter) => filter.filterType === FilterType.Sort)) && (Filter by)\n }\n
    \n \n {FilterTypeWithTextBox(false)}\n {clearAllButton && }\n
    \n \n )\n );\n};\n\ninterface iFilterRow {\n existedFilters: (SelectDefinition | TextBoxDefinition)[];\n isActivePanel: boolean;\n isActive: boolean;\n clearAllButton: boolean;\n}\n\nexport { FilterRow };\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport { DcBaseComponent } from '@deleteagency/dc';\nimport { getParamsFromQueryString } from 'project/general/js/url-helper';\nimport { FilterService } from 'components/filters/js/filter-service';\nimport { FilterRow } from 'components/filters/js/filter-row';\nimport { Counter } from 'components/filters/js/counter';\nimport { LoadMore } from 'components/filters/js/load-more';\nimport { NewsList } from './news-list';\n\nexport default class NewsFilterComponent extends DcBaseComponent {\n constructor(...args) {\n super(...args);\n this.cards = document.getElementById('cards-grid-list');\n this.moreBtn = document.getElementById('cards-grid-btn');\n this.noResults = document.getElementById('filter-no-results');\n }\n\n static getNamespace() {\n return 'news-filter';\n }\n\n onInit() {\n const list = [];\n const content = this.cards.cloneNode(true).innerHTML;\n const searchPhrase = 'lazyloading';\n const replacePhrase = 'lazyload';\n const result = content.replaceAll(searchPhrase, replacePhrase);\n list.push(result);\n this.cards.closest('.cards-grid').classList.add('is-hidden');\n this.cards.remove();\n\n const moreBtn = this.moreBtn !== null;\n const noResults = this.noResults !== null;\n if (moreBtn) {\n this.moreBtn.remove();\n }\n if (noResults) {\n this.noResults.remove();\n }\n const itemsNum = noResults ? 0 : 1;\n\n const searhParamsFromUrl =\n window.location.search !== '' ?\n getParamsFromQueryString(window.location.search.split('?')[1]) :\n {};\n\n const requiredParams = this.options.hasSorting ? { orderby: 'title' } : {};\n this.options.filters\n ?.filter((item) => item.isRequired === true)\n ?.forEach((filter) => {\n requiredParams[filter.name] = filter.defaultValue;\n });\n ReactDOM.render(\n \n \n \n \n ,\n this.element\n );\n }\n}\n","import { dcFactory } from '@deleteagency/dc';\nimport NewsFilterComponent from './js/news-filter.component';\n\ndcFactory.register(NewsFilterComponent);\n","module.exports = {\n viewports: {\n mobile: 375,\n 'mobile-wide': 580,\n tablet: 768,\n desktop: 1024,\n 'desktop-wide': 1280,\n 'desktop-ultra': 1440,\n },\n containerMaxWidth: 1160,\n};\n","import React, { ReactElement, useState, useMemo, useEffect } from 'react';\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport { AxiosSingular } from '@deleteagency/axios-singular';\nimport axios from 'axios';\nimport { nanoid } from 'nanoid';\nimport { api } from 'project/general/js/api';\nimport { getUrlByParams } from 'project/general/js/url-helper';\nimport { historyController } from 'project/general/js/history-controller';\nimport { PagedData } from 'models/paged-data';\nimport { PaginationModel } from 'models/pagination-model';\nimport { clone, removeEmptyKeys } from 'project/general/js/object-helper';\n\nconst DEFAULT_PAGINATION = {\n page: 1,\n pageCount: 0,\n pageSize: 12,\n totalCount: 0,\n nextUrl: '',\n};\n\ntype PlainHtml = string;\n\nexport type AvailableItemTypes = PlainHtml;\n\nexport interface ContextContent {\n isLoading: boolean;\n\n isFailedLoading: boolean;\n\n items: T[];\n\n setFilter(options: AvailableOptions, add?: boolean): void;\n\n clearFilters(): void;\n\n appliedFilters: AvailableOptions;\n\n pagination: PaginationModel;\n\n isOpenMobileFilter: boolean;\n\n loadMoreBtn: boolean | undefined;\n\n itemsCount: number | undefined;\n}\n\ninterface AvailableOptions {\n [key: string]: string[] | string | number | boolean;\n}\n\nexport const FilterContext = React.createContext({} as ContextContent);\nconst request = new AxiosSingular(api, axios.CancelToken, axios.isCancel);\n\nexport const FilterService = ({\n children,\n endpoint,\n requiredParams = {},\n options = {},\n startCollection = [],\n takeFirstFromApi = false,\n startLoadMore,\n itemsNum,\n}: iFilterService): ReactElement => {\n const id = useMemo(() => nanoid(10), []);\n const [filterState, setState] = useState({\n isFailedLoading: false,\n isLoading: takeFirstFromApi,\n appliedFilters: options,\n items: startCollection,\n pagination: DEFAULT_PAGINATION as PaginationModel,\n isOpenMobileFilter: false,\n loadMoreBtn: startLoadMore,\n itemsCount: itemsNum,\n });\n const {\n isLoading,\n appliedFilters,\n items,\n isFailedLoading,\n pagination,\n isOpenMobileFilter,\n loadMoreBtn,\n itemsCount,\n } = filterState;\n const _sendRequest = (\n _options: AvailableOptions,\n ignoreOther?: boolean,\n add?: boolean\n ): void => {\n const newFilters = ignoreOther\n ? Object.assign(_options, requiredParams)\n : { ...appliedFilters, ..._options, ...requiredParams };\n const oldFilters = clone(appliedFilters);\n removeEmptyKeys(newFilters);\n setState({\n ...filterState,\n isLoading: true,\n appliedFilters: newFilters,\n loadMoreBtn: false,\n });\n request\n .get(getUrlByParams(endpoint, newFilters))\n .then(({ data }: { data: PagedData }) => {\n const staticPagination = {\n page: Number(data.nextUrl) - 1,\n pageCount: data.count,\n pageSize: 12,\n totalCount: Number(data.foundPosts),\n nextUrl: data.nextUrl,\n currentPosts: data.currentPosts,\n };\n setState({\n ...filterState,\n items: add ? [...items, ...[data.html]] : [data.html],\n isLoading: false,\n isFailedLoading: false,\n appliedFilters: newFilters,\n // pagination: data.pagination,\n pagination: staticPagination,\n loadMoreBtn: false,\n itemsCount: data.count,\n });\n historyController.replaceState(\n id,\n '',\n getUrlByParams(window.location.origin + window.location.pathname, newFilters)\n );\n })\n .catch((error: any) => {\n setState({\n ...filterState,\n isLoading: false,\n isFailedLoading: true,\n appliedFilters: oldFilters,\n loadMoreBtn: false,\n });\n console.dir(error);\n });\n };\n const setFilter = (_options: AvailableOptions, add = false): void => {\n if (isLoading) request.cancel();\n if (!_options.page) _options.page = '';\n _sendRequest(_options, false, add);\n };\n const clearFilters = (): void => {\n if (isLoading) request.cancel();\n _sendRequest(requiredParams, true, false);\n };\n useEffect(() => {\n if (takeFirstFromApi) _sendRequest(options, false, false);\n }, []);\n return (\n \n {children}\n \n );\n};\n\ninterface iFilterService {\n children?: ReactElement | ReactElement[];\n endpoint: string;\n options?: AvailableOptions;\n startCollection?: any[];\n takeFirstFromApi?: boolean;\n requiredParams?: AvailableOptions;\n startLoadMore?: boolean | undefined;\n isOpenMobileFilter?: boolean;\n itemsNum?: number | undefined;\n}\n","import React, { ReactElement, useContext } from 'react';\nimport { FilterContext } from './filter-service';\n\nconst DEFAULT_CAPTION = 'Load more';\n\nconst LoadMore = ({ onClick = null, caption }: iLoadMore): ReactElement | null => {\n const {\n isLoading,\n isFailedLoading,\n pagination: { page, nextUrl },\n setFilter,\n loadMoreBtn,\n } = useContext(FilterContext);\n const _onClick = (): void => {\n setFilter({ page: page + 1 }, true);\n if (onClick !== null) onClick();\n };\n const needLoadMore = (!isFailedLoading && nextUrl !== '' && nextUrl !== null) || loadMoreBtn;\n return needLoadMore ? (\n
    \n \n {caption || DEFAULT_CAPTION}\n \n
    \n ) : null;\n};\n\ninterface iLoadMore {\n caption?: string;\n onClick?: CallableFunction | null;\n loadMore?: boolean;\n}\n\nexport { LoadMore };\n","import React, { ReactElement } from 'react';\n\nconst NoResults = (): ReactElement => {\n return (\n
    \n

    \n {\"Sorry, we couldn't find any results matching your search. Please try again.\"}\n

    \n
    \n );\n};\n\nexport { NoResults };\n","import React, { ReactElement } from 'react';\n\nconst Spinner = ({ isActive, withOverlay }: iSpinner): ReactElement => {\n return (\n
    \n {withOverlay &&
    }\n \n \n \n \n
    \n );\n};\n\ninterface iSpinner {\n isActive: boolean;\n withOverlay?: boolean;\n}\n\nexport { Spinner };\n","import tippy from 'tippy.js';\nimport 'tippy.js/dist/tippy.css';\nimport 'tippy.js/themes/light-border.css';\n\nclass CardsLabels {\n init() {\n this.cards = [...document.querySelector('.cards-grid').querySelectorAll('.news-card')];\n this.cards.forEach((item) => {\n const topic = item.querySelector('[data-dc-news-card-topic]');\n if (topic !== null) {\n this.createTooltip(topic);\n }\n });\n }\n\n createTooltip(topic) {\n const template = topic.querySelector('[data-dc-news-card-list]');\n tippy(topic, {\n content: template.innerHTML,\n allowHTML: true,\n trigger: 'click',\n theme: 'news',\n placement: 'top',\n interactive: true,\n maxWidth: 275,\n arrow: false,\n });\n }\n}\nexport default CardsLabels;\n","import React, { ReactElement, useContext, useEffect } from 'react';\nimport { FilterContext } from 'components/filters/js/filter-service';\nimport { Spinner } from 'components/spinner/js/spinner';\nimport { NoResults } from 'components/filters/js/no-results';\nimport CardsLabels from './cards-labels';\n\nconst NewsList = (): ReactElement => {\n const { items, isLoading, itemsCount } = useContext(FilterContext);\n const num = itemsCount !== undefined ? itemsCount : 0;\n useEffect(() => {\n const cardsLabel = new CardsLabels();\n cardsLabel.init();\n });\n\n return isLoading || (num > 0 && !isLoading) ? (\n
    \n \n
      \n
    \n ) : (\n \n );\n};\n\nexport { NewsList };\n","/**\n * This is a TypeGen auto-generated file.\n * Any changes made to this file can be lost when this file is regenerated.\n */\n\n// eslint-disable-next-line no-shadow\nexport enum FilterType {\n Hidden = 'Hidden',\n SingleSelect = 'SingleSelect',\n MultipleSelect = 'MultipleSelect',\n TextBox = 'TextBox',\n Alphabet = 'Alphabet',\n Sort = 'Sort',\n}\n"],"sourceRoot":""}