@yext/search-ui-react
TypeScript icon, indicating that this package has built-in type declarations

1.5.0 • Public • Published

search-ui-react


A library of React Components for powering Yext Search integrations.

See the full documentation here.

Getting Started

If you are using NPM 7+, you can install the components with the following command:

npm install @yext/search-ui-react

The @yext/search-headless-react peer dependency will be automatically installed.

If you are using NPM 6 or Yarn, you can install the library and its peer dependencies with this command:

npx install-peerdeps @yext/search-ui-react

The command will work with Yarn so long as NPM 6+ is installed on the machine.

Once the library and its peer dependencies are installed, our React Components should be nested inside the SearchHeadlessProvider. SearchHeadlessProvider requires a SearchHeadless instance, which is created using provideHeadless(...) with the appropriate credentials:

import { provideHeadless, SearchHeadlessProvider } from '@yext/search-headless-react';
import { SearchBar, UniversalResults, VerticalConfigMap } from '@yext/search-ui-react';
import { v4 as uuidv4 } from 'uuid';

const config = {
  apiKey: '<apiKey>',
  experienceKey: '<experienceKey>',
  locale: 'en',
  experienceVersion: 'PRODUCTION',
}

const searcher = provideHeadless(config);

searcher.setSessionTrackingEnabled(true);
let sessionId = window.sessionStorage.getItem('sessionId');
if (!sessionId) {
  sessionId = uuidv4();
  window.sessionStorage.setItem('sessionId', sessionId);
}
searcher.setSessionId(sessionId);

const verticalConfigMap: VerticalConfigMap = {
  help_articles: {
    label: "Help Articles"
  }
}

function App() {
  return (
    <SearchHeadlessProvider searcher={searcher}>
      <SearchBar />
      <UniversalResults verticalConfigMap={verticalConfigMap}/>
    </SearchHeadlessProvider>
  );
}

export default App;

To use the Component Library's Styling without adding Tailwind to your project, add the following import:

import '@yext/search-ui-react/bundle.css'

Compatibility Notes

This library and its dependencies use optional chaining and other modern TS syntax that is not inherently supported by Webpack <5 (e.g. via create-react-app@4). Additional Babel plugins are needed for transpiling if using legacy versions.

/@yext/search-ui-react/

    Package Sidebar

    Install

    npm i @yext/search-ui-react

    Weekly Downloads

    2,349

    Version

    1.5.0

    License

    BSD-3-Clause

    Unpacked Size

    2.95 MB

    Total Files

    132

    Last publish

    Collaborators

    • souravkumar
    • anguyenyext
    • gargsi
    • manash-rauta
    • rsalunke
    • johnnguyen
    • saivythik
    • scheerla
    • a_ashwik
    • slapshot-bot
    • ataing
    • prisharma
    • ttanushree
    • nlanjewar
    • abhishekbajpai
    • ajaybenno
    • tpotla
    • surya_yext
    • nbramblett
    • nsiskind
    • saahith
    • emilyzhang777
    • sscott24
    • ydaniel
    • junpark1213
    • dsurducan
    • afriedman00
    • lilwang
    • dgurland
    • dwon
    • htamirepi
    • ajgist
    • yunxiashi
    • emilyfranklin
    • msporer-yext
    • pgill
    • snagabhirava
    • twhiteyext
    • ewu42
    • bryanreed
    • dlsgusrn7577
    • klu
    • paigep
    • stellali
    • petya182
    • ptroupgalligan
    • syhanley
    • zhengzhi
    • mdavis-yext
    • jimboh
    • jballschneider
    • jknutsonn
    • jamesyang14
    • jfromm
    • tobyko
    • lymarrie
    • levyshi9945
    • mkilpatrick
    • baigel1
    • koyoldc
    • nricartsanchez
    • roser11
    • dkang3021
    • xlin97
    • mleifer
    • pmomesso
    • eefi
    • mxs2019
    • jaredhood
    • nmanu
    • jrhoads
    • npark
    • lki9419
    • mancusi
    • rchhatre
    • mtusman
    • mdavish
    • apavlick
    • yext_eng_npm
    • benmcginnis
    • kunal-p
    • data-enabler
    • tmeyer2115
    • mbowman
    • jronkin_yext
    • oshi
    • svc_jenkins_consulting_yext
    • cblair_yext
    • mwoon
    • willgorick
    • bhaines-yext
    • aliang_yext
    • zgeier
    • sgresh_yext
    • rconsalo
    • stephenrva
    • jbaik
    • sjayakumar
    • tritpham
    • ttimblin
    • sharvey
    • wenright-yext
    • npatel94
    • telliottyext
    • johncho92
    • canderson_yext
    • ssaunders
    • sukim
    • rpope
    • eal172
    • peteros
    • jachen1997
    • jesuyed
    • ytruong
    • joshuahsueh