From d3ca2559f7bf36eaa8b7f31c1f979cb54c332b02 Mon Sep 17 00:00:00 2001 From: Oliver Shi Date: Tue, 9 Nov 2021 16:12:48 -0500 Subject: [PATCH] export * answers-headless This commit adds an export * from answers-headless statement. This way, the sample-app doesn't have to use a transient answers-core or answers-headless dependency for models. J=SLAP-1684 TEST=manual see the sample app runs --- sample-app/src/components/AlternativeVerticals.tsx | 3 +-- sample-app/src/components/DecoratedAppliedFilters.tsx | 3 +-- sample-app/src/components/Facet.tsx | 3 +-- sample-app/src/components/Facets.tsx | 3 +-- sample-app/src/components/LocationBias.tsx | 4 +--- sample-app/src/components/SearchBar.tsx | 3 +-- sample-app/src/components/StaticFilters.tsx | 8 +++----- sample-app/src/components/UniversalResults.tsx | 3 +-- sample-app/src/components/VerticalResults.tsx | 3 +-- sample-app/src/models/cardComponent.ts | 2 +- sample-app/src/models/displayableFilter.ts | 2 +- sample-app/src/models/sectionComponent.ts | 2 +- sample-app/src/utils/appliedfilterutils.tsx | 2 +- sample-app/src/utils/displayablefilterutils.tsx | 2 +- sample-app/src/utils/filterutils.tsx | 2 +- src/AnswersHeadlessProvider.tsx | 3 +-- src/index.ts | 1 + tests/components/appliedFilters.test.tsx | 3 +-- tests/useAnswersState.test.tsx | 3 +-- 19 files changed, 21 insertions(+), 34 deletions(-) diff --git a/sample-app/src/components/AlternativeVerticals.tsx b/sample-app/src/components/AlternativeVerticals.tsx index cc13f84d..6c92a94f 100644 --- a/sample-app/src/components/AlternativeVerticals.tsx +++ b/sample-app/src/components/AlternativeVerticals.tsx @@ -1,8 +1,7 @@ import { processTranslation } from './utils/processTranslation'; import { ReactComponent as Chevron } from '../icons/chevron.svg'; import { ReactComponent as Star } from '../icons/star.svg'; -import { useAnswersState, useAnswersActions } from '@yext/answers-headless-react'; -import { VerticalResults } from '@yext/answers-core'; +import { useAnswersState, useAnswersActions, VerticalResults } from '@yext/answers-headless-react'; import '../sass/AlternativeVerticals.scss'; interface VerticalConfig { diff --git a/sample-app/src/components/DecoratedAppliedFilters.tsx b/sample-app/src/components/DecoratedAppliedFilters.tsx index 5b1be48b..7d7b7f90 100644 --- a/sample-app/src/components/DecoratedAppliedFilters.tsx +++ b/sample-app/src/components/DecoratedAppliedFilters.tsx @@ -1,6 +1,5 @@ import AppliedFilters from "./AppliedFilters"; -import { AppliedQueryFilter } from "@yext/answers-core"; -import { useAnswersState } from '@yext/answers-headless-react'; +import { useAnswersState, AppliedQueryFilter } from '@yext/answers-headless-react'; import { GroupedFilters } from '../models/groupedFilters'; import { getGroupedAppliedFilters } from '../utils/appliedfilterutils'; diff --git a/sample-app/src/components/Facet.tsx b/sample-app/src/components/Facet.tsx index da848cd1..ac571cec 100644 --- a/sample-app/src/components/Facet.tsx +++ b/sample-app/src/components/Facet.tsx @@ -1,5 +1,4 @@ -import { useAnswersUtilities } from '@yext/answers-headless-react' -import { DisplayableFacet, DisplayableFacetOption } from '@yext/answers-core'; +import { useAnswersUtilities, DisplayableFacet, DisplayableFacetOption } from '@yext/answers-headless-react' import { useState } from 'react'; import useCollapse from 'react-collapsed'; import '../sass/Facet.scss'; diff --git a/sample-app/src/components/Facets.tsx b/sample-app/src/components/Facets.tsx index 12fddf76..b66ae2fa 100644 --- a/sample-app/src/components/Facets.tsx +++ b/sample-app/src/components/Facets.tsx @@ -1,5 +1,4 @@ -import { useAnswersState, useAnswersActions } from '@yext/answers-headless-react' -import { DisplayableFacetOption } from "@yext/answers-core"; +import { useAnswersState, useAnswersActions, DisplayableFacetOption } from '@yext/answers-headless-react' import Facet, { FacetTextConfig } from './Facet'; import '../sass/Facets.scss'; diff --git a/sample-app/src/components/LocationBias.tsx b/sample-app/src/components/LocationBias.tsx index a115daeb..c19a3975 100644 --- a/sample-app/src/components/LocationBias.tsx +++ b/sample-app/src/components/LocationBias.tsx @@ -1,6 +1,4 @@ - -import { LocationBiasMethod } from '@yext/answers-core'; -import { useAnswersActions, useAnswersState } from '@yext/answers-headless-react'; +import { useAnswersActions, useAnswersState, LocationBiasMethod } from '@yext/answers-headless-react'; interface Props { isVertical: boolean, diff --git a/sample-app/src/components/SearchBar.tsx b/sample-app/src/components/SearchBar.tsx index 20942ed9..4b88426f 100644 --- a/sample-app/src/components/SearchBar.tsx +++ b/sample-app/src/components/SearchBar.tsx @@ -1,5 +1,4 @@ -import { useAnswersActions, useAnswersState, StateSelector } from '@yext/answers-headless-react'; -import { AutocompleteResult } from '@yext/answers-core'; +import { useAnswersActions, useAnswersState, StateSelector, AutocompleteResult } from '@yext/answers-headless-react'; import InputDropdown from './InputDropdown'; import renderWithHighlighting from './utils/renderWithHighlighting'; import { ReactComponent as MagnifyingGlassIcon } from '../icons/magnifying_glass.svg'; diff --git a/sample-app/src/components/StaticFilters.tsx b/sample-app/src/components/StaticFilters.tsx index 2f7f22e8..76d59a33 100644 --- a/sample-app/src/components/StaticFilters.tsx +++ b/sample-app/src/components/StaticFilters.tsx @@ -1,6 +1,4 @@ -import { Fragment } from 'react'; -import { Filter, Matcher } from '@yext/answers-core'; -import { useAnswersActions, useAnswersState } from '@yext/answers-headless-react'; +import { useAnswersActions, useAnswersState, Filter, Matcher } from '@yext/answers-headless-react'; import { isDuplicateFilter } from '../utils/filterutils'; interface CheckBoxProps { @@ -31,7 +29,7 @@ function CheckboxFilter({ fieldId, value, label, selected, optionHandler }: Chec } const id = fieldId + "_" + value return ( - + <> optionHandler(filter, evt.target.checked)} /> - + ); } diff --git a/sample-app/src/components/UniversalResults.tsx b/sample-app/src/components/UniversalResults.tsx index 5e826c0c..69108a01 100644 --- a/sample-app/src/components/UniversalResults.tsx +++ b/sample-app/src/components/UniversalResults.tsx @@ -1,5 +1,4 @@ -import { useAnswersState } from "@yext/answers-headless-react"; -import { VerticalResults } from "@yext/answers-core"; +import { useAnswersState, VerticalResults } from "@yext/answers-headless-react"; import StandardSection from "../sections/StandardSection"; import { DecoratedAppliedFiltersConfig } from '../components/DecoratedAppliedFilters'; import SectionHeader from "../sections/SectionHeader"; diff --git a/sample-app/src/components/VerticalResults.tsx b/sample-app/src/components/VerticalResults.tsx index ffefa5fc..1d32ed6c 100644 --- a/sample-app/src/components/VerticalResults.tsx +++ b/sample-app/src/components/VerticalResults.tsx @@ -1,6 +1,5 @@ import { CardComponent, CardConfigTypes } from '../models/cardComponent'; -import { Result } from '@yext/answers-core'; -import { useAnswersState } from '@yext/answers-headless-react'; +import { useAnswersState, Result } from '@yext/answers-headless-react'; import classNames from 'classnames'; import '../sass/VerticalResults.scss'; diff --git a/sample-app/src/models/cardComponent.ts b/sample-app/src/models/cardComponent.ts index 73042920..e320f5a3 100644 --- a/sample-app/src/models/cardComponent.ts +++ b/sample-app/src/models/cardComponent.ts @@ -1,4 +1,4 @@ -import { Result } from '@yext/answers-core'; +import { Result } from '@yext/answers-headless-react'; import { StandardCardConfig } from '../components/cards/StandardCard'; /** diff --git a/sample-app/src/models/displayableFilter.ts b/sample-app/src/models/displayableFilter.ts index da4b8dfa..c664b317 100644 --- a/sample-app/src/models/displayableFilter.ts +++ b/sample-app/src/models/displayableFilter.ts @@ -1,4 +1,4 @@ -import { Filter } from '@yext/answers-core'; +import { Filter } from '@yext/answers-headless-react'; export interface DisplayableFilter { filterType: 'NLP_FILTER' | 'STATIC_FILTER' | 'FACET', diff --git a/sample-app/src/models/sectionComponent.ts b/sample-app/src/models/sectionComponent.ts index 788c03f1..3fe8f6a4 100644 --- a/sample-app/src/models/sectionComponent.ts +++ b/sample-app/src/models/sectionComponent.ts @@ -1,4 +1,4 @@ -import { Result } from "@yext/answers-core"; +import { Result } from "@yext/answers-headless-react"; import { CardConfig } from './cardComponent'; export interface SectionConfig { diff --git a/sample-app/src/utils/appliedfilterutils.tsx b/sample-app/src/utils/appliedfilterutils.tsx index 78a02b27..3e473d78 100644 --- a/sample-app/src/utils/appliedfilterutils.tsx +++ b/sample-app/src/utils/appliedfilterutils.tsx @@ -1,4 +1,4 @@ -import { AppliedQueryFilter } from "@yext/answers-core"; +import { AppliedQueryFilter } from "@yext/answers-headless-react"; import { FiltersState } from "@yext/answers-headless/lib/esm/models/slices/filters"; import { DisplayableFilter } from "../models/displayableFilter"; import { GroupedFilters } from "../models/groupedFilters"; diff --git a/sample-app/src/utils/displayablefilterutils.tsx b/sample-app/src/utils/displayablefilterutils.tsx index 4b6c967d..57b52fc3 100644 --- a/sample-app/src/utils/displayablefilterutils.tsx +++ b/sample-app/src/utils/displayablefilterutils.tsx @@ -1,4 +1,4 @@ -import { AppliedQueryFilter, DisplayableFacet } from '@yext/answers-core'; +import { AppliedQueryFilter, DisplayableFacet } from '@yext/answers-headless-react'; import { SelectableFilter } from '@yext/answers-headless/lib/esm/models/utils/selectablefilter'; import { DisplayableFilter } from '../models/displayableFilter'; import { getFilterDisplayValue } from './filterutils'; diff --git a/sample-app/src/utils/filterutils.tsx b/sample-app/src/utils/filterutils.tsx index 1ba1678f..a53bd108 100644 --- a/sample-app/src/utils/filterutils.tsx +++ b/sample-app/src/utils/filterutils.tsx @@ -1,4 +1,4 @@ -import { NearFilterValue, CombinedFilter, Filter } from '@yext/answers-core'; +import { NearFilterValue, CombinedFilter, Filter } from '@yext/answers-headless-react'; /** * Check if the object follows NearFilterValue interface diff --git a/src/AnswersHeadlessProvider.tsx b/src/AnswersHeadlessProvider.tsx index 60634054..d4ceaa58 100644 --- a/src/AnswersHeadlessProvider.tsx +++ b/src/AnswersHeadlessProvider.tsx @@ -1,6 +1,5 @@ import { ReactChild, ReactChildren } from 'react'; -import { provideAnswersHeadless, AnswersHeadless } from '@yext/answers-headless'; -import { AnswersConfig } from '@yext/answers-core'; +import { provideAnswersHeadless, AnswersHeadless, AnswersConfig } from '@yext/answers-headless'; import { AnswersHeadlessContext } from './AnswersHeadlessContext'; interface Props extends AnswersConfig { diff --git a/src/index.ts b/src/index.ts index c9a74bda..c7e32c3a 100644 --- a/src/index.ts +++ b/src/index.ts @@ -5,6 +5,7 @@ import { subscribeToStateUpdates } from './subscribeToStateUpdates'; import { AnswersHeadlessProvider } from './AnswersHeadlessProvider'; import { AnswersHeadlessContext } from './AnswersHeadlessContext'; +export * from '@yext/answers-headless'; export { AnswersHeadlessContext, subscribeToStateUpdates, diff --git a/tests/components/appliedFilters.test.tsx b/tests/components/appliedFilters.test.tsx index b2908d76..4f63e92f 100644 --- a/tests/components/appliedFilters.test.tsx +++ b/tests/components/appliedFilters.test.tsx @@ -1,8 +1,7 @@ import { act, render } from '@testing-library/react'; -import { provideAnswersHeadless } from '@yext/answers-headless'; +import { provideAnswersHeadless, Matcher } from '@yext/answers-headless'; import { AnswersHeadlessContext } from '../../src'; import DecoratedAppliedFilters from '../../sample-app/src/components/DecoratedAppliedFilters'; -import { Matcher } from '@yext/answers-core'; import { useCallback } from 'react'; import { verticalQueryResponseWithNlpFilters } from '../setup/responses/vertical-query'; diff --git a/tests/useAnswersState.test.tsx b/tests/useAnswersState.test.tsx index 6f4be70b..c322b591 100644 --- a/tests/useAnswersState.test.tsx +++ b/tests/useAnswersState.test.tsx @@ -1,7 +1,6 @@ import { act, render, screen } from '@testing-library/react'; import userEvent from '@testing-library/user-event'; -import { Result } from '@yext/answers-core'; -import { provideAnswersHeadless } from '@yext/answers-headless'; +import { provideAnswersHeadless, Result } from '@yext/answers-headless'; import { State } from '@yext/answers-headless/lib/esm/models/state'; import React, { useCallback, useReducer } from 'react'; import { AnswersHeadlessContext, useAnswersActions, useAnswersState } from '../src';