Add algolia-powered search bar to docs site (#917)
* add search bar * replace cmd+k with slash hotkey * update api key * add localhost support for search
This commit is contained in:
parent
908139642a
commit
6eeafac715
9 changed files with 391 additions and 145 deletions
|
@ -2,5 +2,8 @@ export default {
|
|||
buildOptions: {
|
||||
site: 'https://docs.astro.build/',
|
||||
},
|
||||
renderers: ['@astrojs/renderer-preact'],
|
||||
renderers: [
|
||||
'@astrojs/renderer-preact',
|
||||
'@astrojs/renderer-react',
|
||||
],
|
||||
};
|
||||
|
|
|
@ -21,5 +21,8 @@
|
|||
"pa11y-ci": "^2.4.2",
|
||||
"prettier": "^2.3.2",
|
||||
"start-server-and-test": "^1.12.6"
|
||||
},
|
||||
"dependencies": {
|
||||
"@docsearch/react": "^1.0.0-alpha.27"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -282,21 +282,6 @@ img {
|
|||
align-items: center;
|
||||
}
|
||||
|
||||
header button {
|
||||
background-color: var(--theme-bg);
|
||||
}
|
||||
|
||||
header button:hover,
|
||||
header button:focus {
|
||||
outline: var(--theme-text) solid 1px;
|
||||
}
|
||||
|
||||
header button:active,
|
||||
header button[aria-pressed='true'] {
|
||||
background: var(--theme-text);
|
||||
color: var(--theme-bg);
|
||||
}
|
||||
|
||||
button {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
@ -452,7 +437,7 @@ h2.heading {
|
|||
font-size: larger;
|
||||
top: 0.5rem;
|
||||
left: 0.5rem;
|
||||
z-index: 999;
|
||||
z-index: 9;
|
||||
display: block;
|
||||
background-color: var(--theme-bg);
|
||||
color: var(--theme-text-accent);
|
||||
|
|
|
@ -1,37 +0,0 @@
|
|||
const nav = document.querySelector('body > header');
|
||||
|
||||
if (!window.matchMedia('(prefers-reduced-motion)').matches) {
|
||||
window.addEventListener('scroll', onScroll, { passive: true });
|
||||
}
|
||||
|
||||
let prev = -1;
|
||||
let prevDir = 0;
|
||||
let threshold = 32;
|
||||
|
||||
function onScroll() {
|
||||
const curr = window.scrollY;
|
||||
const dir = curr > prev ? 1 : -1;
|
||||
|
||||
if (curr < threshold) {
|
||||
show();
|
||||
document.documentElement.classList.add('initial');
|
||||
} else if (dir !== prevDir) {
|
||||
if (dir === 1) {
|
||||
hide();
|
||||
} else {
|
||||
show();
|
||||
}
|
||||
}
|
||||
|
||||
prev = curr;
|
||||
}
|
||||
|
||||
const hide = () => {
|
||||
nav.classList.add('hidden');
|
||||
document.documentElement.classList.add('scrolled');
|
||||
document.documentElement.classList.remove('initial');
|
||||
};
|
||||
const show = () => {
|
||||
nav.classList.remove('hidden');
|
||||
document.documentElement.classList.remove('scrolled');
|
||||
};
|
|
@ -77,7 +77,6 @@
|
|||
--theme-code-text: hsla(var(--color-gray-95), 1);
|
||||
--theme-navbar-bg: hsla(var(--color-base-white), 100%, 1);
|
||||
--theme-navbar-height: 6rem;
|
||||
--theme-sidebar-offset: var(--theme-navbar-height);
|
||||
--theme-selection-color: hsla(var(--color-orange), 1);
|
||||
--theme-selection-bg: hsla(var(--color-orange), var(--theme-accent-opacity));
|
||||
}
|
||||
|
@ -87,10 +86,6 @@ body {
|
|||
color: var(--theme-text);
|
||||
}
|
||||
|
||||
:root.scrolled {
|
||||
--theme-sidebar-offset: 0;
|
||||
}
|
||||
|
||||
:root.theme-dark {
|
||||
color-scheme: dark;
|
||||
--theme-accent-opacity: 0.4;
|
||||
|
|
93
docs/src/components/Search.css
Normal file
93
docs/src/components/Search.css
Normal file
|
@ -0,0 +1,93 @@
|
|||
:root {
|
||||
--docsearch-primary-color: var(--theme-accent);
|
||||
--docsearch-logo-color: var(--theme-text);
|
||||
}
|
||||
|
||||
.search {
|
||||
display: none;
|
||||
position: relative;
|
||||
z-index: 10;
|
||||
flex-grow: 1;
|
||||
grid-area: search;
|
||||
padding-left: 0.75rem;
|
||||
padding-right: 0.7rem;
|
||||
display: flex;
|
||||
width: 400px;
|
||||
max-width: 400px;
|
||||
}
|
||||
.search > * {
|
||||
flex-grow: 1;
|
||||
}
|
||||
|
||||
.search > :global(.algolia-autocomplete) {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
:global(body.is-nav-open) .search {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.search-input {
|
||||
flex-grow: 1;
|
||||
box-sizing: border-box;
|
||||
width: 100%;
|
||||
margin: 0;
|
||||
padding: 0.33em 0.5em;
|
||||
overflow: visible;
|
||||
font-weight: 500;
|
||||
font-size: 100%;
|
||||
font-family: inherit;
|
||||
line-height: inherit;
|
||||
background-color: var(--theme-divider);
|
||||
border-color: var(--theme-divider);
|
||||
color: var(--theme-text-light);
|
||||
border-style: solid;
|
||||
border-width: 1px;
|
||||
border-radius: 0.25rem;
|
||||
outline: 0;
|
||||
cursor: pointer;
|
||||
transition-timing-function: ease-out;
|
||||
transition-duration: 0.2s;
|
||||
transition-property: border-color, background-color;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
}
|
||||
.no-underline {
|
||||
text-decoration: none;
|
||||
}
|
||||
.search-input:hover {
|
||||
color: var(--theme-text);
|
||||
}
|
||||
.search-input:hover::placeholder {
|
||||
color: var(--theme-text-light);
|
||||
}
|
||||
.search-input::placeholder {
|
||||
color: var(--theme-text-light);
|
||||
}
|
||||
|
||||
.search-hint {
|
||||
position: absolute;
|
||||
top: 7px;
|
||||
right: 19px;
|
||||
padding: 3px 5px;
|
||||
display: none;
|
||||
display: none;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
letter-spacing: 0.125em;
|
||||
color: var(--theme-text-light);
|
||||
font-size: 13px;
|
||||
font-family: var(--font-mono);
|
||||
pointer-events: none;
|
||||
border-color: var(--theme-text-lighter);
|
||||
color: var(--theme-text-light);
|
||||
border-style: solid;
|
||||
border-width: 1px;
|
||||
border-radius: 0.25rem;
|
||||
line-height: 14px;
|
||||
}
|
||||
|
||||
@media (min-width: 50em) {
|
||||
.search-hint {
|
||||
display: flex;
|
||||
}
|
||||
}
|
97
docs/src/components/Search.tsx
Normal file
97
docs/src/components/Search.tsx
Normal file
|
@ -0,0 +1,97 @@
|
|||
/* jsxImportSource: react */
|
||||
import { useState, useCallback, useRef } from 'react'
|
||||
import { createPortal } from 'react-dom'
|
||||
import { DocSearchModal, useDocSearchKeyboardEvents } from '@docsearch/react'
|
||||
import '@docsearch/css//dist/style.css';
|
||||
import './Search.css';
|
||||
|
||||
|
||||
export function Search() {
|
||||
const [isOpen, setIsOpen] = useState(false)
|
||||
const searchButtonRef = useRef()
|
||||
const [initialQuery, setInitialQuery] = useState(null)
|
||||
|
||||
const onOpen = useCallback(() => {
|
||||
setIsOpen(true)
|
||||
}, [setIsOpen])
|
||||
|
||||
const onClose = useCallback(() => {
|
||||
setIsOpen(false)
|
||||
}, [setIsOpen])
|
||||
|
||||
const onInput = useCallback(
|
||||
(e) => {
|
||||
setIsOpen(true)
|
||||
setInitialQuery(e.key)
|
||||
},
|
||||
[setIsOpen, setInitialQuery]
|
||||
)
|
||||
|
||||
useDocSearchKeyboardEvents({
|
||||
isOpen,
|
||||
onOpen,
|
||||
onClose,
|
||||
onInput,
|
||||
searchButtonRef,
|
||||
})
|
||||
|
||||
return (
|
||||
<>
|
||||
<button
|
||||
type="button"
|
||||
ref={searchButtonRef}
|
||||
onClick={onOpen}
|
||||
className="search-input"
|
||||
>
|
||||
<svg
|
||||
width="24"
|
||||
height="24"
|
||||
fill="none"
|
||||
>
|
||||
<path
|
||||
d="M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"
|
||||
stroke="currentColor"
|
||||
strokeWidth="2"
|
||||
strokeLinecap="round"
|
||||
strokeLinejoin="round"
|
||||
/>
|
||||
</svg>
|
||||
<span>
|
||||
Search
|
||||
</span>
|
||||
<span
|
||||
className="search-hint"
|
||||
>
|
||||
<span className="sr-only">Press </span>
|
||||
<kbd>/</kbd>
|
||||
<span className="sr-only"> to search</span>
|
||||
</span>
|
||||
</button>
|
||||
{isOpen &&
|
||||
createPortal(
|
||||
<DocSearchModal
|
||||
initialQuery={initialQuery}
|
||||
initialScrollY={window.scrollY}
|
||||
onClose={onClose}
|
||||
indexName="astro"
|
||||
apiKey="0f387260ad74f9cbf4353facd29c919c"
|
||||
transformItems={(items) => {
|
||||
return items.map((item) => {
|
||||
// We transform the absolute URL into a relative URL to
|
||||
// work better on localhost, preview URLS.
|
||||
const a = document.createElement('a')
|
||||
a.href = item.url
|
||||
console.log(a.hash);
|
||||
const hash = a.hash === '#overview' ? '' : a.hash
|
||||
return {
|
||||
...item,
|
||||
url: `${a.pathname}${hash}`,
|
||||
}
|
||||
})
|
||||
}}
|
||||
/>,
|
||||
document.body
|
||||
)}
|
||||
</>
|
||||
)
|
||||
}
|
|
@ -4,6 +4,7 @@ import SiteSidebar from '../components/SiteSidebar.astro';
|
|||
import DocSidebar, { TableOfContents, More } from '../components/DocSidebar/DocSidebar.tsx';
|
||||
import MenuToggle from '../components/MenuToggle.tsx';
|
||||
import MetaData from "../components/MetaData.astro";
|
||||
import {Search} from "../components/Search.jsx";
|
||||
import { site } from "../config.ts";
|
||||
|
||||
const { content = {}, centered = false } = Astro.props;
|
||||
|
@ -64,14 +65,13 @@ if (currentPage) {
|
|||
}
|
||||
|
||||
header {
|
||||
z-index: 10;
|
||||
z-index: 11;
|
||||
height: var(--theme-navbar-height);
|
||||
width: 100%;
|
||||
background-color: var(--theme-navbar-bg);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
z-index: 1001;
|
||||
overflow: hidden;
|
||||
position: sticky;
|
||||
top: 0;
|
||||
|
@ -80,14 +80,16 @@ if (currentPage) {
|
|||
|
||||
.logo {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 0;
|
||||
overflow: hidden;
|
||||
width: 30px;
|
||||
font-size: 1rem;
|
||||
flex-shrink: 0;
|
||||
font-weight: 600;
|
||||
margin: 0;
|
||||
line-height: 1;
|
||||
color: hsla(var(--color-base-white), 100%, 1);
|
||||
text-decoration: none;
|
||||
gap: 0.5em;
|
||||
z-index: -1;
|
||||
}
|
||||
|
||||
.logo a {
|
||||
|
@ -127,24 +129,17 @@ if (currentPage) {
|
|||
overflow-x: hidden;
|
||||
}
|
||||
|
||||
.logo {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
gap: 0.5em;
|
||||
z-index: -1;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.nav-wrapper {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
justify-content: flex-end;
|
||||
gap: 1em;
|
||||
width: 100%;
|
||||
max-width: 82em;
|
||||
padding: 0 1rem;
|
||||
}
|
||||
|
||||
|
||||
.layout :global(> *) {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
|
@ -160,7 +155,7 @@ if (currentPage) {
|
|||
#sidebar-site {
|
||||
position: fixed;
|
||||
background-color: var(--theme-bg);
|
||||
z-index: 1000;
|
||||
z-index: 10;
|
||||
}
|
||||
|
||||
#article {
|
||||
|
@ -263,6 +258,9 @@ if (currentPage) {
|
|||
.sm\:hidden {
|
||||
display: none;
|
||||
}
|
||||
.logo {
|
||||
width: auto;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 72em) {
|
||||
|
@ -298,7 +296,6 @@ if (currentPage) {
|
|||
<div class="menu-toggle">
|
||||
<MenuToggle client:idle/>
|
||||
</div>
|
||||
|
||||
<div class="logo flex">
|
||||
<a href="https://astro.build/">
|
||||
<h1 class="sr-only">Astro</h1>
|
||||
|
@ -325,6 +322,10 @@ if (currentPage) {
|
|||
</svg>
|
||||
</a>
|
||||
</div>
|
||||
<div style="flex-grow: 1;"></div>
|
||||
<div class="search">
|
||||
<Search client:idle />
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
|
@ -352,9 +353,8 @@ if (currentPage) {
|
|||
</aside>
|
||||
</main>
|
||||
|
||||
<script type="module" src="/nav.js" />
|
||||
<!-- Scrollable a11y code helper -->
|
||||
<script type="module" src="/make-scrollable-code-focusable.js" />
|
||||
|
||||
<!-- Global site tag (gtag.js) - Google Analytics -->
|
||||
<script async src="https://www.googletagmanager.com/gtag/js?id=G-TEL60V1WM9"></script>
|
||||
<script>
|
||||
|
|
241
yarn.lock
241
yarn.lock
|
@ -2,6 +2,110 @@
|
|||
# yarn lockfile v1
|
||||
|
||||
|
||||
"@algolia/cache-browser-local-storage@4.10.3":
|
||||
version "4.10.3"
|
||||
resolved "https://registry.yarnpkg.com/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.10.3.tgz#3bf81e0f66a4a1079a75914a987eb1ef432c7c68"
|
||||
integrity sha512-TD1N7zg5lb56/PLjjD4bBl2eccEvVHhC7yfgFu2r9k5tf+gvbGxEZ3NhRZVKu2MObUIcEy2VR4LVLxOQu45Hlg==
|
||||
dependencies:
|
||||
"@algolia/cache-common" "4.10.3"
|
||||
|
||||
"@algolia/cache-common@4.10.3":
|
||||
version "4.10.3"
|
||||
resolved "https://registry.yarnpkg.com/@algolia/cache-common/-/cache-common-4.10.3.tgz#311b2b5ae06d55300f4230944c99bc39ad15847d"
|
||||
integrity sha512-q13cPPUmtf8a2suBC4kySSr97EyulSXuxUkn7l1tZUCX/k1y5KNheMp8npBy8Kc8gPPmHpacxddRSfOncjiKFw==
|
||||
|
||||
"@algolia/cache-in-memory@4.10.3":
|
||||
version "4.10.3"
|
||||
resolved "https://registry.yarnpkg.com/@algolia/cache-in-memory/-/cache-in-memory-4.10.3.tgz#697e4994538426272ea29ccf2b32b46ea4c48862"
|
||||
integrity sha512-JhPajhOXAjUP+TZrZTh6KJpF5VKTKyWK2aR1cD8NtrcVHwfGS7fTyfXfVm5BqBqkD9U0gVvufUt/mVyI80aZww==
|
||||
dependencies:
|
||||
"@algolia/cache-common" "4.10.3"
|
||||
|
||||
"@algolia/client-account@4.10.3":
|
||||
version "4.10.3"
|
||||
resolved "https://registry.yarnpkg.com/@algolia/client-account/-/client-account-4.10.3.tgz#f2cbefb1abce74c341115607d6af199df1b056ae"
|
||||
integrity sha512-S/IsJB4s+e1xYctdpW3nAbwrR2y3pjSo9X21fJGoiGeIpTRdvQG7nydgsLkhnhcgAdLnmqBapYyAqMGmlcyOkg==
|
||||
dependencies:
|
||||
"@algolia/client-common" "4.10.3"
|
||||
"@algolia/client-search" "4.10.3"
|
||||
"@algolia/transporter" "4.10.3"
|
||||
|
||||
"@algolia/client-analytics@4.10.3":
|
||||
version "4.10.3"
|
||||
resolved "https://registry.yarnpkg.com/@algolia/client-analytics/-/client-analytics-4.10.3.tgz#43d934ef8df0cf551c78e6b2e9f2452e7fb27d93"
|
||||
integrity sha512-vlHTbBqJktRgclh3v7bPQLfZvFIqY4erNFIZA5C7nisCj9oLeTgzefoUrr+R90+I+XjfoLxnmoeigS1Z1yg1vw==
|
||||
dependencies:
|
||||
"@algolia/client-common" "4.10.3"
|
||||
"@algolia/client-search" "4.10.3"
|
||||
"@algolia/requester-common" "4.10.3"
|
||||
"@algolia/transporter" "4.10.3"
|
||||
|
||||
"@algolia/client-common@4.10.3":
|
||||
version "4.10.3"
|
||||
resolved "https://registry.yarnpkg.com/@algolia/client-common/-/client-common-4.10.3.tgz#c4257dd5c57c5c8ec4bd48a7b1897573e372d403"
|
||||
integrity sha512-uFyP2Z14jG2hsFRbAoavna6oJf4NTXaSDAZgouZUZlHlBp5elM38sjNeA5HR9/D9J/GjwaB1SgB7iUiIWYBB4w==
|
||||
dependencies:
|
||||
"@algolia/requester-common" "4.10.3"
|
||||
"@algolia/transporter" "4.10.3"
|
||||
|
||||
"@algolia/client-personalization@4.10.3":
|
||||
version "4.10.3"
|
||||
resolved "https://registry.yarnpkg.com/@algolia/client-personalization/-/client-personalization-4.10.3.tgz#58c800f90ab8ab4aa29abdf29a97e89e6bda419e"
|
||||
integrity sha512-NS7Nx8EJ/nduGXT8CFo5z7kLF0jnFehTP3eC+z+GOEESH3rrs7uR12IZHxv5QhQswZa9vl925zCOZDcDVoENCg==
|
||||
dependencies:
|
||||
"@algolia/client-common" "4.10.3"
|
||||
"@algolia/requester-common" "4.10.3"
|
||||
"@algolia/transporter" "4.10.3"
|
||||
|
||||
"@algolia/client-search@4.10.3":
|
||||
version "4.10.3"
|
||||
resolved "https://registry.yarnpkg.com/@algolia/client-search/-/client-search-4.10.3.tgz#aa6b02c2d528cb264830f276739b7f68b58988ef"
|
||||
integrity sha512-Zwnp2G94IrNFKWCG/k7epI5UswRkPvL9FCt7/slXe2bkjP2y/HA37gzRn+9tXoLVRwd7gBzrtOA4jFKIyjrtVw==
|
||||
dependencies:
|
||||
"@algolia/client-common" "4.10.3"
|
||||
"@algolia/requester-common" "4.10.3"
|
||||
"@algolia/transporter" "4.10.3"
|
||||
|
||||
"@algolia/logger-common@4.10.3":
|
||||
version "4.10.3"
|
||||
resolved "https://registry.yarnpkg.com/@algolia/logger-common/-/logger-common-4.10.3.tgz#6773d2e38581bf9ac57e2dda02f0c4f1bc72ce94"
|
||||
integrity sha512-M6xi+qov2bkgg1H9e1Qtvq/E/eKsGcgz8RBbXNzqPIYoDGZNkv+b3b8YMo3dxd4Wd6M24HU1iqF3kmr1LaXndg==
|
||||
|
||||
"@algolia/logger-console@4.10.3":
|
||||
version "4.10.3"
|
||||
resolved "https://registry.yarnpkg.com/@algolia/logger-console/-/logger-console-4.10.3.tgz#bd8bdc1f9dba89db37be25d673ac1f2e68de7913"
|
||||
integrity sha512-vVgRI7b4PHjgBdRkv/cRz490twvkLoGdpC4VYzIouSrKj8SIVLRhey3qgXk7oQXi3xoxVAv6NrklHfpO8Bpx0w==
|
||||
dependencies:
|
||||
"@algolia/logger-common" "4.10.3"
|
||||
|
||||
"@algolia/requester-browser-xhr@4.10.3":
|
||||
version "4.10.3"
|
||||
resolved "https://registry.yarnpkg.com/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.10.3.tgz#81ae8f6caf562a28f96102f03da7f4b19bba568c"
|
||||
integrity sha512-4WIk1zreFbc1EF6+gsfBTQvwSNjWc20zJAAExRWql/Jq5yfVHmwOqi/CajA53/cXKFBqo80DAMRvOiwP+hOLYw==
|
||||
dependencies:
|
||||
"@algolia/requester-common" "4.10.3"
|
||||
|
||||
"@algolia/requester-common@4.10.3":
|
||||
version "4.10.3"
|
||||
resolved "https://registry.yarnpkg.com/@algolia/requester-common/-/requester-common-4.10.3.tgz#c3112393cff97be79863bc28de76f9c69b2f5a95"
|
||||
integrity sha512-PNfLHmg0Hujugs3rx55uz/ifv7b9HVdSFQDb2hj0O5xZaBEuQCNOXC6COrXR8+9VEfqp2swpg7zwgtqFxh+BtQ==
|
||||
|
||||
"@algolia/requester-node-http@4.10.3":
|
||||
version "4.10.3"
|
||||
resolved "https://registry.yarnpkg.com/@algolia/requester-node-http/-/requester-node-http-4.10.3.tgz#75ea7805ac0ba25a1124989d8632ef39c31441c1"
|
||||
integrity sha512-A9ZcGfEvgqf0luJApdNcIhsRh6MShn2zn2tbjwjGG1joF81w+HUY+BWuLZn56vGwAA9ZB9n00IoJJpxibbfofg==
|
||||
dependencies:
|
||||
"@algolia/requester-common" "4.10.3"
|
||||
|
||||
"@algolia/transporter@4.10.3":
|
||||
version "4.10.3"
|
||||
resolved "https://registry.yarnpkg.com/@algolia/transporter/-/transporter-4.10.3.tgz#0aeee752923957cffe63e4cf1c7a22ca48d96dde"
|
||||
integrity sha512-n1lRyKDbrckbMEgm7QXtj3nEWUuzA3aKLzVQ43/F/RCFib15j4IwtmYhXR6OIBRSc7+T0Hm48S0J6F+HeYCQkw==
|
||||
dependencies:
|
||||
"@algolia/cache-common" "4.10.3"
|
||||
"@algolia/logger-common" "4.10.3"
|
||||
"@algolia/requester-common" "4.10.3"
|
||||
|
||||
"@babel/code-frame@7.12.11":
|
||||
version "7.12.11"
|
||||
resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f"
|
||||
|
@ -442,6 +546,21 @@
|
|||
resolved "https://registry.yarnpkg.com/@contentful/rich-text-types/-/rich-text-types-14.1.2.tgz#33162fdbf427891122a96030f806ca9a9cf0e844"
|
||||
integrity sha512-XbgZ7op5uyYYszipgQg/bYobF4b+llXyTwS8hISRniQY9xKESz544eP2OGmRc4J3MHx29M7Vmx7TVA/IK65giQ==
|
||||
|
||||
"@docsearch/css@^1.0.0-alpha.28":
|
||||
version "1.0.0-alpha.28"
|
||||
resolved "https://registry.yarnpkg.com/@docsearch/css/-/css-1.0.0-alpha.28.tgz#c8a2cd8c1bb3a6855c51892e9dbdab5d42fe6e23"
|
||||
integrity sha512-1AhRzVdAkrWwhaxTX6/R7SnFHz8yLz1W8I/AldlTrfbNvZs9INk1FZiEFTJdgHaP68nhgQNWSGlQiDiI3y2RYg==
|
||||
|
||||
"@docsearch/react@^1.0.0-alpha.27":
|
||||
version "1.0.0-alpha.28"
|
||||
resolved "https://registry.yarnpkg.com/@docsearch/react/-/react-1.0.0-alpha.28.tgz#4f039ed79f8b3332b19a57677b219aebc5010e9d"
|
||||
integrity sha512-XjJOnCBXn+UZmtuDmgzlVIHnnvh6yHVwG4aFq8AXN6xJEIX3f180FvGaowFWAxgdtHplJxFGux0Xx4piHqBzIw==
|
||||
dependencies:
|
||||
"@docsearch/css" "^1.0.0-alpha.28"
|
||||
"@francoischalifour/autocomplete-core" "^1.0.0-alpha.28"
|
||||
"@francoischalifour/autocomplete-preset-algolia" "^1.0.0-alpha.28"
|
||||
algoliasearch "^4.0.0"
|
||||
|
||||
"@eslint/eslintrc@^0.4.3":
|
||||
version "0.4.3"
|
||||
resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.3.tgz#9e42981ef035beb3dd49add17acb96e8ff6f394c"
|
||||
|
@ -457,6 +576,16 @@
|
|||
minimatch "^3.0.4"
|
||||
strip-json-comments "^3.1.1"
|
||||
|
||||
"@francoischalifour/autocomplete-core@^1.0.0-alpha.28":
|
||||
version "1.0.0-alpha.28"
|
||||
resolved "https://registry.yarnpkg.com/@francoischalifour/autocomplete-core/-/autocomplete-core-1.0.0-alpha.28.tgz#6b9d8491288e77f831e9b345d461623b0d3f5005"
|
||||
integrity sha512-rL9x+72btViw+9icfBKUJjZj87FgjFrD2esuTUqtj4RAX3s4AuVZiN8XEsfjQBSc6qJk31cxlvqZHC/BIyYXgg==
|
||||
|
||||
"@francoischalifour/autocomplete-preset-algolia@^1.0.0-alpha.28":
|
||||
version "1.0.0-alpha.28"
|
||||
resolved "https://registry.yarnpkg.com/@francoischalifour/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.0.0-alpha.28.tgz#a5ad7996f42e43e4acbb4e0010d663746d0e9997"
|
||||
integrity sha512-bprfNmYt1opFUFEtD2XfY/kEsm13bzHQgU80uMjhuK0DJ914IjolT1GytpkdM6tJ4MBvyiJPP+bTtWO+BZ7c7w==
|
||||
|
||||
"@hapi/hoek@^9.0.0":
|
||||
version "9.2.0"
|
||||
resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-9.2.0.tgz#f3933a44e365864f4dad5db94158106d511e8131"
|
||||
|
@ -2128,14 +2257,25 @@ algoliasearch@^3.24.5:
|
|||
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"
|
||||
integrity sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=
|
||||
algoliasearch@^4.0.0:
|
||||
version "4.10.3"
|
||||
resolved "https://registry.yarnpkg.com/algoliasearch/-/algoliasearch-4.10.3.tgz#22df4bb02fbf13a765b18b85df8745ee9c04f00a"
|
||||
integrity sha512-OLY0AWlPKGLbSaw14ivMB7BT5fPdp8VdzY4L8FtzZnqmLKsyes24cltGlf7/X96ACkYEcT390SReCDt/9SUIRg==
|
||||
dependencies:
|
||||
kind-of "^3.0.2"
|
||||
longest "^1.0.1"
|
||||
repeat-string "^1.5.2"
|
||||
"@algolia/cache-browser-local-storage" "4.10.3"
|
||||
"@algolia/cache-common" "4.10.3"
|
||||
"@algolia/cache-in-memory" "4.10.3"
|
||||
"@algolia/client-account" "4.10.3"
|
||||
"@algolia/client-analytics" "4.10.3"
|
||||
"@algolia/client-common" "4.10.3"
|
||||
"@algolia/client-personalization" "4.10.3"
|
||||
"@algolia/client-search" "4.10.3"
|
||||
"@algolia/logger-common" "4.10.3"
|
||||
"@algolia/logger-console" "4.10.3"
|
||||
"@algolia/requester-browser-xhr" "4.10.3"
|
||||
"@algolia/requester-common" "4.10.3"
|
||||
"@algolia/requester-node-http" "4.10.3"
|
||||
"@algolia/transporter" "4.10.3"
|
||||
|
||||
ansi-align@^2.0.0:
|
||||
version "2.0.0"
|
||||
|
@ -2779,14 +2919,6 @@ ccount@^1.0.0:
|
|||
resolved "https://registry.yarnpkg.com/ccount/-/ccount-1.1.0.tgz#246687debb6014735131be8abab2d93898f8d043"
|
||||
integrity sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg==
|
||||
|
||||
center-align@^0.1.1:
|
||||
version "0.1.3"
|
||||
resolved "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad"
|
||||
integrity sha1-qg0yYptu6XIgBBHL1EYckHvCt60=
|
||||
dependencies:
|
||||
align-text "^0.1.3"
|
||||
lazy-cache "^1.0.3"
|
||||
|
||||
chalk@^1.1.3, chalk@~1.1.3:
|
||||
version "1.1.3"
|
||||
resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
|
||||
|
@ -2983,15 +3115,6 @@ cli-width@^3.0.0:
|
|||
resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6"
|
||||
integrity sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==
|
||||
|
||||
cliui@^2.1.0:
|
||||
version "2.1.0"
|
||||
resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1"
|
||||
integrity sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=
|
||||
dependencies:
|
||||
center-align "^0.1.1"
|
||||
right-align "^0.1.1"
|
||||
wordwrap "0.0.2"
|
||||
|
||||
cliui@^6.0.0:
|
||||
version "6.0.0"
|
||||
resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1"
|
||||
|
@ -3001,6 +3124,15 @@ cliui@^6.0.0:
|
|||
strip-ansi "^6.0.0"
|
||||
wrap-ansi "^6.2.0"
|
||||
|
||||
cliui@^7.0.2:
|
||||
version "7.0.4"
|
||||
resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f"
|
||||
integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==
|
||||
dependencies:
|
||||
string-width "^4.2.0"
|
||||
strip-ansi "^6.0.0"
|
||||
wrap-ansi "^7.0.0"
|
||||
|
||||
clone-deep@^4.0.1:
|
||||
version "4.0.1"
|
||||
resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387"
|
||||
|
@ -3503,7 +3635,7 @@ decamelize-keys@^1.1.0:
|
|||
decamelize "^1.1.0"
|
||||
map-obj "^1.0.0"
|
||||
|
||||
decamelize@^1.0.0, decamelize@^1.1.0, decamelize@^1.2.0:
|
||||
decamelize@^1.1.0, decamelize@^1.2.0:
|
||||
version "1.2.0"
|
||||
resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
|
||||
integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=
|
||||
|
@ -4630,7 +4762,7 @@ gensync@^1.0.0-beta.2:
|
|||
resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0"
|
||||
integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==
|
||||
|
||||
get-caller-file@^2.0.1:
|
||||
get-caller-file@^2.0.1, get-caller-file@^2.0.5:
|
||||
version "2.0.5"
|
||||
resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e"
|
||||
integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==
|
||||
|
@ -5450,11 +5582,6 @@ is-browser@^2.0.1:
|
|||
resolved "https://registry.yarnpkg.com/is-browser/-/is-browser-2.1.0.tgz#fc084d59a5fced307d6708c59356bad7007371a9"
|
||||
integrity sha512-F5rTJxDQ2sW81fcfOR1GnCXT6sVJC104fCyfj+mjpwNEwaPYSn5fte5jiHmBg3DHsIoL/l8Kvw5VN5SsTRcRFQ==
|
||||
|
||||
is-buffer@^1.1.5:
|
||||
version "1.1.6"
|
||||
resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be"
|
||||
integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==
|
||||
|
||||
is-buffer@^2.0.0:
|
||||
version "2.0.5"
|
||||
resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.5.tgz#ebc252e400d22ff8d77fa09888821a24a658c191"
|
||||
|
@ -5909,13 +6036,6 @@ keyv@^4.0.0:
|
|||
dependencies:
|
||||
json-buffer "3.0.1"
|
||||
|
||||
kind-of@^3.0.2:
|
||||
version "3.2.2"
|
||||
resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64"
|
||||
integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=
|
||||
dependencies:
|
||||
is-buffer "^1.1.5"
|
||||
|
||||
kind-of@^6.0.0, kind-of@^6.0.2, kind-of@^6.0.3:
|
||||
version "6.0.3"
|
||||
resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd"
|
||||
|
@ -6016,11 +6136,6 @@ lazy-ass@1.6.0:
|
|||
resolved "https://registry.yarnpkg.com/lazy-ass/-/lazy-ass-1.6.0.tgz#7999655e8646c17f089fdd187d150d3324d54513"
|
||||
integrity sha1-eZllXoZGwX8In90YfRUNMyTVRRM=
|
||||
|
||||
lazy-cache@^1.0.3:
|
||||
version "1.0.4"
|
||||
resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e"
|
||||
integrity sha1-odePw6UEdMuAhF07O24dpJpEbo4=
|
||||
|
||||
lerna@^4.0.0:
|
||||
version "4.0.0"
|
||||
resolved "https://registry.yarnpkg.com/lerna/-/lerna-4.0.0.tgz#b139d685d50ea0ca1be87713a7c2f44a5b678e9e"
|
||||
|
@ -6270,11 +6385,6 @@ longest-streak@^2.0.0:
|
|||
resolved "https://registry.yarnpkg.com/longest-streak/-/longest-streak-2.0.4.tgz#b8599957da5b5dab64dee3fe316fa774597d90e4"
|
||||
integrity sha512-vM6rUVCVUJJt33bnmHiZEvr7wPT78ztX7rojL+LW51bHtLh6HTjx84LA5W4+oa6aKEJA7jJu5LR6vQRBpA5DVg==
|
||||
|
||||
longest@^1.0.1:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097"
|
||||
integrity sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=
|
||||
|
||||
loose-envify@^1.1.0:
|
||||
version "1.4.0"
|
||||
resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf"
|
||||
|
@ -8588,7 +8698,7 @@ remark-slug@^6.0.0, remark-slug@^6.1.0:
|
|||
mdast-util-to-string "^1.0.0"
|
||||
unist-util-visit "^2.0.0"
|
||||
|
||||
repeat-string@^1.0.0, repeat-string@^1.5.2:
|
||||
repeat-string@^1.0.0:
|
||||
version "1.6.1"
|
||||
resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637"
|
||||
integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc=
|
||||
|
@ -8739,13 +8849,6 @@ reusify@^1.0.4:
|
|||
resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76"
|
||||
integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==
|
||||
|
||||
right-align@^0.1.1:
|
||||
version "0.1.3"
|
||||
resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef"
|
||||
integrity sha1-YTObci/mo1FWiSENJOFMlhSGE+8=
|
||||
dependencies:
|
||||
align-text "^0.1.1"
|
||||
|
||||
rimraf@^2.6.1, rimraf@^2.6.3:
|
||||
version "2.7.1"
|
||||
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec"
|
||||
|
@ -10422,21 +10525,11 @@ win-release@^1.0.0:
|
|||
dependencies:
|
||||
semver "^5.0.1"
|
||||
|
||||
window-size@0.1.0:
|
||||
version "0.1.0"
|
||||
resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d"
|
||||
integrity sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=
|
||||
|
||||
word-wrap@^1.2.3:
|
||||
version "1.2.3"
|
||||
resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c"
|
||||
integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==
|
||||
|
||||
wordwrap@0.0.2:
|
||||
version "0.0.2"
|
||||
resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f"
|
||||
integrity sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=
|
||||
|
||||
wordwrap@^1.0.0, wordwrap@~1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb"
|
||||
|
@ -10456,6 +10549,15 @@ wrap-ansi@^6.2.0:
|
|||
string-width "^4.1.0"
|
||||
strip-ansi "^6.0.0"
|
||||
|
||||
wrap-ansi@^7.0.0:
|
||||
version "7.0.0"
|
||||
resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43"
|
||||
integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==
|
||||
dependencies:
|
||||
ansi-styles "^4.0.0"
|
||||
string-width "^4.1.0"
|
||||
strip-ansi "^6.0.0"
|
||||
|
||||
wrappy@1:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
|
||||
|
@ -10540,6 +10642,11 @@ y18n@^4.0.0:
|
|||
resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf"
|
||||
integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==
|
||||
|
||||
y18n@^5.0.5:
|
||||
version "5.0.8"
|
||||
resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55"
|
||||
integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==
|
||||
|
||||
yallist@^2.1.2:
|
||||
version "2.1.2"
|
||||
resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52"
|
||||
|
@ -10573,7 +10680,7 @@ yargs-parser@^18.1.2, yargs-parser@^18.1.3:
|
|||
camelcase "^5.0.0"
|
||||
decamelize "^1.2.0"
|
||||
|
||||
yargs-parser@^20.0.0, yargs-parser@^20.2.3, yargs-parser@^20.2.7:
|
||||
yargs-parser@^20.0.0, yargs-parser@^20.2.2, yargs-parser@^20.2.3, yargs-parser@^20.2.7:
|
||||
version "20.2.9"
|
||||
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee"
|
||||
integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==
|
||||
|
|
Loading…
Reference in a new issue