From ec6e33918e40a792310f086ec6eaf82e29d0f364 Mon Sep 17 00:00:00 2001 From: kyranjamie Date: Wed, 4 Nov 2020 10:37:09 +0100 Subject: [PATCH] feat: add mobile search Update src/components/search-button.tsx Co-authored-by: Thomas Osmonson feat: setState dep Co-authored-by: Thomas Osmonson fix: lint --- src/common/hooks/use-active-heading.tsx | 2 +- src/components/app-state/context.ts | 1 + src/components/app-state/types.ts | 1 + src/components/color-mode-button.tsx | 2 +- src/components/header.tsx | 10 +- src/components/icons/magnifying-glass.tsx | 2 +- src/components/search-button.tsx | 22 ++ src/components/search.tsx | 36 ++- yarn.lock | 304 ++++++++++++++++------ 9 files changed, 285 insertions(+), 95 deletions(-) create mode 100644 src/components/search-button.tsx diff --git a/src/common/hooks/use-active-heading.tsx b/src/common/hooks/use-active-heading.tsx index 233668a8..c66e2fbc 100644 --- a/src/common/hooks/use-active-heading.tsx +++ b/src/common/hooks/use-active-heading.tsx @@ -1,4 +1,4 @@ -import React, { useEffect } from 'react'; +import { useEffect } from 'react'; import { useRouter } from 'next/router'; import { useAppState } from '@common/hooks/use-app-state'; diff --git a/src/components/app-state/context.ts b/src/components/app-state/context.ts index 37a8b0a6..f2e32a42 100644 --- a/src/components/app-state/context.ts +++ b/src/components/app-state/context.ts @@ -7,5 +7,6 @@ export const initialState: State = { activeSlug: '', setState: (value: any) => null, routes, + searchModal: 'closed', }; export const AppStateContext = React.createContext(initialState); diff --git a/src/components/app-state/types.ts b/src/components/app-state/types.ts index e3391fbf..439837b0 100644 --- a/src/components/app-state/types.ts +++ b/src/components/app-state/types.ts @@ -4,4 +4,5 @@ export interface State { slugInView?: string; setState: (value: any) => void; routes: any; + searchModal: 'open' | 'closed'; } diff --git a/src/components/color-mode-button.tsx b/src/components/color-mode-button.tsx index bdc7cff2..4ee4d3cd 100644 --- a/src/components/color-mode-button.tsx +++ b/src/components/color-mode-button.tsx @@ -8,7 +8,7 @@ import { useColorMode } from '@common/hooks/use-color-mode'; export const ColorModeButton = forwardRef((props: LinkProps, ref: Ref) => { const [colorMode, toggleColorMode] = useColorMode(); return ( - + {colorMode === 'dark' ? : } ); diff --git a/src/components/header.tsx b/src/components/header.tsx index d391a2f8..3c8ba135 100644 --- a/src/components/header.tsx +++ b/src/components/header.tsx @@ -20,24 +20,27 @@ import { useMobileMenuState } from '@common/hooks/use-mobile-menu'; import { ForwardRefExoticComponentWithAs, forwardRefWithAs } from '@stacks/ui-core'; import NextLink from 'next/link'; import { ColorModeButton } from '@components/color-mode-button'; +import { SearchButton } from '@components/search-button'; import { PAGE_WIDTH } from '@common/constants'; import { border, transition } from '@common/utils'; import { getCapsizeStyles } from '@components/mdx/typography'; import { useTouchable } from '@common/hooks/use-touchable'; +import { useRouter } from 'next/router'; +import { IconButton } from './icon-button'; const MenuButton = ({ ...rest }: any) => { const { isOpen, handleOpen, handleClose } = useMobileMenuState(); const Icon = isOpen ? CloseIcon : MenuIcon; const handleClick = isOpen ? handleClose : handleOpen; return ( - - + ); }; @@ -243,6 +246,7 @@ const Header = ({ hideSubBar, ...rest }: any) => { + diff --git a/src/components/icons/magnifying-glass.tsx b/src/components/icons/magnifying-glass.tsx index 8e92e87b..687a5a1d 100644 --- a/src/components/icons/magnifying-glass.tsx +++ b/src/components/icons/magnifying-glass.tsx @@ -16,7 +16,7 @@ export const MagnifyingGlass = ({ size = 16, ...props }: MagnifyingGlassProps) = viewBox="0 0 16 16" > diff --git a/src/components/search-button.tsx b/src/components/search-button.tsx new file mode 100644 index 00000000..f034f6ba --- /dev/null +++ b/src/components/search-button.tsx @@ -0,0 +1,22 @@ +import React, { forwardRef, Ref } from 'react'; +import { color } from '@stacks/ui'; +import { LinkProps } from '@components/typography'; +import { IconButton } from '@components/icon-button'; +import { useAppState } from '../common/hooks/use-app-state'; +import { MagnifyingGlass } from './icons/magnifying-glass'; + +export const SearchButton = forwardRef((props: LinkProps, ref: Ref) => { + const { setState } = useAppState(); + + return ( + setState(state => ({ ...state, searchModal: 'open' }))} + title="Search docs" + px="base" + {...props} + ref={ref} + > + + + ); +}); diff --git a/src/components/search.tsx b/src/components/search.tsx index 0690268b..69cd58b6 100644 --- a/src/components/search.tsx +++ b/src/components/search.tsx @@ -1,4 +1,4 @@ -import React from 'react'; +import React, { useEffect, useState } from 'react'; import { Box, Flex, @@ -17,8 +17,8 @@ import { SearchIcon } from '@components/icons/search'; import Router from 'next/router'; import Link from 'next/link'; import { getCapsizeStyles } from '@components/mdx/typography'; -import { css } from '@stacks/ui-core'; -import { border } from '@common/utils'; +import { useAppState } from '@common/hooks/use-app-state'; +import { css, Theme } from '@stacks/ui-core'; const getLocalUrl = href => { const _url = new URL(href); @@ -79,7 +79,8 @@ const searchOptions = { let DocSearchModal: any = null; export const SearchBox: React.FC = React.memo(props => { - const [isOpen, setIsOpen] = React.useState(false); + const { setState, searchModal } = useAppState(); + const isOpen = searchModal === 'open' && DocSearchModal; const importDocSearchModalIfNeeded = React.useCallback(function importDocSearchModalIfNeeded() { if (DocSearchModal) { @@ -94,19 +95,23 @@ export const SearchBox: React.FC = React.memo(props => { const onOpen = React.useCallback( function onOpen() { void importDocSearchModalIfNeeded().then(() => { - setIsOpen(true); + setState(state => ({ ...state, searchModal: 'open' })); }); }, - [importDocSearchModalIfNeeded, setIsOpen] + [importDocSearchModalIfNeeded, searchModal] ); const onClose = React.useCallback( function onClose() { - setIsOpen(false); + setState(state => ({ ...state, searchModal: 'closed' })); }, - [setIsOpen] + [setState] ); + useEffect(() => { + if (searchModal === 'open') onOpen(); + }, [searchModal]); + const searchButtonRef = React.useRef(null); useDocSearchKeyboardEvents({ isOpen, onOpen, onClose, searchButtonRef }); @@ -116,12 +121,23 @@ export const SearchBox: React.FC = React.memo(props => { {styles => ( - + + css({ + '.DocSearch.DocSearch-Container': { + position: 'fixed', + }, + })(theme) + } + > )} diff --git a/yarn.lock b/yarn.lock index 95db2d0f..2817e2b8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,109 +2,213 @@ # yarn lockfile v1 -"@algolia/cache-browser-local-storage@4.8.2": - version "4.8.2" - resolved "https://registry.yarnpkg.com/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.8.2.tgz#e94c50d360c53fc48d107484de2012f3a0bbed9a" - integrity sha512-X2528jVZk+iPmsA4gF2AxH7RnREF10O98yV8QWwXcXcEYD7qjCsidPUGXcRsZCWOkCdZPA2IMJBiPDxZqfrQqA== +"@algolia/cache-browser-local-storage@4.4.0": + version "4.4.0" + resolved "https://registry.yarnpkg.com/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.4.0.tgz#f58055bdf798d7b31b6d5f86e465cb0fc7dd6694" + integrity sha512-2AiKgN7DpFypkRCRkpqH7waXXyFdcnsPWzmN8sLHrB/FfXqgmsQb3pGft+9YHZIDQ0vAnfgMxSGgMhMGW+0Qnw== dependencies: - "@algolia/cache-common" "4.8.2" + "@algolia/cache-common" "4.4.0" -"@algolia/cache-common@4.8.2": - version "4.8.2" - resolved "https://registry.yarnpkg.com/@algolia/cache-common/-/cache-common-4.8.2.tgz#e992e29ffeec75e2bc77eef5280efca71ac27d56" - integrity sha512-ER3QxHH2vmatfO4rRv504ByAiqqoj6kg0RcoBEetQflxRcRznmX7uFBXI3Zo42OoPKM3NMzFted50YO0Um5VLA== +"@algolia/cache-browser-local-storage@4.6.0": + version "4.6.0" + resolved "https://registry.yarnpkg.com/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.6.0.tgz#79d825280f96ac5fc61df138a38aab3b658f3b65" + integrity sha512-3ObeNwZ5gfDvKPp9NXdtbBrCtz/yR1oyDu/AReG73Oanua3y30Y11p7VQzzpLe2R/gDCLOGdRgr17h11lGy1Hg== + dependencies: + "@algolia/cache-common" "4.6.0" -"@algolia/cache-in-memory@4.8.2": - version "4.8.2" - resolved "https://registry.yarnpkg.com/@algolia/cache-in-memory/-/cache-in-memory-4.8.2.tgz#12d66469d5ff7142d092272e01e02abfb6a1315d" - integrity sha512-CYse8/ZNPr/pMo6inQ0Uu+HWFFN9OcfJw67YCvU+1yz8NaS3rQ2HxU+zu1M/BCKMA89/dYF0jjBMT5rm6E4cdw== +"@algolia/cache-common@4.4.0": + version "4.4.0" + resolved "https://registry.yarnpkg.com/@algolia/cache-common/-/cache-common-4.4.0.tgz#bfe84790230f5d2de495238b29e9397c5ed2b26e" + integrity sha512-PrIgoMnXaDWUfwOekahro543pgcJfgRu/nd/ZQS5ffem3+Ow725eZY6HDpPaQ1k3cvLii9JH6V2sNJConjqUKA== + +"@algolia/cache-common@4.6.0": + version "4.6.0" + resolved "https://registry.yarnpkg.com/@algolia/cache-common/-/cache-common-4.6.0.tgz#f67da65766a004368db0833caf4890fe450d8f0a" + integrity sha512-mEedrPb2O3WwtiIHggFoIhTbHVCMNikxMiiN9kqmwZkdDfClfxm435OUGZfAl67rBZfc0DNs/jmPM2mUoefM9A== + +"@algolia/cache-in-memory@4.4.0": + version "4.4.0" + resolved "https://registry.yarnpkg.com/@algolia/cache-in-memory/-/cache-in-memory-4.4.0.tgz#54a089094c2afa5b9cacab4b60a5f1ba29013a7c" + integrity sha512-9+XlUB0baDU/Dp9URRHPp6Q37YmTO0QmgPWt9+n+wqZrRL0jR3Jezr4jCT7RemqGMxBiR+YpnqaUv0orpb0ptw== dependencies: - "@algolia/cache-common" "4.8.2" + "@algolia/cache-common" "4.4.0" -"@algolia/client-account@4.8.2": - version "4.8.2" - resolved "https://registry.yarnpkg.com/@algolia/client-account/-/client-account-4.8.2.tgz#ad4066085d871fb5ea10dcf6a40a423480d3bbdc" - integrity sha512-cRtZ2xiLUfsanrpjYkxyNwE+4SbyUvbe8CL9HwpTJPsP0Jsv69H4H71lL7v0pQY5OWkFxKMsqVxCMH7Px3740w== +"@algolia/cache-in-memory@4.6.0": + version "4.6.0" + resolved "https://registry.yarnpkg.com/@algolia/cache-in-memory/-/cache-in-memory-4.6.0.tgz#f29bf505b52261d0fc29942a58b16c89527db16c" + integrity sha512-J7ayGokVWEFkuLxzgrIsPS4k1/ZndyGVpG/qPrG9RHVrs7ZogEhUSY1tbEyUlW3mGy7diIh+/52dtohDL/nbGQ== dependencies: - "@algolia/client-common" "4.8.2" - "@algolia/client-search" "4.8.2" - "@algolia/transporter" "4.8.2" + "@algolia/cache-common" "4.6.0" -"@algolia/client-analytics@4.8.2": - version "4.8.2" - resolved "https://registry.yarnpkg.com/@algolia/client-analytics/-/client-analytics-4.8.2.tgz#29592bc9a2d39a50c17ede959bdc14812edd0fba" - integrity sha512-+vnFokDGxi0vAaumbAgvDuvXWs0VvLk3gDkjkegXD8MMUTs3ByTZApCM4NPnIdbcUroFAJxbyzZQT9/CRZHgcA== +"@algolia/client-account@4.4.0": + version "4.4.0" + resolved "https://registry.yarnpkg.com/@algolia/client-account/-/client-account-4.4.0.tgz#7dbeff83e1c85d853b3ad224674a924e02b94d1b" + integrity sha512-Kynu3cMEs0clTLf674rtrCF+FWR/JwlQxKlIWsPzvLBRmNXdvYej9YBcNaOr4OTQFCCZn9JVE8ib91Z7J4IL1Q== dependencies: - "@algolia/client-common" "4.8.2" - "@algolia/client-search" "4.8.2" - "@algolia/requester-common" "4.8.2" - "@algolia/transporter" "4.8.2" + "@algolia/client-common" "4.4.0" + "@algolia/client-search" "4.4.0" + "@algolia/transporter" "4.4.0" -"@algolia/client-common@4.8.2": - version "4.8.2" - resolved "https://registry.yarnpkg.com/@algolia/client-common/-/client-common-4.8.2.tgz#989ca2a396938db833578a65c63bce1b1785bde9" - integrity sha512-jO9RvC0FPxxhe/nynGxVEYmNltE5xgYV1Y6zviwl/80PwsrGfWp/rVDh4CVZaBOntmsOp+y0aqQwNYjLMVWXBg== +"@algolia/client-account@4.6.0": + version "4.6.0" + resolved "https://registry.yarnpkg.com/@algolia/client-account/-/client-account-4.6.0.tgz#bf68f8961b76b520d02bd46e08ddd0a949b73bb9" + integrity sha512-0t2yU6wNBNJgAmrARHrM1llhANyPT4Q/1wu6yEzv2WfPXlfsHwMhtKYNti4/k8eswwUt9wAri10WFV6TJI48rg== dependencies: - "@algolia/requester-common" "4.8.2" - "@algolia/transporter" "4.8.2" + "@algolia/client-common" "4.6.0" + "@algolia/client-search" "4.6.0" + "@algolia/transporter" "4.6.0" -"@algolia/client-recommendation@4.8.2": - version "4.8.2" - resolved "https://registry.yarnpkg.com/@algolia/client-recommendation/-/client-recommendation-4.8.2.tgz#f8483adca6ce829414d8e8c5b58420b22d160d49" - integrity sha512-evngF6Odrw93gXkXrOYPXxTWwDQ2K01sadB3Xpa1hQb+vjiBwcA/54w6nKyE4aiII1loT5q+Uj+G1f8HwBuksw== +"@algolia/client-analytics@4.4.0": + version "4.4.0" + resolved "https://registry.yarnpkg.com/@algolia/client-analytics/-/client-analytics-4.4.0.tgz#50dde68b067c615fc91434c98db9b5ca429be33d" + integrity sha512-GQyjQimKAc9sZbafxln9Wk7j4pEYiORv28MZkZ+0Bjt7WNXIeO7OgOOECVpQHm9buyV6hCKpNtJcbb5/syRzdQ== dependencies: - "@algolia/client-common" "4.8.2" - "@algolia/requester-common" "4.8.2" - "@algolia/transporter" "4.8.2" + "@algolia/client-common" "4.4.0" + "@algolia/client-search" "4.4.0" + "@algolia/requester-common" "4.4.0" + "@algolia/transporter" "4.4.0" -"@algolia/client-search@4.8.2": - version "4.8.2" - resolved "https://registry.yarnpkg.com/@algolia/client-search/-/client-search-4.8.2.tgz#714d1604bfdf5b8ba33247ee571c6f3c2abc6c31" - integrity sha512-JtmhdBKsA3Ll9ITvBfvMjsfuOY5oOPlaS9ahBGeb2OFfC1Myb6kbjXl73VtSVh4Bh0MpTsT4SdBdYCJFctRsQg== +"@algolia/client-analytics@4.6.0": + version "4.6.0" + resolved "https://registry.yarnpkg.com/@algolia/client-analytics/-/client-analytics-4.6.0.tgz#ee180fe1793f4989cff7500e14a543cbfcb1b3a7" + integrity sha512-7yfn9pabA21Uw2iZjW1MNN4IJUT5y/YSg+ZJ+3HqBB6SgzOOqY0N3fATsPeGuN9EqSfVnqvnIrJMS8mI0b5FzQ== dependencies: - "@algolia/client-common" "4.8.2" - "@algolia/requester-common" "4.8.2" - "@algolia/transporter" "4.8.2" + "@algolia/client-common" "4.6.0" + "@algolia/client-search" "4.6.0" + "@algolia/requester-common" "4.6.0" + "@algolia/transporter" "4.6.0" -"@algolia/logger-common@4.8.2": - version "4.8.2" - resolved "https://registry.yarnpkg.com/@algolia/logger-common/-/logger-common-4.8.2.tgz#7cecc05b2725f3d68babdc26aed24f2fb60bc4bf" - integrity sha512-Sse29WFBZH4CSCnbMTh8t6uAFaJtNyRRcpDjFfvkSNdPAN/pxLAY9GYUzJmP4J+ILdJn6ZWMNpvwhNQ8p2I+mg== +"@algolia/client-common@4.4.0": + version "4.4.0" + resolved "https://registry.yarnpkg.com/@algolia/client-common/-/client-common-4.4.0.tgz#b9fa987bc7a148f9756da59ada51fe2494a4aa9a" + integrity sha512-a3yr6UhzjWPHDG/8iGp9UvrDOm1aeHVWJIf0Nj/cIvqX5tNCEIo4IMe59ovApkDgLOIpt/cLsyhn9/FiPXRhJA== + dependencies: + "@algolia/requester-common" "4.4.0" + "@algolia/transporter" "4.4.0" -"@algolia/logger-console@4.8.2": - version "4.8.2" - resolved "https://registry.yarnpkg.com/@algolia/logger-console/-/logger-console-4.8.2.tgz#65aca402330f20a23551e63014dc3ff5586ce39b" - integrity sha512-hpZvy708iOeX6tcgy9qXVzlH8Avd3UA7AMwd1wAK5dG8PwAcrhO9wRQuE1AemvuVIEhshbWGQl9pDGXsejO+4g== +"@algolia/client-common@4.6.0": + version "4.6.0" + resolved "https://registry.yarnpkg.com/@algolia/client-common/-/client-common-4.6.0.tgz#a2cd94cce0026335e89ac508087425dfce20dd07" + integrity sha512-60jK0LK5H+6q6HyyMyoBBD0fIs8zZzJt6BiyJGQG90o3gUV/SnjiNxO9Bx0RRlqdkE5s0OYFu1L7P9Y5TX7oAw== dependencies: - "@algolia/logger-common" "4.8.2" + "@algolia/requester-common" "4.6.0" + "@algolia/transporter" "4.6.0" -"@algolia/requester-browser-xhr@4.8.2": - version "4.8.2" - resolved "https://registry.yarnpkg.com/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.8.2.tgz#4f3396aa842e30a8c76916640086a96135b245a9" - integrity sha512-Vdv38BtgwAeVPThwOVRVrR8mDiRLADwqXt1c87dnHHL1Rs3/FMRQ9ogKMKnaJMAH+OeXf+yzNxh+QCISPKaMkQ== +"@algolia/client-recommendation@4.4.0": + version "4.4.0" + resolved "https://registry.yarnpkg.com/@algolia/client-recommendation/-/client-recommendation-4.4.0.tgz#82410f7a346ed8518b8dcd28bc47571e850ab74f" + integrity sha512-sBszbQH46rko6w2fdEG77ma8+fAg0SDkLZGxWhv4trgcnYGUBFl2dcpEPt/6koto9b4XYlf+eh+qi6iGvYqRPg== dependencies: - "@algolia/requester-common" "4.8.2" + "@algolia/client-common" "4.4.0" + "@algolia/requester-common" "4.4.0" + "@algolia/transporter" "4.4.0" -"@algolia/requester-common@4.8.2": - version "4.8.2" - resolved "https://registry.yarnpkg.com/@algolia/requester-common/-/requester-common-4.8.2.tgz#42bb83c4d90f9a19ad4728524a763264723cbed4" - integrity sha512-dN6MuKQQTp7+IBZNIRC9KUCrWVQRM3LaSLLB9lM7evjt++2jJTlhUu2Vncd78VbSy2kviojelxZ/mXTITRRxoA== +"@algolia/client-recommendation@4.6.0": + version "4.6.0" + resolved "https://registry.yarnpkg.com/@algolia/client-recommendation/-/client-recommendation-4.6.0.tgz#22d0c9db79873f96ac41c1f66e3ab654b1a9b73d" + integrity sha512-j+Yb1z5QeIRDCCO+9hS9oZS3KNqRogPHDbJJsLTt6pkrs4CG2UVLVV67M977B1nzJ9OzaEki3VbpGQhRhPGNfQ== + dependencies: + "@algolia/client-common" "4.6.0" + "@algolia/requester-common" "4.6.0" + "@algolia/transporter" "4.6.0" -"@algolia/requester-node-http@4.8.2": - version "4.8.2" - resolved "https://registry.yarnpkg.com/@algolia/requester-node-http/-/requester-node-http-4.8.2.tgz#29e7a8404193dcf686b16909f1fce9f96f0ba150" - integrity sha512-pnpDRzIfibJ67rPQvq1me+bqhfflS2w9MlbVMhKdPsSuO8GKAZQ4GJgvIphvpSmhVnB7drdbZZ3J0KVP/y7jeg== +"@algolia/client-search@4.4.0": + version "4.4.0" + resolved "https://registry.yarnpkg.com/@algolia/client-search/-/client-search-4.4.0.tgz#c1e107206f3ae719cd3a9877889eea5e5cbcdc62" + integrity sha512-jqWcxCUyPPHnHreoMb2PnN9iHTP+V/nL62R84XuTRDE3VgTnhm4ZnqyuRdzZQqaz+gNy5znav64TmQ9FN9WW5g== dependencies: - "@algolia/requester-common" "4.8.2" + "@algolia/client-common" "4.4.0" + "@algolia/requester-common" "4.4.0" + "@algolia/transporter" "4.4.0" -"@algolia/transporter@4.8.2": - version "4.8.2" - resolved "https://registry.yarnpkg.com/@algolia/transporter/-/transporter-4.8.2.tgz#1c401e209d54a20296249158c64ad263891ee057" - integrity sha512-r3ecEn+4GWW8ntydDmGGlZ5Iqds080bt2RtAUVNbPPwyuXAs9HUqwkYQiTIHSmeYtAlQ6YOYVnX3W6W8FhbhaA== +"@algolia/client-search@4.6.0": + version "4.6.0" + resolved "https://registry.yarnpkg.com/@algolia/client-search/-/client-search-4.6.0.tgz#5c73de6be352eeb35332cb5284b7c4b9e2f88ba7" + integrity sha512-+qA1NA88YnXvuCKifegfgts1RQs8IzcwccQqyurz8ins4hypZL1tXN2BkrOqqDIgvYIrUvFyhv+gLO6U9PpDUA== dependencies: - "@algolia/cache-common" "4.8.2" - "@algolia/logger-common" "4.8.2" - "@algolia/requester-common" "4.8.2" + "@algolia/client-common" "4.6.0" + "@algolia/requester-common" "4.6.0" + "@algolia/transporter" "4.6.0" + +"@algolia/logger-common@4.4.0": + version "4.4.0" + resolved "https://registry.yarnpkg.com/@algolia/logger-common/-/logger-common-4.4.0.tgz#8115d95d5f6227f0127d33130a9c4622cde64f6f" + integrity sha512-2vjmSENLaKNuF+ytRDysfWxxgFG95WXCHwHbueThdPMCK3hskkwqJ0Y/pugKfzl+54mZxegb4BYfgcCeuaHVUw== + +"@algolia/logger-common@4.6.0": + version "4.6.0" + resolved "https://registry.yarnpkg.com/@algolia/logger-common/-/logger-common-4.6.0.tgz#966591b903eae60201d12c4126fbf278303e2d2a" + integrity sha512-F+0HTGSQzJfWsX/cJq2l4eG2Y5JA6pqZ0YETyo5XJhZX4JaDrGszVKuOqp8kovZF/Ifebywxb8JdCiSUskmbig== + +"@algolia/logger-console@4.4.0": + version "4.4.0" + resolved "https://registry.yarnpkg.com/@algolia/logger-console/-/logger-console-4.4.0.tgz#1e0eaaf0879f152f9a1fa333c4cd8cb55e071552" + integrity sha512-st/GUWyKvr6YM72OOfF+RmpdVGda3BPXbQ+chpntUq1WyVkyZXGjSmH1IcBVlua27GzxabwOUYON39cF3x10/g== + dependencies: + "@algolia/logger-common" "4.4.0" + +"@algolia/logger-console@4.6.0": + version "4.6.0" + resolved "https://registry.yarnpkg.com/@algolia/logger-console/-/logger-console-4.6.0.tgz#7e1811aa22e6aad22ef7946732f9a110b46c4eb0" + integrity sha512-ers7OhfU6qBQl6s7MOe5gNUkcpa7LGrhEzDWnD0cUwLSd5BvWt7zEN69O2CZVbvAUZYlZ5zJTzMMa49s0VXrKQ== + dependencies: + "@algolia/logger-common" "4.6.0" + +"@algolia/requester-browser-xhr@4.4.0": + version "4.4.0" + resolved "https://registry.yarnpkg.com/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.4.0.tgz#f5877397ed92d2d64d08846ea969aeb559a5efb6" + integrity sha512-V3a4hXlNch355GnWaT1f5QfXhROpsjT6sd0Znq29gAhwLqfBExhLW6Khdkv5pENC0Qy7ClVhdXFrBL9QCQer1g== + dependencies: + "@algolia/requester-common" "4.4.0" + +"@algolia/requester-browser-xhr@4.6.0": + version "4.6.0" + resolved "https://registry.yarnpkg.com/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.6.0.tgz#51870239c98467d5bf0a7071523111c120b560c1" + integrity sha512-ugrJT25VUkoKrl5vJVFclMdogbhTiDZ38Gss4xfTiSsP/SGE/0ei5VEOMEcj/bjkurJjPky1HfJZ3ykJhIsfCA== + dependencies: + "@algolia/requester-common" "4.6.0" + +"@algolia/requester-common@4.4.0": + version "4.4.0" + resolved "https://registry.yarnpkg.com/@algolia/requester-common/-/requester-common-4.4.0.tgz#0e977939aae32ff81a6d27480a71771a65db6051" + integrity sha512-jPinHlFJEFokxQ5b3JWyjQKKn+FMy0hH99PApzOgQAYOSiFRXiPEZp6LeIexDeLLu7Y3eRt/3nHvjPKa6PmRRw== + +"@algolia/requester-common@4.6.0": + version "4.6.0" + resolved "https://registry.yarnpkg.com/@algolia/requester-common/-/requester-common-4.6.0.tgz#0990f3b21414a3ec5a3a468f33f2b9bff4489222" + integrity sha512-DJ5iIGBGrRudimaaFnpBFM19pv8SsXiMYuukn9q1GgQh2mPPBCBBJiezKc7+OzE1UyCVrAFBpR/hrJnflZnRdQ== + +"@algolia/requester-node-http@4.4.0": + version "4.4.0" + resolved "https://registry.yarnpkg.com/@algolia/requester-node-http/-/requester-node-http-4.4.0.tgz#6ffba93d54eeadf64cb1be67fae5c4e3f7c8f390" + integrity sha512-b7HC9C/GHxiV4+0GpCRTtjscvwarPr3dGm4CAhb6AkNjgjRcFUNr1NfsF75w3WVmzmt79/7QZihddztDdVMGjw== + dependencies: + "@algolia/requester-common" "4.4.0" + +"@algolia/requester-node-http@4.6.0": + version "4.6.0" + resolved "https://registry.yarnpkg.com/@algolia/requester-node-http/-/requester-node-http-4.6.0.tgz#a2e6c981507faf2f309f06fda2503f591e3a768d" + integrity sha512-MPZK3oZz0jSBsqrGiPxv7LOKMUNknlaRNyRDy0v/ASIYG+GvLhGTdEzG5Eyw5tgSvBr8CWrWM5tDC31EH40Ndw== + dependencies: + "@algolia/requester-common" "4.6.0" + +"@algolia/transporter@4.4.0": + version "4.4.0" + resolved "https://registry.yarnpkg.com/@algolia/transporter/-/transporter-4.4.0.tgz#6ec79aac43bc515c8e4f6d6e27dc8d8cd7112f7e" + integrity sha512-Xxzq91DEEeKIzT3DU46n4LEyTGAKZNtSHc2H9wvIY5MYwhZwEribmXXZ6k8W1FvBvzggv3juu0SP+xwGoR7F0w== + dependencies: + "@algolia/cache-common" "4.4.0" + "@algolia/logger-common" "4.4.0" + "@algolia/requester-common" "4.4.0" + +"@algolia/transporter@4.6.0": + version "4.6.0" + resolved "https://registry.yarnpkg.com/@algolia/transporter/-/transporter-4.6.0.tgz#741300a1cd7efd175fc660c37afee4d9903621e5" + integrity sha512-xp+HI8sB8gLCvP00scaOVPQEk5H7nboWUxrwLKyVUvtUO4o003bOfFPsH86NRyu5Dv7fzX9b8EH3rVxcLOhjqg== + dependencies: + "@algolia/cache-common" "4.6.0" + "@algolia/logger-common" "4.6.0" + "@algolia/requester-common" "4.6.0" "@ampproject/toolbox-core@^2.6.0": version "2.6.1" @@ -2691,6 +2795,7 @@ algoliasearch@^3.24.5: semver "^5.1.0" tunnel-agent "^0.6.0" +<<<<<<< HEAD algoliasearch@^4.0.0, algoliasearch@^4.5.1: version "4.8.2" resolved "https://registry.yarnpkg.com/algoliasearch/-/algoliasearch-4.8.2.tgz#499d187afe2169bc66c921cf7d5271c3fe0b3598" @@ -2710,6 +2815,47 @@ algoliasearch@^4.0.0, algoliasearch@^4.5.1: "@algolia/requester-common" "4.8.2" "@algolia/requester-node-http" "4.8.2" "@algolia/transporter" "4.8.2" +======= +algoliasearch@^4.0.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/algoliasearch/-/algoliasearch-4.4.0.tgz#25c356d8bdcf7e3f941633f61e1ac111ddcba404" + integrity sha512-Ag3wxe/nSodNl/1KbHibtkh7TNLptKE300/wnGVtszRjXivaWD6333nUpCumrYObHym/fHMHyLcmQYezXbAIWQ== + dependencies: + "@algolia/cache-browser-local-storage" "4.4.0" + "@algolia/cache-common" "4.4.0" + "@algolia/cache-in-memory" "4.4.0" + "@algolia/client-account" "4.4.0" + "@algolia/client-analytics" "4.4.0" + "@algolia/client-common" "4.4.0" + "@algolia/client-recommendation" "4.4.0" + "@algolia/client-search" "4.4.0" + "@algolia/logger-common" "4.4.0" + "@algolia/logger-console" "4.4.0" + "@algolia/requester-browser-xhr" "4.4.0" + "@algolia/requester-common" "4.4.0" + "@algolia/requester-node-http" "4.4.0" + "@algolia/transporter" "4.4.0" + +algoliasearch@^4.5.1: + version "4.6.0" + resolved "https://registry.yarnpkg.com/algoliasearch/-/algoliasearch-4.6.0.tgz#ad96ecd6e4aa2f1187d5a6ade9f914b080001e28" + integrity sha512-f4QVfUYnWIGZwOupZh0RAqW8zEfpZAcZG6ZT0p6wDMztEyKBrjjbTXBk9p9uEaJqoIhFUm6TtApOxodTdHbqvw== + dependencies: + "@algolia/cache-browser-local-storage" "4.6.0" + "@algolia/cache-common" "4.6.0" + "@algolia/cache-in-memory" "4.6.0" + "@algolia/client-account" "4.6.0" + "@algolia/client-analytics" "4.6.0" + "@algolia/client-common" "4.6.0" + "@algolia/client-recommendation" "4.6.0" + "@algolia/client-search" "4.6.0" + "@algolia/logger-common" "4.6.0" + "@algolia/logger-console" "4.6.0" + "@algolia/requester-browser-xhr" "4.6.0" + "@algolia/requester-common" "4.6.0" + "@algolia/requester-node-http" "4.6.0" + "@algolia/transporter" "4.6.0" +>>>>>>> feat: add mobile search ally.js@1.4.1: version "1.4.1"