{"version":3,"sources":["components/organisms/search/actions/facets.ts","components/organisms/search/actions/search.js","components/organisms/search/reducers/facets.js","components/organisms/search/reducers/search.js","components/organisms/search/reducers/index.js","components/organisms/search/store.ts","components/organisms/search/components/FilterContainer.jsx","components/organisms/search/components/Filter.tsx","components/organisms/search/components/DateFilter.jsx","components/organisms/search/components/FilterGroup.jsx","components/organisms/search/components/SearchFilters.jsx","components/organisms/search/components/ActiveFacetButton.tsx","components/organisms/search/components/ActiveFacets.jsx","components/organisms/search/components/Search.jsx","components/organisms/search/components/SearchContainer.jsx","components/organisms/search/components/App.tsx","components/organisms/search/components/SearchField.tsx","components/organisms/search/components/SearchPager.tsx","components/organisms/search/components/SearchResults.tsx","components/organisms/search/components/SearchResult.tsx","components/organisms/search/app.tsx"],"names":["INIT_FACETS","ADD_FACET_AS_ACTIVE","REMOVE_FACET_AS_ACTIVE","RESET_ACTIVE_FACETS","removeFacetAsActive","facet","type","payload","UPDATE_SEARCH_DATE","UPDATE_SEARCH_QUERY","UPDATE_SEARCH_OFFSET","FETCH_SEARCH_START","FETCH_SEARCH_SUCCESS","FETCH_SEARCH_ERROR","SET_INITIAL_FACETS","convertActiveFacets","activeFacets","flattenDeep","Object","keys","map","key","setIntialSearch","dispatch","getState","state","query","queryString","parseUrl","window","location","href","result","facets","active","forEach","isArray","push","setIntialSearchFacets","setIntialSearchQuery","offset","parseInt","page","setIntialSearchOffset","date","search","_objectSpread","setInitialSearchDate","updateBrowserHistory","base","toString","split","stringify","strict","encode","history","pushState","concat","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_getState$search","searchDate","response","wrap","_context","prev","next","SearchService","sent","err","error","items","results","total","stop","_x","_x2","apply","arguments","initialState","all","getType","initFacets","id","title","values","options","v","label","value","initActiveFacets","activeFacet","action","update","_defineProperty","$push","filter","f","length","undefined","searched","loading","d","m","y","uniqBy","rootReducer","combineReducers","composeEnhancers","__REDUX_DEVTOOLS_EXTENSION_COMPOSE__","compose","store","createStore","reducers","applyMiddleware","thunk","connect","ownProps","checked","includes","addFacetAsActive","_jsx","className","children","_jsxs","onChange","DateFilter","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","args","Array","_key","call","isActive","props","activeDateFacets","handleOnChange","e","_this$props","thisUpdateSearchDate","updateSearchDate","thisSearch","target","name","render","defaultValue","years","months","days","_createClass","Component","defaultProps","get","FilterGroup","handleCollapseButtonClick","setState","prevState","collapsed","renderFilters","take","Filter","renderMore","onClick","this","facetType","SearchFilters","handleToggleClick","cn","xmlns","fill","width","height","viewBox","rx","clipRule","group","innerWidth","ActiveFacetButton","getActiveTopics","item","ActiveFacets","handleOnFacetButtonClick","onFacetButtonClick","handleOnResetButtonClick","_this$props2","thisResetActiveFacets","resetActiveFacets","renderFacetButtons","Search","_React$Component","componentDidMount","scrollToTop","handleUpdateQuery","updateSearchQuery","handleUpdateOffset","updateSearchOffset","handleSearch","_callee2","_this$props3","_context2","_this$props4","normalizedFacets","ref","container","SearchField","SearchResults","SearchPager","amount","React","App","Provider","textInput","useRef","useEffect","_textInput$current","current","focus","onSubmit","event","preventDefault","htmlFor","placeholder","fillRule","totalPages","ReactPaginate","pageCount","pageRangeDisplayed","marginPagesDisplayed","onPageChange","i","selected","containerClassName","activeClassName","pageClassName","pageLinkClassName","previousLabel","nextLabel","forcePage","Error","message","_ref2","SearchResult","document","intro","highlights","_item$document","url","image","topic","created","bundle","rating","Teaser","body","searchContainer","querySelector","dataset","searchFacets","ReactDOM","createRoot","JSON","parse"],"mappings":"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","file":"js/11.1510b467.chunk.js","sourcesContent":["export const INIT_FACETS = \"INIT_FACETS\";\nexport const ADD_FACET_AS_ACTIVE = \"MARK_FACET_AS_ACTIVE\";\nexport const REMOVE_FACET_AS_ACTIVE = \"REMOVE_FACET_AS_ACTIVE\";\nexport const RESET_ACTIVE_FACETS = \"RESET_ACTIVE_FACETS\";\n\nexport const initFacets = (facets: any) => ({\n type: INIT_FACETS,\n payload: {\n facets,\n },\n});\n\nexport const addFacetAsActive = (facet: any) => ({\n type: ADD_FACET_AS_ACTIVE,\n payload: {\n facet,\n },\n});\n\nexport const removeFacetAsActive = (facet: any) => ({\n type: REMOVE_FACET_AS_ACTIVE,\n payload: {\n facet,\n },\n});\n\nexport const resetActiveFacets = () => ({\n type: RESET_ACTIVE_FACETS,\n payload: {},\n});\n","import { flattenDeep, isArray } from \"lodash\";\nimport queryString from \"query-string\";\n\nimport { SearchService } from \"services\";\n\nexport const UPDATE_SEARCH_DATE = \"UPDATE_SEARCH_DATE\";\nexport const UPDATE_SEARCH_QUERY = \"UPDATE_SEARCH_QUERY\";\nexport const UPDATE_SEARCH_OFFSET = \"UPDATE_SEARCH_OFFSET\";\nexport const FETCH_SEARCH_START = \"FETCH_SEARCH_START\";\nexport const FETCH_SEARCH_SUCCESS = \"FETCH_SEARCH_SUCCESS\";\nexport const FETCH_SEARCH_ERROR = \"FETCH_SEARCH_ERROR\";\nexport const SET_INITIAL_FACETS = \"SET_INITIAL_FACETS\";\n\nexport const updateSearchQuery = (query) => ({\n type: UPDATE_SEARCH_QUERY,\n payload: {\n query,\n },\n});\n\nexport const updateSearchDate = (date) => ({\n type: UPDATE_SEARCH_DATE,\n payload: {\n date,\n },\n});\n\nexport const updateSearchOffset = (offset) => ({\n type: UPDATE_SEARCH_OFFSET,\n payload: {\n offset,\n },\n});\n\nexport const fetchSearchStart = () => ({\n type: FETCH_SEARCH_START,\n payload: {},\n});\n\nexport const fetchSearchSuccess = (items, total) => ({\n type: FETCH_SEARCH_SUCCESS,\n payload: {\n items,\n total,\n },\n});\n\nexport const fetchSearchError = (error) => ({\n type: FETCH_SEARCH_ERROR,\n payload: {\n error,\n },\n});\n\nexport const convertActiveFacets = (activeFacets) =>\n flattenDeep(Object.keys(activeFacets).map((key) => activeFacets[key]));\n\nexport const setIntialSearchFacets = (state) => {\n const { query } = queryString.parseUrl(window.location.href);\n\n const result = {};\n\n Object.keys(state.facets.active).forEach((key) => {\n if (!query[key]) {\n result[key] = [];\n } else if (!isArray(query[key])) {\n result[key] = [];\n result[key].push(query[key]);\n } else {\n result[key] = query[key];\n }\n });\n\n return {\n type: SET_INITIAL_FACETS,\n payload: {\n query: result,\n },\n };\n};\n\nexport const setIntialSearchQuery = () => {\n const { query } = queryString.parseUrl(window.location.href);\n\n return {\n type: UPDATE_SEARCH_QUERY,\n payload: {\n query: query.query,\n },\n };\n};\n\nexport const setIntialSearchOffset = () => {\n const { query } = queryString.parseUrl(window.location.href);\n\n return {\n type: UPDATE_SEARCH_OFFSET,\n payload: {\n offset: parseInt(query.page || 1) - 1,\n },\n };\n};\n\nexport const setInitialSearchDate = (state) => {\n const { query } = queryString.parseUrl(window.location.href);\n const date = {};\n\n Object.keys(state.search.date).forEach((key) => {\n if (query[key]) {\n date[key] = query[key];\n }\n });\n\n return {\n type: UPDATE_SEARCH_DATE,\n payload: {\n date: {\n ...date,\n },\n },\n };\n};\n\nexport const setIntialSearch = () => (dispatch, getState) => {\n dispatch(setIntialSearchFacets(getState()));\n dispatch(setIntialSearchQuery());\n dispatch(setIntialSearchOffset());\n dispatch(setInitialSearchDate(getState()));\n};\n\nexport const updateBrowserHistory = (state) => () => {\n const date = {};\n\n Object.keys(state.search.date).forEach((key) => {\n if (state.search.date[key]) {\n date[key] = state.search.date[key];\n }\n });\n\n const base = window.location.toString().split(\"?\")[0];\n const search = queryString.stringify(\n {\n ...state.facets.active,\n ...date,\n query: state.search.query,\n page: state.search.offset ? state.search.offset + 1 : 1,\n },\n {\n strict: false,\n encode: false,\n }\n );\n\n history.pushState({}, \"\", `${base}?${search}`); // eslint-disable-line no-restricted-globals\n};\n\nexport const search = () => async (dispatch, getState) => {\n dispatch(fetchSearchStart());\n dispatch(updateBrowserHistory(getState()));\n\n const { query, offset, date } = getState().search;\n const facets = convertActiveFacets(getState().facets.active);\n\n const searchDate = {};\n\n Object.keys(date).forEach((key) => {\n if (date[key] !== \"\") {\n searchDate[key] = date[key];\n }\n });\n\n const response = await SearchService.search(\n query,\n facets,\n searchDate,\n offset\n );\n\n if (response.err) {\n dispatch(fetchSearchError(response.err));\n } else {\n dispatch(fetchSearchSuccess(response.results, response.total));\n }\n};\n","// TODO: Can we remove, since this is the only place where it's used.\nimport update from \"immutability-helper\";\n\nimport {\n INIT_FACETS,\n ADD_FACET_AS_ACTIVE,\n REMOVE_FACET_AS_ACTIVE,\n RESET_ACTIVE_FACETS,\n SET_INITIAL_FACETS,\n} from \"components/organisms/search/actions\"; // eslint-disable-line\n\nconst initialState = {\n all: [],\n active: {},\n};\n\nconst getType = (type) => {\n switch (type) {\n case \"checkboxes\":\n return \"checkbox\";\n case \"radios\":\n return \"radio\";\n default:\n return \"checkbox\";\n }\n};\n\nconst initFacets = (facets) =>\n facets.map(({ id, title, type, values }) => ({\n id,\n title,\n type: getType(type),\n options: values.map((v) => ({\n label: v.value,\n value: v.key,\n })),\n }));\n\nconst initActiveFacets = (facets) => {\n const result = {};\n facets.forEach((facet) => {\n result[facet.id] = [];\n });\n return result;\n};\n\nconst activeFacet = (state, action) => {\n const { facet } = action.payload;\n\n switch (action.type) {\n case ADD_FACET_AS_ACTIVE:\n if (facet.type === \"checkbox\") {\n return update(state.active, {\n [facet.id]: { $push: [facet.value] },\n });\n }\n return {\n ...state.active,\n [facet.id]: [facet.value],\n };\n case REMOVE_FACET_AS_ACTIVE: // eslint-disable-line no-case-declarations\n const value = state.active[facet.id].filter((f) => f !== facet.value); // eslint-disable-line\n return {\n ...state.active,\n [facet.id]: value,\n };\n default:\n return null;\n }\n};\n\nconst facets = (state = initialState, action) => {\n switch (action.type) {\n case INIT_FACETS:\n return {\n all: initFacets(action.payload.facets),\n active: initActiveFacets(action.payload.facets),\n };\n case ADD_FACET_AS_ACTIVE:\n return {\n ...state,\n active: activeFacet(state, action),\n };\n case REMOVE_FACET_AS_ACTIVE: // eslint-disable-line\n return {\n ...state,\n active: activeFacet(state, action),\n };\n case RESET_ACTIVE_FACETS:\n return {\n ...state,\n active: initActiveFacets(state.all),\n };\n case SET_INITIAL_FACETS:\n return {\n ...state,\n active: {\n ...state.active,\n ...action.payload.query,\n },\n };\n default:\n return state;\n }\n};\n\nexport default facets;\n","import { uniqBy } from \"lodash\";\n\nimport {\n UPDATE_SEARCH_QUERY,\n UPDATE_SEARCH_OFFSET,\n FETCH_SEARCH_START,\n FETCH_SEARCH_SUCCESS,\n FETCH_SEARCH_ERROR,\n UPDATE_SEARCH_DATE,\n SET_INITIAL_FACETS,\n RESET_ACTIVE_FACETS,\n} from \"../actions\";\n\nconst initialState = {\n query: \"\",\n offset: 0,\n total: 0,\n items: [],\n searched: false,\n loading: false,\n error: null,\n date: {\n d: \"\",\n m: \"\",\n y: \"\",\n },\n};\n\nconst search = (state = initialState, action) => {\n switch (action.type) {\n case UPDATE_SEARCH_QUERY:\n return {\n ...state,\n query: action.payload.query,\n searched: false,\n };\n case UPDATE_SEARCH_DATE:\n return {\n ...state,\n date: action.payload.date,\n };\n case UPDATE_SEARCH_OFFSET:\n return {\n ...state,\n offset: action.payload.offset,\n };\n case FETCH_SEARCH_START:\n return {\n ...state,\n error: null,\n loading: true,\n searched: true,\n };\n case FETCH_SEARCH_SUCCESS:\n return {\n ...state,\n error: null,\n loading: false,\n items: uniqBy(action.payload.items, \"document.id\"),\n searched: true,\n total: action.payload.total,\n };\n case FETCH_SEARCH_ERROR:\n return {\n ...state,\n error: action.payload.error,\n loading: false,\n items: [],\n searched: true,\n };\n case SET_INITIAL_FACETS:\n return {\n ...state,\n query: action.payload.query.query,\n };\n case RESET_ACTIVE_FACETS:\n return {\n ...state,\n date: initialState.date,\n };\n default:\n return state;\n }\n};\n\nexport default search;\n","import { combineReducers } from \"redux\";\nimport facets from \"./facets\";\nimport search from \"./search\";\n\nconst rootReducer = combineReducers({\n facets,\n search,\n});\n\nexport default rootReducer;\n","import { createStore, applyMiddleware, compose } from \"redux\";\nimport thunk from \"redux-thunk\";\n\nimport reducers from \"./reducers\";\n\nconst composeEnhancers = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose; // eslint-disable-line\nconst store = createStore(reducers, composeEnhancers(applyMiddleware(thunk)));\n\nexport default store;\n","import { connect } from \"react-redux\";\n\nimport { Filter } from \"./Filter\";\nimport { addFacetAsActive, removeFacetAsActive, search } from \"../actions\";\n\nconst mapStateToProps = (state, ownProps) => ({\n checked: state.facets.active[ownProps.id].includes(ownProps.value),\n});\n\nconst mapDispatchToProps = (dispatch) => ({\n addFacetAsActive: (facet) => dispatch(addFacetAsActive(facet)),\n removeFacetAsActive: (facet) => dispatch(removeFacetAsActive(facet)),\n search: () => dispatch(search()),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(Filter);\n","import { FC } from \"react\";\n\ninterface FilterProps {\n value: string;\n label: string;\n id: string;\n type: string;\n}\n\ninterface Props extends FilterProps {\n checked?: boolean;\n addFacetAsActive: (arg0: FilterProps) => void;\n removeFacetAsActive: (arg0: FilterProps) => void;\n search: () => void;\n}\n\nexport const Filter: FC = ({\n value,\n label,\n checked,\n id,\n type,\n addFacetAsActive,\n removeFacetAsActive,\n search,\n}) => {\n const handleOnChange = () => {\n if (!checked) {\n addFacetAsActive({\n label,\n value,\n id,\n type,\n });\n } else {\n removeFacetAsActive({\n label,\n value,\n id,\n type,\n });\n }\n search();\n };\n\n return (\n
\n \n
\n );\n};\n","import { Component } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { connect } from \"react-redux\";\nimport { get } from \"lodash\";\n\nimport { days, months, years } from \"consts\";\nimport { updateSearchDate, search } from \"../actions/search\";\n\nimport \"./DateFilter.scss\";\n\nconst mapStateToProps = (state) => ({\n date: state.search.date,\n activeDateFacets: get(state, \"facets.active.date\"),\n});\n\nconst mapDispatchToProps = (dispatch) => ({\n updateSearchDate: (date) => dispatch(updateSearchDate(date)),\n search: () => dispatch(search()),\n});\n\nclass DateFilter extends Component {\n static propTypes = {\n date: PropTypes.object,\n activeDateFacets: PropTypes.array,\n updateSearchDate: PropTypes.func,\n search: PropTypes.func,\n };\n\n static defaultProps = {\n date: {},\n activeDateFacets: [],\n updateSearchDate: () => {},\n search: () => {},\n };\n\n // eslint-disable-next-line react/destructuring-assignment\n isActive = () => this.props.activeDateFacets.includes(\"date:custom\");\n\n handleOnChange = (e) => {\n const {\n date,\n updateSearchDate: thisUpdateSearchDate,\n search: thisSearch,\n } = this.props;\n\n thisUpdateSearchDate({\n ...date,\n [e.target.name]: e.target.value,\n });\n\n thisSearch();\n };\n\n render = () => {\n if (!this.isActive()) return null;\n\n const { date } = this.props;\n\n return (\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n );\n };\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(DateFilter);\n","import { Component } from \"react\";\nimport { take } from \"lodash\";\nimport PropTypes from \"prop-types\";\n\nimport Filter from \"./FilterContainer\";\nimport DateFilter from \"./DateFilter\";\n\nexport default class FilterGroup extends Component {\n static propTypes = {\n title: PropTypes.string,\n id: PropTypes.string,\n type: PropTypes.string,\n options: PropTypes.array,\n facetType: PropTypes.string,\n };\n\n static defaultProps = {\n title: \"\",\n id: \"\",\n type: \"\",\n facetType: \"\",\n options: [],\n };\n\n constructor(props) {\n super(props);\n\n this.state = {\n collapsed: true,\n };\n }\n\n handleCollapseButtonClick = () => {\n this.setState((prevState) => ({\n collapsed: !prevState.collapsed,\n }));\n };\n\n renderFilters = () => {\n const { collapsed } = this.state;\n const { id, type, options } = this.props;\n\n return take(options, collapsed ? 5 : options.length).map((f) => [\n ,\n f.value === \"date:custom\" ? : null,\n ]);\n };\n\n renderMore = () => {\n const { collapsed } = this.state;\n const { options } = this.props;\n\n if (options.length <= 5) {\n return null;\n }\n\n return (\n \n {collapsed ? \"Toon meer\" : \"Toon minder\"}\n \n );\n };\n\n render() {\n const { title } = this.props;\n\n return (\n
\n {title &&

{title}

}\n {this.renderFilters()}\n {this.renderMore()}\n
\n );\n }\n}\n","import { Component } from \"react\";\nimport PropTypes from \"prop-types\";\nimport cn from \"clsx\";\n\nimport FilterGroup from \"./FilterGroup\";\n\nexport default class SearchFilters extends Component {\n static propTypes = {\n facets: PropTypes.array,\n };\n\n static defaultProps = {\n facets: [],\n };\n\n constructor(props) {\n super(props);\n\n this.state = {\n collapsed: window.innerWidth < 768,\n };\n }\n\n handleToggleClick = () => {\n this.setState((prevState) => {\n return {\n collapsed: !prevState.collapsed,\n };\n });\n };\n\n render = () => {\n const { collapsed } = this.state;\n const { facets } = this.props;\n\n if (!facets) return null;\n\n return (\n \n \n Filter resultaten\n {collapsed ? (\n \n \n \n ) : (\n \n \n \n \n )}\n \n
\n {facets.map((group) => (\n \n ))}\n
\n \n );\n };\n}\n","import { FC } from \"react\";\n\nimport \"./ActiveFacetButton.scss\";\n\ninterface Props {\n label?: string;\n onClick?: () => void;\n}\n\nexport const ActiveFacetButton: FC = ({ label, onClick }) => (\n \n);\n","import { Component } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { connect } from \"react-redux\";\n\nimport { removeFacetAsActive, resetActiveFacets, search } from \"../actions\";\n\nimport { ActiveFacetButton } from \"./ActiveFacetButton\";\n\nconst getActiveTopics = ({ facets }) => {\n const { active, all } = facets;\n const result = [];\n if (!all.length) return result;\n\n Object.keys(active).forEach((id) => {\n if (active[id].length) {\n active[id].forEach((value) => {\n const item = all\n .filter((f) => f.id === id)\n .map((f) => f.options)[0]\n .filter((f) => f.value === value)[0];\n result.push({\n ...item,\n id,\n });\n });\n }\n });\n\n return result;\n};\n\nconst mapStateToProps = (state) => ({\n facets: getActiveTopics(state),\n});\n\nconst mapDispatchToProps = (dispatch) => ({\n onFacetButtonClick: (facet) => dispatch(removeFacetAsActive(facet)),\n resetActiveFacets: () => dispatch(resetActiveFacets()),\n search: () => dispatch(search()),\n});\n\nclass ActiveFacets extends Component {\n static propTypes = {\n facets: PropTypes.array,\n onFacetButtonClick: PropTypes.func,\n resetActiveFacets: PropTypes.func,\n search: PropTypes.func,\n };\n\n static defaultProps = {\n facets: [],\n onFacetButtonClick: () => {},\n resetActiveFacets: () => {},\n search: () => {},\n };\n\n constructor(props) {\n super(props);\n\n this.state = {};\n }\n\n handleOnFacetButtonClick = (f) => () => {\n const { onFacetButtonClick, search: thisSearch } = this.props;\n\n onFacetButtonClick(f);\n thisSearch();\n };\n\n handleOnResetButtonClick = () => {\n const { resetActiveFacets: thisResetActiveFacets, search: thisSearch } =\n this.props;\n\n thisResetActiveFacets();\n thisSearch();\n };\n\n renderFacetButtons = () => {\n const { facets } = this.props;\n\n return facets.map((f) => (\n \n ));\n };\n\n render = () => {\n const { facets } = this.props;\n\n if (!facets.length) {\n return null;\n }\n\n return (\n
\n {this.renderFacetButtons()}\n \n Reset filter\n \n
\n );\n };\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(ActiveFacets);\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\n\nimport { SearchField, SearchResults, SearchPager } from \"./\";\nimport SearchFilters from \"./SearchFilters\";\nimport ActiveFacets from \"./ActiveFacets\";\n\nexport default class Search extends React.Component {\n static propTypes = {\n facets: PropTypes.array,\n normalizedFacets: PropTypes.array,\n search: PropTypes.func,\n initFacets: PropTypes.func,\n updateSearchQuery: PropTypes.func,\n updateSearchOffset: PropTypes.func,\n setIntialSearch: PropTypes.func,\n searched: PropTypes.bool,\n loading: PropTypes.bool,\n query: PropTypes.string,\n total: PropTypes.number,\n items: PropTypes.array,\n offset: PropTypes.number,\n error: PropTypes.string,\n };\n\n static defaultProps = {\n facets: [],\n normalizedFacets: [],\n search: () => {},\n initFacets: () => {},\n updateSearchQuery: () => {},\n updateSearchOffset: () => {},\n setIntialSearch: () => {},\n searched: false,\n loading: false,\n query: \"\",\n total: 0,\n items: [],\n offset: 0,\n error: \"\",\n };\n\n componentDidMount = async () => {\n const { facets, initFacets, setIntialSearch, search } = this.props;\n\n initFacets(facets);\n setIntialSearch();\n search({});\n };\n\n /* componentDidUpdate = () => {\n const { loading, searched } = this.props;\n\n if (!loading && searched) {\n this.scrollToTop();\n }\n }; */\n\n scrollToTop = () => {\n /* const { scrollY } = window;\n\n const twzr = new Tweezer({\n start: scrollY,\n end: this.container.getBoundingClientRect().top + scrollY,\n duration: 200,\n });\n\n twzr.on(\"tick\", (value) => {\n window.scrollTo(0, value);\n });\n\n twzr.begin(); */\n };\n\n handleUpdateQuery = (query) => {\n const { updateSearchQuery } = this.props;\n\n updateSearchQuery(query);\n };\n\n handleUpdateOffset = (offset) => {\n const { updateSearchOffset, search } = this.props;\n\n updateSearchOffset(offset);\n search();\n };\n\n handleSearch = async () => {\n const { updateSearchOffset, search } = this.props;\n\n updateSearchOffset(0);\n search();\n };\n\n render = () => {\n const {\n searched,\n loading,\n query,\n total,\n items,\n offset,\n error,\n normalizedFacets,\n } = this.props;\n\n return (\n {\n this.container = container;\n }}\n >\n
\n \n
\n
\n \n
\n \n \n \n
\n
\n \n );\n };\n}\n","import { connect } from \"react-redux\";\n\nimport {\n initFacets,\n updateSearchQuery,\n updateSearchOffset,\n search,\n setIntialSearch,\n} from \"../actions\";\n\nimport Search from \"./Search\";\n\nconst mapStateToProps = (state) => ({\n ...state.search,\n normalizedFacets: state.facets.all,\n});\n\nconst mapDispatchToProps = (dispatch) => ({\n setIntialSearch: () => dispatch(setIntialSearch()),\n initFacets: (facets) => dispatch(initFacets(facets)),\n search: () => dispatch(search()),\n updateSearchQuery: (query) => dispatch(updateSearchQuery(query)),\n updateSearchOffset: (offset) => dispatch(updateSearchOffset(offset)),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(Search);\n","import { FC } from \"react\";\nimport { Provider } from \"react-redux\";\n\nimport store from \"../store\";\nimport Search from \"./SearchContainer\";\n\ninterface Props {\n facets: string[];\n}\n\nexport const App: FC = ({ facets }) => (\n \n \n \n);\n\nexport default App;\n","import { FC, RefObject, useEffect, useRef } from \"react\";\n\ninterface Props {\n query: string;\n handleSearch: () => void;\n handleUpdateQuery: (query: string) => void;\n}\n\nexport const SearchField: FC = ({\n query,\n handleSearch,\n handleUpdateQuery,\n}) => {\n const textInput: RefObject = useRef(null);\n\n useEffect(() => {\n textInput.current?.focus();\n }, []);\n\n return (\n {\n event.preventDefault();\n\n handleSearch();\n }}\n >\n
\n \n \n
\n \n );\n};\n","import { FC } from \"react\";\nimport ReactPaginate from \"react-paginate\";\n\ninterface Props {\n total: number;\n offset: number;\n amount: number;\n loading: boolean;\n handleUpdateOffset: (offset: number) => void;\n}\n\nexport const SearchPager: FC = ({\n total,\n offset,\n amount,\n handleUpdateOffset,\n loading,\n}) => {\n if (loading) return null;\n\n const totalPages = total / amount;\n\n if (totalPages <= 1) {\n return null;\n }\n\n const handleClick = (i: any) => {\n handleUpdateOffset(i.selected);\n };\n\n return (\n
\n \n
\n );\n};\n","import { FC } from \"react\";\n\nimport { SearchResult } from \"./\";\n\nconst Error = ({ message }: { message: string }) => (\n
\n

{message}

\n
\n);\n\ninterface Props {\n searched: boolean;\n error: string;\n items: any[];\n loading?: boolean;\n}\n\nexport const SearchResults: FC = ({ searched, error, items }) => {\n if (error) {\n return ;\n }\n\n if (items.length === 0 && searched) {\n return

Er zijn helaas geen resultaten voor je zoekopdracht.

;\n }\n\n return (\n
\n {items.map((item) => (\n \n ))}\n
\n );\n};\n","import { FC } from \"react\";\n\nimport { Teaser } from \"components/molecules/teaser/Teaser\";\n\ninterface Props {\n item: {\n document: {\n url: string;\n image: string;\n label: string;\n title: string;\n topic: string;\n created: number;\n bundle: string;\n rating: number;\n };\n highlights: {\n intro: string[];\n };\n };\n}\n\nexport const SearchResult: FC = ({ item }) => {\n const { intro } = item.highlights;\n\n const { url, image, label, title, topic, created, bundle, rating } =\n item.document;\n\n return (\n \n );\n};\n","import ReactDOM from \"react-dom/client\";\n\nimport { App } from \"./components/\";\n\nconst searchContainer: HTMLDivElement | null = document.querySelector(\n \"[data-search-container]\"\n);\n\nif (searchContainer) {\n const facets = searchContainer ? searchContainer.dataset.searchFacets : null;\n\n if (facets) {\n const root = ReactDOM.createRoot(searchContainer);\n root.render();\n }\n}\n"],"sourceRoot":""}