WIP search

This commit is contained in:
Fred Carlsen
2019-06-27 19:31:21 +02:00
committed by fabioberger
parent 154841157f
commit 8c5f4c3de7
5 changed files with 421 additions and 44 deletions

View File

@@ -33,12 +33,14 @@
"@0x/web3-wrapper": "^6.0.11",
"@reach/dialog": "^0.1.2",
"@reach/tabs": "^0.1.6",
"@types/algoliasearch": "^3.30.12",
"@types/body-scroll-lock": "^2.6.0",
"@types/react-lazyload": "^2.3.1",
"@types/react-loadable": "^5.4.2",
"@types/react-syntax-highlighter": "^0.0.8",
"@types/styled-components": "4.1.1",
"accounting": "^0.4.1",
"algoliasearch": "^3.33.0",
"basscss": "^8.0.3",
"blockies": "^0.0.2",
"body-scroll-lock": "^2.6.1",
@@ -61,12 +63,15 @@
"query-string": "^6.0.0",
"rc-slider": "^8.6.3",
"react": "^16.5.2",
"react-autocomplete": "^1.8.1",
"react-autosuggest": "^9.4.3",
"react-copy-to-clipboard": "^5.0.0",
"react-dom": "^16.5.2",
"react-flickity-component": "^3.1.0",
"react-headroom": "2.2.2",
"react-helmet": "^5.2.0",
"react-highlight": "0xproject/react-highlight#react-peer-deps",
"react-instantsearch-dom": "^5.7.0",
"react-lazyload": "^2.3.0",
"react-loadable": "^5.5.0",
"react-markdown": "^4.0.6",

View File

@@ -0,0 +1,215 @@
import { Link } from '@0x/react-shared';
import * as _ from 'lodash';
import * as React from 'react';
import styled, { css } from 'styled-components';
// import Autocomplete from 'react-autocomplete';
import Autosuggest from 'react-autosuggest';
import {
Highlight,
Snippet,
} from 'react-instantsearch-dom';
interface Props {
isHome?: boolean;
}
interface ToolsHit {
objectID: string;
title: string;
}
interface AutoCompleteProps {
isHome?: boolean;
hits: object[];
currentRefinement: string;
refine?: (value: string) => void;
}
interface AutoCompleteState {
value: string;
}
interface HitProps {
[key: string]: any;
}
interface AutosuggestThemeClasses {
[key: string]: any;
}
const theme: AutosuggestThemeClasses = {
container: 'react-autosuggest__container',
containerOpen: 'react-autosuggest__container--open',
input: 'react-autosuggest__input',
inputOpen: 'react-autosuggest__input--open',
inputFocused: 'react-autosuggest__input--focused',
suggestionsContainer: 'react-autosuggest__suggestions-container',
suggestionsContainerOpen: 'react-autosuggest__suggestions-container--open',
suggestionsList: 'react-autosuggest__suggestions-list',
suggestion: 'react-autosuggest__suggestion',
suggestionFirst: 'react-autosuggest__suggestion--first',
suggestionHighlighted: 'react-autosuggest__suggestion--highlighted',
sectionContainer: 'react-autosuggest__section-container',
sectionContainerFirst: 'react-autosuggest__section-container--first',
sectionTitle: 'react-autosuggest__section-title',
};
export class CustomAutoComplete extends React.Component<AutoCompleteProps, AutoCompleteState> {
public static defaultProps: AutoCompleteProps = {
isHome: false,
hits: [],
currentRefinement: '',
};
constructor(props: AutoCompleteProps) {
super(props);
this.state = {
value: '',
};
}
public render(): React.ReactNode {
const { hits, isHome } = this.props;
const { value } = this.state;
const inputProps = {
placeholder: 'Search docs...',
onChange: this._onChange.bind(this),
value,
};
return (
<Wrapper isHome={isHome}>
<Autosuggest
highlightFirstSuggestion={true}
theme={theme}
suggestions={hits}
multiSection={true}
onSuggestionSelected={this._onSuggestionSelected.bind(this)}
onSuggestionsFetchRequested={this._onSuggestionsFetchRequested.bind(this)}
onSuggestionHighlighted={this._onSuggestionHighlighted.bind(this)}
onSuggestionsClearRequested={this._onSuggestionsClearRequested.bind(this)}
getSuggestionValue={this._getSuggestionValue.bind(this)}
renderSuggestion={this._renderSuggestion.bind(this)}
inputProps={inputProps}
renderSectionTitle={this._renderSectionTitle.bind(this)}
getSectionSuggestions={this._getSectionSuggestions.bind(this)}
/>
</Wrapper>
);
}
private _onChange(event: HitProps, { newValue }: HitProps): void {
this.setState({
value: newValue,
});
}
private _onSuggestionsFetchRequested({ value }: HitProps): void {
this.props.refine(value);
}
private _onSuggestionsClearRequested(): void {
this.props.refine('');
}
// tslint:disable-next-line: no-empty
private _onSuggestionHighlighted(): void {}
private _getSuggestionValue(hit: HitProps): string {
return hit.textContent;
}
private _onSuggestionSelected(event: HitProps, { suggestion }: HitProps): void {
// tslint:disable-next-line: no-console
console.log(suggestion);
}
private _renderSuggestion(hit: HitProps): React.ReactNode {
return (
<HitWrapper>
<Highlight attribute="textContent" hit={hit} tagName="mark" />
</HitWrapper>
);
}
private _renderSectionTitle(section: HitProps): React.ReactNode {
const titles: { [key: string]: any } = {
'0x_tools_test': 'Tools',
'0x_guides_test': 'Guides',
};
return <SectionWrapper>{titles[section.index]}</SectionWrapper>;
}
private _getSectionSuggestions(section: HitProps): string {
return section.hits;
}
}
const SectionWrapper = styled.div`
color: #5C5C5C;
font-size: 0.777777778rem;
padding: 10px 20px;
`;
const HitWrapper = styled.div`
display: flex;
align-items: flex-start;
`;
const Wrapper = styled.div<Props>`
position: relative;
.react-autosuggest__container {
}
.react-autosuggest__suggestions-container {
position: absolute;
left: 0;
right: 0;
background-color: #fff;
z-index: 10;
}
.react-autosuggest__input {
background: url("data:image/svg+xml,%3Csvg width='24' height='24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23fff' fill-opacity='.01' d='M0 0h24v24H0z'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M5 10.5a5.5 5.5 0 1 1 11 0 5.5 5.5 0 0 1-11 0zM10.5 3a7.5 7.5 0 1 0 4.55 13.463l4.743 4.744 1.414-1.414-4.744-4.744A7.5 7.5 0 0 0 10.5 3z' fill='%235C5C5C'/%3E%3C/svg%3E") transparent left center no-repeat;
font-size: 1.375rem;
padding: 18px 18px 21px 35px;
width: 100%;
border: 0;
border-bottom: 1px solid #b4bebd;
outline: none;
${props =>
!props.isHome &&
`
background-color: #EBEEEC;
border-bottom: 0;
padding: 13px 21px 15px 52px;
background-position: left 21px center;
font-size: 1.125rem;
`};
&:before {
content: '';
width: 30px;
height: 30px;
opacity: 0.15;
position: absolute;
top: 0;
left: 0;
}
}
.react-autosuggest__suggestion {
color: #003831;
font-size: 0.85rem;
line-height: 1.4;
font-weight: 400;
padding: 15px 20px;
border-bottom: 1px solid #eee;
}
.react-autosuggest__suggestion--highlighted {
background-color: #eee;
}
`;

View File

@@ -2,13 +2,24 @@ import { Link } from '@0x/react-shared';
import * as _ from 'lodash';
import * as React from 'react';
import styled, { withTheme } from 'styled-components';
import { CustomAutoComplete } from 'ts/components/docs/search/autocomplete';
import { Button } from 'ts/components/button';
import { Column, FlexWrap, WrapGrid } from 'ts/components/newLayout';
import { ThemeValuesInterface } from 'ts/components/siteWrap';
import { Heading } from 'ts/components/text';
import { WebsitePaths } from 'ts/types';
import { constants } from 'ts/utils/constants';
import algoliasearch from 'algoliasearch/lite';
// import Autocomplete from 'react-autocomplete';
import Autosuggest from 'react-autosuggest';
import {
Configure,
connectAutoComplete,
Highlight,
Index,
InstantSearch,
} from 'react-instantsearch-dom';
const searchClient = algoliasearch(
'VHMP18K2OO',
'e46d0171577e85fa5418c50b18f80ade',
);
// const index = searchClient.initIndex(['0x_tools_test']);
interface Props {
isHome?: boolean;
@@ -20,14 +31,32 @@ interface LinkConfig {
shouldOpenInNewTab?: boolean;
}
const AutoComplete = connectAutoComplete(CustomAutoComplete);
export const SearchInput: React.FunctionComponent<Props> = (props: Props) => (
<>
<InstantSearch
searchClient={searchClient}
indexName="0x_tools_test"
root={{
Root: 'div',
props: {
style: {
},
},
}}
>
<Wrapper isHome={props.isHome}>
<AutoComplete isHome={props.isHome} />
<Configure hitsPerPage={5} distinct />
<Index indexName="0x_tools_test" />
<Index indexName="0x_guides_test" />
<Label>
<LabelText>Search query</LabelText>
<Input isHome={props.isHome} />
{/* <Input isHome={props.isHome} />*/}
</Label>
</Wrapper>
</InstantSearch>
</>
);
@@ -38,6 +67,7 @@ SearchInput.defaultProps = {
const Wrapper = styled.div<Props>`
width: 100%;
max-width: 240px;
position: relative;
${props =>
props.isHome &&

View File

@@ -1,11 +1,18 @@
declare module '@reach/dialog';
declare module '@reach/tabs';
declare module 'truffle-contract';
declare module 'whatwg-fetch';
declare module 'thenby';
declare module 'react-document-title';
declare module 'react-ga';
declare module 'reach__dialog';
declare module 'reach__tabs';
declare module 'react-flickity-component';
declare module 'algoliasearch';
declare module 'algoliasearch/lite';
declare module 'react-instantsearch-dom';
declare module 'react-autocomplete';
declare module 'react-autosuggest';
declare module 'react-anchor-link-smooth-scroll';
declare module 'react-responsive';
declare module 'react-scrollable-anchor';

194
yarn.lock
View File

@@ -1746,6 +1746,14 @@
version "0.4.1"
resolved "https://registry.yarnpkg.com/@types/accounting/-/accounting-0.4.1.tgz#865d9f5694fd7c438fba34eb4bc82eec6f34cdd5"
"@types/algoliasearch@^3.30.12":
version "3.30.12"
resolved "https://registry.yarnpkg.com/@types/algoliasearch/-/algoliasearch-3.30.12.tgz#3270ba642107f00cd743c29b8cae30c92a043dba"
"@types/bintrees@^1.0.2":
version "1.0.2"
resolved "https://registry.yarnpkg.com/@types/bintrees/-/bintrees-1.0.2.tgz#0dfdce4eeebdf90427bd35b0e79dc248b3d157a6"
"@types/bip39@^2.4.0":
version "2.4.0"
resolved "https://registry.yarnpkg.com/@types/bip39/-/bip39-2.4.0.tgz#eee31a14abc8ebbb41a1ff14575c447b18346cbc"
@@ -2538,6 +2546,10 @@ agent-base@4, agent-base@^4.1.0, agent-base@~4.2.0:
dependencies:
es6-promisify "^5.0.0"
agentkeepalive@^2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-2.2.0.tgz#c5d1bd4b129008f1163f236f86e5faea2026e2ef"
agentkeepalive@^3.4.1:
version "3.5.1"
resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-3.5.1.tgz#4eba75cf2ad258fc09efd506cdb8d8c2971d35a4"
@@ -2586,6 +2598,42 @@ ajv@^6.5.3, ajv@^6.6.1:
json-schema-traverse "^0.4.1"
uri-js "^4.2.2"
algoliasearch-helper@^2.26.0:
version "2.28.0"
resolved "https://registry.yarnpkg.com/algoliasearch-helper/-/algoliasearch-helper-2.28.0.tgz#1cafa7fcd02c15e9411c4d1778e9a4e89581916d"
dependencies:
events "^1.1.1"
lodash "^4.17.5"
qs "^6.5.1"
algoliasearch@^3.27.1, algoliasearch@^3.33.0:
version "3.33.0"
resolved "https://registry.yarnpkg.com/algoliasearch/-/algoliasearch-3.33.0.tgz#83b541124ebb0db54643009d4e660866b3177cdf"
dependencies:
agentkeepalive "^2.2.0"
debug "^2.6.9"
envify "^4.0.0"
es6-promise "^4.1.0"
events "^1.1.0"
foreach "^2.0.5"
global "^4.3.2"
inherits "^2.0.1"
isarray "^2.0.1"
load-script "^1.0.0"
object-keys "^1.0.11"
querystring-es3 "^0.2.1"
reduce "^1.0.1"
semver "^5.1.0"
tunnel-agent "^0.6.0"
align-text@^0.1.1, align-text@^0.1.3:
version "0.1.4"
resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117"
dependencies:
kind-of "^3.0.2"
longest "^1.0.1"
repeat-string "^1.5.2"
alphanum-sort@^1.0.1, alphanum-sort@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3"
@@ -6388,11 +6436,9 @@ dom-helpers@^3.2.0:
version "3.3.1"
resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-3.3.1.tgz#fc1a4e15ffdf60ddde03a480a9c0fece821dd4a6"
dom-helpers@^3.4.0:
version "3.4.0"
resolved "https://registry.npmjs.org/dom-helpers/-/dom-helpers-3.4.0.tgz#e9b369700f959f62ecde5a6babde4bccd9169af8"
dependencies:
"@babel/runtime" "^7.1.2"
dom-scroll-into-view@1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/dom-scroll-into-view/-/dom-scroll-into-view-1.0.1.tgz#32abb92f0d8feca6215162aef43e4b449ab8d99c"
dom-serializer@0, dom-serializer@~0.1.0:
version "0.1.0"
@@ -6666,9 +6712,12 @@ entities@^1.1.1, entities@~1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.1.tgz#6e5c2d0a5621b5dadaecef80b90edfb5cd7772f0"
env-paths@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-1.0.0.tgz#4168133b42bb05c38a35b1ae4397c8298ab369e0"
envify@^4.0.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/envify/-/envify-4.1.0.tgz#f39ad3db9d6801b4e6b478b61028d3f0b6819f7e"
dependencies:
esprima "^4.0.0"
through "~2.3.4"
enzyme-adapter-react-16@^1.5.0:
version "1.5.0"
@@ -6796,6 +6845,10 @@ es6-promise@^4.0.3:
version "4.2.4"
resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.4.tgz#dc4221c2b16518760bd8c39a52d8f356fc00ed29"
es6-promise@^4.1.0:
version "4.2.8"
resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.8.tgz#4eb21594c972bc40553d276e510539143db53e0a"
es6-promisify@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/es6-promisify/-/es6-promisify-5.0.0.tgz#5109d62f3e56ea967c4b63505aef08291c8a5203"
@@ -7461,11 +7514,7 @@ eventemitter3@^3.0.0:
version "3.1.0"
resolved "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.0.tgz#090b4d6cdbd645ed10bf750d4b5407942d7ba163"
eventemitter3@^3.1.0:
version "3.1.2"
resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-3.1.2.tgz#2d3d48f9c346698fce83a85d7d664e98535df6e7"
events@1.1.1, events@^1.0.0:
events@1.1.1, events@^1.0.0, events@^1.1.0, events@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924"
@@ -8804,6 +8853,13 @@ global@^4.3.0, global@~4.3.0:
min-document "^2.19.0"
process "~0.5.1"
global@^4.3.2:
version "4.4.0"
resolved "https://registry.yarnpkg.com/global/-/global-4.4.0.tgz#3e7b105179006a323ed71aafca3e9c57a5cc6406"
dependencies:
min-document "^2.19.0"
process "^0.11.10"
globals@^11.1.0:
version "11.12.0"
resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e"
@@ -8936,10 +8992,20 @@ got@^6.7.1:
unzip-response "^2.0.1"
url-parse-lax "^1.0.0"
graceful-fs@4.1.15, graceful-fs@^3.0.0, graceful-fs@^4.0.0, graceful-fs@^4.1.10, graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9, graceful-fs@^4.2.0, graceful-fs@~1.2.0:
graceful-fs@^3.0.0:
version "3.0.11"
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-3.0.11.tgz#7613c778a1afea62f25c630a086d7f3acbbdd818"
dependencies:
natives "^1.1.0"
graceful-fs@^4.0.0, graceful-fs@^4.1.10, graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9:
version "4.1.15"
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00"
graceful-fs@~1.2.0:
version "1.2.3"
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-1.2.3.tgz#15a4806a57547cb2d2dbf27f42e89a8c3451b364"
"graceful-readlink@>= 1.0.0":
version "1.0.1"
resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725"
@@ -9306,11 +9372,7 @@ highlight.js@^9.13.1:
version "9.13.1"
resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-9.13.1.tgz#054586d53a6863311168488a0f58d6c505ce641e"
highlight.js@^9.6.0:
version "9.15.9"
resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-9.15.9.tgz#865257da1dbb4a58c4552d46c4b3854f77f0e6d5"
highlightjs-solidity@^1.0.5:
highlightjs-solidity@^1.0.5, highlightjs-solidity@^1.0.6:
version "1.0.6"
resolved "https://registry.yarnpkg.com/highlightjs-solidity/-/highlightjs-solidity-1.0.6.tgz#59394d8a2c57013580d5bfbb62f7df98386ae7ac"
@@ -10322,7 +10384,7 @@ isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
isarray@^2.0.4:
isarray@^2.0.1, isarray@^2.0.4:
version "2.0.4"
resolved "https://registry.npmjs.org/isarray/-/isarray-2.0.4.tgz#38e7bcbb0f3ba1b7933c86ba1894ddfc3781bbb7"
@@ -11450,15 +11512,9 @@ load-json-file@^4.0.0:
pify "^3.0.0"
strip-bom "^3.0.0"
load-json-file@^5.3.0:
version "5.3.0"
resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-5.3.0.tgz#4d3c1e01fa1c03ea78a60ac7af932c9ce53403f3"
dependencies:
graceful-fs "^4.1.15"
parse-json "^4.0.0"
pify "^4.0.1"
strip-bom "^3.0.0"
type-fest "^0.3.0"
load-script@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/load-script/-/load-script-1.0.0.tgz#0491939e0bee5643ee494a7e3da3d2bac70c6ca4"
loader-runner@^2.3.0:
version "2.3.0"
@@ -12659,6 +12715,10 @@ nanomatch@^1.2.9:
snapdragon "^0.8.1"
to-regex "^3.0.1"
natives@^1.1.0:
version "1.1.6"
resolved "https://registry.yarnpkg.com/natives/-/natives-1.1.6.tgz#a603b4a498ab77173612b9ea1acdec4d980f00bb"
natural-compare@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
@@ -13313,6 +13373,10 @@ object-keys@^1.0.11, object-keys@^1.0.8:
version "1.0.11"
resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.11.tgz#c54601778ad560f1142ce0e01bcca8b56d13426d"
object-keys@^1.1.0:
version "1.1.1"
resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e"
object-keys@~0.4.0:
version "0.4.0"
resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-0.4.0.tgz#28a6aae7428dd2c3a92f3d95f21335dd204e0336"
@@ -14800,7 +14864,7 @@ query-string@^6.0.0:
decode-uri-component "^0.2.0"
strict-uri-encode "^2.0.0"
querystring-es3@^0.2.0:
querystring-es3@^0.2.0, querystring-es3@^0.2.1:
version "0.2.1"
resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73"
@@ -14994,6 +15058,29 @@ rc@^1.2.7:
minimist "^1.2.0"
strip-json-comments "~2.0.1"
react-autocomplete@^1.8.1:
version "1.8.1"
resolved "https://registry.yarnpkg.com/react-autocomplete/-/react-autocomplete-1.8.1.tgz#ebbbc400006aa91ad538b2d14727b9e7e5d06310"
dependencies:
dom-scroll-into-view "1.0.1"
prop-types "^15.5.10"
react-autosuggest@^9.4.3:
version "9.4.3"
resolved "https://registry.yarnpkg.com/react-autosuggest/-/react-autosuggest-9.4.3.tgz#eb46852422a48144ab9f39fb5470319222f26c7c"
dependencies:
prop-types "^15.5.10"
react-autowhatever "^10.1.2"
shallow-equal "^1.0.0"
react-autowhatever@^10.1.2:
version "10.2.0"
resolved "https://registry.yarnpkg.com/react-autowhatever/-/react-autowhatever-10.2.0.tgz#bdd07bf19ddf78acdb8ce7ae162ac13b646874ab"
dependencies:
prop-types "^15.5.8"
react-themeable "^1.1.0"
section-iterator "^2.0.0"
react-copy-to-clipboard@^5.0.0:
version "5.0.1"
resolved "https://registry.npmjs.org/react-copy-to-clipboard/-/react-copy-to-clipboard-5.0.1.tgz#8eae107bb400be73132ed3b6a7b4fb156090208e"
@@ -15081,6 +15168,27 @@ react-hot-loader@^4.3.3:
react-lifecycles-compat "^3.0.4"
shallowequal "^1.0.2"
react-instantsearch-core@^5.7.0:
version "5.7.0"
resolved "https://registry.yarnpkg.com/react-instantsearch-core/-/react-instantsearch-core-5.7.0.tgz#6979ec419d2711033f6c83181de6cae9e1f064c2"
dependencies:
"@babel/runtime" "^7.1.2"
algoliasearch-helper "^2.26.0"
lodash "^4.17.4"
prop-types "^15.5.10"
react-instantsearch-dom@^5.7.0:
version "5.7.0"
resolved "https://registry.yarnpkg.com/react-instantsearch-dom/-/react-instantsearch-dom-5.7.0.tgz#5a9b0cfb461c08a349a5fdc5d1cff50b8f5fcf56"
dependencies:
"@babel/runtime" "^7.1.2"
algoliasearch "^3.27.1"
algoliasearch-helper "^2.26.0"
classnames "^2.2.5"
lodash "^4.17.4"
prop-types "^15.5.10"
react-instantsearch-core "^5.7.0"
react-is@^16.3.1:
version "16.4.0"
resolved "https://registry.npmjs.org/react-is/-/react-is-16.4.0.tgz#cc9fdc855ac34d2e7d9d2eb7059bbc240d35ffcf"
@@ -15268,6 +15376,12 @@ react-test-renderer@^16.0.0-0:
react-is "^16.5.2"
schedule "^0.5.0"
react-themeable@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/react-themeable/-/react-themeable-1.1.0.tgz#7d4466dd9b2b5fa75058727825e9f152ba379a0e"
dependencies:
object-assign "^3.0.0"
react-tooltip@^3.2.7:
version "3.5.0"
resolved "https://registry.yarnpkg.com/react-tooltip/-/react-tooltip-3.5.0.tgz#f4bff54b3c70415b6bd25b8bcf7801c230d1b517"
@@ -15556,6 +15670,12 @@ reduce-function-call@^1.0.1:
dependencies:
balanced-match "^0.4.2"
reduce@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/reduce/-/reduce-1.0.2.tgz#0cd680ad3ffe0b060e57a5c68bdfce37168d361b"
dependencies:
object-keys "^1.1.0"
redux-devtools-extension@^2.13.2:
version "2.13.8"
resolved "https://registry.yarnpkg.com/redux-devtools-extension/-/redux-devtools-extension-2.13.8.tgz#37b982688626e5e4993ff87220c9bbb7cd2d96e1"
@@ -16331,6 +16451,10 @@ secp256k1@^3.0.1:
nan "^2.2.1"
safe-buffer "^5.1.0"
section-iterator@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/section-iterator/-/section-iterator-2.0.0.tgz#bf444d7afeeb94ad43c39ad2fb26151627ccba2a"
seedrandom@2.4.4:
version "2.4.4"
resolved "https://registry.yarnpkg.com/seedrandom/-/seedrandom-2.4.4.tgz#b25ea98632c73e45f58b77cfaa931678df01f9ba"
@@ -16545,13 +16669,9 @@ sha3@^1.1.0:
dependencies:
nan "2.10.0"
shallow-clone@^1.0.0:
version "1.0.0"
resolved "https://registry.npmjs.org/shallow-clone/-/shallow-clone-1.0.0.tgz#4480cd06e882ef68b2ad88a3ea54832e2c48b571"
dependencies:
is-extendable "^0.1.1"
kind-of "^5.0.0"
mixin-object "^2.0.1"
shallow-equal@^1.0.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/shallow-equal/-/shallow-equal-1.2.0.tgz#fd828d2029ff4e19569db7e19e535e94e2d1f5cc"
shallowequal@^0.2.2:
version "0.2.2"