diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 9712a9afe..eb6e2e991 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1 +1 @@ -* @yext/slapshot \ No newline at end of file +* @yext/backfire \ No newline at end of file diff --git a/.gitignore b/.gitignore index 0cfbe0cc3..a0f58dad6 100644 --- a/.gitignore +++ b/.gitignore @@ -11,4 +11,4 @@ lib/ .env test-site/.env -.idea/ +.idea/ \ No newline at end of file diff --git a/THIRD-PARTY-NOTICES b/THIRD-PARTY-NOTICES index e894248c8..17221cb2e 100644 --- a/THIRD-PARTY-NOTICES +++ b/THIRD-PARTY-NOTICES @@ -1020,7 +1020,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. The following NPM package may be included in this product: - - @yext/search-core@2.3.0-beta.1 + - @yext/search-core@2.3.0 This package contains the following license and notice below: @@ -1064,7 +1064,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. The following NPM package may be included in this product: - - @yext/search-headless-react@2.2.0-beta.0 + - @yext/search-headless-react@2.2.0 This package contains the following license and notice below: @@ -1108,7 +1108,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. The following NPM package may be included in this product: - - @yext/search-headless@2.2.1-beta.0 + - @yext/search-headless@2.3.0 This package contains the following license and notice below: diff --git a/package-lock.json b/package-lock.json index 38c58996a..2d05180a8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@yext/search-ui-react", - "version": "1.1.0", + "version": "1.2.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@yext/search-ui-react", - "version": "1.1.0", + "version": "1.2.0", "license": "BSD-3-Clause", "dependencies": { "@microsoft/api-documenter": "^7.15.3", @@ -54,7 +54,7 @@ "@typescript-eslint/eslint-plugin": "^5.16.0", "@typescript-eslint/parser": "^5.16.0", "@yext/eslint-config-slapshot": "^0.5.0", - "@yext/search-headless-react": "^2.2.0-beta.0", + "@yext/search-headless-react": "^2.2.0", "axe-playwright": "^1.1.11", "babel-jest": "^27.0.6", "eslint": "^8.11.0", @@ -71,7 +71,7 @@ "typescript": "~4.5.5" }, "peerDependencies": { - "@yext/search-headless-react": "^2.2.0-beta.0", + "@yext/search-headless-react": "^2.2.0", "react": "^16.14 || ^17 || ^18", "react-dom": "^16.14 || ^17 || ^18" } @@ -10738,9 +10738,9 @@ } }, "node_modules/@yext/search-core": { - "version": "2.3.0-beta.1", - "resolved": "https://registry.npmjs.org/@yext/search-core/-/search-core-2.3.0-beta.1.tgz", - "integrity": "sha512-qO8OC88ZftVLVxyylG0CxM/1Jf6xCVpztwDEKnDu/3lKw9Iq/zHZA7E487y1Ja2MraU6WuiMUNFYJpzYRLOcIw==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@yext/search-core/-/search-core-2.3.0.tgz", + "integrity": "sha512-vSvNXWv9E/6s4oRB1og4zHfRTTEHrmUm2sh95Y1Dn94U2mkjNDGSsshEeamU2UIJO7Ee5oT6K6JDU7XAVOxC4A==", "dev": true, "dependencies": { "@babel/runtime-corejs3": "^7.12.5", @@ -10751,24 +10751,24 @@ } }, "node_modules/@yext/search-headless": { - "version": "2.2.1-beta.0", - "resolved": "https://registry.npmjs.org/@yext/search-headless/-/search-headless-2.2.1-beta.0.tgz", - "integrity": "sha512-90uvmnE2sOTnv23hTDm4y/DkPsWollufdbNRL43c2RZCsh8GAh2IEWVd1nIdz3k1Ac26XS6kUGVCrGh2TlrWRw==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@yext/search-headless/-/search-headless-2.3.0.tgz", + "integrity": "sha512-Uh5DVeV99dkaeF6ayuUEkcUbI8wHn/7bz4aHrjtdDyl3F/6GX3cyHbs/BQh1kWCr+t8EJUWVPl5s4jmL3tst/Q==", "dev": true, "dependencies": { "@reduxjs/toolkit": "^1.8.1", - "@yext/search-core": "^2.3.0-beta.1", + "@yext/search-core": "^2.3.0", "js-levenshtein": "^1.1.6", "lodash": "^4.17.21" } }, "node_modules/@yext/search-headless-react": { - "version": "2.2.0-beta.0", - "resolved": "https://registry.npmjs.org/@yext/search-headless-react/-/search-headless-react-2.2.0-beta.0.tgz", - "integrity": "sha512-fyMHbIWy+xJxZ36YSmBCCFX07fVUboxuVXNIBFn9u7L4DI97daulZE4v0SCtyHm3opgwLvCcx/OggmhLqfbhMQ==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@yext/search-headless-react/-/search-headless-react-2.2.0.tgz", + "integrity": "sha512-x2Sx7uS3w5E8RfuIpPsQZGWTGNKS9kRWDlQReUngzxP+UhoBQ8L7qNTGGbJLZ+LUpjRqTS1RuZP4scljbla//g==", "dev": true, "dependencies": { - "@yext/search-headless": "^2.2.1-beta.0", + "@yext/search-headless": "^2.3.0", "use-sync-external-store": "^1.1.0" }, "peerDependencies": { @@ -41108,9 +41108,9 @@ } }, "@yext/search-core": { - "version": "2.3.0-beta.1", - "resolved": "https://registry.npmjs.org/@yext/search-core/-/search-core-2.3.0-beta.1.tgz", - "integrity": "sha512-qO8OC88ZftVLVxyylG0CxM/1Jf6xCVpztwDEKnDu/3lKw9Iq/zHZA7E487y1Ja2MraU6WuiMUNFYJpzYRLOcIw==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@yext/search-core/-/search-core-2.3.0.tgz", + "integrity": "sha512-vSvNXWv9E/6s4oRB1og4zHfRTTEHrmUm2sh95Y1Dn94U2mkjNDGSsshEeamU2UIJO7Ee5oT6K6JDU7XAVOxC4A==", "dev": true, "requires": { "@babel/runtime-corejs3": "^7.12.5", @@ -41118,24 +41118,24 @@ } }, "@yext/search-headless": { - "version": "2.2.1-beta.0", - "resolved": "https://registry.npmjs.org/@yext/search-headless/-/search-headless-2.2.1-beta.0.tgz", - "integrity": "sha512-90uvmnE2sOTnv23hTDm4y/DkPsWollufdbNRL43c2RZCsh8GAh2IEWVd1nIdz3k1Ac26XS6kUGVCrGh2TlrWRw==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@yext/search-headless/-/search-headless-2.3.0.tgz", + "integrity": "sha512-Uh5DVeV99dkaeF6ayuUEkcUbI8wHn/7bz4aHrjtdDyl3F/6GX3cyHbs/BQh1kWCr+t8EJUWVPl5s4jmL3tst/Q==", "dev": true, "requires": { "@reduxjs/toolkit": "^1.8.1", - "@yext/search-core": "^2.3.0-beta.1", + "@yext/search-core": "^2.3.0", "js-levenshtein": "^1.1.6", "lodash": "^4.17.21" } }, "@yext/search-headless-react": { - "version": "2.2.0-beta.0", - "resolved": "https://registry.npmjs.org/@yext/search-headless-react/-/search-headless-react-2.2.0-beta.0.tgz", - "integrity": "sha512-fyMHbIWy+xJxZ36YSmBCCFX07fVUboxuVXNIBFn9u7L4DI97daulZE4v0SCtyHm3opgwLvCcx/OggmhLqfbhMQ==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@yext/search-headless-react/-/search-headless-react-2.2.0.tgz", + "integrity": "sha512-x2Sx7uS3w5E8RfuIpPsQZGWTGNKS9kRWDlQReUngzxP+UhoBQ8L7qNTGGbJLZ+LUpjRqTS1RuZP4scljbla//g==", "dev": true, "requires": { - "@yext/search-headless": "^2.2.1-beta.0", + "@yext/search-headless": "^2.3.0", "use-sync-external-store": "^1.1.0" } }, diff --git a/package.json b/package.json index 582462000..2ed070921 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@yext/search-ui-react", - "version": "1.2.0-beta.0", + "version": "1.2.0", "description": "A library of React Components for powering Yext Search integrations", "author": "slapshot@yext.com", "license": "BSD-3-Clause", @@ -76,7 +76,7 @@ "@typescript-eslint/eslint-plugin": "^5.16.0", "@typescript-eslint/parser": "^5.16.0", "@yext/eslint-config-slapshot": "^0.5.0", - "@yext/search-headless-react": "^2.2.0-beta.0", + "@yext/search-headless-react": "^2.2.0", "axe-playwright": "^1.1.11", "babel-jest": "^27.0.6", "eslint": "^8.11.0", @@ -93,7 +93,7 @@ "typescript": "~4.5.5" }, "peerDependencies": { - "@yext/search-headless-react": "^2.2.0-beta.0", + "@yext/search-headless-react": "^2.2.0", "react": "^16.14 || ^17 || ^18", "react-dom": "^16.14 || ^17 || ^18" }, diff --git a/tests/components/Facets.stories.tsx b/tests/components/Facets.stories.tsx index 5e92e10f3..e24affa12 100644 --- a/tests/components/Facets.stories.tsx +++ b/tests/components/Facets.stories.tsx @@ -4,6 +4,7 @@ import { generateMockedHeadless } from '../__fixtures__/search-headless'; import { RecursivePartial } from '../__utils__/mocks'; import { DisplayableFacets } from '../__fixtures__/data/filters'; import { Facets, FacetsProps } from '../../src'; +import { createHierarchicalFacet } from '../__utils__/hierarchicalfacets'; const meta: ComponentMeta = { title: 'Facets', @@ -13,7 +14,15 @@ export default meta; const mockedHeadlessState: RecursivePartial = { filters: { - facets: DisplayableFacets + facets: [ + ...DisplayableFacets, + createHierarchicalFacet([ + 'food', + 'food > fruit', + { value: 'food > fruit > banana', selected: true }, + 'food > fruit > apple', + ]) + ] } };